Ubuntu
this.wc=this.wc||{},this.wc.blocks=this.wc.blocks||{},this.wc.blocks["reviews-by-product"]=function(e){function t(t){for(var n,a,i=t[0],s=t[1],l=t[2],d=0,b=[];d0&&void 0!==arguments[0]?arguments[0]:[],t=e[0]?e[0].id:0;n({productId:t})},queryArgs:{orderby:"comment_count",order:"desc"},renderItem:s}),Object(c.createElement)(d.Button,{isDefault:!0,onClick:function(){n({editMode:!1}),r(Object(a.__)("Showing Reviews by Product block preview.",'woocommerce'))}},Object(a.__)("Done",'woocommerce')))):Object(c.createElement)(c.Fragment,null,Object(f.a)(o,n),Object(c.createElement)(u.InspectorControls,{key:"inspector"},Object(c.createElement)(d.PanelBody,{title:Object(a.__)("Product",'woocommerce'),initialOpen:!1},Object(c.createElement)(p.a,{selected:t.productId||0,onChange:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=e[0]?e[0].id:0;n({productId:t})},renderItem:s})),Object(c.createElement)(d.PanelBody,{title:Object(a.__)("Content",'woocommerce')},Object(f.b)(t,n)),Object(c.createElement)(d.PanelBody,{title:Object(a.__)("List Settings",'woocommerce')},Object(f.c)(t,n))),Object(c.createElement)(m.a,{attributes:t,className:"wc-block-all-reviews",icon:Object(c.createElement)(h.h,{className:"block-editor-block-icon"}),name:Object(a.__)("Reviews by Product",'woocommerce'),noReviewsPlaceholder:w}))}),j=r(79),y=r(80);function _(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}Object(i.registerBlockType)("woocommerce/reviews-by-product",{title:Object(a.__)("Reviews by Product",'woocommerce'),icon:Object(c.createElement)(h.h,{fillColor:"#96588a"}),category:"woocommerce",keywords:[Object(a.__)("WooCommerce",'woocommerce')],description:Object(a.__)("Show reviews of your product to build trust.",'woocommerce'),attributes:function(e){for(var t=1;t'),""))),Object(n.createElement)(a.ToggleControl,{label:Object(o.__)("Reviewer name",'woocommerce'),checked:e.showReviewerName,onChange:function(){return t({showReviewerName:!e.showReviewerName})}}),Object(n.createElement)(a.ToggleControl,{label:Object(o.__)("Image",'woocommerce'),checked:e.showReviewImage,onChange:function(){return t({showReviewImage:!e.showReviewImage})}}),Object(n.createElement)(a.ToggleControl,{label:Object(o.__)("Review date",'woocommerce'),checked:e.showReviewDate,onChange:function(){return t({showReviewDate:!e.showReviewDate})}}),Object(n.createElement)(a.ToggleControl,{label:Object(o.__)("Review content",'woocommerce'),checked:e.showReviewContent,onChange:function(){return t({showReviewContent:!e.showReviewContent})}}),e.showReviewImage&&Object(n.createElement)(n.Fragment,null,Object(n.createElement)(u.a,{label:Object(o.__)("Review image",'woocommerce'),value:e.imageType,options:[{label:Object(o.__)("Reviewer photo",'woocommerce'),value:"reviewer"},{label:Object(o.__)("Product",'woocommerce'),value:"product"}],onChange:function(e){return t({imageType:e})}}),"reviewer"===e.imageType&&!l.SHOW_AVATARS&&Object(n.createElement)(a.Notice,{className:"wc-block-reviews__notice",isDismissible:!1},Object(n.createElement)(n.RawHTML,null,Object(o.sprintf)(Object(c.escapeHTML)(Object(o.__)("Reviewer photo is disabled in your %ssite settings%s.",'woocommerce')),''),"")))))},p=function(e,t){return Object(n.createElement)(n.Fragment,null,Object(n.createElement)(a.ToggleControl,{label:Object(o.__)("Order by",'woocommerce'),checked:e.showOrderby,onChange:function(){return t({showOrderby:!e.showOrderby})}}),Object(n.createElement)(a.SelectControl,{label:Object(o.__)("Order Product Reviews by",'woocommerce'),value:e.orderby,options:[{label:"Most recent",value:"most-recent"},{label:"Highest Rating",value:"highest-rating"},{label:"Lowest Rating",value:"lowest-rating"}],onChange:function(e){return t({orderby:e})}}),Object(n.createElement)(a.RangeControl,{label:Object(o.__)("Starting Number of Reviews",'woocommerce'),value:e.reviewsOnPageLoad,onChange:function(e){return t({reviewsOnPageLoad:e})},max:20,min:1}),Object(n.createElement)(a.ToggleControl,{label:Object(o.__)("Load more",'woocommerce'),checked:e.showLoadMore,onChange:function(){return t({showLoadMore:!e.showLoadMore})}}),e.showLoadMore&&Object(n.createElement)(a.RangeControl,{label:Object(o.__)("Load More Reviews",'woocommerce'),value:e.reviewsOnLoadMore,onChange:function(e){return t({reviewsOnLoadMore:e})},max:20,min:1}))}},64:function(e,t){},65:function(e,t){},67:function(e,t){},68:function(e,t){},69:function(e,t,r){"use strict";var n=r(16),o=r.n(n),c=r(8),a=r.n(c),i=r(9),s=r.n(i),l=r(10),u=r.n(l),d=r(11),b=r.n(d),p=r(12),h=r.n(p),m=r(0),g=r(13),v=[];t.a=function(e){return function(t){function r(){return a()(this,r),u()(this,b()(r).apply(this,arguments))}return h()(r,t),s()(r,[{key:"generateUniqueID",value:function(){var e=r.name;return v[e]||(v[e]=0),v[e]++,v[e]}},{key:"render",value:function(){var t=this.generateUniqueID();return Object(m.createElement)(e,o()({},this.props,{componentId:t}))}}]),r}(g.Component)}},70:function(e,t,r){"use strict";var n=r(16),o=r.n(n),c=r(8),a=r.n(c),i=r(9),s=r.n(i),l=r(10),u=r.n(l),d=r(11),b=r.n(d),p=r(15),h=r.n(p),m=r(12),g=r.n(m),v=r(0),w=r(4),f=r(6),O=r.n(f),j=r(2),y=r(21),_=(r(132),function(e){function t(){var e;return a()(this,t),(e=u()(this,b()(t).apply(this,arguments))).onClick=e.onClick.bind(h()(e)),e}return g()(t,e),s()(t,[{key:"onClick",value:function(e){this.props.onChange&&this.props.onChange(e.target.value)}},{key:"render",value:function(){var e,t=this,r=this.props,n=r.label,c=r.checked,a=r.instanceId,i=r.className,s=r.help,l=r.options,u=r.value,d="inspector-toggle-button-control-".concat(a);return s&&(e=Object(w.isFunction)(s)?s(c):s),Object(v.createElement)(j.BaseControl,{id:d,help:e,className:O()("components-toggle-button-control",i)},Object(v.createElement)("label",{id:d+"__label",htmlFor:d,className:"components-toggle-button-control__label"},n),Object(v.createElement)(j.ButtonGroup,{"aria-labelledby":d+"__label"},l.map(function(e,r){var c={};return u===e.value?(c.isPrimary=!0,c["aria-pressed"]=!0):(c.isDefault=!0,c["aria-pressed"]=!1),Object(v.createElement)(j.Button,o()({key:"".concat(e.label,"-").concat(e.value,"-").concat(r),value:e.value,onClick:t.onClick,"aria-label":n+": "+e.label},c),e.label)})))}}]),t}(v.Component));t.a=Object(y.withInstanceId)(_)},71:function(e,t,r){"use strict";var n=r(16),o=r.n(n),c=r(38),a=r.n(c),i=r(8),s=r.n(i),l=r(9),u=r.n(l),d=r(10),b=r.n(d),p=r(11),h=r.n(p),m=r(15),g=r.n(m),v=r(12),w=r.n(v),f=r(0),O=r(21),j=r(25),y=Object(O.createHigherOrderComponent)(function(e){return function(t){function r(){var e;return s()(this,r),(e=b()(this,h()(r).apply(this,arguments))).state={error:null,loading:!1,product:null},e.loadProduct=e.loadProduct.bind(g()(e)),e}return w()(r,t),u()(r,[{key:"componentDidMount",value:function(){this.loadProduct()}},{key:"componentDidUpdate",value:function(e){e.attributes.productId!==this.props.attributes.productId&&this.loadProduct()}},{key:"loadProduct",value:function(){var e=this,t=this.props.attributes.productId;t?(this.setState({loading:!0}),Object(j.b)(t).then(function(t){e.setState({product:t,loading:!1,error:null})}).catch(function(t){var r="object"===a()(t)&&t.hasOwnProperty("message")?{apiMessage:t.message}:{apiMessage:null};e.setState({product:null,loading:!1,error:r})})):this.setState({product:null,loading:!1,error:null})}},{key:"render",value:function(){var t=this.state,r=t.error,n=t.loading,c=t.product;return Object(f.createElement)(e,o()({},this.props,{error:r,getProduct:this.loadProduct,isLoading:n,product:c}))}}]),r}(f.Component)},"withProduct"),_=Object(O.createHigherOrderComponent)(function(e){return function(t){function r(){var e;return s()(this,r),(e=b()(this,h()(r).apply(this,arguments))).state={error:null,loading:!1,category:null},e.loadCategory=e.loadCategory.bind(g()(e)),e}return w()(r,t),u()(r,[{key:"componentDidMount",value:function(){this.loadCategory()}},{key:"componentDidUpdate",value:function(e){e.attributes.categoryId!==this.props.attributes.categoryId&&this.loadCategory()}},{key:"loadCategory",value:function(){var e=this,t=this.props.attributes.categoryId;t?(this.setState({loading:!0}),Object(j.a)(t).then(function(t){e.setState({category:t,loading:!1,error:null})}).catch(function(t){var r="object"===a()(t)&&t.hasOwnProperty("message")?{apiMessage:t.message}:{apiMessage:null};e.setState({category:null,loading:!1,error:r})})):this.setState({category:null,loading:!1,error:null})}},{key:"render",value:function(){var t=this.state,r=t.error,n=t.loading,c=t.category;return Object(f.createElement)(e,o()({},this.props,{error:r,getCategory:this.loadCategory,isLoading:n,category:c}))}}]),r}(f.Component)},"withCategory"),E=r(4),k=(r(7),r(5)),R=Object(O.createHigherOrderComponent)(function(e){var t=function(t){function r(){var e;return s()(this,r),(e=b()(this,h()(r).apply(this,arguments))).state={list:[],loading:!0},e.debouncedOnSearch=Object(E.debounce)(e.onSearch.bind(g()(e)),400),e}return w()(r,t),u()(r,[{key:"componentDidMount",value:function(){var e=this,t=this.props.selected;Object(j.d)({selected:t}).then(function(t){e.setState({list:t,loading:!1})}).catch(function(){e.setState({list:[],loading:!1})})}},{key:"componentWillUnmount",value:function(){this.debouncedOnSearch.cancel()}},{key:"onSearch",value:function(e){var t=this,r=this.props.selected;Object(j.d)({selected:r,search:e}).then(function(e){t.setState({list:e,loading:!1})}).catch(function(){t.setState({list:[],loading:!1})})}},{key:"render",value:function(){var t=this.state,r=t.list,n=t.loading,c=this.props.selected;return Object(f.createElement)(e,o()({},this.props,{products:r,isLoading:n,selected:r.filter(function(e){var t=e.id;return c.includes(t)}),onSearch:k.IS_LARGE_CATALOG?this.debouncedOnSearch:null}))}}]),r}(f.Component);return t.defaultProps={selected:[]},t},"withSearchedProducts");r.d(t,"b",function(){return y}),r.d(t,"a",function(){return _}),r.d(t,"c",function(){return R})},77:function(e,t,r){var n=r(114);"string"==typeof n&&(n=[[e.i,n,""]]);var o={insert:"head",singleton:!1};r(35)(n,o);n.locals&&(e.exports=n.locals)},78:function(e,t){!function(){e.exports=this.wp.isShallowEqual}()},79:function(e,t,r){"use strict";t.a={editMode:{type:"boolean",default:!0},imageType:{type:"string",default:"reviewer"},orderby:{type:"string",default:"most-recent"},reviewsOnLoadMore:{type:"number",default:10},reviewsOnPageLoad:{type:"number",default:10},showLoadMore:{type:"boolean",default:!0},showOrderby:{type:"boolean",default:!0},showReviewDate:{type:"boolean",default:!0},showReviewerName:{type:"boolean",default:!0},showReviewImage:{type:"boolean",default:!0},showReviewRating:{type:"boolean",default:!0},showReviewContent:{type:"boolean",default:!0}}},80:function(e,t,r){"use strict";var n=r(16),o=r.n(n),c=r(0),a=(r(77),r(40));t.a=function(e){var t=e.attributes,r=t.categoryIds,n=t.imageType,i=t.orderby,s=t.productId,l={"data-image-type":n,"data-orderby":i,"data-reviews-on-page-load":t.reviewsOnPageLoad,"data-reviews-on-load-more":t.reviewsOnLoadMore,"data-show-load-more":t.showLoadMore,"data-show-orderby":t.showOrderby},u="wc-block-all-reviews";return s&&(l["data-product-id"]=s,u="wc-block-reviews-by-product"),Array.isArray(r)&&(l["data-category-ids"]=r.join(","),u="wc-block-reviews-by-category"),Object(c.createElement)("div",o()({className:Object(a.a)(u,t)},l))}},81:function(e,t,r){"use strict";var n=r(8),o=r.n(n),c=r(9),a=r.n(c),i=r(10),s=r.n(i),l=r(11),u=r.n(l),d=r(12),b=r.n(d),p=r(0),h=r(1),m=r(13),g=(r(7),r(4)),v=r(2),w=r(5),f=r(52),O=r(20),j=r.n(O),y=r(6),_=r.n(y);function E(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}var k=function(e){var t,r=e.label,n=e.screenReaderLabel,o=e.wrapperElement,c=e.wrapperProps;return!r&&n?(t=o||"span",c=function(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:"...",n=I()(e,{suffix:r,limit:t});return n.html},x=function(e,t,r,n){var o=T(e,t,r);return M(e,o-n.length,n)},T=function(e,t,r){for(var n={start:0,middle:0,end:e.length};n.start<=n.end;)n.middle=Math.floor((n.start+n.end)/2),t.innerHTML=M(e,n.middle),n=A(n,t.clientHeight,r);return n.middle},A=function(e,t,r){return t<=r?e.start=e.middle+1:e.end=e.middle-1,e},D=function(e){function t(e){var r;return o()(this,t),(r=s()(this,u()(t).apply(this,arguments))).state={isExpanded:!1,clampEnabled:null,content:e.children,summary:"."},r.reviewSummary=Object(m.createRef)(),r.reviewContent=Object(m.createRef)(),r.getButton=r.getButton.bind(L()(r)),r.onClick=r.onClick.bind(L()(r)),r}return b()(t,e),a()(t,[{key:"componentDidMount",value:function(){if(this.props.children){var e=this.props,t=e.maxLines,r=e.ellipsis,n=(this.reviewSummary.current.clientHeight+1)*t+1,o=this.reviewContent.current.clientHeight+1>n;this.setState({clampEnabled:o}),o&&this.setState({summary:x(this.reviewContent.current.innerHTML,this.reviewSummary.current,n,r)})}}},{key:"getButton",value:function(){var e=this.state.isExpanded,t=this.props,r=t.className,n=t.lessText,o=t.moreText,c=e?n:o;if(c)return Object(p.createElement)("a",{href:"#more",className:r+"__read_more",onClick:this.onClick,"aria-expanded":!e,role:"button"},c)}},{key:"onClick",value:function(e){e.preventDefault();var t=this.state.isExpanded;this.setState({isExpanded:!t})}},{key:"render",value:function(){var e=this.props.className,t=this.state,r=t.content,n=t.summary,o=t.clampEnabled,c=t.isExpanded;return r?!1===o?Object(p.createElement)("div",{className:e},Object(p.createElement)("div",{ref:this.reviewContent},r)):Object(p.createElement)("div",{className:e},(!c||null===o)&&Object(p.createElement)("div",{ref:this.reviewSummary,"aria-hidden":c,dangerouslySetInnerHTML:{__html:n}}),(c||null===o)&&Object(p.createElement)("div",{ref:this.reviewContent,"aria-hidden":!c},r),this.getButton()):null}}]),t}(m.Component);D.defaultProps={maxLines:3,ellipsis:"…",moreText:Object(h.__)("Read more",'woocommerce'),lessText:Object(h.__)("Read less",'woocommerce'),className:"read-more-content"};var H=D;r(171);var z=function(e){var t=e.attributes,r=e.review,n=void 0===r?{}:r,o=t.imageType,c=t.showReviewDate,a=t.showReviewerName,i=t.showReviewImage,s=t.showReviewRating,l=t.showReviewContent,u=t.showProductName,d=n.rating,b=!Object.keys(n).length>0,m=Number.isFinite(d)&&s;return Object(p.createElement)("li",{className:_()("wc-block-review-list-item__item",{"is-loading":b}),"aria-hidden":b},(u||c||a||i||m)&&Object(p.createElement)("div",{className:"wc-block-review-list-item__info"},i&&function(e,t,r){return r||!e?Object(p.createElement)("div",{className:"wc-block-review-list-item__image",width:"48",height:"48"}):Object(p.createElement)("div",{className:"wc-block-review-list-item__image"},"product"===t?Object(p.createElement)("img",{"aria-hidden":"true",alt:"",src:e.product_picture||"",className:"wc-block-review-list-item__image",width:"48",height:"48"}):Object(p.createElement)("img",{"aria-hidden":"true",alt:"",src:e.reviewer_avatar_urls[48]||"",srcSet:e.reviewer_avatar_urls[96]+" 2x",className:"wc-block-review-list-item__image",width:"48",height:"48"}),e.verified&&Object(p.createElement)("div",{className:"wc-block-review-list-item__verified",title:Object(h.__)("Verified buyer",'woocommerce')},Object(h.__)("Verified buyer",'woocommerce')))}(n,o,b),(u||a||m||c)&&Object(p.createElement)("div",{className:"wc-block-review-list-item__meta"},m&&function(e){var t=e.rating,r={width:t/5*100+"%"};return Object(p.createElement)("div",{className:"wc-block-review-list-item__rating"},Object(p.createElement)("div",{className:"wc-block-review-list-item__rating__stars",role:"img"},Object(p.createElement)("span",{style:r},Object(h.sprintf)(Object(h.__)("Rated %d out of 5",'woocommerce'),t))))}(n),u&&function(e){return Object(p.createElement)("div",{className:"wc-block-review-list-item__product"},Object(p.createElement)("a",{href:e.product_permalink,dangerouslySetInnerHTML:{__html:e.product_name}}))}(n),a&&function(e){var t=e.reviewer,r=void 0===t?"":t;return Object(p.createElement)("div",{className:"wc-block-review-list-item__author"},r)}(n),c&&function(e){var t=e.date_created,r=e.formatted_date_created;return Object(p.createElement)("time",{className:"wc-block-review-list-item__published-date",dateTime:t},r)}(n))),l&&function(e){return Object(p.createElement)(H,{maxLines:10,moreText:Object(h.__)("Read full review",'woocommerce'),lessText:Object(h.__)("Hide full review",'woocommerce'),className:"wc-block-review-list-item__text"},Object(p.createElement)("div",{dangerouslySetInnerHTML:{__html:e.review||""}}))}(n))};r(172);function B(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}var V=function(e){var t=e.attributes,r=e.reviews,n=function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:[],r=this.props.reviewsToDisplay,n=this.state.totalReviews,o=Math.min(n,r)-t.length;return this.setState({loading:!0,reviews:t.concat(Array(o).fill({}))}),Object($.c)(this.getArgs(t.length)).then(function(r){var n=r.reviews,o=r.totalReviews;return e.setState({reviews:t.filter(function(e){return Object.keys(e).length}).concat(n),totalReviews:o,loading:!1,error:null}),{newReviews:n}}).catch(this.setError)}},{key:"setError",value:function(e){var t=this;e.json().then(function(e){var r=t.props.onReviewsLoadError,n="object"===Z()(e)&&e.hasOwnProperty("message")?{apiMessage:e.message}:{apiMessage:null};t.setState({reviews:[],loading:!1,error:n}),r()})}},{key:"render",value:function(){var t=this.props.reviewsToDisplay,r=this.state,n=r.error,o=r.loading,c=r.reviews,a=r.totalReviews;return Object(p.createElement)(e,U()({},this.props,{error:n,isLoading:o,reviews:c.slice(0,t),totalReviews:a}))}}]),r}(m.Component);t.defaultProps={delayFunction:function(e){return e},onReviewsAppended:function(){},onReviewsLoadError:function(){},onReviewsReplaced:function(){}};var r=e.displayName,n=void 0===r?e.name||"Component":r;return t.displayName="WithReviews( ".concat(n," )"),t}(function(e){function t(){return o()(this,t),s()(this,u()(t).apply(this,arguments))}return b()(t,e),a()(t,[{key:"render",value:function(){var e=this.props,t=e.attributes,r=e.error,n=e.isLoading,o=e.noReviewsPlaceholder,c=e.reviews,a=e.totalReviews;return r?Object(p.createElement)(f.a,{className:"wc-block-featured-product-error",error:r,isLoading:n}):0!==c.length||n?Object(p.createElement)(v.Disabled,null,t.showOrderby&&w.ENABLE_REVIEW_RATING&&Object(p.createElement)(q,{readOnly:!0,value:t.orderby}),Object(p.createElement)(V,{attributes:t,reviews:c}),t.showLoadMore&&a>c.length&&Object(p.createElement)(P,{screenReaderLabel:Object(h.__)("Load more reviews",'woocommerce')})):Object(p.createElement)(o,{attributes:t})}}]),t}(m.Component)),X=function(e){function t(){return o()(this,t),s()(this,u()(t).apply(this,arguments))}return b()(t,e),a()(t,[{key:"renderHiddenContentPlaceholder",value:function(){var e=this.props,t=e.icon,r=e.name;return Object(p.createElement)(v.Placeholder,{icon:t,label:r},Object(h.__)("The content for this block is hidden due to block settings.",'woocommerce'))}},{key:"render",value:function(){var e=this.props,t=e.attributes,r=e.className,n=e.noReviewsPlaceholder,o=t.categoryIds,c=t.productId,a=t.reviewsOnPageLoad,i=t.showProductName,s=t.showReviewDate,l=t.showReviewerName,u=t.showReviewContent,d=t.showReviewImage,b=t.showReviewRating,h=Object($.b)(t.orderby),m=h.order,v=h.orderby;return!(u||b||s||l||d||i)?this.renderHiddenContentPlaceholder():Object(p.createElement)("div",{className:Object($.a)(r,t)},Object(p.createElement)(K,{attributes:t,categoryIds:o,delayFunction:function(e){return Object(g.debounce)(e,400)},noReviewsPlaceholder:n,orderby:v,order:m,productId:c,reviewsToDisplay:a}))}}]),t}(m.Component);t.a=X},99:function(e,t,r){"use strict";var n=r(62),o=r.n(n),c=r(16),a=r.n(c),i=r(20),s=r.n(i),l=r(8),u=r.n(l),d=r(9),b=r.n(d),p=r(10),h=r.n(p),m=r(11),g=r.n(m),v=r(15),w=r.n(v),f=r(12),O=r.n(f),j=r(0),y=r(1),_=r(19),E=r(17),k=r.n(E),R=r(4),C=(r(7),r(26)),P=r(2),S=r(6),L=r.n(S),N=r(5),I=r(25),M=r(24);r(280);function x(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 T(e){for(var t=1;t$&")}var D=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return e?Object(j.createElement)(M.e,null):Object(j.createElement)(M.f,null)},H=function(e){function t(){var e;return u()(this,t),(e=h()(this,g()(t).apply(this,arguments))).state={products:[],product:0,variationsList:{},variationsLoading:!1,loading:!0},e.debouncedOnSearch=Object(R.debounce)(e.onSearch.bind(w()(e)),400),e.debouncedGetVariations=Object(R.debounce)(e.getVariations.bind(w()(e)),200),e.renderItem=e.renderItem.bind(w()(e)),e.onProductSelect=e.onProductSelect.bind(w()(e)),e}return O()(t,e),b()(t,[{key:"componentWillUnmount",value:function(){this.debouncedOnSearch.cancel(),this.debouncedGetVariations.cancel()}},{key:"componentDidMount",value:function(){var e=this,t=this.props,r=t.selected,n=t.queryArgs;Object(I.d)({selected:r,queryArgs:n}).then(function(t){t=t.map(function(e){return T({},e,{parent:0,count:e.variations?e.variations.length:0})}),e.setState({products:t,loading:!1})}).catch(function(){e.setState({products:[],loading:!1})})}},{key:"componentDidUpdate",value:function(e,t){t.product!==this.state.product&&this.debouncedGetVariations()}},{key:"getVariations",value:function(){var e=this,t=this.state,r=t.product,n=t.products,o=t.variationsList;if(r){var c=n.find(function(e){return e.id===r});c.variations&&0!==c.variations.length&&(o[r]||this.setState({variationsLoading:!0}),k()({path:Object(_.addQueryArgs)("".concat(N.ENDPOINTS.products,"/").concat(r,"/variations"),{per_page:-1})}).then(function(t){t=t.map(function(e){return T({},e,{parent:r})}),e.setState(function(e){return{variationsList:T({},e.variationsList,s()({},r,t)),variationsLoading:!1}})}).catch(function(){e.setState({termsLoading:!1})}))}else this.setState({variationsList:{},variationsLoading:!1})}},{key:"onSearch",value:function(e){var t=this,r=this.props,n=r.selected,o=r.queryArgs;Object(I.d)({selected:n,search:e,queryArgs:o}).then(function(e){t.setState({products:e,loading:!1})}).catch(function(){t.setState({products:[],loading:!1})})}},{key:"onProductSelect",value:function(e,t){var r=this;return function(){r.setState({product:t?0:e.id})}}},{key:"renderItem",value:function(e){var t=this,r=e.item,n=e.search,o=e.depth,c=void 0===o?0:o,i=e.isSelected,s=e.onSelect,l=this.state,u=l.product,d=l.variationsLoading,b=L()("woocommerce-search-product__item","woocommerce-search-list__item","depth-".concat(c),{"is-searching":n.length>0,"is-skip-level":0===c&&0!==r.parent,"is-variable":r.count>0}),p=Object.assign({},e);delete p.isSingle;var h={role:"menuitemradio"};return r.breadcrumbs.length&&(h["aria-label"]="".concat(r.breadcrumbs[0],": ").concat(r.name)),r.count&&(h["aria-expanded"]=r.id===u),r.breadcrumbs.length?(Object(R.isEmpty)(r.variation)||(r.name=r.variation),Object(j.createElement)(C.b,a()({className:b},e,h))):[Object(j.createElement)(P.MenuItem,a()({key:"product-".concat(r.id),isSelected:i},p,h,{className:b,onClick:function(){s(r)(),t.onProductSelect(r,i)()}}),Object(j.createElement)("span",{className:"woocommerce-search-list__item-state"},D(i)),Object(j.createElement)("span",{className:"woocommerce-search-list__item-label"},Object(j.createElement)("span",{className:"woocommerce-search-list__item-name",dangerouslySetInnerHTML:{__html:A(r.name,n)}})),r.count?Object(j.createElement)("span",{className:"woocommerce-search-list__item-variation-count"},Object(y.sprintf)(Object(y._n)("%d variation","%d variations",r.count,'woocommerce'),r.count)):null),u===r.id&&r.count>0&&d&&Object(j.createElement)("div",{key:"loading",className:"woocommerce-search-list__item woocommerce-search-product__itemdepth-1 is-loading is-not-active"},Object(j.createElement)(P.Spinner,null))]}},{key:"render",value:function(){var e=this.state,t=e.products,r=e.loading,n=e.product,c=e.variationsList,a=this.props,i=a.onChange,s=a.renderItem,l=a.selected,u=c[n]||[],d=[].concat(o()(t),o()(u)),b={list:Object(y.__)("Products",'woocommerce'),noItems:Object(y.__)("Your store doesn't have any products.",'woocommerce'),search:Object(y.__)("Search for a product to display",'woocommerce'),updated:Object(y.__)("Product search results updated.",'woocommerce')},p=l?[Object(R.find)(d,{id:l})]:[];return Object(j.createElement)(j.Fragment,null,Object(j.createElement)(C.a,{className:"woocommerce-products",list:d,isLoading:r,isSingle:!0,selected:p,onChange:i,renderItem:s||this.renderItem,onSearch:N.IS_LARGE_CATALOG?this.debouncedOnSearch:null,messages:b,isHierarchical:!0}))}}]),t}(j.Component);t.a=H}});