!function(e,t){for(var r in t)e[r]=t[r]}(this,function(e){function t(t){for(var o,s,a=t[0],i=t[1],l=t[2],d=0,b=[];d$&")}var m=function(e){var t=e.className,r=e.depth,o=void 0===r?0:r,c=e.item,u=e.isSelected,d=e.isSingle,m=e.onSelect,g=e.search,h=void 0===g?"":g,j=e.showCount,f=void 0!==j&&j,_=s()(e,["className","depth","item","isSelected","isSingle","onSelect","search","showCount"]),v=[t,"woocommerce-search-list__item"];v.push("depth-".concat(o)),d&&v.push("is-radio-button");var w,O=c.breadcrumbs&&c.breadcrumbs.length;return Object(a.createElement)(l.MenuItem,n()({role:d?"menuitemradio":"menuitemcheckbox",className:v.join(" "),onClick:m(c),isSelected:u},_),Object(a.createElement)("span",{className:"woocommerce-search-list__item-state"},function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e?t?Object(a.createElement)(b.d,null):Object(a.createElement)(b.e,null):t?Object(a.createElement)(b.a,null):Object(a.createElement)(b.b,null)}(d,u)),Object(a.createElement)("span",{className:"woocommerce-search-list__item-label"},O?Object(a.createElement)("span",{className:"woocommerce-search-list__item-prefix"},1===(w=c.breadcrumbs).length?Object(i.first)(w):2===w.length?Object(i.first)(w)+" › "+Object(i.last)(w):Object(i.first)(w)+" … "+Object(i.last)(w)):null,Object(a.createElement)("span",{className:"woocommerce-search-list__item-name",dangerouslySetInnerHTML:{__html:p(c.name,h)}})),!!f&&Object(a.createElement)("span",{className:"woocommerce-search-list__item-count"},c.count))};m.propTypes={className:d.a.string,depth:d.a.number,item:d.a.object,isSelected:d.a.bool,isSingle:d.a.bool,onSelect:d.a.func,search:d.a.string,showCount:d.a.bool},t.a=m},24:function(e,t){!function(){e.exports=this.wp.editor}()},29:function(e,t){!function(){e.exports=this.wp.blocks}()},3:function(e,t){!function(){e.exports=this.lodash}()},30:function(e,t,r){"use strict";var o=r(13),n=r.n(o),c=r(14),s=r.n(c),a=r(8),i=r.n(a),l=r(9),u=r.n(l),d=r(10),b=r.n(d),p=r(11),m=r.n(p),g=r(12),h=r.n(g),j=r(5),f=r.n(j),_=r(0),v=r(2),w=r(4),O=r(16),y=r(3),k=r(18),E=r.n(k),S=r(1),C=r.n(S),x=r(165);r(167);function N(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,r=Object(y.groupBy)(e,"parent"),o=Object(y.keyBy)(t,"id"),c=function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!t.parent)return t.name?[t.name]:[];var r=e(o[t.parent]);return[].concat(s()(r),[t.name])},a=function e(t){return t.map(function(t){var s=r[t.id];return delete r[t.id],n()({},t,{breadcrumbs:c(o[t.parent]),children:s&&s.length?e(s):[]})})},i=a(r[0]||[]);return delete r[0],Object(y.forEach)(r,function(e){i.push.apply(i,s()(a(e||[])))}),i}var z=r(23),I={clear:Object(v.__)("Clear all selected items","woo-gutenberg-products-block"),list:Object(v.__)("Results","woo-gutenberg-products-block"),noItems:Object(v.__)("No items found.","woo-gutenberg-products-block"),noResults:Object(v.__)("No results for %s","woo-gutenberg-products-block"),search:Object(v.__)("Search for items","woo-gutenberg-products-block"),selected:function(e){return Object(v.sprintf)(Object(v._n)("%d item selected","%d items selected",e,"woo-gutenberg-products-block"),e)},updated:Object(v.__)("Search results updated.","woo-gutenberg-products-block")},R=function(e){function t(){var e;return i()(this,t),(e=b()(this,m()(t).apply(this,arguments))).onSelect=e.onSelect.bind(f()(f()(e))),e.onRemove=e.onRemove.bind(f()(f()(e))),e.onClear=e.onClear.bind(f()(f()(e))),e.isSelected=e.isSelected.bind(f()(f()(e))),e.defaultRenderItem=e.defaultRenderItem.bind(f()(f()(e))),e.renderList=e.renderList.bind(f()(f()(e))),e}return h()(t,e),u()(t,[{key:"onRemove",value:function(e){var t=this.props,r=t.isSingle,o=t.onChange,n=t.selected;return function(){r&&o([]);var t=Object(y.findIndex)(n,{id:e});o([].concat(s()(n.slice(0,t)),s()(n.slice(t+1))))}}},{key:"onSelect",value:function(e){var t=this,r=this.props,o=r.isSingle,n=r.onChange,c=r.selected;return function(){t.isSelected(e)?t.onRemove(e.id)():n(o?[e]:[].concat(s()(c),[e]))}}},{key:"onClear",value:function(){this.props.onChange([])}},{key:"isSelected",value:function(e){return-1!==Object(y.findIndex)(this.props.selected,{id:e.id})}},{key:"getFilteredList",value:function(e,t){var r=this.props.isHierarchical;if(!t)return r?N(e):e;var o=n()({},I,this.props.messages),c=new RegExp(Object(y.escapeRegExp)(t),"i");this.props.debouncedSpeak(o.updated);var s=e.map(function(e){return!!c.test(e.name)&&e}).filter(Boolean);return r?N(s,e):s}},{key:"defaultRenderItem",value:function(e){return Object(_.createElement)(z.a,e)}},{key:"renderList",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=this.props,n=o.isSingle,c=o.search,s=this.props.renderItem||this.defaultRenderItem;return e?e.map(function(e){return Object(_.createElement)(_.Fragment,{key:e.id},s({item:e,isSelected:t.isSelected(e),onSelect:t.onSelect,isSingle:n,search:c,depth:r}),t.renderList(e.children,r+1))}):null}},{key:"renderListSection",value:function(){var e=this.props,t=e.isLoading,r=e.search,o=this.getFilteredList(this.props.list,r),c=n()({},I,this.props.messages);return t?Object(_.createElement)("div",{className:"woocommerce-search-list__list is-loading"},Object(_.createElement)(w.Spinner,null)):o.length?Object(_.createElement)(w.MenuGroup,{label:c.list,className:"woocommerce-search-list__list"},this.renderList(o)):Object(_.createElement)("div",{className:"woocommerce-search-list__list is-not-found"},Object(_.createElement)("span",{className:"woocommerce-search-list__not-found-icon"},Object(_.createElement)(E.a,{icon:"notice-outline",role:"img","aria-hidden":"true",focusable:"false"})),Object(_.createElement)("span",{className:"woocommerce-search-list__not-found-text"},r?Object(v.sprintf)(c.noResults,r):c.noItems))}},{key:"renderSelectedSection",value:function(){var e=this,t=this.props,r=t.isLoading,o=t.isSingle,c=t.selected,s=n()({},I,this.props.messages);if(r||o||!c)return null;var a=c.length;return Object(_.createElement)("div",{className:"woocommerce-search-list__selected"},Object(_.createElement)("div",{className:"woocommerce-search-list__selected-header"},Object(_.createElement)("strong",null,s.selected(a)),a>0?Object(_.createElement)(w.Button,{isLink:!0,isDestructive:!0,onClick:this.onClear,"aria-label":s.clear},Object(v.__)("Clear all","woo-gutenberg-products-block")):null),c.map(function(t,r){return Object(_.createElement)(x.a,{key:r,label:t.name,id:t.id,remove:e.onRemove})}))}},{key:"render",value:function(){var e=this.props,t=e.className,r=void 0===t?"":t,o=e.search,c=e.setState,s=n()({},I,this.props.messages);return Object(_.createElement)("div",{className:"woocommerce-search-list ".concat(r)},this.renderSelectedSection(),Object(_.createElement)("div",{className:"woocommerce-search-list__search"},Object(_.createElement)(w.TextControl,{label:s.search,type:"search",value:o,onChange:function(e){return c({search:e})}})),this.renderListSection())}}]),t}(_.Component);R.propTypes={className:C.a.string,isHierarchical:C.a.bool,isLoading:C.a.bool,isSingle:C.a.bool,list:C.a.arrayOf(C.a.shape({id:C.a.number,name:C.a.string})),messages:C.a.shape({clear:C.a.string,list:C.a.string,noItems:C.a.string,noResults:C.a.string,search:C.a.string,selected:C.a.func,updated:C.a.string}),onChange:C.a.func.isRequired,renderItem:C.a.func,selected:C.a.array.isRequired,search:C.a.string,setState:C.a.func,debouncedSpeak:C.a.func,instanceId:C.a.number};t.a=Object(O.compose)([Object(O.withState)({search:""}),w.withSpokenMessages,O.withInstanceId])(R)},33:function(e,t,r){"use strict";function o(e,t){var r=e.attributes,o=e.attrOperator,n=e.categories,c=e.catOperator,s=e.orderby,a=e.products,i=e.columns||wc_product_block_data.default_columns,l={status:"publish",per_page:(e.rows||wc_product_block_data.default_rows)*i};switch(n&&n.length&&(l.category=n.join(","),c&&"all"===c&&(l.cat_operator="AND")),s&&("price_desc"===s?(l.orderby="price",l.order="desc"):"price_asc"===s?(l.orderby="price",l.order="asc"):"title"===s?(l.orderby="title",l.order="asc"):"menu_order"===s?(l.orderby="menu_order",l.order="asc"):l.orderby=s),r&&r.length>0&&(l.attribute_term=r.map(function(e){return e.id}).join(","),l.attribute=r[0].attr_slug,o&&(l.attr_operator="all"===o?"AND":"IN")),t){case"woocommerce/product-best-sellers":l.orderby="popularity";break;case"woocommerce/product-top-rated":l.orderby="rating";break;case"woocommerce/product-on-sale":l.on_sale=1;break;case"woocommerce/product-new":l.orderby="date";break;case"woocommerce/handpicked-products":l.include=a,l.per_page=a.length}return l}r.d(t,"a",function(){return o})},34:function(e,t,r){"use strict";var o=r(0),n=r(2),c=r(1),s=r.n(c),a=(r(175),function(e){var t=e.product,r=wc_product_block_data.placeholderImgSrc,c=null;return c=t.images.length?Object(o.createElement)("img",{src:t.images[0].src,alt:""}):Object(o.createElement)("img",{src:r,alt:""}),Object(o.createElement)("div",{className:"wc-product-preview"},c,Object(o.createElement)("div",{className:"wc-product-preview__title"},t.name),Object(o.createElement)("div",{className:"wc-product-preview__price",dangerouslySetInnerHTML:{__html:t.price_html}}),Object(o.createElement)("span",{className:"wp-block-button"},Object(o.createElement)("span",{className:"wc-product-preview__add-to-cart wp-block-button__link"},Object(n.__)("Add to cart","woo-gutenberg-products-block"))))});a.propTypes={product:s.a.shape({id:s.a.number,images:s.a.array,name:s.a.string,price_html:s.a.string}).isRequired},t.a=a},35:function(e,t,r){"use strict";r.d(t,"a",function(){return c});var o=r(163),n=r.n(o);function c(e,t){var r=e.attributes,o=r.attributes,c=r.attrOperator,s=r.categories,a=r.catOperator,i=r.orderby,l=r.products,u=r.columns||wc_product_block_data.default_columns,d=r.rows||wc_product_block_data.default_rows,b=new Map;switch(b.set("limit",d*u),b.set("columns",u),s&&s.length&&(b.set("category",s.join(",")),a&&"all"===a&&b.set("cat_operator","AND")),o&&o.length&&(b.set("terms",o.map(function(e){return e.id}).join(",")),b.set("attribute",o[0].attr_slug),c&&"all"===c&&b.set("terms_operator","AND")),i&&("price_desc"===i?(b.set("orderby","price"),b.set("order","DESC")):"price_asc"===i?(b.set("orderby","price"),b.set("order","ASC")):"date"===i?(b.set("orderby","date"),b.set("order","DESC")):b.set("orderby",i)),t){case"woocommerce/product-best-sellers":b.set("best_selling","1");break;case"woocommerce/product-top-rated":b.set("orderby","rating");break;case"woocommerce/product-on-sale":b.set("on_sale","1");break;case"woocommerce/product-new":b.set("orderby","date"),b.set("order","DESC");break;case"woocommerce/handpicked-products":if(!l.length)return"";b.set("ids",l.join(",")),b.set("limit",l.length);break;case"woocommerce/product-category":if(!s||!s.length)return"";break;case"woocommerce/products-by-attribute":if(!o||!o.length)return""}var p="[products",m=!0,g=!1,h=void 0;try{for(var j,f=b[Symbol.iterator]();!(m=(j=f.next()).done);m=!0){var _=n()(j.value,2);p+=" "+_[0]+'="'+_[1]+'"'}}catch(e){g=!0,h=e}finally{try{m||null==f.return||f.return()}finally{if(g)throw h}}return p+="]"}},39:function(e,t,r){"use strict";var o=r(0),n=r(2),c=r(3),s=r(1),a=r.n(s),i=r(4),l=function(e){var t=e.columns,r=e.rows,s=e.setAttributes;return Object(o.createElement)(o.Fragment,null,Object(o.createElement)(i.RangeControl,{label:Object(n.__)("Columns","woo-gutenberg-products-block"),value:t,onChange:function(e){var t=Object(c.clamp)(e,wc_product_block_data.min_columns,wc_product_block_data.max_columns);s({columns:Object(c.isNaN)(t)?"":t})},min:wc_product_block_data.min_columns,max:wc_product_block_data.max_columns}),Object(o.createElement)(i.RangeControl,{label:Object(n.__)("Rows","woo-gutenberg-products-block"),value:r,onChange:function(e){var t=Object(c.clamp)(e,wc_product_block_data.min_rows,wc_product_block_data.max_rows);s({rows:Object(c.isNaN)(t)?"":t})},min:wc_product_block_data.min_rows,max:wc_product_block_data.max_rows}))};l.propTypes={columns:a.a.oneOfType([a.a.number,a.a.string]).isRequired,rows:a.a.oneOfType([a.a.number,a.a.string]).isRequired,setAttributes:a.a.func.isRequired},t.a=l},4:function(e,t){!function(){e.exports=this.wp.components}()},610:function(e,t,r){var o=r(611);"string"==typeof o&&(o=[[e.i,o,""]]);var n={hmr:!0,transform:void 0,insertInto:void 0};r(28)(o,n);o.locals&&(e.exports=o.locals)},611:function(e,t,r){},628:function(e,t,r){"use strict";r.r(t);var o=r(13),n=r.n(o),c=r(0),s=r(2),a=r(29),i=(r(610),r(8)),l=r.n(i),u=r(9),d=r.n(u),b=r(10),p=r.n(b),m=r(11),g=r.n(m),h=r(12),j=r.n(h),f=r(5),_=r.n(f),v=r(21),w=r(15),O=r.n(w),y=r(24),k=r(4),E=r(3),S=r(1),C=r.n(S),x=r(33),N=r(39),z=r(169),I=r(179),R=r(34),M=function(e){function t(){var e;return l()(this,t),(e=p()(this,g()(t).apply(this,arguments))).state={products:[],loaded:!1},e.debouncedGetProducts=Object(E.debounce)(e.getProducts.bind(_()(_()(e))),200),e}return j()(t,e),d()(t,[{key:"componentDidMount",value:function(){this.props.attributes.categories&&this.getProducts()}},{key:"componentDidUpdate",value:function(e){var t=this;["categories","catOperator","columns","orderby","rows"].reduce(function(r,o){return r||e.attributes[o]!==t.props.attributes[o]},!1)&&this.debouncedGetProducts()}},{key:"getProducts",value:function(){var e=this;this.props.attributes.categories.length?O()({path:Object(v.addQueryArgs)("/wc-pb/v3/products",Object(x.a)(this.props.attributes,this.props.name))}).then(function(t){e.setState({products:t,loaded:!0})}).catch(function(){e.setState({products:[],loaded:!0})}):this.setState({products:[],loaded:!0})}},{key:"getInspectorControls",value:function(){var e=this.props,t=e.attributes,r=e.setAttributes,o=t.columns,n=t.catOperator,a=t.orderby,i=t.rows;return Object(c.createElement)(y.InspectorControls,{key:"inspector"},Object(c.createElement)(k.PanelBody,{title:Object(s.__)("Product Category","woo-gutenberg-products-block"),initialOpen:!1},Object(c.createElement)(z.a,{selected:t.categories,onChange:function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).map(function(e){return e.id});r({categories:e})},operator:n,onOperatorChange:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"any";return r({catOperator:e})}})),Object(c.createElement)(k.PanelBody,{title:Object(s.__)("Layout","woo-gutenberg-products-block"),initialOpen:!0},Object(c.createElement)(N.a,{columns:o,rows:i,setAttributes:r})),Object(c.createElement)(k.PanelBody,{title:Object(s.__)("Order By","woo-gutenberg-products-block"),initialOpen:!1},Object(c.createElement)(I.a,{setAttributes:r,value:a})))}},{key:"renderEditMode",value:function(){var e=this.props,t=e.attributes,r=e.debouncedSpeak,o=e.setAttributes;return Object(c.createElement)(k.Placeholder,{icon:"category",label:Object(s.__)("Products by Category","woo-gutenberg-products-block"),className:"wc-block-products-grid wc-block-products-category"},Object(s.__)("Display a grid of products from your selected categories","woo-gutenberg-products-block"),Object(c.createElement)("div",{className:"wc-block-products-category__selection"},Object(c.createElement)(z.a,{selected:t.categories,onChange:function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).map(function(e){return e.id});o({categories:e})},operator:t.catOperator,onOperatorChange:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"any";return o({catOperator:e})}}),Object(c.createElement)(k.Button,{isDefault:!0,onClick:function(){o({editMode:!1}),r(Object(s.__)("Showing Products by Category block preview.","woo-gutenberg-products-block"))}},Object(s.__)("Done","woo-gutenberg-products-block"))))}},{key:"render",value:function(){var e=this.props.setAttributes,t=this.props.attributes,r=t.categories,o=t.columns,n=t.editMode,a=this.state,i=a.loaded,l=a.products,u=["wc-block-products-grid","wc-block-products-category"];o&&u.push("cols-".concat(o)),l&&!l.length&&(i?u.push("is-not-found"):u.push("is-loading"));var d=r.length?Object(s._n)("No products in this category.","No products in these categories.",r.length,"woo-gutenberg-products-block"):Object(s.__)("Select at least one category to display its products.","woo-gutenberg-products-block");return Object(c.createElement)(c.Fragment,null,Object(c.createElement)(y.BlockControls,null,Object(c.createElement)(k.Toolbar,{controls:[{icon:"edit",title:Object(s.__)("Edit"),onClick:function(){return e({editMode:!n})},isActive:n}]})),this.getInspectorControls(),n?this.renderEditMode():Object(c.createElement)("div",{className:u.join(" ")},l.length?l.map(function(e){return Object(c.createElement)(R.a,{product:e,key:e.id})}):Object(c.createElement)(k.Placeholder,{icon:"category",label:Object(s.__)("Products by Category","woo-gutenberg-products-block")},i?d:Object(c.createElement)(k.Spinner,null))))}}]),t}(c.Component);M.propTypes={attributes:C.a.object.isRequired,name:C.a.string.isRequired,setAttributes:C.a.func.isRequired,debouncedSpeak:C.a.func.isRequired};var L=Object(k.withSpokenMessages)(M),P=r(35),A=r(171);Object(a.registerBlockType)("woocommerce/product-category",{title:Object(s.__)("Products by Category","woo-gutenberg-products-block"),icon:"category",category:"woocommerce",keywords:[Object(s.__)("WooCommerce","woo-gutenberg-products-block")],description:Object(s.__)("Display a grid of products from your selected categories.","woo-gutenberg-products-block"),supports:{align:["wide","full"]},attributes:n()({},A.a,{editMode:{type:"boolean",default:!0},orderby:{type:"string",default:"date"}}),edit:function(e){return Object(c.createElement)(L,e)},save:function(e){var t=e.attributes.align;return Object(c.createElement)(c.RawHTML,{className:t?"align".concat(t):""},Object(P.a)(e,"woocommerce/product-category"))}})}}));