!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 b=function(e){var t=e.className,r=e.depth,n=void 0===r?0:r,c=e.item,u=e.isSelected,d=e.isSingle,b=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=c.breadcrumbs&&c.breadcrumbs.length;return Object(a.createElement)(l.MenuItem,o()({role:d?"menuitemradio":"menuitemcheckbox",className:w.join(" "),onClick:b(c),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===(_=c.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:m(c.name,j)}})),!!f&&Object(a.createElement)("span",{className:"woocommerce-search-list__item-count"},c.count))};b.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=b},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),o=r.n(n),c=r(14),s=r.n(c),a=r(8),i=r.n(a),l=r(9),u=r.n(l),d=r(10),p=r.n(d),m=r(11),b=r.n(m),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),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"),n=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(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],o()({},t,{breadcrumbs:c(n[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(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")},R=function(e){function t(){var e;return i()(this,t),(e=p()(this,b()(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,o=t.selected;return function(){r&&n([]);var t=Object(y.findIndex)(o,{id:e});n([].concat(s()(o.slice(0,t)),s()(o.slice(t+1))))}}},{key:"onSelect",value:function(e){var t=this,r=this.props,n=r.isSingle,o=r.onChange,c=r.selected;return function(){t.isSelected(e)?t.onRemove(e.id)():o(n?[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 n=o()({},I,this.props.messages),c=new RegExp(Object(y.escapeRegExp)(t),"i");this.props.debouncedSpeak(n.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(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,o=n.isSingle,c=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:o,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,n=this.getFilteredList(this.props.list,r),c=o()({},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:c.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)(c.noResults,r):c.noItems))}},{key:"renderSelectedSection",value:function(){var e=this,t=this.props,r=t.isLoading,n=t.isSingle,c=t.selected,s=o()({},I,this.props.messages);if(r||n||!c)return null;var a=c.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),c.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,c=e.setState,s=o()({},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 c({search:e})}})),this.renderListSection())}}]),t}(v.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:""}),_.withSpokenMessages,O.withInstanceId])(R)},33:function(e,t,r){"use strict";function n(e,t){var r=e.attributes,n=e.attrOperator,o=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(o&&o.length&&(l.category=o.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,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),o=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(n.createElement)("img",{src:t.images[0].src,alt:""}):Object(n.createElement)("img",{src:r,alt:""}),Object(n.createElement)("div",{className:"wc-product-preview"},c,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(o.__)("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 n=r(163),o=r.n(n);function c(e,t){var r=e.attributes,n=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,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),c&&"all"===c&&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 m="[products",b=!0,h=!1,j=void 0;try{for(var g,f=p[Symbol.iterator]();!(b=(g=f.next()).done);b=!0){var v=o()(g.value,2);m+=" "+v[0]+'="'+v[1]+'"'}}catch(e){h=!0,j=e}finally{try{b||null==f.return||f.return()}finally{if(h)throw j}}return m+="]"}},39:function(e,t,r){"use strict";var n=r(0),o=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(n.createElement)(n.Fragment,null,Object(n.createElement)(i.RangeControl,{label:Object(o.__)("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(n.createElement)(i.RangeControl,{label:Object(o.__)("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}()},627:function(e,t,r){"use strict";r.r(t);var n=r(13),o=r.n(n),c=r(0),s=r(2),a=r(18),i=r.n(a),l=r(29),u=r(8),d=r.n(u),p=r(9),m=r.n(p),b=r(10),h=r.n(b),j=r(11),g=r.n(j),f=r(12),v=r.n(f),w=r(5),_=r.n(w),O=r(21),y=r(15),k=r.n(y),E=r(24),S=r(3),C=r(4),x=r(1),N=r.n(x),z=r(33),I=r(39),R=r(169),L=r(34),M=function(e){function t(){var e;return d()(this,t),(e=h()(this,g()(t).apply(this,arguments))).state={products:[],loaded:!1},e.debouncedGetProducts=Object(S.debounce)(e.getProducts.bind(_()(_()(e))),200),e}return v()(t,e),m()(t,[{key:"componentDidMount",value:function(){this.props.attributes.categories&&this.getProducts()}},{key:"componentDidUpdate",value:function(e){var t=this;["rows","columns","categories","catOperator"].reduce(function(r,n){return r||e.attributes[n]!==t.props.attributes[n]},!1)&&this.debouncedGetProducts()}},{key:"getProducts",value:function(){var e=this;k()({path:Object(O.addQueryArgs)("/wc-pb/v3/products",Object(z.a)(this.props.attributes,this.props.name))}).then(function(t){e.setState({products:t,loaded:!0})}).catch(function(){e.setState({products:[],loaded:!0})})}},{key:"getInspectorControls",value:function(){var e=this.props,t=e.attributes,r=e.setAttributes,n=t.categories,o=t.catOperator,a=t.columns,i=t.rows;return Object(c.createElement)(E.InspectorControls,{key:"inspector"},Object(c.createElement)(C.PanelBody,{title:Object(s.__)("Layout","woo-gutenberg-products-block"),initialOpen:!0},Object(c.createElement)(I.a,{columns:a,rows:i,setAttributes:r})),Object(c.createElement)(C.PanelBody,{title:Object(s.__)("Filter by Product Category","woo-gutenberg-products-block"),initialOpen:!1},Object(c.createElement)(R.a,{selected:n,onChange:function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).map(function(e){return e.id});r({categories:e})},operator:o,onOperatorChange:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"any";return r({catOperator:e})}})))}},{key:"render",value:function(){var e=this.props.attributes.columns,t=this.state,r=t.loaded,n=t.products,o=["wc-block-products-grid","wc-block-top-rated-products"];return e&&o.push("cols-".concat(e)),n&&!n.length&&(r?o.push("is-not-found"):o.push("is-loading")),Object(c.createElement)(c.Fragment,null,this.getInspectorControls(),Object(c.createElement)("div",{className:o.join(" ")},n.length?n.map(function(e){return Object(c.createElement)(L.a,{product:e,key:e.id})}):Object(c.createElement)(C.Placeholder,{icon:Object(c.createElement)(i.a,{icon:"trophy"}),label:Object(s.__)("Top Rated Products","woo-gutenberg-products-block")},r?Object(s.__)("No products found.","woo-gutenberg-products-block"):Object(c.createElement)(C.Spinner,null))))}}]),t}(c.Component);M.propTypes={attributes:N.a.object.isRequired,name:N.a.string.isRequired,setAttributes:N.a.func.isRequired};var P=M,T=r(35),B=r(171);Object(l.registerBlockType)("woocommerce/product-top-rated",{title:Object(s.__)("Top Rated Products","woo-gutenberg-products-block"),icon:Object(c.createElement)(i.a,{icon:"trophy"}),category:"woocommerce",keywords:[Object(s.__)("WooCommerce","woo-gutenberg-products-block")],description:Object(s.__)("Display a grid of your top rated products.","woo-gutenberg-products-block"),supports:{align:["wide","full"]},attributes:o()({},B.a),edit:function(e){return Object(c.createElement)(P,e)},save:function(e){var t=e.attributes.align;return Object(c.createElement)(c.RawHTML,{className:t?"align".concat(t):""},Object(T.a)(e,"woocommerce/product-top-rated"))}})}}));