"use strict";(globalThis.webpackChunk_wcAdmin_webpackJsonp=globalThis.webpackChunk_wcAdmin_webpackJsonp||[]).push([[2397],{47478:(e,r,o)=>{o.d(r,{Z:()=>v});var t=o(69307),a=o(65736),c=o(94333),l=o(69771),s=o(9818),n=o(92819),i=o(7862),m=o.n(i),d=o(86020),u=o(67221),p=o(81921),_=o(17844),h=o(10431);function y(e,r,o={}){if(!e||0===e.length)return null;const t=e.slice(0),a=t.pop();if(a.showFilters(r,o)){const e=(0,h.flattenFilters)(a.filters),o=r[a.param]||a.defaultValue||"all";return(0,n.find)(e,{value:o})}return y(t,r,o)}function w(e){return r=>(0,l.format)(e,r)}function b(e){if(e?.data?.intervals?.length>1){const r=e.data.intervals[0].date_start,o=e.data.intervals[e.data.intervals.length-1].date_end;if((0,p.containsLeapYear)(r,o))return!0}return!1}class f extends t.Component{shouldComponentUpdate(e){return e.isRequesting!==this.props.isRequesting||e.primaryData.isRequesting!==this.props.primaryData.isRequesting||e.secondaryData.isRequesting!==this.props.secondaryData.isRequesting||!(0,n.isEqual)(e.query,this.props.query)}getItemChartData(){const{primaryData:e,selectedChart:r}=this.props;return e.data.intervals.map((function(e){const o={};return e.subtotals.segments.forEach((function(e){if(e.segment_label){const t=o[e.segment_label]?e.segment_label+" (#"+e.segment_id+")":e.segment_label;o[e.segment_id]={label:t,value:e.subtotals[r.key]||0}}})),{date:(0,l.format)("Y-m-d\\TH:i:s",e.date_start),...o}}))}getTimeChartData(){const{query:e,primaryData:r,secondaryData:o,selectedChart:t,defaultDateRange:a}=this.props,c=(0,p.getIntervalForQuery)(e,a),{primary:s,secondary:n}=(0,p.getCurrentDates)(e,a);return function(e,r,o,t,a,c,s){const n=b(e),i=b(r),m=[...e.data.intervals],d=[...r.data.intervals],u=[];for(let e=0;e{const{charts:o,endpoint:t,filters:a,isRequesting:c,limitProperties:l,query:s,advancedFilters:i}=r,m=l||[t],d=y(a,s),p=(0,n.get)(d,["settings","param"]),_=r.mode||function(e,r){if(e&&r){const o=(0,n.get)(e,["settings","param"]);if(!o||Object.keys(r).includes(o))return(0,n.get)(e,["chartMode"])}return null}(d,s)||"time-comparison",{woocommerce_default_date_range:h}=e(u.SETTINGS_STORE_NAME).getSetting("wc_admin","wcAdminSettings"),w=e(u.REPORTS_STORE_NAME),b={mode:_,filterParam:p,defaultDateRange:h};if(c)return b;const f=m.some((e=>s[e]&&s[e].length));if(s.search&&!f)return{...b,emptySearchResults:!0};const v=o&&o.map((e=>e.key)),g=(0,u.getReportChartData)({endpoint:t,dataType:"primary",query:s,selector:w,limitBy:m,filters:a,advancedFilters:i,defaultDateRange:h,fields:v});if("item-comparison"===_)return{...b,primaryData:g};const C=(0,u.getReportChartData)({endpoint:t,dataType:"secondary",query:s,selector:w,limitBy:m,filters:a,advancedFilters:i,defaultDateRange:h,fields:v});return{...b,primaryData:g,secondaryData:C}})))(f)},1602:(e,r,o)=>{o.d(r,{O3:()=>i,be:()=>m,u8:()=>u});var t=o(65736),a=o(92694),c=o(9818),l=o(75606),s=o(20513);const{addCesSurveyForAnalytics:n}=(0,c.dispatch)(l.STORE_KEY),i=(0,a.applyFilters)("woocommerce_admin_coupons_report_charts",[{key:"orders_count",label:(0,t.__)("Discounted orders","woocommerce"),order:"desc",orderby:"orders_count",type:"number"},{key:"amount",label:(0,t.__)("Amount","woocommerce"),order:"desc",orderby:"amount",type:"currency"}]),m=(0,a.applyFilters)("woocommerce_admin_coupon_report_advanced_filters",{filters:{},title:(0,t._x)("Coupons match filters","A sentence describing filters for Downloads. See screen shot for context: https://cloudup.com/ccxhyH2mEDg","woocommerce"),filters:{product:{labels:{add:(0,t.__)("Product","woocommerce"),placeholder:(0,t.__)("Search","woocommerce"),remove:(0,t.__)("Remove product filter","woocommerce"),rule:(0,t.__)("Select a product filter match","woocommerce"),title:(0,t.__)("Product ","woocommerce"),filter:(0,t.__)("Select product","woocommerce")},rules:[{value:"includes",label:(0,t._x)("Includes","products","woocommerce")},{value:"excludes",label:(0,t._x)("Excludes","products","woocommerce")}],input:{component:"Search",type:"products",getLabels:c.oC}},customer:{labels:{add:(0,t.__)("Username","woocommerce"),placeholder:(0,t.__)("Search customer username","woocommerce"),remove:(0,t.__)("Remove customer username filter","woocommerce"),rule:(0,t.__)("Select a customer username filter match","woocommerce"),title:(0,t.__)("Username ","woocommerce"),filter:(0,t.__)("Select customer username","woocommerce")},rules:[{value:"includes",label:(0,t._x)("Includes","customer usernames","woocommerce")},{value:"excludes",label:(0,t._x)("Excludes","customer usernames","woocommerce")}],input:{component:"Search",type:"usernames",getLabels:c.jk}},order:{labels:{add:(0,t.__)("Order #","woocommerce"),placeholder:(0,t.__)("Search order number","woocommerce"),remove:(0,t.__)("Remove order number filter","woocommerce"),rule:(0,t.__)("Select an order number filter match","woocommerce"),title:(0,t.__)("Order # ","woocommerce"),filter:(0,t.__)("Select order number","woocommerce")},rules:[{value:"includes",label:(0,t._x)("Includes","order numbers","woocommerce")},{value:"excludes",label:(0,t._x)("Excludes","order numbers","woocommerce")}],input:{component:"Search",type:"orders",getLabels:async e=>{const r=e.split(",");return await r.map((e=>({id:e,label:"#"+e})))}}},ip_address:{labels:{add:(0,t.__)("IP Address","woocommerce"),placeholder:(0,t.__)("Search IP address","woocommerce"),remove:(0,t.__)("Remove IP address filter","woocommerce"),rule:(0,t.__)("Select an IP address filter match","woocommerce"),title:(0,t.__)("IP Address ","woocommerce"),filter:(0,t.__)("Select IP address","woocommerce")},rules:[{value:"includes",label:(0,t._x)("Includes","IP addresses","woocommerce")},{value:"excludes",label:(0,t._x)("Excludes","IP addresses","woocommerce")}],input:{component:"Search",type:"downloadIps",getLabels:async e=>{const r=e.split(",");return await r.map((e=>({id:e,label:e})))}}}}})},25447:(e,r,o)=>{o.d(r,{O3:()=>s,be:()=>i,u8:()=>n});var t=o(65736),a=o(92694),c=o(20513),l=o(17062);const s=(0,a.applyFilters)("woocommerce_admin_orders_report_charts",[{key:"orders_count",label:(0,t.__)("Orders","woocommerce"),type:"number"},{key:"net_revenue",label:(0,t.__)("Net sales","woocommerce"),order:"desc",orderby:"net_total",type:"currency"},{key:"avg_order_value",label:(0,t.__)("Average order value","woocommerce"),type:"currency"},{key:"avg_items_per_order",label:(0,t.__)("Average items per order","woocommerce"),order:"desc",orderby:"num_items_sold",type:"average"}]),n=(0,a.applyFilters)("woocommerce_admin_orders_report_filters",[{label:(0,t.__)("Show","woocommerce"),staticParams:["chartType","paged","per_page"],param:"filter",showFilters:()=>!0,filters:[{label:(0,t.__)("All orders","woocommerce"),value:"all"},{label:(0,t.__)("Advanced filters","woocommerce"),value:"advanced"}]}]),i=(0,a.applyFilters)("woocommerce_admin_orders_report_advanced_filters",{title:(0,t._x)("Orders match Filters","A sentence describing filters for Products. See screen shot for context: https://cloudup.com/cSsUY9VeCVJ","woocommerce")});Object.keys(u.filters).length&&(m.filters.push({label:(0,t.__)("Advanced Filters","woocommerce"),value:"advanced"}),d.filters.push({label:(0,t.__)("Advanced Filters","woocommerce"),value:"advanced"}));const p=(0,a.applyFilters)("woocommerce_admin_products_report_filters",[m,d])},74457:(e,r,o)=>{o.d(r,{O3:()=>c,be:()=>l,u8:()=>n});var t=o(65736),a=o(92694);const c=(0,a.applyFilters)("woocommerce_admin_revenue_report_charts",[{key:"gross_sales",label:(0,t.__)("Gross sales","woocommerce"),order:"desc",orderby:"gross_sales",type:"currency",isReverseTrend:!1},{key:"refunds",label:(0,t.__)("Returns","woocommerce"),order:"desc",orderby:"refunds",type:"currency",isReverseTrend:!0},{key:"coupons",label:(0,t.__)("Coupons","woocommerce"),order:"desc",orderby:"coupons",type:"currency",isReverseTrend:!1},{key:"net_revenue",label:(0,t.__)("Net sales","woocommerce"),orderby:"net_revenue",type:"currency",isReverseTrend:!1,labelTooltipText:(0,t.__)("Full refunds are not deducted from tax or net sales totals","woocommerce")},{key:"taxes",label:(0,t.__)("Taxes","woocommerce"),order:"desc",orderby:"taxes",type:"currency",isReverseTrend:!1,labelTooltipText:(0,t.__)("Full refunds are not deducted from tax or net sales totals","woocommerce")},{key:"shipping",label:(0,t.__)("Shipping","woocommerce"),orderby:"shipping",type:"currency",isReverseTrend:!1},{key:"total_sales",label:(0,t.__)("Total sales","woocommerce"),order:"desc",orderby:"total_sales",type:"currency",isReverseTrend:!1}]),l=(0,a.applyFilters)("woocommerce_admin_revenue_report_advanced_filters",{filters:{},title:(0,t._x)("Revenue Matches filters","A sentence describing filters for Taxes. See screen shot for context: https://cloudup.com/cSsUY9VeCVJ","woocommerce")}),p=[{label:(0,t.__)("All taxes","woocommerce"),value:"all"},{label:(0,t.__)("Comparison","woocommerce"),value:"compare-taxes",chartMode:"item-comparison",settings:{type:"taxes",param:"taxes",getLabels:(0,n.qc)(l.NAMESPACE+"/taxes",(e=>({id:e.id,key:e.id,label:(0,i.I)(e)}))),labels:{helpText:(0,t.__)("Check at least two tax codes below to compare","woocommerce"),placeholder:(0,t.__)("Search for tax codes to compare","woocommerce"),title:(0,t.__)("Compare Tax Codes","woocommerce"),update:(0,t.__)("Compare","woocommerce")},onClick:m}}];Object.keys(u.filters).length&&p.push({label:(0,t.__)("Advanced filters","woocommerce"),value:"advanced"});const _=(0,a.applyFilters)("woocommerce_admin_taxes_report_filters",[{label:(0,t.__)("Show","woocommerce"),staticParams:["chartType","paged","per_page"],param:"filter",showFilters:()=>!0,filters:p}])},86806:(e,r,o)=>{o.d(r,{I:()=>a});var t=o(65736);function a(e){return[e.country,e.state,e.name||(0,t.__)("TAX","woocommerce"),e.priority].map((e=>e.toString().toUpperCase().trim())).filter(Boolean).join("-")}},21999:(e,r,o)=>{o.r(r),o.d(r,{default:()=>q});var t=o(69307),a=o(65736),c=o(7829),l=o(39389),s=o(22578),n=o(7862),i=o.n(n),m=o(55609),d=o(86020),u=o(67221),p=o(81921),_=o(14599),h=o(37708),y=o(10431),w=o(74617),b=o(14812),f=o(47478);class v extends t.Component{constructor(...e){super(...e),(0,h.Z)(this,"handleChartClick",(()=>{const{selectedChart:e}=this.props;(0,y.getHistory)().push(this.getChartPath(e))}))}getChartPath(e){return(0,y.getNewPath)({chart:e.key},"/analytics/"+e.endpoint,(0,y.getPersistedQuery)())}render(){const{charts:e,endpoint:r,path:o,query:c,selectedChart:l,filters:s}=this.props;return l?(0,t.createElement)("div",{role:"presentation",className:"woocommerce-dashboard__chart-block-wrapper",onClick:this.handleChartClick},(0,t.createElement)(m.Card,{className:"woocommerce-dashboard__chart-block"},(0,t.createElement)(m.CardHeader,null,(0,t.createElement)(b.Text,{as:"h3",size:16,weight:600,color:"#23282d"},l.label)),(0,t.createElement)(m.CardBody,{size:null},(0,t.createElement)("a",{className:"screen-reader-text",href:(0,w.getAdminLink)(this.getChartPath(l))},(0,a.sprintf)((0,a.__)("%s Report","woocommerce"),l.label)),(0,t.createElement)(f.Z,{charts:e,endpoint:r,query:c,interactiveLegend:!1,legendPosition:"bottom",path:o,selectedChart:l,showHeaderControls:!1,filters:s})))):null}}v.propTypes={charts:i().array,endpoint:i().string.isRequired,path:i().string.isRequired,query:i().object.isRequired,selectedChart:i().object.isRequired};const g=v;var C=o(92694),x=o(25447),S=o(25297),k=o(74457),T=o(1602),E=o(56703),R=o(65925);const F={revenue:k.O3,orders:x.O3,products:S.O3,coupons:T.O3,taxes:E.O3,downloads:R.O3},O=[{label:(0,a.__)("Total sales","woocommerce"),report:"revenue",key:"total_sales"},{label:(0,a.__)("Net sales","woocommerce"),report:"revenue",key:"net_revenue"},{label:(0,a.__)("Orders","woocommerce"),report:"orders",key:"orders_count"},{label:(0,a.__)("Average order value","woocommerce"),report:"orders",key:"avg_order_value"},{label:(0,a.__)("Items sold","woocommerce"),report:"products",key:"items_sold"},{label:(0,a.__)("Returns","woocommerce"),report:"revenue",key:"refunds"},{label:(0,a.__)("Discounted orders","woocommerce"),report:"coupons",key:"orders_count"},{label:(0,a.__)("Gross discounted","woocommerce"),report:"coupons",key:"amount"},{label:(0,a.__)("Total tax","woocommerce"),report:"taxes",key:"total_tax"},{label:(0,a.__)("Order tax","woocommerce"),report:"taxes",key:"order_tax"},{label:(0,a.__)("Shipping tax","woocommerce"),report:"taxes",key:"shipping_tax"},{label:(0,a.__)("Shipping","woocommerce"),report:"revenue",key:"shipping"},{label:(0,a.__)("Downloads","woocommerce"),report:"downloads",key:"download_count"}],A=(0,C.applyFilters)("woocommerce_admin_dashboard_charts_filter",O.map((e=>({...F[e.report].find((r=>r.key===e.key)),label:e.label,endpoint:e.report})))),P=e=>{const{controls:r,hiddenBlocks:o,isFirst:n,isLast:i,onMove:h,onRemove:y,onTitleBlur:w,onTitleChange:b,onToggleHiddenBlock:f,path:v,title:C,titleInput:x,filters:S,defaultDateRange:k}=e,{updateUserPreferences:T,...E}=(0,u.useUserPreferences)(),[R,F]=(0,t.useState)(E.dashboard_chart_type||"line"),[O,P]=(0,t.useState)(E.dashboard_chart_interval||"day"),q={...e.query,chartType:R,interval:O},D=e=>()=>{F(e),T({dashboard_chart_type:e}),(0,_.recordEvent)("dash_charts_type_toggle",{chart_type:e})};return(0,t.createElement)("div",{className:"woocommerce-dashboard__dashboard-charts"},(0,t.createElement)(d.SectionHeader,{title:C||(0,a.__)("Charts","woocommerce"),menu:(0,t.createElement)(d.EllipsisMenu,{label:(0,a.__)("Choose which charts to display","woocommerce"),renderContent:({onToggle:e})=>(0,t.createElement)(t.Fragment,null,(0,t.createElement)(d.MenuTitle,null,(0,a.__)("Charts","woocommerce")),(({hiddenBlocks:e,onToggleHiddenBlock:r})=>A.map((o=>{const a=o.endpoint+"_"+o.key,c=!e.includes(a);return(0,t.createElement)(d.MenuItem,{checked:c,isCheckbox:!0,isClickable:!0,key:o.endpoint+"_"+o.key,onInvoke:()=>{r(a)(),(0,_.recordEvent)("dash_charts_chart_toggle",{status:c?"off":"on",key:a})}},o.label)})))({hiddenBlocks:o,onToggleHiddenBlock:f}),(0,t.createElement)(r,{onToggle:e,onMove:h,onRemove:y,isFirst:n,isLast:i,onTitleBlur:w,onTitleChange:b,titleInput:x}))}),className:"has-interval-select"},(({chartInterval:e,setInterval:r,query:o,defaultDateRange:c})=>{const l=(0,p.getAllowedIntervalsForQuery)(o,c);if(!l||l.length<1)return null;const s={hour:(0,a.__)("By hour","woocommerce"),day:(0,a.__)("By day","woocommerce"),week:(0,a.__)("By week","woocommerce"),month:(0,a.__)("By month","woocommerce"),quarter:(0,a.__)("By quarter","woocommerce"),year:(0,a.__)("By year","woocommerce")};return(0,t.createElement)(m.SelectControl,{className:"woocommerce-chart__interval-select",value:e,options:l.map((e=>({value:e,label:s[e]}))),"aria-label":"Chart period",onChange:r})})({chartInterval:O,setInterval:e=>{P(e),T({dashboard_chart_interval:e}),(0,_.recordEvent)("dash_charts_interval",{interval:e})},query:q,defaultDateRange:k}),(0,t.createElement)(m.NavigableMenu,{className:"woocommerce-chart__types",orientation:"horizontal",role:"menubar"},(0,t.createElement)(m.Button,{className:(0,c.Z)("woocommerce-chart__type-button",{"woocommerce-chart__type-button-selected":!q.chartType||"line"===q.chartType}),title:(0,a.__)("Line chart","woocommerce"),"aria-checked":"line"===q.chartType,role:"menuitemradio",tabIndex:"line"===q.chartType?0:-1,onClick:D("line")},(0,t.createElement)(l.Z,null)),(0,t.createElement)(m.Button,{className:(0,c.Z)("woocommerce-chart__type-button",{"woocommerce-chart__type-button-selected":"bar"===q.chartType}),title:(0,a.__)("Bar chart","woocommerce"),"aria-checked":"bar"===q.chartType,role:"menuitemradio",tabIndex:"bar"===q.chartType?0:-1,onClick:D("bar")},(0,t.createElement)(s.Z,null)))),(({hiddenBlocks:e,path:r,query:o,filters:a})=>{const c=A.reduce(((e,r)=>(void 0===e[r.endpoint]&&(e[r.endpoint]=[]),e[r.endpoint].push(r),e)),{});return(0,t.createElement)("div",{className:"woocommerce-dashboard__columns"},A.map((l=>e.includes(l.endpoint+"_"+l.key)?null:(0,t.createElement)(g,{charts:c[l.endpoint],endpoint:l.endpoint,key:l.endpoint+"_"+l.key,path:r,query:o,selectedChart:l,filters:a}))))})({hiddenBlocks:o,path:v,query:q,filters:S}))};P.propTypes={path:i().string.isRequired,query:i().object.isRequired,defaultDateRange:i().string.isRequired};const q=P},20513:(e,r,o)=>{o.d(r,{FI:()=>w,V1:()=>b,YC:()=>p,hQ:()=>_,jk:()=>h,oC:()=>y,qc:()=>u,uC:()=>f});var t=o(65736),a=o(96483),c=o(86989),l=o.n(c),s=o(92819),n=o(10431),i=o(67221),m=o(86806),d=o(17062);function u(e,r=s.identity){return function(o="",t){const c="function"==typeof e?e(t):e,s=(0,n.getIdsFromQuery)(o);if(s.length<1)return Promise.resolve([]);const i={include:s.join(","),per_page:s.length};return l()({path:(0,a.addQueryArgs)(c,i)}).then((e=>e.map(r)))}}u(i.NAMESPACE+"/products/attributes",(e=>({key:e.id,label:e.name})));const p=u(i.NAMESPACE+"/products/categories",(e=>({key:e.id,label:e.name}))),_=u(i.NAMESPACE+"/coupons",(e=>({key:e.id,label:e.code}))),h=u(i.NAMESPACE+"/customers",(e=>({key:e.id,label:e.name}))),y=u(i.NAMESPACE+"/products",(e=>({key:e.id,label:e.name}))),w=u(i.NAMESPACE+"/taxes",(e=>({key:e.id,label:(0,m.I)(e)})));function b({attributes:e,name:r}){const o=(0,d.O3)("variationTitleAttributesSeparator"," - ");if(r&&r.indexOf(o)>-1)return r;const a=(e||[]).map((({name:e,option:r})=>(r||(e=e.charAt(0).toUpperCase()+e.slice(1),r=(0,t.sprintf)((0,t.__)("Any %s","woocommerce"),e)),r))).join(", ");return a?r+o+a:r}const f=u((({products:e})=>e?i.NAMESPACE+`/products/${e}/variations`:i.NAMESPACE+"/variations"),(e=>({key:e.id,label:b(e)})))},39389:(e,r,o)=>{r.Z=function(e){var r=e.size,o=void 0===r?24:r,t=e.onClick,s=(e.icon,e.className),n=function(e,r){if(null==e)return{};var o,t,a=function(e,r){if(null==e)return{};var o,t,a={},c=Object.keys(e);for(t=0;t{r.Z=function(e){var r=e.size,o=void 0===r?24:r,t=e.onClick,s=(e.icon,e.className),n=function(e,r){if(null==e)return{};var o,t,a=function(e,r){if(null==e)return{};var o,t,a={},c=Object.keys(e);for(t=0;t