!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=269)}({0:function(e,t){!function(){e.exports=this.wp.element}()},1:function(e,t){!function(){e.exports=this.wp.i18n}()},100:function(e,t,r){"use strict";var n=r(9),o=r(0),c=r(7);var i=function(e,t){return function(r){var n=e(r),o=r.displayName,i=void 0===o?r.name||"Component":o;return n.displayName="".concat(Object(c.upperFirst)(Object(c.camelCase)(t)),"(").concat(i,")"),n}},a=new WeakMap;function s(e,t){return Object(o.useMemo)((function(){var r=function(e){var t=a.get(e)||0;return a.set(e,t+1),t}(e);return t?"".concat(t,"-").concat(r):r}),[e])}t.a=i((function(e){return function(t){var r=s(e);return Object(o.createElement)(e,Object(n.a)({},t,{instanceId:r}))}}),"withInstanceId")},108:function(e,t,r){"use strict";r.d(t,"a",(function(){return v}));var n=r(11),o=r.n(n),c=r(6),i=r.n(c),a=r(0),s=r(45);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}function l(e){for(var t=1;t0&&Array.prototype.filter.call(i,(function(e){return!function(e,t){return Array.prototype.some.call(t,(function(t){return t.contains(e)&&!t.isSameNode(e)}))}(e,c)})),f({Block:t,containers:i,getProps:r,getErrorBoundaryProps:n})},v=function(e){var t=document.body.querySelectorAll(p.join(","));d(l(l({},e),{},{wrappers:t})),Array.prototype.forEach.call(t,(function(t){t.addEventListener("kkart-blocks_render_blocks_frontend",(function(){var r,n,o,c,i,a;r=l(l({},e),{},{wrapper:t}),n=r.Block,o=r.getProps,c=r.getErrorBoundaryProps,i=r.selector,a=r.wrapper.querySelectorAll(i),f({Block:n,containers:a,getProps:o,getErrorBoundaryProps:c})}))}))}},11:function(e,t){function r(){return e.exports=r=Object.assign||function(e){for(var t=1;t/g,">\n").replace(/\n\n/g,"\n").replace(/^\n/g,"").replace(/\n$/g,"").split("\n"),g=0,m=[],w=!1,h=0;h=s)r="";else if(g+y.length>=s){if(" "===y[(o=s-g)-1])for(;o&&" "===y[(o-=1)-1];);else c=y.slice(o).indexOf(" "),l||(-1!==c?o+=c:o=r.length);r=y.slice(0,o).join("")+p,f&&(r+=''+d+""),g=s,w=!0}else g+=y.length;else if(u){if(g>=s)if(a=(i=r.match(/[a-zA-Z]+/))?i[0]:"")if("2&&void 0!==arguments[2]?arguments[2]:"...",n=D()(e,{suffix:r,limit:t});return n.html},I=function(e,t,r,n){var o=M(e,t,r);return A(e,o-n.length,n)},M=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=A(e,n.middle),n=B(n,t.clientHeight,r);return n.middle},B=function(e,t,r){return t<=r?e.start=e.middle+1:e.end=e.middle-1,e};function F(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=b()(e);if(t){var o=b()(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return d()(this,r)}}var H=function(e){p()(r,e);var t=F(r);function r(e){var n;return c()(this,r),(n=t.apply(this,arguments)).state={isExpanded:!1,clampEnabled:null,content:e.children,summary:"."},n.reviewSummary=Object(w.createRef)(),n.reviewContent=Object(w.createRef)(),n.getButton=n.getButton.bind(u()(n)),n.onClick=n.onClick.bind(u()(n)),n}return a()(r,[{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:I(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 h.a.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?h.a.createElement("div",{className:e},h.a.createElement("div",{ref:this.reviewContent},r)):h.a.createElement("div",{className:e},(!c||null===o)&&h.a.createElement("div",{ref:this.reviewSummary,"aria-hidden":c,dangerouslySetInnerHTML:{__html:n}}),(c||null===o)&&h.a.createElement("div",{ref:this.reviewContent,"aria-hidden":!c},r),this.getButton()):null}}]),r}(w.Component);H.defaultProps={maxLines:3,ellipsis:"…",moreText:Object(g.__)("Read more",'kkart'),lessText:Object(g.__)("Read less",'kkart'),className:"read-more-content"};var U=H;r(204);var V=function(e){var t=e.attributes,r=e.review,n=void 0===r?{}:r,o=t.imageType,c=t.showReviewDate,i=t.showReviewerName,a=t.showReviewImage,s=t.showReviewRating,u=t.showReviewContent,l=t.showProductName,p=n.rating,f=!Object.keys(n).length>0,d=Number.isFinite(p)&&s;return React.createElement("li",{className:R()("kkart-block-review-list-item__item","kkart-block-components-review-list-item__item",{"is-loading":f}),"aria-hidden":f},(l||c||i||a||d)&&React.createElement("div",{className:"kkart-block-review-list-item__info kkart-block-components-review-list-item__info"},a&&function(e,t,r){var n,o;return r||!e?React.createElement("div",{className:"kkart-block-review-list-item__image kkart-block-components-review-list-item__image",width:"48",height:"48"}):React.createElement("div",{className:"kkart-block-review-list-item__image kkart-block-components-review-list-item__image"},"product"===t?React.createElement("img",{"aria-hidden":"true",alt:(null===(n=e.product_image)||void 0===n?void 0:n.alt)||"",src:(null===(o=e.product_image)||void 0===o?void 0:o.thumbnail)||""}):React.createElement("img",{"aria-hidden":"true",alt:"",src:e.reviewer_avatar_urls[48]||"",srcSet:e.reviewer_avatar_urls[96]+" 2x"}),e.verified&&React.createElement("div",{className:"kkart-block-review-list-item__verified kkart-block-components-review-list-item__verified",title:Object(g.__)("Verified buyer",'kkart')},Object(g.__)("Verified buyer",'kkart')))}(n,o,f),(l||i||d||c)&&React.createElement("div",{className:"kkart-block-review-list-item__meta kkart-block-components-review-list-item__meta"},d&&function(e){var t=e.rating,r={width:t/5*100+"%"};return React.createElement("div",{className:"kkart-block-review-list-item__rating kkart-block-components-review-list-item__rating"},React.createElement("div",{className:"kkart-block-review-list-item__rating__stars kkart-block-components-review-list-item__rating__stars",role:"img"},React.createElement("span",{style:r},Object(g.sprintf)(Object(g.__)("Rated %f out of 5",'kkart'),t))))}(n),l&&function(e){return React.createElement("div",{className:"kkart-block-review-list-item__product kkart-block-components-review-list-item__product"},React.createElement("a",{href:e.product_permalink,dangerouslySetInnerHTML:{__html:e.product_name}}))}(n),i&&function(e){var t=e.reviewer,r=void 0===t?"":t;return React.createElement("div",{className:"kkart-block-review-list-item__author kkart-block-components-review-list-item__author"},r)}(n),c&&function(e){var t=e.date_created,r=e.formatted_date_created;return React.createElement("time",{className:"kkart-block-review-list-item__published-date kkart-block-components-review-list-item__published-date",dateTime:t},r)}(n))),u&&function(e){return React.createElement(U,{maxLines:10,moreText:Object(g.__)("Read full review",'kkart'),lessText:Object(g.__)("Hide full review",'kkart'),className:"kkart-block-review-list-item__text kkart-block-components-review-list-item__text"},React.createElement("div",{dangerouslySetInnerHTML:{__html:e.review||""}}))}(n))};r(203);function W(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]:[],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({}))}),j(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:"render",value:function(){var t=this.props.reviewsToDisplay,r=this.state,n=r.error,o=r.loading,c=r.reviews,i=r.totalReviews;return React.createElement(e,Y()({},this.props,{error:n,isLoading:o,reviews:c.slice(0,t),totalReviews:i}))}}]),n}(w.Component);N()(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){var t=e.attributes,r=e.onAppendReviews,n=e.onChangeOrderby,o=e.reviews,c=e.totalReviews,i=t.orderby;return 0===o.length?null:React.createElement(w.Fragment,null,"false"!==t.showOrderby&&k.w&&React.createElement(T,{defaultValue:i,onChange:n}),React.createElement(z,{attributes:t,reviews:o}),"false"!==t.showLoadMore&&c>o.length&&React.createElement(x,{onClick:r,screenReaderLabel:Object(g.__)("Load more reviews",'kkart')}))}));function ne(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=b()(e);if(t){var o=b()(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return d()(this,r)}}var oe=function(e){p()(r,e);var t=ne(r);function r(){var e;c()(this,r);var n=(e=t.apply(this,arguments)).props.attributes;return e.state={orderby:n.orderby,reviewsToDisplay:parseInt(n.reviewsOnPageLoad,10)},e.onAppendReviews=e.onAppendReviews.bind(u()(e)),e.onChangeOrderby=e.onChangeOrderby.bind(u()(e)),e}return a()(r,[{key:"onAppendReviews",value:function(){var e=this.props.attributes,t=this.state.reviewsToDisplay;this.setState({reviewsToDisplay:t+parseInt(e.reviewsOnLoadMore,10)})}},{key:"onChangeOrderby",value:function(e){var t=this.props.attributes;this.setState({orderby:e.target.value,reviewsToDisplay:parseInt(t.reviewsOnPageLoad,10)})}},{key:"onReviewsAppended",value:function(e){var t=e.newReviews;Object(m.speak)(Object(g.sprintf)(Object(g._n)("%d review loaded.","%d reviews loaded.",t.length,'kkart'),t.length))}},{key:"onReviewsReplaced",value:function(){Object(m.speak)(Object(g.__)("Reviews list updated.",'kkart'))}},{key:"onReviewsLoadError",value:function(){Object(m.speak)(Object(g.__)("There was an error loading the reviews.",'kkart'))}},{key:"render",value:function(){var e=this.props.attributes,t=e.categoryIds,r=e.productId,n=this.state.reviewsToDisplay,o=function(e){if(k.w){if("lowest-rating"===e)return{order:"asc",orderby:"rating"};if("highest-rating"===e)return{order:"desc",orderby:"rating"}}return{order:"desc",orderby:"date_gmt"}}(this.state.orderby),c=o.order,i=o.orderby;return React.createElement(re,{attributes:e,categoryIds:t,onAppendReviews:this.onAppendReviews,onChangeOrderby:this.onChangeOrderby,onReviewsAppended:this.onReviewsAppended,onReviewsLoadError:this.onReviewsLoadError,onReviewsReplaced:this.onReviewsReplaced,order:c,orderby:i,productId:r,reviewsToDisplay:n})}}]),r}(w.Component);Object(n.a)({selector:"\n\t.wp-block-kkart-all-reviews,\n\t.wp-block-kkart-reviews-by-product,\n\t.wp-block-kkart-reviews-by-category\n",Block:oe,getProps:function(e){return{attributes:{showReviewDate:e.classList.contains("has-date"),showReviewerName:e.classList.contains("has-name"),showReviewImage:e.classList.contains("has-image"),showReviewRating:e.classList.contains("has-rating"),showReviewContent:e.classList.contains("has-content"),showProductName:e.classList.contains("has-product-name")}}}})},27:function(e,t){!function(){e.exports=this.wp.isShallowEqual}()},3:function(e,t){!function(){e.exports=this.kkart.wcSettings}()},30:function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},31:function(e,t){function r(e,t){for(var r=0;r1})},9:function(e,t,r){"use strict";function n(){return(n=Object.assign||function(e){for(var t=1;t