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