{};this.updateListOfReviews().then(t)}appendReviews(){var e;if(this.isPreview)return;const t=null!==(e=this.props.onReviewsAppended)&&void 0!==e?e:()=>{},{reviewsToDisplay:r}=this.props,{reviews:o}=this.state;r<=o.length||this.updateListOfReviews(o).then(t)}updateListOfReviews(e=[]){const{reviewsToDisplay:t}=this.props,{totalReviews:r}=this.state,o=Math.min(r,t)-e.length;return this.setState({loading:!0,reviews:e.concat(Array(o).fill({}))}),(a=this.getArgs(e.length),x()({path:"/wc/store/v1/products/reviews?"+Object.entries(a).map((e=>e.join("="))).join("&"),parse:!1}).then((e=>e.json().then((t=>({reviews:t,totalReviews:parseInt(e.headers.get("x-wp-total"),10)})))))).then((({reviews:t,totalReviews:r})=>(this.isMounted&&this.setState({reviews:e.filter((e=>Object.keys(e).length)).concat(t),totalReviews:r,loading:!1,error:null}),{newReviews:t}))).catch(this.setError);var a}render(){const{reviewsToDisplay:t}=this.props,{error:r,loading:a,reviews:n,totalReviews:s}=this.state;return(0,o.createElement)(e,{...this.props,error:r,isLoading:a,reviews:n.slice(0,t),totalReviews:s})}}const{displayName:r=e.name||"Component"}=e;return t.displayName=`WithReviews(${r})`,t})(Se),Ne=({attributes:e,icon:t,name:r,noReviewsPlaceholder:n})=>{const{categoryIds:s,productId:i,reviewsOnPageLoad:m,showProductName:d,showReviewDate:w,showReviewerName:u,showReviewContent:p,showReviewImage:h,showReviewRating:g}=e,{order:v,orderby:_}=(e=>{if((0,I.getSetting)("reviewRatingsEnabled",!0)){if("lowest-rating"===e)return{order:"asc",orderby:"rating"};if("highest-rating"===e)return{order:"desc",orderby:"rating"}}return{order:"desc",orderby:"date_gmt"}})(e.orderby),b=!(p||g||w||u||h||d),E=(0,c.useBlockProps)({className:ke(e)});return b?(0,o.createElement)(l.Placeholder,{icon:t,label:r},(0,a.__)("The content for this block is hidden due to block settings.","woocommerce")):(0,o.createElement)("div",{...E},(0,o.createElement)(Ce,{attributes:e,categoryIds:s,delayFunction:e=>(e=>{let t,r=null;const o=(...o)=>{r=o,t&&clearTimeout(t),t=setTimeout((()=>{t=null,r&&e(...r)}),400)};return o.flush=()=>{t&&r&&(e(...r),clearTimeout(t),t=null)},o.clear=()=>{t&&clearTimeout(t),t=null},o})(e),noReviewsPlaceholder:n,orderby:_,order:v,productId:i,reviewsToDisplay:m}))},Ae=()=>(0,o.createElement)(l.Placeholder,{className:"wc-block-reviews-by-category",icon:(0,o.createElement)(s.A,{icon:i.A,className:"block-editor-block-icon"}),label:(0,a.__)("Reviews by Category","woocommerce")},(0,a.__)("This block lists reviews for products from selected categories. The selected categories do not have any reviews yet, but they will show up here when they do.","woocommerce")),Oe=(0,l.withSpokenMessages)((({attributes:e,debouncedSpeak:t,setAttributes:r})=>{const{editMode:n,categoryIds:m}=e;if(!m||n)return(0,o.createElement)(l.Placeholder,{icon:(0,o.createElement)(s.A,{icon:i.A,className:"block-editor-block-icon"}),label:(0,a.__)("Reviews by Category","woocommerce"),className:"wc-block-reviews-by-category"},(0,a.__)("Show product reviews from specific categories.","woocommerce"),(0,o.createElement)("div",{className:"wc-block-reviews__selection"},(0,o.createElement)(X,{selected:e.categoryIds,onChange:(e=[])=>{const t=e.map((({id:e})=>e));r({categoryIds:t})},showReviewCount:!0}),(0,o.createElement)(l.Button,{variant:"primary",onClick:()=>{r({editMode:!1}),t((0,a.__)("Now displaying a preview of the reviews for the products in the selected categories.","woocommerce"))}},(0,a.__)("Done","woocommerce"))));const w=(0,a.__)("Edit selected categories","woocommerce");return(0,o.createElement)(o.Fragment,null,((e,t,r)=>(0,o.createElement)(c.BlockControls,null,(0,o.createElement)(l.ToolbarGroup,{controls:[{icon:"edit",title:r,onClick:()=>t({editMode:!e}),isActive:e}]})))(n,r,w),(0,o.createElement)(c.InspectorControls,{key:"inspector"},(0,o.createElement)(l.PanelBody,{title:(0,a.__)("Category","woocommerce"),initialOpen:!1},(0,o.createElement)(X,{selected:e.categoryIds,onChange:(e=[])=>{const t=e.map((({id:e})=>e));r({categoryIds:t})},isCompact:!0,showReviewCount:!0})),(0,o.createElement)(l.PanelBody,{title:(0,a.__)("Content","woocommerce")},(0,o.createElement)(l.ToggleControl,{label:(0,a.__)("Product name","woocommerce"),checked:e.showProductName,onChange:()=>r({showProductName:!e.showProductName})}),((e,t)=>{const r=(0,I.getSetting)("showAvatars",!0),n=(0,I.getSetting)("reviewRatingsEnabled",!0);return(0,o.createElement)(o.Fragment,null,(0,o.createElement)(l.ToggleControl,{label:(0,a.__)("Product rating","woocommerce"),checked:e.showReviewRating,onChange:()=>t({showReviewRating:!e.showReviewRating})}),e.showReviewRating&&!n&&(0,o.createElement)(l.Notice,{className:"wc-block-base-control-notice",isDismissible:!1},(0,d.createInterpolateElement)((0,a.__)("Product rating is disabled in your store settings.","woocommerce"),{a:(0,o.createElement)("a",{href:(0,I.getAdminLink)("admin.php?page=wc-settings&tab=products"),target:"_blank",rel:"noopener noreferrer"})})),(0,o.createElement)(l.ToggleControl,{label:(0,a.__)("Reviewer name","woocommerce"),checked:e.showReviewerName,onChange:()=>t({showReviewerName:!e.showReviewerName})}),(0,o.createElement)(l.ToggleControl,{label:(0,a.__)("Image","woocommerce"),checked:e.showReviewImage,onChange:()=>t({showReviewImage:!e.showReviewImage})}),(0,o.createElement)(l.ToggleControl,{label:(0,a.__)("Review date","woocommerce"),checked:e.showReviewDate,onChange:()=>t({showReviewDate:!e.showReviewDate})}),(0,o.createElement)(l.ToggleControl,{label:(0,a.__)("Review content","woocommerce"),checked:e.showReviewContent,onChange:()=>t({showReviewContent:!e.showReviewContent})}),e.showReviewImage&&(0,o.createElement)(o.Fragment,null,(0,o.createElement)(l.__experimentalToggleGroupControl,{label:(0,a.__)("Review image","woocommerce"),isBlock:!0,value:e.imageType,onChange:e=>t({imageType:e})},(0,o.createElement)(l.__experimentalToggleGroupControlOption,{value:"reviewer",label:(0,a.__)("Reviewer photo","woocommerce")}),(0,o.createElement)(l.__experimentalToggleGroupControlOption,{value:"product",label:(0,a.__)("Product","woocommerce")})),"reviewer"===e.imageType&&!r&&(0,o.createElement)(l.Notice,{className:"wc-block-base-control-notice",isDismissible:!1},(0,d.createInterpolateElement)((0,a.__)("Reviewer photo is disabled in your site settings.","woocommerce"),{a:(0,o.createElement)("a",{href:(0,I.getAdminLink)("options-discussion.php"),target:"_blank",rel:"noopener noreferrer"})}))))})(e,r)),(0,o.createElement)(l.PanelBody,{title:(0,a.__)("List Settings","woocommerce")},((e,t)=>(0,o.createElement)(o.Fragment,null,(0,o.createElement)(l.ToggleControl,{label:(0,a.__)("Order by","woocommerce"),checked:e.showOrderby,onChange:()=>t({showOrderby:!e.showOrderby})}),(0,o.createElement)(l.SelectControl,{label:(0,a.__)("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:e=>t({orderby:e})}),(0,o.createElement)(l.RangeControl,{label:(0,a.__)("Starting Number of Reviews","woocommerce"),value:e.reviewsOnPageLoad,onChange:e=>t({reviewsOnPageLoad:e}),max:20,min:1}),(0,o.createElement)(l.ToggleControl,{label:(0,a.__)("Load more","woocommerce"),checked:e.showLoadMore,onChange:()=>t({showLoadMore:!e.showLoadMore})}),e.showLoadMore&&(0,o.createElement)(l.RangeControl,{label:(0,a.__)("Load More Reviews","woocommerce"),value:e.reviewsOnLoadMore,onChange:e=>t({reviewsOnLoadMore:e}),max:20,min:1})))(e,r))),(0,o.createElement)(Ne,{attributes:e,icon:(0,o.createElement)(s.A,{icon:i.A,className:"block-editor-block-icon"}),name:(0,a.__)("Reviews by Category","woocommerce"),noReviewsPlaceholder:Ae}))}));r(1227);const Te={attributes:{editMode:!1,imageType:"reviewer",orderby:"most-recent",reviewsOnLoadMore:10,reviewsOnPageLoad:10,showLoadMore:!0,showOrderby:!0,showReviewDate:!0,showReviewerName:!0,showReviewImage:!0,showReviewRating:!0,showReviewContent:!0,previewReviews:[{id:1,date_created:"2019-07-15T17:05:04",formatted_date_created:(0,a.__)("July 15, 2019","woocommerce"),date_created_gmt:"2019-07-15T15:05:04",product_id:0,product_name:(0,a.__)("WordPress Pennant","woocommerce"),product_permalink:"#",
/* translators: An example person name used for the block previews. */
reviewer:(0,a.__)("Alice","woocommerce"),review:`${(0,a.__)("I bought this product last week and I'm very happy with it.","woocommerce")}
\n`,reviewer_avatar_urls:{48:z.defaultAvatar,96:z.defaultAvatar},rating:5,verified:!0},{id:2,date_created:"2019-07-12T12:39:39",formatted_date_created:(0,a.__)("July 12, 2019","woocommerce"),date_created_gmt:"2019-07-12T10:39:39",product_id:0,product_name:(0,a.__)("WordPress Pennant","woocommerce"),product_permalink:"#",
/* translators: An example person name used for the block previews. */
reviewer:(0,a.__)("Bob","woocommerce"),review:`${(0,a.__)("This product is awesome, I love it!","woocommerce")}
\n`,reviewer_avatar_urls:{48:z.defaultAvatar,96:z.defaultAvatar},rating:null,verified:!1}]}};(0,n.registerBlockType)("woocommerce/reviews-by-category",{apiVersion:3,title:(0,a.__)("Reviews by Category","woocommerce"),icon:{src:(0,o.createElement)(s.A,{icon:i.A,className:"wc-block-editor-components-block-icon"})},category:"woocommerce",keywords:[(0,a.__)("WooCommerce","woocommerce")],description:(0,a.__)("Show product reviews from specific categories.","woocommerce"),supports:{html:!1,color:{background:!1},typography:{fontSize:!0}},example:{...Te,attributes:{...Te.attributes,categoryIds:[1],showProductName:!0}},attributes:{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},previewReviews:{type:"array",default:null},categoryIds:{type:"array",default:[]},showProductName:{type:"boolean",default:!0}},edit:e=>{const t=(0,c.useBlockProps)();return(0,o.createElement)("div",{...t},(0,o.createElement)(Oe,{...e}))},save:({attributes:e})=>(0,o.createElement)("div",{...c.useBlockProps.save({className:ke(e)}),...Re(e)})})},113:()=>{},7935:()=>{},4105:()=>{},9836:()=>{},1227:()=>{},4974:()=>{},6876:()=>{},8137:()=>{},6636:()=>{},1609:e=>{"use strict";e.exports=window.React},9491:e=>{"use strict";e.exports=window.wp.compose},6087:e=>{"use strict";e.exports=window.wp.element},7723:e=>{"use strict";e.exports=window.wp.i18n},923:e=>{"use strict";e.exports=window.wp.isShallowEqual},5573:e=>{"use strict";e.exports=window.wp.primitives}},a={};function n(e){var t=a[e];if(void 0!==t)return t.exports;var r=a[e]={exports:{}};return o[e].call(r.exports,r,r.exports,n),r.exports}n.m=o,e=[],n.O=(t,r,o,a)=>{if(!r){var s=1/0;for(m=0;m=a)&&Object.keys(n.O).every((e=>n.O[e](r[c])))?r.splice(c--,1):(i=!1,a0&&e[m-1][2]>a;m--)e[m]=e[m-1];e[m]=[r,o,a]},n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,n.t=function(e,o){if(1&o&&(e=this(e)),8&o)return e;if("object"==typeof e&&e){if(4&o&&e.__esModule)return e;if(16&o&&"function"==typeof e.then)return e}var a=Object.create(null);n.r(a);var s={};t=t||[null,r({}),r([]),r(r)];for(var i=2&o&&e;"object"==typeof i&&!~t.indexOf(i);i=r(i))Object.getOwnPropertyNames(i).forEach((t=>s[t]=()=>e[t]));return s.default=()=>e,n.d(a,s),a},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.j=6273,(()=>{var e={6273:0};n.O.j=t=>0===e[t];var t=(t,r)=>{var o,a,[s,i,c]=r,l=0;if(s.some((t=>0!==e[t]))){for(o in i)n.o(i,o)&&(n.m[o]=i[o]);if(c)var m=c(n)}for(t&&t(r);ln(2961)));s=n.O(s),((this.wc=this.wc||{}).blocks=this.wc.blocks||{})["reviews-by-category"]=s})();