File "product-collection.js"

Full Path: /home/fineflavourcocoa/public_html/wp-content/plugins/woocommerce/assets/client/blocks/product-collection.js
File size: 54.9 KB
MIME-type: text/plain
Charset: utf-8

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