uawdijnntqw1x1x1
IP : 216.73.216.109
Hostname : premium160.web-hosting.com
Kernel : Linux premium160.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
Disable Function : None :)
OS : Linux
PATH:
/
home
/
batcwwjx
/
www
/
wp-content
/
plugins
/
woocommerce
/
assets
/
.
/
client
/
blocks
/
product-collection.js
/
/
(()=>{var e,t,o,r={0:(e,t,o)=>{"use strict";const r=window.wp.blocks,c=JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"woocommerce/product-collection","title":"Product Collection","description":"Display a collection of products from your store.","category":"woocommerce","keywords":["WooCommerce","Products (Beta)","all products","by attribute","by category","by tag"],"textdomain":"woocommerce","attributes":{"queryId":{"type":"number"},"query":{"type":"object"},"tagName":{"type":"string"},"displayLayout":{"type":"object","properties":{"type":{"type":"string","enum":["flex","list","carousel"]},"columns":{"type":"number"},"shrinkColumns":{"type":"boolean"}}},"dimensions":{"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","dimensions":"dimensions","queryContextIncludes":"queryContextIncludes","collection":"collection","__privateProductCollectionPreviewState":"__privatePreviewState"},"usesContext":["templateSlug","postId"],"supports":{"align":["wide","full"],"anchor":true,"html":false,"__experimentalLayout":true,"interactivity":true},"editorStyle":"file:../woocommerce/product-collection-editor.css","style":"file:../woocommerce/product-collection-style.css"}'),n=window.wp.blockEditor;var s=o(6087);const l=window.wp.data,a=window.wp.coreData;let i=function(e){return e.Product="product",e.Archive="archive",e.Cart="cart",e.Order="order",e.Site="site",e}({});const d="single-product",u="taxonomy-product_cat",m="taxonomy-product_tag",p=async(e,t,o,r)=>{var c;r((c=await(0,l.resolveSelect)(a.store).getEntityRecords(e,t,{_fields:["id"],slug:o}))&&c.length&&c[0]?.id?c[0].id:null)},_=(e,t={})=>({type:e,sourceData:t}),h=window.wp.components;let g=function(e){return e.COLLECTION_PICKER="collection_chooser",e.PRODUCT_REFERENCE_PICKER="product_context_picker",e.VALID_WITH_PREVIEW="uses_reference_preview_mode",e.VALID="valid",e.DELETED_PRODUCT_REFERENCE="deleted_product_reference",e}({}),w=function(e){return e.GRID="flex",e.STACK="list",e.CAROUSEL="carousel",e}({}),x=function(e){return e.FILL="fill",e.FIXED="fixed",e}({}),y=function(e){return e.IN="in",e.NOT_IN="not-in",e}({}),b=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.HAND_PICKED="woocommerce/product-collection/hand-picked",e.RELATED="woocommerce/product-collection/related",e.UPSELLS="woocommerce/product-collection/upsells",e.CROSS_SELLS="woocommerce/product-collection/cross-sells",e.BY_CATEGORY="woocommerce/product-collection/by-category",e.BY_TAG="woocommerce/product-collection/by-tag",e}({}),f=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.DEFAULT_ORDER="default-order",e.STOCK_STATUS="stock-status",e.TAXONOMY="taxonomy",e.PRICE_RANGE="price-range",e.FILTERABLE="filterable",e.PRODUCTS_PER_PAGE="products-per-page",e.MAX_PAGES_TO_SHOW="max-pages-to-show",e.OFFSET="offset",e.RELATED_BY="related-by",e}({});var C=o(7723),v=o(1244),k=o.n(v);k()("wc-admin:tracks:stats");const S=k()("wc-admin:tracks");function E(e,t){if(S("recordevent %s %o","wcadmin_"+e,t,{_tqk:window._tkq,shouldRecord:!!window._tkq&&!!window.wcTracks&&!!window.wcTracks.isEnabled}),!window.wcTracks||"function"!=typeof window.wcTracks.recordEvent)return!1;window.wcTracks.recordEvent(e,t)}var j=o(9491);const A=window.wc.wcBlocksRegistry;var R=o(4530),I=o(8226);const P=window.wc.wcSettings;let T=function(e){return e.SINGLE="single",e.THUMBNAIL="thumbnail",e}({});const O=`${c.name}/product-title`,L=(0,P.getSetting)("stockStatusOptions",[]),D=(0,P.getSetting)("hideOutOfStockItems",!1),N=()=>D?Object.keys(function(e,t){const{[t]:o,...r}=e;return r}(L,"outofstock")):Object.keys(L),B={perPage:9,pages:0,offset:0,postType:"product",order:"asc",orderBy:"title",search:"",exclude:[],inherit:!1,taxQuery:{},isProductCollectionBlock:!0,featured:!1,woocommerceOnSale:!1,woocommerceStockStatus:N(),woocommerceAttributes:[],woocommerceHandPickedProducts:[],timeFrame:void 0,priceRange:void 0,filterable:!1,relatedBy:{categories:!0,tags:!0}},F={query:B,tagName:"div",displayLayout:{type:w.GRID,columns:3,shrinkColumns:!0},dimensions:{widthType:x.FILL},queryContextIncludes:["collection"],forcePageReload:!1},q={woocommerceOnSale:B.woocommerceOnSale,woocommerceStockStatus:B.woocommerceStockStatus,woocommerceAttributes:B.woocommerceAttributes,woocommerceHandPickedProducts:B.woocommerceHandPickedProducts,taxQuery:B.taxQuery,featured:B.featured,timeFrame:B.timeFrame,priceRange:B.priceRange},M="core/heading",U="core/query-pagination",V="woocommerce/product-gallery-large-image-next-previous",H="woocommerce/product-template",G=[H,{},[["woocommerce/product-image",{imageSizing:T.THUMBNAIL,showSaleBadge:!1},[["woocommerce/product-sale-badge",{align:"right"}]]],["core/post-title",{textAlign:"center",level:2,fontSize:"medium",style:{spacing:{margin:{bottom:"0.75rem",top:"0"}},typography:{lineHeight:"1.4"}},isLink:!0,__woocommerceNamespace:O}],["woocommerce/product-price",{textAlign:"center",fontSize:"small"}],["woocommerce/product-button",{textAlign:"center",fontSize:"small"}]]],$={layout:{type:"flex",justifyContent:"center"}},Q=[U,$],W=[G,Q,["woocommerce/product-collection-no-results"]];var K=o(790);const Y={name:b.BEST_SELLERS,title:(0,C.__)("Best Sellers","woocommerce"),icon:(0,K.jsx)(R.A,{icon:I.A}),description:(0,C.__)("Recommend your best-selling products.","woocommerce"),keywords:["best selling"],scope:["inserter","block"],attributes:{displayLayout:{type:"flex",columns:5,shrinkColumns:!0},query:{orderBy:"popularity",order:"desc",perPage:5,pages:1},hideControls:[f.ORDER,f.FILTERABLE]},innerBlocks:[["core/heading",{textAlign:"center",level:2,content:(0,C.__)("Best selling products","woocommerce"),style:{spacing:{margin:{bottom:"1rem"}}}}],G]};var z=o(3255);const Z={name:b.CROSS_SELLS,title:(0,C.__)("Cross-Sells","woocommerce"),icon:(0,K.jsx)(R.A,{icon:z.A}),description:(0,C.__)("By suggesting complementary products in the cart using cross-sells, you can significantly increase the average order value.","woocommerce"),keywords:["boost","promotion"],scope:["inserter","block"],usesReference:["product","cart","order"],attributes:{...F,displayLayout:{type:"flex",columns:4,shrinkColumns:!0},query:{...B,perPage:8,pages:1},hideControls:[f.FILTERABLE]},innerBlocks:[["core/heading",{textAlign:"left",level:2,content:(0,C.__)("You may be interested in…","woocommerce"),style:{spacing:{margin:{bottom:"1rem"}}}}],G]};var X=o(3129);const J={name:b.FEATURED,title:(0,C.__)("Featured Products","woocommerce"),icon:(0,K.jsx)(R.A,{icon:X.A}),description:(0,C.__)("Showcase your featured products.","woocommerce"),keywords:[],scope:["inserter","block"],attributes:{displayLayout:{type:"flex",columns:5,shrinkColumns:!0},query:{featured:!0,perPage:5,pages:1},hideControls:[f.FEATURED,f.FILTERABLE]},innerBlocks:[["core/heading",{textAlign:"center",level:2,content:(0,C.__)("Featured products","woocommerce"),style:{spacing:{margin:{bottom:"1rem"}}}}],G]};var ee=o(5573);const te=(0,K.jsxs)(ee.SVG,{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,K.jsx)(ee.Path,{d:"M8.85074 4.8213L7.64702 3.92627L5.56365 6.72818L4.44959 5.89735L3.55286 7.0998L5.87107 8.82862L8.85074 4.8213Z",fill:"currentColor"}),(0,K.jsx)(ee.Path,{d:"M20 7.75004H11.1111V6.25004H20V7.75004Z",fill:"currentColor"}),(0,K.jsx)(ee.Path,{d:"M20 12.75H11.1111V11.25H20V12.75Z",fill:"currentColor"}),(0,K.jsx)(ee.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M6 14C7.10457 14 8 13.1046 8 12C8 10.8955 7.10457 10 6 10C4.89543 10 4 10.8955 4 12C4 13.1046 4.89543 14 6 14ZM6 13C6.55229 13 7 12.5523 7 12C7 11.4478 6.55229 11 6 11C5.44772 11 5 11.4478 5 12C5 12.5523 5.44772 13 6 13Z",fill:"currentColor"}),(0,K.jsx)(ee.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M8 17C8 18.1046 7.10457 19 6 19C4.89543 19 4 18.1046 4 17C4 15.8955 4.89543 15 6 15C7.10457 15 8 15.8955 8 17ZM7 17C7 17.5523 6.55229 18 6 18C5.44772 18 5 17.5523 5 17C5 16.4478 5.44772 16 6 16C6.55229 16 7 16.4478 7 17Z",fill:"currentColor"}),(0,K.jsx)(ee.Path,{d:"M11.1111 17.75H20V16.25H11.1111V17.75Z",fill:"currentColor"})]}),oe={name:b.HAND_PICKED,title:(0,C.__)("Hand-Picked Products","woocommerce"),icon:(0,K.jsx)(R.A,{icon:te}),description:(0,C.__)("Select specific products to recommend to customers.","woocommerce"),keywords:["specific","choose","recommend","handpicked","hand picked"],scope:["inserter","block"],attributes:{displayLayout:{type:"flex",columns:5,shrinkColumns:!0},query:{orderBy:"post__in"},hideControls:[f.HAND_PICKED,f.FILTERABLE,f.ORDER]},innerBlocks:[["core/heading",{textAlign:"center",level:2,content:(0,C.__)("Recommended products","woocommerce"),style:{spacing:{margin:{bottom:"1rem"}}}}],G,["core/query-pagination",{layout:{type:"flex",justifyContent:"center"}}]]};var re=o(3174);const ce={name:b.NEW_ARRIVALS,title:(0,C.__)("New Arrivals","woocommerce"),icon:(0,K.jsx)(R.A,{icon:re.A}),description:(0,C.__)("Recommend your newest products.","woocommerce"),keywords:["newest"],scope:["inserter","block"],attributes:{displayLayout:{type:"flex",columns:5,shrinkColumns:!0},query:{orderBy:"date",order:"desc",perPage:5,pages:1,timeFrame:{operator:y.IN,value:"-7 days"}},hideControls:[f.ORDER,f.FILTERABLE]},innerBlocks:[["core/heading",{textAlign:"center",level:2,content:(0,C.__)("New arrivals","woocommerce"),style:{spacing:{margin:{bottom:"1rem"}}}}],G]};var ne=o(9771);const se={name:b.ON_SALE,title:(0,C.__)("On Sale Products","woocommerce"),icon:(0,K.jsx)(R.A,{icon:ne.A}),description:(0,C.__)("Highlight products that are currently on sale.","woocommerce"),keywords:["discount","promotion","onsale"],scope:["inserter","block"],attributes:{displayLayout:{type:"flex",columns:5,shrinkColumns:!0},query:{woocommerceOnSale:!0,perPage:5,pages:1},hideControls:[f.ON_SALE,f.FILTERABLE]},innerBlocks:[["core/heading",{textAlign:"center",level:2,content:(0,C.__)("On sale products","woocommerce"),style:{spacing:{margin:{bottom:"1rem"}}}}],G]};var le=o(5350);const ae={name:b.PRODUCT_CATALOG,title:(0,C.__)("Product Catalog","woocommerce"),icon:(0,K.jsx)(R.A,{icon:le.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:W},ie={name:b.RELATED,title:(0,C.__)("Related Products","woocommerce"),icon:(0,K.jsx)(R.A,{icon:le.A}),description:(0,C.__)("Recommend products like this one.","woocommerce"),keywords:[],scope:["inserter","block"],usesReference:["product"],attributes:{displayLayout:{type:w.GRID,columns:4,shrinkColumns:!0},query:{perPage:4,pages:1}},innerBlocks:[["core/heading",{textAlign:"center",level:2,content:(0,C.__)("Related Products","woocommerce"),style:{spacing:{margin:{bottom:"1rem"}}}}],G]};var de=o(2108);const ue={name:b.TOP_RATED,title:(0,C.__)("Top Rated Products","woocommerce"),icon:(0,K.jsx)(R.A,{icon:de.A}),description:(0,C.__)("Recommend products with the highest review ratings.","woocommerce"),keywords:[],scope:["inserter","block"],attributes:{displayLayout:{type:"flex",columns:5,shrinkColumns:!0},query:{orderBy:"rating",order:"desc",perPage:5,pages:1},hideControls:[f.ORDER,f.FILTERABLE]},innerBlocks:[["core/heading",{textAlign:"center",level:2,content:(0,C.__)("Top rated products","woocommerce"),style:{spacing:{margin:{bottom:"1rem"}}}}],G]};var me=o(4807);const pe={name:b.UPSELLS,title:(0,C.__)("Upsells","woocommerce"),icon:(0,K.jsx)(R.A,{icon:me.A}),description:(0,C.__)("Upsells are typically products that are extra profitable or better quality or more expensive. Experiment with combinations to boost sales.","woocommerce"),keywords:["boost","promotion"],scope:["inserter","block"],usesReference:["product","cart","order"],attributes:{...F,displayLayout:{type:"flex",columns:4,shrinkColumns:!0},query:{...B,perPage:8,pages:1},hideControls:[f.FILTERABLE]},innerBlocks:[["core/heading",{textAlign:"left",level:2,content:(0,C.__)("You may also like","woocommerce"),style:{spacing:{margin:{bottom:"1rem"}}}}],G]};var _e=o(5536);const he={name:b.BY_CATEGORY,title:(0,C.__)("Products by Category","woocommerce"),icon:(0,K.jsx)(R.A,{icon:_e.A}),description:(0,C.__)("Display products from specific categories.","woocommerce"),scope:["inserter","block"],attributes:{displayLayout:{type:"flex",columns:5,shrinkColumns:!0},hideControls:[f.HAND_PICKED,f.FILTERABLE]},innerBlocks:[["core/heading",{textAlign:"center",level:2,content:(0,C.__)("Products by Category","woocommerce"),style:{spacing:{margin:{bottom:"1rem"}}}}],G,Q]};var ge=o(1686);const we=[ae,J,ce,se,Y,ue,oe,he,{name:b.BY_TAG,title:(0,C.__)("Products by Tag","woocommerce"),icon:(0,K.jsx)(R.A,{icon:ge.A}),description:(0,C.__)("Display products with specific tags.","woocommerce"),scope:["inserter","block"],attributes:{displayLayout:{type:"flex",columns:5,shrinkColumns:!0},hideControls:[f.HAND_PICKED,f.FILTERABLE]},innerBlocks:[["core/heading",{textAlign:"center",level:2,content:(0,C.__)("Products by Tag","woocommerce"),style:{spacing:{margin:{bottom:"1rem"}}}}],G,Q]},ie,pe,Z],xe=e=>e?(0,l.select)(r.store).getBlockVariations(c.name).find((({name:t})=>t===e)):null,ye=window.wp.hooks,be=window.wp.editor,fe=window.wc.wcTypes,Ce=window.wp.url,ve=window.wp.apiFetch;var ke=o.n(ve);const Se=(0,P.getSetting)("wcBlocksConfig",{pluginUrl:"",productCount:0,defaultAvatar:"",restApiRoutes:{},wordCountType:"words"}),Ee=Se.pluginUrl+"assets/images/",je=(Se.pluginUrl,P.STORE_PAGES.shop,P.STORE_PAGES.checkout,P.STORE_PAGES.checkout,P.STORE_PAGES.privacy,P.STORE_PAGES.privacy,P.STORE_PAGES.terms,P.STORE_PAGES.terms,P.STORE_PAGES.cart,P.STORE_PAGES.cart,P.STORE_PAGES.myaccount?.permalink?P.STORE_PAGES.myaccount.permalink:(0,P.getSetting)("wpLoginUrl","/wp-login.php"),(0,P.getSetting)("localPickupEnabled",!1),(0,P.getSetting)("shippingMethodsExist",!1),(0,P.getSetting)("shippingEnabled",!0),(0,P.getSetting)("countries",{})),Ae=(0,P.getSetting)("countryData",{}),Re={...Object.fromEntries(Object.keys(Ae).filter((e=>!0===Ae[e].allowBilling)).map((e=>[e,je[e]||""]))),...Object.fromEntries(Object.keys(Ae).filter((e=>!0===Ae[e].allowShipping)).map((e=>[e,je[e]||""])))},Ie=(Object.fromEntries(Object.keys(Re).map((e=>[e,Ae[e].states||{}]))),Object.fromEntries(Object.keys(Re).map((e=>[e,Ae[e].locale||{}]))),{address:["first_name","last_name","company","address_1","address_2","city","postcode","country","state","phone"],contact:["email"],order:[]}),Pe=((0,P.getSetting)("addressFieldsLocations",Ie).address,(0,P.getSetting)("addressFieldsLocations",Ie).contact,(0,P.getSetting)("addressFieldsLocations",Ie).order,(0,P.getSetting)("additionalOrderFields",{}),(0,P.getSetting)("additionalContactFields",{}),(0,P.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)}))}),Te=({selected:e=[],search:t="",queryArgs:o={}})=>{const r=(({selected:e=[],search:t="",queryArgs:o={}})=>{const r=Se.productCount>100,c={per_page:r?100:0,catalog_visibility:"any",search:t,orderby:"title",order:"asc"},n=[(0,Ce.addQueryArgs)("/wc/store/v1/products",{...c,...o})];return r&&e.length&&n.push((0,Ce.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=>ke()({path:e})))).then((e=>{const t=e.flat(),o=Pe(t,(e=>e.id));return o.map((e=>({...e,parent:0})))})).catch((e=>{throw e}))},Oe=e=>ke()({path:`wc/store/v1/products/attributes/${e}/terms`});function Le(e,t){const{query:o}=e.attributes;e.setAttributes({query:{...o,...t}})}const De=()=>{const e=(0,l.select)(be.store).getEditedPostSlug();return!!e&&["archive-product","taxonomy-product_attribute","product-search-results","taxonomy-product_cat","taxonomy-product_tag","taxonomy-product_brand"].some((t=>!!(0,fe.isString)(e)&&e.includes(t)))},Ne=e=>{const{getBlocksByName:t,getBlock:o}=(0,l.select)(n.store);return!t("woocommerce/product-collection").find((t=>{const r=o(t);return r.attributes?.query?.[e]}))};function Be(){return!!De()&&Ne("inherit")}function Fe(){return!De()&&Ne("filterable")}const qe=()=>F.displayLayout,Me=(e,t,o)=>{const n=xe(e);n&&o(t,n.name===b.PRODUCT_CATALOG?(0,r.createBlock)(c.name,{...F,query:{...F.query,inherit:Be(),filterable:Fe()}},(0,r.createBlocksFromInnerBlocksTemplate)(W)):(0,r.createBlock)(c.name,n.attributes,(0,r.createBlocksFromInnerBlocksTemplate)(n.innerBlocks)))},Ue=({title:e,icon:t,description:o,onClick:r})=>(0,K.jsx)(h.Tooltip,{text:o,placement:"top",children:(0,K.jsxs)(h.Button,{className:"wc-blocks-product-collection__collection-button",onClick:r,children:[(0,K.jsx)("div",{className:"wc-blocks-product-collection__collection-button-icon",children:(0,K.jsx)(h.Icon,{icon:t})}),(0,K.jsx)("p",{className:"wc-blocks-product-collection__collection-button-title",children:e})]})}),Ve=e=>{const{description:t,onClick:o}=e;return(0,K.jsxs)("div",{className:"wc-blocks-product-collection__collections-create",children:[(0,K.jsx)("span",{children:(0,C.__)("or","woocommerce")}),(0,K.jsx)(h.Tooltip,{text:t,placement:"top",children:(0,K.jsx)(h.Button,{onClick:o,children:(0,C.__)("create your own","woocommerce")})})]})},He=e=>{const{onCollectionClick:t,catalogVariation:o,collectionVariations:r}=e;return(0,K.jsxs)("div",{className:"wc-blocks-product-collection__collections-grid",children:[(0,K.jsx)("div",{className:"wc-blocks-product-collection__collections-section",children:r.map((({name:e,title:o,icon:r,description:c})=>(0,K.jsx)(Ue,{title:o,description:c,icon:r,onClick:()=>t(e)},e)))}),(0,K.jsx)(Ve,{title:o.title,description:o.description,icon:o.icon,onClick:()=>t(o.name)})]})},Ge=e=>{const{onCollectionClick:t,catalogVariation:o,collectionVariations:r}=e;return(0,K.jsxs)("div",{className:"wc-blocks-product-collection__collections-dropdown",children:[(0,K.jsx)(h.Dropdown,{className:"wc-blocks-product-collection__collections-dropdown-toggle",contentClassName:"wc-blocks-product-collection__collections-dropdown-content",renderToggle:({isOpen:e,onToggle:t})=>(0,K.jsx)(h.Button,{variant:"secondary",onClick:t,"aria-expanded":e,children:(0,C.__)("Choose collection","woocommerce")}),renderContent:()=>(0,K.jsx)(K.Fragment,{children:r.map((({name:e,title:o,icon:r,description:c})=>(0,K.jsx)(Ue,{title:o,description:c,icon:r,onClick:()=>t(e)},e)))})}),(0,K.jsx)(Ve,{title:o.title,description:o.description,icon:o.icon,onClick:()=>t(o.name)})]})},$e=e=>{const t=(0,l.useSelect)((e=>{const{getBlockVariations:t}=e(r.store);return t(c.name)}),[]),o=(0,s.useMemo)((()=>t.find((({name:e})=>e===b.PRODUCT_CATALOG))),[t]),n=(0,s.useMemo)((()=>t.filter((({name:e,scope:t})=>e!==b.PRODUCT_CATALOG&&(void 0===t||t?.includes("block"))))),[t]),[a,{width:i}]=(0,j.useResizeObserver)();let d;return d=null!==i&&i>=600?He:Ge,(0,K.jsxs)(K.Fragment,{children:[a,!!i&&(0,K.jsx)(d,{...e,catalogVariation:o,collectionVariations:n})]})},Qe=e=>{const t=(0,n.useBlockProps)(),{clientId:o,tracksLocation:r}=e,{replaceBlock:c}=(0,l.useDispatch)(n.store);return(0,K.jsx)("div",{...t,children:(0,K.jsx)(h.Placeholder,{className:"wc-blocks-product-collection__placeholder",instructions:(0,C.__)("What products do you want to show?","woocommerce"),children:(0,K.jsx)($e,{onCollectionClick:e=>{E("blocks_product_collection_collection_chosen_from_placeholder",{collection:e,location:r}),Me(e,o,c)}})})})};var We=o(1824),Ke=o.n(We);const Ye="wc-blocks_upgraded-products-to-product-collection",ze=()=>({status:"notseen",time:Date.now(),displayCount:0}),Ze=e=>"woocommerce/product-collection"===e.name&&e.attributes.convertedFromProducts,Xe=(e,t)=>{let o=[];return e.forEach((e=>{t(e)&&(o=[...o,e.clientId]),o=[...o,...Xe(e.innerBlocks,t)]})),o},Je=(0,P.getSettingWithCoercion)("postTemplateHasSupportForGridView",!1,fe.isBoolean),et=()=>{const e=window.localStorage.getItem(Ye);return e?JSON.parse(e):ze()},tt=e=>{window.localStorage.setItem(Ye,JSON.stringify(e))},ot=e=>"flex"===e?"grid":"list"===e?"default":"grid",rt=e=>{const{type:t,columns:o}=e;return{type:ot(t),columnCount:o}},ct=(e,t)=>{const o=e.map((e=>{const{name:o,attributes:c}=e,n=ct(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:Je?rt(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},nt=e=>{const t=(0,l.select)("core/block-editor").getBlock(e),o=(e=>{const t=(0,l.select)("core/block-editor").getBlockRootClientId(e)||void 0;return(0,l.select)("core/block-editor").canInsertBlockType("core/query",t)})(e);if(t&&o){const{attributes:o={},innerBlocks:c=[]}=t,{displayLayout:n,...s}=o,a=(e=>{const{query:t,...o}=e,{woocommerceAttributes:r,woocommerceStockStatus:c,woocommerceOnSale:n,woocommerceHandPickedProducts:s,taxQuery:l,isProductCollectionBlock:a,...i}=t,d={...i};return s&&(d.include=s),n&&(d.__woocommerceOnSale=n),l&&(d.taxQuery=l),{...o,namespace:"woocommerce/product-query",query:{__woocommerceAttributes:r||[],__woocommerceStockStatus:c||[],...d}}})(Je?s:o),i=ct(c,n),d=(0,r.createBlock)("core/query",a,i);return(0,l.dispatch)("core/block-editor").replaceBlock(e,d),!0}return!1},st=()=>{var e;tt({status:"reverted",time:Date.now()}),(e=(0,l.select)("core/block-editor").getBlocks(),Xe(e,Ze)).map(nt)},lt=window.wc.customerEffortScore,at=({size:e=12})=>(0,K.jsx)(ee.SVG,{width:e,height:e,viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,K.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M2.45865 9.08341L1.6665 9.87639L1.6665 1.66675L10.3332 1.66675L10.3332 9.08341L2.45865 9.08341ZM2.87317 10.0834L10.6665 10.0834C11.0347 10.0834 11.3332 9.78494 11.3332 9.41675L11.3332 1.33342C11.3332 0.965226 11.0347 0.666748 10.6665 0.666748H1.33317C0.964982 0.666748 0.666504 0.965225 0.666504 1.33341V11.0166C0.666504 11.2116 0.773993 11.3907 0.946074 11.4825C1.15124 11.5919 1.40385 11.5543 1.56818 11.3898L2.87317 10.0834ZM8.6665 4.66673H3.33317V3.66673H8.6665V4.66673ZM3.33317 7.33339H6.6665V6.33339H3.33317V7.33339Z",fill:"currentColor"})}),it=({blockName:e,title:t=(0,C.__)("Share your experience","woocommerce"),firstQuestion:o=(0,C.sprintf)(/* translators: %s is the block name. */ /* translators: %s is the block name. */ (0,C.__)("It was easy for me to accomplish what I wanted with the %s.","woocommerce"),e),feedbackLabel:r=(0,C.sprintf)(/* translators: %s is the block name. */ /* translators: %s is the block name. */ (0,C.__)("How can we improve the %s block for you? (Optional)","woocommerce"),e),feedbackPlaceholder:c=(0,C.__)("What did you try to build using this block? What did and didn't work?","woocommerce"),emailLabel:n=(0,C.__)("Email address (Optional)","woocommerce"),emailHelp:s=(0,C.__)("Share if you would like to discuss your experience or participate in future research.","woocommerce"),buttonText:l=(0,C.__)("Help us improve","woocommerce"),submitLabel:a=(0,C.__)("🙏🏻 Thanks for sharing — we're on it!","woocommerce"),wrapper:i,wrapperProps:d={}})=>{const{showCesModal:u}=(0,lt.useCustomerEffortScoreModal)();if(!window.wcTracks?.isEnabled)return null;const m=(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(lt.CustomerEffortScoreModalContainer,{}),(0,K.jsx)(h.Button,{variant:"tertiary",icon:(0,K.jsx)(at,{}),iconSize:12,onClick:()=>{u({action:`${e.toLowerCase().replace(/\s+/g,"_")}_block_feedback`,title:t,firstQuestion:o,showDescription:!1,onsubmitLabel:a,getExtraFieldsToBeShown:(e,t,o)=>(0,K.jsxs)("div",{children:[(0,K.jsx)(h.TextareaControl,{label:r,value:e.feedback_comment||"",onChange:o=>t({...e,feedback_comment:o}),placeholder:c}),(0,K.jsx)(h.TextControl,{label:n,type:"email",value:e.email||"",onChange:o=>t({...e,email:o}),help:o?.email?(0,K.jsx)("span",{className:"woocommerce-customer-effort-score__errors",children:(0,K.jsx)("p",{children:o.email})}):s})]}),validateExtraFields:({email:e=""})=>{const t={};return e.length>0&&!(0,Ce.isEmail)(e)&&(t.email=(0,C.__)("Please enter a valid email address.","woocommerce")),t}},{blockName:e,shouldShowComments:()=>!1},{},{})},className:"wc-block-editor__feedback-button",children:l})]});return i?(0,K.jsx)(i,{...d,children:m}):m};var dt=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}(dt||{});const ut={"single-product":dt.SINGLE_PRODUCT,"archive-product":dt.PRODUCT_CATALOG,"taxonomy-product_cat":dt.PRODUCT_ARCHIVE,"taxonomy-product_tag":dt.PRODUCT_ARCHIVE,"taxonomy-product_attribute":dt.PRODUCT_ARCHIVE,"product-search-results":dt.PRODUCT_ARCHIVE,"order-confirmation":dt.ORDER_CONFIRMATION,"page-cart":dt.CART,"page-checkout":dt.CHECKOUT},mt=e=>{const t=(0,l.useSelect)((e=>e(be.store).getCurrentPostType()),[]);if(t===dt.PAGE||t===dt.POST)return t;if(!e)return dt.OTHER;return ut[e]||(e.includes("single-product")?dt.SINGLE_PRODUCT:e.includes("taxonomy-product_cat")||e.includes("taxonomy-product_tag")?dt.PRODUCT_ARCHIVE:dt.OTHER)};var pt=o(4921);function _t({children:e,className:t,actionLabel:o,onActionClick:r,...c}){return(0,K.jsx)(h.Notice,{...c,className:(0,pt.$)("wc-block-editor-components-upgrade-downgrade-notice",t),actions:[{label:o,onClick:r,noDefaultClasses:!0,variant:"link"}],children:(0,K.jsx)("div",{className:"wc-block-editor-components-upgrade-downgrade-notice__text",children:e})})}o(9969);const ht=(0,s.createInterpolateElement)((0,C.__)("Products (Beta) block was upgraded to <strongText />, an updated version with new features and simplified settings.","woocommerce"),{strongText:(0,K.jsx)("strong",{children:(0,C.__)("Product Collection","woocommerce")})}),gt=(0,C.__)("Revert to Products (Beta)","woocommerce"),wt=({revertMigration:e})=>{const[t,o]=((e,t)=>{const[o,r]=(0,s.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,s.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]})(Ye,ze()),r=(0,s.useRef)(!0),{status:c}=t;return(0,s.useEffect)((()=>()=>{r.current&&((()=>{const e=et(),t=(0,fe.isNumber)(e.displayCount)?e.displayCount+1:0;tt({...e,displayCount:t})})(),r.current=!1)}),[r]),"notseen"===c?(0,K.jsx)(_t,{actionLabel:gt,onActionClick:()=>{e(),E("blocks_product_collection_migration_between_products_beta",{transform_to:"products_beta"})},onRemove:()=>{o({status:"seen",time:Date.now()})},children:ht}):null},xt=(0,C.__)("Columns","woocommerce"),yt=(0,C.__)("Responsive","woocommerce"),bt=(0,C.__)("Automatically adjust the number of columns to better fit smaller screens.","woocommerce"),ft=e=>{const{type:t,columns:o,shrinkColumns:r}=e.displayLayout,c="flex"===t,n=qe(),s=()=>{e.setAttributes({displayLayout:n})};return c?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(h.__experimentalToolsPanelItem,{label:xt,hasValue:()=>n?.columns!==o,isShownByDefault:!0,onDeselect:s,children:(0,K.jsx)(h.RangeControl,{__next40pxDefaultSize:!0,label:xt,onChange:t=>e.setAttributes({displayLayout:{...e.displayLayout,columns:t}}),value:o,min:2,max:Math.max(6,o)})}),(0,K.jsx)(h.__experimentalToolsPanelItem,{label:yt,hasValue:()=>n?.shrinkColumns!==r,isShownByDefault:!0,onDeselect:s,children:(0,K.jsx)(h.ToggleControl,{checked:!!r,label:yt,help:bt,onChange:t=>{e.setAttributes({displayLayout:{...e.displayLayout,shrinkColumns:t}})}})})]}):null},Ct=(0,C.__)("Query type","woocommerce"),vt=(0,C.__)("Default","woocommerce"),kt=(0,C.__)("Custom","woocommerce"),St=(0,C.__)("Display products based on the current template and allow shoppers to filter.","woocommerce"),Et=(0,C.__)("Show products based on specific criteria and allow shoppers to filter.","woocommerce"),jt=(0,C.__)("Show a list of products based on fixed criteria.","woocommerce"),At=({setQueryAttribute:e,trackInteraction:t,query:o})=>{const r=o?.inherit,c=function(e,t){const o=(0,s.useRef)();return(0,s.useEffect)((()=>{o.current===e||t&&!t(e,o.current)||(o.current=e)}),[e,t]),o.current}(o,(e=>!1===e?.inherit)),n=(0,s.useMemo)((()=>Be()),[]);return(0,K.jsx)(h.__experimentalToolsPanelItem,{label:Ct,hasValue:()=>r!==n,isShownByDefault:!0,onDeselect:()=>{e({inherit:n}),t(f.INHERIT)},children:(0,K.jsxs)(h.__experimentalToggleGroupControl,{className:"wc-block-product-collection__inherit-query-control",isBlock:!0,label:Ct,help:r?St:jt,value:r?"default":"custom",onChange:o=>{e("default"===o?{...B,inherit:!0}:{...B,...c,inherit:!1}),t(f.INHERIT)},children:[(0,K.jsx)(h.__experimentalToggleGroupControlOption,{value:"default",label:vt}),(0,K.jsx)(h.__experimentalToggleGroupControlOption,{value:"custom",label:kt})]})})},Rt=({setQueryAttribute:e,trackInteraction:t,query:o})=>{const r=o?.filterable,c=(0,s.useMemo)((()=>Fe()),[]);return(0,K.jsx)(h.__experimentalToolsPanelItem,{label:Ct,hasValue:()=>r!==c,isShownByDefault:!0,onDeselect:()=>{e({filterable:c}),t(f.FILTERABLE)},children:(0,K.jsxs)(h.__experimentalToggleGroupControl,{className:"wc-block-product-collection__inherit-query-control",isBlock:!0,label:Ct,help:r?Et:jt,value:r?"default":"custom",onChange:o=>{e({filterable:"default"===o}),t(f.FILTERABLE)},children:[(0,K.jsx)(h.__experimentalToggleGroupControlOption,{value:"default",label:vt}),(0,K.jsx)(h.__experimentalToggleGroupControlOption,{value:"custom",label:kt})]})})},It=(e,t)=>{if(!e)return null;if(0===e.innerBlocks.length)return null;for(const o of e.innerBlocks){if(t(o))return o;const e=It(o,t);if(e)return e}return null},Pt=(e,t)=>It(e,(function(e){return e.name===t})),Tt={layout:{}},Ot={layout:{type:"flex",justifyContent:"left",verticalAlignment:"top",flexWrap:"nowrap",orientation:"horizontal"}},Lt=(e,t)=>{const{displayLayout:o,collection:c}=t,a=(0,s.useRef)(o.type),i=(0,l.useDispatch)(n.store),{productCollectionBlock:d}=(0,l.useSelect)((t=>({productCollectionBlock:t(n.store).getBlock(e)})),[e]);(0,s.useEffect)((()=>{e&&(o?.type===w.CAROUSEL&&a.current!==w.CAROUSEL&&((e,t)=>{const{removeBlock:o,insertBlock:c,updateBlockAttributes:s}=t,a=Pt(e,H),i=Pt(e,U),d=Pt(e,M),u=e?.clientId,m=a?.clientId;s(m,Ot);const p=(0,r.createBlock)(V,{layout:{type:"flex",flexWrap:"nowrap"}});if(d){const e=(0,l.select)(n.store).getBlockIndex(d.clientId),t=(_=[d,p],(0,r.createBlock)("core/group",{layout:{type:"flex",flexWrap:"nowrap",justifyContent:"space-between"}},_));o(d.clientId,!1),c(t,e,u,!1)}else{const e=(0,l.select)(n.store).getBlockIndex(m),t=(e=>(0,r.createBlock)("core/group",{layout:{type:"flex",flexWrap:"nowrap",justifyContent:"right"}},e))([p]);c(t,e,u,!1)}var _;i&&o(i.clientId,!1)})(d,i),o?.type!==w.CAROUSEL&&a.current===w.CAROUSEL&&((e,t,o)=>{const{removeBlock:c,insertBlock:s,updateBlockAttributes:a}=t,i=Pt(e,H);a(i?.clientId,Tt);const d=It(e,(e=>"core/group"===e.name&&e.innerBlocks.some((e=>e.name===V))));if(d)if(1===d.innerBlocks.length)c(d.clientId,!1);else{const t=Pt(d,M);if(t&&2===d.innerBlocks.length){const o=(0,l.select)(n.store).getBlockIndex(t.clientId);c(d.clientId,!1),s(t,o,e.clientId,!1)}else{const t=Pt(e,V);c(t?.clientId,!1)}}o||s((0,r.createBlock)(U,$),e.innerBlocks.length,e.clientId,!1)})(d,i,c),a.current=o.type)}),[o.type,e,i,c])},Dt=({hasValue:e=()=>!0,orderOptions:t,onChange:o,onDeselect:r=()=>{},selectedValue:c,label:n,help:s})=>(0,K.jsx)(h.__experimentalToolsPanelItem,{label:n||(0,C.__)("Order by","woocommerce"),hasValue:e,isShownByDefault:!0,onDeselect:r,resetAllFilter:r,children:(0,K.jsx)(h.SelectControl,{value:c,options:t,label:n||(0,C.__)("Order by","woocommerce"),onChange:o,help:s})}),Nt=[{label:(0,C.__)("Newest to oldest","woocommerce"),value:"date"},{label:(0,C.__)("Price, high to low","woocommerce"),value:"price-desc"},{label:(0,C.__)("Price, low to high","woocommerce"),value:"price"},{label:(0,C.__)("Sales, high to low","woocommerce"),value:"popularity"},{label:(0,C.__)("Rating, high to low","woocommerce"),value:"rating"},{value:"menu_order",label:(0,C.__)("Manual (menu order + name)","woocommerce")}],Bt=({trackInteraction:e})=>{const t=(0,l.select)("core").getEditedEntityRecord("root","site"),[o,r]=(0,s.useState)(t.woocommerce_default_catalog_orderby||"menu_order");return(0,K.jsx)(Dt,{label:(0,C.__)("Default sort by","woocommerce"),selectedValue:o,orderOptions:Nt,onChange:t=>{r(t),(0,l.dispatch)(a.store).editEntityRecord("root","site",void 0,{woocommerce_default_catalog_orderby:t}),e(f.DEFAULT_ORDER)},help:(0,C.__)("All Product Collection blocks using the Default Query will sync to this sort order.","woocommerce")})},Ft=[{label:(0,C.__)("A → Z","woocommerce"),value:"title/asc"},{label:(0,C.__)("Z → A","woocommerce"),value:"title/desc"},{label:(0,C.__)("Newest to oldest","woocommerce"),value:"date/desc"},{label:(0,C.__)("Oldest to newest","woocommerce"),value:"date/asc"},{label:(0,C.__)("Price, high to low","woocommerce"),value:"price/desc"},{label:(0,C.__)("Price, low to high","woocommerce"),value:"price/asc"},{label:(0,C.__)("Sales, high to low","woocommerce"),value:"sales/desc"},{label:(0,C.__)("Sales, low to high","woocommerce"),value:"sales/asc"},{value:"rating/desc",label:(0,C.__)("Rating, high to low","woocommerce")},{value:"rating/asc",label:(0,C.__)("Rating, low to high","woocommerce")},{value:"menu_order/asc",label:(0,C.__)("Manual (menu order + name)","woocommerce")},{value:"random",label:(0,C.__)("Random","woocommerce")}],qt=e=>{const{query:t,trackInteraction:o,setQueryAttribute:r}=e,{order:c,orderBy:n}=t;let s=c?`${n}/${c}`:n;return"popularity"===n&&(s=`sales/${c}`),(0,K.jsx)(Dt,{selectedValue:s,hasValue:()=>c!==B.order||n!==B.orderBy,orderOptions:Ft,onChange:e=>{const[t,c]=e.split("/");r({orderBy:t,order:c||void 0}),o(f.ORDER)},onDeselect:()=>{r({orderBy:B.orderBy}),o(f.ORDER)},help:(0,C.__)("Set the products order in this collection.","woocommerce")})},Mt=e=>{const{query:t,trackInteraction:o,setQueryAttribute:r}=e,c=()=>{r({woocommerceOnSale:q.woocommerceOnSale}),o(f.ON_SALE)};return(0,K.jsx)(h.__experimentalToolsPanelItem,{label:(0,C.__)("On Sale","woocommerce"),hasValue:()=>!0===t.woocommerceOnSale,isShownByDefault:!0,onDeselect:c,resetAllFilter:c,children:(0,K.jsx)(h.ToggleControl,{label:(0,C.__)("Show only products on sale","woocommerce"),checked:t.woocommerceOnSale||!1,onChange:e=>{r({woocommerceOnSale:e}),o(f.ON_SALE)}})})};function Ut(e){const t="string"==typeof e?e:e.value;return Object.entries(L).find((([,e])=>e===t))?.[0]}const Vt=e=>{const{query:t,trackInteraction:o,setQueryAttribute:r}=e,c=()=>{r({woocommerceStockStatus:q.woocommerceStockStatus}),o(f.STOCK_STATUS)};return(0,K.jsx)(h.__experimentalToolsPanelItem,{label:(0,C.__)("Stock Status","woocommerce"),hasValue:()=>!Ke()(t.woocommerceStockStatus,N()),onDeselect:c,resetAllFilter:c,isShownByDefault:!0,children:(0,K.jsx)(h.FormTokenField,{label:(0,C.__)("Stock Status","woocommerce"),onChange:e=>{const t=e.map(Ut).filter(Boolean);r({woocommerceStockStatus:t}),o(f.STOCK_STATUS)},suggestions:Object.values(L),validateInput:e=>Object.values(L).includes(e),value:t?.woocommerceStockStatus?.map((e=>L[e]))||[],__experimentalExpandOnFocus:!0,__experimentalShowHowTo:!1})})},Ht=e=>{const{query:t,trackInteraction:o,setQueryAttribute:r}=e,[c,n]=(0,s.useState)(t.search),l=(0,j.useDebounce)((()=>{t.search!==c&&(r({search:c}),o(f.KEYWORD))}),250);(0,s.useEffect)((()=>(l(),l.cancel)),[c,l]);const a=()=>{n(""),o(f.KEYWORD)};return(0,K.jsx)(h.__experimentalToolsPanelItem,{hasValue:()=>!!c,label:(0,C.__)("Keyword","woocommerce"),onDeselect:a,resetAllFilter:a,children:(0,K.jsx)(h.TextControl,{label:(0,C.__)("Keyword","woocommerce"),value:c,onChange:n})})};function Gt(e,t,o){const r=new Set(t.map((e=>e[o])));return e.filter((e=>!r.has(e[o])))}const $t=window.wp.htmlEntities,Qt={clear:(0,C.__)("Clear all selected items","woocommerce"),noItems:(0,C.__)("No items found.","woocommerce"), /* Translators: %s search term */ noResults:(0,C.__)("No results for %s","woocommerce"),search:(0,C.__)("Search for items","woocommerce"),selected:e=>(0,C.sprintf)(/* translators: Number of items selected from list. */ /* translators: Number of items selected from list. */ (0,C._n)("%d item selected","%d items selected",e,"woocommerce"),e),updated:(0,C.__)("Search results updated.","woocommerce")},Wt=(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=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]:[],s=e=>e.map((e=>{const t=o[e.id];return c.push(""+e.id),{...e,breadcrumbs:n(r[e.parent]),children:t&&t.length?s(t):[]}})),l=s(o[0]||[]);return Object.entries(o).forEach((([e,t])=>{c.includes(e)||l.push(...s(t||[]))})),l},Kt=(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,K.jsx)("strong",{children:e},t):(0,K.jsx)(s.Fragment,{children:e},t)))},Yt=({label:e})=>(0,K.jsx)("span",{className:"woocommerce-search-list__item-count",children:e}),zt=e=>{const{item:t,search:o}=e,r=t.breadcrumbs&&t.breadcrumbs.length;return(0,K.jsxs)("span",{className:"woocommerce-search-list__item-label",children:[r?(0,K.jsx)("span",{className:"woocommerce-search-list__item-prefix",children:(c=t.breadcrumbs,1===c.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,K.jsx)("span",{className:"woocommerce-search-list__item-name",children:Kt((0,$t.decodeEntities)(t.name),o)})]});var c},Zt=({countLabel:e,className:t,depth:o=0,controlId:r="",item:c,isSelected:n,isSingle:l,onSelect:a,search:i="",selected:d,useExpandedPanelId:u,...m})=>{const[p,_]=u,g=null!=e&&void 0!==c.count&&null!==c.count,w=!!c.breadcrumbs?.length,x=!!c.children?.length,y=p===c.id,b=(0,pt.A)(["woocommerce-search-list__item",`depth-${o}`,t],{"has-breadcrumbs":w,"has-children":x,"has-count":g,"is-expanded":y,"is-radio-button":l});(0,s.useEffect)((()=>{x&&n&&_(c.id)}),[c,x,n,_]);const f=m.name||`search-list-item-${r}`,C=`${f}-${c.id}`,v=(0,s.useCallback)((()=>{_(y?-1:Number(c.id))}),[y,c.id,_]);return x?(0,K.jsx)("div",{className:b,onClick:v,onKeyDown:e=>"Enter"===e.key||" "===e.key?v():null,role:"treeitem",tabIndex:0,children:l?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)("input",{type:"radio",id:C,name:f,value:c.value,onChange:a(c),onClick:e=>e.stopPropagation(),checked:n,className:"woocommerce-search-list__item-input",...m}),(0,K.jsx)(zt,{item:c,search:i}),g?(0,K.jsx)(Yt,{label:e||c.count}):null]}):(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(h.CheckboxControl,{className:"woocommerce-search-list__item-input",checked:n,...!n&&c.children.some((e=>d.find((t=>t.id===e.id))))?{indeterminate:!0}:{},label:Kt((0,$t.decodeEntities)(c.name),i),onChange:()=>{n?a(Gt(d,c.children,"id"))():a(function(e,t){const o=Gt(t,e,"id");return[...e,...o]}(d,c.children))()},onClick:e=>e.stopPropagation()}),g?(0,K.jsx)(Yt,{label:e||c.count}):null]})}):(0,K.jsxs)("label",{htmlFor:C,className:b,children:[l?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)("input",{...m,type:"radio",id:C,name:f,value:c.value,onChange:a(c),checked:n,className:"woocommerce-search-list__item-input"}),(0,K.jsx)(zt,{item:c,search:i})]}):(0,K.jsx)(h.CheckboxControl,{...m,id:C,name:f,className:"woocommerce-search-list__item-input",value:(0,$t.decodeEntities)(c.value),label:Kt((0,$t.decodeEntities)(c.name),i),onChange:a(c),checked:n}),g?(0,K.jsx)(Yt,{label:e||c.count}):null]})},Xt=Zt;var Jt=o(2624),eo=o(3028);o(5022);const to=({id:e,label:t,popoverContents:o,remove:r,screenReaderLabel:c,className:n=""})=>{const[l,a]=(0,s.useState)(!1),i=(0,j.useInstanceId)(to);if(c=c||t,!t)return null;t=(0,$t.decodeEntities)(t);const d=(0,pt.A)("woocommerce-tag",n,{"has-remove":!!r}),u=`woocommerce-tag__label-${i}`,m=(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)("span",{className:"screen-reader-text",children:c}),(0,K.jsx)("span",{"aria-hidden":"true",children:t})]});return(0,K.jsxs)("span",{className:d,children:[o?(0,K.jsx)(h.Button,{className:"woocommerce-tag__text",id:u,onClick:()=>a(!0),children:m}):(0,K.jsx)("span",{className:"woocommerce-tag__text",id:u,children:m}),o&&l&&(0,K.jsx)(h.Popover,{onClose:()=>a(!1),children:o}),r&&(0,K.jsx)(h.Button,{className:"woocommerce-tag__remove",onClick:r(e),label:(0,C.sprintf)( // Translators: %s label. // Translators: %s label. (0,C.__)("Remove %s","woocommerce"),t),"aria-describedby":u,children:(0,K.jsx)(R.A,{icon:eo.A,size:20,className:"clear-icon",role:"img"})})]})},oo=to;o(1939);const ro=e=>(0,K.jsx)(Xt,{...e}),co=e=>{const{list:t,selected:o,renderItem:r,depth:c=0,onSelect:n,instanceId:l,isSingle:a,search:i,useExpandedPanelId:d}=e,[u]=d;return t?(0,K.jsx)(K.Fragment,{children:t.map((t=>{const m=t.children?.length&&!a?t.children.every((({id:e})=>o.find((t=>t.id===e)))):!!o.find((({id:e})=>e===t.id)),p=t.children?.length&&u===t.id;return(0,K.jsxs)(s.Fragment,{children:[(0,K.jsx)("li",{children:r({item:t,isSelected:m,onSelect:n,isSingle:a,selected:o,search:i,depth:c,useExpandedPanelId:d,controlId:l})}),p?(0,K.jsx)(co,{...e,list:t.children,depth:c+1}):null]},t.id)}))}):null},no=({isLoading:e,isSingle:t,selected:o,messages:r,onChange:c,onRemove:n})=>{if(e||t||!o)return null;const s=o.length;return(0,K.jsxs)("div",{className:"woocommerce-search-list__selected",children:[(0,K.jsxs)("div",{className:"woocommerce-search-list__selected-header",children:[(0,K.jsx)("strong",{children:r.selected(s)}),s>0?(0,K.jsx)(h.Button,{variant:"link",isDestructive:!0,onClick:()=>c([]),"aria-label":r.clear,children:(0,C.__)("Clear all","woocommerce")}):null]}),s>0?(0,K.jsx)("ul",{children:o.map(((e,t)=>(0,K.jsx)("li",{children:(0,K.jsx)(oo,{label:e.name,id:e.id,remove:n})},t)))}):null]})},so=({filteredList:e,search:t,onSelect:o,instanceId:r,useExpandedPanelId:c,...n})=>{const{messages:s,renderItem:l,selected:a,isSingle:i}=n,d=l||ro;return 0===e.length?(0,K.jsxs)("div",{className:"woocommerce-search-list__list is-not-found",children:[(0,K.jsx)("span",{className:"woocommerce-search-list__not-found-icon",children:(0,K.jsx)(R.A,{icon:Jt.A,role:"img"})}),(0,K.jsx)("span",{className:"woocommerce-search-list__not-found-text",children:t?(0,C.sprintf)(s.noResults,t):s.noItems})]}):(0,K.jsx)("ul",{className:"woocommerce-search-list__list",children:(0,K.jsx)(co,{useExpandedPanelId:c,list:e,selected:a,renderItem:d,onSelect:o,instanceId:r,isSingle:i,search:t})})},lo=e=>{const{className:t="",isCompact:o,isHierarchical:r,isLoading:c,isSingle:n,list:l,messages:a=Qt,onChange:i,onSearch:d,selected:u,type:m="text",debouncedSpeak:p}=e,[_,g]=(0,s.useState)(""),w=(0,s.useState)(-1),x=(0,j.useInstanceId)(lo),y=(0,s.useMemo)((()=>({...Qt,...a})),[a]),b=(0,s.useMemo)((()=>((e,t,o)=>{if(!t)return o?Wt(e):e;const r=new RegExp(t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"i"),c=e.map((e=>!!r.test(e.name)&&e)).filter(Boolean);return o?Wt(c,e):c})(l,_,r)),[l,_,r]);(0,s.useEffect)((()=>{p&&p(y.updated)}),[p,y]),(0,s.useEffect)((()=>{"function"==typeof d&&d(_)}),[_,d]);const f=(0,s.useCallback)((e=>()=>{n&&i([]);const t=u.findIndex((({id:t})=>t===e));i([...u.slice(0,t),...u.slice(t+1)])}),[n,u,i]),v=(0,s.useCallback)((e=>()=>{Array.isArray(e)?i(e):-1===u.findIndex((({id:t})=>t===e.id))?i(n?[e]:[...u,e]):f(e.id)()}),[n,f,i,u]),k=(0,s.useCallback)((e=>{const[t]=u.filter((t=>!e.find((e=>t.id===e.id))));f(t.id)()}),[f,u]);return(0,K.jsxs)("div",{className:(0,pt.A)("woocommerce-search-list",t,{"is-compact":o,"is-loading":c,"is-token":"token"===m}),children:["text"===m&&(0,K.jsx)(no,{...e,onRemove:f,messages:y}),(0,K.jsx)("div",{className:"woocommerce-search-list__search",children:"text"===m?(0,K.jsx)(h.TextControl,{label:y.search,type:"search",value:_,onChange:e=>g(e)}):(0,K.jsx)(h.FormTokenField,{disabled:c,label:y.search,onChange:k,onInputChange:e=>g(e),suggestions:[],__experimentalValidateInput:()=>!1,value:c?[(0,C.__)("Loading…","woocommerce")]:u.map((e=>({...e,value:e.name}))),__experimentalShowHowTo:!1})}),c?(0,K.jsx)("div",{className:"woocommerce-search-list__list",children:(0,K.jsx)(h.Spinner,{})}):(0,K.jsx)(so,{...e,search:_,filteredList:b,messages:y,onSelect:v,instanceId:x,useExpandedPanelId:w})]})},ao=((0,h.withSpokenMessages)(lo),async e=>{if(!("json"in e))return{code:e.code||"",message:e.message,type:e.type||"general"};try{const t=await e.json();return{code:t.code||"",message:t.message,type:t.type||"api"}}catch(e){return{message:e.message,type:"general"}}});const io=window.wp.escapeHtml,uo=({message:e,type:t})=>e?"general"===t?(0,K.jsxs)("span",{children:[(0,C.__)("The following error was returned","woocommerce"),(0,K.jsx)("br",{}),(0,K.jsx)("code",{children:(0,io.escapeHTML)(e)})]}):"api"===t?(0,K.jsxs)("span",{children:[(0,C.__)("The following error was returned from the API","woocommerce"),(0,K.jsx)("br",{}),(0,K.jsx)("code",{children:(0,io.escapeHTML)(e)})]}):e:(0,C.__)("An error has prevented the block from being updated.","woocommerce"),mo=({error:e})=>(0,K.jsx)("div",{className:"wc-block-error-message",children:uo(e)});var po=o(1609);const _o=({className:e,item:t,isSelected:o,isLoading:r,onSelect:c,disabled:n,...s})=>(0,K.jsxs)(K.Fragment,{children:[(0,po.createElement)(Zt,{...s,key:t.id,className:e,isSelected:o,item:t,onSelect:c,disabled:n}),o&&r&&(0,K.jsx)("div",{className:(0,pt.A)("woocommerce-search-list__item","woocommerce-product-attributes__item","depth-1","is-loading","is-not-active"),children:(0,K.jsx)(h.Spinner,{})},"loading")]}),ho=((0,P.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,fe.isAttributeTerm)(e)?e.attr_slug:""}});o(2663);const go=(0,j.withInstanceId)((({onChange:e,onOperatorChange:t,instanceId:o,isCompact:r=!1,messages:c={},operator:n="any",selected:l,type:a="text"})=>{const{errorLoadingAttributes:i,isLoadingAttributes:d,productsAttributes:u}=function(e){const[t,o]=(0,s.useState)(null),[r,c]=(0,s.useState)(!1),[n,l]=(0,s.useState)([]),a=(0,s.useRef)(!1);return(0,s.useEffect)((()=>{if(e&&!r&&!a.current)return async function(){c(!0);try{const e=await ke()({path:"wc/store/v1/products/attributes"}),t=[];for(const o of e){const e=await Oe(o.id);t.push({...o,parent:0,terms:e.map((e=>({...e,attr_slug:o.taxonomy,parent:o.id})))})}l(t),a.current=!0}catch(e){e instanceof Error&&o(await ao(e))}finally{c(!1)}}(),()=>{a.current=!0}}),[r,e]),{errorLoadingAttributes:t,isLoadingAttributes:r,productsAttributes:n}}(!0),m=u.reduce(((e,t)=>{const{terms:o,...r}=t;return[...e,ho(r),...o.map(ho)]}),[]);return c={clear:(0,C.__)("Clear all product attributes","woocommerce"),noItems:(0,C.__)("Your store doesn't have any product attributes.","woocommerce"),search:(0,C.__)("Search for product attributes","woocommerce"),selected:e=>(0,C.sprintf)(/* translators: %d is the count of attributes selected. */ /* translators: %d is the count of attributes selected. */ (0,C._n)("%d attribute selected","%d attributes selected",e,"woocommerce"),e),updated:(0,C.__)("Product attribute search results updated.","woocommerce"),...c},i?(0,K.jsx)(mo,{error:i}):(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(lo,{className:"woocommerce-product-attributes",isCompact:r,isHierarchical:!0,isLoading:d,isSingle:!1,list:m,messages:c,onChange:e,renderItem:e=>{const{item:t,search:r,depth:c=0}=e,n=t.count||0,s=["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,K.jsx)(_o,{...e,className:(0,pt.A)(s),item:t,isLoading:d,disabled:0===t.count,name:`attributes-${o}`,countLabel:(0,C.sprintf)(/* translators: %d is the count of terms. */ /* translators: %d is the count of terms. */ (0,C._n)("%d term","%d terms",n,"woocommerce"),n),"aria-label":(0,C.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,C._n)("%1$s, has %2$d term","%1$s, has %2$d terms",n,"woocommerce"),t.name,n)});const l=`${t.breadcrumbs[0]}: ${t.name}`;return(0,K.jsx)(Zt,{...e,name:`terms-${o}`,className:(0,pt.A)(...s,"has-count"),countLabel:(0,C.sprintf)(/* translators: %d is the count of products. */ /* translators: %d is the count of products. */ (0,C._n)("%d product","%d products",n,"woocommerce"),n),"aria-label":(0,C.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,C._n)("%1$s, has %2$d product","%1$s, has %2$d products",n,"woocommerce"),l,n)})},selected:l.map((({id:e})=>m.find((t=>t.id===e)))).filter(Boolean),type:a}),!!t&&(0,K.jsx)("div",{hidden:l.length<2,children:(0,K.jsx)(h.SelectControl,{className:"woocommerce-product-attributes__operator",label:(0,C.__)("Display products matching","woocommerce"),help:(0,C.__)("Pick at least two attributes to use this setting.","woocommerce"),value:n,onChange:t,options:[{label:(0,C.__)("Any selected attributes","woocommerce"),value:"any"},{label:(0,C.__)("All selected attributes","woocommerce"),value:"all"}]})})]})})),wo=`${P.ADMIN_URL}edit.php?post_type=product&page=product_attributes`,xo=({query:e,trackInteraction:t,setQueryAttribute:o})=>{const r=e.woocommerceAttributes||[],c=r?.map((({termId:e})=>({id:e}))),n=()=>{o({woocommerceAttributes:q.woocommerceAttributes}),t(f.ATTRIBUTES)};return(0,K.jsxs)(h.__experimentalToolsPanelItem,{label:(0,C.__)("Product Attributes","woocommerce"),hasValue:()=>!!r?.length,onDeselect:n,resetAllFilter:n,children:[(0,K.jsx)(go,{messages:{search:(0,C.__)("Attributes","woocommerce")},selected:c||[],onChange:e=>{const r=e.map((({id:e,value:t})=>({termId:e,taxonomy:t})));o({woocommerceAttributes:r}),t(f.ATTRIBUTES)},operator:"any",isCompact:!0,type:"token"}),(0,K.jsx)(h.ExternalLink,{className:"wc-block-editor-product-collection-panel__manage-attributes-link",href:wo,children:(0,C.__)("Manage attributes","woocommerce")})]})},yo={_fields:"id,name",order:"asc",orderby:"name",context:"view"},bo=e=>{var t;const o=e.match(/^(?:(.+) )?\(#(\d+)\)$/);return!!o&&{name:null!==(t=o[1])&&void 0!==t?t:"",id:parseInt(o[2],10)}},fo=({taxonomy:e,termIds:t,onChange:o})=>{const{existingTerms:r,isLoadingExistingTerms:c}=(0,l.useSelect)((o=>{if(!t||!t.length)return{existingTerms:[],isLoadingExistingTerms:!1};const{getEntityRecords:r,hasFinishedResolution:c}=o("core"),n=["taxonomy",e.slug,{...yo,include:t}];return{existingTerms:r(...n),isLoadingExistingTerms:!c("getEntityRecords",n)}}),[e,t]),[n,a]=(0,s.useState)(""),{searchTerms:i}=(0,l.useSelect)((o=>{if(n.length<=1)return{searchTerms:[]};const{getEntityRecords:r}=o("core");return{searchTerms:r("taxonomy",e.slug,{...yo,exclude:t,search:n})}}),[e,t,n]),d=(0,j.useDebounce)(a,250),u=new Set,m=new Set,p=e=>(u.has(e.name)&&m.add(e.name),u.add(e.name),(e=>`${e.name} (#${e.id})`)(e)),_=r?r.map(p):[],g=i?i.map(p):[];if(r&&t.length!==r.length){const e=r.reduce(((e,t)=>(e[t.id]=t,e)),{});t.forEach((t=>{e[t]||_.push(`(#${t})`)}))}return(0,K.jsx)("div",{className:"wc-block-editor-product-collection-inspector__taxonomy-control",children:(0,K.jsx)(h.FormTokenField,{label:e.name,value:_,onInputChange:d,onChange:e=>{const t=[];e.forEach((e=>{const o=bo(e);o&&t.push(o.id)})),o(t)},suggestions:g,disabled:c,displayTransform:e=>{const t=bo(e);return t&&(e=t.name?m.has(t.name)?`${t.name} (#${t.id})`:t.name:`(#${t.id} ${(0,C.__)("Missing","woocommerce")})`),(0,$t.decodeEntities)(e)||""},__experimentalShowHowTo:!1})})},Co=()=>{const e=(0,l.useSelect)((e=>{const{getTaxonomies:t}=e(a.store);return t({type:"product",per_page:-1})}),[]);return(0,s.useMemo)((()=>e?.filter((({visibility:e})=>!!e?.publicly_queryable))),[e])},vo=e=>e?e.split(" ").map((e=>e.charAt(0).toUpperCase()+e.slice(1))).join(" "):"",ko=function({setQueryAttribute:e,trackInteraction:t,query:o,collection:r,renderMode:c="panel"}){const{filteredTaxonomies:n,taxQuery:l,createHandleChange:a,shouldShowTaxonomyControl:i}=function({setQueryAttribute:e,trackInteraction:t,query:o,collection:r,isFiltersPanel:c}){const{taxQuery:n}=o,l=Co(),a=(0,s.useMemo)((()=>l&&0!==l.length?r===b.BY_CATEGORY?l.filter((e=>c?"product_cat"!==e.slug:"product_cat"===e.slug)):r===b.BY_TAG?l.filter((e=>c?"product_tag"!==e.slug:"product_tag"===e.slug)):c?l:[]:[]),[l,r,c]),i=a.length>0;return{filteredTaxonomies:a,taxQuery:n,createHandleChange:o=>r=>{e({taxQuery:{...n,[o]:r}}),t(`${f.TAXONOMY}__${o}`)},shouldShowTaxonomyControl:i}}({query:o,collection:r,setQueryAttribute:e,trackInteraction:t,isFiltersPanel:"panel"===c});if(!i)return null;const d=e=>{const{slug:t}=e,o=l?.[t]||[],r=a(t);return(0,K.jsx)(fo,{taxonomy:e,termIds:o,onChange:r},t)};return(0,K.jsx)(K.Fragment,{children:n.map((e=>"panel"===c?(e=>{const{slug:t,name:o}=e,r=l?.[t]||[],c=a(t),n=()=>c([]);return(0,K.jsx)(h.__experimentalToolsPanelItem,{label:vo(o),hasValue:()=>r.length>0,onDeselect:n,resetAllFilter:n,children:d(e)},t)})(e):d(e)))})},So=({query:e,trackInteraction:t,setQueryAttribute:o})=>{const r=(Se.productCount||0)>100,c=e.woocommerceHandPickedProducts,[n,l]=(0,s.useState)(""),{productsMap:a,productsList:i,productsLoaded:d}=function(e,t,o=[]){const[r,c]=(0,s.useState)(new Map),[n,l]=(0,s.useState)([]),[a,i]=(0,s.useState)(!1);return(0,s.useEffect)((()=>{const r={selected:e?o.map(Number):[],queryArgs:e?{search:t,per_page:40}:{per_page:0}};Te(r).then((e=>{const t=new Map;e.forEach((e=>{t.set(e.id,e),t.set(e.name,e)})),l(e),c(t),i(!0)}))}),[e,t,o]),{productsMap:r,productsList:n,productsLoaded:a}}(r,n,c),u=(0,j.useDebounce)(l,250),m=(0,s.useMemo)((()=>c?.length&&a.size?c.filter((e=>!!a.get(Number(e)))):c||[]),[c,a]);(0,s.useEffect)((()=>{m.length!==c.length&&o({woocommerceHandPickedProducts:m})}),[m,c,o]);const p=(0,s.useCallback)((e=>{const r=e.reduce(((e,t)=>{const o=a.get(t)||a.get(Number(t));return o&&e.add(String(o.id)),e}),new Set);o({woocommerceHandPickedProducts:Array.from(r)}),t(f.HAND_PICKED)}),[o,t,a]),_=(0,s.useMemo)((()=>i.filter((e=>!m?.includes(String(e.id)))).map((e=>e.name))),[i,m]);return(0,K.jsx)(h.FormTokenField,{displayTransform:e=>{const t=Number(e);if(Number.isNaN(t))return(0,$t.decodeEntities)(e)||"";const o=a.get(t);return(0,$t.decodeEntities)(o?.name)||""},label:(0,C.__)("Hand-Picked","woocommerce"),onChange:p,onInputChange:r?u:void 0,suggestions:_,__experimentalValidateInput:e=>a.has(e),value:d?m||[]:[(0,C.__)("Loading…","woocommerce")],__experimentalExpandOnFocus:!0,__experimentalShowHowTo:!1,placeholder:(0,C.__)("Search for products to display…","woocommerce")})},Eo=({query:e,trackInteraction:t,setQueryAttribute:o})=>{const r=e.woocommerceHandPickedProducts,c=()=>{o({woocommerceHandPickedProducts:q.woocommerceHandPickedProducts}),t(f.HAND_PICKED)};return(0,K.jsx)(h.__experimentalToolsPanelItem,{label:(0,C.__)("Hand-Picked","woocommerce"),hasValue:()=>!!r?.length,onDeselect:c,resetAllFilter:c,children:(0,K.jsx)(So,{query:e,trackInteraction:t,setQueryAttribute:o})})},jo=e=>{switch(e){case w.GRID:return(0,C.__)("Display products using rows and columns.","woocommerce");case w.STACK:return(0,C.__)("Display products in a single column.","woocommerce");case w.CAROUSEL:return(0,C.__)("Display products in a carousel. It displays a single row of products.","woocommerce");default:return""}},Ao=w.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,K.jsx)(h.__experimentalToolsPanelItem,{label:(0,C.__)("Layout","woocommerce"),hasValue:()=>t!==Ao,isShownByDefault:!0,onDeselect:()=>{c(w.GRID)},children:(0,K.jsxs)(h.__experimentalToggleGroupControl,{label:(0,C.__)("Layout","woocommerce"),isBlock:!0,onChange:e=>{c(e)},help:jo(t),value:t,children:[(0,K.jsx)(h.__experimentalToggleGroupControlOption,{value:w.STACK,label:(0,C.__)("Stack","woocommerce")}),(0,K.jsx)(h.__experimentalToggleGroupControlOption,{value:w.GRID,label:(0,C.__)("Grid","woocommerce")}),(0,K.jsx)(h.__experimentalToggleGroupControlOption,{value:w.CAROUSEL,label:(0,C.__)("Carousel","woocommerce")})]})})},Io=e=>{const{query:t,trackInteraction:o,setQueryAttribute:r}=e,c=()=>{r({featured:q.featured}),o(f.FEATURED)};return(0,K.jsx)(h.__experimentalToolsPanelItem,{label:(0,C.__)("Featured","woocommerce"),hasValue:()=>!0===t.featured,onDeselect:c,resetAllFilter:c,children:(0,K.jsx)(h.BaseControl,{id:"product-collection-featured-products-control",label:(0,C.__)("Featured","woocommerce"),children:(0,K.jsx)(h.ToggleControl,{label:(0,C.__)("Show only featured products","woocommerce"),checked:t.featured||!1,onChange:e=>{r({featured:e}),o(f.FEATURED)}})})})},Po=e=>{const{query:t,trackInteraction:o,setQueryAttribute:r}=e,{timeFrame:c}=t,n=()=>{r({timeFrame:q.timeFrame}),o(f.CREATED)};return(0,K.jsx)(h.__experimentalToolsPanelItem,{label:(0,C.__)("Created","woocommerce"),hasValue:()=>c?.operator&&c?.value,onDeselect:n,resetAllFilter:n,children:(0,K.jsxs)(h.Flex,{direction:"column",gap:3,children:[(0,K.jsx)(h.FlexItem,{children:(0,K.jsxs)(h.__experimentalToggleGroupControl,{label:(0,C.__)("Created","woocommerce"),isBlock:!0,onChange:e=>{r({timeFrame:{...c,operator:e}}),o(f.CREATED)},value:c?.operator||y.IN,children:[(0,K.jsx)(h.__experimentalToggleGroupControlOption,{value:y.IN,label:(0,C._x)("Within","Product Collection query operator","woocommerce")}),(0,K.jsx)(h.__experimentalToggleGroupControlOption,{value:y.NOT_IN,label:(0,C._x)("Before","Product Collection query operator","woocommerce")})]})}),(0,K.jsx)(h.FlexItem,{children:(0,K.jsx)(h.RadioControl,{onChange:e=>{r({timeFrame:{operator:y.IN,...c,value:e}}),o(f.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:c?.value})})]})})},To=window.wc.priceFormat,Oo=({value:e,onChange:t,label:o})=>{const[r,c]=(0,s.useState)(`${e||""}`),n=(0,To.getCurrency)(),l=((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,n),a=((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 t?.prefix&&(o=`${t.prefix}${o}`),t?.suffix&&(o=`${o}${t.suffix}`),o})(l,n);return(0,K.jsx)(h.__experimentalInputControl,{value:a,onChange:e=>{c(e)},onBlur:()=>{t(l)},onKeyDown:e=>{"Enter"===e.key&&t(l)},label:o,prefix:(0,K.jsx)(h.__experimentalInputControlPrefixWrapper,{children:o}),placeholder:(0,C.__)("Auto","woocommerce"),hideLabelFromVision:!0,type:"text",style:{textAlign:"right"},__next40pxDefaultSize:!0})},Lo=e=>{const{query:t,trackInteraction:o,setQueryAttribute:r}=e,c=t.priceRange,n=()=>{r({priceRange:q.priceRange}),o(f.PRICE_RANGE)};return(0,K.jsxs)(h.__experimentalToolsPanelItem,{label:(0,C.__)("Price Range","woocommerce"),hasValue:()=>void 0!==c?.min||void 0!==c?.max,onDeselect:n,resetAllFilter:n,className:"wc-block-product-price-range-control",children:[(0,K.jsx)(h.BaseControl.VisualLabel,{children:(0,C.__)("PRICE RANGE","woocommerce")}),(0,K.jsxs)(h.__experimentalHStack,{spacing:"2",children:[(0,K.jsx)(Oo,{label:(0,C.__)("MIN","woocommerce"),value:c?.min,onChange:e=>{r({priceRange:{min:0===e?void 0:e,max:c?.max}}),o(f.PRICE_RANGE)}}),(0,K.jsx)(Oo,{label:(0,C.__)("MAX","woocommerce"),value:c?.max,onChange:e=>{const t=0===e?void 0:e;r({priceRange:{min:c?.min,max:t}}),o(f.PRICE_RANGE)}})]})]})};var Do=o(4347);var No=o(923),Bo=o.n(No);const Fo=(0,j.createHigherOrderComponent)((e=>{class t extends s.Component{state={error:null,loading:!1,variations:{}};componentDidMount(){const{selected:e,showVariations:t}=this.props;e&&t&&this.loadVariations()}componentDidUpdate(e){const{isLoading:t,selected:o,showVariations:r}=this.props;r&&(!Bo()(e.selected,o)||e.isLoading&&!t)&&this.loadVariations()}loadVariations=()=>{const{products:e}=this.props,{loading:t,variations:o}=this.state;if(t)return;const r=this.getExpandedProduct();if(!r||o[r])return;const c=e.find((e=>e.id===r));var n;c?.variations&&0!==c.variations.length?(this.setState({loading:!0}),(n=r,ke()({path:(0,Ce.addQueryArgs)("wc/store/v1/products",{per_page:0,type:"variation",parent:n})})).then((e=>{const t=e.map((e=>({...e,parent:r})));this.setState({variations:{...this.state.variations,[r]:t},loading:!1,error:null})})).catch((async e=>{const t=await ao(e);this.setState({variations:{...this.state.variations,[r]:null},loading:!1,error:t})}))):this.setState({variations:{...this.state.variations,[r]:null},loading:!1,error:null})};isProductId(e){const{products:t}=this.props;return t.some((t=>t.id===e))}findParentProduct(e){const{products:t}=this.props,o=t.filter((t=>t.variations&&t.variations.find((({id:t})=>t===e))));return o[0]?.id}getExpandedProduct(){const{isLoading:e,selected:t,showVariations:o}=this.props;if(!o)return null;let r=t&&t.length?t[0]:null;return r?this.prevSelectedItem=r:!this.prevSelectedItem||e||this.isProductId(this.prevSelectedItem)||(r=this.prevSelectedItem),!e&&r?this.isProductId(r)?r:this.findParentProduct(r):null}render(){const{error:t,isLoading:o}=this.props,{error:r,loading:c,variations:n}=this.state;return(0,K.jsx)(e,{...this.props,error:r||t,expandedProduct:this.getExpandedProduct(),isLoading:o,variations:n,variationsLoading:c})}}return t}),"withProductVariations"),qo=e=>{const{id:t,name:o,parent:r}=e;return{id:t,name:o,parent:r,breadcrumbs:[],children:[],details:e,value:e.slug}};o(5653);const Mo={list:(0,C.__)("Products","woocommerce"),noItems:(0,C.__)("Your store doesn't have any products.","woocommerce"),search:(0,C.__)("Search for a product to display","woocommerce"),updated:(0,C.__)("Product search results updated.","woocommerce")},Uo=(e=>t=>{let{selected:o}=t;o=void 0===o?null:o;const r=null===o;return Array.isArray(o)?(0,K.jsx)(e,{...t}):(0,K.jsx)(e,{...t,selected:r?[]:[o]})})((Wo=Fo((0,j.withInstanceId)((e=>{const{expandedProduct:t=null,error:o,instanceId:r,isCompact:c=!1,isLoading:n,onChange:s,onSearch:l,products:a,renderItem:i,selected:d=[],showVariations:u=!1,variations:m,variationsLoading:p}=e;if(o)return(0,K.jsx)(mo,{error:o});const _=[...a,...m&&t&&m[t]?m[t]:[]].map(qo);return(0,K.jsx)(lo,{className:"woocommerce-products",list:_,isCompact:c,isLoading:n,isSingle:!0,selected:_.filter((({id:e})=>d.includes(Number(e)))),onChange:s,renderItem:i||(u?e=>{const{item:t,search:o,depth:c=0,isSelected:s,onSelect:l}=e,a=t.details?.variations&&Array.isArray(t.details.variations)?t.details.variations.length:0,i=(0,pt.A)("woocommerce-search-product__item","woocommerce-search-list__item",`depth-${c}`,"has-count",{"is-searching":o.length>0,"is-skip-level":0===c&&0!==t.parent,"is-variable":a>0});if(!t.breadcrumbs.length){const o=t.details?.variations&&t.details.variations.length>0;return(0,K.jsx)(_o,{...e,className:(0,pt.A)(i,{"is-selected":s}),isSelected:s,item:t,onSelect:()=>()=>{l(t)()},isLoading:n||p,countLabel:o?(0,C.sprintf)(/* translators: %1$d is the number of variations of a product product. */ /* translators: %1$d is the number of variations of a product product. */ (0,C.__)("%1$d variations","woocommerce"),t.details?.variations.length):null,name:`products-${r}`,"aria-label":o?(0,C.sprintf)(/* translators: %1$s is the product name, %2$d is the number of variations of that product. */ /* translators: %1$s is the product name, %2$d is the number of variations of that product. */ (0,C._n)("%1$s, has %2$d variation","%1$s, has %2$d variations",t.details?.variations?.length,"woocommerce"),t.name,t.details?.variations.length):void 0})}const d=(0,fe.isEmpty)(t.details?.variation)?e:{...e,item:{...e.item,name:t.details?.variation},"aria-label":`${t.breadcrumbs[0]}: ${t.details?.variation}`};return(0,K.jsx)(Zt,{...d,className:i,name:`variations-${r}`})}:void 0),onSearch:l,messages:{...Mo,...e.messages},isHierarchical:!0})}))),({selected:e,...t})=>{const[o,r]=(0,s.useState)(!0),[c,n]=(0,s.useState)(null),[l,a]=(0,s.useState)([]),i=Se.productCount>100,d=async e=>{const t=await ao(e);n(t),r(!1)},u=(0,s.useRef)(e);(0,s.useEffect)((()=>{Te({selected:u.current}).then((e=>{a(e),r(!1)})).catch(d)}),[u]);const m=(0,Do.YQ)((t=>{Te({selected:e,search:t}).then((e=>{a(e),r(!1)})).catch(d)}),400),p=(0,s.useCallback)((e=>{r(!0),m(e)}),[r,m]);return(0,K.jsx)(Wo,{...t,selected:e,error:c,products:l,isLoading:o,onSearch:i?p:null})})),Vo="product",Ho="cart",Go="order",$o=({isOpen:e,onToggle:t,product:o,isLoading:r})=>{if(r&&!o)return(0,K.jsx)(h.Spinner,{});const c=!o,n=c||!o?.images?.[0]?.src,s=n?`${Ee}/blocks/product-collection/placeholder.svg`:o.images[0].src,l=n?"":o?.name;return(0,K.jsx)(h.Button,{className:"wc-block-product-collection-linked-product-control__button",onClick:t,"aria-expanded":e,disabled:r,children:(0,K.jsxs)(h.Flex,{direction:"row",expanded:!0,justify:"flex-start",children:[(0,K.jsx)(h.FlexItem,{className:"wc-block-product-collection-linked-product-control__image-container",children:(0,K.jsx)("img",{src:s,alt:l})}),(0,K.jsx)(h.Flex,{direction:"column",align:"flex-start",gap:1,className:"wc-block-product-collection-linked-product-control__content",children:c?(0,K.jsx)(h.FlexItem,{children:(0,K.jsx)(h.__experimentalText,{color:"inherit",lineHeight:1,children:(0,C.__)("Select product","woocommerce")})}):(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(h.FlexItem,{children:(0,K.jsx)(h.__experimentalText,{color:"inherit",lineHeight:1,children:o?.name?(0,$t.decodeEntities)(o.name):""})}),(0,K.jsx)(h.FlexItem,{children:(0,K.jsx)(h.__experimentalText,{color:"inherit",lineHeight:1,children:o?.sku})})]})})]})})},Qo=({query:e,setAttributes:t,setIsDropdownOpen:o})=>(0,K.jsx)(Uo,{selected:e?.productReference,onChange:(r=[])=>{var c;const n=null!==(c=r[0]?.id)&&void 0!==c?c:null;null!==n&&(t({query:{...e,productReference:n}}),o(!1))},messages:{search:(0,C.__)("Select a product","woocommerce")}});var Wo,Ko=function(e){return e.CURRENT_PRODUCT="CURRENT_PRODUCT",e.SPECIFIC_PRODUCT="SPECIFIC_PRODUCT",e}(Ko||{});const Yo=({query:e,setAttributes:t,location:o,usesReference:r})=>{const c=o.type===Vo,n=!!r?.includes(Vo),l=o.type===Ho,a=!!r?.includes(Ho),i=o.type===Go,d=!!r?.includes(Go),{productReference:u}=e,{product:m,isLoading:p}=(e=>{const[t,o]=(0,s.useState)(null),[r,c]=(0,s.useState)(!1);return(0,s.useEffect)((()=>{(async()=>{if(e){c(!0);try{const t=await(e=>ke()({path:`/wc/store/v1/products/${e}`}))(e);o(t)}catch(e){o(null)}finally{c(!1)}}else o(null),c(!1)})()}),[e]),{product:t,isLoading:r}})(u),[_,g]=(0,s.useState)(!1),[w,x]=(0,s.useState)((c||l||i)&&(0,fe.isEmpty)(u)?Ko.CURRENT_PRODUCT:Ko.SPECIFIC_PRODUCT),y=(0,s.useRef)(void 0),b=c&&n||l&&a||i&&d,f=b?w===Ko.SPECIFIC_PRODUCT:!(0,fe.isEmpty)(u);if(!b&&!f||!(n||a||d))return null;const v=w===Ko.CURRENT_PRODUCT?(0,C.__)("Linked products will be pulled from the product a shopper is currently viewing","woocommerce"):(0,C.__)("Select a product to pull the linked products from","woocommerce"),k=((e,t,o)=>e===Ho&&t?(0,C.__)("From products in the cart","woocommerce"):e===Go&&o?(0,C.__)("From products in the order","woocommerce"):(0,C.__)("From the current product","woocommerce"))(o.type,a,d);return(0,K.jsxs)(h.PanelBody,{title:(0,C.__)("Linked Product","woocommerce"),children:[b&&(0,K.jsx)(h.PanelRow,{children:(0,K.jsx)(h.RadioControl,{className:"wc-block-product-collection-product-reference-radio",label:(0,C.__)("Products to show","woocommerce"),help:v,selected:w,options:[{label:k,value:Ko.CURRENT_PRODUCT},{label:(0,C.__)("From a specific product","woocommerce"),value:Ko.SPECIFIC_PRODUCT}],onChange:o=>{if(o===Ko.CURRENT_PRODUCT){const{productReference:o,...r}=e;y.current=o,t({query:r})}else t({query:y.current?{...e,productReference:y.current}:e});x(o)}})}),f&&(0,K.jsx)(h.PanelRow,{children:(0,K.jsx)(h.Dropdown,{className:"wc-block-product-collection-linked-product-control",contentClassName:"wc-block-product-collection-linked-product__popover-content",popoverProps:{placement:"left-start"},renderToggle:({isOpen:e,onToggle:t})=>(0,K.jsx)($o,{isOpen:e,onToggle:t,product:m,isLoading:p}),renderContent:()=>(0,K.jsx)(Qo,{query:e,setAttributes:t,setIsDropdownOpen:g}),open:_,onToggle:()=>g(!_)})})]})},zo=({dimensions:e,setAttributes:t})=>{const{widthType:o,fixedWidth:r=""}=e;return(0,K.jsxs)(h.__experimentalToolsPanelItem,{label:(0,C.__)("Width","woocommerce"),hasValue:()=>o!==x.FILL,isShownByDefault:!0,children:[(0,K.jsxs)(h.__experimentalToggleGroupControl,{label:(0,C.__)("Width","woocommerce"),value:o,help:(c=o,c===x.FILL?(0,C.__)("Stretch to fill available space.","woocommerce"):(0,C.__)("Specify a fixed width.","woocommerce")),onChange:o=>(o=>{t({dimensions:{...e,widthType:o}})})(o),isBlock:!0,children:[(0,K.jsx)(h.__experimentalToggleGroupControlOption,{value:x.FILL,label:(0,C.__)("Fill","woocommerce")}),(0,K.jsx)(h.__experimentalToggleGroupControlOption,{value:x.FIXED,label:(0,C.__)("Fixed","woocommerce")})]}),o===x.FIXED&&(0,K.jsx)(h.__experimentalUnitControl,{onChange:o=>{t({dimensions:{...e,fixedWidth:o}})},value:r})]});var c},Zo=({query:e,setQueryAttribute:t,trackInteraction:o})=>{const r=e?.relatedBy,c=(e,c)=>{const n={...r,[c]:e};t({relatedBy:n}),o(f.RELATED_BY)};return(0,K.jsx)(h.PanelBody,{title:(0,C.__)("Related by","woocommerce"),children:(0,K.jsxs)("div",{className:"wc-block-editor-product-collection-inspector-controls__relate-by",children:[(0,K.jsx)(h.CheckboxControl,{label:(0,C.__)("Categories","woocommerce"),checked:r?.categories,onChange:e=>{c(e,"categories")}}),(0,K.jsx)(h.CheckboxControl,{label:(0,C.__)("Tags","woocommerce"),checked:r?.tags,onChange:e=>{c(e,"tags")}})]})})},Xo=(0,C.__)("Products per page","woocommerce"),Jo=(0,C.__)("Products in carousel","woocommerce"),er=({query:e,setQueryAttribute:t,trackInteraction:o,carouselVariant:r})=>{const c=()=>{t({perPage:B.perPage}),o(f.PRODUCTS_PER_PAGE)},n=(e=>e?Jo:Xo)(r),s=e.perPage||B.perPage,l=r&&s>30;return(0,K.jsxs)(h.__experimentalToolsPanelItem,{label:n,isShownByDefault:!0,hasValue:()=>e.perPage!==B.perPage,onDeselect:c,resetAllFilter:c,children:[l&&(0,K.jsx)("div",{children:(0,K.jsx)(h.Notice,{status:"warning",isDismissible:!1,className:"wc-block-editor-product-collection__carousel-warning",children:(0,C.__)("High product counts in carousel may impact performance. Consider reducing the number of products for better user experience.","woocommerce")})}),(0,K.jsx)(h.RangeControl,{__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0,label:n,min:1,max:100,onChange:e=>{e<1||e>100||(t({perPage:e}),o(f.PRODUCTS_PER_PAGE))},value:s})]})},tr=({query:e,setQueryAttribute:t,trackInteraction:o})=>{const r=()=>{t({offset:B.offset}),o(f.OFFSET)};return(0,K.jsx)(h.__experimentalToolsPanelItem,{label:(0,C.__)("Offset","woocommerce"),hasValue:()=>e.offset!==B.offset,onDeselect:r,resetAllFilter:r,children:(0,K.jsx)(h.__experimentalNumberControl,{__next40pxDefaultSize:!0,label:(0,C.__)("Offset","woocommerce"),value:e.offset,min:0,onChange:e=>{isNaN(e)||e<0||e>100||(t({offset:e}),o(f.OFFSET))}})})},or=({query:e,setQueryAttribute:t,trackInteraction:o})=>{const r=()=>{t({pages:B.pages}),o(f.MAX_PAGES_TO_SHOW)};return(0,K.jsx)(h.__experimentalToolsPanelItem,{label:(0,C.__)("Max pages to show","woocommerce"),hasValue:()=>e.pages!==B.pages,onDeselect:r,resetAllFilter:r,children:(0,K.jsx)(h.__experimentalNumberControl,{__next40pxDefaultSize:!0,label:(0,C.__)("Max pages to show","woocommerce"),value:e.pages,min:0,onChange:e=>{isNaN(e)||e<0||(t({pages:e}),o(f.MAX_PAGES_TO_SHOW))},help:(0,C.__)("Limit the pages you want to show, even if the query has more results. To show all pages use 0 (zero).","woocommerce")})})},rr=e=>{const{attributes:t,context:o,setAttributes:r,clientId:l}=e,{query:a,hideControls:i,dimensions:d,displayLayout:u,collection:m}=t,p=mt(o.templateSlug),_=e=>E("blocks_product_collection_inspector_control_clicked",{collection:t.collection,location:p,filter:e}),g=a?.inherit||!1,x=(e=>t=>!e.includes(t))(i),y="product-catalog"===p||"product-archive"===p,b=u?.type===w.CAROUSEL;Lt(l,t);const v=!1===g,k=y&&x(f.INHERIT),S=!y&&x(f.FILTERABLE),j=v&&x(f.ORDER),A=!v,R=v&&x(f.OFFSET),I=!b,P=v&&!b&&x(f.MAX_PAGES_TO_SHOW),T=v&&x(f.PRODUCTS_PER_PAGE),O=x(f.ON_SALE),L=x(f.STOCK_STATUS),D=x(f.HAND_PICKED),N=x(f.KEYWORD),q=x(f.ATTRIBUTES),M=x(f.TAXONOMY),U=x(f.FEATURED),V=x(f.CREATED),H=x(f.PRICE_RANGE),G={setAttributes:r,displayLayout:u},$={setAttributes:r,dimensions:d},Q={setQueryAttribute:(0,s.useMemo)((()=>Le.bind(null,e)),[e]),trackInteraction:_,query:a};return(0,K.jsxs)(n.InspectorControls,{children:[(0,K.jsx)(Yo,{query:e.attributes.query,setAttributes:e.setAttributes,usesReference:e.usesReference,location:e.location}),(0,K.jsxs)(h.__experimentalToolsPanel,{label:(0,C.__)("Settings","woocommerce"),resetAll:()=>{const t=(o=e.attributes,{displayLayout:qe(),query:(r=o.query,{...r,orderBy:B.orderBy,order:B.order,inherit:Be(),filterable:Fe(),perPage:B.perPage,offset:B.offset,pages:B.pages}),dimensions:F.dimensions});var o,r;e.setAttributes(t)},className:"wc-block-editor-product-collection__settings_panel",children:[k&&(0,K.jsx)(At,{...Q}),S&&(0,K.jsx)(Rt,{...Q}),j&&(0,K.jsx)(qt,{...Q}),A&&(0,K.jsx)(Bt,{trackInteraction:_}),(0,K.jsx)(Ro,{...G}),(0,K.jsx)(zo,{...$}),T&&(0,K.jsx)(er,{...Q,carouselVariant:b}),I&&(0,K.jsx)(ft,{...G}),R&&(0,K.jsx)(tr,{...Q}),P&&(0,K.jsx)(or,{...Q})]}),v?(0,K.jsxs)(h.__experimentalToolsPanel,{label:(0,C.__)("Filters","woocommerce"),resetAll:e=>{e.forEach((e=>{e()}))},className:"wc-block-editor-product-collection-inspector-toolspanel__filters",children:[O&&(0,K.jsx)(Mt,{...Q}),L&&(0,K.jsx)(Vt,{...Q}),D&&(0,K.jsx)(Eo,{...Q}),N&&(0,K.jsx)(Ht,{...Q}),q&&(0,K.jsx)(xo,{...Q}),M&&(0,K.jsx)(ko,{...Q,collection:m,renderMode:"panel"}),U&&(0,K.jsx)(Io,{...Q}),V&&(0,K.jsx)(Po,{...Q}),H&&(0,K.jsx)(Lo,{...Q})]}):null,(0,K.jsx)(it,{blockName:`${c.title} block`,wrapper:h.PanelBody})]})},cr=e=>e===c.name,nr=e=>{const t=e+2592e5;return Date.now()<t},sr=(e=0)=>e<=4,lr=e=>{const{collection:t}=e.attributes,o=(0,s.useMemo)((()=>Le.bind(null,e)),[e]),r=mt(e.context.templateSlug),c={setQueryAttribute:o,trackInteraction:e=>E("blocks_product_collection_inspector_control_clicked",{collection:t,location:r,filter:e}),query:e.attributes.query},l=t===b.BY_CATEGORY||t===b.BY_TAG;return(0,K.jsxs)(n.InspectorControls,{children:[t===b.HAND_PICKED&&(0,K.jsx)(h.PanelBody,{children:(0,K.jsx)(So,{...c})}),t===b.RELATED&&(0,K.jsx)(Zo,{...c}),l&&(0,K.jsx)(h.PanelBody,{children:(0,K.jsx)(ko,{...c,collection:t,renderMode:"standalone"})})]})};(0,ye.addFilter)("editor.BlockEdit",c.name,(e=>t=>cr(t.name)?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(lr,{...t}),(0,K.jsx)(e,{...t})]}):(0,K.jsx)(e,{...t}))),(0,ye.addFilter)("editor.BlockEdit",c.name,(e=>t=>{if(!cr(t.name))return(0,K.jsx)(e,{...t});const o=(e=>{const{attributes:t}=e,{convertedFromProducts:o}=t,{status:r,time:c,displayCount:n}=et();return o&&"notseen"===r&&nr(c)&&sr(n)})(t),r=(e=>{const{attributes:t}=e,{convertedFromProducts:o}=t,{status:r,time:c,displayCount:n}=et();return o&&("seen"===r||!nr(c)||!sr(n))})(t);return r&&t.setAttributes({convertedFromProducts:!1}),(0,K.jsxs)(K.Fragment,{children:[o&&(0,K.jsx)(n.InspectorControls,{children:(0,K.jsx)(wt,{revertMigration:st})}),(0,K.jsx)(e,{...t})]})}));const ar=(0,C.__)("Enable to enforce full page reload on certain interactions, like using paginations controls.","woocommerce"),ir=(0,C.__)("Browsing between pages requires a full page reload.","woocommerce"),dr=(0,C.__)("Reload full page can't be disabled because there are incompatible blocks inside the Product Collection block.","woocommerce"),ur=e=>{const{clientId:t,forcePageReload:o,setAttributes:c}=e,a=(e=>(0,l.useSelect)((t=>{const{getClientIdsOfDescendants:o,getBlockName:c}=t(n.store);return o(e).find((e=>!(e=>{const t=Object.is((0,r.getBlockSupport)(e,"interactivity"),!0),o=(0,r.getBlockSupport)(e,"interactivity.clientNavigation");return t||o})(c(e))))||!1}),[e]))(t);(0,s.useEffect)((()=>{!o&&a&&c({forcePageReload:!0})}),[o,a,c]);let i=ar;return o&&(i=ir),a&&(i=dr),(0,K.jsx)(h.ToggleControl,{label:(0,C.__)("Reload full page","woocommerce"),help:i,checked:o,onChange:()=>c({forcePageReload:!o}),disabled:a})};function mr(e){const{clientId:t,attributes:o,setAttributes:r}=e,{forcePageReload:c}=o;return(0,K.jsx)(n.InspectorAdvancedControls,{children:(0,K.jsx)(ur,{clientId:t,forcePageReload:c,setAttributes:r})})}const pr=e=>(0,K.jsx)(h.ToolbarGroup,{children:(0,K.jsx)(h.ToolbarButton,{onClick:e.openCollectionSelectionModal,children:(0,C.__)("Choose collection","woocommerce")})});function _r(e){const{openCollectionSelectionModal:t}=e,o=xe(e.attributes.collection),r=o?.scope?.includes("block")||void 0===o?.scope;return(0,K.jsx)(n.BlockControls,{children:r&&(0,K.jsx)(pr,{openCollectionSelectionModal:t})})}const hr=({preview:{setPreviewState:e,initialPreviewState:t}={},...o})=>{const r=(0,s.useRef)(!1),{clientId:c,attributes:a,setAttributes:d,location:u,isUsingReferencePreviewMode:m}=o;(({setPreviewState:e,location:t,attributes:o,setAttributes:r,isUsingReferencePreviewMode:c})=>{const n=e=>{r({__privatePreviewState:{...o.__privatePreviewState,...e}})},l=((e,t)=>t?e.type===i.Product?(0,C.__)("Actual products will vary depending on the product being viewed.","woocommerce"):(0,C.__)("Actual products will vary depending on the page being viewed.","woocommerce"):"")(t,c);(0,s.useLayoutEffect)((()=>{c&&r({__privatePreviewState:{isPreview:l.length>0,previewMessage:l}})}),[r,l,c]),(0,s.useLayoutEffect)((()=>{if(!e&&!c)return;const r=e?.({setState:n,location:t,attributes:o});return r||void 0}),[e]);const a=t.type===i.Archive?t.sourceData?.termId:null;(0,s.useLayoutEffect)((()=>{if(!e&&!c){const e=t.type===i.Archive&&null===a;r({__privatePreviewState:{isPreview:!!e&&!!o?.query?.inherit,previewMessage:(0,C.__)("Actual products will vary depending on the page being viewed.","woocommerce")}})}}),[o?.query?.inherit,l,a,t.type,r,e,c])})({setPreviewState:e,setAttributes:d,location:u,attributes:a,isUsingReferencePreviewMode:m});const p=(0,n.useBlockProps)(),_=(0,n.useInnerBlocksProps)({},{template:W}),g=((e,t,o)=>{const r=(0,j.useInstanceId)(o),{getBlockParentsByBlockName:c}=(0,l.useSelect)(n.store);let a=r;return(0,s.useMemo)((()=>c(e,"core/block")),[c,e]).length>0&&(a=t.queryId),a})(c,a,hr),w={...F,query:{...F.query,inherit:Be(),filterable:Fe()},...a,queryId:g,...!!a.collection&&t&&{__privatePreviewState:t}};let y={};return x.FIXED===a?.dimensions?.widthType&&a?.dimensions?.fixedWidth&&(y={maxWidth:a.dimensions.fixedWidth,margin:"0 auto"}),(0,s.useEffect)((()=>{d(w),r.current=!0}),[]),r.current=r.current||Ke()(a,w),r.current?(0,K.jsxs)("div",{...p,children:[a.__privatePreviewState?.isPreview&&o.isSelected&&(0,K.jsx)(h.Button,{variant:"primary",size:"small",showTooltip:!0,label:a.__privatePreviewState?.previewMessage,className:"wc-block-product-collection__preview-button","data-testid":"product-collection-preview-button",children:"Preview"}),(0,K.jsx)(rr,{...o}),(0,K.jsx)(mr,{...o}),(0,K.jsx)(_r,{...o}),(0,K.jsx)("div",{..._,style:y})]}):null},gr=hr,wr=e=>{const{clientId:t,attributes:o,tracksLocation:r,closePatternSelectionModal:c}=e,{collection:a}=o,{replaceBlock:i}=(0,l.useDispatch)(n.store),[d,u]=(0,s.useState)(a),m=e=>{E("blocks_product_collection_collection_replaced_from_placeholder",{action:e,location:r}),c()};return(0,K.jsx)(h.Modal,{overlayClassName:"wc-blocks-product-collection__modal",title:(0,C.__)("What products do you want to show?","woocommerce"),onRequestClose:()=>m("close"),size:"large",children:(0,K.jsxs)("div",{className:"wc-blocks-product-collection__content",children:[(0,K.jsx)($e,{chosenCollection:d,onCollectionClick:u}),(0,K.jsxs)("div",{className:"wc-blocks-product-collection__footer",children:[(0,K.jsx)(h.Button,{variant:"tertiary",onClick:()=>m("cancel"),children:(0,C.__)("Cancel","woocommerce")}),(0,K.jsx)(h.Button,{variant:"primary",onClick:()=>{d&&(E("blocks_product_collection_collection_replaced_from_placeholder",{from:a,to:d,location:r}),Me(d,t,i))},children:(0,C.__)("Continue","woocommerce")})]})]})})},xr=e=>{const{attributes:t,isDeletedProductReference:o}=e,r=(0,n.useBlockProps)(),c=xe(t.collection);if(!c)return null;const l=o?(0,C.__)("Previously selected product is no longer available.","woocommerce"):(0,s.createInterpolateElement)((0,C.sprintf)(/* translators: %s: collection title */ /* translators: %s: collection title */ (0,C.__)("<strong>%s</strong> requires a product to be selected in order to display associated items.","woocommerce"),c.title),{strong:(0,K.jsx)("strong",{})});return(0,K.jsx)("div",{...r,children:(0,K.jsxs)(h.Placeholder,{className:"wc-blocks-product-collection__editor-product-picker",children:[(0,K.jsxs)(h.__experimentalHStack,{alignment:"center",children:[(0,K.jsx)(R.A,{icon:Jt.A,className:"wc-blocks-product-collection__info-icon"}),(0,K.jsx)(h.__experimentalText,{children:l})]}),(0,K.jsx)(Uo,{selected:t.query?.productReference,onChange:(o=[])=>{var r;null!==(null!==(r=o[0]?.id)&&void 0!==r?r:null)&&e.setAttributes({query:{...t.query,productReference:o[0].id}})},messages:{search:(0,C.__)("Select a product","woocommerce")}})]})})};var yr=o(7715);function br(e,{blockDescription:t,blockIcon:o,blockTitle:c,variationName:n,scope:s}){(0,r.registerBlockVariation)(e,{description:t,name:n,title:c,isActive:e=>e.__woocommerceNamespace===n,icon:{src:o},attributes:{__woocommerceNamespace:n},scope:s})}const fr=(0,C.__)("Product Summary","woocommerce"),Cr=(R.A,yr.A,(0,C.__)("Display a short description about a product.","woocommerce")),vr=`${c.name}/product-summary`;var kr=o(8992);const Sr=JSON.parse('{"title":"Product Title","description":"Display the title of a product."}'),Er=`${c.name}/product-title`;(0,r.registerBlockType)(c,{icon:()=>(0,K.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,K.jsx)("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,K.jsx)("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,K.jsx)("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,context:r}=e,c=((e,t)=>{const o=e.templateSlug||"",r=e.postId||null,c=(e=>t=>e.replace(`${t}-`,""))(o),a=(e=>t=>e.includes(t)&&e!==t)(o),h=a(d),g=a(u),w=a(m),[x,y]=(0,s.useState)(null),[b,f]=(0,s.useState)(null),[C,v]=(0,s.useState)(null);(0,s.useEffect)((()=>{if(h){const e=c(d);p("postType","product",e,y)}if(g){const e=c(u);p("taxonomy","product_cat",e,f)}if(w){const e=c(m);p("taxonomy","product_tag",e,v)}}),[h,g,w,c]);const{isInSingleProductBlock:k,isInSomeCartCheckoutBlock:S}=(0,l.useSelect)((e=>{const{getBlockParentsByBlockName:o}=e(n.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(k)return _(i.Product,{productId:r});if(S)return _(i.Cart);if(h)return _(i.Product,{productId:x});const E=(e=>t=>e===t)(o);if(E(d))return _(i.Product,{productId:null});if(g)return _(i.Archive,{taxonomy:"product_cat",termId:b});if(w)return _(i.Archive,{taxonomy:"product_tag",termId:C});if(E(u))return _(i.Archive,{taxonomy:"product_cat",termId:null});if(E(m))return _(i.Archive,{taxonomy:"product_tag",termId:null});if(E("taxonomy-product_attribute"))return _(i.Archive,{taxonomy:null,termId:null});if("page-cart"===o||"page-checkout"===o)return _(i.Cart);const j=E("order-confirmation");return _(j?i.Order:i.Site)})(r,t),w=mt(r.templateSlug),[x,y]=(0,s.useState)(!1),b=(0,l.useSelect)((e=>!!e(n.store).getBlocks(t).length),[t]),{productCollectionUIStateInEditor:f,isLoading:C}=(({location:e,usesReference:t,attributes:o,hasInnerBlocks:r})=>{const c=o.query?.productReference,{product:n,hasResolved:d}=(0,l.useSelect)((e=>{if(!c)return{product:null,hasResolved:!0};const{getEntityRecord:t,hasFinishedResolution:o}=e(a.store),r=["postType","product",c];return{product:t(...r),hasResolved:o("getEntityRecord",r)}}),[c]);return{productCollectionUIStateInEditor:(0,s.useMemo)((()=>{var s;const l=t?.includes(e.type),a=!!o.collection,d=t?.includes("product"),u=null!==(null!==(s=o.query?.productReference)&&void 0!==s?s:null);if(a&&d&&!l&&!u)return g.PRODUCT_REFERENCE_PICKER;if(a&&d&&!l&&u&&c&&(void 0===n||"trash"===n?.status))return g.DELETED_PRODUCT_REFERENCE;if(l){var m,p;const t=e.type===i.Archive&&null!==(null!==(m=e.sourceData?.termId)&&void 0!==m?m:null),o=e.type===i.Product&&null!==(null!==(p=e.sourceData?.productId)&&void 0!==p?p:null);if(!t&&!o&&!c)return g.VALID_WITH_PREVIEW}return r||a?g.VALID:g.COLLECTION_PICKER}),[e.type,e.sourceData?.termId,e.sourceData?.productId,t,o.collection,c,n,r,o.query?.productReference]),isLoading:!d}})({location:c,attributes:o,hasInnerBlocks:b,usesReference:e.usesReference});if(C)return(0,K.jsx)(h.Flex,{justify:"center",align:"center",children:(0,K.jsx)(h.Spinner,{})});const v={...e,openCollectionSelectionModal:()=>y(!0),location:c,isUsingReferencePreviewMode:f===g.VALID_WITH_PREVIEW};return(0,K.jsxs)(K.Fragment,{children:[(()=>{switch(f){case g.COLLECTION_PICKER:return(0,K.jsx)(Qe,{...e,tracksLocation:w});case g.PRODUCT_REFERENCE_PICKER:return(0,K.jsx)(xr,{...e,isDeletedProductReference:!1});case g.DELETED_PRODUCT_REFERENCE:return(0,K.jsx)(xr,{...e,isDeletedProductReference:!0});case g.VALID:case g.VALID_WITH_PREVIEW:return(0,K.jsx)(gr,{...v});default:return(0,K.jsx)(Qe,{...e,tracksLocation:w})}})(),x&&(0,K.jsx)(wr,{clientId:t,attributes:o,tracksLocation:w,closePatternSelectionModal:()=>y(!1)})]})},save:function({attributes:{tagName:e="div"}}){const t=n.useBlockProps.save(),o=n.useInnerBlocksProps.save(t);return(0,K.jsx)(e,{...o})}}),br("core/post-excerpt",{blockDescription:Cr,blockIcon:(0,K.jsx)(h.Icon,{icon:yr.A}),blockTitle:fr,variationName:vr,scope:[]}),br("core/post-title",{blockDescription:Sr.description,blockIcon:(0,K.jsx)(h.Icon,{icon:kr.A}),blockTitle:Sr.title,variationName:Er,scope:["block","inserter"]}),we.forEach((e=>(0,A.__experimentalRegisterProductCollection)(e))),(0,ye.addFilter)("blocks.registerBlockType","woocommerce/add-product-collection-block-to-parent-array-of-pagination-block",((e,t)=>t!==U?e:e?.ancestor?{...e,ancestor:[...e.ancestor,c.name]}:e?.parent?{...e,parent:[...e.parent,c.name]}:e))},2663:()=>{},5653:()=>{},1939:()=>{},5022:()=>{},9969:()=>{},1609:e=>{"use strict";e.exports=window.React},790:e=>{"use strict";e.exports=window.ReactJSXRuntime},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},923:e=>{"use strict";e.exports=window.wp.isShallowEqual},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 s=1/0;for(d=0;d<e.length;d++){for(var[o,r,c]=e[d],l=!0,a=0;a<o.length;a++)(!1&c||s>=c)&&Object.keys(n.O).every((e=>n.O[e](o[a])))?o.splice(a--,1):(l=!1,c<s&&(s=c));if(l){e.splice(d--,1);var i=r();void 0!==i&&(t=i)}}return t}c=c||0;for(var d=e.length;d>0&&e[d-1][2]>c;d--)e[d]=e[d-1];e[d]=[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 s={};t=t||[null,o({}),o([]),o(o)];for(var l=2&r&&e;"object"==typeof l&&!~t.indexOf(l);l=o(l))Object.getOwnPropertyNames(l).forEach((t=>s[t]=()=>e[t]));return s.default=()=>e,n.d(c,s),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,[s,l,a]=o,i=0;if(s.some((t=>0!==e[t]))){for(r in l)n.o(l,r)&&(n.m[r]=l[r]);if(a)var d=a(n)}for(t&&t(o);i<s.length;i++)c=s[i],n.o(e,c)&&e[c]&&e[c][0](),e[c]=0;return n.O(d)},o=globalThis.webpackChunkwebpackWcBlocksMainJsonp=globalThis.webpackChunkwebpackWcBlocksMainJsonp||[];o.forEach(t.bind(null,0)),o.push=t.bind(null,o.push.bind(o))})();var s=n.O(void 0,[94],(()=>n(0)));s=n.O(s),((this.wc=this.wc||{}).blocks=this.wc.blocks||{})["product-collection"]=s})();
/home/batcwwjx/www/wp-content/plugins/woocommerce/assets/./client/blocks/product-collection.js