OwlCyberSecurity - MANAGER
Edit File: product-collection.js
(()=>{var e,t,o,r={6355:(e,t,o)=>{"use strict";o.r(t);const r=window.wp.blocks,c=JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"woocommerce/product-collection","version":"1.0.0","title":"Product Collection","description":"Display a collection of products from your store.","category":"woocommerce","keywords":["WooCommerce","Products (Beta)","products"],"textdomain":"woocommerce","attributes":{"queryId":{"type":"number"},"query":{"type":"object"},"tagName":{"type":"string"},"displayLayout":{"type":"object"},"convertedFromProducts":{"type":"boolean","default":false},"collection":{"type":"string"},"hideControls":{"default":[],"type":"array"},"queryContextIncludes":{"type":"array"},"forcePageReload":{"type":"boolean","default":false},"__privatePreviewState":{"type":"object"}},"providesContext":{"queryId":"queryId","query":"query","displayLayout":"displayLayout","queryContextIncludes":"queryContextIncludes","collection":"collection","__privateProductCollectionPreviewState":"__privatePreviewState"},"usesContext":["templateSlug","postId"],"supports":{"align":["wide","full"],"anchor":true,"html":false,"__experimentalLayout":true,"interactivity":true}}');var n=o(1609);const l=window.wp.blockEditor;var a=o(6087);const s=window.wp.data;var i=o(7723);const m=window.wp.components;var u=o(4922),d=o.n(u);d()("wc-admin:tracks:stats");const p=d()("wc-admin:tracks");function _(e,t){return p("recordevent %s %o","wcadmin_"+e,t,{_tqk:window._tkq,shouldRecord:!(!window._tkq||!window.wcTracks||!window.wcTracks.isEnabled)}),!(!window.wcTracks||"function"!=typeof window.wcTracks.recordEvent)&&void window.wcTracks.recordEvent(e,t)}var w=o(9491);let g=function(e){return e.GRID="flex",e.STACK="list",e}({}),b=function(e){return e.IN="in",e.NOT_IN="not-in",e}({}),E=function(e){return e.PRODUCT_CATALOG="woocommerce/product-collection/product-catalog",e.BEST_SELLERS="woocommerce/product-collection/best-sellers",e.FEATURED="woocommerce/product-collection/featured",e.NEW_ARRIVALS="woocommerce/product-collection/new-arrivals",e.ON_SALE="woocommerce/product-collection/on-sale",e.TOP_RATED="woocommerce/product-collection/top-rated",e}({}),h=function(e){return e.ATTRIBUTES="attributes",e.CREATED="created",e.FEATURED="featured",e.HAND_PICKED="hand-picked",e.INHERIT="inherit",e.KEYWORD="keyword",e.ON_SALE="on-sale",e.ORDER="order",e.STOCK_STATUS="stock-status",e.TAXONOMY="taxonomy",e.PRICE_RANGE="price-range",e.FILTERABLE="filterable",e}({});const y=window.wc.wcBlocksRegistry;var v=o(7104),f=o(4552);const k=window.wc.wcSettings;let C=function(e){return e.SINGLE="single",e.THUMBNAIL="thumbnail",e}({});const S=`${c.name}/product-title`,A=(0,k.getSetting)("stockStatusOptions",[]),T=(0,k.getSetting)("hideOutOfStockItems",!1),I=()=>T?Object.keys(function(e,t){const{[t]:o,...r}=e;return r}(A,"outofstock")):Object.keys(A),x={perPage:9,pages:0,offset:0,postType:"product",order:"asc",orderBy:"title",search:"",exclude:[],inherit:!1,taxQuery:{},isProductCollectionBlock:!0,featured:!1,woocommerceOnSale:!1,woocommerceStockStatus:I(),woocommerceAttributes:[],woocommerceHandPickedProducts:[],timeFrame:void 0,priceRange:void 0,filterable:!1},R={query:x,tagName:"div",displayLayout:{type:g.GRID,columns:3,shrinkColumns:!0},queryContextIncludes:["collection"],forcePageReload:!1},P={woocommerceOnSale:x.woocommerceOnSale,woocommerceStockStatus:x.woocommerceStockStatus,woocommerceAttributes:x.woocommerceAttributes,woocommerceHandPickedProducts:x.woocommerceHandPickedProducts,taxQuery:x.taxQuery,featured:x.featured,timeFrame:x.timeFrame,priceRange:x.priceRange},N=["woocommerce/product-template",{},[["woocommerce/product-image",{imageSizing:C.THUMBNAIL}],["core/post-title",{textAlign:"center",level:3,fontSize:"medium",style:{spacing:{margin:{bottom:"0.75rem",top:"0"}}},isLink:!0,__woocommerceNamespace:S}],["woocommerce/product-price",{textAlign:"center",fontSize:"small"}],["woocommerce/product-button",{textAlign:"center",fontSize:"small"}]]],O="core/query-pagination",B=[N,[O,{layout:{type:"flex",justifyContent:"center"}}],["woocommerce/product-collection-no-results"]],D={name:E.PRODUCT_CATALOG,title:(0,i.__)("Product Catalog","woocommerce"),icon:(0,n.createElement)(v.A,{icon:f.A}),description:"Display all products in your catalog. Results can (change to) match the current template, page, or search term.",keywords:["all products"],scope:[],innerBlocks:B};var L=o(9948);const F={name:E.NEW_ARRIVALS,title:(0,i.__)("New Arrivals","woocommerce"),icon:(0,n.createElement)(v.A,{icon:L.A}),description:(0,i.__)("Recommend your newest products.","woocommerce"),keywords:["newest products","product collection"],scope:[],attributes:{displayLayout:{type:"flex",columns:5,shrinkColumns:!0},query:{orderBy:"date",order:"desc",perPage:5,pages:1,timeFrame:{operator:b.IN,value:"-7 days"}},hideControls:[h.ORDER,h.FILTERABLE]},innerBlocks:[["core/heading",{textAlign:"center",level:2,content:(0,i.__)("New arrivals","woocommerce"),style:{spacing:{margin:{bottom:"1rem"}}}}],N]};var q=o(846);const M={name:E.TOP_RATED,title:(0,i.__)("Top Rated","woocommerce"),icon:(0,n.createElement)(v.A,{icon:q.A}),description:(0,i.__)("Recommend products with the highest review ratings.","woocommerce"),keywords:["product collection"],scope:[],attributes:{displayLayout:{type:"flex",columns:5,shrinkColumns:!0},query:{orderBy:"rating",order:"desc",perPage:5,pages:1},hideControls:[h.ORDER,h.FILTERABLE]},innerBlocks:[["core/heading",{textAlign:"center",level:2,content:(0,i.__)("Top rated products","woocommerce"),style:{spacing:{margin:{bottom:"1rem"}}}}],N]};var $=o(9744);const G={name:E.BEST_SELLERS,title:(0,i.__)("Best Sellers","woocommerce"),icon:(0,n.createElement)(v.A,{icon:$.A}),description:(0,i.__)("Recommend your best-selling products.","woocommerce"),keywords:["best selling","product collection"],scope:[],attributes:{displayLayout:{type:"flex",columns:5,shrinkColumns:!0},query:{orderBy:"popularity",order:"desc",perPage:5,pages:1},hideControls:[h.ORDER,h.FILTERABLE]},innerBlocks:[["core/heading",{textAlign:"center",level:2,content:(0,i.__)("Best selling products","woocommerce"),style:{spacing:{margin:{bottom:"1rem"}}}}],N]};var V=o(1173);const H={name:E.ON_SALE,title:(0,i.__)("On Sale","woocommerce"),icon:(0,n.createElement)(v.A,{icon:V.A}),description:(0,i.__)("Highlight products that are currently on sale.","woocommerce"),keywords:["product collection"],scope:[],attributes:{displayLayout:{type:"flex",columns:5,shrinkColumns:!0},query:{woocommerceOnSale:!0,perPage:5,pages:1},hideControls:[h.ON_SALE,h.FILTERABLE]},innerBlocks:[["core/heading",{textAlign:"center",level:2,content:(0,i.__)("On sale products","woocommerce"),style:{spacing:{margin:{bottom:"1rem"}}}}],N]};var j=o(43);const U=[D,{name:E.FEATURED,title:(0,i.__)("Featured","woocommerce"),icon:(0,n.createElement)(v.A,{icon:j.A}),description:(0,i.__)("Showcase your featured products.","woocommerce"),keywords:["product collection"],scope:[],attributes:{displayLayout:{type:"flex",columns:5,shrinkColumns:!0},query:{featured:!0,perPage:5,pages:1},hideControls:[h.FEATURED,h.FILTERABLE]},innerBlocks:[["core/heading",{textAlign:"center",level:2,content:(0,i.__)("Featured products","woocommerce"),style:{spacing:{margin:{bottom:"1rem"}}}}],N]},M,H,G,F],K=window.wp.hooks,Q=window.wp.coreData;let W=function(e){return e.Product="product",e.Archive="archive",e.Cart="cart",e.Order="order",e.Site="site",e}({});const z="single-product",Y="taxonomy-product_cat",J="taxonomy-product_tag",Z=async(e,t,o,r)=>{var c,n;r((c=await(0,s.resolveSelect)(Q.store).getEntityRecords(e,t,{_fields:["id"],slug:o}))&&c.length&&null!==(n=c[0])&&void 0!==n&&n.id?c[0].id:null)},X=(e,t={})=>({type:e,sourceData:t});function ee(e,t){const{query:o}=e.attributes;e.setAttributes({query:{...o,...t}})}const te=()=>{var e;const t=null===(e=(0,s.select)("core/edit-site"))||void 0===e?void 0:e.getEditedPostId();return!!t&&["woocommerce/woocommerce//archive-product","woocommerce/woocommerce//taxonomy-product_attribute","woocommerce/woocommerce//product-search-results","//taxonomy-product_cat","//taxonomy-product_tag"].some((e=>t.includes(e)))},oe=e=>{const{__experimentalGetGlobalBlocksByName:t,getBlock:o}=(0,s.select)(l.store);return!t("woocommerce/product-collection").find((t=>{var r,c;return null===(r=o(t).attributes)||void 0===r||null===(c=r.query)||void 0===c?void 0:c[e]}))};function re(){return!!te()&&oe("inherit")}function ce(){return!te()&&oe("filterable")}const ne=e=>({...e,orderBy:x.orderBy,order:x.order,inherit:re(),filterable:ce()}),le=()=>R.displayLayout,ae=(e,t,o)=>{const n=(e=>e?(0,s.select)(r.store).getBlockVariations(c.name).find((({name:t})=>t===e)):null)(e);n&&o(t,n.name===E.PRODUCT_CATALOG?(0,r.createBlock)(c.name,{...R,query:{...R.query,inherit:re(),filterable:ce()}},(0,r.createBlocksFromInnerBlocksTemplate)(B)):(0,r.createBlock)(c.name,n.attributes,(0,r.createBlocksFromInnerBlocksTemplate)(n.innerBlocks)))},se=({title:e,icon:t,description:o,onClick:r})=>(0,n.createElement)(m.Tooltip,{text:o,placement:"top"},(0,n.createElement)(m.Button,{className:"wc-blocks-product-collection__collection-button",onClick:r},(0,n.createElement)("div",{className:"wc-blocks-product-collection__collection-button-icon"},(0,n.createElement)(m.Icon,{icon:t})),(0,n.createElement)("p",{className:"wc-blocks-product-collection__collection-button-title"},e))),ie=e=>{const{description:t,onClick:o}=e;return(0,n.createElement)("div",{className:"wc-blocks-product-collection__collections-create"},(0,n.createElement)("span",null,(0,i.__)("or","woocommerce")),(0,n.createElement)(m.Tooltip,{text:t,placement:"top"},(0,n.createElement)(m.Button,{onClick:o},(0,i.__)("create your own","woocommerce"))))},me=e=>{const{onCollectionClick:t,catalogVariation:o,collectionVariations:r}=e;return(0,n.createElement)("div",{className:"wc-blocks-product-collection__collections-grid"},(0,n.createElement)("div",{className:"wc-blocks-product-collection__collections-section"},r.map((({name:e,title:o,icon:r,description:c})=>(0,n.createElement)(se,{key:e,title:o,description:c,icon:r,onClick:()=>t(e)})))),(0,n.createElement)(ie,{title:o.title,description:o.description,icon:o.icon,onClick:()=>t(o.name)}))},ue=e=>{const{onCollectionClick:t,catalogVariation:o,collectionVariations:r}=e;return(0,n.createElement)("div",{className:"wc-blocks-product-collection__collections-dropdown"},(0,n.createElement)(m.Dropdown,{className:"wc-blocks-product-collection__collections-dropdown-toggle",contentClassName:"wc-blocks-product-collection__collections-dropdown-content",renderToggle:({isOpen:e,onToggle:t})=>(0,n.createElement)(m.Button,{variant:"secondary",onClick:t,"aria-expanded":e},(0,i.__)("Choose collection","woocommerce")),renderContent:()=>(0,n.createElement)(n.Fragment,null,r.map((({name:e,title:o,icon:r,description:c})=>(0,n.createElement)(se,{key:e,title:o,description:c,icon:r,onClick:()=>t(e)}))))}),(0,n.createElement)(ie,{title:o.title,description:o.description,icon:o.icon,onClick:()=>t(o.name)}))},de=e=>{const t=(0,s.useSelect)((e=>{const{getBlockVariations:t}=e(r.store);return t(c.name)}),[]),o=(0,a.useMemo)((()=>t.find((({name:e})=>e===E.PRODUCT_CATALOG))),[t]),l=(0,a.useMemo)((()=>t.filter((({name:e})=>e!==E.PRODUCT_CATALOG))),[t]),[i,{width:m}]=(0,w.useResizeObserver)();let u;return u=null!==m&&m>=600?me:ue,(0,n.createElement)(n.Fragment,null,i,!!m&&(0,n.createElement)(u,{...e,catalogVariation:o,collectionVariations:l}))},pe=window.wp.editor;var _e=function(e){return e.SINGLE_PRODUCT="single-product",e.PRODUCT_CATALOG="product-catalog",e.PRODUCT_ARCHIVE="product-archive",e.ORDER_CONFIRMATION="order-confirmation",e.CART="cart",e.CHECKOUT="checkout",e.POST="post",e.PAGE="page",e.OTHER="other",e}(_e||{});const we={"single-product":_e.SINGLE_PRODUCT,"archive-product":_e.PRODUCT_CATALOG,"taxonomy-product_cat":_e.PRODUCT_ARCHIVE,"taxonomy-product_tag":_e.PRODUCT_ARCHIVE,"taxonomy-product_attribute":_e.PRODUCT_ARCHIVE,"product-search-results":_e.PRODUCT_ARCHIVE,"order-confirmation":_e.ORDER_CONFIRMATION,"page-cart":_e.CART,"page-checkout":_e.CHECKOUT},ge=e=>{const t=(0,s.useSelect)((e=>e(pe.store).getCurrentPostType()),[]);if(t===_e.PAGE||t===_e.POST)return t;if(!e)return _e.OTHER;return we[e]||(e.includes("single-product")?_e.SINGLE_PRODUCT:e.includes("taxonomy-product_cat")||e.includes("taxonomy-product_tag")?_e.PRODUCT_ARCHIVE:_e.OTHER)},be=e=>{const t=(0,l.useBlockProps)(),{clientId:o,context:r}=e,{replaceBlock:c}=(0,s.useDispatch)(l.store),a=ge(r.templateSlug);return(0,n.createElement)("div",{...t},(0,n.createElement)(m.Placeholder,{className:"wc-blocks-product-collection__placeholder",instructions:(0,i.__)("What products do you want to show?","woocommerce")},(0,n.createElement)(de,{onCollectionClick:e=>{_("blocks_product_collection_collection_chosen_from_placeholder",{collection:e,location:a}),ae(e,o,c)}})))};var Ee=o(458),he=o.n(Ee),ye=o(361),ve=o(4133);o(1598);const fe=({text:e,title:t=(0,i.__)("Feedback?","woocommerce"),url:o})=>{const[r,c]=(0,a.useState)(!1);return(0,a.useEffect)((()=>{c(!0)}),[]),(0,n.createElement)(n.Fragment,null,r&&(0,n.createElement)("div",{className:"wc-block-feedback-prompt"},(0,n.createElement)(v.A,{icon:ye.A}),(0,n.createElement)("h2",{className:"wc-block-feedback-prompt__title"},t),(0,n.createElement)("p",{className:"wc-block-feedback-prompt__text"},e),(0,n.createElement)("a",{href:o,className:"wc-block-feedback-prompt__link",rel:"noreferrer noopener",target:"_blank"},(0,i.__)("Give us your feedback.","woocommerce"),(0,n.createElement)(v.A,{icon:ve.A,size:16}))))},ke=()=>(0,n.createElement)(fe,{text:(0,i.__)("Thanks for trying out the Product Collection block! Help us make it better by sharing your feedback.","woocommerce"),title:(0,i.__)("Share your feedback!","woocommerce"),url:"https://airtable.com/shrqsMSDPvAKoY99u"}),Ce="wc-blocks_upgraded-products-to-product-collection",Se=()=>({status:"notseen",time:Date.now(),displayCount:0}),Ae=window.wc.wcTypes,Te=e=>"woocommerce/product-collection"===e.name&&e.attributes.convertedFromProducts,Ie=(e,t)=>{let o=[];return e.forEach((e=>{t(e)&&(o=[...o,e.clientId]),o=[...o,...Ie(e.innerBlocks,t)]})),o},xe=(0,k.getSettingWithCoercion)("postTemplateHasSupportForGridView",!1,Ae.isBoolean),Re=()=>{const e=window.localStorage.getItem(Ce);return e?JSON.parse(e):Se()},Pe=e=>{window.localStorage.setItem(Ce,JSON.stringify(e))},Ne=e=>"flex"===e?"grid":"list"===e?"default":"grid",Oe=e=>{const{type:t,columns:o}=e;return{type:Ne(t),columnCount:o}},Be=(e,t)=>{const o=e.map((e=>{const{name:o,attributes:c}=e,n=Be(e.innerBlocks);return(({name:e})=>"woocommerce/product-template"===e)(e)?((e,t,o)=>(0,r.createBlock)("core/post-template",{className:"products-block-post-template",layout:xe?Oe(o):void 0,__woocommerceNamespace:"woocommerce/product-query/product-template",...e.attributes},t))(e,n,t):(({name:e,attributes:t})=>"core/post-title"===e&&"woocommerce/product-collection/product-title"===t.__woocommerceNamespace)(e)?((e,t)=>{const{__woocommerceNamespace:o,...c}=e.attributes;return(0,r.createBlock)("core/post-title",{__woocommerceNamespace:"woocommerce/product-collection/product-title",...c},t)})(e,n):(({name:e,attributes:t})=>"core/post-excerpt"===e&&"woocommerce/product-collection/product-summary"===t.__woocommerceNamespace)(e)?((e,t)=>{const{__woocommerceNamespace:o,...c}=e.attributes;return(0,r.createBlock)("core/post-excerpt",{__woocommerceNamespace:"woocommerce/product-collection/product-summary",...c},t)})(e,n):(0,r.createBlock)(o,c,n)}));return o},De=e=>{const t=(0,s.select)("core/block-editor").getBlock(e),o=((e,t)=>{const o=(0,s.select)("core/block-editor").getBlockRootClientId(e)||void 0;return(0,s.select)("core/block-editor").canInsertBlockType("core/query",o)})(e);if(t&&o){const{attributes:o={},innerBlocks:c=[]}=t,{displayLayout:n,...l}=o,a=(e=>{const{query:t,...o}=e,{woocommerceAttributes:r,woocommerceStockStatus:c,woocommerceOnSale:n,woocommerceHandPickedProducts:l,taxQuery:a,isProductCollectionBlock:s,...i}=t,m={...i};return l&&(m.include=l),n&&(m.__woocommerceOnSale=n),a&&(m.taxQuery=a),{...o,namespace:"woocommerce/product-query",query:{__woocommerceAttributes:r||[],__woocommerceStockStatus:c||[],...m}}})(xe?l:o),i=Be(c,n),m=(0,r.createBlock)("core/query",a,i);return(0,s.dispatch)("core/block-editor").replaceBlock(e,m),!0}return!1},Le=()=>{var e;Pe({status:"reverted",time:Date.now()}),(e=(0,s.select)("core/block-editor").getBlocks(),Ie(e,Te)).map(De)},Fe=(0,a.createInterpolateElement)((0,i.__)("Products (Beta) block was upgraded to <strongText />, an updated version with new features and simplified settings.","woocommerce"),{strongText:(0,n.createElement)("strong",null,(0,i.__)("Product Collection","woocommerce"))}),qe=(0,i.__)("Revert to Products (Beta)","woocommerce"),Me=({revertMigration:e})=>{const[t,o]=((e,t)=>{const[o,r]=(0,a.useState)((()=>{const o=window.localStorage.getItem(e);if(o)try{return JSON.parse(o)}catch{console.error(`Value for key '${e}' could not be retrieved from localStorage because it can't be parsed.`)}return t}));return(0,a.useEffect)((()=>{try{window.localStorage.setItem(e,JSON.stringify(o))}catch{console.error(`Value for key '${e}' could not be saved in localStorage because it can't be converted into a string.`)}}),[e,o]),[o,r]})(Ce,Se()),r=(0,a.useRef)(!0),{status:c}=t;return(0,a.useEffect)((()=>()=>{r.current&&((()=>{const e=Re(),t=(0,Ae.isNumber)(e.displayCount)?e.displayCount+1:0;Pe({...e,displayCount:t})})(),r.current=!1)}),[r]),"notseen"===c?(0,n.createElement)(m.Notice,{onRemove:()=>{o({status:"seen",time:Date.now()})}},(0,n.createElement)(n.Fragment,null,Fe," "),(0,n.createElement)("br",null),(0,n.createElement)("br",null),(0,n.createElement)(m.Button,{variant:"link",onClick:()=>{e()}},qe)):null},$e=(0,i.__)("Columns","woocommerce"),Ge=(0,i.__)("Responsive","woocommerce"),Ve=(0,i.__)("Automatically adjust the number of columns to better fit smaller screens.","woocommerce"),He=e=>{const{type:t,columns:o,shrinkColumns:r}=e.displayLayout,c="flex"===t,l=le(),a=()=>{e.setAttributes({displayLayout:l})};return c?(0,n.createElement)(n.Fragment,null,(0,n.createElement)(m.__experimentalToolsPanelItem,{label:$e,hasValue:()=>(null==l?void 0:l.columns)!==o,isShownByDefault:!0,onDeselect:a},(0,n.createElement)(m.RangeControl,{label:$e,onChange:t=>e.setAttributes({displayLayout:{...e.displayLayout,columns:t}}),value:o,min:2,max:Math.max(6,o)})),(0,n.createElement)(m.__experimentalToolsPanelItem,{label:Ge,hasValue:()=>(null==l?void 0:l.shrinkColumns)!==r,isShownByDefault:!0,onDeselect:a},(0,n.createElement)(m.ToggleControl,{checked:!!r,label:Ge,help:Ve,onChange:t=>{e.setAttributes({displayLayout:{...e.displayLayout,shrinkColumns:t}})}}))):null},je=(0,i.__)("Sync with current query","woocommerce"),Ue=(0,i.__)("Enable to adjust the displayed products based on the current template and any applied filters.","woocommerce"),Ke=(0,i.__)("Enable to adjust the displayed products based on the current category and any applied filters.","woocommerce"),Qe=(0,i.__)("Enable to adjust the displayed products based on the current tag and any applied filters.","woocommerce"),We=(0,i.__)("Enable to adjust the displayed products based on the current attribute and any applied filters.","woocommerce"),ze=(0,i.__)("Enable to adjust the displayed products based on the current search and any applied filters.","woocommerce"),Ye=(0,i.__)("Adjust the displayed products depending on the current template and any applied query filters.","woocommerce"),Je=({setQueryAttribute:e,trackInteraction:t,query:o})=>{const r=null==o?void 0:o.inherit,c=(0,s.select)("core/edit-site"),l=function(e,t){const o=(0,a.useRef)();return(0,a.useEffect)((()=>{o.current===e||t&&!t(e,o.current)||(o.current=e)}),[e,t]),o.current}(o,(e=>!1===(null==e?void 0:e.inherit))),i=(0,a.useMemo)((()=>re()),[]),u=(d=c.getEditedPostId()).includes("//taxonomy-product_cat")?Ke:d.includes("//taxonomy-product_tag")?Qe:d.includes("//taxonomy-product_attribute")?We:d.includes("//product-search-results")?ze:Ue;var d;return(0,n.createElement)(m.__experimentalToolsPanelItem,{label:je,hasValue:()=>r!==i,isShownByDefault:!0,onDeselect:()=>{e({inherit:i}),t(h.INHERIT)}},(0,n.createElement)(m.ToggleControl,{className:"wc-block-product-collection__inherit-query-control",label:je,help:u,checked:!!r,onChange:o=>{e(o?{...x,inherit:o}:{...x,...l,inherit:o}),t(h.INHERIT)}}))},Ze=({setQueryAttribute:e,trackInteraction:t,query:o})=>{const r=null==o?void 0:o.filterable,c=(0,a.useMemo)((()=>ce()),[]);return(0,n.createElement)(m.__experimentalToolsPanelItem,{label:je,hasValue:()=>r!==c,isShownByDefault:!0,onDeselect:()=>{e({filterable:c}),t(h.FILTERABLE)}},(0,n.createElement)(m.ToggleControl,{className:"wc-block-product-collection__inherit-query-control",label:je,help:Ye,checked:!!r,onChange:o=>{e({filterable:o}),t(h.FILTERABLE)}}))},Xe=[{label:(0,i.__)("A → Z","woocommerce"),value:"title/asc"},{label:(0,i.__)("Z → A","woocommerce"),value:"title/desc"},{label:(0,i.__)("Newest to oldest","woocommerce"),value:"date/desc"},{label:(0,i.__)("Oldest to newest","woocommerce"),value:"date/asc"},{value:"popularity/desc",label:(0,i.__)("Best Selling","woocommerce")},{value:"rating/desc",label:(0,i.__)("Top Rated","woocommerce")}],et=e=>{const{query:t,trackInteraction:o,setQueryAttribute:r}=e,{order:c,orderBy:l}=t,a=ne(t),s=()=>{r({orderBy:a.orderBy}),o(h.ORDER)};return(0,n.createElement)(m.__experimentalToolsPanelItem,{label:(0,i.__)("Order by","woocommerce"),hasValue:()=>c!==(null==a?void 0:a.order)||l!==(null==a?void 0:a.orderBy),isShownByDefault:!0,onDeselect:s,resetAllFilter:s},(0,n.createElement)(m.SelectControl,{value:`${l}/${c}`,options:Xe,label:(0,i.__)("Order by","woocommerce"),onChange:e=>{const[t,c]=e.split("/");r({order:c,orderBy:t}),o(h.ORDER)}}))},tt=e=>{const{query:t,trackInteraction:o,setQueryAttribute:r}=e,c=()=>{r({woocommerceOnSale:P.woocommerceOnSale}),o(h.ON_SALE)};return(0,n.createElement)(m.__experimentalToolsPanelItem,{label:(0,i.__)("On Sale","woocommerce"),hasValue:()=>!0===t.woocommerceOnSale,isShownByDefault:!0,onDeselect:c,resetAllFilter:c},(0,n.createElement)(m.ToggleControl,{label:(0,i.__)("Show only products on sale","woocommerce"),checked:t.woocommerceOnSale||!1,onChange:e=>{r({woocommerceOnSale:e}),o(h.ON_SALE)}}))};function ot(e){var t;const o="string"==typeof e?e:e.value;return null===(t=Object.entries(A).find((([,e])=>e===o)))||void 0===t?void 0:t[0]}const rt=e=>{var t;const{query:o,trackInteraction:r,setQueryAttribute:c}=e,l=()=>{c({woocommerceStockStatus:P.woocommerceStockStatus}),r(h.STOCK_STATUS)};return(0,n.createElement)(m.__experimentalToolsPanelItem,{label:(0,i.__)("Stock status","woocommerce"),hasValue:()=>!he()(o.woocommerceStockStatus,I()),onDeselect:l,resetAllFilter:l,isShownByDefault:!0},(0,n.createElement)(m.FormTokenField,{label:(0,i.__)("Stock status","woocommerce"),onChange:e=>{const t=e.map(ot).filter(Boolean);c({woocommerceStockStatus:t}),r(h.STOCK_STATUS)},suggestions:Object.values(A),validateInput:e=>Object.values(A).includes(e),value:(null==o||null===(t=o.woocommerceStockStatus)||void 0===t?void 0:t.map((e=>A[e])))||[],__experimentalExpandOnFocus:!0,__experimentalShowHowTo:!1}))},ct=e=>{const{query:t,trackInteraction:o,setQueryAttribute:r}=e,[c,l]=(0,a.useState)(t.search),s=(0,w.useDebounce)((()=>{t.search!==c&&(r({search:c}),o(h.KEYWORD))}),250);(0,a.useEffect)((()=>(s(),s.cancel)),[c,s]);const u=()=>{l(""),o(h.KEYWORD)};return(0,n.createElement)(m.__experimentalToolsPanelItem,{hasValue:()=>!!c,label:(0,i.__)("Keyword","woocommerce"),onDeselect:u,resetAllFilter:u},(0,n.createElement)(m.TextControl,{label:(0,i.__)("Keyword","woocommerce"),value:c,onChange:l}))};var nt=o(851);function lt(e,t,o){const r=new Set(t.map((e=>e[o])));return e.filter((e=>!r.has(e[o])))}const at=window.wp.htmlEntities,st={clear:(0,i.__)("Clear all selected items","woocommerce"),noItems:(0,i.__)("No items found.","woocommerce"), /* Translators: %s search term */ noResults:(0,i.__)("No results for %s","woocommerce"),search:(0,i.__)("Search for items","woocommerce"),selected:e=>(0,i.sprintf)(/* translators: Number of items selected from list. */ /* translators: Number of items selected from list. */ (0,i._n)("%d item selected","%d items selected",e,"woocommerce"),e),updated:(0,i.__)("Search results updated.","woocommerce")},it=(e,t=e)=>{const o=e.reduce(((e,t)=>{const o=t.parent||0;return e[o]||(e[o]=[]),e[o].push(t),e}),{}),r=("id",t.reduce(((e,t)=>(e[String(t.id)]=t,e)),{}));const c=["0"],n=(e={})=>e.parent?[...n(r[e.parent]),e.name]:e.name?[e.name]:[],l=e=>e.map((e=>{const t=o[e.id];return c.push(""+e.id),{...e,breadcrumbs:n(r[e.parent]),children:t&&t.length?l(t):[]}})),a=l(o[0]||[]);return Object.entries(o).forEach((([e,t])=>{c.includes(e)||a.push(...l(t||[]))})),a},mt=(e,t)=>{if(!t)return e;const o=new RegExp(`(${t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")})`,"ig");return e.split(o).map(((e,t)=>o.test(e)?(0,n.createElement)("strong",{key:t},e):(0,n.createElement)(a.Fragment,{key:t},e)))},ut=({label:e})=>(0,n.createElement)("span",{className:"woocommerce-search-list__item-count"},e),dt=e=>{const{item:t,search:o}=e,r=t.breadcrumbs&&t.breadcrumbs.length;return(0,n.createElement)("span",{className:"woocommerce-search-list__item-label"},r?(0,n.createElement)("span",{className:"woocommerce-search-list__item-prefix"},1===(c=t.breadcrumbs).length?c.slice(0,1).toString():2===c.length?c.slice(0,1).toString()+" › "+c.slice(-1).toString():c.slice(0,1).toString()+" … "+c.slice(-1).toString()):null,(0,n.createElement)("span",{className:"woocommerce-search-list__item-name"},mt((0,at.decodeEntities)(t.name),o)));var c},pt=({countLabel:e,className:t,depth:o=0,controlId:r="",item:c,isSelected:l,isSingle:s,onSelect:i,search:u="",selected:d,useExpandedPanelId:p,..._})=>{var w,g;const[b,E]=p,h=null!=e&&void 0!==c.count&&null!==c.count,y=!(null===(w=c.breadcrumbs)||void 0===w||!w.length),v=!(null===(g=c.children)||void 0===g||!g.length),f=b===c.id,k=(0,nt.A)(["woocommerce-search-list__item",`depth-${o}`,t],{"has-breadcrumbs":y,"has-children":v,"has-count":h,"is-expanded":f,"is-radio-button":s});(0,a.useEffect)((()=>{v&&l&&E(c.id)}),[c,v,l]);const C=_.name||`search-list-item-${r}`,S=`${C}-${c.id}`,A=(0,a.useCallback)((()=>{E(f?-1:Number(c.id))}),[f,c.id,E]);return v?(0,n.createElement)("div",{className:k,onClick:A,onKeyDown:e=>"Enter"===e.key||" "===e.key?A():null,role:"treeitem",tabIndex:0},s?(0,n.createElement)(n.Fragment,null,(0,n.createElement)("input",{type:"radio",id:S,name:C,value:c.value,onChange:i(c),onClick:e=>e.stopPropagation(),checked:l,className:"woocommerce-search-list__item-input",..._}),(0,n.createElement)(dt,{item:c,search:u}),h?(0,n.createElement)(ut,{label:e||c.count}):null):(0,n.createElement)(n.Fragment,null,(0,n.createElement)(m.CheckboxControl,{className:"woocommerce-search-list__item-input",checked:l,...!l&&c.children.some((e=>d.find((t=>t.id===e.id))))?{indeterminate:!0}:{},label:mt((0,at.decodeEntities)(c.name),u),onChange:()=>{l?i(lt(d,c.children,"id"))():i(function(e,t,o){const r=lt(t,e,"id");return[...e,...r]}(d,c.children))()},onClick:e=>e.stopPropagation()}),h?(0,n.createElement)(ut,{label:e||c.count}):null)):(0,n.createElement)("label",{htmlFor:S,className:k},s?(0,n.createElement)(n.Fragment,null,(0,n.createElement)("input",{..._,type:"radio",id:S,name:C,value:c.value,onChange:i(c),checked:l,className:"woocommerce-search-list__item-input"}),(0,n.createElement)(dt,{item:c,search:u})):(0,n.createElement)(m.CheckboxControl,{..._,id:S,name:C,className:"woocommerce-search-list__item-input",value:(0,at.decodeEntities)(c.value),label:mt((0,at.decodeEntities)(c.name),u),onChange:i(c),checked:l}),h?(0,n.createElement)(ut,{label:e||c.count}):null)},_t=pt;var wt=o(2478),gt=o(2370);o(6636);const bt=({id:e,label:t,popoverContents:o,remove:r,screenReaderLabel:c,className:l=""})=>{const[s,u]=(0,a.useState)(!1),d=(0,w.useInstanceId)(bt);if(c=c||t,!t)return null;t=(0,at.decodeEntities)(t);const p=(0,nt.A)("woocommerce-tag",l,{"has-remove":!!r}),_=`woocommerce-tag__label-${d}`,g=(0,n.createElement)(n.Fragment,null,(0,n.createElement)("span",{className:"screen-reader-text"},c),(0,n.createElement)("span",{"aria-hidden":"true"},t));return(0,n.createElement)("span",{className:p},o?(0,n.createElement)(m.Button,{className:"woocommerce-tag__text",id:_,onClick:()=>u(!0)},g):(0,n.createElement)("span",{className:"woocommerce-tag__text",id:_},g),o&&s&&(0,n.createElement)(m.Popover,{onClose:()=>u(!1)},o),r&&(0,n.createElement)(m.Button,{className:"woocommerce-tag__remove",onClick:r(e),label:(0,i.sprintf)( // Translators: %s label. // Translators: %s label. (0,i.__)("Remove %s","woocommerce"),t),"aria-describedby":_},(0,n.createElement)(v.A,{icon:gt.A,size:20,className:"clear-icon",role:"img"})))},Et=bt;o(8137);const ht=e=>(0,n.createElement)(_t,{...e}),yt=e=>{const{list:t,selected:o,renderItem:r,depth:c=0,onSelect:l,instanceId:s,isSingle:i,search:m,useExpandedPanelId:u}=e,[d]=u;return t?(0,n.createElement)(a.Fragment,null,t.map((t=>{var p,_;const w=null!==(p=t.children)&&void 0!==p&&p.length&&!i?t.children.every((({id:e})=>o.find((t=>t.id===e)))):!!o.find((({id:e})=>e===t.id)),g=(null===(_=t.children)||void 0===_?void 0:_.length)&&d===t.id;return(0,n.createElement)(a.Fragment,{key:t.id},(0,n.createElement)("li",null,r({item:t,isSelected:w,onSelect:l,isSingle:i,selected:o,search:m,depth:c,useExpandedPanelId:u,controlId:s})),g?(0,n.createElement)(yt,{...e,list:t.children,depth:c+1}):null)}))):null},vt=({isLoading:e,isSingle:t,selected:o,messages:r,onChange:c,onRemove:l})=>{if(e||t||!o)return null;const a=o.length;return(0,n.createElement)("div",{className:"woocommerce-search-list__selected"},(0,n.createElement)("div",{className:"woocommerce-search-list__selected-header"},(0,n.createElement)("strong",null,r.selected(a)),a>0?(0,n.createElement)(m.Button,{variant:"link",isDestructive:!0,onClick:()=>c([]),"aria-label":r.clear},(0,i.__)("Clear all","woocommerce")):null),a>0?(0,n.createElement)("ul",null,o.map(((e,t)=>(0,n.createElement)("li",{key:t},(0,n.createElement)(Et,{label:e.name,id:e.id,remove:l}))))):null)},ft=({filteredList:e,search:t,onSelect:o,instanceId:r,useExpandedPanelId:c,...l})=>{const{messages:a,renderItem:s,selected:m,isSingle:u}=l,d=s||ht;return 0===e.length?(0,n.createElement)("div",{className:"woocommerce-search-list__list is-not-found"},(0,n.createElement)("span",{className:"woocommerce-search-list__not-found-icon"},(0,n.createElement)(v.A,{icon:wt.A,role:"img"})),(0,n.createElement)("span",{className:"woocommerce-search-list__not-found-text"},t?(0,i.sprintf)(a.noResults,t):a.noItems)):(0,n.createElement)("ul",{className:"woocommerce-search-list__list"},(0,n.createElement)(yt,{useExpandedPanelId:c,list:e,selected:m,renderItem:d,onSelect:o,instanceId:r,isSingle:u,search:t}))},kt=e=>{const{className:t="",isCompact:o,isHierarchical:r,isLoading:c,isSingle:l,list:s,messages:u=st,onChange:d,onSearch:p,selected:_,type:g="text",debouncedSpeak:b}=e,[E,h]=(0,a.useState)(""),y=(0,a.useState)(-1),v=(0,w.useInstanceId)(kt),f=(0,a.useMemo)((()=>({...st,...u})),[u]),k=(0,a.useMemo)((()=>((e,t,o)=>{if(!t)return o?it(e):e;const r=new RegExp(t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"i"),c=e.map((e=>!!r.test(e.name)&&e)).filter(Boolean);return o?it(c,e):c})(s,E,r)),[s,E,r]);(0,a.useEffect)((()=>{b&&b(f.updated)}),[b,f]),(0,a.useEffect)((()=>{"function"==typeof p&&p(E)}),[E,p]);const C=(0,a.useCallback)((e=>()=>{l&&d([]);const t=_.findIndex((({id:t})=>t===e));d([..._.slice(0,t),..._.slice(t+1)])}),[l,_,d]),S=(0,a.useCallback)((e=>()=>{Array.isArray(e)?d(e):-1===_.findIndex((({id:t})=>t===e.id))?d(l?[e]:[..._,e]):C(e.id)()}),[l,C,d,_]),A=(0,a.useCallback)((e=>{const[t]=_.filter((t=>!e.find((e=>t.id===e.id))));C(t.id)()}),[C,_]);return(0,n.createElement)("div",{className:(0,nt.A)("woocommerce-search-list",t,{"is-compact":o,"is-loading":c,"is-token":"token"===g})},"text"===g&&(0,n.createElement)(vt,{...e,onRemove:C,messages:f}),(0,n.createElement)("div",{className:"woocommerce-search-list__search"},"text"===g?(0,n.createElement)(m.TextControl,{label:f.search,type:"search",value:E,onChange:e=>h(e)}):(0,n.createElement)(m.FormTokenField,{disabled:c,label:f.search,onChange:A,onInputChange:e=>h(e),suggestions:[],__experimentalValidateInput:()=>!1,value:c?[(0,i.__)("Loading…","woocommerce")]:_.map((e=>({...e,value:e.name}))),__experimentalShowHowTo:!1})),c?(0,n.createElement)("div",{className:"woocommerce-search-list__list"},(0,n.createElement)(m.Spinner,null)):(0,n.createElement)(ft,{...e,search:E,filteredList:k,messages:f,onSelect:S,instanceId:v,useExpandedPanelId:y}))},Ct=((0,m.withSpokenMessages)(kt),window.wp.url),St=window.wp.apiFetch;var At,Tt,It,xt,Rt,Pt,Nt,Ot,Bt,Dt,Lt=o.n(St);const Ft=(0,k.getSetting)("wcBlocksConfig",{pluginUrl:"",productCount:0,defaultAvatar:"",restApiRoutes:{},wordCountType:"words"}),qt=(Ft.pluginUrl,Ft.pluginUrl,null===(At=k.STORE_PAGES.shop)||void 0===At||At.permalink,null===(Tt=k.STORE_PAGES.checkout)||void 0===Tt||Tt.id,null===(It=k.STORE_PAGES.checkout)||void 0===It||It.permalink,null===(xt=k.STORE_PAGES.privacy)||void 0===xt||xt.permalink,null===(Rt=k.STORE_PAGES.privacy)||void 0===Rt||Rt.title,null===(Pt=k.STORE_PAGES.terms)||void 0===Pt||Pt.permalink,null===(Nt=k.STORE_PAGES.terms)||void 0===Nt||Nt.title,null===(Ot=k.STORE_PAGES.cart)||void 0===Ot||Ot.id,null===(Bt=k.STORE_PAGES.cart)||void 0===Bt||Bt.permalink,null!==(Dt=k.STORE_PAGES.myaccount)&&void 0!==Dt&&Dt.permalink?k.STORE_PAGES.myaccount.permalink:(0,k.getSetting)("wpLoginUrl","/wp-login.php"),(0,k.getSetting)("localPickupEnabled",!1),(0,k.getSetting)("countries",{})),Mt=(0,k.getSetting)("countryData",{}),$t=(Object.fromEntries(Object.keys(Mt).filter((e=>!0===Mt[e].allowBilling)).map((e=>[e,qt[e]||""]))),Object.fromEntries(Object.keys(Mt).filter((e=>!0===Mt[e].allowBilling)).map((e=>[e,Mt[e].states||[]]))),Object.fromEntries(Object.keys(Mt).filter((e=>!0===Mt[e].allowShipping)).map((e=>[e,qt[e]||""]))),Object.fromEntries(Object.keys(Mt).filter((e=>!0===Mt[e].allowShipping)).map((e=>[e,Mt[e].states||[]]))),Object.fromEntries(Object.keys(Mt).map((e=>[e,Mt[e].locale||[]]))),{address:["first_name","last_name","company","address_1","address_2","city","postcode","country","state","phone"],contact:["email"],order:[]}),Gt=((0,k.getSetting)("addressFieldsLocations",$t).address,(0,k.getSetting)("addressFieldsLocations",$t).contact,(0,k.getSetting)("addressFieldsLocations",$t).order,(0,k.getSetting)("additionalOrderFields",{}),(0,k.getSetting)("additionalContactFields",{}),(0,k.getSetting)("additionalAddressFields",{}),(e,t)=>{const o=new Map;return e.filter((e=>{const r=t(e);return!o.has(r)&&(o.set(r,e),!0)}))}),Vt=e=>Lt()({path:`wc/store/v1/products/attributes/${e}/terms`});const Ht=window.wp.escapeHtml,jt=({error:e})=>(0,n.createElement)("div",{className:"wc-block-error-message"},(({message:e,type:t})=>e?"general"===t?(0,n.createElement)("span",null,(0,i.__)("The following error was returned","woocommerce"),(0,n.createElement)("br",null),(0,n.createElement)("code",null,(0,Ht.escapeHTML)(e))):"api"===t?(0,n.createElement)("span",null,(0,i.__)("The following error was returned from the API","woocommerce"),(0,n.createElement)("br",null),(0,n.createElement)("code",null,(0,Ht.escapeHTML)(e))):e:(0,i.__)("An error has prevented the block from being updated.","woocommerce"))(e)),Ut=({className:e,item:t,isSelected:o,isLoading:r,onSelect:c,disabled:l,...a})=>(0,n.createElement)(n.Fragment,null,(0,n.createElement)(pt,{...a,key:t.id,className:e,isSelected:o,item:t,onSelect:c,disabled:l}),o&&r&&(0,n.createElement)("div",{key:"loading",className:(0,nt.A)("woocommerce-search-list__item","woocommerce-product-attributes__item","depth-1","is-loading","is-not-active")},(0,n.createElement)(m.Spinner,null))),Kt=((0,k.getSetting)("attributes",[]).reduce(((e,t)=>{const o=(r=t)&&r.attribute_name?{id:parseInt(r.attribute_id,10),name:r.attribute_name,taxonomy:"pa_"+r.attribute_name,label:r.attribute_label,orderby:r.attribute_orderby}:null;var r;return o&&o.id&&e.push(o),e}),[]),e=>{const{count:t,id:o,name:r,parent:c}=e;return{count:t,id:o,name:r,parent:c,breadcrumbs:[],children:[],value:(0,Ae.isAttributeTerm)(e)?e.attr_slug:""}});o(2777);const Qt=(0,w.withInstanceId)((({onChange:e,onOperatorChange:t,instanceId:o,isCompact:r=!1,messages:c={},operator:l="any",selected:s,type:u="text"})=>{const{errorLoadingAttributes:d,isLoadingAttributes:p,productsAttributes:_}=function(e){const[t,o]=(0,a.useState)(null),[r,c]=(0,a.useState)(!1),[n,l]=(0,a.useState)([]),s=(0,a.useRef)(!1);return(0,a.useEffect)((()=>{if(e&&!r&&!s.current)return async function(){c(!0);try{const e=await Lt()({path:"wc/store/v1/products/attributes"}),t=[];for(const o of e){const e=await Vt(o.id);t.push({...o,parent:0,terms:e.map((e=>({...e,attr_slug:o.taxonomy,parent:o.id})))})}l(t),s.current=!0}catch(e){e instanceof Error&&o(await(async e=>{if(!("json"in e))return{message:e.message,type:e.type||"general"};try{const t=await e.json();return{message:t.message,type:t.type||"api"}}catch(e){return{message:e.message,type:"general"}}})(e))}finally{c(!1)}}(),()=>{s.current=!0}}),[r,e]),{errorLoadingAttributes:t,isLoadingAttributes:r,productsAttributes:n}}(!0),w=_.reduce(((e,t)=>{const{terms:o,...r}=t;return[...e,Kt(r),...o.map(Kt)]}),[]);return c={clear:(0,i.__)("Clear all product attributes","woocommerce"),noItems:(0,i.__)("Your store doesn't have any product attributes.","woocommerce"),search:(0,i.__)("Search for product attributes","woocommerce"),selected:e=>(0,i.sprintf)(/* translators: %d is the count of attributes selected. */ /* translators: %d is the count of attributes selected. */ (0,i._n)("%d attribute selected","%d attributes selected",e,"woocommerce"),e),updated:(0,i.__)("Product attribute search results updated.","woocommerce"),...c},d?(0,n.createElement)(jt,{error:d}):(0,n.createElement)(n.Fragment,null,(0,n.createElement)(kt,{className:"woocommerce-product-attributes",isCompact:r,isHierarchical:!0,isLoading:p,isSingle:!1,list:w,messages:c,onChange:e,renderItem:e=>{const{item:t,search:r,depth:c=0}=e,l=t.count||0,a=["woocommerce-product-attributes__item","woocommerce-search-list__item",{"is-searching":r.length>0,"is-skip-level":0===c&&0!==t.parent}];if(!t.breadcrumbs.length)return(0,n.createElement)(Ut,{...e,className:(0,nt.A)(a),item:t,isLoading:p,disabled:0===t.count,name:`attributes-${o}`,countLabel:(0,i.sprintf)(/* translators: %d is the count of terms. */ /* translators: %d is the count of terms. */ (0,i._n)("%d term","%d terms",l,"woocommerce"),l),"aria-label":(0,i.sprintf)(/* translators: %1$s is the item name, %2$d is the count of terms for the item. */ /* translators: %1$s is the item name, %2$d is the count of terms for the item. */ (0,i._n)("%1$s, has %2$d term","%1$s, has %2$d terms",l,"woocommerce"),t.name,l)});const s=`${t.breadcrumbs[0]}: ${t.name}`;return(0,n.createElement)(pt,{...e,name:`terms-${o}`,className:(0,nt.A)(...a,"has-count"),countLabel:(0,i.sprintf)(/* translators: %d is the count of products. */ /* translators: %d is the count of products. */ (0,i._n)("%d product","%d products",l,"woocommerce"),l),"aria-label":(0,i.sprintf)(/* translators: %1$s is the attribute name, %2$d is the count of products for that attribute. */ /* translators: %1$s is the attribute name, %2$d is the count of products for that attribute. */ (0,i._n)("%1$s, has %2$d product","%1$s, has %2$d products",l,"woocommerce"),s,l)})},selected:s.map((({id:e})=>w.find((t=>t.id===e)))).filter(Boolean),type:u}),!!t&&(0,n.createElement)("div",{hidden:s.length<2},(0,n.createElement)(m.SelectControl,{className:"woocommerce-product-attributes__operator",label:(0,i.__)("Display products matching","woocommerce"),help:(0,i.__)("Pick at least two attributes to use this setting.","woocommerce"),value:l,onChange:t,options:[{label:(0,i.__)("Any selected attributes","woocommerce"),value:"any"},{label:(0,i.__)("All selected attributes","woocommerce"),value:"all"}]})))})),Wt=`${k.ADMIN_URL}edit.php?post_type=product&page=product_attributes`,zt=({query:e,trackInteraction:t,setQueryAttribute:o})=>{const r=e.woocommerceAttributes||[],c=null==r?void 0:r.map((({termId:e})=>({id:e}))),l=()=>{o({woocommerceAttributes:P.woocommerceAttributes}),t(h.ATTRIBUTES)};return(0,n.createElement)(m.__experimentalToolsPanelItem,{label:(0,i.__)("Product Attributes","woocommerce"),hasValue:()=>!(null==r||!r.length),onDeselect:l,resetAllFilter:l},(0,n.createElement)(Qt,{messages:{search:(0,i.__)("Attributes","woocommerce")},selected:c||[],onChange:e=>{const r=e.map((({id:e,value:t})=>({termId:e,taxonomy:t})));o({woocommerceAttributes:r}),t(h.ATTRIBUTES)},operator:"any",isCompact:!0,type:"token"}),(0,n.createElement)(m.ExternalLink,{className:"wc-block-editor-product-collection-panel__manage-attributes-link",href:Wt},(0,i.__)("Manage attributes","woocommerce")))},Yt={_fields:"id,name",order:"asc",orderby:"name",context:"view"},Jt=e=>{var t;const o=e.match(/^(?:(.+) )?\(#(\d+)\)$/);return!!o&&{name:null!==(t=o[1])&&void 0!==t?t:"",id:parseInt(o[2],10)}},Zt=({taxonomy:e,termIds:t,onChange:o})=>{const{existingTerms:r,isLoadingExistingTerms:c}=(0,s.useSelect)((o=>{if(!t||!t.length)return{existingTerms:[],isLoadingExistingTerms:!1};const{getEntityRecords:r,hasFinishedResolution:c}=o("core"),n=["taxonomy",e.slug,{...Yt,include:t}];return{existingTerms:r(...n),isLoadingExistingTerms:!c("getEntityRecords",n)}}),[e,t]),[l,u]=(0,a.useState)(""),{searchTerms:d}=(0,s.useSelect)((o=>{if(l.length<=1)return{searchTerms:[]};const{getEntityRecords:r}=o("core");return{searchTerms:r("taxonomy",e.slug,{...Yt,exclude:t,search:l})}}),[e,t,l]),p=(0,w.useDebounce)(u,250),_=new Set,g=new Set,b=e=>(_.has(e.name)&&g.add(e.name),_.add(e.name),(e=>`${e.name} (#${e.id})`)(e)),E=r?r.map(b):[],h=d?d.map(b):[];if(r&&t.length!==r.length){const e=r.reduce(((e,t)=>(e[t.id]=t,e)),{});t.forEach((t=>{e[t]||E.push(`(#${t})`)}))}return(0,n.createElement)("div",{className:"wc-block-editor-product-collection-inspector__taxonomy-control"},(0,n.createElement)(m.FormTokenField,{label:e.name,value:E,onInputChange:p,onChange:e=>{const t=[];e.forEach((e=>{const o=Jt(e);o&&t.push(o.id)})),o(t)},suggestions:h,disabled:c,displayTransform:e=>{const t=Jt(e);return t&&(e=t.name?g.has(t.name)?`${t.name} (#${t.id})`:t.name:`(#${t.id} ${(0,i.__)("Missing","woocommerce")})`),(0,at.decodeEntities)(e)||""},__experimentalShowHowTo:!1}))},Xt=function({setQueryAttribute:e,trackInteraction:t,query:o}){const{taxQuery:r}=o,c=(()=>{const e=(0,s.useSelect)((e=>{const{getTaxonomies:t}=e(Q.store);return t({type:"product",per_page:-1})}),[]);return(0,a.useMemo)((()=>null==e?void 0:e.filter((({visibility:e})=>!(null==e||!e.publicly_queryable)))),[e])})();return c&&0!==c.length?(0,n.createElement)(n.Fragment,null,c.map((o=>{const{slug:c,name:l}=o,a=(null==r?void 0:r[c])||[],s=o=>{e({taxQuery:{...r,[c]:o}}),t(`${h.TAXONOMY}__${c}`)},i=()=>{s([]),t(`${h.TAXONOMY}__${c}`)};return(0,n.createElement)(m.__experimentalToolsPanelItem,{key:c,label:l,hasValue:()=>a.length,onDeselect:i,resetAllFilter:i},(0,n.createElement)(Zt,{key:c,taxonomy:o,termIds:a,onChange:s}))}))):null},eo=({query:e,trackInteraction:t,setQueryAttribute:o})=>{const r=(Ft.productCount||0)>100,c=e.woocommerceHandPickedProducts,[l,s]=(0,a.useState)(""),{productsMap:u,productsList:d}=function(e,t,o=[]){const[r,c]=(0,a.useState)(new Map),[n,l]=(0,a.useState)([]);return(0,a.useEffect)((()=>{(({selected:e=[],search:t="",queryArgs:o={}})=>{const r=(({selected:e=[],search:t="",queryArgs:o={}})=>{const r=Ft.productCount>100,c={per_page:r?100:0,catalog_visibility:"any",search:t,orderby:"title",order:"asc"},n=[(0,Ct.addQueryArgs)("/wc/store/v1/products",{...c,...o})];return r&&e.length&&n.push((0,Ct.addQueryArgs)("/wc/store/v1/products",{catalog_visibility:"any",include:e,per_page:0})),n})({selected:e,search:t,queryArgs:o});return Promise.all(r.map((e=>Lt()({path:e})))).then((e=>{const t=e.flat(),o=Gt(t,(e=>e.id));return o.map((e=>({...e,parent:0})))})).catch((e=>{throw e}))})({selected:e?o.map(Number):[],queryArgs:e?{search:t,per_page:40}:{per_page:0}}).then((e=>{const t=new Map;e.forEach((e=>{t.set(e.id,e),t.set(e.name,e)})),l(e),c(t)}))}),[e,t,o]),{productsMap:r,productsList:n}}(r,l,c),p=(0,w.useDebounce)(s,250),_=(0,a.useCallback)((e=>{const r=e.reduce(((e,t)=>{const o=u.get(t)||u.get(Number(t));return o&&e.add(String(o.id)),e}),new Set);o({woocommerceHandPickedProducts:Array.from(r)}),t(h.HAND_PICKED)}),[o,t,u]),g=(0,a.useMemo)((()=>d.filter((e=>!(null!=c&&c.includes(String(e.id))))).map((e=>e.name))),[d,c]),b=()=>{o({woocommerceHandPickedProducts:P.woocommerceHandPickedProducts}),t(h.HAND_PICKED)};return(0,n.createElement)(m.__experimentalToolsPanelItem,{label:(0,i.__)("Hand-picked Products","woocommerce"),hasValue:()=>!(null==c||!c.length),onDeselect:b,resetAllFilter:b},(0,n.createElement)(m.FormTokenField,{displayTransform:e=>{const t=Number(e);if(Number.isNaN(t))return(0,at.decodeEntities)(e)||"";const o=u.get(t);return(0,at.decodeEntities)(null==o?void 0:o.name)||""},label:(0,i.__)("Hand-picked Products","woocommerce"),onChange:_,onInputChange:r?p:void 0,suggestions:g,__experimentalValidateInput:e=>u.has(e),value:u.size?c||[]:[(0,i.__)("Loading…","woocommerce")],__experimentalExpandOnFocus:!0,__experimentalShowHowTo:!1}))},to=e=>{switch(e){case g.GRID:return(0,i.__)("Display products using rows and columns.","woocommerce");case g.STACK:return(0,i.__)("Display products in a single column.","woocommerce");default:return""}},oo=g.GRID,ro=e=>{const{type:t,columns:o,shrinkColumns:r}=e.displayLayout,c=t=>{e.setAttributes({displayLayout:{type:t,columns:o,shrinkColumns:r}})};return(0,n.createElement)(m.__experimentalToolsPanelItem,{label:(0,i.__)("Layout","woocommerce"),hasValue:()=>t!==oo,isShownByDefault:!0,onDeselect:()=>{c(g.GRID)}},(0,n.createElement)(m.__experimentalToggleGroupControl,{label:(0,i.__)("Layout","woocommerce"),isBlock:!0,onChange:e=>{c(e)},help:to(t),value:t},(0,n.createElement)(m.__experimentalToggleGroupControlOption,{value:g.STACK,label:(0,i.__)("Stack","woocommerce")}),(0,n.createElement)(m.__experimentalToggleGroupControlOption,{value:g.GRID,label:(0,i.__)("Grid","woocommerce")})))},co=e=>{const{query:t,trackInteraction:o,setQueryAttribute:r}=e,c=()=>{r({featured:P.featured}),o(h.FEATURED)};return(0,n.createElement)(m.__experimentalToolsPanelItem,{label:(0,i.__)("Featured","woocommerce"),hasValue:()=>!0===t.featured,onDeselect:c,resetAllFilter:c},(0,n.createElement)(m.BaseControl,{id:"product-collection-featured-products-control",label:(0,i.__)("Featured","woocommerce")},(0,n.createElement)(m.ToggleControl,{label:(0,i.__)("Show only featured products","woocommerce"),checked:t.featured||!1,onChange:e=>{r({featured:e}),o(h.FEATURED)}})))},no=e=>{const{query:t,trackInteraction:o,setQueryAttribute:r}=e,{timeFrame:c}=t,l=()=>{r({timeFrame:P.timeFrame}),o(h.CREATED)};return(0,n.createElement)(m.__experimentalToolsPanelItem,{label:(0,i.__)("Created","woocommerce"),hasValue:()=>(null==c?void 0:c.operator)&&(null==c?void 0:c.value),onDeselect:l,resetAllFilter:l},(0,n.createElement)(m.Flex,{direction:"column",gap:3},(0,n.createElement)(m.FlexItem,null,(0,n.createElement)(m.__experimentalToggleGroupControl,{label:(0,i.__)("Created","woocommerce"),isBlock:!0,onChange:e=>{r({timeFrame:{...c,operator:e}}),o(h.CREATED)},value:(null==c?void 0:c.operator)||b.IN},(0,n.createElement)(m.__experimentalToggleGroupControlOption,{value:b.IN,label:(0,i._x)("Within","Product Collection query operator","woocommerce")}),(0,n.createElement)(m.__experimentalToggleGroupControlOption,{value:b.NOT_IN,label:(0,i._x)("Before","Product Collection query operator","woocommerce")}))),(0,n.createElement)(m.FlexItem,null,(0,n.createElement)(m.RadioControl,{onChange:e=>{r({timeFrame:{operator:b.IN,...c,value:e}}),o(h.CREATED)},options:[{label:"last 24 hours",value:"-1 day"},{label:"last 7 days",value:"-7 days"},{label:"last 30 days",value:"-30 days"},{label:"last 3 months",value:"-3 months"}],selected:null==c?void 0:c.value}))))},lo=window.wc.priceFormat,ao=({value:e,onChange:t,label:o})=>{const[r,c]=(0,a.useState)(`${e||""}`),l=(0,lo.getCurrency)(),s=((e="",t)=>{const o=e.replace(new RegExp(`[^0-9\\${t.decimalSeparator||""}]`,"g"),"").replace(new RegExp(`\\${t.decimalSeparator}`,"g"),"."),r=Number(o);if(""!==o&&!isNaN(r))return r<0?0:r})(r,l),u=((e,t)=>{if(void 0===e||isNaN(e))return;let o=((e,t)=>{const o=Math.pow(10,t.minorUnit),r=""+Math.round(e*o)/o;let[c,n]=r.split(".");return t.thousandSeparator&&(c=c.replace(/\B(?=(\d{3})+(?!\d))/g,t.thousandSeparator)),n?`${c}${t.decimalSeparator||"."}${n}`:c})(e,t);return null!=t&&t.prefix&&(o=`${t.prefix}${o}`),null!=t&&t.suffix&&(o=`${o}${t.suffix}`),o})(s,l);return(0,n.createElement)(m.__experimentalInputControl,{value:u,onChange:e=>{c(e)},onBlur:()=>{t(s)},onKeyDown:e=>{"Enter"===e.key&&t(s)},label:o,prefix:(0,n.createElement)(m.__experimentalInputControlPrefixWrapper,null,o),placeholder:(0,i.__)("Auto","woocommerce"),hideLabelFromVision:!0,type:"text",style:{textAlign:"right"},__next40pxDefaultSize:!0})},so=e=>{const{query:t,trackInteraction:o,setQueryAttribute:r}=e,c=t.priceRange,l=()=>{r({priceRange:P.priceRange}),o(h.PRICE_RANGE)};return(0,n.createElement)(m.__experimentalToolsPanelItem,{label:(0,i.__)("Price Range","woocommerce"),hasValue:()=>void 0!==(null==c?void 0:c.min)||void 0!==(null==c?void 0:c.max),onDeselect:l,resetAllFilter:l,className:"wc-block-product-price-range-control"},(0,n.createElement)(m.BaseControl.VisualLabel,null,(0,i.__)("PRICE RANGE","woocommerce")),(0,n.createElement)(m.__experimentalHStack,{spacing:"2"},(0,n.createElement)(ao,{label:(0,i.__)("MIN","woocommerce"),value:null==c?void 0:c.min,onChange:e=>{r({priceRange:{min:0===e?void 0:e,max:null==c?void 0:c.max}}),o(h.PRICE_RANGE)}}),(0,n.createElement)(ao,{label:(0,i.__)("MAX","woocommerce"),value:null==c?void 0:c.max,onChange:e=>{const t=0===e?void 0:e;r({priceRange:{min:null==c?void 0:c.min,max:t}}),o(h.PRICE_RANGE)}})))},io=e=>{const{attributes:t,context:o,setAttributes:r}=e,{query:c,hideControls:s,displayLayout:u}=t,d=ge(o.templateSlug),p=(null==c?void 0:c.inherit)||!1,w=(e=>t=>!e.includes(t))(s),g="product-catalog"===d||"product-archive"===d,b=!1===p,E=g&&w(h.INHERIT),y=!g&&w(h.FILTERABLE),v=b&&w(h.ORDER),f=w(h.ON_SALE),k=w(h.STOCK_STATUS),C=w(h.HAND_PICKED),S=w(h.KEYWORD),A=w(h.ATTRIBUTES),T=w(h.TAXONOMY),I=w(h.FEATURED),x=w(h.CREATED),R=w(h.PRICE_RANGE),P={setAttributes:r,displayLayout:u},N={setQueryAttribute:(0,a.useMemo)((()=>ee.bind(null,e)),[e]),trackInteraction:e=>_("blocks_product_collection_inspector_control_clicked",{collection:t.collection,location:d,filter:e}),query:c};return(0,n.createElement)(l.InspectorControls,null,(0,n.createElement)(m.__experimentalToolsPanel,{label:(0,i.__)("Settings","woocommerce"),resetAll:()=>{const t=(o=e.attributes,{displayLayout:le(),query:ne(o.query)});var o;e.setAttributes(t)}},E&&(0,n.createElement)(Je,{...N}),y&&(0,n.createElement)(Ze,{...N}),(0,n.createElement)(ro,{...P}),(0,n.createElement)(He,{...P}),v&&(0,n.createElement)(et,{...N})),b?(0,n.createElement)(m.__experimentalToolsPanel,{label:(0,i.__)("Filters","woocommerce"),resetAll:e=>{e.forEach((e=>{e()}))},className:"wc-block-editor-product-collection-inspector-toolspanel__filters"},f&&(0,n.createElement)(tt,{...N}),k&&(0,n.createElement)(rt,{...N}),C&&(0,n.createElement)(eo,{...N}),S&&(0,n.createElement)(ct,{...N}),A&&(0,n.createElement)(zt,{...N}),T&&(0,n.createElement)(Xt,{...N}),I&&(0,n.createElement)(co,{...N}),x&&(0,n.createElement)(no,{...N}),R&&(0,n.createElement)(so,{...N})):null,(0,n.createElement)(ke,null))},mo=e=>{const t=e+2592e5;return Date.now()<t},uo=(e=0)=>e<=4;(0,K.addFilter)("editor.BlockEdit",c.name,(e=>t=>{if(t.name!==c.name)return(0,n.createElement)(e,{...t});const o=(e=>{const{attributes:t}=e,{convertedFromProducts:o}=t,{status:r,time:c,displayCount:n}=Re();return o&&"notseen"===r&&mo(c)&&uo(n)})(t),r=(e=>{const{attributes:t}=e,{convertedFromProducts:o}=t,{status:r,time:c,displayCount:n}=Re();return o&&("seen"===r||!mo(c)||!uo(n))})(t);return r&&t.setAttributes({convertedFromProducts:!1}),(0,n.createElement)(n.Fragment,null,o&&(0,n.createElement)(l.InspectorControls,null,(0,n.createElement)(Me,{revertMigration:Le})),(0,n.createElement)(e,{...t}))}));const po=["core/post-content","woocommerce/mini-cart","woocommerce/featured-product"],_o=["core/","woocommerce/"],wo=(0,i.__)("Enforce full page reload on certain interactions, like using paginations controls.","woocommerce"),go=(0,i.__)("Force page reload can't be disabled because there are non-compatible blocks inside the Product Collection block.","woocommerce"),bo=e=>{const{clientId:t,forcePageReload:o,setAttributes:r}=e,c=(e=>(0,s.useSelect)((t=>{const{getClientIdsOfDescendants:o,getBlockName:r}=t(l.store);return o(e).find((e=>{var t;return t=r(e),!(!po.includes(t)&&_o.find((e=>t.startsWith(e))))}))||!1}),[e]))(t);(0,a.useEffect)((()=>{!o&&c&&r({forcePageReload:!0})}),[o,c,r]);const u=c?go:wo;return(0,n.createElement)(m.ToggleControl,{label:(0,i.__)("Force Page Reload","woocommerce"),help:u,checked:o,onChange:()=>r({forcePageReload:!o}),disabled:c})};function Eo(e){const{clientId:t,attributes:o,setAttributes:r}=e,{forcePageReload:c}=o;return(0,n.createElement)(l.InspectorAdvancedControls,null,(0,n.createElement)(bo,{clientId:t,forcePageReload:c,setAttributes:r}))}var ho=o(6287);const yo=({onToggle:e})=>(0,n.createElement)(m.ToolbarButton,{icon:ho.A,label:(0,i.__)("Display settings","woocommerce"),onClick:e}),vo=({query:e,setQueryAttribute:t})=>{const o=e=>{const o=Number(e);!isNaN(o)&&o>=1&&o<=100&&t({perPage:o})},r=e=>{const o=Number(e);!isNaN(o)&&o>=0&&o<=100&&t({offset:o})},c=e=>{const o=Number(e);!isNaN(o)&&o>=0&&t({pages:o})},l={__unstableInputWidth:"60px",labelPosition:"edge",step:"1",isDragEnabled:!1};return(0,n.createElement)(m.ToolbarGroup,null,(0,n.createElement)(m.Dropdown,{contentClassName:"wc-block-editor-product-collection__display-settings",renderToggle:({onToggle:e})=>(0,n.createElement)(yo,{onToggle:e}),renderContent:()=>(0,n.createElement)(n.Fragment,null,(0,n.createElement)(m.__experimentalNumberControl,{...l,label:(0,i.__)("Items per Page","woocommerce"),min:1,max:100,onChange:o,value:e.perPage}),(0,n.createElement)(m.__experimentalNumberControl,{...l,label:(0,i.__)("Offset","woocommerce"),min:0,max:100,onChange:r,value:e.offset}),(0,n.createElement)(m.BaseControl,{help:(0,i.__)("Limit the pages you want to show, even if the query has more results. To show all pages use 0 (zero).","woocommerce"),id:"woocommerce-products-block__display-settings-pages"},(0,n.createElement)(m.__experimentalNumberControl,{...l,label:(0,i.__)("Max page to show","woocommerce"),min:0,onChange:c,value:e.pages})))}))};var fo=o(5866),ko=o(6554);const Co=e=>{const{type:t,columns:o,shrinkColumns:r}=e.displayLayout,c=t=>{e.setAttributes({displayLayout:t})},l=[{icon:fo.A,title:(0,i.__)("List view","woocommerce"),onClick:()=>c({type:g.STACK,columns:o,shrinkColumns:r}),isActive:t===g.STACK},{icon:ko.A,title:(0,i.__)("Grid view","woocommerce"),onClick:()=>c({type:g.GRID,columns:o,shrinkColumns:r}),isActive:t===g.GRID}];return(0,n.createElement)(m.ToolbarGroup,{controls:l})},So=e=>(0,n.createElement)(m.ToolbarGroup,null,(0,n.createElement)(m.ToolbarButton,{onClick:e.openCollectionSelectionModal},(0,i.__)("Choose collection","woocommerce")));function Ao(e){const{attributes:t,openCollectionSelectionModal:o,setAttributes:r}=e,{query:c,displayLayout:s}=t,i=(0,a.useMemo)((()=>ee.bind(null,e)),[e]);return(0,n.createElement)(l.BlockControls,null,(0,n.createElement)(So,{openCollectionSelectionModal:o}),!c.inherit&&(0,n.createElement)(n.Fragment,null,(0,n.createElement)(vo,{query:c,setQueryAttribute:i}),(0,n.createElement)(Co,{displayLayout:s,setAttributes:r})))}const To=({preview:{setPreviewState:e,initialPreviewState:t}={},usesReference:o,...r})=>{var c,u;const d=(0,a.useRef)(!1),{clientId:p,attributes:_,setAttributes:g}=r,b=((e,t)=>{const o=e.templateSlug||"",r=e.postId||null,c=(e=>t=>e.replace(`${t}-`,""))(o),n=(e=>t=>e.includes(t)&&e!==t)(o),i=n(z),m=n(Y),u=n(J),[d,p]=(0,a.useState)(null),[_,w]=(0,a.useState)(null),[g,b]=(0,a.useState)(null);(0,a.useEffect)((()=>{if(i){const e=c(z);Z("postType","product",e,p)}if(m){const e=c(Y);Z("taxonomy","product_cat",e,w)}if(u){const e=c(J);Z("taxonomy","product_tag",e,b)}}),[i,m,u,c]);const{isInSingleProductBlock:E,isInSomeCartCheckoutBlock:h}=(0,s.useSelect)((e=>{const{getBlockParentsByBlockName:o}=e(l.store),r=e=>o(t,e).length>0;return{isInSingleProductBlock:r(["woocommerce/single-product"]),isInSomeCartCheckoutBlock:r(["woocommerce/cart","woocommerce/checkout","woocommerce/mini-cart-contents"])}}),[t]);if(E)return X(W.Product,{productId:r});if(h)return X(W.Cart);if(i)return X(W.Product,{productId:d});const y=(e=>t=>e===t)(o);if(y(z))return X(W.Product,{productId:null});if(m)return X(W.Archive,{taxonomy:"product_cat",termId:_});if(u)return X(W.Archive,{taxonomy:"product_tag",termId:g});if(y(Y))return X(W.Archive,{taxonomy:"product_cat",termId:null});if(y(J))return X(W.Archive,{taxonomy:"product_tag",termId:null});if(y("taxonomy-product_attribute"))return X(W.Archive,{taxonomy:null,termId:null});if("page-cart"===o||"page-checkout"===o)return X(W.Cart);const v=y("order-confirmation");return X(v?W.Order:W.Site)})(r.context,r.clientId);(({setPreviewState:e,location:t,attributes:o,setAttributes:r,usesReference:c})=>{var n,l;const s=e=>{r({__privatePreviewState:{...o.__privatePreviewState,...e}})},m=c&&(null==c?void 0:c.length)>0,u=((e,t)=>{if(!(Array.isArray(t)&&t.length>0))return"";if(t.includes(e.type)){var o,r,c,n;const t=e.type===W.Archive&&null!==(null!==(o=null===(r=e.sourceData)||void 0===r?void 0:r.termId)&&void 0!==o?o:null),l=e.type===W.Product&&null!==(null!==(c=null===(n=e.sourceData)||void 0===n?void 0:n.productId)&&void 0!==c?c:null);return t||l?"":e.type===W.Product?(0,i.__)("Actual products will vary depending on the product being viewed.","woocommerce"):(0,i.__)("Actual products will vary depending on the page being viewed.","woocommerce")}return""})(t,c);(0,a.useLayoutEffect)((()=>{m&&r({__privatePreviewState:{isPreview:u.length>0,previewMessage:u}})}),[r,u,m]),(0,a.useLayoutEffect)((()=>{if(e||m)return(null==e?void 0:e({setState:s,location:t,attributes:o}))||void 0}),[e]),(0,a.useLayoutEffect)((()=>{if(!e&&!m){var c,n;const e=t.type===W.Archive&&null===(null===(c=t.sourceData)||void 0===c?void 0:c.termId);r({__privatePreviewState:{isPreview:!!e&&!(null==o||null===(n=o.query)||void 0===n||!n.inherit),previewMessage:(0,i.__)("Actual products will vary depending on the page being viewed.","woocommerce")}})}}),[null==o||null===(n=o.query)||void 0===n?void 0:n.inherit,u,null===(l=t.sourceData)||void 0===l?void 0:l.termId,t.type,r,e,m])})({setPreviewState:e,setAttributes:g,location:b,attributes:_,usesReference:o});const E=(0,l.useBlockProps)(),h=(0,l.useInnerBlocksProps)(E,{template:B}),y=((e,t,o)=>{const r=(0,w.useInstanceId)(o),{getBlockParentsByBlockName:c}=(0,s.useSelect)(l.store);let n=r;return(0,a.useMemo)((()=>c(e,"core/block")),[c,e]).length>0&&(n=t.queryId),n})(p,_,To),v={...R,query:{...R.query,inherit:re(),filterable:ce()},..._,queryId:y,...!!_.collection&&t&&{__privatePreviewState:t}};return(0,a.useEffect)((()=>{g(v),d.current=!0}),[]),d.current=d.current||he()(_,v),d.current?(0,n.createElement)("div",{...E},(null===(c=_.__privatePreviewState)||void 0===c?void 0:c.isPreview)&&r.isSelected&&(0,n.createElement)(m.Button,{variant:"primary",size:"small",showTooltip:!0,label:null===(u=_.__privatePreviewState)||void 0===u?void 0:u.previewMessage,className:"wc-block-product-collection__preview-button","data-testid":"product-collection-preview-button"},"Preview"),(0,n.createElement)(io,{...r}),(0,n.createElement)(Eo,{...r}),(0,n.createElement)(Ao,{...r}),(0,n.createElement)("div",{...h})):null},Io=To,xo=e=>{const{clientId:t,attributes:o}=e,{replaceBlock:r}=(0,s.useDispatch)(l.store),[c,u]=(0,a.useState)(o.collection);return(0,n.createElement)(m.Modal,{overlayClassName:"wc-blocks-product-collection__modal",title:(0,i.__)("What products do you want to show?","woocommerce"),onRequestClose:e.closePatternSelectionModal,size:"large"},(0,n.createElement)("div",{className:"wc-blocks-product-collection__content"},(0,n.createElement)(de,{chosenCollection:c,onCollectionClick:u}),(0,n.createElement)("div",{className:"wc-blocks-product-collection__footer"},(0,n.createElement)(m.Button,{variant:"tertiary",onClick:e.closePatternSelectionModal},(0,i.__)("Cancel","woocommerce")),(0,n.createElement)(m.Button,{variant:"primary",onClick:()=>{c&&ae(c,t,r)}},(0,i.__)("Continue","woocommerce")))))};o(6818);var Ro=o(6465);function Po(e,{blockDescription:t,blockIcon:o,blockTitle:c,variationName:n}){(0,r.registerBlockVariation)(e,{description:t,name:n,title:c,isActive:e=>e.__woocommerceNamespace===n,icon:{src:o},attributes:{__woocommerceNamespace:n},scope:["block","inserter"]})}const No=(0,i.__)("Product Summary","woocommerce"),Oo=((0,n.createElement)(v.A,{icon:Ro.A,className:"wc-block-editor-components-block-icon"}),(0,i.__)("Display a short description about a product.","woocommerce")),Bo=`${c.name}/product-summary`;var Do=o(4478);const Lo=(0,i.__)("Product Title","woocommerce"),Fo=((0,n.createElement)(v.A,{icon:Do.A,className:"wc-block-editor-components-block-icon"}),(0,i.__)("Display the title of a product.","woocommerce")),qo=`${c.name}/product-title`;(0,r.registerBlockType)(c,{icon:()=>(0,n.createElement)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},(0,n.createElement)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M19 11H5C4.72386 11 4.5 11.2239 4.5 11.5V17.5C4.5 17.7761 4.72386 18 5 18H19C19.2761 18 19.5 17.7761 19.5 17.5V11.5C19.5 11.2239 19.2761 11 19 11ZM5 9.5H19C20.1046 9.5 21 10.3954 21 11.5V17.5C21 18.6046 20.1046 19.5 19 19.5H5C3.89543 19.5 3 18.6046 3 17.5V11.5C3 10.3954 3.89543 9.5 5 9.5Z",fill:"currentColor"}),(0,n.createElement)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M18 7.5C18 7.77614 17.7761 8 17.5 8L6.5 8C6.22386 8 6 7.77614 6 7.5V7.5C6 7.22386 6.22386 7 6.5 7L17.5 7C17.7761 7 18 7.22386 18 7.5V7.5Z",fill:"currentColor"}),(0,n.createElement)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M16 5C16 5.27614 15.7761 5.5 15.5 5.5L8.5 5.5C8.22386 5.5 8 5.27614 8 5V5C8 4.72386 8.22386 4.5 8.5 4.5L15.5 4.5C15.7761 4.5 16 4.72386 16 5V5Z",fill:"currentColor"})),edit:e=>{const{clientId:t,attributes:o}=e,[r,c]=(0,a.useState)(!1),i=(0,s.useSelect)((e=>!!e(l.store).getBlocks(t).length),[t])?Io:be;return(0,n.createElement)(n.Fragment,null,(0,n.createElement)(i,{...e,openCollectionSelectionModal:()=>c(!0)}),r&&(0,n.createElement)(xo,{clientId:t,attributes:o,closePatternSelectionModal:()=>c(!1)}))},save:function({attributes:{tagName:e="div"}}){const t=l.useBlockProps.save(),o=l.useInnerBlocksProps.save(t);return(0,n.createElement)(e,{...o})}}),Po("core/post-excerpt",{blockDescription:Oo,blockIcon:(0,n.createElement)(m.Icon,{icon:Ro.A}),blockTitle:No,variationName:Bo}),Po("core/post-title",{blockDescription:Fo,blockIcon:(0,n.createElement)(m.Icon,{icon:Do.A}),blockTitle:Lo,variationName:qo}),U.forEach((e=>(0,y.__experimentalRegisterProductCollection)(e))),(0,k.isWpVersion)("6.1",">=")&&(0,K.addFilter)("blocks.registerBlockType","woocommerce/add-product-collection-block-to-parent-array-of-pagination-block",((e,t)=>t!==O?e:null!=e&&e.ancestor?{...e,ancestor:[...e.ancestor,c.name]}:null!=e&&e.parent?{...e,parent:[...e.parent,c.name]}:e))},6818:()=>{},1598:()=>{},2777:()=>{},8137:()=>{},6636:()=>{},1609:e=>{"use strict";e.exports=window.React},9491:e=>{"use strict";e.exports=window.wp.compose},6087:e=>{"use strict";e.exports=window.wp.element},7723:e=>{"use strict";e.exports=window.wp.i18n},5573:e=>{"use strict";e.exports=window.wp.primitives}},c={};function n(e){var t=c[e];if(void 0!==t)return t.exports;var o=c[e]={exports:{}};return r[e].call(o.exports,o,o.exports,n),o.exports}n.m=r,e=[],n.O=(t,o,r,c)=>{if(!o){var l=1/0;for(m=0;m<e.length;m++){for(var[o,r,c]=e[m],a=!0,s=0;s<o.length;s++)(!1&c||l>=c)&&Object.keys(n.O).every((e=>n.O[e](o[s])))?o.splice(s--,1):(a=!1,c<l&&(l=c));if(a){e.splice(m--,1);var i=r();void 0!==i&&(t=i)}}return t}c=c||0;for(var m=e.length;m>0&&e[m-1][2]>c;m--)e[m]=e[m-1];e[m]=[o,r,c]},n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},o=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,n.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var c=Object.create(null);n.r(c);var l={};t=t||[null,o({}),o([]),o(o)];for(var a=2&r&&e;"object"==typeof a&&!~t.indexOf(a);a=o(a))Object.getOwnPropertyNames(a).forEach((t=>l[t]=()=>e[t]));return l.default=()=>e,n.d(c,l),c},n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.j=5201,(()=>{var e={5201:0};n.O.j=t=>0===e[t];var t=(t,o)=>{var r,c,[l,a,s]=o,i=0;if(l.some((t=>0!==e[t]))){for(r in a)n.o(a,r)&&(n.m[r]=a[r]);if(s)var m=s(n)}for(t&&t(o);i<l.length;i++)c=l[i],n.o(e,c)&&e[c]&&e[c][0](),e[c]=0;return n.O(m)},o=self.webpackChunkwebpackWcBlocksMainJsonp=self.webpackChunkwebpackWcBlocksMainJsonp||[];o.forEach(t.bind(null,0)),o.push=t.bind(null,o.push.bind(o))})();var l=n.O(void 0,[94],(()=>n(6355)));l=n.O(l),((this.wc=this.wc||{}).blocks=this.wc.blocks||{})["product-collection"]=l})();