"use strict";(globalThis.webpackChunk_wcAdmin_webpackJsonp=globalThis.webpackChunk_wcAdmin_webpackJsonp||[]).push([[2397],{4320:(e,r,t)=>{t.d(r,{Z:()=>v});var o=t(69307),a=t(65736),c=t(94333),l=t(69771),s=t(9818),n=t(92819),i=t(69596),m=t.n(i),d=t(86020),u=t(67221),p=t(81921),_=t(17844),h=t(10431);function y(e,r,t={}){if(!e||0===e.length)return null;const o=e.slice(0),a=o.pop();if(a.showFilters(r,t)){const e=(0,h.flattenFilters)(a.filters),t=r[a.param]||a.defaultValue||"all";return(0,n.find)(e,{value:t})}return y(o,r,t)}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,t=e.data.intervals[e.data.intervals.length-1].date_end;if((0,p.containsLeapYear)(r,t))return!0}return!1}class f extends o.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 t={};return e.subtotals.segments.forEach((function(e){if(e.segment_label){const o=t[e.segment_label]?e.segment_label+" (#"+e.segment_id+")":e.segment_label;t[e.segment_id]={label:o,value:e.subtotals[r.key]||0}}})),{date:(0,l.format)("Y-m-d\\TH:i:s",e.date_start),...t}}))}getTimeChartData(){const{query:e,primaryData:r,secondaryData:t,selectedChart:o,defaultDateRange:a}=this.props,c=(0,p.getIntervalForQuery)(e,a),{primary:s,secondary:n}=(0,p.getCurrentDates)(e,a);return function(e,r,t,o,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:t,endpoint:o,filters:a,isRequesting:c,limitProperties:l,query:s,advancedFilters:i}=r,m=l||[o],d=y(a,s),p=(0,n.get)(d,["settings","param"]),_=r.mode||function(e,r){if(e&&r){const t=(0,n.get)(e,["settings","param"]);if(!t||Object.keys(r).includes(t))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=t&&t.map((e=>e.key)),g=(0,u.getReportChartData)({endpoint:o,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:o,dataType:"secondary",query:s,selector:w,limitBy:m,filters:a,advancedFilters:i,defaultDateRange:h,fields:v});return{...b,primaryData:g,secondaryData:C}})))(f)},15873:(e,r,t)=>{t.d(r,{O3:()=>i,be:()=>m,u8:()=>u});var o=t(65736),a=t(92694),c=t(9818),l=t(75606),s=t(3362);const{addCesSurveyForAnalytics:n}=(0,c.dispatch)(l.STORE_KEY),i=(0,a.applyFilters)("woocommerce_admin_coupons_report_charts",[{key:"orders_count",label:(0,o.__)("Discounted orders","woocommerce"),order:"desc",orderby:"orders_count",type:"number"},{key:"amount",label:(0,o.__)("Amount","woocommerce"),order:"desc",orderby:"amount",type:"currency"}]),m=(0,a.applyFilters)("woocommerce_admin_coupon_report_advanced_filters",{filters:{},title:(0,o._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,o.__)("Product","woocommerce"),placeholder:(0,o.__)("Search","woocommerce"),remove:(0,o.__)("Remove product filter","woocommerce"),rule:(0,o.__)("Select a product filter match","woocommerce"),title:(0,o.__)("Product ","woocommerce"),filter:(0,o.__)("Select product","woocommerce")},rules:[{value:"includes",label:(0,o._x)("Includes","products","woocommerce")},{value:"excludes",label:(0,o._x)("Excludes","products","woocommerce")}],input:{component:"Search",type:"products",getLabels:c.oC}},customer:{labels:{add:(0,o.__)("Username","woocommerce"),placeholder:(0,o.__)("Search customer username","woocommerce"),remove:(0,o.__)("Remove customer username filter","woocommerce"),rule:(0,o.__)("Select a customer username filter match","woocommerce"),title:(0,o.__)("Username ","woocommerce"),filter:(0,o.__)("Select customer username","woocommerce")},rules:[{value:"includes",label:(0,o._x)("Includes","customer usernames","woocommerce")},{value:"excludes",label:(0,o._x)("Excludes","customer usernames","woocommerce")}],input:{component:"Search",type:"usernames",getLabels:c.jk}},order:{labels:{add:(0,o.__)("Order #","woocommerce"),placeholder:(0,o.__)("Search order number","woocommerce"),remove:(0,o.__)("Remove order number filter","woocommerce"),rule:(0,o.__)("Select an order number filter match","woocommerce"),title:(0,o.__)("Order # ","woocommerce"),filter:(0,o.__)("Select order number","woocommerce")},rules:[{value:"includes",label:(0,o._x)("Includes","order numbers","woocommerce")},{value:"excludes",label:(0,o._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,o.__)("IP Address","woocommerce"),placeholder:(0,o.__)("Search IP address","woocommerce"),remove:(0,o.__)("Remove IP address filter","woocommerce"),rule:(0,o.__)("Select an IP address filter match","woocommerce"),title:(0,o.__)("IP Address ","woocommerce"),filter:(0,o.__)("Select IP address","woocommerce")},rules:[{value:"includes",label:(0,o._x)("Includes","IP addresses","woocommerce")},{value:"excludes",label:(0,o._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})))}}}}})},54605:(e,r,t)=>{t.d(r,{O3:()=>s,be:()=>i,u8:()=>n});var o=t(65736),a=t(92694),c=t(3362),l=t(88679);const s=(0,a.applyFilters)("woocommerce_admin_orders_report_charts",[{key:"orders_count",label:(0,o.__)("Orders","woocommerce"),type:"number"},{key:"net_revenue",label:(0,o.__)("Net sales","woocommerce"),order:"desc",orderby:"net_total",type:"currency"},{key:"avg_order_value",label:(0,o.__)("Average order value","woocommerce"),type:"currency"},{key:"avg_items_per_order",label:(0,o.__)("Average items per order","woocommerce"),order:"desc",orderby:"num_items_sold",type:"average"}]),n=(0,a.applyFilters)("woocommerce_admin_orders_report_filters",[{label:(0,o.__)("Show","woocommerce"),staticParams:["chartType","paged","per_page"],param:"filter",showFilters:()=>!0,filters:[{label:(0,o.__)("All orders","woocommerce"),value:"all"},{label:(0,o.__)("Advanced filters","woocommerce"),value:"advanced"}]}]),i=(0,a.applyFilters)("woocommerce_admin_orders_report_advanced_filters",{title:(0,o._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,o.__)("Advanced Filters","woocommerce"),value:"advanced"}),d.filters.push({label:(0,o.__)("Advanced Filters","woocommerce"),value:"advanced"}));const p=(0,a.applyFilters)("woocommerce_admin_products_report_filters",[m,d])},27783:(e,r,t)=>{t.d(r,{O3:()=>c,be:()=>l,u8:()=>n});var o=t(65736),a=t(92694);const c=(0,a.applyFilters)("woocommerce_admin_revenue_report_charts",[{key:"gross_sales",label:(0,o.__)("Gross sales","woocommerce"),order:"desc",orderby:"gross_sales",type:"currency",isReverseTrend:!1},{key:"refunds",label:(0,o.__)("Returns","woocommerce"),order:"desc",orderby:"refunds",type:"currency",isReverseTrend:!0},{key:"coupons",label:(0,o.__)("Coupons","woocommerce"),order:"desc",orderby:"coupons",type:"currency",isReverseTrend:!1},{key:"net_revenue",label:(0,o.__)("Net sales","woocommerce"),orderby:"net_revenue",type:"currency",isReverseTrend:!1,labelTooltipText:(0,o.__)("Full refunds are not deducted from tax or net sales totals","woocommerce")},{key:"taxes",label:(0,o.__)("Taxes","woocommerce"),order:"desc",orderby:"taxes",type:"currency",isReverseTrend:!1,labelTooltipText:(0,o.__)("Full refunds are not deducted from tax or net sales totals","woocommerce")},{key:"shipping",label:(0,o.__)("Shipping","woocommerce"),orderby:"shipping",type:"currency",isReverseTrend:!1},{key:"total_sales",label:(0,o.__)("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,o._x)("Revenue Matches filters","A sentence describing filters for Taxes. See screen shot for context: https://cloudup.com/cSsUY9VeCVJ","woocommerce")}),p=[{label:(0,o.__)("All taxes","woocommerce"),value:"all"},{label:(0,o.__)("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,o.__)("Check at least two tax codes below to compare","woocommerce"),placeholder:(0,o.__)("Search for tax codes to compare","woocommerce"),title:(0,o.__)("Compare Tax Codes","woocommerce"),update:(0,o.__)("Compare","woocommerce")},onClick:m}}];Object.keys(u.filters).length&&p.push({label:(0,o.__)("Advanced filters","woocommerce"),value:"advanced"});const _=(0,a.applyFilters)("woocommerce_admin_taxes_report_filters",[{label:(0,o.__)("Show","woocommerce"),staticParams:["chartType","paged","per_page"],param:"filter",showFilters:()=>!0,filters:p}])},86169:(e,r,t)=>{t.d(r,{I:()=>a});var o=t(65736);function a(e){return[e.country,e.state,e.name||(0,o.__)("TAX","woocommerce"),e.priority].map((e=>e.toString().toUpperCase().trim())).filter(Boolean).join("-")}},13469:(e,r,t)=>{t.r(r),t.d(r,{default:()=>q});var o=t(69307),a=t(65736),c=t(80225),l=t(65784),s=t(26280),n=t(69596),i=t.n(n),m=t(55609),d=t(86020),u=t(67221),p=t(81921),_=t(14599),h=t(66143),y=t(10431),w=t(74617),b=t(14812),f=t(4320);class v extends o.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:t,query:c,selectedChart:l,filters:s}=this.props;return l?(0,o.createElement)("div",{role:"presentation",className:"woocommerce-dashboard__chart-block-wrapper",onClick:this.handleChartClick},(0,o.createElement)(m.Card,{className:"woocommerce-dashboard__chart-block"},(0,o.createElement)(m.CardHeader,null,(0,o.createElement)(b.Text,{as:"h3",size:16,weight:600,color:"#23282d"},l.label)),(0,o.createElement)(m.CardBody,{size:null},(0,o.createElement)("a",{className:"screen-reader-text",href:(0,w.getAdminLink)(this.getChartPath(l))},(0,a.sprintf)((0,a.__)("%s Report","woocommerce"),l.label)),(0,o.createElement)(f.Z,{charts:e,endpoint:r,query:c,interactiveLegend:!1,legendPosition:"bottom",path:t,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=t(92694),x=t(54605),S=t(13740),k=t(27783),T=t(15873),E=t(22881),R=t(97269);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:t,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,o.useState)(E.dashboard_chart_type||"line"),[O,P]=(0,o.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,o.createElement)("div",{className:"woocommerce-dashboard__dashboard-charts"},(0,o.createElement)(d.SectionHeader,{title:C||(0,a.__)("Charts","woocommerce"),menu:(0,o.createElement)(d.EllipsisMenu,{label:(0,a.__)("Choose which charts to display","woocommerce"),placement:"bottom-end",renderContent:({onToggle:e})=>(0,o.createElement)(o.Fragment,null,(0,o.createElement)(d.MenuTitle,null,(0,a.__)("Charts","woocommerce")),(({hiddenBlocks:e,onToggleHiddenBlock:r})=>A.map((t=>{const a=t.endpoint+"_"+t.key,c=!e.includes(a);return(0,o.createElement)(d.MenuItem,{checked:c,isCheckbox:!0,isClickable:!0,key:t.endpoint+"_"+t.key,onInvoke:()=>{r(a)(),(0,_.recordEvent)("dash_charts_chart_toggle",{status:c?"off":"on",key:a})}},t.label)})))({hiddenBlocks:t,onToggleHiddenBlock:f}),(0,o.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:t,defaultDateRange:c})=>{const l=(0,p.getAllowedIntervalsForQuery)(t,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,o.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,o.createElement)(m.NavigableMenu,{className:"woocommerce-chart__types",orientation:"horizontal",role:"menubar"},(0,o.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,o.createElement)(l.Z,null)),(0,o.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,o.createElement)(s.Z,null)))),(({hiddenBlocks:e,path:r,query:t,filters:a})=>{const c=A.reduce(((e,r)=>(void 0===e[r.endpoint]&&(e[r.endpoint]=[]),e[r.endpoint].push(r),e)),{});return(0,o.createElement)("div",{className:"woocommerce-dashboard__columns"},A.map((l=>e.includes(l.endpoint+"_"+l.key)?null:(0,o.createElement)(g,{charts:c[l.endpoint],endpoint:l.endpoint,key:l.endpoint+"_"+l.key,path:r,query:t,selectedChart:l,filters:a}))))})({hiddenBlocks:t,path:v,query:q,filters:S}))};P.propTypes={path:i().string.isRequired,query:i().object.isRequired,defaultDateRange:i().string.isRequired};const q=P},3362:(e,r,t)=>{t.d(r,{FI:()=>w,V1:()=>b,YC:()=>p,hQ:()=>_,jk:()=>h,oC:()=>y,qc:()=>u,uC:()=>f});var o=t(65736),a=t(96483),c=t(86989),l=t.n(c),s=t(92819),n=t(10431),i=t(67221),m=t(86169),d=t(88679);function u(e,r=s.identity){return function(t="",o){const c="function"==typeof e?e(o):e,s=(0,n.getIdsFromQuery)(t);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 t=(0,d.O3)("variationTitleAttributesSeparator"," - ");if(r&&r.indexOf(t)>-1)return r;const a=(e||[]).map((({name:e,option:r})=>(r||(e=e.charAt(0).toUpperCase()+e.slice(1),r=(0,o.sprintf)((0,o.__)("Any %s","woocommerce"),e)),r))).join(", ");return a?r+t+a:r}const f=u((({products:e})=>e?i.NAMESPACE+`/products/${e}/variations`:i.NAMESPACE+"/variations"),(e=>({key:e.id,label:b(e)})))},65784:(e,r,t)=>{r.Z=function(e){var r=e.size,t=void 0===r?24:r,o=e.onClick,s=(e.icon,e.className),n=function(e,r){if(null==e)return{};var t,o,a=function(e,r){if(null==e)return{};var t,o,a={},c=Object.keys(e);for(o=0;o{r.Z=function(e){var r=e.size,t=void 0===r?24:r,o=e.onClick,s=(e.icon,e.className),n=function(e,r){if(null==e)return{};var t,o,a=function(e,r){if(null==e)return{};var t,o,a={},c=Object.keys(e);for(o=0;o