this.wc=this.wc||{},this.wc.blocks=this.wc.blocks||{},this.wc.blocks["product-tag"]=function(e){function t(t){for(var n,i,l=t[0],a=t[1],u=t[2],b=0,d=[];b100,u={per_page:a?100:0,catalog_visibility:"any",search:c,orderby:"title",order:"asc"},b=[Object(o.addQueryArgs)("/wc/store/products",d(d({},u),l))];return a&&r.length&&b.push(Object(o.addQueryArgs)("/wc/store/products",{catalog_visibility:"any",include:r,per_page:0})),b}({selected:r,search:c,queryArgs:void 0===i?{}:i});return Promise.all(u.map((function(e){return l()({path:e})}))).then((function(e){return Object(a.uniqBy)(Object(a.flatten)(e),"id").map((function(e){return d(d({},e),{},{parent:0})}))})).catch((function(e){throw e}))},p=function(e){return l()({path:"/wc/store/products/".concat(e)})},h=function(){return l()({path:"wc/store/products/attributes"})},f=function(e){return l()({path:"wc/store/products/attributes/".concat(e,"/terms")})},E=function(e){var t=e.selected,r=function(e){var t=e.selected,r=void 0===t?[]:t,n=e.search,c=Object(u.getSetting)("limitTags",!1),i=[Object(o.addQueryArgs)("wc/store/products/tags",{per_page:c?100:0,orderby:c?"count":"name",order:c?"desc":"asc",search:n})];return c&&r.length&&i.push(Object(o.addQueryArgs)("wc/store/products/tags",{include:r})),i}({selected:void 0===t?[]:t,search:e.search});return Promise.all(r.map((function(e){return l()({path:e})}))).then((function(e){return Object(a.uniqBy)(Object(a.flatten)(e),"id")}))},w=function(e){return l()({path:Object(o.addQueryArgs)("wc/store/products/categories",d({per_page:0},e))})},O=function(e){return l()({path:"wc/store/products/categories/".concat(e)})},m=function(e){return l()({path:Object(o.addQueryArgs)("wc/store/products",{per_page:0,type:"variation",parent:e})})},j=function(e,t){if(!e.title.raw)return e.slug;var r=1===t.filter((function(t){return t.title.raw===e.title.raw})).length;return e.title.raw+(r?"":" - ".concat(e.slug))}},4:function(e,t){e.exports=window.wp.components},46:function(e,t){e.exports=window.wp.keycodes},55:function(e,t){e.exports=window.wp.hooks},56:function(e,t){e.exports=window.wp.deprecated},66:function(e,t,r){"use strict";var n=r(5),c=r.n(n),o=r(16),i=r.n(o),l=r(0),a=["srcElement","size"];function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}t.a=function(e){var t=e.srcElement,r=e.size,n=void 0===r?24:r,o=i()(e,a);return Object(l.isValidElement)(t)?Object(l.cloneElement)(t,function(e){for(var t=1;t0,"is-skip-level":0===i&&0!==t.parent})},e,{"aria-label":Object(c.sprintf)( /* translators: %1$d is the count of products, %2$s is the name of the tag. */ Object(c._n)("%1$d product tagged as %2$s","%1$d products tagged as %2$s",t.count,'woocommerce'),t.count,l)}))}},{key:"render",value:function(){var e=this.state,t=e.list,r=e.loading,o=this.props,l=o.isCompact,a=o.onChange,u=o.onOperatorChange,s=o.operator,b=o.selected,d={clear:Object(c.__)("Clear all product tags",'woocommerce'),list:Object(c.__)("Product Tags",'woocommerce'),noItems:Object(c.__)("Your store doesn't have any product tags.",'woocommerce'),search:Object(c.__)("Search for product tags",'woocommerce'),selected:function(e){return Object(c.sprintf)( /* translators: %d is the count of selected tags. */ Object(c._n)("%d tag selected","%d tags selected",e,'woocommerce'),e)},updated:Object(c.__)("Tag search results updated.",'woocommerce')},g=Object(i.getSetting)("limitTags",!1);return Object(n.createElement)(n.Fragment,null,Object(n.createElement)(B.b,{className:"woocommerce-product-tags",list:t,isLoading:r,selected:b.map((function(e){return t.find((function(t){return t.id===e}))})).filter(Boolean),onChange:a,onSearch:g?this.debouncedOnSearch:null,renderItem:this.renderItem,messages:d,isCompact:l,isHierarchical:!0}),!!u&&Object(n.createElement)("div",{hidden:b.length<2},Object(n.createElement)(P.SelectControl,{className:"woocommerce-product-tags__operator",label:Object(c.__)("Display products matching",'woocommerce'),help:Object(c.__)("Pick at least two tags to use this setting.",'woocommerce'),value:s,onChange:u,options:[{label:Object(c.__)("Any selected tags",'woocommerce'),value:"any"},{label:Object(c.__)("All selected tags",'woocommerce'),value:"all"}]})))}}]),l}(n.Component);M.defaultProps={isCompact:!1,operator:"any"};var I=M,V=r(130),H=r(188);function L(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Q(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:[],t=e.map((function(e){return e.id}));r({tags:t})},operator:a,onOperatorChange:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"any";return r({tagOperator:e})},isCompact:!0})),Object(n.createElement)(P.PanelBody,{title:Object(c.__)("Layout",'woocommerce'),initialOpen:!0},Object(n.createElement)(C.a,{columns:l,rows:b,alignButtons:d,setAttributes:r,minColumns:Object(i.getSetting)("min_columns",1),maxColumns:Object(i.getSetting)("max_columns",6),minRows:Object(i.getSetting)("min_rows",1),maxRows:Object(i.getSetting)("max_rows",6)})),Object(n.createElement)(P.PanelBody,{title:Object(c.__)("Content",'woocommerce'),initialOpen:!0},Object(n.createElement)(S.a,{settings:u,onChange:function(e){return r({contentVisibility:e})}})),Object(n.createElement)(P.PanelBody,{title:Object(c.__)("Order By",'woocommerce'),initialOpen:!1},Object(n.createElement)(V.a,{setAttributes:r,value:s})))}},{key:"renderEditMode",value:function(){var e=this,t=this.props,r=t.attributes,o=t.debouncedSpeak,i=this.state.changedAttributes,a=Q(Q({},r),i);return Object(n.createElement)(P.Placeholder,{icon:Object(n.createElement)(l.a,{srcElement:u,className:"block-editor-block-icon"}),label:Object(c.__)("Products by Tag",'woocommerce'),className:"wc-block-products-grid wc-block-product-tag"},Object(c.__)("Display a grid of products from your selected tags.",'woocommerce'),Object(n.createElement)("div",{className:"wc-block-product-tag__selection"},Object(n.createElement)(I,{selected:a.tags,onChange:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=t.map((function(e){return e.id}));e.setChangedAttributes({tags:r})},operator:a.tagOperator,onOperatorChange:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"any";return e.setChangedAttributes({tagOperator:t})}}),Object(n.createElement)(P.Button,{isPrimary:!0,onClick:function(){e.save(),o(Object(c.__)("Showing Products by Tag block preview.",'woocommerce'))}},Object(c.__)("Done",'woocommerce')),Object(n.createElement)(P.Button,{className:"wc-block-product-tag__cancel-button",isTertiary:!0,onClick:function(){e.stopEditing(),o(Object(c.__)("Showing Products by Tag block preview.",'woocommerce'))}},Object(c.__)("Cancel",'woocommerce'))))}},{key:"renderViewMode",value:function(){var e=this.props,t=e.attributes,r=e.name,o=t.tags.length;return Object(n.createElement)(P.Disabled,null,o?Object(n.createElement)(k.a,{block:r,attributes:t}):Object(n.createElement)(P.Placeholder,{icon:Object(n.createElement)(l.a,{icon:u,className:"block-editor-block-icon"}),label:Object(c.__)("Products by Tag",'woocommerce'),className:"wc-block-products-grid wc-block-product-tag"},Object(c.__)("This block displays products from selected tags. Select at least one tag to display its products.",'woocommerce')))}},{key:"render",value:function(){var e=this,t=this.state.isEditing;return this.props.attributes.isPreview?H.a:Object(i.getSetting)("hasTags",!0)?Object(n.createElement)(n.Fragment,null,Object(n.createElement)(_.BlockControls,null,Object(n.createElement)(P.ToolbarGroup,{controls:[{icon:"edit",title:Object(c.__)("Edit"),onClick:function(){return t?e.stopEditing():e.startEditing()},isActive:t}]})),this.getInspectorControls(),t?this.renderEditMode():this.renderViewMode()):Object(n.createElement)(P.Placeholder,{icon:Object(n.createElement)(l.a,{icon:u,className:"block-editor-block-icon"}),label:Object(c.__)("Products by Tag",'woocommerce'),className:"wc-block-products-grid wc-block-product-tag"},Object(c.__)("This block displays products from selected tags. In order to preview this you'll first need to create a product and assign it some tags.",'woocommerce'))}}]),a}(n.Component),z=Object(P.withSpokenMessages)(q);Object(o.registerBlockType)("woocommerce/product-tag",{title:Object(c.__)("Products by Tag",'woocommerce'),icon:{src:Object(n.createElement)(l.a,{srcElement:u}),foreground:"#96588a"},category:"woocommerce",keywords:[Object(c.__)("WooCommerce",'woocommerce')],description:Object(c.__)("Display a grid of products with selected tags.",'woocommerce'),supports:{align:["wide","full"],html:!1},example:{attributes:{isPreview:!0}},attributes:{columns:{type:"number",default:Object(i.getSetting)("default_columns",3)},rows:{type:"number",default:Object(i.getSetting)("default_rows",3)},alignButtons:{type:"boolean",default:!1},contentVisibility:{type:"object",default:{title:!0,price:!0,rating:!0,button:!0}},tags:{type:"array",default:[]},tagOperator:{type:"string",default:"any"},orderby:{type:"string",default:"date"},isPreview:{type:"boolean",default:!1}},edit:function(e){return Object(n.createElement)(z,e)},save:function(){return null}})},87:function(e,t){e.exports=window.ReactDOM},89:function(e,t){e.exports=window.wp.viewport},92:function(e,t,r){"use strict";var n=r(5),c=r.n(n),o=r(0),i=r(1),l=(r(2),r(4));function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function u(e){for(var t=1;t