File: /home/infowars/www/wp-content/plugins/woocommerce/assets/client/blocks/product-collection.js
(()=>{var e,t,o,r={3769:(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,"email":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,i=window.wp.coreData;let a=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="taxonomy-product_brand",_=async(e,t,o,r)=>{var c;r((c=await(0,l.resolveSelect)(i.store).getEntityRecords(e,t,{_fields:["id"],slug:o}))&&c.length&&c[0]?.id?c[0].id:null)},h=(e,t={})=>({type:e,sourceData:t}),g=window.wp.components;let w=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}({}),x=function(e){return e.GRID="flex",e.STACK="list",e.CAROUSEL="carousel",e}({}),y=function(e){return e.FILL="fill",e.FIXED="fixed",e}({}),b=function(e){return e.IN="in",e.NOT_IN="not-in",e}({}),f=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.CART_CONTENTS="woocommerce/product-collection/cart-contents",e}({}),C=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 v=o(7723),k=o(2381),E=o.n(k);E()("wc-admin:tracks:stats");const S=E()("wc-admin:tracks");function j(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 A=o(9491);const R=window.wc.wcBlocksRegistry;var T=o(4530),I=o(8226);const P=window.wc.wcSettings;let O=function(e){return e.SINGLE="single",e.THUMBNAIL="thumbnail",e}({});const L=`${c.name}/product-title`,D=(0,P.getSetting)("stockStatusOptions",[]),N=(0,P.getSetting)("hideOutOfStockItems",!1),B=()=>N?Object.keys(function(e,t){const{[t]:o,...r}=e;return r}(D,"outofstock")):Object.keys(D),F={perPage:9,pages:0,offset:0,postType:"product",order:"asc",orderBy:"title",search:"",exclude:[],inherit:!1,taxQuery:{},isProductCollectionBlock:!0,featured:!1,woocommerceOnSale:!1,woocommerceStockStatus:B(),woocommerceAttributes:[],woocommerceHandPickedProducts:[],timeFrame:void 0,priceRange:void 0,filterable:!1,relatedBy:{categories:!0,tags:!0}},M={query:F,tagName:"div",displayLayout:{type:x.GRID,columns:3,shrinkColumns:!0},dimensions:{widthType:y.FILL},queryContextIncludes:["collection"],forcePageReload:!1},U={woocommerceOnSale:F.woocommerceOnSale,woocommerceStockStatus:F.woocommerceStockStatus,woocommerceAttributes:F.woocommerceAttributes,woocommerceHandPickedProducts:F.woocommerceHandPickedProducts,taxQuery:F.taxQuery,featured:F.featured,timeFrame:F.timeFrame,priceRange:F.priceRange},q="core/heading",H="core/query-pagination",V="woocommerce/product-gallery-large-image-next-previous",G="woocommerce/product-template",$=[G,{},[["woocommerce/product-image",{imageSizing:O.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:L}],["woocommerce/product-price",{textAlign:"center",fontSize:"small"}],["woocommerce/product-button",{textAlign:"center",fontSize:"small"}]]],W={layout:{type:"flex",justifyContent:"center"}},Q=[H,W],K=[$,Q,["woocommerce/product-collection-no-results"]];var Y=o(790);const z={name:f.BEST_SELLERS,title:(0,v.__)("Best Sellers","woocommerce"),icon:(0,Y.jsx)(T.A,{icon:I.A}),description:(0,v.__)("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:[C.ORDER,C.FILTERABLE]},innerBlocks:[["core/heading",{textAlign:"center",level:2,content:(0,v.__)("Best selling products","woocommerce"),style:{spacing:{margin:{bottom:"1rem"}}}}],$]};var Z=o(3255);const X={name:f.CROSS_SELLS,title:(0,v.__)("Cross-Sells","woocommerce"),icon:(0,Y.jsx)(T.A,{icon:Z.A}),description:(0,v.__)("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:{...M,displayLayout:{type:"flex",columns:4,shrinkColumns:!0},query:{...F,perPage:8,pages:1},hideControls:[C.FILTERABLE]},innerBlocks:[["core/heading",{textAlign:"left",level:2,content:(0,v.__)("You may be interested in…","woocommerce"),style:{spacing:{margin:{bottom:"1rem"}}}}],$]};var J=o(3129);const ee={name:f.FEATURED,title:(0,v.__)("Featured Products","woocommerce"),icon:(0,Y.jsx)(T.A,{icon:J.A}),description:(0,v.__)("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:[C.FEATURED,C.FILTERABLE]},innerBlocks:[["core/heading",{textAlign:"center",level:2,content:(0,v.__)("Featured products","woocommerce"),style:{spacing:{margin:{bottom:"1rem"}}}}],$]};var te=o(5573);const oe=(0,Y.jsxs)(te.SVG,{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,Y.jsx)(te.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,Y.jsx)(te.Path,{d:"M20 7.75004H11.1111V6.25004H20V7.75004Z",fill:"currentColor"}),(0,Y.jsx)(te.Path,{d:"M20 12.75H11.1111V11.25H20V12.75Z",fill:"currentColor"}),(0,Y.jsx)(te.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,Y.jsx)(te.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,Y.jsx)(te.Path,{d:"M11.1111 17.75H20V16.25H11.1111V17.75Z",fill:"currentColor"})]}),re={name:f.HAND_PICKED,title:(0,v.__)("Hand-Picked Products","woocommerce"),icon:(0,Y.jsx)(T.A,{icon:oe}),description:(0,v.__)("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:[C.HAND_PICKED,C.FILTERABLE,C.ORDER]},innerBlocks:[["core/heading",{textAlign:"center",level:2,content:(0,v.__)("Recommended products","woocommerce"),style:{spacing:{margin:{bottom:"1rem"}}}}],$,["core/query-pagination",{layout:{type:"flex",justifyContent:"center"}}]]};var ce=o(3174);const ne={name:f.NEW_ARRIVALS,title:(0,v.__)("New Arrivals","woocommerce"),icon:(0,Y.jsx)(T.A,{icon:ce.A}),description:(0,v.__)("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:b.IN,value:"-7 days"}},hideControls:[C.ORDER,C.FILTERABLE]},innerBlocks:[["core/heading",{textAlign:"center",level:2,content:(0,v.__)("New arrivals","woocommerce"),style:{spacing:{margin:{bottom:"1rem"}}}}],$]};var se=o(9771);const le={name:f.ON_SALE,title:(0,v.__)("On Sale Products","woocommerce"),icon:(0,Y.jsx)(T.A,{icon:se.A}),description:(0,v.__)("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:[C.ON_SALE,C.FILTERABLE]},innerBlocks:[["core/heading",{textAlign:"center",level:2,content:(0,v.__)("On sale products","woocommerce"),style:{spacing:{margin:{bottom:"1rem"}}}}],$]};var ie=o(5350);const ae={name:f.PRODUCT_CATALOG,title:(0,v.__)("Product Catalog","woocommerce"),icon:(0,Y.jsx)(T.A,{icon:ie.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:K},de={name:f.RELATED,title:(0,v.__)("Related Products","woocommerce"),icon:(0,Y.jsx)(T.A,{icon:ie.A}),description:(0,v.__)("Recommend products like this one.","woocommerce"),keywords:[],scope:["inserter","block"],usesReference:["product"],attributes:{displayLayout:{type:x.GRID,columns:4,shrinkColumns:!0},query:{perPage:4,pages:1}},innerBlocks:[["core/heading",{textAlign:"center",level:2,content:(0,v.__)("Related Products","woocommerce"),style:{spacing:{margin:{bottom:"1rem"}}}}],$]};var ue=o(2108);const me={name:f.TOP_RATED,title:(0,v.__)("Top Rated Products","woocommerce"),icon:(0,Y.jsx)(T.A,{icon:ue.A}),description:(0,v.__)("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:[C.ORDER,C.FILTERABLE]},innerBlocks:[["core/heading",{textAlign:"center",level:2,content:(0,v.__)("Top rated products","woocommerce"),style:{spacing:{margin:{bottom:"1rem"}}}}],$]};var pe=o(4807);const _e={name:f.UPSELLS,title:(0,v.__)("Upsells","woocommerce"),icon:(0,Y.jsx)(T.A,{icon:pe.A}),description:(0,v.__)("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:{...M,displayLayout:{type:"flex",columns:4,shrinkColumns:!0},query:{...F,perPage:8,pages:1},hideControls:[C.FILTERABLE]},innerBlocks:[["core/heading",{textAlign:"left",level:2,content:(0,v.__)("You may also like","woocommerce"),style:{spacing:{margin:{bottom:"1rem"}}}}],$]};var he=o(5536);const ge={name:f.BY_CATEGORY,title:(0,v.__)("Products by Category","woocommerce"),icon:(0,Y.jsx)(T.A,{icon:he.A}),description:(0,v.__)("Display products from specific categories.","woocommerce"),scope:["inserter","block"],attributes:{displayLayout:{type:"flex",columns:5,shrinkColumns:!0},hideControls:[C.HAND_PICKED,C.FILTERABLE]},innerBlocks:[["core/heading",{textAlign:"center",level:2,content:(0,v.__)("Products by Category","woocommerce"),style:{spacing:{margin:{bottom:"1rem"}}}}],$,Q]};var we=o(1686);const xe={name:f.BY_TAG,title:(0,v.__)("Products by Tag","woocommerce"),icon:(0,Y.jsx)(T.A,{icon:we.A}),description:(0,v.__)("Display products with specific tags.","woocommerce"),scope:["inserter","block"],attributes:{displayLayout:{type:"flex",columns:5,shrinkColumns:!0},hideControls:[C.HAND_PICKED,C.FILTERABLE]},innerBlocks:[["core/heading",{textAlign:"center",level:2,content:(0,v.__)("Products by Tag","woocommerce"),style:{spacing:{margin:{bottom:"1rem"}}}}],$,Q]},ye=(0,Y.jsxs)(te.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:[(0,Y.jsx)("path",{fill:"none",d:"M0 0h24v24H0V0z"}),(0,Y.jsx)("path",{d:"M15.55 13c.75 0 1.41-.41 1.75-1.03l3.58-6.49c.37-.66-.11-1.48-.87-1.48H5.21l-.94-2H1v2h2l3.6 7.59-1.35 2.44C4.52 15.37 5.48 17 7 17h12v-2H7l1.1-2h7.45zM6.16 6h12.15l-2.76 5H8.53L6.16 6zM7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zm10 0c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2z"})]}),be={name:f.CART_CONTENTS,title:(0,v.__)("Cart Contents","woocommerce"),icon:(0,Y.jsx)(T.A,{icon:ye}),description:(0,v.__)("Display products from the customer cart for abandoned cart emails.","woocommerce"),keywords:["cart","email","abandoned"],scope:["inserter","block"],attributes:{displayLayout:{type:"flex",columns:1,shrinkColumns:!0},query:{inherit:!1,perPage:10,pages:1},hideControls:[C.ATTRIBUTES,C.KEYWORD,C.ORDER,C.DEFAULT_ORDER,C.FEATURED,C.ON_SALE,C.STOCK_STATUS,C.HAND_PICKED,C.TAXONOMY,C.FILTERABLE,C.CREATED,C.PRICE_RANGE],queryContextIncludes:["cart"]},innerBlocks:[["core/heading",{textAlign:"center",level:2,content:(0,v.__)("Your Cart","woocommerce"),style:{spacing:{margin:{bottom:"1rem"}}}}],$]},fe=[ae,ee,ne,le,z,me,re,ge,xe,de,_e,X],Ce=[be],ve=e=>e?(0,l.select)(r.store).getBlockVariations(c.name).find((({name:t})=>t===e)):null,ke=window.wp.hooks,Ee=window.wp.editor,Se=window.wc.wcTypes,je=window.wp.url,Ae=window.wp.apiFetch;var Re=o.n(Ae);const Te=(0,P.getSetting)("wcBlocksConfig",{pluginUrl:"",productCount:0,defaultAvatar:"",restApiRoutes:{},wordCountType:"words"}),Ie=Te.pluginUrl+"assets/images/",Pe=(Te.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",{})),Oe=(0,P.getSetting)("countryData",{}),Le={...Object.fromEntries(Object.keys(Oe).filter((e=>!0===Oe[e].allowBilling)).map((e=>[e,Pe[e]||""]))),...Object.fromEntries(Object.keys(Oe).filter((e=>!0===Oe[e].allowShipping)).map((e=>[e,Pe[e]||""])))},De=(Object.fromEntries(Object.keys(Le).map((e=>[e,Oe[e].states||{}]))),Object.fromEntries(Object.keys(Le).map((e=>[e,Oe[e].locale||{}]))),{address:["first_name","last_name","company","address_1","address_2","city","postcode","country","state","phone"],contact:["email"],order:[]}),Ne=((0,P.getSetting)("addressFieldsLocations",De).address,(0,P.getSetting)("addressFieldsLocations",De).contact,(0,P.getSetting)("addressFieldsLocations",De).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)}))}),Be=({selected:e=[],search:t="",queryArgs:o={}})=>{const r=(({selected:e=[],search:t="",queryArgs:o={}})=>{const r=Te.productCount>100&&e.length>0,c=[(0,je.addQueryArgs)("/wc/store/v1/products",{per_page:100,catalog_visibility:"any",search:t,orderby:"title",order:"asc",exclude:r?e:[],...o})];if(r){const t=Math.ceil(e.length/100);for(let o=1;o<=t;o++)c.push((0,je.addQueryArgs)("/wc/store/v1/products",{catalog_visibility:"any",include:e,per_page:100,page:o}))}return c})({selected:e,search:t,queryArgs:o});return Promise.all(r.map((e=>Re()({path:e})))).then((e=>{const t=e.flat(),o=Ne(t,(e=>e.id));return o.map((e=>({...e,parent:0})))})).catch((e=>{throw e}))},Fe=e=>Re()({path:`wc/store/v1/products/attributes/${e}/terms`});function Me(e,t){const{query:o}=e.attributes;e.setAttributes({query:{...o,...t}})}const Ue=()=>{const e=(0,l.select)(Ee.store).getEditedPostSlug();return!!e&&["archive-product","taxonomy-product_attribute","product-search-results","taxonomy-product_cat","taxonomy-product_tag","taxonomy-product_brand"].some((t=>!!(0,Se.isString)(e)&&e.includes(t)))},qe=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 He(){return!!Ue()&&qe("inherit")}function Ve(){return!Ue()&&qe("filterable")}const Ge=()=>M.displayLayout,$e=(e,t,o)=>{const n=ve(e);n&&o(t,n.name===f.PRODUCT_CATALOG?(0,r.createBlock)(c.name,{...M,query:{...M.query,inherit:He(),filterable:Ve()}},(0,r.createBlocksFromInnerBlocksTemplate)(K)):(0,r.createBlock)(c.name,n.attributes,(0,r.createBlocksFromInnerBlocksTemplate)(n.innerBlocks)))},We=({title:e,icon:t,description:o,onClick:r})=>(0,Y.jsx)(g.Tooltip,{text:o,placement:"top",children:(0,Y.jsxs)(g.Button,{className:"wc-blocks-product-collection__collection-button",onClick:r,children:[(0,Y.jsx)("div",{className:"wc-blocks-product-collection__collection-button-icon",children:(0,Y.jsx)(g.Icon,{icon:t})}),(0,Y.jsx)("p",{className:"wc-blocks-product-collection__collection-button-title",children:e})]})}),Qe=e=>{const{description:t,onClick:o}=e;return(0,Y.jsxs)("div",{className:"wc-blocks-product-collection__collections-create",children:[(0,Y.jsx)("span",{children:(0,v.__)("or","woocommerce")}),(0,Y.jsx)(g.Tooltip,{text:t,placement:"top",children:(0,Y.jsx)(g.Button,{onClick:o,children:(0,v.__)("create your own","woocommerce")})})]})},Ke=e=>{const{onCollectionClick:t,catalogVariation:o,collectionVariations:r}=e;return(0,Y.jsxs)("div",{className:"wc-blocks-product-collection__collections-grid",children:[(0,Y.jsx)("div",{className:"wc-blocks-product-collection__collections-section",children:r.map((({name:e,title:o,icon:r,description:c})=>(0,Y.jsx)(We,{title:o,description:c,icon:r,onClick:()=>t(e)},e)))}),(0,Y.jsx)(Qe,{title:o.title,description:o.description,icon:o.icon,onClick:()=>t(o.name)})]})},Ye=e=>{const{onCollectionClick:t,catalogVariation:o,collectionVariations:r}=e;return(0,Y.jsxs)("div",{className:"wc-blocks-product-collection__collections-dropdown",children:[(0,Y.jsx)(g.Dropdown,{className:"wc-blocks-product-collection__collections-dropdown-toggle",contentClassName:"wc-blocks-product-collection__collections-dropdown-content",renderToggle:({isOpen:e,onToggle:t})=>(0,Y.jsx)(g.Button,{variant:"secondary",onClick:t,"aria-expanded":e,children:(0,v.__)("Choose collection","woocommerce")}),renderContent:()=>(0,Y.jsx)(Y.Fragment,{children:r.map((({name:e,title:o,icon:r,description:c})=>(0,Y.jsx)(We,{title:o,description:c,icon:r,onClick:()=>t(e)},e)))})}),(0,Y.jsx)(Qe,{title:o.title,description:o.description,icon:o.icon,onClick:()=>t(o.name)})]})},ze=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===f.PRODUCT_CATALOG))),[t]),n=(0,s.useMemo)((()=>t.filter((({name:e,scope:t})=>e!==f.PRODUCT_CATALOG&&(void 0===t||t?.includes("block"))))),[t]),[i,{width:a}]=(0,A.useResizeObserver)();let d;return d=null!==a&&a>=600?Ke:Ye,(0,Y.jsxs)(Y.Fragment,{children:[i,!!a&&(0,Y.jsx)(d,{...e,catalogVariation:o,collectionVariations:n})]})},Ze=e=>{const t=(0,n.useBlockProps)(),{clientId:o,tracksLocation:r}=e,{replaceBlock:c}=(0,l.useDispatch)(n.store);return(0,Y.jsx)("div",{...t,children:(0,Y.jsx)(g.Placeholder,{className:"wc-blocks-product-collection__placeholder",instructions:(0,v.__)("What products do you want to show?","woocommerce"),children:(0,Y.jsx)(ze,{onCollectionClick:e=>{j("blocks_product_collection_collection_chosen_from_placeholder",{collection:e,location:r}),$e(e,o,c)}})})})};var Xe=o(1824),Je=o.n(Xe);function et(){return(0,l.useSelect)((e=>{const t=e("email-editor/editor");if(!t)return!1;const o=t.getEmailPostId(),r=t.getEmailPostType(),c=e(Ee.store).getCurrentPostId(),n=e(Ee.store).getCurrentPostType();if(String(c)===String(o)&&String(n)===String(r))return!0;if("wp_template"===n){const e=t.getCurrentTemplate();if(!e)return!1;const o=t.getEmailTemplates();return!!o&&o.some((t=>t.id===e.id&&t.post_types?.includes(r)))}return!1}),[])}const tt=window.wc.customerEffortScore,ot=({size:e=12})=>(0,Y.jsx)(te.SVG,{width:e,height:e,viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,Y.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"})}),rt=({blockName:e,title:t=(0,v.__)("Share your experience","woocommerce"),firstQuestion:o=(0,v.sprintf)(/* translators: %s is the block name. */ /* translators: %s is the block name. */
(0,v.__)("It was easy for me to accomplish what I wanted with the %s.","woocommerce"),e),feedbackLabel:r=(0,v.sprintf)(/* translators: %s is the block name. */ /* translators: %s is the block name. */
(0,v.__)("How can we improve the %s block for you? (Optional)","woocommerce"),e),feedbackPlaceholder:c=(0,v.__)("What did you try to build using this block? What did and didn't work?","woocommerce"),emailLabel:n=(0,v.__)("Email address (Optional)","woocommerce"),emailHelp:s=(0,v.__)("Share if you would like to discuss your experience or participate in future research.","woocommerce"),buttonText:l=(0,v.__)("Help us improve","woocommerce"),submitLabel:i=(0,v.__)("🙏🏻 Thanks for sharing — we're on it!","woocommerce"),wrapper:a,wrapperProps:d={}})=>{const{showCesModal:u}=(0,tt.useCustomerEffortScoreModal)();if(!window.wcTracks?.isEnabled)return null;const m=(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(tt.CustomerEffortScoreModalContainer,{}),(0,Y.jsx)(g.Button,{variant:"tertiary",icon:(0,Y.jsx)(ot,{}),iconSize:12,onClick:()=>{u({action:`${e.toLowerCase().replace(/\s+/g,"_")}_block_feedback`,title:t,firstQuestion:o,showDescription:!1,onsubmitLabel:i,getExtraFieldsToBeShown:(e,t,o)=>(0,Y.jsxs)("div",{children:[(0,Y.jsx)(g.TextareaControl,{label:r,value:e.feedback_comment||"",onChange:o=>t({...e,feedback_comment:o}),placeholder:c}),(0,Y.jsx)(g.TextControl,{label:n,type:"email",value:e.email||"",onChange:o=>t({...e,email:o}),help:o?.email?(0,Y.jsx)("span",{className:"woocommerce-customer-effort-score__errors",children:(0,Y.jsx)("p",{children:o.email})}):s})]}),validateExtraFields:({email:e=""})=>{const t={};return e.length>0&&!(0,je.isEmail)(e)&&(t.email=(0,v.__)("Please enter a valid email address.","woocommerce")),t}},{blockName:e,shouldShowComments:()=>!1},{},{})},className:"wc-block-editor__feedback-button",children:l})]});return a?(0,Y.jsx)(a,{...d,children:m}):m};var ct=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}(ct||{});const nt={"single-product":ct.SINGLE_PRODUCT,"archive-product":ct.PRODUCT_CATALOG,"taxonomy-product_cat":ct.PRODUCT_ARCHIVE,"taxonomy-product_tag":ct.PRODUCT_ARCHIVE,"taxonomy-product_attribute":ct.PRODUCT_ARCHIVE,"product-search-results":ct.PRODUCT_ARCHIVE,"order-confirmation":ct.ORDER_CONFIRMATION,"page-cart":ct.CART,"page-checkout":ct.CHECKOUT},st=e=>{const t=(0,l.useSelect)((e=>e(Ee.store).getCurrentPostType()),[]);if(t===ct.PAGE||t===ct.POST)return t;if(!e)return ct.OTHER;return nt[e]||(e.includes("single-product")?ct.SINGLE_PRODUCT:e.includes("taxonomy-product_cat")||e.includes("taxonomy-product_tag")?ct.PRODUCT_ARCHIVE:ct.OTHER)},lt=(0,v.__)("Columns","woocommerce"),it=(0,v.__)("Responsive","woocommerce"),at=(0,v.__)("Automatically adjust the number of columns to better fit smaller screens.","woocommerce"),dt=e=>{const{type:t,columns:o,shrinkColumns:r}=e.displayLayout,c="flex"===t,n=Ge(),s=()=>{e.setAttributes({displayLayout:n})};return c?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(g.__experimentalToolsPanelItem,{label:lt,hasValue:()=>n?.columns!==o,isShownByDefault:!0,onDeselect:s,children:(0,Y.jsx)(g.RangeControl,{__next40pxDefaultSize:!0,label:lt,onChange:t=>e.setAttributes({displayLayout:{...e.displayLayout,columns:t}}),value:o,min:1,max:Math.max(6,o)})}),(0,Y.jsx)(g.__experimentalToolsPanelItem,{label:it,hasValue:()=>n?.shrinkColumns!==r,isShownByDefault:!0,onDeselect:s,children:(0,Y.jsx)(g.ToggleControl,{checked:!!r,label:it,help:at,onChange:t=>{e.setAttributes({displayLayout:{...e.displayLayout,shrinkColumns:t}})}})})]}):null},ut=(0,v.__)("Query type","woocommerce"),mt=(0,v.__)("Default","woocommerce"),pt=(0,v.__)("Custom","woocommerce"),_t=(0,v.__)("Display products based on the current template and allow shoppers to filter.","woocommerce"),ht=(0,v.__)("Show products based on specific criteria and allow shoppers to filter.","woocommerce"),gt=(0,v.__)("Show a list of products based on fixed criteria.","woocommerce"),wt=({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)((()=>He()),[]);return(0,Y.jsx)(g.__experimentalToolsPanelItem,{label:ut,hasValue:()=>r!==n,isShownByDefault:!0,onDeselect:()=>{e({inherit:n}),t(C.INHERIT)},children:(0,Y.jsxs)(g.__experimentalToggleGroupControl,{className:"wc-block-product-collection__inherit-query-control",isBlock:!0,label:ut,help:r?_t:gt,value:r?"default":"custom",onChange:o=>{e("default"===o?{...F,inherit:!0}:{...F,...c,inherit:!1}),t(C.INHERIT)},children:[(0,Y.jsx)(g.__experimentalToggleGroupControlOption,{value:"default",label:mt}),(0,Y.jsx)(g.__experimentalToggleGroupControlOption,{value:"custom",label:pt})]})})},xt=({setQueryAttribute:e,trackInteraction:t,query:o})=>{const r=o?.filterable,c=(0,s.useMemo)((()=>Ve()),[]);return(0,Y.jsx)(g.__experimentalToolsPanelItem,{label:ut,hasValue:()=>r!==c,isShownByDefault:!0,onDeselect:()=>{e({filterable:c}),t(C.FILTERABLE)},children:(0,Y.jsxs)(g.__experimentalToggleGroupControl,{className:"wc-block-product-collection__inherit-query-control",isBlock:!0,label:ut,help:r?ht:gt,value:r?"default":"custom",onChange:o=>{e({filterable:"default"===o}),t(C.FILTERABLE)},children:[(0,Y.jsx)(g.__experimentalToggleGroupControlOption,{value:"default",label:mt}),(0,Y.jsx)(g.__experimentalToggleGroupControlOption,{value:"custom",label:pt})]})})},yt=(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=yt(o,t);if(e)return e}return null},bt=(e,t)=>yt(e,(function(e){return e.name===t})),ft={layout:{}},Ct={layout:{type:"flex",justifyContent:"left",verticalAlignment:"top",flexWrap:"nowrap",orientation:"horizontal"}},vt=(e,t)=>{const{displayLayout:o,collection:c}=t,i=(0,s.useRef)(o.type),a=(0,l.useDispatch)(n.store),{productCollectionBlock:d}=(0,l.useSelect)((t=>({productCollectionBlock:t(n.store).getBlock(e)})),[e]);(0,s.useEffect)((()=>{e&&(o?.type===x.CAROUSEL&&i.current!==x.CAROUSEL&&((e,t)=>{const{removeBlock:o,insertBlock:c,updateBlockAttributes:s}=t,i=bt(e,G),a=bt(e,H),d=bt(e,q),u=e?.clientId,m=i?.clientId;s(m,Ct);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 _;a&&o(a.clientId,!1)})(d,a),o?.type!==x.CAROUSEL&&i.current===x.CAROUSEL&&((e,t,o)=>{const{removeBlock:c,insertBlock:s,updateBlockAttributes:i}=t,a=bt(e,G);i(a?.clientId,ft);const d=yt(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=bt(d,q);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=bt(e,V);c(t?.clientId,!1)}}o||s((0,r.createBlock)(H,W),e.innerBlocks.length,e.clientId,!1)})(d,a,c),i.current=o.type)}),[o.type,e,a,c])},kt=({hasValue:e=()=>!0,orderOptions:t,onChange:o,onDeselect:r=()=>{},selectedValue:c,label:n,help:s})=>(0,Y.jsx)(g.__experimentalToolsPanelItem,{label:n||(0,v.__)("Order by","woocommerce"),hasValue:e,isShownByDefault:!0,onDeselect:r,resetAllFilter:r,children:(0,Y.jsx)(g.SelectControl,{value:c,options:t,label:n||(0,v.__)("Order by","woocommerce"),onChange:o,help:s})}),Et=[{label:(0,v.__)("Newest to oldest","woocommerce"),value:"date"},{label:(0,v.__)("Price, high to low","woocommerce"),value:"price-desc"},{label:(0,v.__)("Price, low to high","woocommerce"),value:"price"},{label:(0,v.__)("Sales, high to low","woocommerce"),value:"popularity"},{label:(0,v.__)("Rating, high to low","woocommerce"),value:"rating"},{value:"menu_order",label:(0,v.__)("Manual (menu order + name)","woocommerce")}],St=({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,Y.jsx)(kt,{label:(0,v.__)("Default sort by","woocommerce"),selectedValue:o,orderOptions:Et,onChange:t=>{r(t),(0,l.dispatch)(i.store).editEntityRecord("root","site",void 0,{woocommerce_default_catalog_orderby:t}),e(C.DEFAULT_ORDER)},help:(0,v.__)("All Product Collection blocks using the Default Query will sync to this sort order.","woocommerce")})},jt=[{label:(0,v.__)("A → Z","woocommerce"),value:"title/asc"},{label:(0,v.__)("Z → A","woocommerce"),value:"title/desc"},{label:(0,v.__)("Newest to oldest","woocommerce"),value:"date/desc"},{label:(0,v.__)("Oldest to newest","woocommerce"),value:"date/asc"},{label:(0,v.__)("Price, high to low","woocommerce"),value:"price/desc"},{label:(0,v.__)("Price, low to high","woocommerce"),value:"price/asc"},{label:(0,v.__)("Sales, high to low","woocommerce"),value:"sales/desc"},{label:(0,v.__)("Sales, low to high","woocommerce"),value:"sales/asc"},{value:"rating/desc",label:(0,v.__)("Rating, high to low","woocommerce")},{value:"rating/asc",label:(0,v.__)("Rating, low to high","woocommerce")},{value:"menu_order/asc",label:(0,v.__)("Manual (menu order + name)","woocommerce")},{value:"random",label:(0,v.__)("Random","woocommerce")}],At=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,Y.jsx)(kt,{selectedValue:s,hasValue:()=>c!==F.order||n!==F.orderBy,orderOptions:jt,onChange:e=>{const[t,c]=e.split("/");r({orderBy:t,order:c||void 0}),o(C.ORDER)},onDeselect:()=>{r({orderBy:F.orderBy}),o(C.ORDER)},help:(0,v.__)("Set the products order in this collection.","woocommerce")})},Rt=e=>{const{query:t,trackInteraction:o,setQueryAttribute:r}=e,c=()=>{r({woocommerceOnSale:U.woocommerceOnSale}),o(C.ON_SALE)};return(0,Y.jsx)(g.__experimentalToolsPanelItem,{label:(0,v.__)("On Sale","woocommerce"),hasValue:()=>!0===t.woocommerceOnSale,isShownByDefault:!0,onDeselect:c,resetAllFilter:c,children:(0,Y.jsx)(g.ToggleControl,{label:(0,v.__)("Show only products on sale","woocommerce"),checked:t.woocommerceOnSale||!1,onChange:e=>{r({woocommerceOnSale:e}),o(C.ON_SALE)}})})};function Tt(e){const t="string"==typeof e?e:e.value;return Object.entries(D).find((([,e])=>e===t))?.[0]}const It=e=>{const{query:t,trackInteraction:o,setQueryAttribute:r}=e,c=()=>{r({woocommerceStockStatus:U.woocommerceStockStatus}),o(C.STOCK_STATUS)};return(0,Y.jsx)(g.__experimentalToolsPanelItem,{label:(0,v.__)("Stock Status","woocommerce"),hasValue:()=>!Je()(t.woocommerceStockStatus,B()),onDeselect:c,resetAllFilter:c,isShownByDefault:!0,children:(0,Y.jsx)(g.FormTokenField,{label:(0,v.__)("Stock Status","woocommerce"),onChange:e=>{const t=e.map(Tt).filter(Boolean);r({woocommerceStockStatus:t}),o(C.STOCK_STATUS)},suggestions:Object.values(D),validateInput:e=>Object.values(D).includes(e),value:t?.woocommerceStockStatus?.map((e=>D[e]))||[],__experimentalExpandOnFocus:!0,__experimentalShowHowTo:!1})})},Pt=e=>{const{query:t,trackInteraction:o,setQueryAttribute:r}=e,[c,n]=(0,s.useState)(t.search),l=(0,A.useDebounce)((()=>{t.search!==c&&(r({search:c}),o(C.KEYWORD))}),250);(0,s.useEffect)((()=>(l(),l.cancel)),[c,l]);const i=()=>{n(""),o(C.KEYWORD)};return(0,Y.jsx)(g.__experimentalToolsPanelItem,{hasValue:()=>!!c,label:(0,v.__)("Keyword","woocommerce"),onDeselect:i,resetAllFilter:i,children:(0,Y.jsx)(g.TextControl,{label:(0,v.__)("Keyword","woocommerce"),value:c,onChange:n})})};var Ot=o(4921);function Lt(e,t,o){const r=new Set(t.map((e=>e[o])));return e.filter((e=>!r.has(e[o])))}const Dt=window.wp.htmlEntities,Nt={clear:(0,v.__)("Clear all selected items","woocommerce"),noItems:(0,v.__)("No items found.","woocommerce"),
/* Translators: %s search term */
noResults:(0,v.__)("No results for %s","woocommerce"),search:(0,v.__)("Search for items","woocommerce"),selected:e=>(0,v.sprintf)(/* translators: Number of items selected from list. */ /* translators: Number of items selected from list. */
(0,v._n)("%d item selected","%d items selected",e,"woocommerce"),e),updated:(0,v.__)("Search results updated.","woocommerce")},Bt=(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},Ft=(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,Y.jsx)("strong",{children:e},t):(0,Y.jsx)(s.Fragment,{children:e},t)))},Mt=({label:e})=>(0,Y.jsx)("span",{className:"woocommerce-search-list__item-count",children:e}),Ut=e=>{const{item:t,search:o}=e,r=t.breadcrumbs&&t.breadcrumbs.length;return(0,Y.jsxs)("span",{className:"woocommerce-search-list__item-label",children:[r?(0,Y.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,Y.jsx)("span",{className:"woocommerce-search-list__item-name",children:Ft((0,Dt.decodeEntities)(t.name),o)})]});var c},qt=({countLabel:e,className:t,depth:o=0,controlId:r="",item:c,isSelected:n,isSingle:l,onSelect:i,search:a="",selected:d,useExpandedPanelId:u,...m})=>{const[p,_]=u,h=null!=e&&void 0!==c.count&&null!==c.count,w=!!c.breadcrumbs?.length,x=!!c.children?.length,y=p===c.id,b=(0,Ot.A)(["woocommerce-search-list__item",`depth-${o}`,t],{"has-breadcrumbs":w,"has-children":x,"has-count":h,"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,Y.jsx)("div",{className:b,onClick:v,onKeyDown:e=>"Enter"===e.key||" "===e.key?v():null,role:"treeitem",tabIndex:0,children:l?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)("input",{type:"radio",id:C,name:f,value:c.value,onChange:i(c),onClick:e=>e.stopPropagation(),checked:n,className:"woocommerce-search-list__item-input",...m}),(0,Y.jsx)(Ut,{item:c,search:a}),h?(0,Y.jsx)(Mt,{label:e||c.count}):null]}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(g.CheckboxControl,{className:"woocommerce-search-list__item-input",checked:n,...!n&&c.children.some((e=>d.find((t=>t.id===e.id))))?{indeterminate:!0}:{},label:Ft((0,Dt.decodeEntities)(c.name),a),onChange:()=>{n?i(Lt(d,c.children,"id"))():i(function(e,t){const o=Lt(t,e,"id");return[...e,...o]}(d,c.children))()},onClick:e=>e.stopPropagation()}),h?(0,Y.jsx)(Mt,{label:e||c.count}):null]})}):(0,Y.jsxs)("label",{htmlFor:C,className:b,children:[l?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)("input",{...m,type:"radio",id:C,name:f,value:c.value,onChange:i(c),checked:n,className:"woocommerce-search-list__item-input"}),(0,Y.jsx)(Ut,{item:c,search:a})]}):(0,Y.jsx)(g.CheckboxControl,{...m,id:C,name:f,className:"woocommerce-search-list__item-input",value:(0,Dt.decodeEntities)(c.value),label:Ft((0,Dt.decodeEntities)(c.name),a),onChange:i(c),checked:n}),h?(0,Y.jsx)(Mt,{label:e||c.count}):null]})},Ht=qt;var Vt=o(2624),Gt=o(3028);o(5022);const $t=({id:e,label:t,popoverContents:o,remove:r,screenReaderLabel:c,className:n=""})=>{const[l,i]=(0,s.useState)(!1),a=(0,A.useInstanceId)($t);if(c=c||t,!t)return null;t=(0,Dt.decodeEntities)(t);const d=(0,Ot.A)("woocommerce-tag",n,{"has-remove":!!r}),u=`woocommerce-tag__label-${a}`,m=(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)("span",{className:"screen-reader-text",children:c}),(0,Y.jsx)("span",{"aria-hidden":"true",children:t})]});return(0,Y.jsxs)("span",{className:d,children:[o?(0,Y.jsx)(g.Button,{className:"woocommerce-tag__text",id:u,onClick:()=>i(!0),children:m}):(0,Y.jsx)("span",{className:"woocommerce-tag__text",id:u,children:m}),o&&l&&(0,Y.jsx)(g.Popover,{onClose:()=>i(!1),children:o}),r&&(0,Y.jsx)(g.Button,{className:"woocommerce-tag__remove",onClick:r(e),label:(0,v.sprintf)(
// Translators: %s label.
// Translators: %s label.
(0,v.__)("Remove %s","woocommerce"),t),"aria-describedby":u,children:(0,Y.jsx)(T.A,{icon:Gt.A,size:20,className:"clear-icon",role:"img"})})]})},Wt=$t;o(1939);const Qt=e=>(0,Y.jsx)(Ht,{...e}),Kt=e=>{const{list:t,selected:o,renderItem:r,depth:c=0,onSelect:n,instanceId:l,isSingle:i,search:a,useExpandedPanelId:d}=e,[u]=d;return t?(0,Y.jsx)(Y.Fragment,{children:t.map((t=>{const m=t.children?.length&&!i?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,Y.jsxs)(s.Fragment,{children:[(0,Y.jsx)("li",{children:r({item:t,isSelected:m,onSelect:n,isSingle:i,selected:o,search:a,depth:c,useExpandedPanelId:d,controlId:l})}),p?(0,Y.jsx)(Kt,{...e,list:t.children,depth:c+1}):null]},t.id)}))}):null},Yt=({isLoading:e,isSingle:t,selected:o,messages:r,onChange:c,onRemove:n})=>{if(e||t||!o)return null;const s=o.length;return(0,Y.jsxs)("div",{className:"woocommerce-search-list__selected",children:[(0,Y.jsxs)("div",{className:"woocommerce-search-list__selected-header",children:[(0,Y.jsx)("strong",{children:r.selected(s)}),s>0?(0,Y.jsx)(g.Button,{variant:"link",isDestructive:!0,onClick:()=>c([]),"aria-label":r.clear,children:(0,v.__)("Clear all","woocommerce")}):null]}),s>0?(0,Y.jsx)("ul",{children:o.map(((e,t)=>(0,Y.jsx)("li",{children:(0,Y.jsx)(Wt,{label:e.name,id:e.id,remove:n})},t)))}):null]})},zt=({filteredList:e,search:t,onSelect:o,instanceId:r,useExpandedPanelId:c,...n})=>{const{messages:s,renderItem:l,selected:i,isSingle:a}=n,d=l||Qt;return 0===e.length?(0,Y.jsxs)("div",{className:"woocommerce-search-list__list is-not-found",children:[(0,Y.jsx)("span",{className:"woocommerce-search-list__not-found-icon",children:(0,Y.jsx)(T.A,{icon:Vt.A,role:"img"})}),(0,Y.jsx)("span",{className:"woocommerce-search-list__not-found-text",children:t?(0,v.sprintf)(s.noResults,t):s.noItems})]}):(0,Y.jsx)("ul",{className:"woocommerce-search-list__list",children:(0,Y.jsx)(Kt,{useExpandedPanelId:c,list:e,selected:i,renderItem:d,onSelect:o,instanceId:r,isSingle:a,search:t})})},Zt=e=>{const{className:t="",isCompact:o,isHierarchical:r,isLoading:c,isSingle:n,list:l,messages:i=Nt,onChange:a,onSearch:d,selected:u,type:m="text",debouncedSpeak:p}=e,[_,h]=(0,s.useState)(""),w=(0,s.useState)(-1),x=(0,A.useInstanceId)(Zt),y=(0,s.useMemo)((()=>({...Nt,...i})),[i]),b=(0,s.useMemo)((()=>((e,t,o)=>{if(!t)return o?Bt(e):e;const r=new RegExp(t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"i"),c=e.map((e=>!!r.test(e.name)&&e)).filter(Boolean);return o?Bt(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&&a([]);const t=u.findIndex((({id:t})=>t===e));a([...u.slice(0,t),...u.slice(t+1)])}),[n,u,a]),C=(0,s.useCallback)((e=>()=>{Array.isArray(e)?a(e):-1===u.findIndex((({id:t})=>t===e.id))?a(n?[e]:[...u,e]):f(e.id)()}),[n,f,a,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,Y.jsxs)("div",{className:(0,Ot.A)("woocommerce-search-list",t,{"is-compact":o,"is-loading":c,"is-token":"token"===m}),children:["text"===m&&(0,Y.jsx)(Yt,{...e,onRemove:f,messages:y}),(0,Y.jsx)("div",{className:"woocommerce-search-list__search",children:"text"===m?(0,Y.jsx)(g.TextControl,{label:y.search,type:"search",value:_,onChange:e=>h(e)}):(0,Y.jsx)(g.FormTokenField,{disabled:c,label:y.search,onChange:k,onInputChange:e=>h(e),suggestions:[],__experimentalValidateInput:()=>!1,value:c?[(0,v.__)("Loading…","woocommerce")]:u.map((e=>({...e,value:e.name}))),__experimentalShowHowTo:!1})}),c?(0,Y.jsx)("div",{className:"woocommerce-search-list__list",children:(0,Y.jsx)(g.Spinner,{})}):(0,Y.jsx)(zt,{...e,search:_,filteredList:b,messages:y,onSelect:C,instanceId:x,useExpandedPanelId:w})]})},Xt=((0,g.withSpokenMessages)(Zt),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 Jt=window.wp.escapeHtml,eo=({message:e,type:t})=>e?"general"===t?(0,Y.jsxs)("span",{children:[(0,v.__)("The following error was returned","woocommerce"),(0,Y.jsx)("br",{}),(0,Y.jsx)("code",{children:(0,Jt.escapeHTML)(e)})]}):"api"===t?(0,Y.jsxs)("span",{children:[(0,v.__)("The following error was returned from the API","woocommerce"),(0,Y.jsx)("br",{}),(0,Y.jsx)("code",{children:(0,Jt.escapeHTML)(e)})]}):e:(0,v.__)("An error has prevented the block from being updated.","woocommerce"),to=({error:e})=>(0,Y.jsx)("div",{className:"wc-block-error-message",children:eo(e)});var oo=o(1609);const ro=({className:e,item:t,isSelected:o,isLoading:r,onSelect:c,disabled:n,...s})=>(0,Y.jsxs)(Y.Fragment,{children:[(0,oo.createElement)(qt,{...s,key:t.id,className:e,isSelected:o,item:t,onSelect:c,disabled:n}),o&&r&&(0,Y.jsx)("div",{className:(0,Ot.A)("woocommerce-search-list__item","woocommerce-product-attributes__item","depth-1","is-loading","is-not-active"),children:(0,Y.jsx)(g.Spinner,{})},"loading")]}),co=((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,Se.isAttributeTerm)(e)?e.attr_slug:""}});o(2663);const no=(0,A.withInstanceId)((({onChange:e,onOperatorChange:t,instanceId:o,isCompact:r=!1,messages:c={},operator:n="any",selected:l,type:i="text"})=>{const{errorLoadingAttributes:a,isLoadingAttributes:d,productsAttributes:u}=function(e){const[t,o]=(0,s.useState)(null),[r,c]=(0,s.useState)(!1),[n,l]=(0,s.useState)([]),i=(0,s.useRef)(!1);return(0,s.useEffect)((()=>{if(e&&!r&&!i.current)return async function(){c(!0);try{const e=await Re()({path:"wc/store/v1/products/attributes"}),t=[];for(const o of e){const e=await Fe(o.id);t.push({...o,parent:0,terms:e.map((e=>({...e,attr_slug:o.taxonomy,parent:o.id})))})}l(t),i.current=!0}catch(e){e instanceof Error&&o(await Xt(e))}finally{c(!1)}}(),()=>{i.current=!0}}),[r,e]),{errorLoadingAttributes:t,isLoadingAttributes:r,productsAttributes:n}}(!0),m=u.reduce(((e,t)=>{const{terms:o,...r}=t;return[...e,co(r),...o.map(co)]}),[]);return c={clear:(0,v.__)("Clear all product attributes","woocommerce"),noItems:(0,v.__)("Your store doesn't have any product attributes.","woocommerce"),search:(0,v.__)("Search for product attributes","woocommerce"),selected:e=>(0,v.sprintf)(/* translators: %d is the count of attributes selected. */ /* translators: %d is the count of attributes selected. */
(0,v._n)("%d attribute selected","%d attributes selected",e,"woocommerce"),e),updated:(0,v.__)("Product attribute search results updated.","woocommerce"),...c},a?(0,Y.jsx)(to,{error:a}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(Zt,{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,Y.jsx)(ro,{...e,className:(0,Ot.A)(s),item:t,isLoading:d,disabled:0===t.count,name:`attributes-${o}`,countLabel:(0,v.sprintf)(/* translators: %d is the count of terms. */ /* translators: %d is the count of terms. */
(0,v._n)("%d term","%d terms",n,"woocommerce"),n),"aria-label":(0,v.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,v._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,Y.jsx)(qt,{...e,name:`terms-${o}`,className:(0,Ot.A)(...s,"has-count"),countLabel:(0,v.sprintf)(/* translators: %d is the count of products. */ /* translators: %d is the count of products. */
(0,v._n)("%d product","%d products",n,"woocommerce"),n),"aria-label":(0,v.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,v._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:i}),!!t&&(0,Y.jsx)("div",{hidden:l.length<2,children:(0,Y.jsx)(g.SelectControl,{className:"woocommerce-product-attributes__operator",label:(0,v.__)("Display products matching","woocommerce"),help:(0,v.__)("Pick at least two attributes to use this setting.","woocommerce"),value:n,onChange:t,options:[{label:(0,v.__)("Any selected attributes","woocommerce"),value:"any"},{label:(0,v.__)("All selected attributes","woocommerce"),value:"all"}]})})]})})),so=`${P.ADMIN_URL}edit.php?post_type=product&page=product_attributes`,lo=({query:e,trackInteraction:t,setQueryAttribute:o})=>{const r=e.woocommerceAttributes||[],c=r?.map((({termId:e})=>({id:e}))),n=()=>{o({woocommerceAttributes:U.woocommerceAttributes}),t(C.ATTRIBUTES)};return(0,Y.jsxs)(g.__experimentalToolsPanelItem,{label:(0,v.__)("Product Attributes","woocommerce"),hasValue:()=>!!r?.length,onDeselect:n,resetAllFilter:n,children:[(0,Y.jsx)(no,{messages:{search:(0,v.__)("Attributes","woocommerce")},selected:c||[],onChange:e=>{const r=e.map((({id:e,value:t})=>({termId:e,taxonomy:t})));o({woocommerceAttributes:r}),t(C.ATTRIBUTES)},operator:"any",isCompact:!0,type:"token"}),(0,Y.jsx)(g.ExternalLink,{className:"wc-block-editor-product-collection-panel__manage-attributes-link",href:so,children:(0,v.__)("Manage attributes","woocommerce")})]})},io={_fields:"id,name",order:"asc",orderby:"name",context:"view"},ao=e=>{var t;const o=e.match(/^(?:(.+) )?\(#(\d+)\)$/);return!!o&&{name:null!==(t=o[1])&&void 0!==t?t:"",id:parseInt(o[2],10)}},uo=({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,{...io,include:t}];return{existingTerms:r(...n),isLoadingExistingTerms:!c("getEntityRecords",n)}}),[e,t]),[n,i]=(0,s.useState)(""),{searchTerms:a}=(0,l.useSelect)((o=>{if(n.length<=1)return{searchTerms:[]};const{getEntityRecords:r}=o("core");return{searchTerms:r("taxonomy",e.slug,{...io,exclude:t,search:n})}}),[e,t,n]),d=(0,A.useDebounce)(i,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):[],h=a?a.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,Y.jsx)("div",{className:"wc-block-editor-product-collection-inspector__taxonomy-control",children:(0,Y.jsx)(g.FormTokenField,{label:e.name,value:_,onInputChange:d,onChange:e=>{const t=[];e.forEach((e=>{const o=ao(e);o&&t.push(o.id)})),o(t)},suggestions:h,disabled:c,displayTransform:e=>{const t=ao(e);return t&&(e=t.name?m.has(t.name)?`${t.name} (#${t.id})`:t.name:`(#${t.id} ${(0,v.__)("Missing","woocommerce")})`),(0,Dt.decodeEntities)(e)||""},__experimentalShowHowTo:!1})})},mo=()=>{const e=(0,l.useSelect)((e=>{const{getTaxonomies:t}=e(i.store);return t({type:"product",per_page:-1})}),[]);return(0,s.useMemo)((()=>e?.filter((({visibility:e})=>!!e?.publicly_queryable))),[e])},po=e=>e?e.split(" ").map((e=>e.charAt(0).toUpperCase()+e.slice(1))).join(" "):"",_o=function({setQueryAttribute:e,trackInteraction:t,query:o,collection:r,renderMode:c="panel"}){const{filteredTaxonomies:n,taxQuery:l,createHandleChange:i,shouldShowTaxonomyControl:a}=function({setQueryAttribute:e,trackInteraction:t,query:o,collection:r,isFiltersPanel:c}){const{taxQuery:n}=o,l=mo(),i=(0,s.useMemo)((()=>l&&0!==l.length?r===f.BY_CATEGORY?l.filter((e=>c?"product_cat"!==e.slug:"product_cat"===e.slug)):r===f.BY_TAG?l.filter((e=>c?"product_tag"!==e.slug:"product_tag"===e.slug)):c?l:[]:[]),[l,r,c]),a=i.length>0;return{filteredTaxonomies:i,taxQuery:n,createHandleChange:o=>r=>{e({taxQuery:{...n,[o]:r}}),t(`${C.TAXONOMY}__${o}`)},shouldShowTaxonomyControl:a}}({query:o,collection:r,setQueryAttribute:e,trackInteraction:t,isFiltersPanel:"panel"===c});if(!a)return null;const d=e=>{const{slug:t}=e,o=l?.[t]||[],r=i(t);return(0,Y.jsx)(uo,{taxonomy:e,termIds:o,onChange:r},t)};return(0,Y.jsx)(Y.Fragment,{children:n.map((e=>"panel"===c?(e=>{const{slug:t,name:o}=e,r=l?.[t]||[],c=i(t),n=()=>c([]);return(0,Y.jsx)(g.__experimentalToolsPanelItem,{label:po(o),hasValue:()=>r.length>0,onDeselect:n,resetAllFilter:n,children:d(e)},t)})(e):d(e)))})},ho=({query:e,trackInteraction:t,setQueryAttribute:o})=>{const r=(Te.productCount||0)>100,c=e.woocommerceHandPickedProducts,[n,l]=(0,s.useState)(""),{productsMap:i,productsList:a,productsLoaded:d}=function(e,t,o=[]){const[r,c]=(0,s.useState)(new Map),[n,l]=(0,s.useState)([]),[i,a]=(0,s.useState)(!1);return(0,s.useEffect)((()=>{const r={selected:e?o.map(Number):[],queryArgs:e?{search:t,per_page:40}:{per_page:100}};Be(r).then((e=>{const t=new Map;e.forEach((e=>{t.set(e.id,e),t.set(e.name,e)})),l(e),c(t),a(!0)}))}),[e,t,o]),{productsMap:r,productsList:n,productsLoaded:i}}(r,n,c),u=(0,A.useDebounce)(l,250),m=(0,s.useMemo)((()=>c?.length&&i.size?c.filter((e=>!!i.get(Number(e)))):c||[]),[c,i]);(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=i.get(t)||i.get(Number(t));return o&&e.add(String(o.id)),e}),new Set);o({woocommerceHandPickedProducts:Array.from(r)}),t(C.HAND_PICKED)}),[o,t,i]),_=(0,s.useMemo)((()=>a.filter((e=>!m?.includes(String(e.id)))).map((e=>e.name))),[a,m]);return(0,Y.jsx)(g.FormTokenField,{displayTransform:e=>{const t=Number(e);if(Number.isNaN(t))return(0,Dt.decodeEntities)(e)||"";const o=i.get(t);return(0,Dt.decodeEntities)(o?.name)||""},label:(0,v.__)("Hand-Picked","woocommerce"),onChange:p,onInputChange:r?u:void 0,suggestions:_,__experimentalValidateInput:e=>i.has(e),value:d?m||[]:[(0,v.__)("Loading…","woocommerce")],__experimentalExpandOnFocus:!0,__experimentalShowHowTo:!1,placeholder:(0,v.__)("Search for products to display…","woocommerce")})},go=({query:e,trackInteraction:t,setQueryAttribute:o})=>{const r=e.woocommerceHandPickedProducts,c=()=>{o({woocommerceHandPickedProducts:U.woocommerceHandPickedProducts}),t(C.HAND_PICKED)};return(0,Y.jsx)(g.__experimentalToolsPanelItem,{label:(0,v.__)("Hand-Picked","woocommerce"),hasValue:()=>!!r?.length,onDeselect:c,resetAllFilter:c,children:(0,Y.jsx)(ho,{query:e,trackInteraction:t,setQueryAttribute:o})})},wo=e=>{switch(e){case x.GRID:return(0,v.__)("Display products using rows and columns.","woocommerce");case x.STACK:return(0,v.__)("Display products in a single column.","woocommerce");case x.CAROUSEL:return(0,v.__)("Display products in a carousel. It displays a single row of products.","woocommerce");default:return""}},xo=x.GRID,yo=e=>{const{type:t,columns:o,shrinkColumns:r}=e.displayLayout,c=t=>{e.setAttributes({displayLayout:{type:t,columns:o,shrinkColumns:r}})};return(0,Y.jsx)(g.__experimentalToolsPanelItem,{label:(0,v.__)("Layout","woocommerce"),hasValue:()=>t!==xo,isShownByDefault:!0,onDeselect:()=>{c(x.GRID)},children:(0,Y.jsxs)(g.__experimentalToggleGroupControl,{label:(0,v.__)("Layout","woocommerce"),isBlock:!0,onChange:e=>{c(e)},help:wo(t),value:t,children:[(0,Y.jsx)(g.__experimentalToggleGroupControlOption,{value:x.STACK,label:(0,v.__)("Stack","woocommerce")}),(0,Y.jsx)(g.__experimentalToggleGroupControlOption,{value:x.GRID,label:(0,v.__)("Grid","woocommerce")}),(0,Y.jsx)(g.__experimentalToggleGroupControlOption,{value:x.CAROUSEL,label:(0,v.__)("Carousel","woocommerce")})]})})},bo=e=>{const{query:t,trackInteraction:o,setQueryAttribute:r}=e,c=()=>{r({featured:U.featured}),o(C.FEATURED)};return(0,Y.jsx)(g.__experimentalToolsPanelItem,{label:(0,v.__)("Featured","woocommerce"),hasValue:()=>!0===t.featured,onDeselect:c,resetAllFilter:c,children:(0,Y.jsx)(g.BaseControl,{id:"product-collection-featured-products-control",label:(0,v.__)("Featured","woocommerce"),children:(0,Y.jsx)(g.ToggleControl,{label:(0,v.__)("Show only featured products","woocommerce"),checked:t.featured||!1,onChange:e=>{r({featured:e}),o(C.FEATURED)}})})})},fo=e=>{const{query:t,trackInteraction:o,setQueryAttribute:r}=e,{timeFrame:c}=t,n=()=>{r({timeFrame:U.timeFrame}),o(C.CREATED)};return(0,Y.jsx)(g.__experimentalToolsPanelItem,{label:(0,v.__)("Created","woocommerce"),hasValue:()=>c?.operator&&c?.value,onDeselect:n,resetAllFilter:n,children:(0,Y.jsxs)(g.Flex,{direction:"column",gap:3,children:[(0,Y.jsx)(g.FlexItem,{children:(0,Y.jsxs)(g.__experimentalToggleGroupControl,{label:(0,v.__)("Created","woocommerce"),isBlock:!0,onChange:e=>{r({timeFrame:{...c,operator:e}}),o(C.CREATED)},value:c?.operator||b.IN,children:[(0,Y.jsx)(g.__experimentalToggleGroupControlOption,{value:b.IN,label:(0,v._x)("Within","Product Collection query operator","woocommerce")}),(0,Y.jsx)(g.__experimentalToggleGroupControlOption,{value:b.NOT_IN,label:(0,v._x)("Before","Product Collection query operator","woocommerce")})]})}),(0,Y.jsx)(g.FlexItem,{children:(0,Y.jsx)(g.RadioControl,{onChange:e=>{r({timeFrame:{operator:b.IN,...c,value:e}}),o(C.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})})]})})},Co=window.wc.priceFormat,vo=({value:e,onChange:t,label:o})=>{const[r,c]=(0,s.useState)(`${e||""}`),n=(0,Co.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),i=((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,Y.jsx)(g.__experimentalInputControl,{value:i,onChange:e=>{c(e)},onBlur:()=>{t(l)},onKeyDown:e=>{"Enter"===e.key&&t(l)},label:o,prefix:(0,Y.jsx)(g.__experimentalInputControlPrefixWrapper,{children:o}),placeholder:(0,v.__)("Auto","woocommerce"),hideLabelFromVision:!0,type:"text",style:{textAlign:"right"},__next40pxDefaultSize:!0})},ko=e=>{const{query:t,trackInteraction:o,setQueryAttribute:r}=e,c=t.priceRange,n=()=>{r({priceRange:U.priceRange}),o(C.PRICE_RANGE)};return(0,Y.jsxs)(g.__experimentalToolsPanelItem,{label:(0,v.__)("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,Y.jsx)(g.BaseControl.VisualLabel,{children:(0,v.__)("PRICE RANGE","woocommerce")}),(0,Y.jsxs)(g.__experimentalHStack,{spacing:"2",children:[(0,Y.jsx)(vo,{label:(0,v.__)("MIN","woocommerce"),value:c?.min,onChange:e=>{r({priceRange:{min:0===e?void 0:e,max:c?.max}}),o(C.PRICE_RANGE)}}),(0,Y.jsx)(vo,{label:(0,v.__)("MAX","woocommerce"),value:c?.max,onChange:e=>{const t=0===e?void 0:e;r({priceRange:{min:c?.min,max:t}}),o(C.PRICE_RANGE)}})]})]})};var Eo=o(4347);var So=o(923),jo=o.n(So);const Ao=(0,A.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&&(!jo()(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,Re()({path:(0,je.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 Xt(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,Y.jsx)(e,{...this.props,error:r||t,expandedProduct:this.getExpandedProduct(),isLoading:o,variations:n,variationsLoading:c})}}return t}),"withProductVariations"),Ro=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 To={list:(0,v.__)("Products","woocommerce"),noItems:(0,v.__)("Your store doesn't have any products.","woocommerce"),search:(0,v.__)("Search for a product to display","woocommerce"),updated:(0,v.__)("Product search results updated.","woocommerce")},Io=(e=>t=>{let{selected:o}=t;o=void 0===o?null:o;const r=null===o;return Array.isArray(o)?(0,Y.jsx)(e,{...t}):(0,Y.jsx)(e,{...t,selected:r?[]:[o]})})((Bo=Ao((0,A.withInstanceId)((e=>{const{expandedProduct:t=null,error:o,instanceId:r,isCompact:c=!1,isLoading:n,onChange:s,onSearch:l,products:i,renderItem:a,selected:d=[],showVariations:u=!1,variations:m,variationsLoading:p}=e;if(o)return(0,Y.jsx)(to,{error:o});const _=[...i,...m&&t&&m[t]?m[t]:[]].map(Ro);return(0,Y.jsx)(Zt,{className:"woocommerce-products",list:_,isCompact:c,isLoading:n,isSingle:!0,selected:_.filter((({id:e})=>d.includes(Number(e)))),onChange:s,renderItem:a||(u?e=>{const{item:t,search:o,depth:c=0,isSelected:s,onSelect:l}=e,i=t.details?.variations&&Array.isArray(t.details.variations)?t.details.variations.length:0,a=(0,Ot.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":i>0});if(!t.breadcrumbs.length){const o=t.details?.variations&&t.details.variations.length>0;return(0,Y.jsx)(ro,{...e,className:(0,Ot.A)(a,{"is-selected":s}),isSelected:s,item:t,onSelect:()=>()=>{l(t)()},isLoading:n||p,countLabel:o?(0,v.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,v.__)("%1$d variations","woocommerce"),t.details?.variations.length):null,name:`products-${r}`,"aria-label":o?(0,v.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,v._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,Se.isEmpty)(t.details?.variation)?e:{...e,item:{...e.item,name:t.details?.variation},"aria-label":`${t.breadcrumbs[0]}: ${t.details?.variation}`};return(0,Y.jsx)(qt,{...d,className:a,name:`variations-${r}`})}:void 0),onSearch:l,messages:{...To,...e.messages},isHierarchical:!0})}))),({selected:e,...t})=>{const[o,r]=(0,s.useState)(!0),[c,n]=(0,s.useState)(null),[l,i]=(0,s.useState)([]),a=Te.productCount>100,d=async e=>{const t=await Xt(e);n(t),r(!1)},u=(0,s.useRef)(e);(0,s.useEffect)((()=>{Be({selected:u.current}).then((e=>{i(e),r(!1)})).catch(d)}),[u]);const m=(0,Eo.YQ)((t=>{Be({selected:e,search:t}).then((e=>{i(e),r(!1)})).catch(d)}),400),p=(0,s.useCallback)((e=>{r(!0),m(e)}),[r,m]);return(0,Y.jsx)(Bo,{...t,selected:e,error:c,products:l,isLoading:o,onSearch:a?p:null})})),Po="product",Oo="cart",Lo="order",Do=({isOpen:e,onToggle:t,product:o,isLoading:r})=>{if(r&&!o)return(0,Y.jsx)(g.Spinner,{});const c=!o,n=c||!o?.images?.[0]?.src,s=n?`${Ie}/blocks/product-collection/placeholder.svg`:o.images[0].src,l=n?"":o?.name;return(0,Y.jsx)(g.Button,{className:"wc-block-product-collection-linked-product-control__button",onClick:t,"aria-expanded":e,disabled:r,children:(0,Y.jsxs)(g.Flex,{direction:"row",expanded:!0,justify:"flex-start",children:[(0,Y.jsx)(g.FlexItem,{className:"wc-block-product-collection-linked-product-control__image-container",children:(0,Y.jsx)("img",{src:s,alt:l})}),(0,Y.jsx)(g.Flex,{direction:"column",align:"flex-start",gap:1,className:"wc-block-product-collection-linked-product-control__content",children:c?(0,Y.jsx)(g.FlexItem,{children:(0,Y.jsx)(g.__experimentalText,{color:"inherit",lineHeight:1,children:(0,v.__)("Select product","woocommerce")})}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(g.FlexItem,{children:(0,Y.jsx)(g.__experimentalText,{color:"inherit",lineHeight:1,children:o?.name?(0,Dt.decodeEntities)(o.name):""})}),(0,Y.jsx)(g.FlexItem,{children:(0,Y.jsx)(g.__experimentalText,{color:"inherit",lineHeight:1,children:o?.sku})})]})})]})})},No=({query:e,setAttributes:t,setIsDropdownOpen:o})=>(0,Y.jsx)(Io,{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,v.__)("Select a product","woocommerce")}});var Bo,Fo=function(e){return e.CURRENT_PRODUCT="CURRENT_PRODUCT",e.SPECIFIC_PRODUCT="SPECIFIC_PRODUCT",e}(Fo||{});const Mo=({query:e,setAttributes:t,location:o,usesReference:r})=>{const c=o.type===Po,n=!!r?.includes(Po),l=o.type===Oo,i=!!r?.includes(Oo),a=o.type===Lo,d=!!r?.includes(Lo),{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=>Re()({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),[_,h]=(0,s.useState)(!1),[w,x]=(0,s.useState)((c||l||a)&&(0,Se.isEmpty)(u)?Fo.CURRENT_PRODUCT:Fo.SPECIFIC_PRODUCT),y=(0,s.useRef)(void 0),b=c&&n||l&&i||a&&d,f=b?w===Fo.SPECIFIC_PRODUCT:!(0,Se.isEmpty)(u);if(!b&&!f||!(n||i||d))return null;const C=w===Fo.CURRENT_PRODUCT?(0,v.__)("Linked products will be pulled from the product a shopper is currently viewing","woocommerce"):(0,v.__)("Select a product to pull the linked products from","woocommerce"),k=((e,t,o)=>e===Oo&&t?(0,v.__)("From products in the cart","woocommerce"):e===Lo&&o?(0,v.__)("From products in the order","woocommerce"):(0,v.__)("From the current product","woocommerce"))(o.type,i,d);return(0,Y.jsxs)(g.PanelBody,{title:(0,v.__)("Linked Product","woocommerce"),children:[b&&(0,Y.jsx)(g.PanelRow,{children:(0,Y.jsx)(g.RadioControl,{className:"wc-block-product-collection-product-reference-radio",label:(0,v.__)("Products to show","woocommerce"),help:C,selected:w,options:[{label:k,value:Fo.CURRENT_PRODUCT},{label:(0,v.__)("From a specific product","woocommerce"),value:Fo.SPECIFIC_PRODUCT}],onChange:o=>{if(o===Fo.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,Y.jsx)(g.PanelRow,{children:(0,Y.jsx)(g.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,Y.jsx)(Do,{isOpen:e,onToggle:t,product:m,isLoading:p}),renderContent:()=>(0,Y.jsx)(No,{query:e,setAttributes:t,setIsDropdownOpen:h}),open:_,onToggle:()=>h(!_)})})]})},Uo=({dimensions:e,setAttributes:t})=>{const{widthType:o,fixedWidth:r=""}=e;return(0,Y.jsxs)(g.__experimentalToolsPanelItem,{label:(0,v.__)("Width","woocommerce"),hasValue:()=>o!==y.FILL,isShownByDefault:!0,children:[(0,Y.jsxs)(g.__experimentalToggleGroupControl,{label:(0,v.__)("Width","woocommerce"),value:o,help:(c=o,c===y.FILL?(0,v.__)("Stretch to fill available space.","woocommerce"):(0,v.__)("Specify a fixed width.","woocommerce")),onChange:o=>(o=>{t({dimensions:{...e,widthType:o}})})(o),isBlock:!0,children:[(0,Y.jsx)(g.__experimentalToggleGroupControlOption,{value:y.FILL,label:(0,v.__)("Fill","woocommerce")}),(0,Y.jsx)(g.__experimentalToggleGroupControlOption,{value:y.FIXED,label:(0,v.__)("Fixed","woocommerce")})]}),o===y.FIXED&&(0,Y.jsx)(g.__experimentalUnitControl,{onChange:o=>{t({dimensions:{...e,fixedWidth:o}})},value:r})]});var c},qo=({query:e,setQueryAttribute:t,trackInteraction:o})=>{const r=e?.relatedBy,c=(e,c)=>{const n={...r,[c]:e};t({relatedBy:n}),o(C.RELATED_BY)};return(0,Y.jsx)(g.PanelBody,{title:(0,v.__)("Related by","woocommerce"),children:(0,Y.jsxs)("div",{className:"wc-block-editor-product-collection-inspector-controls__relate-by",children:[(0,Y.jsx)(g.CheckboxControl,{label:(0,v.__)("Categories","woocommerce"),checked:r?.categories,onChange:e=>{c(e,"categories")}}),(0,Y.jsx)(g.CheckboxControl,{label:(0,v.__)("Tags","woocommerce"),checked:r?.tags,onChange:e=>{c(e,"tags")}})]})})},Ho=(0,v.__)("Products per page","woocommerce"),Vo=(0,v.__)("Products in carousel","woocommerce"),Go=({query:e,setQueryAttribute:t,trackInteraction:o,carouselVariant:r})=>{const c=()=>{t({perPage:F.perPage}),o(C.PRODUCTS_PER_PAGE)},n=(e=>e?Vo:Ho)(r),s=e.perPage||F.perPage,l=r&&s>30;return(0,Y.jsxs)(g.__experimentalToolsPanelItem,{label:n,isShownByDefault:!0,hasValue:()=>e.perPage!==F.perPage,onDeselect:c,resetAllFilter:c,children:[l&&(0,Y.jsx)("div",{children:(0,Y.jsx)(g.Notice,{status:"warning",isDismissible:!1,className:"wc-block-editor-product-collection__carousel-warning",children:(0,v.__)("High product counts in carousel may impact performance. Consider reducing the number of products for better user experience.","woocommerce")})}),(0,Y.jsx)(g.RangeControl,{__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0,label:n,min:1,max:100,onChange:e=>{e<1||e>100||(t({perPage:e}),o(C.PRODUCTS_PER_PAGE))},value:s})]})},$o=({query:e,setQueryAttribute:t,trackInteraction:o})=>{const r=()=>{t({offset:F.offset}),o(C.OFFSET)};return(0,Y.jsx)(g.__experimentalToolsPanelItem,{label:(0,v.__)("Offset","woocommerce"),hasValue:()=>e.offset!==F.offset,onDeselect:r,resetAllFilter:r,children:(0,Y.jsx)(g.__experimentalNumberControl,{__next40pxDefaultSize:!0,label:(0,v.__)("Offset","woocommerce"),value:e.offset,min:0,onChange:e=>{isNaN(e)||e<0||e>100||(t({offset:e}),o(C.OFFSET))}})})},Wo=({query:e,setQueryAttribute:t,trackInteraction:o})=>{const r=()=>{t({pages:F.pages}),o(C.MAX_PAGES_TO_SHOW)};return(0,Y.jsx)(g.__experimentalToolsPanelItem,{label:(0,v.__)("Max pages to show","woocommerce"),hasValue:()=>e.pages!==F.pages,onDeselect:r,resetAllFilter:r,children:(0,Y.jsx)(g.__experimentalNumberControl,{__next40pxDefaultSize:!0,label:(0,v.__)("Max pages to show","woocommerce"),value:e.pages,min:0,onChange:e=>{isNaN(e)||e<0||(t({pages:e}),o(C.MAX_PAGES_TO_SHOW))},help:(0,v.__)("Limit the pages you want to show, even if the query has more results. To show all pages use 0 (zero).","woocommerce")})})},Qo=e=>{const{attributes:t,context:o,setAttributes:r,clientId:i}=e,{query:a,hideControls:d,dimensions:u,displayLayout:m,collection:p}=t,_=st(o.templateSlug),h=e=>j("blocks_product_collection_inspector_control_clicked",{collection:t.collection,location:_,filter:e}),w=a?.inherit||!1,y=(e=>t=>!e.includes(t))(d),b="product-catalog"===_||"product-archive"===_,f=m?.type===x.CAROUSEL,k=et();vt(i,t),((e,t)=>{const{displayLayout:o,collection:r}=t,c=(0,l.useDispatch)(n.store),i=et(),{productCollectionBlock:a}=(0,l.useSelect)((t=>({productCollectionBlock:t(n.store).getBlock(e)})),[e]);(0,s.useEffect)((()=>{e&&a&&i&&a.innerBlocks&&Array.isArray(a.innerBlocks)&&o.type===x.GRID&&a.innerBlocks.filter((e=>e&&"core/query-pagination"===e.name)).forEach((e=>{if(e&&e.clientId)try{c.removeBlock(e.clientId)}catch(e){}}))}),[o.type,e,c,r,a,i])})(i,t),((e,t)=>{const{displayLayout:o}=e,r=et();(0,s.useEffect)((()=>{r&&o.columns&&o.columns>1&&t({displayLayout:{...o,columns:1}})}),[r,o,t])})(t,r);const E=!1===w,S=b&&y(C.INHERIT),A=!b&&y(C.FILTERABLE),R=E&&y(C.ORDER),T=!E,I=E&&y(C.OFFSET),P=!f,O=E&&!f&&y(C.MAX_PAGES_TO_SHOW),L=E&&y(C.PRODUCTS_PER_PAGE),D=y(C.ON_SALE),N=y(C.STOCK_STATUS),B=y(C.HAND_PICKED),U=y(C.KEYWORD),q=y(C.ATTRIBUTES),H=y(C.TAXONOMY),V=y(C.FEATURED),G=y(C.CREATED),$=y(C.PRICE_RANGE),W={setAttributes:r,displayLayout:m},Q={setAttributes:r,dimensions:u},K={setQueryAttribute:(0,s.useMemo)((()=>Me.bind(null,e)),[e]),trackInteraction:h,query:a};return(0,Y.jsxs)(n.InspectorControls,{children:[(0,Y.jsx)(Mo,{query:e.attributes.query,setAttributes:e.setAttributes,usesReference:e.usesReference,location:e.location}),(0,Y.jsxs)(g.__experimentalToolsPanel,{label:(0,v.__)("Settings","woocommerce"),resetAll:()=>{const t=(o=e.attributes,{displayLayout:Ge(),query:(r=o.query,{...r,orderBy:F.orderBy,order:F.order,inherit:He(),filterable:Ve(),perPage:F.perPage,offset:F.offset,pages:F.pages}),dimensions:M.dimensions});var o,r;e.setAttributes(t)},className:"wc-block-editor-product-collection__settings_panel",children:[S&&(0,Y.jsx)(wt,{...K}),A&&(0,Y.jsx)(xt,{...K}),R&&(0,Y.jsx)(At,{...K}),T&&(0,Y.jsx)(St,{trackInteraction:h}),!k&&(0,Y.jsx)(yo,{...W}),!k&&(0,Y.jsx)(Uo,{...Q}),L&&(0,Y.jsx)(Go,{...K,carouselVariant:f}),!k&&P&&(0,Y.jsx)(dt,{...W}),!k&&I&&(0,Y.jsx)($o,{...K}),O&&!k&&(0,Y.jsx)(Wo,{...K})]}),E?(0,Y.jsxs)(g.__experimentalToolsPanel,{label:(0,v.__)("Filters","woocommerce"),resetAll:e=>{e.forEach((e=>{e()}))},className:"wc-block-editor-product-collection-inspector-toolspanel__filters",children:[D&&(0,Y.jsx)(Rt,{...K}),N&&(0,Y.jsx)(It,{...K}),B&&(0,Y.jsx)(go,{...K}),U&&(0,Y.jsx)(Pt,{...K}),q&&(0,Y.jsx)(lo,{...K}),H&&(0,Y.jsx)(_o,{...K,collection:p,renderMode:"panel"}),V&&(0,Y.jsx)(bo,{...K}),G&&(0,Y.jsx)(fo,{...K}),$&&(0,Y.jsx)(ko,{...K})]}):null,(0,Y.jsx)(rt,{blockName:`${c.title} block`,wrapper:g.PanelBody})]})},Ko=e=>{const{collection:t}=e.attributes,o=(0,s.useMemo)((()=>Me.bind(null,e)),[e]),r=st(e.context.templateSlug),c={setQueryAttribute:o,trackInteraction:e=>j("blocks_product_collection_inspector_control_clicked",{collection:t,location:r,filter:e}),query:e.attributes.query},l=t===f.BY_CATEGORY||t===f.BY_TAG;return(0,Y.jsxs)(n.InspectorControls,{children:[t===f.HAND_PICKED&&(0,Y.jsx)(g.PanelBody,{children:(0,Y.jsx)(ho,{...c})}),t===f.RELATED&&(0,Y.jsx)(qo,{...c}),l&&(0,Y.jsx)(g.PanelBody,{children:(0,Y.jsx)(_o,{...c,collection:t,renderMode:"standalone"})})]})};(0,ke.addFilter)("editor.BlockEdit",c.name,(e=>t=>t.name!==c.name?(0,Y.jsx)(e,{...t}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(Ko,{...t}),(0,Y.jsx)(e,{...t})]})));const Yo=(0,v.__)("Enable to enforce full page reload on certain interactions, like using paginations controls.","woocommerce"),zo=(0,v.__)("Browsing between pages requires a full page reload.","woocommerce"),Zo=(0,v.__)("Reload full page can't be disabled because there are incompatible blocks inside the Product Collection block.","woocommerce"),Xo=e=>{const{clientId:t,forcePageReload:o,setAttributes:c}=e,i=(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&&i&&c({forcePageReload:!0})}),[o,i,c]);let a=Yo;return o&&(a=zo),i&&(a=Zo),(0,Y.jsx)(g.ToggleControl,{label:(0,v.__)("Reload full page","woocommerce"),help:a,checked:o,onChange:()=>c({forcePageReload:!o}),disabled:i})};function Jo(e){const{clientId:t,attributes:o,setAttributes:r}=e,{forcePageReload:c}=o;return(0,Y.jsx)(n.InspectorAdvancedControls,{children:(0,Y.jsx)(Xo,{clientId:t,forcePageReload:c,setAttributes:r})})}const er=e=>(0,Y.jsx)(g.ToolbarGroup,{children:(0,Y.jsx)(g.ToolbarButton,{onClick:e.openCollectionSelectionModal,children:(0,v.__)("Choose collection","woocommerce")})});function tr(e){const{openCollectionSelectionModal:t}=e,o=ve(e.attributes.collection),r=o?.scope?.includes("block")||void 0===o?.scope;return(0,Y.jsx)(n.BlockControls,{children:r&&(0,Y.jsx)(er,{openCollectionSelectionModal:t})})}const or=({preview:{setPreviewState:e,initialPreviewState:t}={},...o})=>{const r=(0,s.useRef)(!1),{clientId:c,attributes:i,setAttributes:d,location:u,isUsingReferencePreviewMode:m}=o;(({setPreviewState:e,location:t,attributes:o,setAttributes:r,isUsingReferencePreviewMode:c})=>{const{__unstableMarkNextChangeAsNotPersistent:i}=(0,l.useDispatch)(n.store),d=e=>{i(),r({__privatePreviewState:{...o.__privatePreviewState,...e}})},u=((e,t)=>t?e.type===a.Product?(0,v.__)("Actual products will vary depending on the product being viewed.","woocommerce"):(0,v.__)("Actual products will vary depending on the page being viewed.","woocommerce"):"")(t,c);(0,s.useEffect)((()=>{c&&(i(),r({__privatePreviewState:{isPreview:u.length>0,previewMessage:u}}))}),[r,u,c]),(0,s.useLayoutEffect)((()=>{if(!e&&!c)return;const r=e?.({setState:d,location:t,attributes:o});return r||void 0}),[e]);const m=t.type===a.Archive?t.sourceData?.termId:null;(0,s.useEffect)((()=>{if(!e&&!c){const e=t.type===a.Archive&&null===m;i(),r({__privatePreviewState:{isPreview:!!e&&!!o?.query?.inherit,previewMessage:(0,v.__)("Actual products will vary depending on the page being viewed.","woocommerce")}})}}),[o?.query?.inherit,u,m,t.type,r,e,c])})({setPreviewState:e,setAttributes:d,location:u,attributes:i,isUsingReferencePreviewMode:m});const p=(0,n.useBlockProps)(),_=(0,n.useInnerBlocksProps)({},{template:K}),h=((e,t,o)=>{const r=(0,A.useInstanceId)(o),{getBlockParentsByBlockName:c}=(0,l.useSelect)(n.store);let i=r;return(0,s.useMemo)((()=>c(e,"core/block")),[c,e]).length>0&&(i=t.queryId),i})(c,i,or),w={...M,query:{...M.query,inherit:He(),filterable:Ve()},...i,queryId:h,...!!i.collection&&t&&{__privatePreviewState:t}};let x={};y.FIXED===i?.dimensions?.widthType&&i?.dimensions?.fixedWidth&&(x={maxWidth:i.dimensions.fixedWidth,margin:"0 auto"});const{__unstableMarkNextChangeAsNotPersistent:b}=(0,l.useDispatch)(n.store);return(0,s.useEffect)((()=>{b(),d(w),r.current=!0}),[]),r.current=r.current||Je()(i,w),r.current?(0,Y.jsxs)("div",{...p,children:[i.__privatePreviewState?.isPreview&&o.isSelected&&(0,Y.jsx)(g.Button,{variant:"primary",size:"small",showTooltip:!0,label:i.__privatePreviewState?.previewMessage,className:"wc-block-product-collection__preview-button","data-testid":"product-collection-preview-button",children:"Preview"}),(0,Y.jsx)(Qo,{...o}),(0,Y.jsx)(Jo,{...o}),(0,Y.jsx)(tr,{...o}),(0,Y.jsx)("div",{..._,style:x})]}):null},rr=or,cr=e=>{const{clientId:t,attributes:o,tracksLocation:r,closePatternSelectionModal:c}=e,{collection:i}=o,{replaceBlock:a}=(0,l.useDispatch)(n.store),[d,u]=(0,s.useState)(i),m=e=>{j("blocks_product_collection_collection_replaced_from_placeholder",{action:e,location:r}),c()};return(0,Y.jsx)(g.Modal,{overlayClassName:"wc-blocks-product-collection__modal",title:(0,v.__)("What products do you want to show?","woocommerce"),onRequestClose:()=>m("close"),size:"large",children:(0,Y.jsxs)("div",{className:"wc-blocks-product-collection__content",children:[(0,Y.jsx)(ze,{chosenCollection:d,onCollectionClick:u}),(0,Y.jsxs)("div",{className:"wc-blocks-product-collection__footer",children:[(0,Y.jsx)(g.Button,{variant:"tertiary",onClick:()=>m("cancel"),children:(0,v.__)("Cancel","woocommerce")}),(0,Y.jsx)(g.Button,{variant:"primary",onClick:()=>{d&&(j("blocks_product_collection_collection_replaced_from_placeholder",{from:i,to:d,location:r}),$e(d,t,a))},children:(0,v.__)("Continue","woocommerce")})]})]})})},nr=e=>{const{attributes:t,isDeletedProductReference:o}=e,r=(0,n.useBlockProps)(),c=ve(t.collection);if(!c)return null;const l=o?(0,v.__)("Previously selected product is no longer available.","woocommerce"):(0,s.createInterpolateElement)((0,v.sprintf)(/* translators: %s: collection title */ /* translators: %s: collection title */
(0,v.__)("<strong>%s</strong> requires a product to be selected in order to display associated items.","woocommerce"),c.title),{strong:(0,Y.jsx)("strong",{})});return(0,Y.jsx)("div",{...r,children:(0,Y.jsxs)(g.Placeholder,{className:"wc-blocks-product-collection__editor-product-picker",children:[(0,Y.jsxs)(g.__experimentalHStack,{alignment:"center",children:[(0,Y.jsx)(T.A,{icon:Vt.A,className:"wc-blocks-product-collection__info-icon"}),(0,Y.jsx)(g.__experimentalText,{children:l})]}),(0,Y.jsx)(Io,{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,v.__)("Select a product","woocommerce")}})]})})};var sr=o(7715);function lr(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 ir=(0,v.__)("Product Summary","woocommerce"),ar=(T.A,sr.A,(0,v.__)("Display a short description about a product.","woocommerce")),dr=`${c.name}/product-summary`;var ur=o(8992);const mr=JSON.parse('{"title":"Product Title","description":"Display the title of a product."}'),pr=`${c.name}/product-title`;(0,r.registerBlockType)(c,{icon:()=>(0,Y.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,Y.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,Y.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,Y.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),i=(e=>t=>e.includes(t)&&e!==t)(o),g=i(d),w=i(u),x=i(m),y=i(p),[b,f]=(0,s.useState)(null),[C,v]=(0,s.useState)(null),[k,E]=(0,s.useState)(null),[S,j]=(0,s.useState)(null);(0,s.useEffect)((()=>{if(g){const e=c(d);_("postType","product",e,f)}if(w){const e=c(u);_("taxonomy","product_cat",e,v)}if(x){const e=c(m);_("taxonomy","product_tag",e,E)}if(y){const e=c(p);_("taxonomy","product_brand",e,j)}}),[g,w,x,y,c]);const{isInSingleProductBlock:A,isInSomeCartCheckoutBlock:R}=(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(A)return h(a.Product,{productId:r});if(R)return h(a.Cart);if(g)return h(a.Product,{productId:b});const T=(e=>t=>e===t)(o);if(T(d))return h(a.Product,{productId:null});if(w)return h(a.Archive,{taxonomy:"product_cat",termId:C});if(x)return h(a.Archive,{taxonomy:"product_tag",termId:k});if(y)return h(a.Archive,{taxonomy:"product_brand",termId:S});if(T(u))return h(a.Archive,{taxonomy:"product_cat",termId:null});if(T(m))return h(a.Archive,{taxonomy:"product_tag",termId:null});if(T(p))return h(a.Archive,{taxonomy:"product_brand",termId:null});if(T("taxonomy-product_attribute"))return h(a.Archive,{taxonomy:null,termId:null});if("page-cart"===o||"page-checkout"===o)return h(a.Cart);const I=T("order-confirmation");return h(I?a.Order:a.Site)})(r,t),x=st(r.templateSlug);(()=>{const e=et();(0,s.useEffect)((()=>{e&&Ce.forEach((e=>(0,R.__experimentalRegisterProductCollection)(e)))}),[e])})();const[y,b]=(0,s.useState)(!1),f=(0,l.useSelect)((e=>!!e(n.store).getBlocks(t).length),[t]),{productCollectionUIStateInEditor:C,isLoading:v}=(({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(i.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),i=!!o.collection,d=t?.includes("product"),u=null!==(null!==(s=o.query?.productReference)&&void 0!==s?s:null);if(i&&d&&!l&&!u)return w.PRODUCT_REFERENCE_PICKER;if(i&&d&&!l&&u&&c&&(void 0===n||"trash"===n?.status))return w.DELETED_PRODUCT_REFERENCE;if(l){var m,p;const t=e.type===a.Archive&&null!==(null!==(m=e.sourceData?.termId)&&void 0!==m?m:null),o=e.type===a.Product&&null!==(null!==(p=e.sourceData?.productId)&&void 0!==p?p:null);if(!t&&!o&&!c)return w.VALID_WITH_PREVIEW}return r||i?w.VALID:w.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:f,usesReference:e.usesReference});if(v)return(0,Y.jsx)(g.Flex,{justify:"center",align:"center",children:(0,Y.jsx)(g.Spinner,{})});const k={...e,openCollectionSelectionModal:()=>b(!0),location:c,isUsingReferencePreviewMode:C===w.VALID_WITH_PREVIEW};return(0,Y.jsxs)(Y.Fragment,{children:[(()=>{switch(C){case w.COLLECTION_PICKER:return(0,Y.jsx)(Ze,{...e,tracksLocation:x});case w.PRODUCT_REFERENCE_PICKER:return(0,Y.jsx)(nr,{...e,isDeletedProductReference:!1});case w.DELETED_PRODUCT_REFERENCE:return(0,Y.jsx)(nr,{...e,isDeletedProductReference:!0});case w.VALID:case w.VALID_WITH_PREVIEW:return(0,Y.jsx)(rr,{...k});default:return(0,Y.jsx)(Ze,{...e,tracksLocation:x})}})(),y&&(0,Y.jsx)(cr,{clientId:t,attributes:o,tracksLocation:x,closePatternSelectionModal:()=>b(!1)})]})},save:function({attributes:{tagName:e="div"}}){const t=n.useBlockProps.save(),o=n.useInnerBlocksProps.save(t);return(0,Y.jsx)(e,{...o})}}),lr("core/post-excerpt",{blockDescription:ar,blockIcon:(0,Y.jsx)(g.Icon,{icon:sr.A}),blockTitle:ir,variationName:dr,scope:[]}),lr("core/post-title",{blockDescription:mr.description,blockIcon:(0,Y.jsx)(g.Icon,{icon:ur.A}),blockTitle:mr.title,variationName:pr,scope:["block","inserter"]}),fe.forEach((e=>(0,R.__experimentalRegisterProductCollection)(e))),(0,ke.addFilter)("blocks.registerBlockType","woocommerce/add-product-collection-block-to-parent-array-of-pagination-block",((e,t)=>t!==H?e:e?.ancestor?{...e,ancestor:[...e.ancestor,c.name]}:e?.parent?{...e,parent:[...e.parent,c.name]}:e))},2663:()=>{},5653:()=>{},1939:()=>{},5022:()=>{},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](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,i=0;i<o.length;i++)(!1&c||s>=c)&&Object.keys(n.O).every((e=>n.O[e](o[i])))?o.splice(i--,1):(l=!1,c<s&&(s=c));if(l){e.splice(d--,1);var a=r();void 0!==a&&(t=a)}}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,i]=o,a=0;if(s.some((t=>0!==e[t]))){for(r in l)n.o(l,r)&&(n.m[r]=l[r]);if(i)var d=i(n)}for(t&&t(o);a<s.length;a++)c=s[a],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(3769)));s=n.O(s),((this.wc=this.wc||{}).blocks=this.wc.blocks||{})["product-collection"]=s})();