From 5dc53bdd7dc14afdb60ec69f733d69a00f1ebad8 Mon Sep 17 00:00:00 2001
From: Timmy Crawford
Date: Tue, 12 May 2020 19:19:24 -0700
Subject: [PATCH] Adding /dist directory to release
---
dist/activity-panels-inbox/style-rtl.css | 1 +
dist/activity-panels-inbox/style.css | 1 +
dist/activity-panels-orders/style-rtl.css | 1 +
dist/activity-panels-orders/style.css | 1 +
dist/activity-panels-stock/style-rtl.css | 1 +
dist/activity-panels-stock/style.css | 1 +
.../style-rtl.css | 1 +
.../style.css | 1 +
.../style-rtl.css | 1 +
.../style.css | 1 +
dist/analytics-report-orders/style-rtl.css | 1 +
dist/analytics-report-orders/style.css | 1 +
dist/analytics-settings/style-rtl.css | 1 +
dist/analytics-settings/style.css | 1 +
dist/app/index.js | 23316 ++++
dist/app/index.min.js | 2 +
dist/app/index.min.js.LICENSE.txt | 14 +
dist/app/style-rtl.css | 1 +
dist/app/style.css | 1 +
...ivity-panels-inbox.d778ee044369d27719e0.js | 1783 +
...y-panels-inbox.d778ee044369d27719e0.min.js | 1 +
...vity-panels-orders.03bce387983e598295fa.js | 841 +
...-panels-orders.03bce387983e598295fa.min.js | 1 +
...ivity-panels-stock.4f4e0f926f920a653099.js | 962 +
...y-panels-stock.4f4e0f926f920a653099.min.js | 1 +
...-report-categories.2fb0556451942bfbfa96.js | 543 +
...ort-categories.2fb0556451942bfbfa96.min.js | 1 +
...eport-dow~99eefb40.461e5718e712fc637f8d.js | 1920 +
...t-dow~99eefb40.461e5718e712fc637f8d.min.js | 1 +
...cs-report-products.e31f660a92b0aaf484ea.js | 1532 +
...eport-products.e31f660a92b0aaf484ea.min.js | 1 +
...ics-report-coupons.4c4c6b79fa3e16daf624.js | 1536 +
...report-coupons.4c4c6b79fa3e16daf624.min.js | 1 +
...s-report-customers.37de523262b0df41ff86.js | 1015 +
...port-customers.37de523262b0df41ff86.min.js | 1 +
...s-report-downloads.7191d6b82a766d8772ee.js | 1633 +
...port-downloads.7191d6b82a766d8772ee.min.js | 1 +
...tics-report-orders.0b57ecec97f70fa238eb.js | 1745 +
...-report-orders.0b57ecec97f70fa238eb.min.js | 1 +
...cs-report-products.6b1a268333688c4b41a9.js | 641 +
...eport-products.6b1a268333688c4b41a9.min.js | 1 +
...ics-report-revenue.8c233563b2230669fb1f.js | 1444 +
...report-revenue.8c233563b2230669fb1f.min.js | 1 +
...ytics-report-stock.01e7040b7f0e196e8129.js | 451 +
...s-report-stock.01e7040b7f0e196e8129.min.js | 1 +
...ytics-report-taxes.6ab663abefa97569bb56.js | 1521 +
...s-report-taxes.6ab663abefa97569bb56.min.js | 1 +
...analytics-settings.5be0a529e94eb8e85ea7.js | 1838 +
...ytics-settings.5be0a529e94eb8e85ea7.min.js | 1 +
...omizable-dashboard.6f12fadc21b5ed6566aa.js | 1440 +
...able-dashboard.6f12fadc21b5ed6566aa.min.js | 1 +
.../dashboard-charts.9eb2d5d4d569e8cb81a3.js | 2729 +
...shboard-charts.9eb2d5d4d569e8cb81a3.min.js | 1 +
dist/chunks/dashboard.35da37d6f7f5a413e7f7.js | 236 +
.../dashboard.35da37d6f7f5a413e7f7.min.js | 1 +
dist/chunks/devdocs.6fe086c6992ba41e679a.js | 3519 +
.../devdocs.6fe086c6992ba41e679a.min.js | 1 +
dist/chunks/homepage.a9dfdc35bddd3d3b6246.js | 322 +
.../homepage.a9dfdc35bddd3d3b6246.min.js | 1 +
.../leaderboards.6ebf410fa2e671dfada5.js | 596 +
.../leaderboards.6ebf410fa2e671dfada5.min.js | 1 +
...marketing-overview.b6047d897bbd2208cd37.js | 1666 +
...eting-overview.b6047d897bbd2208cd37.min.js | 1 +
.../profile-wizard.5f293dc41bd478f9a580.js | 5217 +
...profile-wizard.5f293dc41bd478f9a580.min.js | 1 +
.../store-alerts.75c1c866910a9d4a64bc.js | 767 +
.../store-alerts.75c1c866910a9d4a64bc.min.js | 1 +
.../store-performance.f97eae21bc823553bd16.js | 313 +
...re-performance.f97eae21bc823553bd16.min.js | 1 +
dist/chunks/task-list.396c743bbcd65bd90ccc.js | 5972 +
.../task-list.396c743bbcd65bd90ccc.min.js | 1 +
...~devdocs~~f6270017.20e4990156e0a34c18b0.js | 12 +
...docs~~f6270017.20e4990156e0a34c18b0.min.js | 1 +
...e-alerts~task-list.dd09e8a86b0bcaa9aff7.js | 1265 +
...erts~task-list.dd09e8a86b0bcaa9aff7.min.js | 1 +
...lytics-re~2579715d.b4847f391ea34c64503d.js | 1568 +
...cs-re~2579715d.b4847f391ea34c64503d.min.js | 1 +
.../vendors~devdocs.66c75ad9a415f473d186.js | 3915 +
...endors~devdocs.66c75ad9a415f473d186.min.js | 1 +
...marketing-overview.d1653cdc07670674a95f.js | 1077 +
...eting-overview.d1653cdc07670674a95f.min.js | 1 +
...e-wizard~task-list.114a8214ba34dbd3c0f0.js | 710 +
...zard~task-list.114a8214ba34dbd3c0f0.min.js | 1 +
dist/components/ie-rtl.css | 982 +
dist/components/ie.css | 982 +
dist/components/index.js | 94692 ++++++++++++++++
dist/components/index.min.js | 2 +
dist/components/index.min.js.LICENSE.txt | 21 +
dist/components/style-rtl.css | 2883 +
dist/components/style.css | 2887 +
dist/csv-export/index.js | 483 +
dist/csv-export/index.min.js | 2 +
dist/csv-export/index.min.js.LICENSE.txt | 1 +
dist/currency/index.js | 463 +
dist/currency/index.min.js | 1 +
dist/dashboard-charts/style-rtl.css | 1 +
dist/dashboard-charts/style.css | 1 +
dist/dashboard/style-rtl.css | 1 +
dist/dashboard/style.css | 1 +
dist/data/index.js | 1625 +
dist/data/index.min.js | 1 +
dist/date/index.js | 1672 +
dist/date/index.min.js | 1 +
dist/devdocs/style-rtl.css | 1 +
dist/devdocs/style.css | 1 +
dist/ie/style-rtl.css | 1 +
dist/ie/style.css | 1 +
dist/leaderboards/style-rtl.css | 1 +
dist/leaderboards/style.css | 1 +
dist/marketing-overview/style-rtl.css | 1 +
dist/marketing-overview/style.css | 1 +
dist/navigation/index.js | 2791 +
dist/navigation/index.min.js | 1 +
dist/number/index.js | 430 +
dist/number/index.min.js | 1 +
.../print-shipping-label-banner/style-rtl.css | 1 +
dist/print-shipping-label-banner/style.css | 1 +
dist/profile-wizard/style-rtl.css | 1 +
dist/profile-wizard/style.css | 1 +
dist/store-alerts/style-rtl.css | 1 +
dist/store-alerts/style.css | 1 +
dist/store-performance/style-rtl.css | 1 +
dist/store-performance/style.css | 1 +
dist/task-list/style-rtl.css | 1 +
dist/task-list/style.css | 1 +
.../onboarding-homepage-notice.js | 1396 +
.../onboarding-homepage-notice.min.js | 1 +
.../onboarding-product-import-notice.js | 323 +
.../onboarding-product-import-notice.min.js | 1 +
.../onboarding-product-notice.js | 331 +
.../onboarding-product-notice.min.js | 1 +
.../wp-admin-scripts/onboarding-tax-notice.js | 363 +
.../onboarding-tax-notice.min.js | 1 +
.../print-shipping-label-banner.js | 10064 ++
.../print-shipping-label-banner.min.js | 2 +
...t-shipping-label-banner.min.js.LICENSE.txt | 5 +
136 files changed, 196540 insertions(+)
create mode 100644 dist/activity-panels-inbox/style-rtl.css
create mode 100644 dist/activity-panels-inbox/style.css
create mode 100644 dist/activity-panels-orders/style-rtl.css
create mode 100644 dist/activity-panels-orders/style.css
create mode 100644 dist/activity-panels-stock/style-rtl.css
create mode 100644 dist/activity-panels-stock/style.css
create mode 100644 dist/analytics-report-categories~analytics-report-coupons~analytics-report-customers~analytics-report-dow~99eefb40/style-rtl.css
create mode 100644 dist/analytics-report-categories~analytics-report-coupons~analytics-report-customers~analytics-report-dow~99eefb40/style.css
create mode 100644 dist/analytics-report-categories~analytics-report-products/style-rtl.css
create mode 100644 dist/analytics-report-categories~analytics-report-products/style.css
create mode 100644 dist/analytics-report-orders/style-rtl.css
create mode 100644 dist/analytics-report-orders/style.css
create mode 100644 dist/analytics-settings/style-rtl.css
create mode 100644 dist/analytics-settings/style.css
create mode 100644 dist/app/index.js
create mode 100644 dist/app/index.min.js
create mode 100644 dist/app/index.min.js.LICENSE.txt
create mode 100644 dist/app/style-rtl.css
create mode 100644 dist/app/style.css
create mode 100644 dist/chunks/activity-panels-inbox.d778ee044369d27719e0.js
create mode 100644 dist/chunks/activity-panels-inbox.d778ee044369d27719e0.min.js
create mode 100644 dist/chunks/activity-panels-orders.03bce387983e598295fa.js
create mode 100644 dist/chunks/activity-panels-orders.03bce387983e598295fa.min.js
create mode 100644 dist/chunks/activity-panels-stock.4f4e0f926f920a653099.js
create mode 100644 dist/chunks/activity-panels-stock.4f4e0f926f920a653099.min.js
create mode 100644 dist/chunks/analytics-report-categories.2fb0556451942bfbfa96.js
create mode 100644 dist/chunks/analytics-report-categories.2fb0556451942bfbfa96.min.js
create mode 100644 dist/chunks/analytics-report-categories~analytics-report-coupons~analytics-report-customers~analytics-report-dow~99eefb40.461e5718e712fc637f8d.js
create mode 100644 dist/chunks/analytics-report-categories~analytics-report-coupons~analytics-report-customers~analytics-report-dow~99eefb40.461e5718e712fc637f8d.min.js
create mode 100644 dist/chunks/analytics-report-categories~analytics-report-products.e31f660a92b0aaf484ea.js
create mode 100644 dist/chunks/analytics-report-categories~analytics-report-products.e31f660a92b0aaf484ea.min.js
create mode 100644 dist/chunks/analytics-report-coupons.4c4c6b79fa3e16daf624.js
create mode 100644 dist/chunks/analytics-report-coupons.4c4c6b79fa3e16daf624.min.js
create mode 100644 dist/chunks/analytics-report-customers.37de523262b0df41ff86.js
create mode 100644 dist/chunks/analytics-report-customers.37de523262b0df41ff86.min.js
create mode 100644 dist/chunks/analytics-report-downloads.7191d6b82a766d8772ee.js
create mode 100644 dist/chunks/analytics-report-downloads.7191d6b82a766d8772ee.min.js
create mode 100644 dist/chunks/analytics-report-orders.0b57ecec97f70fa238eb.js
create mode 100644 dist/chunks/analytics-report-orders.0b57ecec97f70fa238eb.min.js
create mode 100644 dist/chunks/analytics-report-products.6b1a268333688c4b41a9.js
create mode 100644 dist/chunks/analytics-report-products.6b1a268333688c4b41a9.min.js
create mode 100644 dist/chunks/analytics-report-revenue.8c233563b2230669fb1f.js
create mode 100644 dist/chunks/analytics-report-revenue.8c233563b2230669fb1f.min.js
create mode 100644 dist/chunks/analytics-report-stock.01e7040b7f0e196e8129.js
create mode 100644 dist/chunks/analytics-report-stock.01e7040b7f0e196e8129.min.js
create mode 100644 dist/chunks/analytics-report-taxes.6ab663abefa97569bb56.js
create mode 100644 dist/chunks/analytics-report-taxes.6ab663abefa97569bb56.min.js
create mode 100644 dist/chunks/analytics-settings.5be0a529e94eb8e85ea7.js
create mode 100644 dist/chunks/analytics-settings.5be0a529e94eb8e85ea7.min.js
create mode 100644 dist/chunks/customizable-dashboard.6f12fadc21b5ed6566aa.js
create mode 100644 dist/chunks/customizable-dashboard.6f12fadc21b5ed6566aa.min.js
create mode 100644 dist/chunks/dashboard-charts.9eb2d5d4d569e8cb81a3.js
create mode 100644 dist/chunks/dashboard-charts.9eb2d5d4d569e8cb81a3.min.js
create mode 100644 dist/chunks/dashboard.35da37d6f7f5a413e7f7.js
create mode 100644 dist/chunks/dashboard.35da37d6f7f5a413e7f7.min.js
create mode 100644 dist/chunks/devdocs.6fe086c6992ba41e679a.js
create mode 100644 dist/chunks/devdocs.6fe086c6992ba41e679a.min.js
create mode 100644 dist/chunks/homepage.a9dfdc35bddd3d3b6246.js
create mode 100644 dist/chunks/homepage.a9dfdc35bddd3d3b6246.min.js
create mode 100644 dist/chunks/leaderboards.6ebf410fa2e671dfada5.js
create mode 100644 dist/chunks/leaderboards.6ebf410fa2e671dfada5.min.js
create mode 100644 dist/chunks/marketing-overview.b6047d897bbd2208cd37.js
create mode 100644 dist/chunks/marketing-overview.b6047d897bbd2208cd37.min.js
create mode 100644 dist/chunks/profile-wizard.5f293dc41bd478f9a580.js
create mode 100644 dist/chunks/profile-wizard.5f293dc41bd478f9a580.min.js
create mode 100644 dist/chunks/store-alerts.75c1c866910a9d4a64bc.js
create mode 100644 dist/chunks/store-alerts.75c1c866910a9d4a64bc.min.js
create mode 100644 dist/chunks/store-performance.f97eae21bc823553bd16.js
create mode 100644 dist/chunks/store-performance.f97eae21bc823553bd16.min.js
create mode 100644 dist/chunks/task-list.396c743bbcd65bd90ccc.js
create mode 100644 dist/chunks/task-list.396c743bbcd65bd90ccc.min.js
create mode 100644 dist/chunks/vendors~activity-panels-inbox~activity-panels-orders~activity-panels-stock~dashboard-charts~devdocs~~f6270017.20e4990156e0a34c18b0.js
create mode 100644 dist/chunks/vendors~activity-panels-inbox~activity-panels-orders~activity-panels-stock~dashboard-charts~devdocs~~f6270017.20e4990156e0a34c18b0.min.js
create mode 100644 dist/chunks/vendors~activity-panels-inbox~leaderboards~store-alerts~task-list.dd09e8a86b0bcaa9aff7.js
create mode 100644 dist/chunks/vendors~activity-panels-inbox~leaderboards~store-alerts~task-list.dd09e8a86b0bcaa9aff7.min.js
create mode 100644 dist/chunks/vendors~analytics-report-categories~analytics-report-coupons~analytics-report-downloads~analytics-re~2579715d.b4847f391ea34c64503d.js
create mode 100644 dist/chunks/vendors~analytics-report-categories~analytics-report-coupons~analytics-report-downloads~analytics-re~2579715d.b4847f391ea34c64503d.min.js
create mode 100644 dist/chunks/vendors~devdocs.66c75ad9a415f473d186.js
create mode 100644 dist/chunks/vendors~devdocs.66c75ad9a415f473d186.min.js
create mode 100644 dist/chunks/vendors~marketing-overview.d1653cdc07670674a95f.js
create mode 100644 dist/chunks/vendors~marketing-overview.d1653cdc07670674a95f.min.js
create mode 100644 dist/chunks/vendors~profile-wizard~task-list.114a8214ba34dbd3c0f0.js
create mode 100644 dist/chunks/vendors~profile-wizard~task-list.114a8214ba34dbd3c0f0.min.js
create mode 100644 dist/components/ie-rtl.css
create mode 100644 dist/components/ie.css
create mode 100644 dist/components/index.js
create mode 100644 dist/components/index.min.js
create mode 100644 dist/components/index.min.js.LICENSE.txt
create mode 100644 dist/components/style-rtl.css
create mode 100644 dist/components/style.css
create mode 100644 dist/csv-export/index.js
create mode 100644 dist/csv-export/index.min.js
create mode 100644 dist/csv-export/index.min.js.LICENSE.txt
create mode 100644 dist/currency/index.js
create mode 100644 dist/currency/index.min.js
create mode 100644 dist/dashboard-charts/style-rtl.css
create mode 100644 dist/dashboard-charts/style.css
create mode 100644 dist/dashboard/style-rtl.css
create mode 100644 dist/dashboard/style.css
create mode 100644 dist/data/index.js
create mode 100644 dist/data/index.min.js
create mode 100644 dist/date/index.js
create mode 100644 dist/date/index.min.js
create mode 100644 dist/devdocs/style-rtl.css
create mode 100644 dist/devdocs/style.css
create mode 100644 dist/ie/style-rtl.css
create mode 100644 dist/ie/style.css
create mode 100644 dist/leaderboards/style-rtl.css
create mode 100644 dist/leaderboards/style.css
create mode 100644 dist/marketing-overview/style-rtl.css
create mode 100644 dist/marketing-overview/style.css
create mode 100644 dist/navigation/index.js
create mode 100644 dist/navigation/index.min.js
create mode 100644 dist/number/index.js
create mode 100644 dist/number/index.min.js
create mode 100644 dist/print-shipping-label-banner/style-rtl.css
create mode 100644 dist/print-shipping-label-banner/style.css
create mode 100644 dist/profile-wizard/style-rtl.css
create mode 100644 dist/profile-wizard/style.css
create mode 100644 dist/store-alerts/style-rtl.css
create mode 100644 dist/store-alerts/style.css
create mode 100644 dist/store-performance/style-rtl.css
create mode 100644 dist/store-performance/style.css
create mode 100644 dist/task-list/style-rtl.css
create mode 100644 dist/task-list/style.css
create mode 100644 dist/wp-admin-scripts/onboarding-homepage-notice.js
create mode 100644 dist/wp-admin-scripts/onboarding-homepage-notice.min.js
create mode 100644 dist/wp-admin-scripts/onboarding-product-import-notice.js
create mode 100644 dist/wp-admin-scripts/onboarding-product-import-notice.min.js
create mode 100644 dist/wp-admin-scripts/onboarding-product-notice.js
create mode 100644 dist/wp-admin-scripts/onboarding-product-notice.min.js
create mode 100644 dist/wp-admin-scripts/onboarding-tax-notice.js
create mode 100644 dist/wp-admin-scripts/onboarding-tax-notice.min.js
create mode 100644 dist/wp-admin-scripts/print-shipping-label-banner.js
create mode 100644 dist/wp-admin-scripts/print-shipping-label-banner.min.js
create mode 100644 dist/wp-admin-scripts/print-shipping-label-banner.min.js.LICENSE.txt
diff --git a/dist/activity-panels-inbox/style-rtl.css b/dist/activity-panels-inbox/style-rtl.css
new file mode 100644
index 00000000000..e99ca1d5611
--- /dev/null
+++ b/dist/activity-panels-inbox/style-rtl.css
@@ -0,0 +1 @@
+.woocommerce-activity-card{position:relative;padding:24px;padding:var(--main-gap);background:#fff;border-bottom:1px solid #e8eaeb;color:#555d66;font-size:13px;font-size:.8125rem;display:-ms-grid;display:grid;-ms-grid-columns:84px 1fr;grid-template-columns:84px 1fr;grid-template-areas:"icon header" "icon body" "icon actions"}@media (max-width:782px){.woocommerce-activity-card{-ms-grid-columns:76px 1fr;grid-template-columns:76px 1fr}}.woocommerce-activity-card__unread{position:absolute;top:18px;top:calc(var(--main-gap) - 6px);left:18px;left:calc(var(--main-gap) - 6px);width:6px;height:6px;border-radius:50%;background:#ca4a1f}.woocommerce-activity-card__icon{-ms-grid-row:1;-ms-grid-row-span:3;-ms-grid-column:1;grid-area:icon;fill:#d7dade}.woocommerce-activity-card__header{margin-bottom:16px;display:flex;flex-direction:column}.woocommerce-activity-card__header a{color:#7f54b3;text-decoration:none}.woocommerce-activity-card__header .woocommerce-activity-card__title{margin:0;font-size:13px;font-size:.8125rem;order:2}.woocommerce-activity-card__header .woocommerce-activity-card__date{color:#6c7781;text-transform:uppercase;font-size:11px;font-size:.6875rem;margin-bottom:12px;order:1}.woocommerce-activity-card__header .woocommerce-activity-card__subtitle{order:3}@media (min-width:783px){.woocommerce-activity-card__header{-ms-grid-row:1;-ms-grid-column:2;grid-area:header;display:-ms-grid;display:grid;-ms-grid-rows:auto auto;-ms-grid-columns:1fr auto;grid-template:"title date" "subtitle date"/1fr auto}.woocommerce-activity-card.woocommerce-order-activity-card>.woocommerce-activity-card__header{-ms-grid-row:1;-ms-grid-column:1}.woocommerce-activity-card__header .woocommerce-activity-card__title{grid-area:title}.woocommerce-activity-card__header .woocommerce-activity-card__date{display:block;grid-area:date;-ms-grid-column-align:end;justify-self:end;margin-bottom:0}.woocommerce-activity-card__header .woocommerce-activity-card__subtitle{grid-area:subtitle}}@media (min-width:783px){.woocommerce-activity-card__header .woocommerce-activity-card__title{-ms-grid-row:1;-ms-grid-column:1}.woocommerce-activity-card__header .woocommerce-activity-card__date{-ms-grid-row:1;-ms-grid-row-span:2;-ms-grid-column:2}.woocommerce-activity-card__header .woocommerce-activity-card__subtitle{-ms-grid-row:2;-ms-grid-column:1}}.woocommerce-activity-card__body{-ms-grid-row:2;-ms-grid-column:2;grid-area:body}.woocommerce-activity-card.woocommerce-order-activity-card>.woocommerce-activity-card__body{-ms-grid-row:2;-ms-grid-column:1}.woocommerce-activity-card__body>p:first-child{margin-top:0}.woocommerce-activity-card__body>p:last-child{margin-bottom:0}.woocommerce-activity-card__actions{-ms-grid-row:3;-ms-grid-column:2;grid-area:actions;margin-top:16px}.woocommerce-activity-card.woocommerce-order-activity-card>.woocommerce-activity-card__actions{-ms-grid-row:3;-ms-grid-column:1}.woocommerce-activity-card__actions>*+*{margin-right:.5em}.woocommerce-activity-card.is-loading .is-placeholder{animation:loading-fade 1.6s ease-in-out infinite;background-color:#e2e4e7;color:transparent;display:inline-block;height:16px}.woocommerce-activity-card.is-loading .is-placeholder:after{content:"\00a0"}@media screen and (prefers-reduced-motion:reduce){.woocommerce-activity-card.is-loading .is-placeholder{animation:none}}.woocommerce-activity-card.is-loading .woocommerce-activity-card__title{width:80%}.woocommerce-activity-card.is-loading .woocommerce-activity-card__subtitle{margin-top:4px}.woocommerce-activity-card.is-loading .woocommerce-activity-card__date{width:100%;margin-bottom:16px}@media (min-width:783px){.woocommerce-activity-card.is-loading .woocommerce-activity-card__date{text-align:left;margin-bottom:0}}.woocommerce-activity-card.is-loading .woocommerce-activity-card__date .is-placeholder{width:68px}.woocommerce-activity-card.is-loading .woocommerce-activity-card__icon{margin-left:24px;margin-left:var(--main-gap)}.woocommerce-activity-card.is-loading .woocommerce-activity-card__icon .is-placeholder{height:48px;width:48px}.woocommerce-activity-card.is-loading.woocommerce-review-activity-card .woocommerce-activity-card__icon .is-placeholder,.woocommerce-activity-card.is-loading.woocommerce-stock-activity-card .woocommerce-activity-card__icon .is-placeholder{height:60px;width:60px}.woocommerce-activity-card.is-loading .woocommerce-activity-card__body .is-placeholder{width:100%;margin-bottom:4px}.woocommerce-activity-card.is-loading .woocommerce-activity-card__body .is-placeholder:last-of-type{width:65%;margin-bottom:0}.woocommerce-activity-card.is-loading .woocommerce-activity-card__actions .is-placeholder{width:91px;height:34px}.woocommerce-activity-card.woocommerce-order-activity-card{-ms-grid-columns:1fr;grid-template-columns:1fr;grid-template-areas:"header" "body" "actions"}.woocommerce-activity-card.woocommerce-order-activity-card .woocommerce-activity-card__icon{display:none}.woocommerce-activity-card.woocommerce-order-activity-card .woocommerce-flag{display:inline-block}.woocommerce-activity-card.woocommerce-order-activity-card .woocommerce-activity-card__subtitle span+span:before{content:" \2022\ "}.woocommerce-activity-card.woocommerce-inbox-activity-card{-ms-grid-columns:72px 1fr;grid-template-columns:72px 1fr;height:100%;opacity:1;padding:24px;padding:var(--main-gap)}@media screen and (prefers-reduced-motion:no-preference){.woocommerce-activity-card.woocommerce-inbox-activity-card{transition:opacity .3s,height 0s,padding 0s}}@media (max-width:782px){.woocommerce-activity-card.woocommerce-inbox-activity-card{-ms-grid-columns:64px 1fr;grid-template-columns:64px 1fr}}.woocommerce-activity-card.woocommerce-inbox-activity-card .woocommerce-activity-card__header{margin-bottom:12px}.woocommerce-activity-card.woocommerce-inbox-activity-card.actioned{height:0;opacity:0;padding:0}@media screen and (prefers-reduced-motion:no-preference){.woocommerce-activity-card.woocommerce-inbox-activity-card.actioned{transition:opacity .3s,height 0s .3s,padding 0s .3s}}.woocommerce-review-activity-card .woocommerce-activity-card__body>span>p:first-child{margin-top:0}.woocommerce-review-activity-card .woocommerce-activity-card__body>span>p:last-child{margin-bottom:0}.woocommerce-review-activity-card .woocommerce-review-activity-card__verified{margin-right:12px;display:inline-flex;position:relative;top:4px;color:#4ab866;font-size:12px;font-size:.75rem}.woocommerce-review-activity-card .woocommerce-review-activity-card__verified .gridicon{margin-left:4px;fill:#4ab866}.woocommerce-review-activity-card .woocommerce-review-activity-card__image-overlay{position:relative}.woocommerce-review-activity-card .woocommerce-review-activity-card__image-overlay img.woocommerce-gravatar{border:2px solid #fff;right:0;position:absolute;top:-6px;z-index:2}@media (max-width:782px){.woocommerce-review-activity-card .woocommerce-review-activity-card__image-overlay{margin-top:4px}.woocommerce-review-activity-card .woocommerce-review-activity-card__image-overlay__product .woocommerce-gravatar{margin-right:0;width:18px;height:18px;right:32px;top:-28px;z-index:1}}.woocommerce-review-activity-card__image-overlay__product,.woocommerce-stock-activity-card__image-overlay__product{height:60px;position:relative;width:60px}.woocommerce-review-activity-card__image-overlay__product.is-placeholder:before,.woocommerce-stock-activity-card__image-overlay__product.is-placeholder:before{background-color:#555d66;border-radius:50%;content:"";position:absolute;right:0;left:0;bottom:0;top:0;opacity:.1}@media screen and (prefers-reduced-motion:no-preference){.woocommerce-stock-activity-card{transition:opacity .3s}}.woocommerce-stock-activity-card.is-dimmed{opacity:.7}.woocommerce-stock-activity-card .woocommerce-stock-activity-card__stock-quantity{background:#edeff0;color:#555d66;padding:3px 8px;border-radius:3px}.woocommerce-stock-activity-card .woocommerce-stock-activity-card__edit-quantity{display:inline-flex;width:50px;margin-left:10px}.woocommerce-stock-activity-card .woocommerce-stock-activity-card__edit-quantity input{border-radius:4px;height:36px}.woocommerce-stock-activity-card .woocommerce-stock-activity-card__edit-quantity input[type=number]{-moz-appearance:textfield}.woocommerce-stock-activity-card .woocommerce-stock-activity-card__edit-quantity input[type=number]::-webkit-inner-spin-button,.woocommerce-stock-activity-card .woocommerce-stock-activity-card__edit-quantity input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.woocommerce-stock-activity-card .components-button{min-height:34px;padding:2px 10px;line-height:26px}.woocommerce-stock-activity-card .woocommerce-activity-card__title{font-size:15px;font-size:.9375rem}.woocommerce-stock-activity-card .woocommerce-activity-card__subtitle{color:#555d66;font-size:12px;font-size:.75rem}.woocommerce-empty-activity-card{-ms-grid-columns:72px 1fr;grid-template-columns:72px 1fr}@media (max-width:782px){.woocommerce-empty-activity-card{-ms-grid-columns:64px 1fr;grid-template-columns:64px 1fr}}.woocommerce-layout__activity-panel-header{height:50px;background:#e2e4e7;padding:16px;display:flex;justify-content:space-between;align-items:center}@media (min-width:783px){.woocommerce-layout__activity-panel-header{padding:16px 24px}}.woocommerce-layout__activity-panel-header h3{font-size:13px;font-weight:600;line-height:16px;margin:0;padding:0}.woocommerce-layout__activity-panel-header .woocommerce-ellipsis-menu__toggle.components-button:not(:disabled):not([aria-disabled=true]):focus,.woocommerce-layout__activity-panel-header .woocommerce-ellipsis-menu__toggle.components-button:not(:disabled):not([aria-disabled=true]):hover{box-shadow:none;border-radius:10px;background:#ccd0d4}
\ No newline at end of file
diff --git a/dist/activity-panels-inbox/style.css b/dist/activity-panels-inbox/style.css
new file mode 100644
index 00000000000..71968e8fd8e
--- /dev/null
+++ b/dist/activity-panels-inbox/style.css
@@ -0,0 +1 @@
+.woocommerce-activity-card{position:relative;padding:24px;padding:var(--main-gap);background:#fff;border-bottom:1px solid #e8eaeb;color:#555d66;font-size:13px;font-size:.8125rem;display:-ms-grid;display:grid;-ms-grid-columns:84px 1fr;grid-template-columns:84px 1fr;grid-template-areas:"icon header" "icon body" "icon actions"}@media (max-width:782px){.woocommerce-activity-card{-ms-grid-columns:76px 1fr;grid-template-columns:76px 1fr}}.woocommerce-activity-card__unread{position:absolute;top:18px;top:calc(var(--main-gap) - 6px);right:18px;right:calc(var(--main-gap) - 6px);width:6px;height:6px;border-radius:50%;background:#ca4a1f}.woocommerce-activity-card__icon{-ms-grid-row:1;-ms-grid-row-span:3;-ms-grid-column:1;grid-area:icon;fill:#d7dade}.woocommerce-activity-card__header{margin-bottom:16px;display:flex;flex-direction:column}.woocommerce-activity-card__header a{color:#7f54b3;text-decoration:none}.woocommerce-activity-card__header .woocommerce-activity-card__title{margin:0;font-size:13px;font-size:.8125rem;order:2}.woocommerce-activity-card__header .woocommerce-activity-card__date{color:#6c7781;text-transform:uppercase;font-size:11px;font-size:.6875rem;margin-bottom:12px;order:1}.woocommerce-activity-card__header .woocommerce-activity-card__subtitle{order:3}@media (min-width:783px){.woocommerce-activity-card__header{-ms-grid-row:1;-ms-grid-column:2;grid-area:header;display:-ms-grid;display:grid;-ms-grid-rows:auto auto;-ms-grid-columns:1fr auto;grid-template:"title date" "subtitle date"/1fr auto}.woocommerce-activity-card.woocommerce-order-activity-card>.woocommerce-activity-card__header{-ms-grid-row:1;-ms-grid-column:1}.woocommerce-activity-card__header .woocommerce-activity-card__title{grid-area:title}.woocommerce-activity-card__header .woocommerce-activity-card__date{display:block;grid-area:date;-ms-grid-column-align:end;justify-self:end;margin-bottom:0}.woocommerce-activity-card__header .woocommerce-activity-card__subtitle{grid-area:subtitle}}@media (min-width:783px){.woocommerce-activity-card__header .woocommerce-activity-card__title{-ms-grid-row:1;-ms-grid-column:1}.woocommerce-activity-card__header .woocommerce-activity-card__date{-ms-grid-row:1;-ms-grid-row-span:2;-ms-grid-column:2}.woocommerce-activity-card__header .woocommerce-activity-card__subtitle{-ms-grid-row:2;-ms-grid-column:1}}.woocommerce-activity-card__body{-ms-grid-row:2;-ms-grid-column:2;grid-area:body}.woocommerce-activity-card.woocommerce-order-activity-card>.woocommerce-activity-card__body{-ms-grid-row:2;-ms-grid-column:1}.woocommerce-activity-card__body>p:first-child{margin-top:0}.woocommerce-activity-card__body>p:last-child{margin-bottom:0}.woocommerce-activity-card__actions{-ms-grid-row:3;-ms-grid-column:2;grid-area:actions;margin-top:16px}.woocommerce-activity-card.woocommerce-order-activity-card>.woocommerce-activity-card__actions{-ms-grid-row:3;-ms-grid-column:1}.woocommerce-activity-card__actions>*+*{margin-left:.5em}.woocommerce-activity-card.is-loading .is-placeholder{animation:loading-fade 1.6s ease-in-out infinite;background-color:#e2e4e7;color:transparent;display:inline-block;height:16px}.woocommerce-activity-card.is-loading .is-placeholder:after{content:"\00a0"}@media screen and (prefers-reduced-motion:reduce){.woocommerce-activity-card.is-loading .is-placeholder{animation:none}}.woocommerce-activity-card.is-loading .woocommerce-activity-card__title{width:80%}.woocommerce-activity-card.is-loading .woocommerce-activity-card__subtitle{margin-top:4px}.woocommerce-activity-card.is-loading .woocommerce-activity-card__date{width:100%;margin-bottom:16px}@media (min-width:783px){.woocommerce-activity-card.is-loading .woocommerce-activity-card__date{text-align:right;margin-bottom:0}}.woocommerce-activity-card.is-loading .woocommerce-activity-card__date .is-placeholder{width:68px}.woocommerce-activity-card.is-loading .woocommerce-activity-card__icon{margin-right:24px;margin-right:var(--main-gap)}.woocommerce-activity-card.is-loading .woocommerce-activity-card__icon .is-placeholder{height:48px;width:48px}.woocommerce-activity-card.is-loading.woocommerce-review-activity-card .woocommerce-activity-card__icon .is-placeholder,.woocommerce-activity-card.is-loading.woocommerce-stock-activity-card .woocommerce-activity-card__icon .is-placeholder{height:60px;width:60px}.woocommerce-activity-card.is-loading .woocommerce-activity-card__body .is-placeholder{width:100%;margin-bottom:4px}.woocommerce-activity-card.is-loading .woocommerce-activity-card__body .is-placeholder:last-of-type{width:65%;margin-bottom:0}.woocommerce-activity-card.is-loading .woocommerce-activity-card__actions .is-placeholder{width:91px;height:34px}.woocommerce-activity-card.woocommerce-order-activity-card{-ms-grid-columns:1fr;grid-template-columns:1fr;grid-template-areas:"header" "body" "actions"}.woocommerce-activity-card.woocommerce-order-activity-card .woocommerce-activity-card__icon{display:none}.woocommerce-activity-card.woocommerce-order-activity-card .woocommerce-flag{display:inline-block}.woocommerce-activity-card.woocommerce-order-activity-card .woocommerce-activity-card__subtitle span+span:before{content:" \2022\ "}.woocommerce-activity-card.woocommerce-inbox-activity-card{-ms-grid-columns:72px 1fr;grid-template-columns:72px 1fr;height:100%;opacity:1;padding:24px;padding:var(--main-gap)}@media screen and (prefers-reduced-motion:no-preference){.woocommerce-activity-card.woocommerce-inbox-activity-card{transition:opacity .3s,height 0s,padding 0s}}@media (max-width:782px){.woocommerce-activity-card.woocommerce-inbox-activity-card{-ms-grid-columns:64px 1fr;grid-template-columns:64px 1fr}}.woocommerce-activity-card.woocommerce-inbox-activity-card .woocommerce-activity-card__header{margin-bottom:12px}.woocommerce-activity-card.woocommerce-inbox-activity-card.actioned{height:0;opacity:0;padding:0}@media screen and (prefers-reduced-motion:no-preference){.woocommerce-activity-card.woocommerce-inbox-activity-card.actioned{transition:opacity .3s,height 0s .3s,padding 0s .3s}}.woocommerce-review-activity-card .woocommerce-activity-card__body>span>p:first-child{margin-top:0}.woocommerce-review-activity-card .woocommerce-activity-card__body>span>p:last-child{margin-bottom:0}.woocommerce-review-activity-card .woocommerce-review-activity-card__verified{margin-left:12px;display:inline-flex;position:relative;top:4px;color:#4ab866;font-size:12px;font-size:.75rem}.woocommerce-review-activity-card .woocommerce-review-activity-card__verified .gridicon{margin-right:4px;fill:#4ab866}.woocommerce-review-activity-card .woocommerce-review-activity-card__image-overlay{position:relative}.woocommerce-review-activity-card .woocommerce-review-activity-card__image-overlay img.woocommerce-gravatar{border:2px solid #fff;left:0;position:absolute;top:-6px;z-index:2}@media (max-width:782px){.woocommerce-review-activity-card .woocommerce-review-activity-card__image-overlay{margin-top:4px}.woocommerce-review-activity-card .woocommerce-review-activity-card__image-overlay__product .woocommerce-gravatar{margin-left:0;width:18px;height:18px;left:32px;top:-28px;z-index:1}}.woocommerce-review-activity-card__image-overlay__product,.woocommerce-stock-activity-card__image-overlay__product{height:60px;position:relative;width:60px}.woocommerce-review-activity-card__image-overlay__product.is-placeholder:before,.woocommerce-stock-activity-card__image-overlay__product.is-placeholder:before{background-color:#555d66;border-radius:50%;content:"";position:absolute;left:0;right:0;bottom:0;top:0;opacity:.1}@media screen and (prefers-reduced-motion:no-preference){.woocommerce-stock-activity-card{transition:opacity .3s}}.woocommerce-stock-activity-card.is-dimmed{opacity:.7}.woocommerce-stock-activity-card .woocommerce-stock-activity-card__stock-quantity{background:#edeff0;color:#555d66;padding:3px 8px;border-radius:3px}.woocommerce-stock-activity-card .woocommerce-stock-activity-card__edit-quantity{display:inline-flex;width:50px;margin-right:10px}.woocommerce-stock-activity-card .woocommerce-stock-activity-card__edit-quantity input{border-radius:4px;height:36px}.woocommerce-stock-activity-card .woocommerce-stock-activity-card__edit-quantity input[type=number]{-moz-appearance:textfield}.woocommerce-stock-activity-card .woocommerce-stock-activity-card__edit-quantity input[type=number]::-webkit-inner-spin-button,.woocommerce-stock-activity-card .woocommerce-stock-activity-card__edit-quantity input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.woocommerce-stock-activity-card .components-button{min-height:34px;padding:2px 10px;line-height:26px}.woocommerce-stock-activity-card .woocommerce-activity-card__title{font-size:15px;font-size:.9375rem}.woocommerce-stock-activity-card .woocommerce-activity-card__subtitle{color:#555d66;font-size:12px;font-size:.75rem}.woocommerce-empty-activity-card{-ms-grid-columns:72px 1fr;grid-template-columns:72px 1fr}@media (max-width:782px){.woocommerce-empty-activity-card{-ms-grid-columns:64px 1fr;grid-template-columns:64px 1fr}}.woocommerce-layout__activity-panel-header{height:50px;background:#e2e4e7;padding:16px;display:flex;justify-content:space-between;align-items:center}@media (min-width:783px){.woocommerce-layout__activity-panel-header{padding:16px 24px}}.woocommerce-layout__activity-panel-header h3{font-size:13px;font-weight:600;line-height:16px;margin:0;padding:0}.woocommerce-layout__activity-panel-header .woocommerce-ellipsis-menu__toggle.components-button:not(:disabled):not([aria-disabled=true]):focus,.woocommerce-layout__activity-panel-header .woocommerce-ellipsis-menu__toggle.components-button:not(:disabled):not([aria-disabled=true]):hover{box-shadow:none;border-radius:10px;background:#ccd0d4}
\ No newline at end of file
diff --git a/dist/activity-panels-orders/style-rtl.css b/dist/activity-panels-orders/style-rtl.css
new file mode 100644
index 00000000000..5b07d1ba2b0
--- /dev/null
+++ b/dist/activity-panels-orders/style-rtl.css
@@ -0,0 +1 @@
+.woocommerce-activity-card{position:relative;padding:24px;padding:var(--main-gap);background:#fff;border-bottom:1px solid #e8eaeb;color:#555d66;font-size:13px;font-size:.8125rem;display:-ms-grid;display:grid;-ms-grid-columns:84px 1fr;grid-template-columns:84px 1fr;grid-template-areas:"icon header" "icon body" "icon actions"}@media (max-width:782px){.woocommerce-activity-card{-ms-grid-columns:76px 1fr;grid-template-columns:76px 1fr}}.woocommerce-activity-card__unread{position:absolute;top:18px;top:calc(var(--main-gap) - 6px);left:18px;left:calc(var(--main-gap) - 6px);width:6px;height:6px;border-radius:50%;background:#ca4a1f}.woocommerce-activity-card__icon{-ms-grid-row:1;-ms-grid-row-span:3;-ms-grid-column:1;grid-area:icon;fill:#d7dade}.woocommerce-activity-card__header{margin-bottom:16px;display:flex;flex-direction:column}.woocommerce-activity-card__header a{color:#7f54b3;text-decoration:none}.woocommerce-activity-card__header .woocommerce-activity-card__title{margin:0;font-size:13px;font-size:.8125rem;order:2}.woocommerce-activity-card__header .woocommerce-activity-card__date{color:#6c7781;text-transform:uppercase;font-size:11px;font-size:.6875rem;margin-bottom:12px;order:1}.woocommerce-activity-card__header .woocommerce-activity-card__subtitle{order:3}@media (min-width:783px){.woocommerce-activity-card__header{-ms-grid-row:1;-ms-grid-column:2;grid-area:header;display:-ms-grid;display:grid;-ms-grid-rows:auto auto;-ms-grid-columns:1fr auto;grid-template:"title date" "subtitle date"/1fr auto}.woocommerce-activity-card.woocommerce-order-activity-card>.woocommerce-activity-card__header{-ms-grid-row:1;-ms-grid-column:1}.woocommerce-activity-card__header .woocommerce-activity-card__title{grid-area:title}.woocommerce-activity-card__header .woocommerce-activity-card__date{display:block;grid-area:date;-ms-grid-column-align:end;justify-self:end;margin-bottom:0}.woocommerce-activity-card__header .woocommerce-activity-card__subtitle{grid-area:subtitle}}@media (min-width:783px){.woocommerce-activity-card__header .woocommerce-activity-card__title{-ms-grid-row:1;-ms-grid-column:1}.woocommerce-activity-card__header .woocommerce-activity-card__date{-ms-grid-row:1;-ms-grid-row-span:2;-ms-grid-column:2}.woocommerce-activity-card__header .woocommerce-activity-card__subtitle{-ms-grid-row:2;-ms-grid-column:1}}.woocommerce-activity-card__body{-ms-grid-row:2;-ms-grid-column:2;grid-area:body}.woocommerce-activity-card.woocommerce-order-activity-card>.woocommerce-activity-card__body{-ms-grid-row:2;-ms-grid-column:1}.woocommerce-activity-card__body>p:first-child{margin-top:0}.woocommerce-activity-card__body>p:last-child{margin-bottom:0}.woocommerce-activity-card__actions{-ms-grid-row:3;-ms-grid-column:2;grid-area:actions;margin-top:16px}.woocommerce-activity-card.woocommerce-order-activity-card>.woocommerce-activity-card__actions{-ms-grid-row:3;-ms-grid-column:1}.woocommerce-activity-card__actions>*+*{margin-right:.5em}.woocommerce-activity-card.is-loading .is-placeholder{animation:loading-fade 1.6s ease-in-out infinite;background-color:#e2e4e7;color:transparent;display:inline-block;height:16px}.woocommerce-activity-card.is-loading .is-placeholder:after{content:"\00a0"}@media screen and (prefers-reduced-motion:reduce){.woocommerce-activity-card.is-loading .is-placeholder{animation:none}}.woocommerce-activity-card.is-loading .woocommerce-activity-card__title{width:80%}.woocommerce-activity-card.is-loading .woocommerce-activity-card__subtitle{margin-top:4px}.woocommerce-activity-card.is-loading .woocommerce-activity-card__date{width:100%;margin-bottom:16px}@media (min-width:783px){.woocommerce-activity-card.is-loading .woocommerce-activity-card__date{text-align:left;margin-bottom:0}}.woocommerce-activity-card.is-loading .woocommerce-activity-card__date .is-placeholder{width:68px}.woocommerce-activity-card.is-loading .woocommerce-activity-card__icon{margin-left:24px;margin-left:var(--main-gap)}.woocommerce-activity-card.is-loading .woocommerce-activity-card__icon .is-placeholder{height:48px;width:48px}.woocommerce-activity-card.is-loading.woocommerce-review-activity-card .woocommerce-activity-card__icon .is-placeholder,.woocommerce-activity-card.is-loading.woocommerce-stock-activity-card .woocommerce-activity-card__icon .is-placeholder{height:60px;width:60px}.woocommerce-activity-card.is-loading .woocommerce-activity-card__body .is-placeholder{width:100%;margin-bottom:4px}.woocommerce-activity-card.is-loading .woocommerce-activity-card__body .is-placeholder:last-of-type{width:65%;margin-bottom:0}.woocommerce-activity-card.is-loading .woocommerce-activity-card__actions .is-placeholder{width:91px;height:34px}.woocommerce-activity-card.woocommerce-order-activity-card{-ms-grid-columns:1fr;grid-template-columns:1fr;grid-template-areas:"header" "body" "actions"}.woocommerce-activity-card.woocommerce-order-activity-card .woocommerce-activity-card__icon{display:none}.woocommerce-activity-card.woocommerce-order-activity-card .woocommerce-flag{display:inline-block}.woocommerce-activity-card.woocommerce-order-activity-card .woocommerce-activity-card__subtitle span+span:before{content:" \2022\ "}.woocommerce-activity-card.woocommerce-inbox-activity-card{-ms-grid-columns:72px 1fr;grid-template-columns:72px 1fr;height:100%;opacity:1;padding:24px;padding:var(--main-gap)}@media screen and (prefers-reduced-motion:no-preference){.woocommerce-activity-card.woocommerce-inbox-activity-card{transition:opacity .3s,height 0s,padding 0s}}@media (max-width:782px){.woocommerce-activity-card.woocommerce-inbox-activity-card{-ms-grid-columns:64px 1fr;grid-template-columns:64px 1fr}}.woocommerce-activity-card.woocommerce-inbox-activity-card .woocommerce-activity-card__header{margin-bottom:12px}.woocommerce-activity-card.woocommerce-inbox-activity-card.actioned{height:0;opacity:0;padding:0}@media screen and (prefers-reduced-motion:no-preference){.woocommerce-activity-card.woocommerce-inbox-activity-card.actioned{transition:opacity .3s,height 0s .3s,padding 0s .3s}}.woocommerce-review-activity-card .woocommerce-activity-card__body>span>p:first-child{margin-top:0}.woocommerce-review-activity-card .woocommerce-activity-card__body>span>p:last-child{margin-bottom:0}.woocommerce-review-activity-card .woocommerce-review-activity-card__verified{margin-right:12px;display:inline-flex;position:relative;top:4px;color:#4ab866;font-size:12px;font-size:.75rem}.woocommerce-review-activity-card .woocommerce-review-activity-card__verified .gridicon{margin-left:4px;fill:#4ab866}.woocommerce-review-activity-card .woocommerce-review-activity-card__image-overlay{position:relative}.woocommerce-review-activity-card .woocommerce-review-activity-card__image-overlay img.woocommerce-gravatar{border:2px solid #fff;right:0;position:absolute;top:-6px;z-index:2}@media (max-width:782px){.woocommerce-review-activity-card .woocommerce-review-activity-card__image-overlay{margin-top:4px}.woocommerce-review-activity-card .woocommerce-review-activity-card__image-overlay__product .woocommerce-gravatar{margin-right:0;width:18px;height:18px;right:32px;top:-28px;z-index:1}}.woocommerce-review-activity-card__image-overlay__product,.woocommerce-stock-activity-card__image-overlay__product{height:60px;position:relative;width:60px}.woocommerce-review-activity-card__image-overlay__product.is-placeholder:before,.woocommerce-stock-activity-card__image-overlay__product.is-placeholder:before{background-color:#555d66;border-radius:50%;content:"";position:absolute;right:0;left:0;bottom:0;top:0;opacity:.1}@media screen and (prefers-reduced-motion:no-preference){.woocommerce-stock-activity-card{transition:opacity .3s}}.woocommerce-stock-activity-card.is-dimmed{opacity:.7}.woocommerce-stock-activity-card .woocommerce-stock-activity-card__stock-quantity{background:#edeff0;color:#555d66;padding:3px 8px;border-radius:3px}.woocommerce-stock-activity-card .woocommerce-stock-activity-card__edit-quantity{display:inline-flex;width:50px;margin-left:10px}.woocommerce-stock-activity-card .woocommerce-stock-activity-card__edit-quantity input{border-radius:4px;height:36px}.woocommerce-stock-activity-card .woocommerce-stock-activity-card__edit-quantity input[type=number]{-moz-appearance:textfield}.woocommerce-stock-activity-card .woocommerce-stock-activity-card__edit-quantity input[type=number]::-webkit-inner-spin-button,.woocommerce-stock-activity-card .woocommerce-stock-activity-card__edit-quantity input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.woocommerce-stock-activity-card .components-button{min-height:34px;padding:2px 10px;line-height:26px}.woocommerce-stock-activity-card .woocommerce-activity-card__title{font-size:15px;font-size:.9375rem}.woocommerce-stock-activity-card .woocommerce-activity-card__subtitle{color:#555d66;font-size:12px;font-size:.75rem}.woocommerce-empty-activity-card{-ms-grid-columns:72px 1fr;grid-template-columns:72px 1fr}@media (max-width:782px){.woocommerce-empty-activity-card{-ms-grid-columns:64px 1fr;grid-template-columns:64px 1fr}}.woocommerce-layout__activity-panel-header{height:50px;background:#e2e4e7;padding:16px;display:flex;justify-content:space-between;align-items:center}@media (min-width:783px){.woocommerce-layout__activity-panel-header{padding:16px 24px}}.woocommerce-layout__activity-panel-header h3{font-size:13px;font-weight:600;line-height:16px;margin:0;padding:0}.woocommerce-layout__activity-panel-header .woocommerce-ellipsis-menu__toggle.components-button:not(:disabled):not([aria-disabled=true]):focus,.woocommerce-layout__activity-panel-header .woocommerce-ellipsis-menu__toggle.components-button:not(:disabled):not([aria-disabled=true]):hover{box-shadow:none;border-radius:10px;background:#ccd0d4}.woocommerce-layout__activity-panel-outbound-link{display:flex;justify-content:space-between;align-items:center;height:50px;background:#f3f4f5;border-bottom:1px solid #e8eaeb;padding:16px 24px;padding:16px var(--main-gap);font-size:13px;font-weight:500;line-height:18px;margin:0;color:#7f54b3;text-decoration:none}.woocommerce-layout__activity-panel-outbound-link .gridicon{display:none}.woocommerce-layout__activity-panel-outbound-link:hover{background:#fff;color:#7f54b3}.woocommerce-layout__activity-panel-outbound-link:active{background:#f8f9f9;color:#533582}.woocommerce-layout__activity-panel-outbound-link:focus{color:#7f54b3;background:#f3f4f5;box-shadow:inset 0 0 0 1px #5b9dd9,inset 0 0 0 2px #fff}.woocommerce-layout__activity-panel-outbound-link:focus .gridicon,.woocommerce-layout__activity-panel-outbound-link:hover .gridicon{display:initial;color:#7f54b3}.woocommerce-layout__activity-panel-outbound-link:active .gridicon{display:initial;color:#533582}
\ No newline at end of file
diff --git a/dist/activity-panels-orders/style.css b/dist/activity-panels-orders/style.css
new file mode 100644
index 00000000000..bd6433b58f7
--- /dev/null
+++ b/dist/activity-panels-orders/style.css
@@ -0,0 +1 @@
+.woocommerce-activity-card{position:relative;padding:24px;padding:var(--main-gap);background:#fff;border-bottom:1px solid #e8eaeb;color:#555d66;font-size:13px;font-size:.8125rem;display:-ms-grid;display:grid;-ms-grid-columns:84px 1fr;grid-template-columns:84px 1fr;grid-template-areas:"icon header" "icon body" "icon actions"}@media (max-width:782px){.woocommerce-activity-card{-ms-grid-columns:76px 1fr;grid-template-columns:76px 1fr}}.woocommerce-activity-card__unread{position:absolute;top:18px;top:calc(var(--main-gap) - 6px);right:18px;right:calc(var(--main-gap) - 6px);width:6px;height:6px;border-radius:50%;background:#ca4a1f}.woocommerce-activity-card__icon{-ms-grid-row:1;-ms-grid-row-span:3;-ms-grid-column:1;grid-area:icon;fill:#d7dade}.woocommerce-activity-card__header{margin-bottom:16px;display:flex;flex-direction:column}.woocommerce-activity-card__header a{color:#7f54b3;text-decoration:none}.woocommerce-activity-card__header .woocommerce-activity-card__title{margin:0;font-size:13px;font-size:.8125rem;order:2}.woocommerce-activity-card__header .woocommerce-activity-card__date{color:#6c7781;text-transform:uppercase;font-size:11px;font-size:.6875rem;margin-bottom:12px;order:1}.woocommerce-activity-card__header .woocommerce-activity-card__subtitle{order:3}@media (min-width:783px){.woocommerce-activity-card__header{-ms-grid-row:1;-ms-grid-column:2;grid-area:header;display:-ms-grid;display:grid;-ms-grid-rows:auto auto;-ms-grid-columns:1fr auto;grid-template:"title date" "subtitle date"/1fr auto}.woocommerce-activity-card.woocommerce-order-activity-card>.woocommerce-activity-card__header{-ms-grid-row:1;-ms-grid-column:1}.woocommerce-activity-card__header .woocommerce-activity-card__title{grid-area:title}.woocommerce-activity-card__header .woocommerce-activity-card__date{display:block;grid-area:date;-ms-grid-column-align:end;justify-self:end;margin-bottom:0}.woocommerce-activity-card__header .woocommerce-activity-card__subtitle{grid-area:subtitle}}@media (min-width:783px){.woocommerce-activity-card__header .woocommerce-activity-card__title{-ms-grid-row:1;-ms-grid-column:1}.woocommerce-activity-card__header .woocommerce-activity-card__date{-ms-grid-row:1;-ms-grid-row-span:2;-ms-grid-column:2}.woocommerce-activity-card__header .woocommerce-activity-card__subtitle{-ms-grid-row:2;-ms-grid-column:1}}.woocommerce-activity-card__body{-ms-grid-row:2;-ms-grid-column:2;grid-area:body}.woocommerce-activity-card.woocommerce-order-activity-card>.woocommerce-activity-card__body{-ms-grid-row:2;-ms-grid-column:1}.woocommerce-activity-card__body>p:first-child{margin-top:0}.woocommerce-activity-card__body>p:last-child{margin-bottom:0}.woocommerce-activity-card__actions{-ms-grid-row:3;-ms-grid-column:2;grid-area:actions;margin-top:16px}.woocommerce-activity-card.woocommerce-order-activity-card>.woocommerce-activity-card__actions{-ms-grid-row:3;-ms-grid-column:1}.woocommerce-activity-card__actions>*+*{margin-left:.5em}.woocommerce-activity-card.is-loading .is-placeholder{animation:loading-fade 1.6s ease-in-out infinite;background-color:#e2e4e7;color:transparent;display:inline-block;height:16px}.woocommerce-activity-card.is-loading .is-placeholder:after{content:"\00a0"}@media screen and (prefers-reduced-motion:reduce){.woocommerce-activity-card.is-loading .is-placeholder{animation:none}}.woocommerce-activity-card.is-loading .woocommerce-activity-card__title{width:80%}.woocommerce-activity-card.is-loading .woocommerce-activity-card__subtitle{margin-top:4px}.woocommerce-activity-card.is-loading .woocommerce-activity-card__date{width:100%;margin-bottom:16px}@media (min-width:783px){.woocommerce-activity-card.is-loading .woocommerce-activity-card__date{text-align:right;margin-bottom:0}}.woocommerce-activity-card.is-loading .woocommerce-activity-card__date .is-placeholder{width:68px}.woocommerce-activity-card.is-loading .woocommerce-activity-card__icon{margin-right:24px;margin-right:var(--main-gap)}.woocommerce-activity-card.is-loading .woocommerce-activity-card__icon .is-placeholder{height:48px;width:48px}.woocommerce-activity-card.is-loading.woocommerce-review-activity-card .woocommerce-activity-card__icon .is-placeholder,.woocommerce-activity-card.is-loading.woocommerce-stock-activity-card .woocommerce-activity-card__icon .is-placeholder{height:60px;width:60px}.woocommerce-activity-card.is-loading .woocommerce-activity-card__body .is-placeholder{width:100%;margin-bottom:4px}.woocommerce-activity-card.is-loading .woocommerce-activity-card__body .is-placeholder:last-of-type{width:65%;margin-bottom:0}.woocommerce-activity-card.is-loading .woocommerce-activity-card__actions .is-placeholder{width:91px;height:34px}.woocommerce-activity-card.woocommerce-order-activity-card{-ms-grid-columns:1fr;grid-template-columns:1fr;grid-template-areas:"header" "body" "actions"}.woocommerce-activity-card.woocommerce-order-activity-card .woocommerce-activity-card__icon{display:none}.woocommerce-activity-card.woocommerce-order-activity-card .woocommerce-flag{display:inline-block}.woocommerce-activity-card.woocommerce-order-activity-card .woocommerce-activity-card__subtitle span+span:before{content:" \2022\ "}.woocommerce-activity-card.woocommerce-inbox-activity-card{-ms-grid-columns:72px 1fr;grid-template-columns:72px 1fr;height:100%;opacity:1;padding:24px;padding:var(--main-gap)}@media screen and (prefers-reduced-motion:no-preference){.woocommerce-activity-card.woocommerce-inbox-activity-card{transition:opacity .3s,height 0s,padding 0s}}@media (max-width:782px){.woocommerce-activity-card.woocommerce-inbox-activity-card{-ms-grid-columns:64px 1fr;grid-template-columns:64px 1fr}}.woocommerce-activity-card.woocommerce-inbox-activity-card .woocommerce-activity-card__header{margin-bottom:12px}.woocommerce-activity-card.woocommerce-inbox-activity-card.actioned{height:0;opacity:0;padding:0}@media screen and (prefers-reduced-motion:no-preference){.woocommerce-activity-card.woocommerce-inbox-activity-card.actioned{transition:opacity .3s,height 0s .3s,padding 0s .3s}}.woocommerce-review-activity-card .woocommerce-activity-card__body>span>p:first-child{margin-top:0}.woocommerce-review-activity-card .woocommerce-activity-card__body>span>p:last-child{margin-bottom:0}.woocommerce-review-activity-card .woocommerce-review-activity-card__verified{margin-left:12px;display:inline-flex;position:relative;top:4px;color:#4ab866;font-size:12px;font-size:.75rem}.woocommerce-review-activity-card .woocommerce-review-activity-card__verified .gridicon{margin-right:4px;fill:#4ab866}.woocommerce-review-activity-card .woocommerce-review-activity-card__image-overlay{position:relative}.woocommerce-review-activity-card .woocommerce-review-activity-card__image-overlay img.woocommerce-gravatar{border:2px solid #fff;left:0;position:absolute;top:-6px;z-index:2}@media (max-width:782px){.woocommerce-review-activity-card .woocommerce-review-activity-card__image-overlay{margin-top:4px}.woocommerce-review-activity-card .woocommerce-review-activity-card__image-overlay__product .woocommerce-gravatar{margin-left:0;width:18px;height:18px;left:32px;top:-28px;z-index:1}}.woocommerce-review-activity-card__image-overlay__product,.woocommerce-stock-activity-card__image-overlay__product{height:60px;position:relative;width:60px}.woocommerce-review-activity-card__image-overlay__product.is-placeholder:before,.woocommerce-stock-activity-card__image-overlay__product.is-placeholder:before{background-color:#555d66;border-radius:50%;content:"";position:absolute;left:0;right:0;bottom:0;top:0;opacity:.1}@media screen and (prefers-reduced-motion:no-preference){.woocommerce-stock-activity-card{transition:opacity .3s}}.woocommerce-stock-activity-card.is-dimmed{opacity:.7}.woocommerce-stock-activity-card .woocommerce-stock-activity-card__stock-quantity{background:#edeff0;color:#555d66;padding:3px 8px;border-radius:3px}.woocommerce-stock-activity-card .woocommerce-stock-activity-card__edit-quantity{display:inline-flex;width:50px;margin-right:10px}.woocommerce-stock-activity-card .woocommerce-stock-activity-card__edit-quantity input{border-radius:4px;height:36px}.woocommerce-stock-activity-card .woocommerce-stock-activity-card__edit-quantity input[type=number]{-moz-appearance:textfield}.woocommerce-stock-activity-card .woocommerce-stock-activity-card__edit-quantity input[type=number]::-webkit-inner-spin-button,.woocommerce-stock-activity-card .woocommerce-stock-activity-card__edit-quantity input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.woocommerce-stock-activity-card .components-button{min-height:34px;padding:2px 10px;line-height:26px}.woocommerce-stock-activity-card .woocommerce-activity-card__title{font-size:15px;font-size:.9375rem}.woocommerce-stock-activity-card .woocommerce-activity-card__subtitle{color:#555d66;font-size:12px;font-size:.75rem}.woocommerce-empty-activity-card{-ms-grid-columns:72px 1fr;grid-template-columns:72px 1fr}@media (max-width:782px){.woocommerce-empty-activity-card{-ms-grid-columns:64px 1fr;grid-template-columns:64px 1fr}}.woocommerce-layout__activity-panel-header{height:50px;background:#e2e4e7;padding:16px;display:flex;justify-content:space-between;align-items:center}@media (min-width:783px){.woocommerce-layout__activity-panel-header{padding:16px 24px}}.woocommerce-layout__activity-panel-header h3{font-size:13px;font-weight:600;line-height:16px;margin:0;padding:0}.woocommerce-layout__activity-panel-header .woocommerce-ellipsis-menu__toggle.components-button:not(:disabled):not([aria-disabled=true]):focus,.woocommerce-layout__activity-panel-header .woocommerce-ellipsis-menu__toggle.components-button:not(:disabled):not([aria-disabled=true]):hover{box-shadow:none;border-radius:10px;background:#ccd0d4}.woocommerce-layout__activity-panel-outbound-link{display:flex;justify-content:space-between;align-items:center;height:50px;background:#f3f4f5;border-bottom:1px solid #e8eaeb;padding:16px 24px;padding:16px var(--main-gap);font-size:13px;font-weight:500;line-height:18px;margin:0;color:#7f54b3;text-decoration:none}.woocommerce-layout__activity-panel-outbound-link .gridicon{display:none}.woocommerce-layout__activity-panel-outbound-link:hover{background:#fff;color:#7f54b3}.woocommerce-layout__activity-panel-outbound-link:active{background:#f8f9f9;color:#533582}.woocommerce-layout__activity-panel-outbound-link:focus{color:#7f54b3;background:#f3f4f5;box-shadow:inset 0 0 0 1px #5b9dd9,inset 0 0 0 2px #fff}.woocommerce-layout__activity-panel-outbound-link:focus .gridicon,.woocommerce-layout__activity-panel-outbound-link:hover .gridicon{display:initial;color:#7f54b3}.woocommerce-layout__activity-panel-outbound-link:active .gridicon{display:initial;color:#533582}
\ No newline at end of file
diff --git a/dist/activity-panels-stock/style-rtl.css b/dist/activity-panels-stock/style-rtl.css
new file mode 100644
index 00000000000..e99ca1d5611
--- /dev/null
+++ b/dist/activity-panels-stock/style-rtl.css
@@ -0,0 +1 @@
+.woocommerce-activity-card{position:relative;padding:24px;padding:var(--main-gap);background:#fff;border-bottom:1px solid #e8eaeb;color:#555d66;font-size:13px;font-size:.8125rem;display:-ms-grid;display:grid;-ms-grid-columns:84px 1fr;grid-template-columns:84px 1fr;grid-template-areas:"icon header" "icon body" "icon actions"}@media (max-width:782px){.woocommerce-activity-card{-ms-grid-columns:76px 1fr;grid-template-columns:76px 1fr}}.woocommerce-activity-card__unread{position:absolute;top:18px;top:calc(var(--main-gap) - 6px);left:18px;left:calc(var(--main-gap) - 6px);width:6px;height:6px;border-radius:50%;background:#ca4a1f}.woocommerce-activity-card__icon{-ms-grid-row:1;-ms-grid-row-span:3;-ms-grid-column:1;grid-area:icon;fill:#d7dade}.woocommerce-activity-card__header{margin-bottom:16px;display:flex;flex-direction:column}.woocommerce-activity-card__header a{color:#7f54b3;text-decoration:none}.woocommerce-activity-card__header .woocommerce-activity-card__title{margin:0;font-size:13px;font-size:.8125rem;order:2}.woocommerce-activity-card__header .woocommerce-activity-card__date{color:#6c7781;text-transform:uppercase;font-size:11px;font-size:.6875rem;margin-bottom:12px;order:1}.woocommerce-activity-card__header .woocommerce-activity-card__subtitle{order:3}@media (min-width:783px){.woocommerce-activity-card__header{-ms-grid-row:1;-ms-grid-column:2;grid-area:header;display:-ms-grid;display:grid;-ms-grid-rows:auto auto;-ms-grid-columns:1fr auto;grid-template:"title date" "subtitle date"/1fr auto}.woocommerce-activity-card.woocommerce-order-activity-card>.woocommerce-activity-card__header{-ms-grid-row:1;-ms-grid-column:1}.woocommerce-activity-card__header .woocommerce-activity-card__title{grid-area:title}.woocommerce-activity-card__header .woocommerce-activity-card__date{display:block;grid-area:date;-ms-grid-column-align:end;justify-self:end;margin-bottom:0}.woocommerce-activity-card__header .woocommerce-activity-card__subtitle{grid-area:subtitle}}@media (min-width:783px){.woocommerce-activity-card__header .woocommerce-activity-card__title{-ms-grid-row:1;-ms-grid-column:1}.woocommerce-activity-card__header .woocommerce-activity-card__date{-ms-grid-row:1;-ms-grid-row-span:2;-ms-grid-column:2}.woocommerce-activity-card__header .woocommerce-activity-card__subtitle{-ms-grid-row:2;-ms-grid-column:1}}.woocommerce-activity-card__body{-ms-grid-row:2;-ms-grid-column:2;grid-area:body}.woocommerce-activity-card.woocommerce-order-activity-card>.woocommerce-activity-card__body{-ms-grid-row:2;-ms-grid-column:1}.woocommerce-activity-card__body>p:first-child{margin-top:0}.woocommerce-activity-card__body>p:last-child{margin-bottom:0}.woocommerce-activity-card__actions{-ms-grid-row:3;-ms-grid-column:2;grid-area:actions;margin-top:16px}.woocommerce-activity-card.woocommerce-order-activity-card>.woocommerce-activity-card__actions{-ms-grid-row:3;-ms-grid-column:1}.woocommerce-activity-card__actions>*+*{margin-right:.5em}.woocommerce-activity-card.is-loading .is-placeholder{animation:loading-fade 1.6s ease-in-out infinite;background-color:#e2e4e7;color:transparent;display:inline-block;height:16px}.woocommerce-activity-card.is-loading .is-placeholder:after{content:"\00a0"}@media screen and (prefers-reduced-motion:reduce){.woocommerce-activity-card.is-loading .is-placeholder{animation:none}}.woocommerce-activity-card.is-loading .woocommerce-activity-card__title{width:80%}.woocommerce-activity-card.is-loading .woocommerce-activity-card__subtitle{margin-top:4px}.woocommerce-activity-card.is-loading .woocommerce-activity-card__date{width:100%;margin-bottom:16px}@media (min-width:783px){.woocommerce-activity-card.is-loading .woocommerce-activity-card__date{text-align:left;margin-bottom:0}}.woocommerce-activity-card.is-loading .woocommerce-activity-card__date .is-placeholder{width:68px}.woocommerce-activity-card.is-loading .woocommerce-activity-card__icon{margin-left:24px;margin-left:var(--main-gap)}.woocommerce-activity-card.is-loading .woocommerce-activity-card__icon .is-placeholder{height:48px;width:48px}.woocommerce-activity-card.is-loading.woocommerce-review-activity-card .woocommerce-activity-card__icon .is-placeholder,.woocommerce-activity-card.is-loading.woocommerce-stock-activity-card .woocommerce-activity-card__icon .is-placeholder{height:60px;width:60px}.woocommerce-activity-card.is-loading .woocommerce-activity-card__body .is-placeholder{width:100%;margin-bottom:4px}.woocommerce-activity-card.is-loading .woocommerce-activity-card__body .is-placeholder:last-of-type{width:65%;margin-bottom:0}.woocommerce-activity-card.is-loading .woocommerce-activity-card__actions .is-placeholder{width:91px;height:34px}.woocommerce-activity-card.woocommerce-order-activity-card{-ms-grid-columns:1fr;grid-template-columns:1fr;grid-template-areas:"header" "body" "actions"}.woocommerce-activity-card.woocommerce-order-activity-card .woocommerce-activity-card__icon{display:none}.woocommerce-activity-card.woocommerce-order-activity-card .woocommerce-flag{display:inline-block}.woocommerce-activity-card.woocommerce-order-activity-card .woocommerce-activity-card__subtitle span+span:before{content:" \2022\ "}.woocommerce-activity-card.woocommerce-inbox-activity-card{-ms-grid-columns:72px 1fr;grid-template-columns:72px 1fr;height:100%;opacity:1;padding:24px;padding:var(--main-gap)}@media screen and (prefers-reduced-motion:no-preference){.woocommerce-activity-card.woocommerce-inbox-activity-card{transition:opacity .3s,height 0s,padding 0s}}@media (max-width:782px){.woocommerce-activity-card.woocommerce-inbox-activity-card{-ms-grid-columns:64px 1fr;grid-template-columns:64px 1fr}}.woocommerce-activity-card.woocommerce-inbox-activity-card .woocommerce-activity-card__header{margin-bottom:12px}.woocommerce-activity-card.woocommerce-inbox-activity-card.actioned{height:0;opacity:0;padding:0}@media screen and (prefers-reduced-motion:no-preference){.woocommerce-activity-card.woocommerce-inbox-activity-card.actioned{transition:opacity .3s,height 0s .3s,padding 0s .3s}}.woocommerce-review-activity-card .woocommerce-activity-card__body>span>p:first-child{margin-top:0}.woocommerce-review-activity-card .woocommerce-activity-card__body>span>p:last-child{margin-bottom:0}.woocommerce-review-activity-card .woocommerce-review-activity-card__verified{margin-right:12px;display:inline-flex;position:relative;top:4px;color:#4ab866;font-size:12px;font-size:.75rem}.woocommerce-review-activity-card .woocommerce-review-activity-card__verified .gridicon{margin-left:4px;fill:#4ab866}.woocommerce-review-activity-card .woocommerce-review-activity-card__image-overlay{position:relative}.woocommerce-review-activity-card .woocommerce-review-activity-card__image-overlay img.woocommerce-gravatar{border:2px solid #fff;right:0;position:absolute;top:-6px;z-index:2}@media (max-width:782px){.woocommerce-review-activity-card .woocommerce-review-activity-card__image-overlay{margin-top:4px}.woocommerce-review-activity-card .woocommerce-review-activity-card__image-overlay__product .woocommerce-gravatar{margin-right:0;width:18px;height:18px;right:32px;top:-28px;z-index:1}}.woocommerce-review-activity-card__image-overlay__product,.woocommerce-stock-activity-card__image-overlay__product{height:60px;position:relative;width:60px}.woocommerce-review-activity-card__image-overlay__product.is-placeholder:before,.woocommerce-stock-activity-card__image-overlay__product.is-placeholder:before{background-color:#555d66;border-radius:50%;content:"";position:absolute;right:0;left:0;bottom:0;top:0;opacity:.1}@media screen and (prefers-reduced-motion:no-preference){.woocommerce-stock-activity-card{transition:opacity .3s}}.woocommerce-stock-activity-card.is-dimmed{opacity:.7}.woocommerce-stock-activity-card .woocommerce-stock-activity-card__stock-quantity{background:#edeff0;color:#555d66;padding:3px 8px;border-radius:3px}.woocommerce-stock-activity-card .woocommerce-stock-activity-card__edit-quantity{display:inline-flex;width:50px;margin-left:10px}.woocommerce-stock-activity-card .woocommerce-stock-activity-card__edit-quantity input{border-radius:4px;height:36px}.woocommerce-stock-activity-card .woocommerce-stock-activity-card__edit-quantity input[type=number]{-moz-appearance:textfield}.woocommerce-stock-activity-card .woocommerce-stock-activity-card__edit-quantity input[type=number]::-webkit-inner-spin-button,.woocommerce-stock-activity-card .woocommerce-stock-activity-card__edit-quantity input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.woocommerce-stock-activity-card .components-button{min-height:34px;padding:2px 10px;line-height:26px}.woocommerce-stock-activity-card .woocommerce-activity-card__title{font-size:15px;font-size:.9375rem}.woocommerce-stock-activity-card .woocommerce-activity-card__subtitle{color:#555d66;font-size:12px;font-size:.75rem}.woocommerce-empty-activity-card{-ms-grid-columns:72px 1fr;grid-template-columns:72px 1fr}@media (max-width:782px){.woocommerce-empty-activity-card{-ms-grid-columns:64px 1fr;grid-template-columns:64px 1fr}}.woocommerce-layout__activity-panel-header{height:50px;background:#e2e4e7;padding:16px;display:flex;justify-content:space-between;align-items:center}@media (min-width:783px){.woocommerce-layout__activity-panel-header{padding:16px 24px}}.woocommerce-layout__activity-panel-header h3{font-size:13px;font-weight:600;line-height:16px;margin:0;padding:0}.woocommerce-layout__activity-panel-header .woocommerce-ellipsis-menu__toggle.components-button:not(:disabled):not([aria-disabled=true]):focus,.woocommerce-layout__activity-panel-header .woocommerce-ellipsis-menu__toggle.components-button:not(:disabled):not([aria-disabled=true]):hover{box-shadow:none;border-radius:10px;background:#ccd0d4}
\ No newline at end of file
diff --git a/dist/activity-panels-stock/style.css b/dist/activity-panels-stock/style.css
new file mode 100644
index 00000000000..71968e8fd8e
--- /dev/null
+++ b/dist/activity-panels-stock/style.css
@@ -0,0 +1 @@
+.woocommerce-activity-card{position:relative;padding:24px;padding:var(--main-gap);background:#fff;border-bottom:1px solid #e8eaeb;color:#555d66;font-size:13px;font-size:.8125rem;display:-ms-grid;display:grid;-ms-grid-columns:84px 1fr;grid-template-columns:84px 1fr;grid-template-areas:"icon header" "icon body" "icon actions"}@media (max-width:782px){.woocommerce-activity-card{-ms-grid-columns:76px 1fr;grid-template-columns:76px 1fr}}.woocommerce-activity-card__unread{position:absolute;top:18px;top:calc(var(--main-gap) - 6px);right:18px;right:calc(var(--main-gap) - 6px);width:6px;height:6px;border-radius:50%;background:#ca4a1f}.woocommerce-activity-card__icon{-ms-grid-row:1;-ms-grid-row-span:3;-ms-grid-column:1;grid-area:icon;fill:#d7dade}.woocommerce-activity-card__header{margin-bottom:16px;display:flex;flex-direction:column}.woocommerce-activity-card__header a{color:#7f54b3;text-decoration:none}.woocommerce-activity-card__header .woocommerce-activity-card__title{margin:0;font-size:13px;font-size:.8125rem;order:2}.woocommerce-activity-card__header .woocommerce-activity-card__date{color:#6c7781;text-transform:uppercase;font-size:11px;font-size:.6875rem;margin-bottom:12px;order:1}.woocommerce-activity-card__header .woocommerce-activity-card__subtitle{order:3}@media (min-width:783px){.woocommerce-activity-card__header{-ms-grid-row:1;-ms-grid-column:2;grid-area:header;display:-ms-grid;display:grid;-ms-grid-rows:auto auto;-ms-grid-columns:1fr auto;grid-template:"title date" "subtitle date"/1fr auto}.woocommerce-activity-card.woocommerce-order-activity-card>.woocommerce-activity-card__header{-ms-grid-row:1;-ms-grid-column:1}.woocommerce-activity-card__header .woocommerce-activity-card__title{grid-area:title}.woocommerce-activity-card__header .woocommerce-activity-card__date{display:block;grid-area:date;-ms-grid-column-align:end;justify-self:end;margin-bottom:0}.woocommerce-activity-card__header .woocommerce-activity-card__subtitle{grid-area:subtitle}}@media (min-width:783px){.woocommerce-activity-card__header .woocommerce-activity-card__title{-ms-grid-row:1;-ms-grid-column:1}.woocommerce-activity-card__header .woocommerce-activity-card__date{-ms-grid-row:1;-ms-grid-row-span:2;-ms-grid-column:2}.woocommerce-activity-card__header .woocommerce-activity-card__subtitle{-ms-grid-row:2;-ms-grid-column:1}}.woocommerce-activity-card__body{-ms-grid-row:2;-ms-grid-column:2;grid-area:body}.woocommerce-activity-card.woocommerce-order-activity-card>.woocommerce-activity-card__body{-ms-grid-row:2;-ms-grid-column:1}.woocommerce-activity-card__body>p:first-child{margin-top:0}.woocommerce-activity-card__body>p:last-child{margin-bottom:0}.woocommerce-activity-card__actions{-ms-grid-row:3;-ms-grid-column:2;grid-area:actions;margin-top:16px}.woocommerce-activity-card.woocommerce-order-activity-card>.woocommerce-activity-card__actions{-ms-grid-row:3;-ms-grid-column:1}.woocommerce-activity-card__actions>*+*{margin-left:.5em}.woocommerce-activity-card.is-loading .is-placeholder{animation:loading-fade 1.6s ease-in-out infinite;background-color:#e2e4e7;color:transparent;display:inline-block;height:16px}.woocommerce-activity-card.is-loading .is-placeholder:after{content:"\00a0"}@media screen and (prefers-reduced-motion:reduce){.woocommerce-activity-card.is-loading .is-placeholder{animation:none}}.woocommerce-activity-card.is-loading .woocommerce-activity-card__title{width:80%}.woocommerce-activity-card.is-loading .woocommerce-activity-card__subtitle{margin-top:4px}.woocommerce-activity-card.is-loading .woocommerce-activity-card__date{width:100%;margin-bottom:16px}@media (min-width:783px){.woocommerce-activity-card.is-loading .woocommerce-activity-card__date{text-align:right;margin-bottom:0}}.woocommerce-activity-card.is-loading .woocommerce-activity-card__date .is-placeholder{width:68px}.woocommerce-activity-card.is-loading .woocommerce-activity-card__icon{margin-right:24px;margin-right:var(--main-gap)}.woocommerce-activity-card.is-loading .woocommerce-activity-card__icon .is-placeholder{height:48px;width:48px}.woocommerce-activity-card.is-loading.woocommerce-review-activity-card .woocommerce-activity-card__icon .is-placeholder,.woocommerce-activity-card.is-loading.woocommerce-stock-activity-card .woocommerce-activity-card__icon .is-placeholder{height:60px;width:60px}.woocommerce-activity-card.is-loading .woocommerce-activity-card__body .is-placeholder{width:100%;margin-bottom:4px}.woocommerce-activity-card.is-loading .woocommerce-activity-card__body .is-placeholder:last-of-type{width:65%;margin-bottom:0}.woocommerce-activity-card.is-loading .woocommerce-activity-card__actions .is-placeholder{width:91px;height:34px}.woocommerce-activity-card.woocommerce-order-activity-card{-ms-grid-columns:1fr;grid-template-columns:1fr;grid-template-areas:"header" "body" "actions"}.woocommerce-activity-card.woocommerce-order-activity-card .woocommerce-activity-card__icon{display:none}.woocommerce-activity-card.woocommerce-order-activity-card .woocommerce-flag{display:inline-block}.woocommerce-activity-card.woocommerce-order-activity-card .woocommerce-activity-card__subtitle span+span:before{content:" \2022\ "}.woocommerce-activity-card.woocommerce-inbox-activity-card{-ms-grid-columns:72px 1fr;grid-template-columns:72px 1fr;height:100%;opacity:1;padding:24px;padding:var(--main-gap)}@media screen and (prefers-reduced-motion:no-preference){.woocommerce-activity-card.woocommerce-inbox-activity-card{transition:opacity .3s,height 0s,padding 0s}}@media (max-width:782px){.woocommerce-activity-card.woocommerce-inbox-activity-card{-ms-grid-columns:64px 1fr;grid-template-columns:64px 1fr}}.woocommerce-activity-card.woocommerce-inbox-activity-card .woocommerce-activity-card__header{margin-bottom:12px}.woocommerce-activity-card.woocommerce-inbox-activity-card.actioned{height:0;opacity:0;padding:0}@media screen and (prefers-reduced-motion:no-preference){.woocommerce-activity-card.woocommerce-inbox-activity-card.actioned{transition:opacity .3s,height 0s .3s,padding 0s .3s}}.woocommerce-review-activity-card .woocommerce-activity-card__body>span>p:first-child{margin-top:0}.woocommerce-review-activity-card .woocommerce-activity-card__body>span>p:last-child{margin-bottom:0}.woocommerce-review-activity-card .woocommerce-review-activity-card__verified{margin-left:12px;display:inline-flex;position:relative;top:4px;color:#4ab866;font-size:12px;font-size:.75rem}.woocommerce-review-activity-card .woocommerce-review-activity-card__verified .gridicon{margin-right:4px;fill:#4ab866}.woocommerce-review-activity-card .woocommerce-review-activity-card__image-overlay{position:relative}.woocommerce-review-activity-card .woocommerce-review-activity-card__image-overlay img.woocommerce-gravatar{border:2px solid #fff;left:0;position:absolute;top:-6px;z-index:2}@media (max-width:782px){.woocommerce-review-activity-card .woocommerce-review-activity-card__image-overlay{margin-top:4px}.woocommerce-review-activity-card .woocommerce-review-activity-card__image-overlay__product .woocommerce-gravatar{margin-left:0;width:18px;height:18px;left:32px;top:-28px;z-index:1}}.woocommerce-review-activity-card__image-overlay__product,.woocommerce-stock-activity-card__image-overlay__product{height:60px;position:relative;width:60px}.woocommerce-review-activity-card__image-overlay__product.is-placeholder:before,.woocommerce-stock-activity-card__image-overlay__product.is-placeholder:before{background-color:#555d66;border-radius:50%;content:"";position:absolute;left:0;right:0;bottom:0;top:0;opacity:.1}@media screen and (prefers-reduced-motion:no-preference){.woocommerce-stock-activity-card{transition:opacity .3s}}.woocommerce-stock-activity-card.is-dimmed{opacity:.7}.woocommerce-stock-activity-card .woocommerce-stock-activity-card__stock-quantity{background:#edeff0;color:#555d66;padding:3px 8px;border-radius:3px}.woocommerce-stock-activity-card .woocommerce-stock-activity-card__edit-quantity{display:inline-flex;width:50px;margin-right:10px}.woocommerce-stock-activity-card .woocommerce-stock-activity-card__edit-quantity input{border-radius:4px;height:36px}.woocommerce-stock-activity-card .woocommerce-stock-activity-card__edit-quantity input[type=number]{-moz-appearance:textfield}.woocommerce-stock-activity-card .woocommerce-stock-activity-card__edit-quantity input[type=number]::-webkit-inner-spin-button,.woocommerce-stock-activity-card .woocommerce-stock-activity-card__edit-quantity input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.woocommerce-stock-activity-card .components-button{min-height:34px;padding:2px 10px;line-height:26px}.woocommerce-stock-activity-card .woocommerce-activity-card__title{font-size:15px;font-size:.9375rem}.woocommerce-stock-activity-card .woocommerce-activity-card__subtitle{color:#555d66;font-size:12px;font-size:.75rem}.woocommerce-empty-activity-card{-ms-grid-columns:72px 1fr;grid-template-columns:72px 1fr}@media (max-width:782px){.woocommerce-empty-activity-card{-ms-grid-columns:64px 1fr;grid-template-columns:64px 1fr}}.woocommerce-layout__activity-panel-header{height:50px;background:#e2e4e7;padding:16px;display:flex;justify-content:space-between;align-items:center}@media (min-width:783px){.woocommerce-layout__activity-panel-header{padding:16px 24px}}.woocommerce-layout__activity-panel-header h3{font-size:13px;font-weight:600;line-height:16px;margin:0;padding:0}.woocommerce-layout__activity-panel-header .woocommerce-ellipsis-menu__toggle.components-button:not(:disabled):not([aria-disabled=true]):focus,.woocommerce-layout__activity-panel-header .woocommerce-ellipsis-menu__toggle.components-button:not(:disabled):not([aria-disabled=true]):hover{box-shadow:none;border-radius:10px;background:#ccd0d4}
\ No newline at end of file
diff --git a/dist/analytics-report-categories~analytics-report-coupons~analytics-report-customers~analytics-report-dow~99eefb40/style-rtl.css b/dist/analytics-report-categories~analytics-report-coupons~analytics-report-customers~analytics-report-dow~99eefb40/style-rtl.css
new file mode 100644
index 00000000000..1a23bfd1442
--- /dev/null
+++ b/dist/analytics-report-categories~analytics-report-coupons~analytics-report-customers~analytics-report-dow~99eefb40/style-rtl.css
@@ -0,0 +1 @@
+.woocommerce-report-table__scroll-point{position:relative;top:-48px}@media (max-width:782px){.woocommerce-report-table__scroll-point{top:-62px}}.woocommerce-feature-enabled-activity-panels .woocommerce-report-table__scroll-point{top:-104px}@media (max-width:782px){.woocommerce-feature-enabled-activity-panels .woocommerce-report-table__scroll-point{top:-118px}}.woocommerce-report-table .woocommerce-search{flex-grow:1}.woocommerce-report-table .woocommerce-card__header{position:relative}.woocommerce-report-table.has-compare .woocommerce-card__action,.woocommerce-report-table.has-search .woocommerce-card__action{align-items:center;text-align:right;display:-ms-grid;display:grid;width:100%;-ms-grid-columns:auto 1fr auto;grid-template-columns:auto 1fr auto}@media (max-width:960px){.woocommerce-report-table.has-compare .woocommerce-card__action,.woocommerce-report-table.has-search .woocommerce-card__action{grid-gap:12px;-ms-grid-columns:auto 1fr;grid-template-columns:auto 1fr;-ms-grid-row:2;grid-row-start:2;-ms-grid-row-span:0;grid-row-end:2;-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:3;grid-column-end:4;margin:0}.woocommerce-report-table.has-compare .woocommerce-card__action .woocommerce-table__compare,.woocommerce-report-table.has-search .woocommerce-card__action .woocommerce-table__compare{display:flex}.woocommerce-report-table.has-compare .woocommerce-card__action .woocommerce-search,.woocommerce-report-table.has-search .woocommerce-card__action .woocommerce-search{-ms-grid-row:2;-ms-grid-row-span:1;-ms-grid-column:2;-ms-grid-column-span:2;grid-area:2/2/3/4;margin-left:0}.woocommerce-report-table.has-compare .woocommerce-card__action .woocommerce-table__download-button,.woocommerce-report-table.has-search .woocommerce-card__action .woocommerce-table__download-button{-ms-grid-row:1;-ms-grid-row-span:1;-ms-grid-column:2;-ms-grid-column-span:1;grid-area:1/2/2/3;-ms-grid-column-align:end;justify-self:end;margin:-6px 0;position:absolute}}.woocommerce-report-table.has-compare.has-search:not(.has-compare) .woocommerce-card__action,.woocommerce-report-table.has-search.has-search:not(.has-compare) .woocommerce-card__action{-ms-grid-columns:1fr auto;grid-template-columns:1fr auto}.woocommerce-report-table.has-compare.has-search:not(.has-compare) .woocommerce-card__action .woocommerce-search,.woocommerce-report-table.has-search.has-search:not(.has-compare) .woocommerce-card__action .woocommerce-search{-ms-grid-row-align:center;align-self:center;-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:1;grid-column-end:2}.woocommerce-report-table.has-compare.has-search:not(.has-compare) .woocommerce-card__action .woocommerce-table__download-button,.woocommerce-report-table.has-search.has-search:not(.has-compare) .woocommerce-card__action .woocommerce-table__download-button{-ms-grid-row-align:center;align-self:center;-ms-grid-column:2;grid-column-start:2;-ms-grid-column-span:1;grid-column-end:3}@media (max-width:960px){.woocommerce-report-table.has-compare.has-search:not(.has-compare) .woocommerce-card__action,.woocommerce-report-table.has-search.has-search:not(.has-compare) .woocommerce-card__action{-ms-grid-columns:auto;grid-template-columns:auto}.woocommerce-report-table.has-compare.has-search:not(.has-compare) .woocommerce-card__action .woocommerce-search,.woocommerce-report-table.has-search.has-search:not(.has-compare) .woocommerce-card__action .woocommerce-search{-ms-grid-row:2;-ms-grid-row-span:1;-ms-grid-column:1;-ms-grid-column-span:3;grid-area:2/1/3/4;margin-right:0}.woocommerce-report-table.has-compare.has-search:not(.has-compare) .woocommerce-card__action .woocommerce-table__download-button,.woocommerce-report-table.has-search.has-search:not(.has-compare) .woocommerce-card__action .woocommerce-table__download-button{-ms-grid-row:1;-ms-grid-row-span:1;-ms-grid-column:2;-ms-grid-column-span:1;grid-area:1/2/2/3}}.woocommerce-report-table.has-compare .woocommerce-search,.woocommerce-report-table.has-search .woocommerce-search{margin:0 16px}.woocommerce-report-table.has-compare .woocommerce-search .woocommerce-select-control__control,.woocommerce-report-table.has-search .woocommerce-search .woocommerce-select-control__control{height:38px}.woocommerce-report-table.has-compare .woocommerce-compare-button,.woocommerce-report-table.has-search .woocommerce-compare-button{padding:3px 12px;height:auto}
\ No newline at end of file
diff --git a/dist/analytics-report-categories~analytics-report-coupons~analytics-report-customers~analytics-report-dow~99eefb40/style.css b/dist/analytics-report-categories~analytics-report-coupons~analytics-report-customers~analytics-report-dow~99eefb40/style.css
new file mode 100644
index 00000000000..ac31d299e70
--- /dev/null
+++ b/dist/analytics-report-categories~analytics-report-coupons~analytics-report-customers~analytics-report-dow~99eefb40/style.css
@@ -0,0 +1 @@
+.woocommerce-report-table__scroll-point{position:relative;top:-48px}@media (max-width:782px){.woocommerce-report-table__scroll-point{top:-62px}}.woocommerce-feature-enabled-activity-panels .woocommerce-report-table__scroll-point{top:-104px}@media (max-width:782px){.woocommerce-feature-enabled-activity-panels .woocommerce-report-table__scroll-point{top:-118px}}.woocommerce-report-table .woocommerce-search{flex-grow:1}.woocommerce-report-table .woocommerce-card__header{position:relative}.woocommerce-report-table.has-compare .woocommerce-card__action,.woocommerce-report-table.has-search .woocommerce-card__action{align-items:center;text-align:left;display:-ms-grid;display:grid;width:100%;-ms-grid-columns:auto 1fr auto;grid-template-columns:auto 1fr auto}@media (max-width:960px){.woocommerce-report-table.has-compare .woocommerce-card__action,.woocommerce-report-table.has-search .woocommerce-card__action{grid-gap:12px;-ms-grid-columns:auto 1fr;grid-template-columns:auto 1fr;-ms-grid-row:2;grid-row-start:2;-ms-grid-row-span:0;grid-row-end:2;-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:3;grid-column-end:4;margin:0}.woocommerce-report-table.has-compare .woocommerce-card__action .woocommerce-table__compare,.woocommerce-report-table.has-search .woocommerce-card__action .woocommerce-table__compare{display:flex}.woocommerce-report-table.has-compare .woocommerce-card__action .woocommerce-search,.woocommerce-report-table.has-search .woocommerce-card__action .woocommerce-search{-ms-grid-row:2;-ms-grid-row-span:1;-ms-grid-column:2;-ms-grid-column-span:2;grid-area:2/2/3/4;margin-right:0}.woocommerce-report-table.has-compare .woocommerce-card__action .woocommerce-table__download-button,.woocommerce-report-table.has-search .woocommerce-card__action .woocommerce-table__download-button{-ms-grid-row:1;-ms-grid-row-span:1;-ms-grid-column:2;-ms-grid-column-span:1;grid-area:1/2/2/3;-ms-grid-column-align:end;justify-self:end;margin:-6px 0;position:absolute}}.woocommerce-report-table.has-compare.has-search:not(.has-compare) .woocommerce-card__action,.woocommerce-report-table.has-search.has-search:not(.has-compare) .woocommerce-card__action{-ms-grid-columns:1fr auto;grid-template-columns:1fr auto}.woocommerce-report-table.has-compare.has-search:not(.has-compare) .woocommerce-card__action .woocommerce-search,.woocommerce-report-table.has-search.has-search:not(.has-compare) .woocommerce-card__action .woocommerce-search{-ms-grid-row-align:center;align-self:center;-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:1;grid-column-end:2}.woocommerce-report-table.has-compare.has-search:not(.has-compare) .woocommerce-card__action .woocommerce-table__download-button,.woocommerce-report-table.has-search.has-search:not(.has-compare) .woocommerce-card__action .woocommerce-table__download-button{-ms-grid-row-align:center;align-self:center;-ms-grid-column:2;grid-column-start:2;-ms-grid-column-span:1;grid-column-end:3}@media (max-width:960px){.woocommerce-report-table.has-compare.has-search:not(.has-compare) .woocommerce-card__action,.woocommerce-report-table.has-search.has-search:not(.has-compare) .woocommerce-card__action{-ms-grid-columns:auto;grid-template-columns:auto}.woocommerce-report-table.has-compare.has-search:not(.has-compare) .woocommerce-card__action .woocommerce-search,.woocommerce-report-table.has-search.has-search:not(.has-compare) .woocommerce-card__action .woocommerce-search{-ms-grid-row:2;-ms-grid-row-span:1;-ms-grid-column:1;-ms-grid-column-span:3;grid-area:2/1/3/4;margin-left:0}.woocommerce-report-table.has-compare.has-search:not(.has-compare) .woocommerce-card__action .woocommerce-table__download-button,.woocommerce-report-table.has-search.has-search:not(.has-compare) .woocommerce-card__action .woocommerce-table__download-button{-ms-grid-row:1;-ms-grid-row-span:1;-ms-grid-column:2;-ms-grid-column-span:1;grid-area:1/2/2/3}}.woocommerce-report-table.has-compare .woocommerce-search,.woocommerce-report-table.has-search .woocommerce-search{margin:0 16px}.woocommerce-report-table.has-compare .woocommerce-search .woocommerce-select-control__control,.woocommerce-report-table.has-search .woocommerce-search .woocommerce-select-control__control{height:38px}.woocommerce-report-table.has-compare .woocommerce-compare-button,.woocommerce-report-table.has-search .woocommerce-compare-button{padding:3px 12px;height:auto}
\ No newline at end of file
diff --git a/dist/analytics-report-categories~analytics-report-products/style-rtl.css b/dist/analytics-report-categories~analytics-report-products/style-rtl.css
new file mode 100644
index 00000000000..9738bf743a3
--- /dev/null
+++ b/dist/analytics-report-categories~analytics-report-products/style-rtl.css
@@ -0,0 +1 @@
+.woocommerce-table__product-categories>.woocommerce-table__breadcrumbs{display:inline-block;margin-left:12px}.woocommerce-table__product-categories .components-popover__content{padding:0 16px;text-align:right}.woocommerce-table__product-categories .components-popover__content .woocommerce-table__breadcrumbs{margin-top:12px;margin-bottom:12px}
\ No newline at end of file
diff --git a/dist/analytics-report-categories~analytics-report-products/style.css b/dist/analytics-report-categories~analytics-report-products/style.css
new file mode 100644
index 00000000000..821e4b1ef9d
--- /dev/null
+++ b/dist/analytics-report-categories~analytics-report-products/style.css
@@ -0,0 +1 @@
+.woocommerce-table__product-categories>.woocommerce-table__breadcrumbs{display:inline-block;margin-right:12px}.woocommerce-table__product-categories .components-popover__content{padding:0 16px;text-align:left}.woocommerce-table__product-categories .components-popover__content .woocommerce-table__breadcrumbs{margin-top:12px;margin-bottom:12px}
\ No newline at end of file
diff --git a/dist/analytics-report-orders/style-rtl.css b/dist/analytics-report-orders/style-rtl.css
new file mode 100644
index 00000000000..fbd7a4c01a4
--- /dev/null
+++ b/dist/analytics-report-orders/style-rtl.css
@@ -0,0 +1 @@
+.woocommerce-orders-table__status{flex-direction:row-reverse}.woocommerce-orders-table__status .woocommerce-order-status__indicator{margin-left:0;margin-right:8px}
\ No newline at end of file
diff --git a/dist/analytics-report-orders/style.css b/dist/analytics-report-orders/style.css
new file mode 100644
index 00000000000..fd773c2b003
--- /dev/null
+++ b/dist/analytics-report-orders/style.css
@@ -0,0 +1 @@
+.woocommerce-orders-table__status{flex-direction:row-reverse}.woocommerce-orders-table__status .woocommerce-order-status__indicator{margin-right:0;margin-left:8px}
\ No newline at end of file
diff --git a/dist/analytics-settings/style-rtl.css b/dist/analytics-settings/style-rtl.css
new file mode 100644
index 00000000000..3229fabf192
--- /dev/null
+++ b/dist/analytics-settings/style-rtl.css
@@ -0,0 +1 @@
+@media (min-width:783px){.woocommerce-settings__wrapper{padding:0 13px}}.woocommerce-settings__actions{margin-bottom:40px}@media (min-width:1281px){.woocommerce-settings__actions{margin-right:15%}}.woocommerce-settings__actions button{margin-left:16px}.woocommerce-setting{display:flex;margin-bottom:24px}@media (max-width:1280px){.woocommerce-setting{flex-direction:column}}.woocommerce-setting__label{font-size:16px;font-size:1rem;margin-bottom:16px;padding-left:16px;font-weight:700}@media (min-width:1281px){.woocommerce-setting__label{width:15%}}.woocommerce-setting__input{display:flex;flex-direction:column}@media (min-width:1281px){.woocommerce-setting__input{width:35%}.woocommerce-setting__input .woocommerce-filters-filter{width:100%}}.woocommerce-setting__input label{width:100%;display:block;margin-bottom:12px;color:#555d66}.woocommerce-setting__input .woocommerce-filters-filter label{margin-bottom:0}.woocommerce-setting__input input[type=checkbox]{margin-left:12px}.woocommerce-setting__input button{margin-bottom:12px;align-self:flex-start}.woocommerce-setting__options-group-label{display:block;font-weight:700;margin-bottom:12px}.woocommerce-setting__help{font-style:italic;color:#6c7781}.woocommerce-settings-historical-data__columns{display:-ms-grid;display:grid;grid-column-gap:24px;-ms-grid-columns:calc(50% - 12px) calc(50% - 12px);grid-template-columns:calc(50% - 12px) calc(50% - 12px)}.woocommerce-settings-historical-data__columns .woocommerce-settings-historical-data__column{-ms-grid-row-align:end;align-self:end;margin-top:12px}.woocommerce-settings-historical-data__columns .woocommerce-settings-historical-data__column:first-child{-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:1;grid-column-end:2;-ms-grid-row:1;grid-row-start:1;-ms-grid-row-span:1;grid-row-end:2}.woocommerce-settings-historical-data__columns .woocommerce-settings-historical-data__column:nth-child(2){-ms-grid-column:2;grid-column-start:2;-ms-grid-column-span:1;grid-column-end:3;-ms-grid-row:1;grid-row-start:1;-ms-grid-row-span:1;grid-row-end:2}@media (max-width:960px){.woocommerce-settings-historical-data__columns{-ms-grid-columns:100%;grid-template-columns:100%}.woocommerce-settings-historical-data__columns .woocommerce-settings-historical-data__column:first-child{-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:1;grid-column-end:2;-ms-grid-row:1;grid-row-start:1;-ms-grid-row-span:1;grid-row-end:2}.woocommerce-settings-historical-data__columns .woocommerce-settings-historical-data__column:nth-child(2){-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:1;grid-column-end:2;-ms-grid-row:2;grid-row-start:2;-ms-grid-row-span:1;grid-row-end:3}}.woocommerce-settings-historical-data__columns .components-base-control__label,.woocommerce-settings-historical-data__columns .woocommerce-settings-historical-data__column-label{margin-bottom:12px}.woocommerce-settings-historical-data__columns .components-select-control__input{height:38px;padding:8px 2px}.woocommerce-settings-historical-data__columns .components-base-control__field{margin-bottom:0}.woocommerce-settings-historical-data__skip-checkbox{margin-top:24px}.woocommerce-settings-historical-data__skip-checkbox>.components-base-control__field{margin-bottom:0}.woocommerce-settings-historical-data__skip-checkbox>.components-base-control__field>.components-checkbox-control__label{display:inline-block;margin-bottom:0;width:auto}.woocommerce-setting__options-group input[type=checkbox]:checked:before{content:url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2020%2020%27%3E%3Cpath%20d%3D%27M14.83%204.89l1.34.94-5.81%208.38H9.02L5.78%209.67l1.34-1.25%202.57%202.4z%27%20fill%3D%27%23fff%27%2F%3E%3C%2Fsvg%3E")}.woocommerce-settings-historical-data__progress-label{display:inline-block;font-weight:700;margin-bottom:12px;margin-top:24px}.woocommerce-settings-historical-data__progress-label+.woocommerce-settings-historical-data__progress-label{margin-right:.25em}.woocommerce-settings-historical-data__progress-bar{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;height:8px;width:100%;background-color:#c4c4c4}.woocommerce-settings-historical-data__progress-bar::-moz-progress-bar{background-color:#0085ba}.woocommerce-settings-historical-data__progress-bar::-webkit-progress-bar{background-color:#c4c4c4}.woocommerce-settings-historical-data__progress-bar::-webkit-progress-value{background-color:#0085ba}.woocommerce-settings-historical-data__status{display:block;font-weight:700;margin-top:24px}.woocommerce-settings-historical-data__status>.components-spinner{float:none;height:12px;margin-right:6px;margin-left:6px;width:12px}.woocommerce-settings-historical-data__status>.components-spinner:before{right:2px;height:3px;top:2px;transform-origin:4px 4px;width:3px}.woocommerce-settings-historical-data__actions{align-items:center;display:flex}
\ No newline at end of file
diff --git a/dist/analytics-settings/style.css b/dist/analytics-settings/style.css
new file mode 100644
index 00000000000..d30baf196b7
--- /dev/null
+++ b/dist/analytics-settings/style.css
@@ -0,0 +1 @@
+@media (min-width:783px){.woocommerce-settings__wrapper{padding:0 13px}}.woocommerce-settings__actions{margin-bottom:40px}@media (min-width:1281px){.woocommerce-settings__actions{margin-left:15%}}.woocommerce-settings__actions button{margin-right:16px}.woocommerce-setting{display:flex;margin-bottom:24px}@media (max-width:1280px){.woocommerce-setting{flex-direction:column}}.woocommerce-setting__label{font-size:16px;font-size:1rem;margin-bottom:16px;padding-right:16px;font-weight:700}@media (min-width:1281px){.woocommerce-setting__label{width:15%}}.woocommerce-setting__input{display:flex;flex-direction:column}@media (min-width:1281px){.woocommerce-setting__input{width:35%}.woocommerce-setting__input .woocommerce-filters-filter{width:100%}}.woocommerce-setting__input label{width:100%;display:block;margin-bottom:12px;color:#555d66}.woocommerce-setting__input .woocommerce-filters-filter label{margin-bottom:0}.woocommerce-setting__input input[type=checkbox]{margin-right:12px}.woocommerce-setting__input button{margin-bottom:12px;align-self:flex-start}.woocommerce-setting__options-group-label{display:block;font-weight:700;margin-bottom:12px}.woocommerce-setting__help{font-style:italic;color:#6c7781}.woocommerce-settings-historical-data__columns{display:-ms-grid;display:grid;grid-column-gap:24px;-ms-grid-columns:calc(50% - 12px) calc(50% - 12px);grid-template-columns:calc(50% - 12px) calc(50% - 12px)}.woocommerce-settings-historical-data__columns .woocommerce-settings-historical-data__column{-ms-grid-row-align:end;align-self:end;margin-top:12px}.woocommerce-settings-historical-data__columns .woocommerce-settings-historical-data__column:first-child{-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:1;grid-column-end:2;-ms-grid-row:1;grid-row-start:1;-ms-grid-row-span:1;grid-row-end:2}.woocommerce-settings-historical-data__columns .woocommerce-settings-historical-data__column:nth-child(2){-ms-grid-column:2;grid-column-start:2;-ms-grid-column-span:1;grid-column-end:3;-ms-grid-row:1;grid-row-start:1;-ms-grid-row-span:1;grid-row-end:2}@media (max-width:960px){.woocommerce-settings-historical-data__columns{-ms-grid-columns:100%;grid-template-columns:100%}.woocommerce-settings-historical-data__columns .woocommerce-settings-historical-data__column:first-child{-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:1;grid-column-end:2;-ms-grid-row:1;grid-row-start:1;-ms-grid-row-span:1;grid-row-end:2}.woocommerce-settings-historical-data__columns .woocommerce-settings-historical-data__column:nth-child(2){-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:1;grid-column-end:2;-ms-grid-row:2;grid-row-start:2;-ms-grid-row-span:1;grid-row-end:3}}.woocommerce-settings-historical-data__columns .components-base-control__label,.woocommerce-settings-historical-data__columns .woocommerce-settings-historical-data__column-label{margin-bottom:12px}.woocommerce-settings-historical-data__columns .components-select-control__input{height:38px;padding:8px 2px}.woocommerce-settings-historical-data__columns .components-base-control__field{margin-bottom:0}.woocommerce-settings-historical-data__skip-checkbox{margin-top:24px}.woocommerce-settings-historical-data__skip-checkbox>.components-base-control__field{margin-bottom:0}.woocommerce-settings-historical-data__skip-checkbox>.components-base-control__field>.components-checkbox-control__label{display:inline-block;margin-bottom:0;width:auto}.woocommerce-setting__options-group input[type=checkbox]:checked:before{content:url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2020%2020%27%3E%3Cpath%20d%3D%27M14.83%204.89l1.34.94-5.81%208.38H9.02L5.78%209.67l1.34-1.25%202.57%202.4z%27%20fill%3D%27%23fff%27%2F%3E%3C%2Fsvg%3E")}.woocommerce-settings-historical-data__progress-label{display:inline-block;font-weight:700;margin-bottom:12px;margin-top:24px}.woocommerce-settings-historical-data__progress-label+.woocommerce-settings-historical-data__progress-label{margin-left:.25em}.woocommerce-settings-historical-data__progress-bar{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;height:8px;width:100%;background-color:#c4c4c4}.woocommerce-settings-historical-data__progress-bar::-moz-progress-bar{background-color:#0085ba}.woocommerce-settings-historical-data__progress-bar::-webkit-progress-bar{background-color:#c4c4c4}.woocommerce-settings-historical-data__progress-bar::-webkit-progress-value{background-color:#0085ba}.woocommerce-settings-historical-data__status{display:block;font-weight:700;margin-top:24px}.woocommerce-settings-historical-data__status>.components-spinner{float:none;height:12px;margin-left:6px;margin-right:6px;width:12px}.woocommerce-settings-historical-data__status>.components-spinner:before{left:2px;height:3px;top:2px;transform-origin:4px 4px;width:3px}.woocommerce-settings-historical-data__actions{align-items:center;display:flex}
\ No newline at end of file
diff --git a/dist/app/index.js b/dist/app/index.js
new file mode 100644
index 00000000000..676e0c210b6
--- /dev/null
+++ b/dist/app/index.js
@@ -0,0 +1,23316 @@
+this["wc"] = this["wc"] || {}; this["wc"]["app"] =
+/******/ (function(modules) { // webpackBootstrap
+/******/ // install a JSONP callback for chunk loading
+/******/ function webpackJsonpCallback(data) {
+/******/ var chunkIds = data[0];
+/******/ var moreModules = data[1];
+/******/
+/******/
+/******/ // add "moreModules" to the modules object,
+/******/ // then flag all "chunkIds" as loaded and fire callback
+/******/ var moduleId, chunkId, i = 0, resolves = [];
+/******/ for(;i < chunkIds.length; i++) {
+/******/ chunkId = chunkIds[i];
+/******/ if(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {
+/******/ resolves.push(installedChunks[chunkId][0]);
+/******/ }
+/******/ installedChunks[chunkId] = 0;
+/******/ }
+/******/ for(moduleId in moreModules) {
+/******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
+/******/ modules[moduleId] = moreModules[moduleId];
+/******/ }
+/******/ }
+/******/ if(parentJsonpFunction) parentJsonpFunction(data);
+/******/
+/******/ while(resolves.length) {
+/******/ resolves.shift()();
+/******/ }
+/******/
+/******/ };
+/******/
+/******/
+/******/ // The module cache
+/******/ var installedModules = {};
+/******/
+/******/ // object to store loaded CSS chunks
+/******/ var installedCssChunks = {
+/******/ 19: 0
+/******/ }
+/******/
+/******/ // object to store loaded and loading chunks
+/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
+/******/ // Promise = chunk loading, 0 = chunk loaded
+/******/ var installedChunks = {
+/******/ 19: 0
+/******/ };
+/******/
+/******/
+/******/
+/******/ // script path function
+/******/ function jsonpScriptSrc(chunkId) {
+/******/ return __webpack_require__.p + "chunks/" + ({"0":"analytics-report-categories~analytics-report-coupons~analytics-report-customers~analytics-report-dow~99eefb40","1":"vendors~analytics-report-categories~analytics-report-coupons~analytics-report-downloads~analytics-re~2579715d","2":"vendors~activity-panels-inbox~activity-panels-orders~activity-panels-stock~dashboard-charts~devdocs~~f6270017","3":"vendors~activity-panels-inbox~leaderboards~store-alerts~task-list","4":"analytics-report-categories~analytics-report-products","5":"vendors~profile-wizard~task-list","6":"activity-panels-inbox","7":"activity-panels-orders","8":"activity-panels-stock","9":"analytics-report-categories","10":"analytics-report-coupons","11":"analytics-report-customers","12":"analytics-report-downloads","13":"analytics-report-orders","14":"analytics-report-products","15":"analytics-report-revenue","16":"analytics-report-stock","17":"analytics-report-taxes","18":"analytics-settings","23":"customizable-dashboard","24":"dashboard","25":"dashboard-charts","28":"devdocs","29":"homepage","31":"leaderboards","32":"marketing-overview","40":"profile-wizard","41":"store-alerts","42":"store-performance","43":"task-list","44":"vendors~devdocs","45":"vendors~marketing-overview"}[chunkId]||chunkId) + "." + {"0":"461e5718e712fc637f8d","1":"b4847f391ea34c64503d","2":"20e4990156e0a34c18b0","3":"dd09e8a86b0bcaa9aff7","4":"e31f660a92b0aaf484ea","5":"114a8214ba34dbd3c0f0","6":"d778ee044369d27719e0","7":"03bce387983e598295fa","8":"4f4e0f926f920a653099","9":"2fb0556451942bfbfa96","10":"4c4c6b79fa3e16daf624","11":"37de523262b0df41ff86","12":"7191d6b82a766d8772ee","13":"0b57ecec97f70fa238eb","14":"6b1a268333688c4b41a9","15":"8c233563b2230669fb1f","16":"01e7040b7f0e196e8129","17":"6ab663abefa97569bb56","18":"5be0a529e94eb8e85ea7","23":"6f12fadc21b5ed6566aa","24":"35da37d6f7f5a413e7f7","25":"9eb2d5d4d569e8cb81a3","28":"6fe086c6992ba41e679a","29":"a9dfdc35bddd3d3b6246","31":"6ebf410fa2e671dfada5","32":"b6047d897bbd2208cd37","40":"5f293dc41bd478f9a580","41":"75c1c866910a9d4a64bc","42":"f97eae21bc823553bd16","43":"396c743bbcd65bd90ccc","44":"66c75ad9a415f473d186","45":"d1653cdc07670674a95f"}[chunkId] + ".js"
+/******/ }
+/******/
+/******/ // The require function
+/******/ function __webpack_require__(moduleId) {
+/******/
+/******/ // Check if module is in cache
+/******/ if(installedModules[moduleId]) {
+/******/ return installedModules[moduleId].exports;
+/******/ }
+/******/ // Create a new module (and put it into the cache)
+/******/ var module = installedModules[moduleId] = {
+/******/ i: moduleId,
+/******/ l: false,
+/******/ exports: {}
+/******/ };
+/******/
+/******/ // Execute the module function
+/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
+/******/
+/******/ // Flag the module as loaded
+/******/ module.l = true;
+/******/
+/******/ // Return the exports of the module
+/******/ return module.exports;
+/******/ }
+/******/
+/******/ // This file contains only the entry chunk.
+/******/ // The chunk loading function for additional chunks
+/******/ __webpack_require__.e = function requireEnsure(chunkId) {
+/******/ var promises = [];
+/******/
+/******/
+/******/ // mini-css-extract-plugin CSS loading
+/******/ var cssChunks = {"0":1,"4":1,"6":1,"7":1,"8":1,"13":1,"18":1,"24":1,"25":1,"28":1,"31":1,"32":1,"40":1,"41":1,"42":1,"43":1};
+/******/ if(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);
+/******/ else if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {
+/******/ promises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {
+/******/ var href = "./" + ({"0":"analytics-report-categories~analytics-report-coupons~analytics-report-customers~analytics-report-dow~99eefb40","1":"vendors~analytics-report-categories~analytics-report-coupons~analytics-report-downloads~analytics-re~2579715d","2":"vendors~activity-panels-inbox~activity-panels-orders~activity-panels-stock~dashboard-charts~devdocs~~f6270017","3":"vendors~activity-panels-inbox~leaderboards~store-alerts~task-list","4":"analytics-report-categories~analytics-report-products","5":"vendors~profile-wizard~task-list","6":"activity-panels-inbox","7":"activity-panels-orders","8":"activity-panels-stock","9":"analytics-report-categories","10":"analytics-report-coupons","11":"analytics-report-customers","12":"analytics-report-downloads","13":"analytics-report-orders","14":"analytics-report-products","15":"analytics-report-revenue","16":"analytics-report-stock","17":"analytics-report-taxes","18":"analytics-settings","23":"customizable-dashboard","24":"dashboard","25":"dashboard-charts","28":"devdocs","29":"homepage","31":"leaderboards","32":"marketing-overview","40":"profile-wizard","41":"store-alerts","42":"store-performance","43":"task-list","44":"vendors~devdocs","45":"vendors~marketing-overview"}[chunkId]||chunkId) + "/style.css";
+/******/ var fullhref = __webpack_require__.p + href;
+/******/ var existingLinkTags = document.getElementsByTagName("link");
+/******/ for(var i = 0; i < existingLinkTags.length; i++) {
+/******/ var tag = existingLinkTags[i];
+/******/ var dataHref = tag.getAttribute("data-href") || tag.getAttribute("href");
+/******/ if(tag.rel === "stylesheet" && (dataHref === href || dataHref === fullhref)) return resolve();
+/******/ }
+/******/ var existingStyleTags = document.getElementsByTagName("style");
+/******/ for(var i = 0; i < existingStyleTags.length; i++) {
+/******/ var tag = existingStyleTags[i];
+/******/ var dataHref = tag.getAttribute("data-href");
+/******/ if(dataHref === href || dataHref === fullhref) return resolve();
+/******/ }
+/******/ var linkTag = document.createElement("link");
+/******/ linkTag.rel = "stylesheet";
+/******/ linkTag.type = "text/css";
+/******/ linkTag.onload = resolve;
+/******/ linkTag.onerror = function(event) {
+/******/ var request = event && event.target && event.target.src || fullhref;
+/******/ var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + request + ")");
+/******/ err.code = "CSS_CHUNK_LOAD_FAILED";
+/******/ err.request = request;
+/******/ delete installedCssChunks[chunkId]
+/******/ linkTag.parentNode.removeChild(linkTag)
+/******/ reject(err);
+/******/ };
+/******/ linkTag.href = fullhref;
+/******/
+/******/ var head = document.getElementsByTagName("head")[0];
+/******/ head.appendChild(linkTag);
+/******/ }).then(function() {
+/******/ installedCssChunks[chunkId] = 0;
+/******/ }));
+/******/ }
+/******/
+/******/ // JSONP chunk loading for javascript
+/******/
+/******/ var installedChunkData = installedChunks[chunkId];
+/******/ if(installedChunkData !== 0) { // 0 means "already installed".
+/******/
+/******/ // a Promise means "currently loading".
+/******/ if(installedChunkData) {
+/******/ promises.push(installedChunkData[2]);
+/******/ } else {
+/******/ // setup Promise in chunk cache
+/******/ var promise = new Promise(function(resolve, reject) {
+/******/ installedChunkData = installedChunks[chunkId] = [resolve, reject];
+/******/ });
+/******/ promises.push(installedChunkData[2] = promise);
+/******/
+/******/ // start chunk loading
+/******/ var script = document.createElement('script');
+/******/ var onScriptComplete;
+/******/
+/******/ script.charset = 'utf-8';
+/******/ script.timeout = 120;
+/******/ if (__webpack_require__.nc) {
+/******/ script.setAttribute("nonce", __webpack_require__.nc);
+/******/ }
+/******/ script.src = jsonpScriptSrc(chunkId);
+/******/
+/******/ // create error before stack unwound to get useful stacktrace later
+/******/ var error = new Error();
+/******/ onScriptComplete = function (event) {
+/******/ // avoid mem leaks in IE.
+/******/ script.onerror = script.onload = null;
+/******/ clearTimeout(timeout);
+/******/ var chunk = installedChunks[chunkId];
+/******/ if(chunk !== 0) {
+/******/ if(chunk) {
+/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type);
+/******/ var realSrc = event && event.target && event.target.src;
+/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')';
+/******/ error.name = 'ChunkLoadError';
+/******/ error.type = errorType;
+/******/ error.request = realSrc;
+/******/ chunk[1](error);
+/******/ }
+/******/ installedChunks[chunkId] = undefined;
+/******/ }
+/******/ };
+/******/ var timeout = setTimeout(function(){
+/******/ onScriptComplete({ type: 'timeout', target: script });
+/******/ }, 120000);
+/******/ script.onerror = script.onload = onScriptComplete;
+/******/ document.head.appendChild(script);
+/******/ }
+/******/ }
+/******/ return Promise.all(promises);
+/******/ };
+/******/
+/******/ // expose the modules object (__webpack_modules__)
+/******/ __webpack_require__.m = modules;
+/******/
+/******/ // expose the module cache
+/******/ __webpack_require__.c = installedModules;
+/******/
+/******/ // define getter function for harmony exports
+/******/ __webpack_require__.d = function(exports, name, getter) {
+/******/ if(!__webpack_require__.o(exports, name)) {
+/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
+/******/ }
+/******/ };
+/******/
+/******/ // define __esModule on exports
+/******/ __webpack_require__.r = function(exports) {
+/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
+/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
+/******/ }
+/******/ Object.defineProperty(exports, '__esModule', { value: true });
+/******/ };
+/******/
+/******/ // create a fake namespace object
+/******/ // mode & 1: value is a module id, require it
+/******/ // mode & 2: merge all properties of value into the ns
+/******/ // mode & 4: return value when already ns object
+/******/ // mode & 8|1: behave like require
+/******/ __webpack_require__.t = function(value, mode) {
+/******/ if(mode & 1) value = __webpack_require__(value);
+/******/ if(mode & 8) return value;
+/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
+/******/ var ns = Object.create(null);
+/******/ __webpack_require__.r(ns);
+/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
+/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
+/******/ return ns;
+/******/ };
+/******/
+/******/ // getDefaultExport function for compatibility with non-harmony modules
+/******/ __webpack_require__.n = function(module) {
+/******/ var getter = module && module.__esModule ?
+/******/ function getDefault() { return module['default']; } :
+/******/ function getModuleExports() { return module; };
+/******/ __webpack_require__.d(getter, 'a', getter);
+/******/ return getter;
+/******/ };
+/******/
+/******/ // Object.prototype.hasOwnProperty.call
+/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
+/******/
+/******/ // __webpack_public_path__
+/******/ __webpack_require__.p = "";
+/******/
+/******/ // on error function for async loading
+/******/ __webpack_require__.oe = function(err) { console.error(err); throw err; };
+/******/
+/******/ var jsonpArray = window["webpackJsonp"] = window["webpackJsonp"] || [];
+/******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray);
+/******/ jsonpArray.push = webpackJsonpCallback;
+/******/ jsonpArray = jsonpArray.slice();
+/******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);
+/******/ var parentJsonpFunction = oldJsonpFunction;
+/******/
+/******/
+/******/ // Load entry module and return exports
+/******/ return __webpack_require__(__webpack_require__.s = 430);
+/******/ })
+/************************************************************************/
+/******/ ({
+
+/***/ 0:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wp"]["element"]; }());
+
+/***/ }),
+
+/***/ 1:
+/***/ (function(module, exports, __webpack_require__) {
+
+/**
+ * Copyright (c) 2013-present, Facebook, Inc.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+if (false) { var throwOnDirectAccess, ReactIs; } else {
+ // By explicitly using `prop-types` you are opting into new production behavior.
+ // http://fb.me/prop-types-in-prod
+ module.exports = __webpack_require__(138)();
+}
+
+
+/***/ }),
+
+/***/ 10:
+/***/ (function(module, exports, __webpack_require__) {
+
+/*!
+ Copyright (c) 2017 Jed Watson.
+ Licensed under the MIT License (MIT), see
+ http://jedwatson.github.io/classnames
+*/
+/* global define */
+
+(function () {
+ 'use strict';
+
+ var hasOwn = {}.hasOwnProperty;
+
+ function classNames () {
+ var classes = [];
+
+ for (var i = 0; i < arguments.length; i++) {
+ var arg = arguments[i];
+ if (!arg) continue;
+
+ var argType = typeof arg;
+
+ if (argType === 'string' || argType === 'number') {
+ classes.push(arg);
+ } else if (Array.isArray(arg) && arg.length) {
+ var inner = classNames.apply(null, arg);
+ if (inner) {
+ classes.push(inner);
+ }
+ } else if (argType === 'object') {
+ for (var key in arg) {
+ if (hasOwn.call(arg, key) && arg[key]) {
+ classes.push(key);
+ }
+ }
+ }
+ }
+
+ return classes.join(' ');
+ }
+
+ if ( true && module.exports) {
+ classNames.default = classNames;
+ module.exports = classNames;
+ } else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {
+ // register as 'classnames', consistent with npm package name
+ define('classnames', [], function () {
+ return classNames;
+ });
+ } else {
+ window.classNames = classNames;
+ }
+}());
+
+
+/***/ }),
+
+/***/ 100:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_1__);
+
+
+/**
+ * External dependencies
+ */
+
+
+function Shortcut(_ref) {
+ var shortcut = _ref.shortcut,
+ className = _ref.className;
+
+ if (!shortcut) {
+ return null;
+ }
+
+ var displayText;
+ var ariaLabel;
+
+ if (Object(lodash__WEBPACK_IMPORTED_MODULE_1__["isString"])(shortcut)) {
+ displayText = shortcut;
+ }
+
+ if (Object(lodash__WEBPACK_IMPORTED_MODULE_1__["isObject"])(shortcut)) {
+ displayText = shortcut.display;
+ ariaLabel = shortcut.ariaLabel;
+ }
+
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("span", {
+ className: className,
+ "aria-label": ariaLabel
+ }, displayText);
+}
+
+/* harmony default export */ __webpack_exports__["a"] = (Shortcut);
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 101:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(105);
+/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(41);
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(40);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(59);
+/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(44);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(29);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(42);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_8__);
+/* harmony import */ var _wordpress_is_shallow_equal__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(77);
+/* harmony import */ var _wordpress_is_shallow_equal__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_wordpress_is_shallow_equal__WEBPACK_IMPORTED_MODULE_9__);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(53);
+/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(19);
+/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_11__);
+
+
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * NOTE: This is temporary code. It exists only until a version of `@wordpress/data`
+ * is released which supports this functionality.
+ *
+ * @todo Remove this and use `@wordpress/data` `withSelect` instead after
+ * this PR is merged: https://github.com/WordPress/gutenberg/pull/11460
+ */
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+/**
+ * Higher-order component used to inject state-derived props using registered
+ * selectors.
+ *
+ * @param {Function} mapSelectToProps Function called on every state change,
+ * expected to return object of props to
+ * merge with the component's own props.
+ *
+ * @return {Component} Enhanced component with merged state data props.
+ */
+
+var withSelect = function withSelect(mapSelectToProps) {
+ return Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_10__[/* default */ "a"])(function (WrappedComponent) {
+ /**
+ * Default merge props. A constant value is used as the fallback since it
+ * can be more efficiently shallow compared in case component is repeatedly
+ * rendered without its own merge props.
+ *
+ * @type {Object}
+ */
+ var DEFAULT_MERGE_PROPS = {};
+
+ var ComponentWithSelect = /*#__PURE__*/function (_Component) {
+ _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default()(ComponentWithSelect, _Component);
+
+ var _super = _createSuper(ComponentWithSelect);
+
+ function ComponentWithSelect(props) {
+ var _this;
+
+ _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, ComponentWithSelect);
+
+ _this = _super.call(this, props);
+ _this.onStoreChange = _this.onStoreChange.bind(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_3___default()(_this));
+
+ _this.subscribe(props.registry);
+
+ _this.onUnmounts = {};
+ _this.mergeProps = _this.getNextMergeProps(props);
+ return _this;
+ }
+ /**
+ * Given a props object, returns the next merge props by mapSelectToProps.
+ *
+ * @param {Object} props Props to pass as argument to mapSelectToProps.
+ *
+ * @return {Object} Props to merge into rendered wrapped element.
+ */
+
+
+ _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(ComponentWithSelect, [{
+ key: "getNextMergeProps",
+ value: function getNextMergeProps(props) {
+ var _this2 = this;
+
+ var storeSelectors = {};
+ var onCompletes = [];
+ var componentContext = {
+ component: this
+ };
+
+ var getStoreFromRegistry = function getStoreFromRegistry(key, registry, context) {
+ // This is our first time selecting from this store.
+ // Do some lazy-loading of handling at this time.
+ var selectorsForKey = registry.select(key);
+
+ if (Object(lodash__WEBPACK_IMPORTED_MODULE_8__["isFunction"])(selectorsForKey)) {
+ // This store has special handling for its selectors.
+ // We give it a context, and we check for a "resolve"
+ var _selectorsForKey = selectorsForKey(context),
+ selectors = _selectorsForKey.selectors,
+ onComplete = _selectorsForKey.onComplete,
+ onUnmount = _selectorsForKey.onUnmount;
+
+ if (onComplete) {
+ onCompletes.push(onComplete);
+ }
+
+ if (onUnmount) {
+ _this2.onUnmounts[key] = onUnmount;
+ }
+
+ storeSelectors[key] = selectors;
+ } else {
+ storeSelectors[key] = selectorsForKey;
+ }
+ };
+
+ var select = function select(key) {
+ if (!storeSelectors[key]) {
+ getStoreFromRegistry(key, props.registry, componentContext);
+ }
+
+ return storeSelectors[key];
+ };
+
+ var selectedProps = mapSelectToProps(select, props.ownProps) || DEFAULT_MERGE_PROPS; // Complete the select for those stores which support it.
+
+ onCompletes.forEach(function (onComplete) {
+ return onComplete();
+ });
+ return selectedProps;
+ }
+ }, {
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ this.canRunSelection = true; // A state change may have occurred between the constructor and
+ // mount of the component (e.g. during the wrapped component's own
+ // constructor), in which case selection should be rerun.
+
+ if (this.hasQueuedSelection) {
+ this.hasQueuedSelection = false;
+ this.onStoreChange();
+ }
+ }
+ }, {
+ key: "componentWillUnmount",
+ value: function componentWillUnmount() {
+ var _this3 = this;
+
+ this.canRunSelection = false;
+ this.unsubscribe();
+ Object.keys(this.onUnmounts).forEach(function (key) {
+ return _this3.onUnmounts[key]();
+ });
+ }
+ }, {
+ key: "shouldComponentUpdate",
+ value: function shouldComponentUpdate(nextProps, nextState) {
+ // Cycle subscription if registry changes.
+ var hasRegistryChanged = nextProps.registry !== this.props.registry;
+
+ if (hasRegistryChanged) {
+ this.unsubscribe();
+ this.subscribe(nextProps.registry);
+ } // Treat a registry change as equivalent to `ownProps`, to reflect
+ // `mergeProps` to rendered component if and only if updated.
+
+
+ var hasPropsChanged = hasRegistryChanged || !_wordpress_is_shallow_equal__WEBPACK_IMPORTED_MODULE_9___default()(this.props.ownProps, nextProps.ownProps); // Only render if props have changed or merge props have been updated
+ // from the store subscriber.
+
+ if (this.state === nextState && !hasPropsChanged) {
+ return false;
+ }
+
+ if (hasPropsChanged) {
+ var nextMergeProps = this.getNextMergeProps(nextProps);
+
+ if (!_wordpress_is_shallow_equal__WEBPACK_IMPORTED_MODULE_9___default()(this.mergeProps, nextMergeProps)) {
+ // If merge props change as a result of the incoming props,
+ // they should be reflected as such in the upcoming render.
+ // While side effects are discouraged in lifecycle methods,
+ // this component is used heavily, and prior efforts to use
+ // `getDerivedStateFromProps` had demonstrated miserable
+ // performance.
+ this.mergeProps = nextMergeProps;
+ } // Regardless whether merge props are changing, fall through to
+ // incur the render since the component will need to receive
+ // the changed `ownProps`.
+
+ }
+
+ return true;
+ }
+ }, {
+ key: "onStoreChange",
+ value: function onStoreChange() {
+ if (!this.canRunSelection) {
+ this.hasQueuedSelection = true;
+ return;
+ }
+
+ var nextMergeProps = this.getNextMergeProps(this.props);
+
+ if (_wordpress_is_shallow_equal__WEBPACK_IMPORTED_MODULE_9___default()(this.mergeProps, nextMergeProps)) {
+ return;
+ }
+
+ this.mergeProps = nextMergeProps; // Schedule an update. Merge props are not assigned to state since
+ // derivation of merge props from incoming props occurs within
+ // shouldComponentUpdate, where setState is not allowed. setState
+ // is used here instead of forceUpdate because forceUpdate bypasses
+ // shouldComponentUpdate altogether, which isn't desireable if both
+ // state and props change within the same render. Unfortunately,
+ // this requires that next merge props are generated twice.
+
+ this.setState({});
+ }
+ }, {
+ key: "subscribe",
+ value: function subscribe(registry) {
+ this.unsubscribe = registry.subscribe(this.onStoreChange);
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__["createElement"])(WrappedComponent, _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, this.props.ownProps, this.mergeProps));
+ }
+ }]);
+
+ return ComponentWithSelect;
+ }(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__["Component"]);
+
+ return function (ownProps) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__["createElement"])(_wordpress_data__WEBPACK_IMPORTED_MODULE_11__["RegistryConsumer"], null, function (registry) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__["createElement"])(ComponentWithSelect, {
+ ownProps: ownProps,
+ registry: registry
+ });
+ });
+ };
+ }, 'withSelect');
+};
+
+/* harmony default export */ __webpack_exports__["a"] = (withSelect);
+
+/***/ }),
+
+/***/ 104:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _woocommerce_date__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(23);
+/* harmony import */ var _woocommerce_date__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_date__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "k", function() { return _woocommerce_date__WEBPACK_IMPORTED_MODULE_0__["isoDateFormat"]; });
+
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _woocommerce_date__WEBPACK_IMPORTED_MODULE_0__["appendTimestamp"]; });
+
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "h", function() { return _woocommerce_date__WEBPACK_IMPORTED_MODULE_0__["getDateParamsFromQuery"]; });
+
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "f", function() { return _woocommerce_date__WEBPACK_IMPORTED_MODULE_0__["getCurrentDates"]; });
+
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "j", function() { return _woocommerce_date__WEBPACK_IMPORTED_MODULE_0__["getPreviousDate"]; });
+
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "d", function() { return _woocommerce_date__WEBPACK_IMPORTED_MODULE_0__["getAllowedIntervalsForQuery"]; });
+
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "i", function() { return _woocommerce_date__WEBPACK_IMPORTED_MODULE_0__["getIntervalForQuery"]; });
+
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "e", function() { return _woocommerce_date__WEBPACK_IMPORTED_MODULE_0__["getChartTypeForQuery"]; });
+
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "c", function() { return _woocommerce_date__WEBPACK_IMPORTED_MODULE_0__["defaultTableDateFormat"]; });
+
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "g", function() { return _woocommerce_date__WEBPACK_IMPORTED_MODULE_0__["getDateFormatsForInterval"]; });
+
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "b", function() { return _woocommerce_date__WEBPACK_IMPORTED_MODULE_0__["dateValidationMessages"]; });
+
+/**
+ * External dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+/**
+ * WooCommerce dependencies
+ */
+ // Export the expected API for the consuming app.
+
+
+
+/***/ }),
+
+/***/ 105:
+/***/ (function(module, exports) {
+
+function _extends() {
+ module.exports = _extends = Object.assign || function (target) {
+ for (var i = 1; i < arguments.length; i++) {
+ var source = arguments[i];
+
+ for (var key in source) {
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
+ target[key] = source[key];
+ }
+ }
+ }
+
+ return target;
+ };
+
+ return _extends.apply(this, arguments);
+}
+
+module.exports = _extends;
+
+/***/ }),
+
+/***/ 106:
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+/**
+ * Copyright (c) 2013-present, Facebook, Inc.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ *
+ *
+ */
+
+function makeEmptyFunction(arg) {
+ return function () {
+ return arg;
+ };
+}
+
+/**
+ * This function accepts and discards inputs; it has no side effects. This is
+ * primarily useful idiomatically for overridable function endpoints which
+ * always need to be callable, since JS lacks a null-call idiom ala Cocoa.
+ */
+var emptyFunction = function emptyFunction() {};
+
+emptyFunction.thatReturns = makeEmptyFunction;
+emptyFunction.thatReturnsFalse = makeEmptyFunction(false);
+emptyFunction.thatReturnsTrue = makeEmptyFunction(true);
+emptyFunction.thatReturnsNull = makeEmptyFunction(null);
+emptyFunction.thatReturnsThis = function () {
+ return this;
+};
+emptyFunction.thatReturnsArgument = function (arg) {
+ return arg;
+};
+
+module.exports = emptyFunction;
+
+/***/ }),
+
+/***/ 107:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export isHorizontalEdge */
+/* unused harmony export isVerticalEdge */
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getRectangleFromRange; });
+/* unused harmony export computeCaretRect */
+/* unused harmony export placeCaretAtHorizontalEdge */
+/* unused harmony export placeCaretAtVerticalEdge */
+/* unused harmony export isTextField */
+/* unused harmony export documentHasSelection */
+/* unused harmony export isEntirelySelected */
+/* unused harmony export getScrollContainer */
+/* unused harmony export getOffsetParent */
+/* unused harmony export replace */
+/* unused harmony export remove */
+/* unused harmony export insertAfter */
+/* unused harmony export unwrap */
+/* unused harmony export replaceTag */
+/* unused harmony export wrap */
+/* unused harmony export __unstableStripHTML */
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__);
+/**
+ * External dependencies
+ */
+
+/**
+ * Browser dependencies
+ */
+
+var _window = window,
+ DOMParser = _window.DOMParser,
+ getComputedStyle = _window.getComputedStyle;
+var _window$Node = window.Node,
+ TEXT_NODE = _window$Node.TEXT_NODE,
+ ELEMENT_NODE = _window$Node.ELEMENT_NODE,
+ DOCUMENT_POSITION_PRECEDING = _window$Node.DOCUMENT_POSITION_PRECEDING,
+ DOCUMENT_POSITION_FOLLOWING = _window$Node.DOCUMENT_POSITION_FOLLOWING;
+/**
+ * Returns true if the given selection object is in the forward direction, or
+ * false otherwise.
+ *
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPosition
+ *
+ * @param {Selection} selection Selection object to check.
+ *
+ * @return {boolean} Whether the selection is forward.
+ */
+
+function isSelectionForward(selection) {
+ var anchorNode = selection.anchorNode,
+ focusNode = selection.focusNode,
+ anchorOffset = selection.anchorOffset,
+ focusOffset = selection.focusOffset;
+ var position = anchorNode.compareDocumentPosition(focusNode); // Disable reason: `Node#compareDocumentPosition` returns a bitmask value,
+ // so bitwise operators are intended.
+
+ /* eslint-disable no-bitwise */
+ // Compare whether anchor node precedes focus node. If focus node (where
+ // end of selection occurs) is after the anchor node, it is forward.
+
+ if (position & DOCUMENT_POSITION_PRECEDING) {
+ return false;
+ }
+
+ if (position & DOCUMENT_POSITION_FOLLOWING) {
+ return true;
+ }
+ /* eslint-enable no-bitwise */
+ // `compareDocumentPosition` returns 0 when passed the same node, in which
+ // case compare offsets.
+
+
+ if (position === 0) {
+ return anchorOffset <= focusOffset;
+ } // This should never be reached, but return true as default case.
+
+
+ return true;
+}
+/**
+ * Check whether the selection is at the edge of the container. Checks for
+ * horizontal position by default. Set `onlyVertical` to true to check only
+ * vertically.
+ *
+ * @param {Element} container Focusable element.
+ * @param {boolean} isReverse Set to true to check left, false to check right.
+ * @param {boolean} onlyVertical Set to true to check only vertical position.
+ *
+ * @return {boolean} True if at the edge, false if not.
+ */
+
+
+function isEdge(container, isReverse, onlyVertical) {
+ if (Object(lodash__WEBPACK_IMPORTED_MODULE_0__["includes"])(['INPUT', 'TEXTAREA'], container.tagName)) {
+ if (container.selectionStart !== container.selectionEnd) {
+ return false;
+ }
+
+ if (isReverse) {
+ return container.selectionStart === 0;
+ }
+
+ return container.value.length === container.selectionStart;
+ }
+
+ if (!container.isContentEditable) {
+ return true;
+ }
+
+ var selection = window.getSelection();
+
+ if (!selection.rangeCount) {
+ return false;
+ }
+
+ var originalRange = selection.getRangeAt(0);
+ var range = originalRange.cloneRange();
+ var isForward = isSelectionForward(selection);
+ var isCollapsed = selection.isCollapsed; // Collapse in direction of selection.
+
+ if (!isCollapsed) {
+ range.collapse(!isForward);
+ }
+
+ var rangeRect = getRectangleFromRange(range);
+
+ if (!rangeRect) {
+ return false;
+ }
+
+ var computedStyle = window.getComputedStyle(container);
+ var lineHeight = parseInt(computedStyle.lineHeight, 10) || 0; // Only consider the multiline selection at the edge if the direction is
+ // towards the edge.
+
+ if (!isCollapsed && rangeRect.height > lineHeight && isForward === isReverse) {
+ return false;
+ }
+
+ var padding = parseInt(computedStyle["padding".concat(isReverse ? 'Top' : 'Bottom')], 10) || 0; // Calculate a buffer that is half the line height. In some browsers, the
+ // selection rectangle may not fill the entire height of the line, so we add
+ // 3/4 the line height to the selection rectangle to ensure that it is well
+ // over its line boundary.
+
+ var buffer = 3 * parseInt(lineHeight, 10) / 4;
+ var containerRect = container.getBoundingClientRect();
+ var originalRangeRect = getRectangleFromRange(originalRange);
+ var verticalEdge = isReverse ? containerRect.top + padding > originalRangeRect.top - buffer : containerRect.bottom - padding < originalRangeRect.bottom + buffer;
+
+ if (!verticalEdge) {
+ return false;
+ }
+
+ if (onlyVertical) {
+ return true;
+ } // In the case of RTL scripts, the horizontal edge is at the opposite side.
+
+
+ var direction = computedStyle.direction;
+ var isReverseDir = direction === 'rtl' ? !isReverse : isReverse; // To calculate the horizontal position, we insert a test range and see if
+ // this test range has the same horizontal position. This method proves to
+ // be better than a DOM-based calculation, because it ignores empty text
+ // nodes and a trailing line break element. In other words, we need to check
+ // visual positioning, not DOM positioning.
+
+ var x = isReverseDir ? containerRect.left + 1 : containerRect.right - 1;
+ var y = isReverse ? containerRect.top + buffer : containerRect.bottom - buffer;
+ var testRange = hiddenCaretRangeFromPoint(document, x, y, container);
+
+ if (!testRange) {
+ return false;
+ }
+
+ var side = isReverseDir ? 'left' : 'right';
+ var testRect = getRectangleFromRange(testRange); // Allow the position to be 1px off.
+
+ return Math.abs(testRect[side] - rangeRect[side]) <= 1;
+}
+/**
+ * Check whether the selection is horizontally at the edge of the container.
+ *
+ * @param {Element} container Focusable element.
+ * @param {boolean} isReverse Set to true to check left, false for right.
+ *
+ * @return {boolean} True if at the horizontal edge, false if not.
+ */
+
+
+function isHorizontalEdge(container, isReverse) {
+ return isEdge(container, isReverse);
+}
+/**
+ * Check whether the selection is vertically at the edge of the container.
+ *
+ * @param {Element} container Focusable element.
+ * @param {boolean} isReverse Set to true to check top, false for bottom.
+ *
+ * @return {boolean} True if at the vertical edge, false if not.
+ */
+
+function isVerticalEdge(container, isReverse) {
+ return isEdge(container, isReverse, true);
+}
+/**
+ * Get the rectangle of a given Range.
+ *
+ * @param {Range} range The range.
+ *
+ * @return {DOMRect} The rectangle.
+ */
+
+function getRectangleFromRange(range) {
+ // For uncollapsed ranges, get the rectangle that bounds the contents of the
+ // range; this a rectangle enclosing the union of the bounding rectangles
+ // for all the elements in the range.
+ if (!range.collapsed) {
+ return range.getBoundingClientRect();
+ }
+
+ var _range = range,
+ startContainer = _range.startContainer; // Correct invalid "BR" ranges. The cannot contain any children.
+
+ if (startContainer.nodeName === 'BR') {
+ var parentNode = startContainer.parentNode;
+ var index = Array.from(parentNode.childNodes).indexOf(startContainer);
+ range = document.createRange();
+ range.setStart(parentNode, index);
+ range.setEnd(parentNode, index);
+ }
+
+ var rect = range.getClientRects()[0]; // If the collapsed range starts (and therefore ends) at an element node,
+ // `getClientRects` can be empty in some browsers. This can be resolved
+ // by adding a temporary text node with zero-width space to the range.
+ //
+ // See: https://stackoverflow.com/a/6847328/995445
+
+ if (!rect) {
+ var padNode = document.createTextNode("\u200B"); // Do not modify the live range.
+
+ range = range.cloneRange();
+ range.insertNode(padNode);
+ rect = range.getClientRects()[0];
+ padNode.parentNode.removeChild(padNode);
+ }
+
+ return rect;
+}
+/**
+ * Get the rectangle for the selection in a container.
+ *
+ * @return {?DOMRect} The rectangle.
+ */
+
+function computeCaretRect() {
+ var selection = window.getSelection();
+ var range = selection.rangeCount ? selection.getRangeAt(0) : null;
+
+ if (!range) {
+ return;
+ }
+
+ return getRectangleFromRange(range);
+}
+/**
+ * Places the caret at start or end of a given element.
+ *
+ * @param {Element} container Focusable element.
+ * @param {boolean} isReverse True for end, false for start.
+ */
+
+function placeCaretAtHorizontalEdge(container, isReverse) {
+ if (!container) {
+ return;
+ }
+
+ if (Object(lodash__WEBPACK_IMPORTED_MODULE_0__["includes"])(['INPUT', 'TEXTAREA'], container.tagName)) {
+ container.focus();
+
+ if (isReverse) {
+ container.selectionStart = container.value.length;
+ container.selectionEnd = container.value.length;
+ } else {
+ container.selectionStart = 0;
+ container.selectionEnd = 0;
+ }
+
+ return;
+ }
+
+ container.focus();
+
+ if (!container.isContentEditable) {
+ return;
+ } // Select on extent child of the container, not the container itself. This
+ // avoids the selection always being `endOffset` of 1 when placed at end,
+ // where `startContainer`, `endContainer` would always be container itself.
+
+
+ var rangeTarget = container[isReverse ? 'lastChild' : 'firstChild']; // If no range target, it implies that the container is empty. Focusing is
+ // sufficient for caret to be placed correctly.
+
+ if (!rangeTarget) {
+ return;
+ }
+
+ var selection = window.getSelection();
+ var range = document.createRange();
+ range.selectNodeContents(rangeTarget);
+ range.collapse(!isReverse);
+ selection.removeAllRanges();
+ selection.addRange(range);
+}
+/**
+ * Polyfill.
+ * Get a collapsed range for a given point.
+ *
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/caretRangeFromPoint
+ *
+ * @param {Document} doc The document of the range.
+ * @param {number} x Horizontal position within the current viewport.
+ * @param {number} y Vertical position within the current viewport.
+ *
+ * @return {?Range} The best range for the given point.
+ */
+
+function caretRangeFromPoint(doc, x, y) {
+ if (doc.caretRangeFromPoint) {
+ return doc.caretRangeFromPoint(x, y);
+ }
+
+ if (!doc.caretPositionFromPoint) {
+ return null;
+ }
+
+ var point = doc.caretPositionFromPoint(x, y); // If x or y are negative, outside viewport, or there is no text entry node.
+ // https://developer.mozilla.org/en-US/docs/Web/API/Document/caretRangeFromPoint
+
+ if (!point) {
+ return null;
+ }
+
+ var range = doc.createRange();
+ range.setStart(point.offsetNode, point.offset);
+ range.collapse(true);
+ return range;
+}
+/**
+ * Get a collapsed range for a given point.
+ * Gives the container a temporary high z-index (above any UI).
+ * This is preferred over getting the UI nodes and set styles there.
+ *
+ * @param {Document} doc The document of the range.
+ * @param {number} x Horizontal position within the current viewport.
+ * @param {number} y Vertical position within the current viewport.
+ * @param {Element} container Container in which the range is expected to be found.
+ *
+ * @return {?Range} The best range for the given point.
+ */
+
+
+function hiddenCaretRangeFromPoint(doc, x, y, container) {
+ var originalZIndex = container.style.zIndex;
+ var originalPosition = container.style.position; // A z-index only works if the element position is not static.
+
+ container.style.zIndex = '10000';
+ container.style.position = 'relative';
+ var range = caretRangeFromPoint(doc, x, y);
+ container.style.zIndex = originalZIndex;
+ container.style.position = originalPosition;
+ return range;
+}
+/**
+ * Places the caret at the top or bottom of a given element.
+ *
+ * @param {Element} container Focusable element.
+ * @param {boolean} isReverse True for bottom, false for top.
+ * @param {DOMRect} [rect] The rectangle to position the caret with.
+ * @param {boolean} [mayUseScroll=true] True to allow scrolling, false to disallow.
+ */
+
+
+function placeCaretAtVerticalEdge(container, isReverse, rect) {
+ var mayUseScroll = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
+
+ if (!container) {
+ return;
+ }
+
+ if (!rect || !container.isContentEditable) {
+ placeCaretAtHorizontalEdge(container, isReverse);
+ return;
+ } // Offset by a buffer half the height of the caret rect. This is needed
+ // because caretRangeFromPoint may default to the end of the selection if
+ // offset is too close to the edge. It's unclear how to precisely calculate
+ // this threshold; it may be the padded area of some combination of line
+ // height, caret height, and font size. The buffer offset is effectively
+ // equivalent to a point at half the height of a line of text.
+
+
+ var buffer = rect.height / 2;
+ var editableRect = container.getBoundingClientRect();
+ var x = rect.left;
+ var y = isReverse ? editableRect.bottom - buffer : editableRect.top + buffer;
+ var range = hiddenCaretRangeFromPoint(document, x, y, container);
+
+ if (!range || !container.contains(range.startContainer)) {
+ if (mayUseScroll && (!range || !range.startContainer || !range.startContainer.contains(container))) {
+ // Might be out of view.
+ // Easier than attempting to calculate manually.
+ container.scrollIntoView(isReverse);
+ placeCaretAtVerticalEdge(container, isReverse, rect, false);
+ return;
+ }
+
+ placeCaretAtHorizontalEdge(container, isReverse);
+ return;
+ }
+
+ var selection = window.getSelection();
+ selection.removeAllRanges();
+ selection.addRange(range);
+ container.focus(); // Editable was already focussed, it goes back to old range...
+ // This fixes it.
+
+ selection.removeAllRanges();
+ selection.addRange(range);
+}
+/**
+ * Check whether the given element is a text field, where text field is defined
+ * by the ability to select within the input, or that it is contenteditable.
+ *
+ * See: https://html.spec.whatwg.org/#textFieldSelection
+ *
+ * @param {HTMLElement} element The HTML element.
+ *
+ * @return {boolean} True if the element is an text field, false if not.
+ */
+
+function isTextField(element) {
+ try {
+ var nodeName = element.nodeName,
+ selectionStart = element.selectionStart,
+ contentEditable = element.contentEditable;
+ return nodeName === 'INPUT' && selectionStart !== null || nodeName === 'TEXTAREA' || contentEditable === 'true';
+ } catch (error) {
+ // Safari throws an exception when trying to get `selectionStart`
+ // on non-text elements (which, understandably, don't
+ // have the text selection API). We catch this via a try/catch
+ // block, as opposed to a more explicit check of the element's
+ // input types, because of Safari's non-standard behavior. This
+ // also means we don't have to worry about the list of input
+ // types that support `selectionStart` changing as the HTML spec
+ // evolves over time.
+ return false;
+ }
+}
+/**
+ * Check wether the current document has a selection.
+ * This checks both for focus in an input field and general text selection.
+ *
+ * @return {boolean} True if there is selection, false if not.
+ */
+
+function documentHasSelection() {
+ if (isTextField(document.activeElement)) {
+ return true;
+ }
+
+ var selection = window.getSelection();
+ var range = selection.rangeCount ? selection.getRangeAt(0) : null;
+ return range && !range.collapsed;
+}
+/**
+ * Check whether the contents of the element have been entirely selected.
+ * Returns true if there is no possibility of selection.
+ *
+ * @param {Element} element The element to check.
+ *
+ * @return {boolean} True if entirely selected, false if not.
+ */
+
+function isEntirelySelected(element) {
+ if (Object(lodash__WEBPACK_IMPORTED_MODULE_0__["includes"])(['INPUT', 'TEXTAREA'], element.nodeName)) {
+ return element.selectionStart === 0 && element.value.length === element.selectionEnd;
+ }
+
+ if (!element.isContentEditable) {
+ return true;
+ }
+
+ var selection = window.getSelection();
+ var range = selection.rangeCount ? selection.getRangeAt(0) : null;
+
+ if (!range) {
+ return true;
+ }
+
+ var startContainer = range.startContainer,
+ endContainer = range.endContainer,
+ startOffset = range.startOffset,
+ endOffset = range.endOffset;
+
+ if (startContainer === element && endContainer === element && startOffset === 0 && endOffset === element.childNodes.length) {
+ return true;
+ }
+
+ var lastChild = element.lastChild;
+ var lastChildContentLength = lastChild.nodeType === TEXT_NODE ? lastChild.data.length : lastChild.childNodes.length;
+ return startContainer === element.firstChild && endContainer === element.lastChild && startOffset === 0 && endOffset === lastChildContentLength;
+}
+/**
+ * Given a DOM node, finds the closest scrollable container node.
+ *
+ * @param {Element} node Node from which to start.
+ *
+ * @return {?Element} Scrollable container node, if found.
+ */
+
+function getScrollContainer(node) {
+ if (!node) {
+ return;
+ } // Scrollable if scrollable height exceeds displayed...
+
+
+ if (node.scrollHeight > node.clientHeight) {
+ // ...except when overflow is defined to be hidden or visible
+ var _window$getComputedSt = window.getComputedStyle(node),
+ overflowY = _window$getComputedSt.overflowY;
+
+ if (/(auto|scroll)/.test(overflowY)) {
+ return node;
+ }
+ } // Continue traversing
+
+
+ return getScrollContainer(node.parentNode);
+}
+/**
+ * Returns the closest positioned element, or null under any of the conditions
+ * of the offsetParent specification. Unlike offsetParent, this function is not
+ * limited to HTMLElement and accepts any Node (e.g. Node.TEXT_NODE).
+ *
+ * @see https://drafts.csswg.org/cssom-view/#dom-htmlelement-offsetparent
+ *
+ * @param {Node} node Node from which to find offset parent.
+ *
+ * @return {?Node} Offset parent.
+ */
+
+function getOffsetParent(node) {
+ // Cannot retrieve computed style or offset parent only anything other than
+ // an element node, so find the closest element node.
+ var closestElement;
+
+ while (closestElement = node.parentNode) {
+ if (closestElement.nodeType === ELEMENT_NODE) {
+ break;
+ }
+ }
+
+ if (!closestElement) {
+ return null;
+ } // If the closest element is already positioned, return it, as offsetParent
+ // does not otherwise consider the node itself.
+
+
+ if (getComputedStyle(closestElement).position !== 'static') {
+ return closestElement;
+ }
+
+ return closestElement.offsetParent;
+}
+/**
+ * Given two DOM nodes, replaces the former with the latter in the DOM.
+ *
+ * @param {Element} processedNode Node to be removed.
+ * @param {Element} newNode Node to be inserted in its place.
+ * @return {void}
+ */
+
+function replace(processedNode, newNode) {
+ insertAfter(newNode, processedNode.parentNode);
+ remove(processedNode);
+}
+/**
+ * Given a DOM node, removes it from the DOM.
+ *
+ * @param {Element} node Node to be removed.
+ * @return {void}
+ */
+
+function remove(node) {
+ node.parentNode.removeChild(node);
+}
+/**
+ * Given two DOM nodes, inserts the former in the DOM as the next sibling of
+ * the latter.
+ *
+ * @param {Element} newNode Node to be inserted.
+ * @param {Element} referenceNode Node after which to perform the insertion.
+ * @return {void}
+ */
+
+function insertAfter(newNode, referenceNode) {
+ referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);
+}
+/**
+ * Unwrap the given node. This means any child nodes are moved to the parent.
+ *
+ * @param {Node} node The node to unwrap.
+ *
+ * @return {void}
+ */
+
+function unwrap(node) {
+ var parent = node.parentNode;
+
+ while (node.firstChild) {
+ parent.insertBefore(node.firstChild, node);
+ }
+
+ parent.removeChild(node);
+}
+/**
+ * Replaces the given node with a new node with the given tag name.
+ *
+ * @param {Element} node The node to replace
+ * @param {string} tagName The new tag name.
+ *
+ * @return {Element} The new node.
+ */
+
+function replaceTag(node, tagName) {
+ var newNode = node.ownerDocument.createElement(tagName);
+
+ while (node.firstChild) {
+ newNode.appendChild(node.firstChild);
+ }
+
+ node.parentNode.replaceChild(newNode, node);
+ return newNode;
+}
+/**
+ * Wraps the given node with a new node with the given tag name.
+ *
+ * @param {Element} newNode The node to insert.
+ * @param {Element} referenceNode The node to wrap.
+ */
+
+function wrap(newNode, referenceNode) {
+ referenceNode.parentNode.insertBefore(newNode, referenceNode);
+ newNode.appendChild(referenceNode);
+}
+/**
+ * Removes any HTML tags from the provided string.
+ *
+ * @param {string} html The string containing html.
+ *
+ * @return {string} The text content with any html removed.
+ */
+
+function __unstableStripHTML(html) {
+ var document = new DOMParser().parseFromString(html, 'text/html');
+ return document.body.textContent || '';
+}
+//# sourceMappingURL=dom.js.map
+
+/***/ }),
+
+/***/ 109:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27);
+/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(11);
+/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var _dashicon__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(80);
+/* harmony import */ var _primitives__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(62);
+
+
+
+
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+function Icon(_ref) {
+ var _ref$icon = _ref.icon,
+ icon = _ref$icon === void 0 ? null : _ref$icon,
+ size = _ref.size,
+ additionalProps = Object(_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(_ref, ["icon", "size"]);
+
+ // Dashicons should be 20x20 by default.
+ var dashiconSize = size || 20;
+
+ if ('string' === typeof icon) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])(_dashicon__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"], Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])({
+ icon: icon,
+ size: dashiconSize
+ }, additionalProps));
+ }
+
+ if (icon && _dashicon__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"] === icon.type) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["cloneElement"])(icon, Object(_babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({
+ size: dashiconSize
+ }, additionalProps));
+ } // Icons should be 24x24 by default.
+
+
+ var iconSize = size || 24;
+
+ if ('function' === typeof icon) {
+ if (icon.prototype instanceof _wordpress_element__WEBPACK_IMPORTED_MODULE_3__["Component"]) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])(icon, Object(_babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({
+ size: iconSize
+ }, additionalProps));
+ }
+
+ return icon(Object(_babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({
+ size: iconSize
+ }, additionalProps));
+ }
+
+ if (icon && (icon.type === 'svg' || icon.type === _primitives__WEBPACK_IMPORTED_MODULE_5__[/* SVG */ "b"])) {
+ var appliedProps = Object(_babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({
+ width: iconSize,
+ height: iconSize
+ }, icon.props, additionalProps);
+
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])(_primitives__WEBPACK_IMPORTED_MODULE_5__[/* SVG */ "b"], appliedProps);
+ }
+
+ if (Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["isValidElement"])(icon)) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["cloneElement"])(icon, Object(_babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({
+ size: iconSize
+ }, additionalProps));
+ }
+
+ return icon;
+}
+
+/* harmony default export */ __webpack_exports__["a"] = (Icon);
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 11:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _extends; });
+function _extends() {
+ _extends = Object.assign || function (target) {
+ for (var i = 1; i < arguments.length; i++) {
+ var source = arguments[i];
+
+ for (var key in source) {
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
+ target[key] = source[key];
+ }
+ }
+ }
+
+ return target;
+ };
+
+ return _extends.apply(this, arguments);
+}
+
+/***/ }),
+
+/***/ 110:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7);
+/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6);
+/* harmony import */ var _babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8);
+/* harmony import */ var _babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4);
+/* harmony import */ var _babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(9);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_6__);
+/* harmony import */ var _popover__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(92);
+/* harmony import */ var _shortcut__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(100);
+
+
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+/**
+ * Time over children to wait before showing tooltip
+ *
+ * @type {number}
+ */
+
+var TOOLTIP_DELAY = 700;
+
+var Tooltip =
+/*#__PURE__*/
+function (_Component) {
+ Object(_babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"])(Tooltip, _Component);
+
+ function Tooltip() {
+ var _this;
+
+ Object(_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(this, Tooltip);
+
+ _this = Object(_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(this, Object(_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])(Tooltip).apply(this, arguments));
+ _this.delayedSetIsOver = Object(lodash__WEBPACK_IMPORTED_MODULE_6__["debounce"])(function (isOver) {
+ return _this.setState({
+ isOver: isOver
+ });
+ }, TOOLTIP_DELAY);
+ /**
+ * Prebound `isInMouseDown` handler, created as a constant reference to
+ * assure ability to remove in component unmount.
+ *
+ * @type {Function}
+ */
+
+ _this.cancelIsMouseDown = _this.createSetIsMouseDown(false);
+ /**
+ * Whether a the mouse is currently pressed, used in determining whether
+ * to handle a focus event as displaying the tooltip immediately.
+ *
+ * @type {boolean}
+ */
+
+ _this.isInMouseDown = false;
+ _this.state = {
+ isOver: false
+ };
+ return _this;
+ }
+
+ Object(_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(Tooltip, [{
+ key: "componentWillUnmount",
+ value: function componentWillUnmount() {
+ this.delayedSetIsOver.cancel();
+ document.removeEventListener('mouseup', this.cancelIsMouseDown);
+ }
+ }, {
+ key: "emitToChild",
+ value: function emitToChild(eventName, event) {
+ var children = this.props.children;
+
+ if (_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["Children"].count(children) !== 1) {
+ return;
+ }
+
+ var child = _wordpress_element__WEBPACK_IMPORTED_MODULE_5__["Children"].only(children);
+
+ if (typeof child.props[eventName] === 'function') {
+ child.props[eventName](event);
+ }
+ }
+ }, {
+ key: "createToggleIsOver",
+ value: function createToggleIsOver(eventName, isDelayed) {
+ var _this2 = this;
+
+ return function (event) {
+ // Preserve original child callback behavior
+ _this2.emitToChild(eventName, event); // Mouse events behave unreliably in React for disabled elements,
+ // firing on mouseenter but not mouseleave. Further, the default
+ // behavior for disabled elements in some browsers is to ignore
+ // mouse events. Don't bother trying to to handle them.
+ //
+ // See: https://github.com/facebook/react/issues/4251
+
+
+ if (event.currentTarget.disabled) {
+ return;
+ } // A focus event will occur as a result of a mouse click, but it
+ // should be disambiguated between interacting with the button and
+ // using an explicit focus shift as a cue to display the tooltip.
+
+
+ if ('focus' === event.type && _this2.isInMouseDown) {
+ return;
+ } // Needed in case unsetting is over while delayed set pending, i.e.
+ // quickly blur/mouseleave before delayedSetIsOver is called
+
+
+ _this2.delayedSetIsOver.cancel();
+
+ var isOver = Object(lodash__WEBPACK_IMPORTED_MODULE_6__["includes"])(['focus', 'mouseenter'], event.type);
+
+ if (isOver === _this2.state.isOver) {
+ return;
+ }
+
+ if (isDelayed) {
+ _this2.delayedSetIsOver(isOver);
+ } else {
+ _this2.setState({
+ isOver: isOver
+ });
+ }
+ };
+ }
+ /**
+ * Creates an event callback to handle assignment of the `isInMouseDown`
+ * instance property in response to a `mousedown` or `mouseup` event.
+ *
+ * @param {boolean} isMouseDown Whether handler is to be created for the
+ * `mousedown` event, as opposed to `mouseup`.
+ *
+ * @return {Function} Event callback handler.
+ */
+
+ }, {
+ key: "createSetIsMouseDown",
+ value: function createSetIsMouseDown(isMouseDown) {
+ var _this3 = this;
+
+ return function (event) {
+ // Preserve original child callback behavior
+ _this3.emitToChild(isMouseDown ? 'onMouseDown' : 'onMouseUp', event); // On mouse down, the next `mouseup` should revert the value of the
+ // instance property and remove its own event handler. The bind is
+ // made on the document since the `mouseup` might not occur within
+ // the bounds of the element.
+
+
+ document[isMouseDown ? 'addEventListener' : 'removeEventListener']('mouseup', _this3.cancelIsMouseDown);
+ _this3.isInMouseDown = isMouseDown;
+ };
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ children = _this$props.children,
+ position = _this$props.position,
+ text = _this$props.text,
+ shortcut = _this$props.shortcut;
+
+ if (_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["Children"].count(children) !== 1) {
+ if (false) {}
+
+ return children;
+ }
+
+ var child = _wordpress_element__WEBPACK_IMPORTED_MODULE_5__["Children"].only(children);
+ var isOver = this.state.isOver;
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["cloneElement"])(child, {
+ onMouseEnter: this.createToggleIsOver('onMouseEnter', true),
+ onMouseLeave: this.createToggleIsOver('onMouseLeave'),
+ onClick: this.createToggleIsOver('onClick'),
+ onFocus: this.createToggleIsOver('onFocus'),
+ onBlur: this.createToggleIsOver('onBlur'),
+ onMouseDown: this.createSetIsMouseDown(true),
+ children: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["concatChildren"])(child.props.children, isOver && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_popover__WEBPACK_IMPORTED_MODULE_7__[/* default */ "a"], {
+ focusOnMount: false,
+ position: position,
+ className: "components-tooltip",
+ "aria-hidden": "true",
+ animate: false
+ }, text, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_shortcut__WEBPACK_IMPORTED_MODULE_8__[/* default */ "a"], {
+ className: "components-tooltip__shortcut",
+ shortcut: shortcut
+ })))
+ });
+ }
+ }]);
+
+ return Tooltip;
+}(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["Component"]);
+
+/* harmony default export */ __webpack_exports__["a"] = (Tooltip);
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 111:
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var utils = __webpack_require__(71);
+var formats = __webpack_require__(86);
+var has = Object.prototype.hasOwnProperty;
+
+var arrayPrefixGenerators = {
+ brackets: function brackets(prefix) {
+ return prefix + '[]';
+ },
+ comma: 'comma',
+ indices: function indices(prefix, key) {
+ return prefix + '[' + key + ']';
+ },
+ repeat: function repeat(prefix) {
+ return prefix;
+ }
+};
+
+var isArray = Array.isArray;
+var push = Array.prototype.push;
+var pushToArray = function (arr, valueOrArray) {
+ push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);
+};
+
+var toISO = Date.prototype.toISOString;
+
+var defaultFormat = formats['default'];
+var defaults = {
+ addQueryPrefix: false,
+ allowDots: false,
+ charset: 'utf-8',
+ charsetSentinel: false,
+ delimiter: '&',
+ encode: true,
+ encoder: utils.encode,
+ encodeValuesOnly: false,
+ format: defaultFormat,
+ formatter: formats.formatters[defaultFormat],
+ // deprecated
+ indices: false,
+ serializeDate: function serializeDate(date) {
+ return toISO.call(date);
+ },
+ skipNulls: false,
+ strictNullHandling: false
+};
+
+var isNonNullishPrimitive = function isNonNullishPrimitive(v) {
+ return typeof v === 'string'
+ || typeof v === 'number'
+ || typeof v === 'boolean'
+ || typeof v === 'symbol'
+ || typeof v === 'bigint';
+};
+
+var stringify = function stringify(
+ object,
+ prefix,
+ generateArrayPrefix,
+ strictNullHandling,
+ skipNulls,
+ encoder,
+ filter,
+ sort,
+ allowDots,
+ serializeDate,
+ formatter,
+ encodeValuesOnly,
+ charset
+) {
+ var obj = object;
+ if (typeof filter === 'function') {
+ obj = filter(prefix, obj);
+ } else if (obj instanceof Date) {
+ obj = serializeDate(obj);
+ } else if (generateArrayPrefix === 'comma' && isArray(obj)) {
+ obj = obj.join(',');
+ }
+
+ if (obj === null) {
+ if (strictNullHandling) {
+ return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key') : prefix;
+ }
+
+ obj = '';
+ }
+
+ if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {
+ if (encoder) {
+ var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key');
+ return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value'))];
+ }
+ return [formatter(prefix) + '=' + formatter(String(obj))];
+ }
+
+ var values = [];
+
+ if (typeof obj === 'undefined') {
+ return values;
+ }
+
+ var objKeys;
+ if (isArray(filter)) {
+ objKeys = filter;
+ } else {
+ var keys = Object.keys(obj);
+ objKeys = sort ? keys.sort(sort) : keys;
+ }
+
+ for (var i = 0; i < objKeys.length; ++i) {
+ var key = objKeys[i];
+
+ if (skipNulls && obj[key] === null) {
+ continue;
+ }
+
+ if (isArray(obj)) {
+ pushToArray(values, stringify(
+ obj[key],
+ typeof generateArrayPrefix === 'function' ? generateArrayPrefix(prefix, key) : prefix,
+ generateArrayPrefix,
+ strictNullHandling,
+ skipNulls,
+ encoder,
+ filter,
+ sort,
+ allowDots,
+ serializeDate,
+ formatter,
+ encodeValuesOnly,
+ charset
+ ));
+ } else {
+ pushToArray(values, stringify(
+ obj[key],
+ prefix + (allowDots ? '.' + key : '[' + key + ']'),
+ generateArrayPrefix,
+ strictNullHandling,
+ skipNulls,
+ encoder,
+ filter,
+ sort,
+ allowDots,
+ serializeDate,
+ formatter,
+ encodeValuesOnly,
+ charset
+ ));
+ }
+ }
+
+ return values;
+};
+
+var normalizeStringifyOptions = function normalizeStringifyOptions(opts) {
+ if (!opts) {
+ return defaults;
+ }
+
+ if (opts.encoder !== null && opts.encoder !== undefined && typeof opts.encoder !== 'function') {
+ throw new TypeError('Encoder has to be a function.');
+ }
+
+ var charset = opts.charset || defaults.charset;
+ if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {
+ throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');
+ }
+
+ var format = formats['default'];
+ if (typeof opts.format !== 'undefined') {
+ if (!has.call(formats.formatters, opts.format)) {
+ throw new TypeError('Unknown format option provided.');
+ }
+ format = opts.format;
+ }
+ var formatter = formats.formatters[format];
+
+ var filter = defaults.filter;
+ if (typeof opts.filter === 'function' || isArray(opts.filter)) {
+ filter = opts.filter;
+ }
+
+ return {
+ addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,
+ allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,
+ charset: charset,
+ charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,
+ delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,
+ encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,
+ encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,
+ encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,
+ filter: filter,
+ formatter: formatter,
+ serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,
+ skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,
+ sort: typeof opts.sort === 'function' ? opts.sort : null,
+ strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling
+ };
+};
+
+module.exports = function (object, opts) {
+ var obj = object;
+ var options = normalizeStringifyOptions(opts);
+
+ var objKeys;
+ var filter;
+
+ if (typeof options.filter === 'function') {
+ filter = options.filter;
+ obj = filter('', obj);
+ } else if (isArray(options.filter)) {
+ filter = options.filter;
+ objKeys = filter;
+ }
+
+ var keys = [];
+
+ if (typeof obj !== 'object' || obj === null) {
+ return '';
+ }
+
+ var arrayFormat;
+ if (opts && opts.arrayFormat in arrayPrefixGenerators) {
+ arrayFormat = opts.arrayFormat;
+ } else if (opts && 'indices' in opts) {
+ arrayFormat = opts.indices ? 'indices' : 'repeat';
+ } else {
+ arrayFormat = 'indices';
+ }
+
+ var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];
+
+ if (!objKeys) {
+ objKeys = Object.keys(obj);
+ }
+
+ if (options.sort) {
+ objKeys.sort(options.sort);
+ }
+
+ for (var i = 0; i < objKeys.length; ++i) {
+ var key = objKeys[i];
+
+ if (options.skipNulls && obj[key] === null) {
+ continue;
+ }
+ pushToArray(keys, stringify(
+ obj[key],
+ key,
+ generateArrayPrefix,
+ options.strictNullHandling,
+ options.skipNulls,
+ options.encode ? options.encoder : null,
+ options.filter,
+ options.sort,
+ options.allowDots,
+ options.serializeDate,
+ options.formatter,
+ options.encodeValuesOnly,
+ options.charset
+ ));
+ }
+
+ var joined = keys.join(options.delimiter);
+ var prefix = options.addQueryPrefix === true ? '?' : '';
+
+ if (options.charsetSentinel) {
+ if (options.charset === 'iso-8859-1') {
+ // encodeURIComponent('✓'), the "numeric entity" representation of a checkmark
+ prefix += 'utf8=%26%2310003%3B&';
+ } else {
+ // encodeURIComponent('✓')
+ prefix += 'utf8=%E2%9C%93&';
+ }
+ }
+
+ return joined.length > 0 ? prefix + joined : '';
+};
+
+
+/***/ }),
+
+/***/ 112:
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var utils = __webpack_require__(71);
+
+var has = Object.prototype.hasOwnProperty;
+var isArray = Array.isArray;
+
+var defaults = {
+ allowDots: false,
+ allowPrototypes: false,
+ arrayLimit: 20,
+ charset: 'utf-8',
+ charsetSentinel: false,
+ comma: false,
+ decoder: utils.decode,
+ delimiter: '&',
+ depth: 5,
+ ignoreQueryPrefix: false,
+ interpretNumericEntities: false,
+ parameterLimit: 1000,
+ parseArrays: true,
+ plainObjects: false,
+ strictNullHandling: false
+};
+
+var interpretNumericEntities = function (str) {
+ return str.replace(/(\d+);/g, function ($0, numberStr) {
+ return String.fromCharCode(parseInt(numberStr, 10));
+ });
+};
+
+var parseArrayValue = function (val, options) {
+ if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {
+ return val.split(',');
+ }
+
+ return val;
+};
+
+var maybeMap = function maybeMap(val, fn) {
+ if (isArray(val)) {
+ var mapped = [];
+ for (var i = 0; i < val.length; i += 1) {
+ mapped.push(fn(val[i]));
+ }
+ return mapped;
+ }
+ return fn(val);
+};
+
+// This is what browsers will submit when the ✓ character occurs in an
+// application/x-www-form-urlencoded body and the encoding of the page containing
+// the form is iso-8859-1, or when the submitted form has an accept-charset
+// attribute of iso-8859-1. Presumably also with other charsets that do not contain
+// the ✓ character, such as us-ascii.
+var isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('✓')
+
+// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.
+var charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')
+
+var parseValues = function parseQueryStringValues(str, options) {
+ var obj = {};
+ var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\?/, '') : str;
+ var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;
+ var parts = cleanStr.split(options.delimiter, limit);
+ var skipIndex = -1; // Keep track of where the utf8 sentinel was found
+ var i;
+
+ var charset = options.charset;
+ if (options.charsetSentinel) {
+ for (i = 0; i < parts.length; ++i) {
+ if (parts[i].indexOf('utf8=') === 0) {
+ if (parts[i] === charsetSentinel) {
+ charset = 'utf-8';
+ } else if (parts[i] === isoSentinel) {
+ charset = 'iso-8859-1';
+ }
+ skipIndex = i;
+ i = parts.length; // The eslint settings do not allow break;
+ }
+ }
+ }
+
+ for (i = 0; i < parts.length; ++i) {
+ if (i === skipIndex) {
+ continue;
+ }
+ var part = parts[i];
+
+ var bracketEqualsPos = part.indexOf(']=');
+ var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;
+
+ var key, val;
+ if (pos === -1) {
+ key = options.decoder(part, defaults.decoder, charset, 'key');
+ val = options.strictNullHandling ? null : '';
+ } else {
+ key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');
+ val = maybeMap(
+ parseArrayValue(part.slice(pos + 1), options),
+ function (encodedVal) {
+ return options.decoder(encodedVal, defaults.decoder, charset, 'value');
+ }
+ );
+ }
+
+ if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {
+ val = interpretNumericEntities(val);
+ }
+
+ if (part.indexOf('[]=') > -1) {
+ val = isArray(val) ? [val] : val;
+ }
+
+ if (has.call(obj, key)) {
+ obj[key] = utils.combine(obj[key], val);
+ } else {
+ obj[key] = val;
+ }
+ }
+
+ return obj;
+};
+
+var parseObject = function (chain, val, options, valuesParsed) {
+ var leaf = valuesParsed ? val : parseArrayValue(val, options);
+
+ for (var i = chain.length - 1; i >= 0; --i) {
+ var obj;
+ var root = chain[i];
+
+ if (root === '[]' && options.parseArrays) {
+ obj = [].concat(leaf);
+ } else {
+ obj = options.plainObjects ? Object.create(null) : {};
+ var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;
+ var index = parseInt(cleanRoot, 10);
+ if (!options.parseArrays && cleanRoot === '') {
+ obj = { 0: leaf };
+ } else if (
+ !isNaN(index)
+ && root !== cleanRoot
+ && String(index) === cleanRoot
+ && index >= 0
+ && (options.parseArrays && index <= options.arrayLimit)
+ ) {
+ obj = [];
+ obj[index] = leaf;
+ } else {
+ obj[cleanRoot] = leaf;
+ }
+ }
+
+ leaf = obj; // eslint-disable-line no-param-reassign
+ }
+
+ return leaf;
+};
+
+var parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {
+ if (!givenKey) {
+ return;
+ }
+
+ // Transform dot notation to bracket notation
+ var key = options.allowDots ? givenKey.replace(/\.([^.[]+)/g, '[$1]') : givenKey;
+
+ // The regex chunks
+
+ var brackets = /(\[[^[\]]*])/;
+ var child = /(\[[^[\]]*])/g;
+
+ // Get the parent
+
+ var segment = options.depth > 0 && brackets.exec(key);
+ var parent = segment ? key.slice(0, segment.index) : key;
+
+ // Stash the parent if it exists
+
+ var keys = [];
+ if (parent) {
+ // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties
+ if (!options.plainObjects && has.call(Object.prototype, parent)) {
+ if (!options.allowPrototypes) {
+ return;
+ }
+ }
+
+ keys.push(parent);
+ }
+
+ // Loop through children appending to the array until we hit depth
+
+ var i = 0;
+ while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {
+ i += 1;
+ if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {
+ if (!options.allowPrototypes) {
+ return;
+ }
+ }
+ keys.push(segment[1]);
+ }
+
+ // If there's a remainder, just add whatever is left
+
+ if (segment) {
+ keys.push('[' + key.slice(segment.index) + ']');
+ }
+
+ return parseObject(keys, val, options, valuesParsed);
+};
+
+var normalizeParseOptions = function normalizeParseOptions(opts) {
+ if (!opts) {
+ return defaults;
+ }
+
+ if (opts.decoder !== null && opts.decoder !== undefined && typeof opts.decoder !== 'function') {
+ throw new TypeError('Decoder has to be a function.');
+ }
+
+ if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {
+ throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');
+ }
+ var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;
+
+ return {
+ allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,
+ allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,
+ arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,
+ charset: charset,
+ charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,
+ comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,
+ decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,
+ delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,
+ // eslint-disable-next-line no-implicit-coercion, no-extra-parens
+ depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,
+ ignoreQueryPrefix: opts.ignoreQueryPrefix === true,
+ interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,
+ parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,
+ parseArrays: opts.parseArrays !== false,
+ plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,
+ strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling
+ };
+};
+
+module.exports = function (str, opts) {
+ var options = normalizeParseOptions(opts);
+
+ if (str === '' || str === null || typeof str === 'undefined') {
+ return options.plainObjects ? Object.create(null) : {};
+ }
+
+ var tempObj = typeof str === 'string' ? parseValues(str, options) : str;
+ var obj = options.plainObjects ? Object.create(null) : {};
+
+ // Iterate over the keys and setup the new object
+
+ var keys = Object.keys(tempObj);
+ for (var i = 0; i < keys.length; ++i) {
+ var key = keys[i];
+ var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');
+ obj = utils.merge(obj, newObj, options);
+ }
+
+ return utils.compact(obj);
+};
+
+
+/***/ }),
+
+/***/ 12:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["moment"]; }());
+
+/***/ }),
+
+/***/ 121:
+/***/ (function(module, exports, __webpack_require__) {
+
+var objectWithoutPropertiesLoose = __webpack_require__(266);
+
+function _objectWithoutProperties(source, excluded) {
+ if (source == null) return {};
+ var target = objectWithoutPropertiesLoose(source, excluded);
+ var key, i;
+
+ if (Object.getOwnPropertySymbols) {
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
+
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
+ key = sourceSymbolKeys[i];
+ if (excluded.indexOf(key) >= 0) continue;
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
+ target[key] = source[key];
+ }
+ }
+
+ return target;
+}
+
+module.exports = _objectWithoutProperties;
+
+/***/ }),
+
+/***/ 13:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _defineProperty; });
+function _defineProperty(obj, key, value) {
+ if (key in obj) {
+ Object.defineProperty(obj, key, {
+ value: value,
+ enumerable: true,
+ configurable: true,
+ writable: true
+ });
+ } else {
+ obj[key] = value;
+ }
+
+ return obj;
+}
+
+/***/ }),
+
+/***/ 137:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wc"]["currency"]; }());
+
+/***/ }),
+
+/***/ 138:
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+/**
+ * Copyright (c) 2013-present, Facebook, Inc.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+
+
+var ReactPropTypesSecret = __webpack_require__(139);
+
+function emptyFunction() {}
+function emptyFunctionWithReset() {}
+emptyFunctionWithReset.resetWarningCache = emptyFunction;
+
+module.exports = function() {
+ function shim(props, propName, componentName, location, propFullName, secret) {
+ if (secret === ReactPropTypesSecret) {
+ // It is still safe when called from React.
+ return;
+ }
+ var err = new Error(
+ 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
+ 'Use PropTypes.checkPropTypes() to call them. ' +
+ 'Read more at http://fb.me/use-check-prop-types'
+ );
+ err.name = 'Invariant Violation';
+ throw err;
+ };
+ shim.isRequired = shim;
+ function getShim() {
+ return shim;
+ };
+ // Important!
+ // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.
+ var ReactPropTypes = {
+ array: shim,
+ bool: shim,
+ func: shim,
+ number: shim,
+ object: shim,
+ string: shim,
+ symbol: shim,
+
+ any: shim,
+ arrayOf: getShim,
+ element: shim,
+ elementType: shim,
+ instanceOf: getShim,
+ node: shim,
+ objectOf: getShim,
+ oneOf: getShim,
+ oneOfType: getShim,
+ shape: getShim,
+ exact: getShim,
+
+ checkPropTypes: emptyFunctionWithReset,
+ resetWarningCache: emptyFunction
+ };
+
+ ReactPropTypes.PropTypes = ReactPropTypes;
+
+ return ReactPropTypes;
+};
+
+
+/***/ }),
+
+/***/ 139:
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+/**
+ * Copyright (c) 2013-present, Facebook, Inc.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+
+
+var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
+
+module.exports = ReactPropTypesSecret;
+
+
+/***/ }),
+
+/***/ 14:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["React"]; }());
+
+/***/ }),
+
+/***/ 140:
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var keys = Object.keys;
+
+/**
+ * Returns true if the two objects are shallow equal, or false otherwise.
+ *
+ * @param {import('.').ComparableObject} a First object to compare.
+ * @param {import('.').ComparableObject} b Second object to compare.
+ *
+ * @return {boolean} Whether the two objects are shallow equal.
+ */
+function isShallowEqualObjects( a, b ) {
+ var aKeys, bKeys, i, key, aValue;
+
+ if ( a === b ) {
+ return true;
+ }
+
+ aKeys = keys( a );
+ bKeys = keys( b );
+
+ if ( aKeys.length !== bKeys.length ) {
+ return false;
+ }
+
+ i = 0;
+
+ while ( i < aKeys.length ) {
+ key = aKeys[ i ];
+ aValue = a[ key ];
+
+ if (
+ // In iterating only the keys of the first object after verifying
+ // equal lengths, account for the case that an explicit `undefined`
+ // value in the first is implicitly undefined in the second.
+ //
+ // Example: isShallowEqualObjects( { a: undefined }, { b: 5 } )
+ ( aValue === undefined && ! b.hasOwnProperty( key ) ) ||
+ aValue !== b[ key ]
+ ) {
+ return false;
+ }
+
+ i++;
+ }
+
+ return true;
+}
+
+module.exports = isShallowEqualObjects;
+
+
+/***/ }),
+
+/***/ 141:
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+/**
+ * Returns true if the two arrays are shallow equal, or false otherwise.
+ *
+ * @param {any[]} a First array to compare.
+ * @param {any[]} b Second array to compare.
+ *
+ * @return {boolean} Whether the two arrays are shallow equal.
+ */
+function isShallowEqualArrays( a, b ) {
+ var i;
+
+ if ( a === b ) {
+ return true;
+ }
+
+ if ( a.length !== b.length ) {
+ return false;
+ }
+
+ for ( i = 0; i < a.length; i++ ) {
+ if ( a[ i ] !== b[ i ] ) {
+ return false;
+ }
+ }
+
+ return true;
+}
+
+module.exports = isShallowEqualArrays;
+
+
+/***/ }),
+
+/***/ 142:
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+/**
+ * Copyright (c) 2015-present, Facebook, Inc.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+
+
+var React = __webpack_require__(14);
+
+var REACT_ELEMENT_TYPE =
+ (typeof Symbol === 'function' && Symbol.for && Symbol.for('react.element')) ||
+ 0xeac7;
+
+var emptyFunction = __webpack_require__(106);
+var invariant = __webpack_require__(143);
+var warning = __webpack_require__(144);
+
+var SEPARATOR = '.';
+var SUBSEPARATOR = ':';
+
+var didWarnAboutMaps = false;
+
+var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
+var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
+
+function getIteratorFn(maybeIterable) {
+ var iteratorFn =
+ maybeIterable &&
+ ((ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL]) ||
+ maybeIterable[FAUX_ITERATOR_SYMBOL]);
+ if (typeof iteratorFn === 'function') {
+ return iteratorFn;
+ }
+}
+
+function escape(key) {
+ var escapeRegex = /[=:]/g;
+ var escaperLookup = {
+ '=': '=0',
+ ':': '=2'
+ };
+ var escapedString = ('' + key).replace(escapeRegex, function(match) {
+ return escaperLookup[match];
+ });
+
+ return '$' + escapedString;
+}
+
+function getComponentKey(component, index) {
+ // Do some typechecking here since we call this blindly. We want to ensure
+ // that we don't block potential future ES APIs.
+ if (component && typeof component === 'object' && component.key != null) {
+ // Explicit key
+ return escape(component.key);
+ }
+ // Implicit key determined by the index in the set
+ return index.toString(36);
+}
+
+function traverseAllChildrenImpl(
+ children,
+ nameSoFar,
+ callback,
+ traverseContext
+) {
+ var type = typeof children;
+
+ if (type === 'undefined' || type === 'boolean') {
+ // All of the above are perceived as null.
+ children = null;
+ }
+
+ if (
+ children === null ||
+ type === 'string' ||
+ type === 'number' ||
+ // The following is inlined from ReactElement. This means we can optimize
+ // some checks. React Fiber also inlines this logic for similar purposes.
+ (type === 'object' && children.$$typeof === REACT_ELEMENT_TYPE)
+ ) {
+ callback(
+ traverseContext,
+ children,
+ // If it's the only child, treat the name as if it was wrapped in an array
+ // so that it's consistent if the number of children grows.
+ nameSoFar === '' ? SEPARATOR + getComponentKey(children, 0) : nameSoFar
+ );
+ return 1;
+ }
+
+ var child;
+ var nextName;
+ var subtreeCount = 0; // Count of children found in the current subtree.
+ var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;
+
+ if (Array.isArray(children)) {
+ for (var i = 0; i < children.length; i++) {
+ child = children[i];
+ nextName = nextNamePrefix + getComponentKey(child, i);
+ subtreeCount += traverseAllChildrenImpl(
+ child,
+ nextName,
+ callback,
+ traverseContext
+ );
+ }
+ } else {
+ var iteratorFn = getIteratorFn(children);
+ if (iteratorFn) {
+ if (false) {}
+
+ var iterator = iteratorFn.call(children);
+ var step;
+ var ii = 0;
+ while (!(step = iterator.next()).done) {
+ child = step.value;
+ nextName = nextNamePrefix + getComponentKey(child, ii++);
+ subtreeCount += traverseAllChildrenImpl(
+ child,
+ nextName,
+ callback,
+ traverseContext
+ );
+ }
+ } else if (type === 'object') {
+ var addendum = '';
+ if (false) {}
+ var childrenString = '' + children;
+ invariant(
+ false,
+ 'Objects are not valid as a React child (found: %s).%s',
+ childrenString === '[object Object]'
+ ? 'object with keys {' + Object.keys(children).join(', ') + '}'
+ : childrenString,
+ addendum
+ );
+ }
+ }
+
+ return subtreeCount;
+}
+
+function traverseAllChildren(children, callback, traverseContext) {
+ if (children == null) {
+ return 0;
+ }
+
+ return traverseAllChildrenImpl(children, '', callback, traverseContext);
+}
+
+var userProvidedKeyEscapeRegex = /\/+/g;
+function escapeUserProvidedKey(text) {
+ return ('' + text).replace(userProvidedKeyEscapeRegex, '$&/');
+}
+
+function cloneAndReplaceKey(oldElement, newKey) {
+ return React.cloneElement(
+ oldElement,
+ {key: newKey},
+ oldElement.props !== undefined ? oldElement.props.children : undefined
+ );
+}
+
+var DEFAULT_POOL_SIZE = 10;
+var DEFAULT_POOLER = oneArgumentPooler;
+
+var oneArgumentPooler = function(copyFieldsFrom) {
+ var Klass = this;
+ if (Klass.instancePool.length) {
+ var instance = Klass.instancePool.pop();
+ Klass.call(instance, copyFieldsFrom);
+ return instance;
+ } else {
+ return new Klass(copyFieldsFrom);
+ }
+};
+
+var addPoolingTo = function addPoolingTo(CopyConstructor, pooler) {
+ // Casting as any so that flow ignores the actual implementation and trusts
+ // it to match the type we declared
+ var NewKlass = CopyConstructor;
+ NewKlass.instancePool = [];
+ NewKlass.getPooled = pooler || DEFAULT_POOLER;
+ if (!NewKlass.poolSize) {
+ NewKlass.poolSize = DEFAULT_POOL_SIZE;
+ }
+ NewKlass.release = standardReleaser;
+ return NewKlass;
+};
+
+var standardReleaser = function standardReleaser(instance) {
+ var Klass = this;
+ invariant(
+ instance instanceof Klass,
+ 'Trying to release an instance into a pool of a different type.'
+ );
+ instance.destructor();
+ if (Klass.instancePool.length < Klass.poolSize) {
+ Klass.instancePool.push(instance);
+ }
+};
+
+var fourArgumentPooler = function fourArgumentPooler(a1, a2, a3, a4) {
+ var Klass = this;
+ if (Klass.instancePool.length) {
+ var instance = Klass.instancePool.pop();
+ Klass.call(instance, a1, a2, a3, a4);
+ return instance;
+ } else {
+ return new Klass(a1, a2, a3, a4);
+ }
+};
+
+function MapBookKeeping(mapResult, keyPrefix, mapFunction, mapContext) {
+ this.result = mapResult;
+ this.keyPrefix = keyPrefix;
+ this.func = mapFunction;
+ this.context = mapContext;
+ this.count = 0;
+}
+MapBookKeeping.prototype.destructor = function() {
+ this.result = null;
+ this.keyPrefix = null;
+ this.func = null;
+ this.context = null;
+ this.count = 0;
+};
+addPoolingTo(MapBookKeeping, fourArgumentPooler);
+
+function mapSingleChildIntoContext(bookKeeping, child, childKey) {
+ var result = bookKeeping.result;
+ var keyPrefix = bookKeeping.keyPrefix;
+ var func = bookKeeping.func;
+ var context = bookKeeping.context;
+
+ var mappedChild = func.call(context, child, bookKeeping.count++);
+ if (Array.isArray(mappedChild)) {
+ mapIntoWithKeyPrefixInternal(
+ mappedChild,
+ result,
+ childKey,
+ emptyFunction.thatReturnsArgument
+ );
+ } else if (mappedChild != null) {
+ if (React.isValidElement(mappedChild)) {
+ mappedChild = cloneAndReplaceKey(
+ mappedChild,
+ // Keep both the (mapped) and old keys if they differ, just as
+ // traverseAllChildren used to do for objects as children
+ keyPrefix +
+ (mappedChild.key && (!child || child.key !== mappedChild.key)
+ ? escapeUserProvidedKey(mappedChild.key) + '/'
+ : '') +
+ childKey
+ );
+ }
+ result.push(mappedChild);
+ }
+}
+
+function mapIntoWithKeyPrefixInternal(children, array, prefix, func, context) {
+ var escapedPrefix = '';
+ if (prefix != null) {
+ escapedPrefix = escapeUserProvidedKey(prefix) + '/';
+ }
+ var traverseContext = MapBookKeeping.getPooled(
+ array,
+ escapedPrefix,
+ func,
+ context
+ );
+ traverseAllChildren(children, mapSingleChildIntoContext, traverseContext);
+ MapBookKeeping.release(traverseContext);
+}
+
+var numericPropertyRegex = /^\d+$/;
+
+var warnedAboutNumeric = false;
+
+function createReactFragment(object) {
+ if (typeof object !== 'object' || !object || Array.isArray(object)) {
+ warning(
+ false,
+ 'React.addons.createFragment only accepts a single object. Got: %s',
+ object
+ );
+ return object;
+ }
+ if (React.isValidElement(object)) {
+ warning(
+ false,
+ 'React.addons.createFragment does not accept a ReactElement ' +
+ 'without a wrapper object.'
+ );
+ return object;
+ }
+
+ invariant(
+ object.nodeType !== 1,
+ 'React.addons.createFragment(...): Encountered an invalid child; DOM ' +
+ 'elements are not valid children of React components.'
+ );
+
+ var result = [];
+
+ for (var key in object) {
+ if (false) {}
+ mapIntoWithKeyPrefixInternal(
+ object[key],
+ result,
+ key,
+ emptyFunction.thatReturnsArgument
+ );
+ }
+
+ return result;
+}
+
+module.exports = createReactFragment;
+
+
+/***/ }),
+
+/***/ 143:
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+/**
+ * Copyright (c) 2013-present, Facebook, Inc.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ *
+ */
+
+
+
+/**
+ * Use invariant() to assert state which your program assumes to be true.
+ *
+ * Provide sprintf-style format (only %s is supported) and arguments
+ * to provide information about what broke and what you were
+ * expecting.
+ *
+ * The invariant message will be stripped in production, but the invariant
+ * will remain to ensure logic does not differ in production.
+ */
+
+var validateFormat = function validateFormat(format) {};
+
+if (false) {}
+
+function invariant(condition, format, a, b, c, d, e, f) {
+ validateFormat(format);
+
+ if (!condition) {
+ var error;
+ if (format === undefined) {
+ error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');
+ } else {
+ var args = [a, b, c, d, e, f];
+ var argIndex = 0;
+ error = new Error(format.replace(/%s/g, function () {
+ return args[argIndex++];
+ }));
+ error.name = 'Invariant Violation';
+ }
+
+ error.framesToPop = 1; // we don't care about invariant's own frame
+ throw error;
+ }
+}
+
+module.exports = invariant;
+
+/***/ }),
+
+/***/ 144:
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+/**
+ * Copyright (c) 2014-present, Facebook, Inc.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ *
+ */
+
+
+
+var emptyFunction = __webpack_require__(106);
+
+/**
+ * Similar to invariant but only logs a warning if the condition is not met.
+ * This can be used to log issues in development environments in critical
+ * paths. Removing the logging code for production environments will keep the
+ * same logic and follow the same code paths.
+ */
+
+var warning = emptyFunction;
+
+if (false) { var printWarning; }
+
+module.exports = warning;
+
+/***/ }),
+
+/***/ 145:
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+function identifyToken(item) {
+ // {{/example}}
+ if (item.match(/^\{\{\//)) {
+ return {
+ type: 'componentClose',
+ value: item.replace(/\W/g, '')
+ };
+ }
+ // {{example /}}
+ if (item.match(/\/\}\}$/)) {
+ return {
+ type: 'componentSelfClosing',
+ value: item.replace(/\W/g, '')
+ };
+ }
+ // {{example}}
+ if (item.match(/^\{\{/)) {
+ return {
+ type: 'componentOpen',
+ value: item.replace(/\W/g, '')
+ };
+ }
+ return {
+ type: 'string',
+ value: item
+ };
+}
+
+module.exports = function (mixedString) {
+ var tokenStrings = mixedString.split(/(\{\{\/?\s*\w+\s*\/?\}\})/g); // split to components and strings
+ return tokenStrings.map(identifyToken);
+};
+//# sourceMappingURL=tokenize.js.map
+
+/***/ }),
+
+/***/ 146:
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+/**
+ * This is the common logic for both the Node.js and web browser
+ * implementations of `debug()`.
+ */
+function setup(env) {
+ createDebug.debug = createDebug;
+ createDebug.default = createDebug;
+ createDebug.coerce = coerce;
+ createDebug.disable = disable;
+ createDebug.enable = enable;
+ createDebug.enabled = enabled;
+ createDebug.humanize = __webpack_require__(147);
+ Object.keys(env).forEach(function (key) {
+ createDebug[key] = env[key];
+ });
+ /**
+ * Active `debug` instances.
+ */
+
+ createDebug.instances = [];
+ /**
+ * The currently active debug mode names, and names to skip.
+ */
+
+ createDebug.names = [];
+ createDebug.skips = [];
+ /**
+ * Map of special "%n" handling functions, for the debug "format" argument.
+ *
+ * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N".
+ */
+
+ createDebug.formatters = {};
+ /**
+ * Selects a color for a debug namespace
+ * @param {String} namespace The namespace string for the for the debug instance to be colored
+ * @return {Number|String} An ANSI color code for the given namespace
+ * @api private
+ */
+
+ function selectColor(namespace) {
+ var hash = 0;
+
+ for (var i = 0; i < namespace.length; i++) {
+ hash = (hash << 5) - hash + namespace.charCodeAt(i);
+ hash |= 0; // Convert to 32bit integer
+ }
+
+ return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
+ }
+
+ createDebug.selectColor = selectColor;
+ /**
+ * Create a debugger with the given `namespace`.
+ *
+ * @param {String} namespace
+ * @return {Function}
+ * @api public
+ */
+
+ function createDebug(namespace) {
+ var prevTime;
+
+ function debug() {
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
+ args[_key] = arguments[_key];
+ }
+
+ // Disabled?
+ if (!debug.enabled) {
+ return;
+ }
+
+ var self = debug; // Set `diff` timestamp
+
+ var curr = Number(new Date());
+ var ms = curr - (prevTime || curr);
+ self.diff = ms;
+ self.prev = prevTime;
+ self.curr = curr;
+ prevTime = curr;
+ args[0] = createDebug.coerce(args[0]);
+
+ if (typeof args[0] !== 'string') {
+ // Anything else let's inspect with %O
+ args.unshift('%O');
+ } // Apply any `formatters` transformations
+
+
+ var index = 0;
+ args[0] = args[0].replace(/%([a-zA-Z%])/g, function (match, format) {
+ // If we encounter an escaped % then don't increase the array index
+ if (match === '%%') {
+ return match;
+ }
+
+ index++;
+ var formatter = createDebug.formatters[format];
+
+ if (typeof formatter === 'function') {
+ var val = args[index];
+ match = formatter.call(self, val); // Now we need to remove `args[index]` since it's inlined in the `format`
+
+ args.splice(index, 1);
+ index--;
+ }
+
+ return match;
+ }); // Apply env-specific formatting (colors, etc.)
+
+ createDebug.formatArgs.call(self, args);
+ var logFn = self.log || createDebug.log;
+ logFn.apply(self, args);
+ }
+
+ debug.namespace = namespace;
+ debug.enabled = createDebug.enabled(namespace);
+ debug.useColors = createDebug.useColors();
+ debug.color = selectColor(namespace);
+ debug.destroy = destroy;
+ debug.extend = extend; // Debug.formatArgs = formatArgs;
+ // debug.rawLog = rawLog;
+ // env-specific initialization logic for debug instances
+
+ if (typeof createDebug.init === 'function') {
+ createDebug.init(debug);
+ }
+
+ createDebug.instances.push(debug);
+ return debug;
+ }
+
+ function destroy() {
+ var index = createDebug.instances.indexOf(this);
+
+ if (index !== -1) {
+ createDebug.instances.splice(index, 1);
+ return true;
+ }
+
+ return false;
+ }
+
+ function extend(namespace, delimiter) {
+ var newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);
+ newDebug.log = this.log;
+ return newDebug;
+ }
+ /**
+ * Enables a debug mode by namespaces. This can include modes
+ * separated by a colon and wildcards.
+ *
+ * @param {String} namespaces
+ * @api public
+ */
+
+
+ function enable(namespaces) {
+ createDebug.save(namespaces);
+ createDebug.names = [];
+ createDebug.skips = [];
+ var i;
+ var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/);
+ var len = split.length;
+
+ for (i = 0; i < len; i++) {
+ if (!split[i]) {
+ // ignore empty strings
+ continue;
+ }
+
+ namespaces = split[i].replace(/\*/g, '.*?');
+
+ if (namespaces[0] === '-') {
+ createDebug.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));
+ } else {
+ createDebug.names.push(new RegExp('^' + namespaces + '$'));
+ }
+ }
+
+ for (i = 0; i < createDebug.instances.length; i++) {
+ var instance = createDebug.instances[i];
+ instance.enabled = createDebug.enabled(instance.namespace);
+ }
+ }
+ /**
+ * Disable debug output.
+ *
+ * @return {String} namespaces
+ * @api public
+ */
+
+
+ function disable() {
+ var namespaces = [].concat(createDebug.names.map(toNamespace), createDebug.skips.map(toNamespace).map(function (namespace) {
+ return '-' + namespace;
+ })).join(',');
+ createDebug.enable('');
+ return namespaces;
+ }
+ /**
+ * Returns true if the given mode name is enabled, false otherwise.
+ *
+ * @param {String} name
+ * @return {Boolean}
+ * @api public
+ */
+
+
+ function enabled(name) {
+ if (name[name.length - 1] === '*') {
+ return true;
+ }
+
+ var i;
+ var len;
+
+ for (i = 0, len = createDebug.skips.length; i < len; i++) {
+ if (createDebug.skips[i].test(name)) {
+ return false;
+ }
+ }
+
+ for (i = 0, len = createDebug.names.length; i < len; i++) {
+ if (createDebug.names[i].test(name)) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+ /**
+ * Convert regexp to namespace
+ *
+ * @param {RegExp} regxep
+ * @return {String} namespace
+ * @api private
+ */
+
+
+ function toNamespace(regexp) {
+ return regexp.toString().substring(2, regexp.toString().length - 2).replace(/\.\*\?$/, '*');
+ }
+ /**
+ * Coerce `val`.
+ *
+ * @param {Mixed} val
+ * @return {Mixed}
+ * @api private
+ */
+
+
+ function coerce(val) {
+ if (val instanceof Error) {
+ return val.stack || val.message;
+ }
+
+ return val;
+ }
+
+ createDebug.enable(createDebug.load());
+ return createDebug;
+}
+
+module.exports = setup;
+
+/***/ }),
+
+/***/ 147:
+/***/ (function(module, exports) {
+
+/**
+ * Helpers.
+ */
+
+var s = 1000;
+var m = s * 60;
+var h = m * 60;
+var d = h * 24;
+var w = d * 7;
+var y = d * 365.25;
+
+/**
+ * Parse or format the given `val`.
+ *
+ * Options:
+ *
+ * - `long` verbose formatting [false]
+ *
+ * @param {String|Number} val
+ * @param {Object} [options]
+ * @throws {Error} throw an error if val is not a non-empty string or a number
+ * @return {String|Number}
+ * @api public
+ */
+
+module.exports = function(val, options) {
+ options = options || {};
+ var type = typeof val;
+ if (type === 'string' && val.length > 0) {
+ return parse(val);
+ } else if (type === 'number' && isFinite(val)) {
+ return options.long ? fmtLong(val) : fmtShort(val);
+ }
+ throw new Error(
+ 'val is not a non-empty string or a valid number. val=' +
+ JSON.stringify(val)
+ );
+};
+
+/**
+ * Parse the given `str` and return milliseconds.
+ *
+ * @param {String} str
+ * @return {Number}
+ * @api private
+ */
+
+function parse(str) {
+ str = String(str);
+ if (str.length > 100) {
+ return;
+ }
+ var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
+ str
+ );
+ if (!match) {
+ return;
+ }
+ var n = parseFloat(match[1]);
+ var type = (match[2] || 'ms').toLowerCase();
+ switch (type) {
+ case 'years':
+ case 'year':
+ case 'yrs':
+ case 'yr':
+ case 'y':
+ return n * y;
+ case 'weeks':
+ case 'week':
+ case 'w':
+ return n * w;
+ case 'days':
+ case 'day':
+ case 'd':
+ return n * d;
+ case 'hours':
+ case 'hour':
+ case 'hrs':
+ case 'hr':
+ case 'h':
+ return n * h;
+ case 'minutes':
+ case 'minute':
+ case 'mins':
+ case 'min':
+ case 'm':
+ return n * m;
+ case 'seconds':
+ case 'second':
+ case 'secs':
+ case 'sec':
+ case 's':
+ return n * s;
+ case 'milliseconds':
+ case 'millisecond':
+ case 'msecs':
+ case 'msec':
+ case 'ms':
+ return n;
+ default:
+ return undefined;
+ }
+}
+
+/**
+ * Short format for `ms`.
+ *
+ * @param {Number} ms
+ * @return {String}
+ * @api private
+ */
+
+function fmtShort(ms) {
+ var msAbs = Math.abs(ms);
+ if (msAbs >= d) {
+ return Math.round(ms / d) + 'd';
+ }
+ if (msAbs >= h) {
+ return Math.round(ms / h) + 'h';
+ }
+ if (msAbs >= m) {
+ return Math.round(ms / m) + 'm';
+ }
+ if (msAbs >= s) {
+ return Math.round(ms / s) + 's';
+ }
+ return ms + 'ms';
+}
+
+/**
+ * Long format for `ms`.
+ *
+ * @param {Number} ms
+ * @return {String}
+ * @api private
+ */
+
+function fmtLong(ms) {
+ var msAbs = Math.abs(ms);
+ if (msAbs >= d) {
+ return plural(ms, msAbs, d, 'day');
+ }
+ if (msAbs >= h) {
+ return plural(ms, msAbs, h, 'hour');
+ }
+ if (msAbs >= m) {
+ return plural(ms, msAbs, m, 'minute');
+ }
+ if (msAbs >= s) {
+ return plural(ms, msAbs, s, 'second');
+ }
+ return ms + ' ms';
+}
+
+/**
+ * Pluralization helper.
+ */
+
+function plural(ms, msAbs, n, name) {
+ var isPlural = msAbs >= n * 1.5;
+ return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');
+}
+
+
+/***/ }),
+
+/***/ 15:
+/***/ (function(module, exports) {
+
+function _defineProperty(obj, key, value) {
+ if (key in obj) {
+ Object.defineProperty(obj, key, {
+ value: value,
+ enumerable: true,
+ configurable: true,
+ writable: true
+ });
+ } else {
+ obj[key] = value;
+ }
+
+ return obj;
+}
+
+module.exports = _defineProperty;
+
+/***/ }),
+
+/***/ 16:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectWithoutProperties; });
+/* harmony import */ var _objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(54);
+
+function _objectWithoutProperties(source, excluded) {
+ if (source == null) return {};
+ var target = Object(_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(source, excluded);
+ var key, i;
+
+ if (Object.getOwnPropertySymbols) {
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
+
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
+ key = sourceSymbolKeys[i];
+ if (excluded.indexOf(key) >= 0) continue;
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
+ target[key] = source[key];
+ }
+ }
+
+ return target;
+}
+
+/***/ }),
+
+/***/ 169:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ build_module_speak; });
+
+// UNUSED EXPORTS: setup
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/dom-ready/build-module/index.js
+var build_module = __webpack_require__(65);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/a11y/build-module/addContainer.js
+/**
+ * Build the live regions markup.
+ *
+ * @param {string} ariaLive Optional. Value for the 'aria-live' attribute, default 'polite'.
+ *
+ * @return {HTMLDivElement} The ARIA live region HTML element.
+ */
+var addContainer = function addContainer(ariaLive) {
+ ariaLive = ariaLive || 'polite';
+ var container = document.createElement('div');
+ container.id = 'a11y-speak-' + ariaLive;
+ container.className = 'a11y-speak-region';
+ container.setAttribute('style', 'position: absolute;' + 'margin: -1px;' + 'padding: 0;' + 'height: 1px;' + 'width: 1px;' + 'overflow: hidden;' + 'clip: rect(1px, 1px, 1px, 1px);' + '-webkit-clip-path: inset(50%);' + 'clip-path: inset(50%);' + 'border: 0;' + 'word-wrap: normal !important;');
+ container.setAttribute('aria-live', ariaLive);
+ container.setAttribute('aria-relevant', 'additions text');
+ container.setAttribute('aria-atomic', 'true');
+ var body = document.querySelector('body');
+
+ if (body) {
+ body.appendChild(container);
+ }
+
+ return container;
+};
+
+/* harmony default export */ var build_module_addContainer = (addContainer);
+//# sourceMappingURL=addContainer.js.map
+// CONCATENATED MODULE: ./node_modules/@wordpress/a11y/build-module/clear.js
+/**
+ * Clear the a11y-speak-region elements.
+ */
+var clear = function clear() {
+ var regions = document.querySelectorAll('.a11y-speak-region');
+
+ for (var i = 0; i < regions.length; i++) {
+ regions[i].textContent = '';
+ }
+};
+
+/* harmony default export */ var build_module_clear = (clear);
+//# sourceMappingURL=clear.js.map
+// CONCATENATED MODULE: ./node_modules/@wordpress/a11y/build-module/filterMessage.js
+var previousMessage = '';
+/**
+ * Filter the message to be announced to the screenreader.
+ *
+ * @param {string} message The message to be announced.
+ *
+ * @return {string} The filtered message.
+ */
+
+var filterMessage = function filterMessage(message) {
+ /*
+ * Strip HTML tags (if any) from the message string. Ideally, messages should
+ * be simple strings, carefully crafted for specific use with A11ySpeak.
+ * When re-using already existing strings this will ensure simple HTML to be
+ * stripped out and replaced with a space. Browsers will collapse multiple
+ * spaces natively.
+ */
+ message = message.replace(/<[^<>]+>/g, ' ');
+
+ if (previousMessage === message) {
+ message += "\xA0";
+ }
+
+ previousMessage = message;
+ return message;
+};
+
+/* harmony default export */ var build_module_filterMessage = (filterMessage);
+//# sourceMappingURL=filterMessage.js.map
+// CONCATENATED MODULE: ./node_modules/@wordpress/a11y/build-module/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+/**
+ * Create the live regions.
+ */
+
+var build_module_setup = function setup() {
+ var containerPolite = document.getElementById('a11y-speak-polite');
+ var containerAssertive = document.getElementById('a11y-speak-assertive');
+
+ if (containerPolite === null) {
+ build_module_addContainer('polite');
+ }
+
+ if (containerAssertive === null) {
+ build_module_addContainer('assertive');
+ }
+};
+/**
+ * Run setup on domReady.
+ */
+
+Object(build_module["a" /* default */])(build_module_setup);
+/**
+ * Allows you to easily announce dynamic interface updates to screen readers using ARIA live regions.
+ * This module is inspired by the `speak` function in wp-a11y.js
+ *
+ * @param {string} message The message to be announced by Assistive Technologies.
+ * @param {string} ariaLive Optional. The politeness level for aria-live. Possible values:
+ * polite or assertive. Default polite.
+ *
+ * @example
+ * ```js
+ * import { speak } from '@wordpress/a11y';
+ *
+ * // For polite messages that shouldn't interrupt what screen readers are currently announcing.
+ * speak( 'The message you want to send to the ARIA live region' );
+ *
+ * // For assertive messages that should interrupt what screen readers are currently announcing.
+ * speak( 'The message you want to send to the ARIA live region', 'assertive' );
+ * ```
+ */
+
+var build_module_speak = function speak(message, ariaLive) {
+ // Clear previous messages to allow repeated strings being read out.
+ build_module_clear();
+ message = build_module_filterMessage(message);
+ var containerPolite = document.getElementById('a11y-speak-polite');
+ var containerAssertive = document.getElementById('a11y-speak-assertive');
+
+ if (containerAssertive && 'assertive' === ariaLive) {
+ containerAssertive.textContent = message;
+ } else if (containerPolite) {
+ containerPolite.textContent = message;
+ }
+};
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 17:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ _toConsumableArray; });
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
+var arrayLikeToArray = __webpack_require__(37);
+
+// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js
+
+function _arrayWithoutHoles(arr) {
+ if (Array.isArray(arr)) return Object(arrayLikeToArray["a" /* default */])(arr);
+}
+// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js
+function _iterableToArray(iter) {
+ if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
+}
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
+var unsupportedIterableToArray = __webpack_require__(52);
+
+// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js
+function _nonIterableSpread() {
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js
+
+
+
+
+function _toConsumableArray(arr) {
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || Object(unsupportedIterableToArray["a" /* default */])(arr) || _nonIterableSpread();
+}
+
+/***/ }),
+
+/***/ 170:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ client_ApiClient; });
+__webpack_require__.d(__webpack_exports__, "b", function() { return /* reexport */ MINUTE; });
+__webpack_require__.d(__webpack_exports__, "c", function() { return /* reexport */ SECOND; });
+
+// UNUSED EXPORTS: HOUR
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/regenerator/index.js
+var regenerator = __webpack_require__(73);
+var regenerator_default = /*#__PURE__*/__webpack_require__.n(regenerator);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js
+var asyncToGenerator = __webpack_require__(70);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
+var esm_extends = __webpack_require__(11);
+
+// EXTERNAL MODULE: ./node_modules/debug/src/browser.js
+var browser = __webpack_require__(98);
+var browser_default = /*#__PURE__*/__webpack_require__.n(browser);
+
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__(2);
+
+// CONCATENATED MODULE: ./node_modules/@fresh-data/framework/es/client/calculate-updates.js
+var DEFAULT_MAX_UPDATE = 30000;
+var DEFAULT_MIN_UPDATE = 500;
+/**
+ * Compares requirements against current state for update information.
+ * Takes a list of requirements and the current state, both keyed by resourceName,
+ * and returns update information which contains an array of resourceNames that are
+ * currently needed and when the next update cycle should run, in milleseconds.
+ * @param {Object} requirementsByResource List of requirements keyed by resourceName.
+ * @param {Object} resourceState State indexed by resourceName.
+ * @param {number} [minUpdate] Minimum nextUpdate value.
+ * @param {number} [maxUpdate] Maximum nextUpdate value.
+ * @param {Date} [now] Current time (used for tests).
+ * @return {Object} updateInfo: { nextUpdate, updates }
+ * @see combineComponentRequirements
+ */
+
+function calculateUpdates(requirementsByResource, resourceState, minUpdate, maxUpdate, now) {
+ if (minUpdate === void 0) {
+ minUpdate = DEFAULT_MIN_UPDATE;
+ }
+
+ if (maxUpdate === void 0) {
+ maxUpdate = DEFAULT_MAX_UPDATE;
+ }
+
+ if (now === void 0) {
+ now = new Date();
+ }
+
+ var updateInfo = {
+ updates: [],
+ nextUpdate: maxUpdate
+ };
+ appendUpdatesForResources(updateInfo, requirementsByResource, resourceState, now);
+ updateInfo.nextUpdate = Math.max(updateInfo.nextUpdate, minUpdate);
+ return updateInfo;
+}
+/**
+ * Iterates resources to analyze needed updates.
+ * @param {Object} updateInfo Update information to be mutated by this function.
+ * @param {Object} requirementsByResource List of requirements keyed by resource.
+ * @param {Object} resourceState State indexed by resourceName.
+ * @param {Date} [now] Current time (used for tests).
+ * @see calculateUpdates
+ * @see appendUpdatesForResource
+ */
+
+function appendUpdatesForResources(updateInfo, requirementsByResource, resourceState, now) {
+ Object.keys(requirementsByResource).forEach(function (resourceName) {
+ var requirements = requirementsByResource[resourceName];
+ var state = resourceState[resourceName] || {};
+ appendUpdatesForResource(updateInfo, resourceName, requirements, state, now);
+ });
+}
+/**
+ * Analyzes a resource's requirements against its current state..
+ * @param {Object} updateInfo Update information to be mutated by this function.
+ * @param {string} resourceName Name of the resource to be analyzed.
+ * @param {Object} requirements The requirements for this level of the tree.
+ * @param {Object} state The current state for this resource.
+ * @param {Date} [now] Current time (used for tests).
+ * @see appendUpdatesForResources
+ */
+
+
+function appendUpdatesForResource(updateInfo, resourceName, requirements, state, now) {
+ var lastRequested = state.lastRequested,
+ lastReceived = state.lastReceived;
+ var isRequested = lastRequested && (!lastReceived || lastRequested > lastReceived);
+ var timeoutLeft = getTimeoutLeft(requirements.timeout, state, now);
+ var freshnessLeft = getFreshnessLeft(requirements.freshness, state, now);
+ var nextUpdate = isRequested && 0 >= freshnessLeft ? timeoutLeft : freshnessLeft;
+ updateInfo.nextUpdate = Math.min(updateInfo.nextUpdate, nextUpdate);
+
+ if (nextUpdate < 0) {
+ updateInfo.updates.push(resourceName);
+ }
+}
+/**
+ * Calculates the remaining time left until a timeout is reached.
+ * @param {Object} timeout The timeout requirements in milliseconds.
+ * @param {Object} state The matching state for the resource.
+ * @param {Date} now Current time (used for tests).
+ * @return {number} Time left until timeout, or MAX_SAFE_INTEGER if not applicable.
+ */
+
+
+function getTimeoutLeft(timeout, state, now) {
+ var lastRequested = state.lastRequested || Number.MIN_SAFE_INTEGER;
+ var lastReceived = state.lastReceived || Number.MIN_SAFE_INTEGER;
+
+ if (timeout && lastRequested && lastRequested > lastReceived) {
+ return timeout - (now - lastRequested);
+ }
+
+ return Number.MAX_SAFE_INTEGER;
+}
+/**
+ * Calculates the time remaining until this data is considered stale.
+ * @param {Object} freshness The freshness requirements in milliseconds.
+ * @param {Object} state The matching state for the resource.
+ * @param {Date} now Current time (used for tests).
+ * @return {number} Time left until stale, or MAX_SAFE_INTEGER if not applicable.
+ */
+
+function getFreshnessLeft(freshness, state, now) {
+ var lastReceived = state.lastReceived;
+
+ if (freshness && lastReceived) {
+ return freshness - (now - lastReceived);
+ }
+
+ return freshness ? Number.MIN_SAFE_INTEGER : Number.MAX_SAFE_INTEGER;
+}
+// CONCATENATED MODULE: ./node_modules/@fresh-data/framework/es/devinfo/components.js
+/**
+ * Generates information about components that require resources.
+ * @param {Object} client The client to inspect.
+ * @return {Array} An array of objects that describe components and their requirements.
+ */
+function components_components(client) {
+ var componentSummaries = [];
+ client.requirementsByComponent.forEach(function (requirements, component) {
+ componentSummaries.push({
+ component: component,
+ requirements: requirements
+ });
+ });
+ return componentSummaries;
+}
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js
+var objectWithoutPropertiesLoose = __webpack_require__(54);
+
+// CONCATENATED MODULE: ./node_modules/@fresh-data/framework/es/devinfo/resources.js
+
+
+
+
+/**
+ * Possible statuses of a resource.
+ */
+
+var STATUS = {
+ overdue: 'overdue',
+ fetching: 'fetching',
+ stale: 'stale',
+ fresh: 'fresh',
+ notRequired: 'notRequired'
+};
+/**
+ * Compiles information about the resources available from a fresh-data client.
+ * @param {Object} client A fresh-data client to be inspected.
+ * @return {Object} A list of detailed resource info objects, keyed by resource name.
+ */
+
+function resources_resources(client) {
+ var resourceState = client.state.resources || {};
+ var requirements = client.requirementsByResource;
+ var resourceNames = Object(external_lodash_["union"])(Object.keys(resourceState), Object.keys(requirements));
+ return resourceNames.reduce(function (resourceInfo, resourceName) {
+ var resource = resourceState[resourceName] || {};
+ var data = resource.data;
+ var status = getStatus(resource, requirements[resourceName]);
+ var summary = getSummary(status, resource, requirements[resourceName]);
+ resourceInfo[resourceName] = {
+ status: status,
+ summary: summary,
+ data: data
+ };
+
+ if (requirements[resourceName]) {
+ var combinedRequirement = convertRequirement(requirements[resourceName]);
+ var componentsRequiring = getComponentsForResource(client.requirementsByComponent, resourceName);
+ resourceInfo[resourceName].combinedRequirement = combinedRequirement;
+ resourceInfo[resourceName].componentsRequiring = componentsRequiring;
+ }
+
+ return resourceInfo;
+ }, {});
+}
+
+function getStatus(resource, requirement) {
+ if (!requirement) {
+ return STATUS.notRequired;
+ }
+
+ var freshness = requirement.freshness,
+ timeout = requirement.timeout;
+ var now = new Date();
+ var freshnessLeft = getFreshnessLeft(freshness, resource, now);
+
+ if (resource && resource.lastRequested > resource.lastReceived) {
+ var timeoutLeft = getTimeoutLeft(timeout, resource, now);
+
+ if (timeoutLeft < 0) {
+ return STATUS.overdue;
+ }
+
+ return STATUS.fetching;
+ }
+
+ if (freshnessLeft < 0) {
+ return STATUS.stale;
+ }
+
+ return STATUS.fresh;
+}
+
+function getSummary(status, resource, requirement) {
+ var now = new Date();
+
+ switch (status) {
+ case STATUS.overdue:
+ var timeout = getTimeoutLeft(requirement.timeout, resource, now);
+ return "Timed out for " + millisToString(-timeout);
+
+ case STATUS.fetching:
+ var timeoutLeft = getTimeoutLeft(requirement.timeout, resource, now);
+ return millisToString(timeoutLeft) + " until timeout";
+
+ case STATUS.stale:
+ var staleness = getFreshnessLeft(requirement.freshness, resource, now);
+ return "Stale for " + millisToString(-staleness);
+
+ case STATUS.fresh:
+ var freshnessLeft = getFreshnessLeft(requirement.freshness, resource, now);
+ return "Fresh for " + millisToString(freshnessLeft);
+
+ case STATUS.notRequired:
+ default:
+ return 'Resource is not fetched directly.';
+ }
+}
+
+function convertRequirement(requirement) {
+ if (requirement === void 0) {
+ requirement = {};
+ }
+
+ var _requirement = requirement,
+ freshness = _requirement.freshness,
+ timeout = _requirement.timeout,
+ other = Object(objectWithoutPropertiesLoose["a" /* default */])(_requirement, ["freshness", "timeout"]);
+
+ return Object(esm_extends["a" /* default */])({
+ freshness: millisToString(freshness),
+ timeout: millisToString(timeout)
+ }, other);
+}
+
+var SECOND_IN_MILLIS = 1000;
+var MINUTE_IN_MILLIS = SECOND_IN_MILLIS * 60;
+var HOUR_IN_MILLIS = MINUTE_IN_MILLIS * 60;
+
+function millisToString(millis) {
+ if (!millis) {
+ return '';
+ }
+
+ var hours = Math.floor(millis / HOUR_IN_MILLIS);
+ millis -= hours * HOUR_IN_MILLIS;
+ var minutes = Math.floor(millis / MINUTE_IN_MILLIS);
+ millis -= minutes * MINUTE_IN_MILLIS;
+ var seconds = millis / SECOND_IN_MILLIS;
+ var str = '';
+ str = hours ? hours + " hours " : str;
+ str = minutes ? "" + str + minutes + " mins " : str;
+ str = seconds ? "" + str + seconds + " secs " : str;
+ return str;
+}
+
+function getComponentsForResource(requirementsByComponent, resourceName) {
+ var components = [];
+ requirementsByComponent.forEach(function (requirements, component) {
+ var requirement = Object(external_lodash_["find"])(requirements, {
+ resourceName: resourceName
+ });
+
+ if (requirement) {
+ components.push(component);
+ }
+ });
+ return components.length ? components : null;
+}
+// CONCATENATED MODULE: ./node_modules/@fresh-data/framework/es/devinfo/summary.js
+
+
+/**
+ * A string summary of fresh-data client resources
+ * @param {Object} resources Resources generated by ./resources.js for a client.
+ * @return {string} A single-line string summary.
+ */
+
+function summary_summary(resources) {
+ var resourceNames = Object.keys(resources);
+ var components = [];
+ var freshCount = 0;
+ var staleCount = 0;
+ var timedOutCount = 0;
+ var fetchingCount = 0;
+ var notRequiredCount = 0;
+ resourceNames.forEach(function (resourceName) {
+ var resource = resources[resourceName];
+ components = Object(external_lodash_["union"])(components, resource.componentsRequiring);
+
+ switch (resource.status) {
+ case STATUS.overdue:
+ timedOutCount++;
+ break;
+
+ case STATUS.fetching:
+ fetchingCount++;
+ break;
+
+ case STATUS.stale:
+ staleCount++;
+ break;
+
+ case STATUS.fresh:
+ freshCount++;
+ break;
+
+ case STATUS.notRequired:
+ notRequiredCount++;
+ }
+ });
+ var text = resourceNames.length + " resources, " + components.length + " components ( ";
+
+ if (freshCount) {
+ text += freshCount + " fresh ";
+ }
+
+ if (staleCount) {
+ text += staleCount + " stale ";
+ }
+
+ if (notRequiredCount) {
+ text += notRequiredCount + " not required ";
+ }
+
+ if (timedOutCount) {
+ text += timedOutCount + " timed out ";
+ }
+
+ if (fetchingCount) {
+ text += fetchingCount + " fetching ";
+ }
+
+ text += ')';
+ return text;
+}
+// CONCATENATED MODULE: ./node_modules/@fresh-data/framework/es/devinfo/index.js
+
+
+
+var devInfo = {};
+/**
+ * Checks if devInfo is enabled and available.
+ * @return {boolean} True if dev info is enabled, false if not.
+ */
+
+function isDevInfoEnabled() {
+ return true === window.__FRESH_DATA_DEV_INFO__;
+}
+/**
+ * Called by the ApiClient class to update the dev info data.
+ * This is called when the client state or requirements change.
+ * @param {Object} client The client which has been updated.
+ */
+
+function updateDevInfo(client) {
+ if (isDevInfoEnabled()) {
+ devInfo[client.getName()] = generateDevInfo(client);
+ setDevInfoGlobal();
+ }
+}
+/**
+ * Generates the devInfo object for a given client.
+ * @param {Object} client The client for which the info is generated.
+ * @return {Object} A devInfo object with summary, resources, and components.
+ */
+
+function generateDevInfo(client) {
+ var components = components_components(client);
+ var resources = resources_resources(client);
+ var summary = summary_summary(resources);
+ var info = {
+ summary: summary,
+ resources: resources,
+ components: components
+ };
+ return info;
+}
+/**
+ * Sets the dev info to the global window context.
+ * This is so it can be referenced by the JavaScript console in the browser.
+ */
+
+
+function setDevInfoGlobal() {
+ if (!window.freshData) {
+ window.freshData = devInfo;
+ }
+}
+// CONCATENATED MODULE: ./node_modules/@fresh-data/framework/es/utils/constants.js
+var SECOND = 1000;
+var MINUTE = 60 * SECOND;
+var HOUR = 60 * MINUTE;
+// CONCATENATED MODULE: ./node_modules/@fresh-data/framework/es/client/requirements.js
+
+
+
+var DEFAULTS = {
+ freshness: Number.MAX_SAFE_INTEGER,
+ timeout: 20 * SECOND
+};
+/**
+ * Combines component requirements into a requirements list by resourceName.
+ * @param {Map} requirementsByComponent Key: Component, Value: requirements parameters with resourceName.
+ * @return {Object} List of requirements by resource name.
+ */
+
+function combineComponentRequirements(requirementsByComponent) {
+ var requirementsByResource = {};
+ requirementsByComponent.forEach(function (requirements) {
+ requirements.forEach(function (requirement) {
+ var resourceName = requirement.resourceName,
+ reqParams = Object(objectWithoutPropertiesLoose["a" /* default */])(requirement, ["resourceName"]);
+
+ addResourceRequirement(requirementsByResource, reqParams, resourceName);
+ });
+ });
+ return requirementsByResource;
+}
+/**
+ * Mutates the state of requirementsByResource by adding requirement parameters to it.
+ * @param {Object} requirementsByResource List of requirements keyed by resourceName.
+ * @param {Object} reqParams New requirement parameters ( e.g. { freshness: 30 * SECOND } )
+ * @param {string} resourceName Name of resource being required.
+ */
+
+function addResourceRequirement(requirementsByResource, reqParams, resourceName) {
+ var requirement = requirementsByResource[resourceName] || Object(esm_extends["a" /* default */])({}, DEFAULTS);
+
+ addRequirementParams(requirement, reqParams);
+ requirementsByResource[resourceName] = requirement;
+}
+/**
+ * Merges new requirement parameters into existing ones.
+ * @param {Object} requirements Contains requirement parameters.
+ * @param {Object} reqParams New requirement parameters (freshness, timeout), to be merged with existing ones.
+ */
+
+function addRequirementParams(requirements, reqParams) {
+ var freshness = requirements.freshness || DEFAULTS.freshness;
+ var timeout = requirements.timeout || DEFAULTS.timeout;
+ var newFreshness = reqParams.freshness || Number.MAX_SAFE_INTEGER;
+ var newTimeout = reqParams.timeout || Number.MAX_SAFE_INTEGER;
+ requirements.freshness = Math.min(freshness, newFreshness);
+ requirements.timeout = Math.min(timeout, newTimeout);
+}
+// CONCATENATED MODULE: ./node_modules/@fresh-data/framework/es/client/index.js
+
+
+
+
+
+
+
+
+var DEFAULT_READ_OPERATION = 'read';
+
+function _setTimer(callback, delay) {
+ return window.setTimeout(callback, delay);
+}
+
+function _clearTimer(id) {
+ return window.clearTimeout(id);
+}
+
+var client_ApiClient = function ApiClient(apiSpec, setTimer, clearTimer) {
+ var _this = this;
+
+ if (setTimer === void 0) {
+ setTimer = _setTimer;
+ }
+
+ if (clearTimer === void 0) {
+ clearTimer = _clearTimer;
+ }
+
+ this.getName = function () {
+ return _this.name || 'UID_' + _this.uid;
+ };
+
+ this.mapOperations = function (apiOperations) {
+ return Object.keys(apiOperations).reduce(function (operations, operationName) {
+ operations[operationName] = function (resourceNames, data) {
+ var apiOperation = apiOperations[operationName];
+ return _this.applyOperation(apiOperation, resourceNames, data);
+ };
+
+ return operations;
+ }, {});
+ };
+
+ this.setDataHandlers = function (_ref) {
+ var dataRequested = _ref.dataRequested,
+ dataReceived = _ref.dataReceived;
+ _this.dataHandlers = {
+ dataRequested: dataRequested,
+ dataReceived: dataReceived
+ };
+ };
+
+ this.setState = function (state, now) {
+ if (now === void 0) {
+ now = new Date();
+ }
+
+ if (_this.state !== state) {
+ _this.state = state;
+
+ _this.updateTimer(now);
+
+ _this.subscriptionCallbacks.forEach(function (callback) {
+ return callback(_this);
+ });
+
+ updateDevInfo(_this);
+ }
+ };
+
+ this.subscribe = function (callback) {
+ if (_this.subscriptionCallbacks.has(callback)) {
+ _this.debug('Attempting to add a subscription callback twice:', callback);
+
+ return false;
+ }
+
+ _this.subscriptionCallbacks.add(callback);
+
+ return callback;
+ };
+
+ this.unsubscribe = function (callback) {
+ if (!_this.subscriptionCallbacks.has(callback)) {
+ _this.debug('Attempting to remove a callback that is not subscribed:', callback);
+
+ return false;
+ }
+
+ _this.subscriptionCallbacks["delete"](callback);
+
+ return callback;
+ };
+
+ this.getResource = function (resourceName) {
+ var resources = _this.state.resources || {};
+ var resource = resources[resourceName] || {};
+ return resource;
+ };
+
+ this.requireResource = function (componentRequirements) {
+ return function (requirement, resourceName) {
+ componentRequirements.push(Object(esm_extends["a" /* default */])({}, requirement, {
+ resourceName: resourceName
+ }));
+ return _this.getResource(resourceName);
+ };
+ };
+
+ this.getMutations = function () {
+ return _this.mutations;
+ };
+
+ this.getSelectors = function (componentRequirements) {
+ return mapFunctions(_this.selectors, _this.getResource, _this.requireResource(componentRequirements));
+ };
+
+ this.clearComponentRequirements = function (component, now) {
+ if (now === void 0) {
+ now = new Date();
+ }
+
+ _this.requirementsByComponent["delete"](component);
+
+ _this.updateRequirementsByResource(now);
+ };
+
+ this.setComponentRequirements = function (component, componentRequirements, now) {
+ if (now === void 0) {
+ now = new Date();
+ }
+
+ _this.requirementsByComponent.set(component, componentRequirements);
+
+ _this.updateRequirementsByResource(now);
+ };
+
+ this.setComponentData = function (component, selectorFunc, now) {
+ if (now === void 0) {
+ now = new Date();
+ }
+
+ if (selectorFunc) {
+ var componentRequirements = [];
+
+ var selectors = _this.getSelectors(componentRequirements);
+
+ selectorFunc(selectors);
+
+ _this.setComponentRequirements(component, componentRequirements, now);
+ } else {
+ _this.clearComponentRequirements(component, now);
+ }
+ };
+
+ this.updateRequirementsByResource = function (now) {
+ if (now === void 0) {
+ now = new Date();
+ }
+
+ // TODO: Consider using a reducer style function for resource requirements so we don't
+ // have to do a deep equals check.
+ var requirementsByResource = combineComponentRequirements(_this.requirementsByComponent);
+
+ if (!Object(external_lodash_["isEqual"])(_this.requirementsByResource, requirementsByResource)) {
+ _this.requirementsByResource = requirementsByResource;
+
+ _this.updateTimer(now);
+ }
+ };
+
+ this.updateRequirementsData =
+ /*#__PURE__*/
+ function () {
+ var _ref2 = Object(asyncToGenerator["a" /* default */])(
+ /*#__PURE__*/
+ regenerator_default.a.mark(function _callee(now) {
+ var requirementsByComponent, requirementsByResource, state, minUpdate, maxUpdate, resourceState, componentCount, resourceCount, _calculateUpdates, nextUpdate, updates, readOperationName, readOperation;
+
+ return regenerator_default.a.wrap(function _callee$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ requirementsByComponent = _this.requirementsByComponent, requirementsByResource = _this.requirementsByResource, state = _this.state, minUpdate = _this.minUpdate, maxUpdate = _this.maxUpdate;
+ resourceState = state.resources || {};
+ componentCount = requirementsByComponent.size;
+ resourceCount = Object.keys(requirementsByResource).length;
+
+ _this.debug("Updating requirements for " + componentCount + " components and " + resourceCount + " resources.");
+
+ updateDevInfo(_this);
+
+ if (Object(external_lodash_["isEmpty"])(requirementsByResource)) {
+ _context.next = 20;
+ break;
+ }
+
+ _calculateUpdates = calculateUpdates(requirementsByResource, resourceState, minUpdate, maxUpdate, now), nextUpdate = _calculateUpdates.nextUpdate, updates = _calculateUpdates.updates;
+
+ if (!(updates && updates.length > 0)) {
+ _context.next = 15;
+ break;
+ }
+
+ readOperationName = _this.readOperationName;
+ readOperation = _this.operations[readOperationName];
+
+ if (readOperation) {
+ _context.next = 13;
+ break;
+ }
+
+ throw new Error("Operation \"" + readOperationName + "\" not found.");
+
+ case 13:
+ _context.next = 15;
+ return _this.operations[readOperationName](updates);
+
+ case 15:
+ _this.debug("Scheduling next update for " + nextUpdate / 1000 + " seconds.");
+
+ updateDevInfo(_this);
+
+ _this.updateTimer(now, nextUpdate);
+
+ _context.next = 21;
+ break;
+
+ case 20:
+ if (_this.timeoutId) {
+ _this.debug('Unscheduling future updates');
+
+ updateDevInfo(_this);
+
+ _this.updateTimer(now, null);
+ }
+
+ case 21:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, _callee);
+ }));
+
+ return function (_x) {
+ return _ref2.apply(this, arguments);
+ };
+ }();
+
+ this.updateTimer = function (now, nextUpdate) {
+ if (nextUpdate === void 0) {
+ nextUpdate = undefined;
+ }
+
+ var requirementsByResource = _this.requirementsByResource,
+ state = _this.state,
+ minUpdate = _this.minUpdate,
+ maxUpdate = _this.maxUpdate;
+ var resourceState = state.resources || {};
+
+ if (undefined === nextUpdate) {
+ nextUpdate = calculateUpdates(requirementsByResource, resourceState, minUpdate, maxUpdate, now).nextUpdate;
+ }
+
+ if (_this.timeoutId) {
+ _this.clearTimer(_this.timeoutId);
+
+ _this.timeoutId = null;
+ }
+
+ if (nextUpdate) {
+ _this.timeoutId = _this.setTimer(_this.updateRequirementsData, nextUpdate);
+ }
+ };
+
+ this.applyOperation =
+ /*#__PURE__*/
+ function () {
+ var _ref3 = Object(asyncToGenerator["a" /* default */])(
+ /*#__PURE__*/
+ regenerator_default.a.mark(function _callee3(apiOperation, resourceNames, data) {
+ var operationResult, values, requests;
+ return regenerator_default.a.wrap(function _callee3$(_context3) {
+ while (1) {
+ switch (_context3.prev = _context3.next) {
+ case 0:
+ _context3.prev = 0;
+
+ _this.dataRequested(resourceNames);
+
+ operationResult = apiOperation(resourceNames, data) || [];
+ values = Object(external_lodash_["isArray"])(operationResult) ? operationResult : [operationResult];
+ requests = values.map(
+ /*#__PURE__*/
+ function () {
+ var _ref4 = Object(asyncToGenerator["a" /* default */])(
+ /*#__PURE__*/
+ regenerator_default.a.mark(function _callee2(value) {
+ var resources;
+ return regenerator_default.a.wrap(function _callee2$(_context2) {
+ while (1) {
+ switch (_context2.prev = _context2.next) {
+ case 0:
+ _context2.next = 2;
+ return value;
+
+ case 2:
+ resources = _context2.sent;
+
+ _this.dataReceived(resources);
+
+ return _context2.abrupt("return", resources);
+
+ case 5:
+ case "end":
+ return _context2.stop();
+ }
+ }
+ }, _callee2);
+ }));
+
+ return function (_x5) {
+ return _ref4.apply(this, arguments);
+ };
+ }());
+ _context3.next = 7;
+ return Promise.all(requests);
+
+ case 7:
+ return _context3.abrupt("return", _context3.sent);
+
+ case 10:
+ _context3.prev = 10;
+ _context3.t0 = _context3["catch"](0);
+
+ _this.debug('Error caught while applying operation: ', apiOperation);
+
+ throw _context3.t0;
+
+ case 14:
+ case "end":
+ return _context3.stop();
+ }
+ }
+ }, _callee3, null, [[0, 10]]);
+ }));
+
+ return function (_x2, _x3, _x4) {
+ return _ref3.apply(this, arguments);
+ };
+ }();
+
+ this.dataRequested = function (resourceNames) {
+ if (!_this.dataHandlers) {
+ _this.debug('Data requested before dataHandlers set. Disregarding.');
+
+ return;
+ }
+
+ _this.dataHandlers.dataRequested(resourceNames);
+
+ return resourceNames;
+ };
+
+ this.dataReceived = function (resources) {
+ if (!_this.dataHandlers) {
+ _this.debug('Data received before dataHandlers set. Disregarding.');
+
+ return;
+ }
+
+ _this.dataHandlers.dataReceived(resources);
+
+ return resources;
+ };
+
+ var _operations = apiSpec.operations,
+ mutations = apiSpec.mutations,
+ _selectors = apiSpec.selectors;
+
+ var _readOperationName = apiSpec.readOperationName || DEFAULT_READ_OPERATION;
+
+ this.uid = Object(external_lodash_["uniqueId"])();
+ this.name = apiSpec.name;
+ this.debug = browser_default()("fresh-data:api-client[" + this.uid + "]");
+ this.debug('New ApiClient for apiSpec: ', apiSpec);
+ this.operations = _operations && this.mapOperations(_operations);
+ this.mutations = mutations && mapFunctions(mutations, this.operations);
+ this.selectors = _selectors;
+ this.readOperationName = _readOperationName;
+ this.dataHandlers = null;
+ this.subscriptionCallbacks = new Set();
+ this.requirementsByComponent = new Map();
+ this.requirementsByResource = {};
+ this.minUpdate = DEFAULT_MIN_UPDATE;
+ this.maxUpdate = DEFAULT_MAX_UPDATE;
+ this.setTimer = setTimer;
+ this.clearTimer = clearTimer;
+ this.timeoutId = null;
+ this.state = {};
+ updateDevInfo(this);
+};
+
+
+
+function mapFunctions(functionsByName) {
+ for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
+ params[_key - 1] = arguments[_key];
+ }
+
+ return Object.keys(functionsByName).reduce(function (mappedFunctions, functionName) {
+ mappedFunctions[functionName] = functionsByName[functionName].apply(functionsByName, params);
+ return mappedFunctions;
+ }, {});
+}
+// CONCATENATED MODULE: ./node_modules/@fresh-data/framework/es/index.js
+/**
+ * This is the public API of Fresh Data.
+ * Below are the parts that can be used within your own application
+ * in order to use Fresh Data with your own APIs.
+ */
+// Instantiate an ApiClient with a given apiSpec.
+ // Use these to express requirement times like freshness and timeout.
+
+
+
+/***/ }),
+
+/***/ 174:
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+if (true) {
+ module.exports = __webpack_require__(210);
+} else {}
+
+
+/***/ }),
+
+/***/ 18:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ BACKSPACE; });
+__webpack_require__.d(__webpack_exports__, "h", function() { return /* binding */ TAB; });
+__webpack_require__.d(__webpack_exports__, "c", function() { return /* binding */ ENTER; });
+__webpack_require__.d(__webpack_exports__, "d", function() { return /* binding */ ESCAPE; });
+__webpack_require__.d(__webpack_exports__, "g", function() { return /* binding */ SPACE; });
+__webpack_require__.d(__webpack_exports__, "e", function() { return /* binding */ LEFT; });
+__webpack_require__.d(__webpack_exports__, "i", function() { return /* binding */ UP; });
+__webpack_require__.d(__webpack_exports__, "f", function() { return /* binding */ RIGHT; });
+__webpack_require__.d(__webpack_exports__, "b", function() { return /* binding */ DOWN; });
+
+// UNUSED EXPORTS: DELETE, F10, ALT, CTRL, COMMAND, SHIFT, modifiers, rawShortcut, displayShortcutList, displayShortcut, shortcutAriaLabel, isKeyboardEvent
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
+var defineProperty = __webpack_require__(13);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 3 modules
+var toConsumableArray = __webpack_require__(17);
+
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__(2);
+
+// EXTERNAL MODULE: external {"this":["wp","i18n"]}
+var external_this_wp_i18n_ = __webpack_require__(3);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/keycodes/build-module/platform.js
+/**
+ * External dependencies
+ */
+
+/**
+ * Return true if platform is MacOS.
+ *
+ * @param {Object} _window window object by default; used for DI testing.
+ *
+ * @return {boolean} True if MacOS; false otherwise.
+ */
+
+function isAppleOS() {
+ var _window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window;
+
+ var platform = _window.navigator.platform;
+ return platform.indexOf('Mac') !== -1 || Object(external_lodash_["includes"])(['iPad', 'iPhone'], platform);
+}
+//# sourceMappingURL=platform.js.map
+// CONCATENATED MODULE: ./node_modules/@wordpress/keycodes/build-module/index.js
+
+
+
+/**
+ * Note: The order of the modifier keys in many of the [foo]Shortcut()
+ * functions in this file are intentional and should not be changed. They're
+ * designed to fit with the standard menu keyboard shortcuts shown in the
+ * user's platform.
+ *
+ * For example, on MacOS menu shortcuts will place Shift before Command, but
+ * on Windows Control will usually come first. So don't provide your own
+ * shortcut combos directly to keyboardShortcut().
+ */
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+/**
+ * @typedef {'primary'|'primaryShift'|'primaryAlt'|'secondary'|'access'|'ctrl'|'alt'|'ctrlShift'|'shift'|'shiftAlt'} WPKeycodeModifier
+ */
+
+/**
+ * An object of handler functions for each of the possible modifier
+ * combinations. A handler will return a value for a given key.
+ *
+ * @typedef {{[M in WPKeycodeModifier]:(key:string)=>any}} WPKeycodeHandlerByModifier
+ */
+
+/**
+ * Keycode for BACKSPACE key.
+ */
+
+var BACKSPACE = 8;
+/**
+ * Keycode for TAB key.
+ */
+
+var TAB = 9;
+/**
+ * Keycode for ENTER key.
+ */
+
+var ENTER = 13;
+/**
+ * Keycode for ESCAPE key.
+ */
+
+var ESCAPE = 27;
+/**
+ * Keycode for SPACE key.
+ */
+
+var SPACE = 32;
+/**
+ * Keycode for LEFT key.
+ */
+
+var LEFT = 37;
+/**
+ * Keycode for UP key.
+ */
+
+var UP = 38;
+/**
+ * Keycode for RIGHT key.
+ */
+
+var RIGHT = 39;
+/**
+ * Keycode for DOWN key.
+ */
+
+var DOWN = 40;
+/**
+ * Keycode for DELETE key.
+ */
+
+var DELETE = 46;
+/**
+ * Keycode for F10 key.
+ */
+
+var F10 = 121;
+/**
+ * Keycode for ALT key.
+ */
+
+var ALT = 'alt';
+/**
+ * Keycode for CTRL key.
+ */
+
+var CTRL = 'ctrl';
+/**
+ * Keycode for COMMAND/META key.
+ */
+
+var COMMAND = 'meta';
+/**
+ * Keycode for SHIFT key.
+ */
+
+var SHIFT = 'shift';
+/**
+ * Object that contains functions that return the available modifier
+ * depending on platform.
+ *
+ * - `primary`: takes a isApple function as a parameter.
+ * - `primaryShift`: takes a isApple function as a parameter.
+ * - `primaryAlt`: takes a isApple function as a parameter.
+ * - `secondary`: takes a isApple function as a parameter.
+ * - `access`: takes a isApple function as a parameter.
+ * - `ctrl`
+ * - `alt`
+ * - `ctrlShift`
+ * - `shift`
+ * - `shiftAlt`
+ */
+
+var modifiers = {
+ primary: function primary(_isApple) {
+ return _isApple() ? [COMMAND] : [CTRL];
+ },
+ primaryShift: function primaryShift(_isApple) {
+ return _isApple() ? [SHIFT, COMMAND] : [CTRL, SHIFT];
+ },
+ primaryAlt: function primaryAlt(_isApple) {
+ return _isApple() ? [ALT, COMMAND] : [CTRL, ALT];
+ },
+ secondary: function secondary(_isApple) {
+ return _isApple() ? [SHIFT, ALT, COMMAND] : [CTRL, SHIFT, ALT];
+ },
+ access: function access(_isApple) {
+ return _isApple() ? [CTRL, ALT] : [SHIFT, ALT];
+ },
+ ctrl: function ctrl() {
+ return [CTRL];
+ },
+ alt: function alt() {
+ return [ALT];
+ },
+ ctrlShift: function ctrlShift() {
+ return [CTRL, SHIFT];
+ },
+ shift: function shift() {
+ return [SHIFT];
+ },
+ shiftAlt: function shiftAlt() {
+ return [SHIFT, ALT];
+ }
+};
+/**
+ * An object that contains functions to get raw shortcuts.
+ * E.g. rawShortcut.primary( 'm' ) will return 'meta+m' on Mac.
+ * These are intended for user with the KeyboardShortcuts component or TinyMCE.
+ *
+ * @type {WPKeycodeHandlerByModifier} Keyed map of functions to raw shortcuts.
+ */
+
+var rawShortcut = Object(external_lodash_["mapValues"])(modifiers, function (modifier) {
+ return function (character) {
+ var _isApple = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : isAppleOS;
+
+ return [].concat(Object(toConsumableArray["a" /* default */])(modifier(_isApple)), [character.toLowerCase()]).join('+');
+ };
+});
+/**
+ * Return an array of the parts of a keyboard shortcut chord for display
+ * E.g displayShortcutList.primary( 'm' ) will return [ '⌘', 'M' ] on Mac.
+ *
+ * @type {WPKeycodeHandlerByModifier} Keyed map of functions to shortcut
+ * sequences.
+ */
+
+var displayShortcutList = Object(external_lodash_["mapValues"])(modifiers, function (modifier) {
+ return function (character) {
+ var _replacementKeyMap;
+
+ var _isApple = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : isAppleOS;
+
+ var isApple = _isApple();
+
+ var replacementKeyMap = (_replacementKeyMap = {}, Object(defineProperty["a" /* default */])(_replacementKeyMap, ALT, isApple ? '⌥' : 'Alt'), Object(defineProperty["a" /* default */])(_replacementKeyMap, CTRL, isApple ? '^' : 'Ctrl'), Object(defineProperty["a" /* default */])(_replacementKeyMap, COMMAND, '⌘'), Object(defineProperty["a" /* default */])(_replacementKeyMap, SHIFT, isApple ? '⇧' : 'Shift'), _replacementKeyMap);
+ var modifierKeys = modifier(_isApple).reduce(function (accumulator, key) {
+ var replacementKey = Object(external_lodash_["get"])(replacementKeyMap, key, key); // If on the Mac, adhere to platform convention and don't show plus between keys.
+
+ if (isApple) {
+ return [].concat(Object(toConsumableArray["a" /* default */])(accumulator), [replacementKey]);
+ }
+
+ return [].concat(Object(toConsumableArray["a" /* default */])(accumulator), [replacementKey, '+']);
+ }, []);
+ var capitalizedCharacter = Object(external_lodash_["capitalize"])(character);
+ return [].concat(Object(toConsumableArray["a" /* default */])(modifierKeys), [capitalizedCharacter]);
+ };
+});
+/**
+ * An object that contains functions to display shortcuts.
+ * E.g. displayShortcut.primary( 'm' ) will return '⌘M' on Mac.
+ *
+ * @type {WPKeycodeHandlerByModifier} Keyed map of functions to display
+ * shortcuts.
+ */
+
+var displayShortcut = Object(external_lodash_["mapValues"])(displayShortcutList, function (shortcutList) {
+ return function (character) {
+ var _isApple = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : isAppleOS;
+
+ return shortcutList(character, _isApple).join('');
+ };
+});
+/**
+ * An object that contains functions to return an aria label for a keyboard shortcut.
+ * E.g. shortcutAriaLabel.primary( '.' ) will return 'Command + Period' on Mac.
+ *
+ * @type {WPKeycodeHandlerByModifier} Keyed map of functions to shortcut ARIA
+ * labels.
+ */
+
+var shortcutAriaLabel = Object(external_lodash_["mapValues"])(modifiers, function (modifier) {
+ return function (character) {
+ var _replacementKeyMap2;
+
+ var _isApple = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : isAppleOS;
+
+ var isApple = _isApple();
+
+ var replacementKeyMap = (_replacementKeyMap2 = {}, Object(defineProperty["a" /* default */])(_replacementKeyMap2, SHIFT, 'Shift'), Object(defineProperty["a" /* default */])(_replacementKeyMap2, COMMAND, isApple ? 'Command' : 'Control'), Object(defineProperty["a" /* default */])(_replacementKeyMap2, CTRL, 'Control'), Object(defineProperty["a" /* default */])(_replacementKeyMap2, ALT, isApple ? 'Option' : 'Alt'), Object(defineProperty["a" /* default */])(_replacementKeyMap2, ',', Object(external_this_wp_i18n_["__"])('Comma')), Object(defineProperty["a" /* default */])(_replacementKeyMap2, '.', Object(external_this_wp_i18n_["__"])('Period')), Object(defineProperty["a" /* default */])(_replacementKeyMap2, '`', Object(external_this_wp_i18n_["__"])('Backtick')), _replacementKeyMap2);
+ return [].concat(Object(toConsumableArray["a" /* default */])(modifier(_isApple)), [character]).map(function (key) {
+ return Object(external_lodash_["capitalize"])(Object(external_lodash_["get"])(replacementKeyMap, key, key));
+ }).join(isApple ? ' ' : ' + ');
+ };
+});
+/**
+ * An object that contains functions to check if a keyboard event matches a
+ * predefined shortcut combination.
+ * E.g. isKeyboardEvent.primary( event, 'm' ) will return true if the event
+ * signals pressing ⌘M.
+ *
+ * @type {WPKeycodeHandlerByModifier} Keyed map of functions to match events.
+ */
+
+var isKeyboardEvent = Object(external_lodash_["mapValues"])(modifiers, function (getModifiers) {
+ return function (event, character) {
+ var _isApple = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : isAppleOS;
+
+ var mods = getModifiers(_isApple);
+
+ if (!mods.every(function (key) {
+ return event["".concat(key, "Key")];
+ })) {
+ return false;
+ }
+
+ if (!character) {
+ return Object(external_lodash_["includes"])(mods, event.key.toLowerCase());
+ }
+
+ return event.key === character;
+ };
+});
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 19:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wp"]["data"]; }());
+
+/***/ }),
+
+/***/ 198:
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var reactIs = __webpack_require__(174);
+
+/**
+ * Copyright 2015, Yahoo! Inc.
+ * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
+ */
+var REACT_STATICS = {
+ childContextTypes: true,
+ contextType: true,
+ contextTypes: true,
+ defaultProps: true,
+ displayName: true,
+ getDefaultProps: true,
+ getDerivedStateFromError: true,
+ getDerivedStateFromProps: true,
+ mixins: true,
+ propTypes: true,
+ type: true
+};
+var KNOWN_STATICS = {
+ name: true,
+ length: true,
+ prototype: true,
+ caller: true,
+ callee: true,
+ arguments: true,
+ arity: true
+};
+var FORWARD_REF_STATICS = {
+ '$$typeof': true,
+ render: true,
+ defaultProps: true,
+ displayName: true,
+ propTypes: true
+};
+var MEMO_STATICS = {
+ '$$typeof': true,
+ compare: true,
+ defaultProps: true,
+ displayName: true,
+ propTypes: true,
+ type: true
+};
+var TYPE_STATICS = {};
+TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;
+TYPE_STATICS[reactIs.Memo] = MEMO_STATICS;
+
+function getStatics(component) {
+ // React v16.11 and below
+ if (reactIs.isMemo(component)) {
+ return MEMO_STATICS;
+ } // React v16.12 and above
+
+
+ return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;
+}
+
+var defineProperty = Object.defineProperty;
+var getOwnPropertyNames = Object.getOwnPropertyNames;
+var getOwnPropertySymbols = Object.getOwnPropertySymbols;
+var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
+var getPrototypeOf = Object.getPrototypeOf;
+var objectPrototype = Object.prototype;
+function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {
+ if (typeof sourceComponent !== 'string') {
+ // don't hoist over string (html) components
+ if (objectPrototype) {
+ var inheritedComponent = getPrototypeOf(sourceComponent);
+
+ if (inheritedComponent && inheritedComponent !== objectPrototype) {
+ hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);
+ }
+ }
+
+ var keys = getOwnPropertyNames(sourceComponent);
+
+ if (getOwnPropertySymbols) {
+ keys = keys.concat(getOwnPropertySymbols(sourceComponent));
+ }
+
+ var targetStatics = getStatics(targetComponent);
+ var sourceStatics = getStatics(sourceComponent);
+
+ for (var i = 0; i < keys.length; ++i) {
+ var key = keys[i];
+
+ if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {
+ var descriptor = getOwnPropertyDescriptor(sourceComponent, key);
+
+ try {
+ // Avoid failures from read-only properties
+ defineProperty(targetComponent, key, descriptor);
+ } catch (e) {}
+ }
+ }
+ }
+
+ return targetComponent;
+}
+
+module.exports = hoistNonReactStatics;
+
+
+/***/ }),
+
+/***/ 199:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(48);
+/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(26);
+/* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(200);
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+var manageStock = Object(_settings__WEBPACK_IMPORTED_MODULE_3__[/* getSetting */ "g"])('manageStock', 'no');
+/**
+ * Internal dependencies
+ */
+
+var RevenueReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["lazy"])(function () {
+ return Promise.all(/* import() | analytics-report-revenue */[__webpack_require__.e(1), __webpack_require__.e(0), __webpack_require__.e(15)]).then(__webpack_require__.bind(null, 725));
+});
+var ProductsReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["lazy"])(function () {
+ return Promise.all(/* import() | analytics-report-products */[__webpack_require__.e(1), __webpack_require__.e(0), __webpack_require__.e(4), __webpack_require__.e(14)]).then(__webpack_require__.bind(null, 731));
+});
+var OrdersReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["lazy"])(function () {
+ return Promise.all(/* import() | analytics-report-orders */[__webpack_require__.e(1), __webpack_require__.e(0), __webpack_require__.e(13)]).then(__webpack_require__.bind(null, 730));
+});
+var CategoriesReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["lazy"])(function () {
+ return Promise.all(/* import() | analytics-report-categories */[__webpack_require__.e(1), __webpack_require__.e(0), __webpack_require__.e(4), __webpack_require__.e(9)]).then(__webpack_require__.bind(null, 724));
+});
+var CouponsReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["lazy"])(function () {
+ return Promise.all(/* import() | analytics-report-coupons */[__webpack_require__.e(1), __webpack_require__.e(0), __webpack_require__.e(10)]).then(__webpack_require__.bind(null, 729));
+});
+var TaxesReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["lazy"])(function () {
+ return Promise.all(/* import() | analytics-report-taxes */[__webpack_require__.e(1), __webpack_require__.e(0), __webpack_require__.e(17)]).then(__webpack_require__.bind(null, 728));
+});
+var DownloadsReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["lazy"])(function () {
+ return Promise.all(/* import() | analytics-report-downloads */[__webpack_require__.e(1), __webpack_require__.e(0), __webpack_require__.e(12)]).then(__webpack_require__.bind(null, 727));
+});
+var StockReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["lazy"])(function () {
+ return Promise.all(/* import() | analytics-report-stock */[__webpack_require__.e(0), __webpack_require__.e(16)]).then(__webpack_require__.bind(null, 722));
+});
+var CustomersReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["lazy"])(function () {
+ return Promise.all(/* import() | analytics-report-customers */[__webpack_require__.e(0), __webpack_require__.e(11)]).then(__webpack_require__.bind(null, 723));
+});
+
+/* harmony default export */ __webpack_exports__["a"] = (function () {
+ var reports = [{
+ report: 'revenue',
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Revenue', 'woocommerce-admin'),
+ component: RevenueReport
+ }, {
+ report: 'products',
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Products', 'woocommerce-admin'),
+ component: ProductsReport
+ }, {
+ report: 'orders',
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Orders', 'woocommerce-admin'),
+ component: OrdersReport
+ }, {
+ report: 'categories',
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Categories', 'woocommerce-admin'),
+ component: CategoriesReport
+ }, {
+ report: 'coupons',
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Coupons', 'woocommerce-admin'),
+ component: CouponsReport
+ }, {
+ report: 'taxes',
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Taxes', 'woocommerce-admin'),
+ component: TaxesReport
+ }, {
+ report: 'downloads',
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Downloads', 'woocommerce-admin'),
+ component: DownloadsReport
+ }, manageStock === 'yes' ? {
+ report: 'stock',
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Stock', 'woocommerce-admin'),
+ component: StockReport
+ } : null, {
+ report: 'customers',
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Customers', 'woocommerce-admin'),
+ component: CustomersReport
+ }, {
+ report: 'downloads',
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Downloads', 'woocommerce-admin'),
+ component: DownloadsReport
+ }].filter(Boolean);
+ return Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__["applyFilters"])(_index__WEBPACK_IMPORTED_MODULE_4__["REPORTS_FILTER"], reports);
+});
+
+/***/ }),
+
+/***/ 2:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["lodash"]; }());
+
+/***/ }),
+
+/***/ 20:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wp"]["apiFetch"]; }());
+
+/***/ }),
+
+/***/ 200:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "REPORTS_FILTER", function() { return REPORTS_FILTER; });
+/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15);
+/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(41);
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(40);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(44);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(29);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(42);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(256);
+/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(1);
+/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_9__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_10__);
+/* harmony import */ var _woocommerce_navigation__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(22);
+/* harmony import */ var _woocommerce_navigation__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_11__);
+/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(435);
+/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_12__);
+/* harmony import */ var analytics_components_report_error__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(261);
+/* harmony import */ var wc_api_items_utils__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(267);
+/* harmony import */ var wc_api_with_select__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(101);
+/* harmony import */ var lib_currency_context__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(203);
+/* harmony import */ var _get_reports__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(199);
+
+
+
+
+
+
+
+
+function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+function _createSuper(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+var REPORTS_FILTER = 'woocommerce_admin_reports_list';
+/**
+ * The Customers Report will not have the `report` param supplied by the router/
+ * because it no longer exists under the path `/analytics/:report`. Use `props.path`/
+ * instead to determine if the Customers Report is being rendered.
+ *
+ * @param {Object} params -url parameters
+ * @return {string} - report parameter
+ */
+
+var getReportParam = function getReportParam(_ref) {
+ var params = _ref.params,
+ path = _ref.path;
+ return params.report || path.replace(/^\/+/, '');
+};
+
+var Report = /*#__PURE__*/function (_Component) {
+ _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(Report, _Component);
+
+ var _super = _createSuper(Report);
+
+ function Report() {
+ var _this;
+
+ _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, Report);
+
+ _this = _super.apply(this, arguments);
+ _this.state = {
+ hasError: false
+ };
+ return _this;
+ }
+
+ _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(Report, [{
+ key: "componentDidCatch",
+ value: function componentDidCatch(error) {
+ this.setState({
+ hasError: true
+ });
+ /* eslint-disable no-console */
+
+ console.warn(error);
+ /* eslint-enable no-console */
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ if (this.state.hasError) {
+ return null;
+ }
+
+ var isError = this.props.isError;
+
+ if (isError) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["createElement"])(analytics_components_report_error__WEBPACK_IMPORTED_MODULE_13__[/* default */ "a"], {
+ isError: true
+ });
+ }
+
+ var reportParam = getReportParam(this.props);
+ var report = Object(lodash__WEBPACK_IMPORTED_MODULE_9__["find"])(Object(_get_reports__WEBPACK_IMPORTED_MODULE_17__[/* default */ "a"])(), {
+ report: reportParam
+ });
+
+ if (!report) {
+ return null;
+ }
+
+ var Container = report.component;
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["createElement"])(lib_currency_context__WEBPACK_IMPORTED_MODULE_16__[/* CurrencyContext */ "a"].Provider, {
+ value: Object(lib_currency_context__WEBPACK_IMPORTED_MODULE_16__[/* getFilteredCurrencyInstance */ "b"])(Object(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_11__["getQuery"])())
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["createElement"])(Container, this.props));
+ }
+ }]);
+
+ return Report;
+}(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["Component"]);
+
+Report.propTypes = {
+ params: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.object.isRequired
+};
+/* harmony default export */ __webpack_exports__["default"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_7__[/* default */ "a"])(Object(_woocommerce_components__WEBPACK_IMPORTED_MODULE_10__["useFilters"])(REPORTS_FILTER), Object(wc_api_with_select__WEBPACK_IMPORTED_MODULE_15__[/* default */ "a"])(function (select, props) {
+ var query = Object(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_11__["getQuery"])();
+ var search = query.search;
+
+ if (!search) {
+ return {};
+ }
+
+ var report = getReportParam(props);
+ var searchWords = Object(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_11__["getSearchWords"])(query); // Single Category view in Categories Report uses the products endpoint, so search must also.
+
+ var mappedReport = report === 'categories' && query.filter === 'single_category' ? 'products' : report;
+ var itemsResult = Object(wc_api_items_utils__WEBPACK_IMPORTED_MODULE_14__[/* searchItemsByString */ "b"])(select, mappedReport, searchWords);
+ var isError = itemsResult.isError,
+ isRequesting = itemsResult.isRequesting,
+ items = itemsResult.items;
+ var ids = Object.keys(items);
+
+ if (!ids.length) {
+ return {
+ isError: isError,
+ isRequesting: isRequesting
+ };
+ }
+
+ return {
+ isError: isError,
+ isRequesting: isRequesting,
+ query: _objectSpread({}, props.query, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()({}, mappedReport, ids.join(',')))
+ };
+}))(Report));
+
+/***/ }),
+
+/***/ 201:
+/***/ (function(module, exports) {
+
+function _inheritsLoose(subClass, superClass) {
+ subClass.prototype = Object.create(superClass.prototype);
+ subClass.prototype.constructor = subClass;
+ subClass.__proto__ = superClass;
+}
+
+module.exports = _inheritsLoose;
+
+/***/ }),
+
+/***/ 202:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, "c", function() { return /* binding */ layout_PrimaryLayout; });
+__webpack_require__.d(__webpack_exports__, "b", function() { return /* binding */ PageLayout; });
+__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ layout_EmbedLayout; });
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/extends.js
+var helpers_extends = __webpack_require__(105);
+var extends_default = /*#__PURE__*/__webpack_require__.n(helpers_extends);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js
+var defineProperty = __webpack_require__(15);
+var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectWithoutProperties.js
+var objectWithoutProperties = __webpack_require__(121);
+var objectWithoutProperties_default = /*#__PURE__*/__webpack_require__.n(objectWithoutProperties);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js
+var classCallCheck = __webpack_require__(41);
+var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js
+var createClass = __webpack_require__(40);
+var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(44);
+var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(29);
+var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js
+var inherits = __webpack_require__(42);
+var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/compose/build-module/higher-order/compose.js
+var compose = __webpack_require__(256);
+
+// EXTERNAL MODULE: external {"this":["wp","data"]}
+var external_this_wp_data_ = __webpack_require__(19);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js
+var inheritsLoose = __webpack_require__(76);
+
+// EXTERNAL MODULE: external "React"
+var external_React_ = __webpack_require__(14);
+var external_React_default = /*#__PURE__*/__webpack_require__.n(external_React_);
+
+// EXTERNAL MODULE: ./node_modules/prop-types/index.js
+var prop_types = __webpack_require__(1);
+var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
+
+// EXTERNAL MODULE: ./node_modules/history/esm/history.js + 2 modules
+var esm_history = __webpack_require__(90);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inheritsLoose.js
+var helpers_inheritsLoose = __webpack_require__(201);
+var inheritsLoose_default = /*#__PURE__*/__webpack_require__.n(helpers_inheritsLoose);
+
+// EXTERNAL MODULE: ./node_modules/gud/index.js
+var gud = __webpack_require__(416);
+var gud_default = /*#__PURE__*/__webpack_require__.n(gud);
+
+// CONCATENATED MODULE: ./node_modules/mini-create-react-context/dist/esm/index.js
+
+
+
+
+
+
+var MAX_SIGNED_31_BIT_INT = 1073741823;
+
+function objectIs(x, y) {
+ if (x === y) {
+ return x !== 0 || 1 / x === 1 / y;
+ } else {
+ return x !== x && y !== y;
+ }
+}
+
+function createEventEmitter(value) {
+ var handlers = [];
+ return {
+ on: function on(handler) {
+ handlers.push(handler);
+ },
+ off: function off(handler) {
+ handlers = handlers.filter(function (h) {
+ return h !== handler;
+ });
+ },
+ get: function get() {
+ return value;
+ },
+ set: function set(newValue, changedBits) {
+ value = newValue;
+ handlers.forEach(function (handler) {
+ return handler(value, changedBits);
+ });
+ }
+ };
+}
+
+function onlyChild(children) {
+ return Array.isArray(children) ? children[0] : children;
+}
+
+function createReactContext(defaultValue, calculateChangedBits) {
+ var _Provider$childContex, _Consumer$contextType;
+
+ var contextProp = '__create-react-context-' + gud_default()() + '__';
+
+ var Provider =
+ /*#__PURE__*/
+ function (_Component) {
+ inheritsLoose_default()(Provider, _Component);
+
+ function Provider() {
+ var _this;
+
+ _this = _Component.apply(this, arguments) || this;
+ _this.emitter = createEventEmitter(_this.props.value);
+ return _this;
+ }
+
+ var _proto = Provider.prototype;
+
+ _proto.getChildContext = function getChildContext() {
+ var _ref;
+
+ return _ref = {}, _ref[contextProp] = this.emitter, _ref;
+ };
+
+ _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
+ if (this.props.value !== nextProps.value) {
+ var oldValue = this.props.value;
+ var newValue = nextProps.value;
+ var changedBits;
+
+ if (objectIs(oldValue, newValue)) {
+ changedBits = 0;
+ } else {
+ changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;
+
+ if (false) {}
+
+ changedBits |= 0;
+
+ if (changedBits !== 0) {
+ this.emitter.set(nextProps.value, changedBits);
+ }
+ }
+ }
+ };
+
+ _proto.render = function render() {
+ return this.props.children;
+ };
+
+ return Provider;
+ }(external_React_["Component"]);
+
+ Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = prop_types_default.a.object.isRequired, _Provider$childContex);
+
+ var Consumer =
+ /*#__PURE__*/
+ function (_Component2) {
+ inheritsLoose_default()(Consumer, _Component2);
+
+ function Consumer() {
+ var _this2;
+
+ _this2 = _Component2.apply(this, arguments) || this;
+ _this2.state = {
+ value: _this2.getValue()
+ };
+
+ _this2.onUpdate = function (newValue, changedBits) {
+ var observedBits = _this2.observedBits | 0;
+
+ if ((observedBits & changedBits) !== 0) {
+ _this2.setState({
+ value: _this2.getValue()
+ });
+ }
+ };
+
+ return _this2;
+ }
+
+ var _proto2 = Consumer.prototype;
+
+ _proto2.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
+ var observedBits = nextProps.observedBits;
+ this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;
+ };
+
+ _proto2.componentDidMount = function componentDidMount() {
+ if (this.context[contextProp]) {
+ this.context[contextProp].on(this.onUpdate);
+ }
+
+ var observedBits = this.props.observedBits;
+ this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;
+ };
+
+ _proto2.componentWillUnmount = function componentWillUnmount() {
+ if (this.context[contextProp]) {
+ this.context[contextProp].off(this.onUpdate);
+ }
+ };
+
+ _proto2.getValue = function getValue() {
+ if (this.context[contextProp]) {
+ return this.context[contextProp].get();
+ } else {
+ return defaultValue;
+ }
+ };
+
+ _proto2.render = function render() {
+ return onlyChild(this.props.children)(this.state.value);
+ };
+
+ return Consumer;
+ }(external_React_["Component"]);
+
+ Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = prop_types_default.a.object, _Consumer$contextType);
+ return {
+ Provider: Provider,
+ Consumer: Consumer
+ };
+}
+
+var index = external_React_default.a.createContext || createReactContext;
+
+/* harmony default export */ var esm = (index);
+
+// EXTERNAL MODULE: ./node_modules/tiny-invariant/dist/tiny-invariant.esm.js
+var tiny_invariant_esm = __webpack_require__(78);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
+var esm_extends = __webpack_require__(11);
+
+// EXTERNAL MODULE: ./node_modules/react-router/node_modules/path-to-regexp/index.js
+var path_to_regexp = __webpack_require__(258);
+var path_to_regexp_default = /*#__PURE__*/__webpack_require__.n(path_to_regexp);
+
+// EXTERNAL MODULE: ./node_modules/react-is/index.js
+var react_is = __webpack_require__(174);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js
+var objectWithoutPropertiesLoose = __webpack_require__(54);
+
+// EXTERNAL MODULE: ./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js
+var hoist_non_react_statics_cjs = __webpack_require__(198);
+var hoist_non_react_statics_cjs_default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics_cjs);
+
+// CONCATENATED MODULE: ./node_modules/react-router/esm/react-router.js
+
+
+
+
+
+
+
+
+
+
+
+
+
+// TODO: Replace with React.createContext once we can assume React 16+
+
+var react_router_createNamedContext = function createNamedContext(name) {
+ var context = esm();
+ context.displayName = name;
+ return context;
+};
+
+var react_router_context =
+/*#__PURE__*/
+react_router_createNamedContext("Router");
+
+/**
+ * The public API for putting history on context.
+ */
+
+var react_router_Router =
+/*#__PURE__*/
+function (_React$Component) {
+ Object(inheritsLoose["a" /* default */])(Router, _React$Component);
+
+ Router.computeRootMatch = function computeRootMatch(pathname) {
+ return {
+ path: "/",
+ url: "/",
+ params: {},
+ isExact: pathname === "/"
+ };
+ };
+
+ function Router(props) {
+ var _this;
+
+ _this = _React$Component.call(this, props) || this;
+ _this.state = {
+ location: props.history.location
+ }; // This is a bit of a hack. We have to start listening for location
+ // changes here in the constructor in case there are any s
+ // on the initial render. If there are, they will replace/push when
+ // they mount and since cDM fires in children before parents, we may
+ // get a new location before the is mounted.
+
+ _this._isMounted = false;
+ _this._pendingLocation = null;
+
+ if (!props.staticContext) {
+ _this.unlisten = props.history.listen(function (location) {
+ if (_this._isMounted) {
+ _this.setState({
+ location: location
+ });
+ } else {
+ _this._pendingLocation = location;
+ }
+ });
+ }
+
+ return _this;
+ }
+
+ var _proto = Router.prototype;
+
+ _proto.componentDidMount = function componentDidMount() {
+ this._isMounted = true;
+
+ if (this._pendingLocation) {
+ this.setState({
+ location: this._pendingLocation
+ });
+ }
+ };
+
+ _proto.componentWillUnmount = function componentWillUnmount() {
+ if (this.unlisten) this.unlisten();
+ };
+
+ _proto.render = function render() {
+ return external_React_default.a.createElement(react_router_context.Provider, {
+ children: this.props.children || null,
+ value: {
+ history: this.props.history,
+ location: this.state.location,
+ match: Router.computeRootMatch(this.state.location.pathname),
+ staticContext: this.props.staticContext
+ }
+ });
+ };
+
+ return Router;
+}(external_React_default.a.Component);
+
+if (false) {}
+
+/**
+ * The public API for a that stores location in memory.
+ */
+
+var react_router_MemoryRouter =
+/*#__PURE__*/
+function (_React$Component) {
+ Object(inheritsLoose["a" /* default */])(MemoryRouter, _React$Component);
+
+ function MemoryRouter() {
+ var _this;
+
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
+ args[_key] = arguments[_key];
+ }
+
+ _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
+ _this.history = Object(esm_history["c" /* createMemoryHistory */])(_this.props);
+ return _this;
+ }
+
+ var _proto = MemoryRouter.prototype;
+
+ _proto.render = function render() {
+ return external_React_default.a.createElement(react_router_Router, {
+ history: this.history,
+ children: this.props.children
+ });
+ };
+
+ return MemoryRouter;
+}(external_React_default.a.Component);
+
+if (false) {}
+
+var react_router_Lifecycle =
+/*#__PURE__*/
+function (_React$Component) {
+ Object(inheritsLoose["a" /* default */])(Lifecycle, _React$Component);
+
+ function Lifecycle() {
+ return _React$Component.apply(this, arguments) || this;
+ }
+
+ var _proto = Lifecycle.prototype;
+
+ _proto.componentDidMount = function componentDidMount() {
+ if (this.props.onMount) this.props.onMount.call(this, this);
+ };
+
+ _proto.componentDidUpdate = function componentDidUpdate(prevProps) {
+ if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);
+ };
+
+ _proto.componentWillUnmount = function componentWillUnmount() {
+ if (this.props.onUnmount) this.props.onUnmount.call(this, this);
+ };
+
+ _proto.render = function render() {
+ return null;
+ };
+
+ return Lifecycle;
+}(external_React_default.a.Component);
+
+/**
+ * The public API for prompting the user before navigating away from a screen.
+ */
+
+function Prompt(_ref) {
+ var message = _ref.message,
+ _ref$when = _ref.when,
+ when = _ref$when === void 0 ? true : _ref$when;
+ return external_React_default.a.createElement(react_router_context.Consumer, null, function (context) {
+ !context ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0;
+ if (!when || context.staticContext) return null;
+ var method = context.history.block;
+ return external_React_default.a.createElement(react_router_Lifecycle, {
+ onMount: function onMount(self) {
+ self.release = method(message);
+ },
+ onUpdate: function onUpdate(self, prevProps) {
+ if (prevProps.message !== message) {
+ self.release();
+ self.release = method(message);
+ }
+ },
+ onUnmount: function onUnmount(self) {
+ self.release();
+ },
+ message: message
+ });
+ });
+}
+
+if (false) { var messageType; }
+
+var cache = {};
+var cacheLimit = 10000;
+var cacheCount = 0;
+
+function compilePath(path) {
+ if (cache[path]) return cache[path];
+ var generator = path_to_regexp_default.a.compile(path);
+
+ if (cacheCount < cacheLimit) {
+ cache[path] = generator;
+ cacheCount++;
+ }
+
+ return generator;
+}
+/**
+ * Public API for generating a URL pathname from a path and parameters.
+ */
+
+
+function generatePath(path, params) {
+ if (path === void 0) {
+ path = "/";
+ }
+
+ if (params === void 0) {
+ params = {};
+ }
+
+ return path === "/" ? path : compilePath(path)(params, {
+ pretty: true
+ });
+}
+
+/**
+ * The public API for navigating programmatically with a component.
+ */
+
+function Redirect(_ref) {
+ var computedMatch = _ref.computedMatch,
+ to = _ref.to,
+ _ref$push = _ref.push,
+ push = _ref$push === void 0 ? false : _ref$push;
+ return external_React_default.a.createElement(react_router_context.Consumer, null, function (context) {
+ !context ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0;
+ var history = context.history,
+ staticContext = context.staticContext;
+ var method = push ? history.push : history.replace;
+ var location = Object(esm_history["b" /* createLocation */])(computedMatch ? typeof to === "string" ? generatePath(to, computedMatch.params) : Object(esm_extends["a" /* default */])({}, to, {
+ pathname: generatePath(to.pathname, computedMatch.params)
+ }) : to); // When rendering in a static context,
+ // set the new location immediately.
+
+ if (staticContext) {
+ method(location);
+ return null;
+ }
+
+ return external_React_default.a.createElement(react_router_Lifecycle, {
+ onMount: function onMount() {
+ method(location);
+ },
+ onUpdate: function onUpdate(self, prevProps) {
+ var prevLocation = Object(esm_history["b" /* createLocation */])(prevProps.to);
+
+ if (!Object(esm_history["e" /* locationsAreEqual */])(prevLocation, Object(esm_extends["a" /* default */])({}, location, {
+ key: prevLocation.key
+ }))) {
+ method(location);
+ }
+ },
+ to: to
+ });
+ });
+}
+
+if (false) {}
+
+var cache$1 = {};
+var cacheLimit$1 = 10000;
+var cacheCount$1 = 0;
+
+function compilePath$1(path, options) {
+ var cacheKey = "" + options.end + options.strict + options.sensitive;
+ var pathCache = cache$1[cacheKey] || (cache$1[cacheKey] = {});
+ if (pathCache[path]) return pathCache[path];
+ var keys = [];
+ var regexp = path_to_regexp_default()(path, keys, options);
+ var result = {
+ regexp: regexp,
+ keys: keys
+ };
+
+ if (cacheCount$1 < cacheLimit$1) {
+ pathCache[path] = result;
+ cacheCount$1++;
+ }
+
+ return result;
+}
+/**
+ * Public API for matching a URL pathname to a path.
+ */
+
+
+function matchPath(pathname, options) {
+ if (options === void 0) {
+ options = {};
+ }
+
+ if (typeof options === "string" || Array.isArray(options)) {
+ options = {
+ path: options
+ };
+ }
+
+ var _options = options,
+ path = _options.path,
+ _options$exact = _options.exact,
+ exact = _options$exact === void 0 ? false : _options$exact,
+ _options$strict = _options.strict,
+ strict = _options$strict === void 0 ? false : _options$strict,
+ _options$sensitive = _options.sensitive,
+ sensitive = _options$sensitive === void 0 ? false : _options$sensitive;
+ var paths = [].concat(path);
+ return paths.reduce(function (matched, path) {
+ if (!path && path !== "") return null;
+ if (matched) return matched;
+
+ var _compilePath = compilePath$1(path, {
+ end: exact,
+ strict: strict,
+ sensitive: sensitive
+ }),
+ regexp = _compilePath.regexp,
+ keys = _compilePath.keys;
+
+ var match = regexp.exec(pathname);
+ if (!match) return null;
+ var url = match[0],
+ values = match.slice(1);
+ var isExact = pathname === url;
+ if (exact && !isExact) return null;
+ return {
+ path: path,
+ // the path used to match
+ url: path === "/" && url === "" ? "/" : url,
+ // the matched portion of the URL
+ isExact: isExact,
+ // whether or not we matched exactly
+ params: keys.reduce(function (memo, key, index) {
+ memo[key.name] = values[index];
+ return memo;
+ }, {})
+ };
+ }, null);
+}
+
+function isEmptyChildren(children) {
+ return external_React_default.a.Children.count(children) === 0;
+}
+
+function evalChildrenDev(children, props, path) {
+ var value = children(props);
+ false ? undefined : void 0;
+ return value || null;
+}
+/**
+ * The public API for matching a single path and rendering.
+ */
+
+
+var react_router_Route =
+/*#__PURE__*/
+function (_React$Component) {
+ Object(inheritsLoose["a" /* default */])(Route, _React$Component);
+
+ function Route() {
+ return _React$Component.apply(this, arguments) || this;
+ }
+
+ var _proto = Route.prototype;
+
+ _proto.render = function render() {
+ var _this = this;
+
+ return external_React_default.a.createElement(react_router_context.Consumer, null, function (context$1) {
+ !context$1 ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0;
+ var location = _this.props.location || context$1.location;
+ var match = _this.props.computedMatch ? _this.props.computedMatch // already computed the match for us
+ : _this.props.path ? matchPath(location.pathname, _this.props) : context$1.match;
+
+ var props = Object(esm_extends["a" /* default */])({}, context$1, {
+ location: location,
+ match: match
+ });
+
+ var _this$props = _this.props,
+ children = _this$props.children,
+ component = _this$props.component,
+ render = _this$props.render; // Preact uses an empty array as children by
+ // default, so use null if that's the case.
+
+ if (Array.isArray(children) && children.length === 0) {
+ children = null;
+ }
+
+ return external_React_default.a.createElement(react_router_context.Provider, {
+ value: props
+ }, props.match ? children ? typeof children === "function" ? false ? undefined : children(props) : children : component ? external_React_default.a.createElement(component, props) : render ? render(props) : null : typeof children === "function" ? false ? undefined : children(props) : null);
+ });
+ };
+
+ return Route;
+}(external_React_default.a.Component);
+
+if (false) {}
+
+function addLeadingSlash(path) {
+ return path.charAt(0) === "/" ? path : "/" + path;
+}
+
+function addBasename(basename, location) {
+ if (!basename) return location;
+ return Object(esm_extends["a" /* default */])({}, location, {
+ pathname: addLeadingSlash(basename) + location.pathname
+ });
+}
+
+function stripBasename(basename, location) {
+ if (!basename) return location;
+ var base = addLeadingSlash(basename);
+ if (location.pathname.indexOf(base) !== 0) return location;
+ return Object(esm_extends["a" /* default */])({}, location, {
+ pathname: location.pathname.substr(base.length)
+ });
+}
+
+function createURL(location) {
+ return typeof location === "string" ? location : Object(esm_history["d" /* createPath */])(location);
+}
+
+function staticHandler(methodName) {
+ return function () {
+ false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) ;
+ };
+}
+
+function noop() {}
+/**
+ * The public top-level API for a "static" , so-called because it
+ * can't actually change the current location. Instead, it just records
+ * location changes in a context object. Useful mainly in testing and
+ * server-rendering scenarios.
+ */
+
+
+var react_router_StaticRouter =
+/*#__PURE__*/
+function (_React$Component) {
+ Object(inheritsLoose["a" /* default */])(StaticRouter, _React$Component);
+
+ function StaticRouter() {
+ var _this;
+
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
+ args[_key] = arguments[_key];
+ }
+
+ _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
+
+ _this.handlePush = function (location) {
+ return _this.navigateTo(location, "PUSH");
+ };
+
+ _this.handleReplace = function (location) {
+ return _this.navigateTo(location, "REPLACE");
+ };
+
+ _this.handleListen = function () {
+ return noop;
+ };
+
+ _this.handleBlock = function () {
+ return noop;
+ };
+
+ return _this;
+ }
+
+ var _proto = StaticRouter.prototype;
+
+ _proto.navigateTo = function navigateTo(location, action) {
+ var _this$props = this.props,
+ _this$props$basename = _this$props.basename,
+ basename = _this$props$basename === void 0 ? "" : _this$props$basename,
+ _this$props$context = _this$props.context,
+ context = _this$props$context === void 0 ? {} : _this$props$context;
+ context.action = action;
+ context.location = addBasename(basename, Object(esm_history["b" /* createLocation */])(location));
+ context.url = createURL(context.location);
+ };
+
+ _proto.render = function render() {
+ var _this$props2 = this.props,
+ _this$props2$basename = _this$props2.basename,
+ basename = _this$props2$basename === void 0 ? "" : _this$props2$basename,
+ _this$props2$context = _this$props2.context,
+ context = _this$props2$context === void 0 ? {} : _this$props2$context,
+ _this$props2$location = _this$props2.location,
+ location = _this$props2$location === void 0 ? "/" : _this$props2$location,
+ rest = Object(objectWithoutPropertiesLoose["a" /* default */])(_this$props2, ["basename", "context", "location"]);
+
+ var history = {
+ createHref: function createHref(path) {
+ return addLeadingSlash(basename + createURL(path));
+ },
+ action: "POP",
+ location: stripBasename(basename, Object(esm_history["b" /* createLocation */])(location)),
+ push: this.handlePush,
+ replace: this.handleReplace,
+ go: staticHandler("go"),
+ goBack: staticHandler("goBack"),
+ goForward: staticHandler("goForward"),
+ listen: this.handleListen,
+ block: this.handleBlock
+ };
+ return external_React_default.a.createElement(react_router_Router, Object(esm_extends["a" /* default */])({}, rest, {
+ history: history,
+ staticContext: context
+ }));
+ };
+
+ return StaticRouter;
+}(external_React_default.a.Component);
+
+if (false) {}
+
+/**
+ * The public API for rendering the first that matches.
+ */
+
+var react_router_Switch =
+/*#__PURE__*/
+function (_React$Component) {
+ Object(inheritsLoose["a" /* default */])(Switch, _React$Component);
+
+ function Switch() {
+ return _React$Component.apply(this, arguments) || this;
+ }
+
+ var _proto = Switch.prototype;
+
+ _proto.render = function render() {
+ var _this = this;
+
+ return external_React_default.a.createElement(react_router_context.Consumer, null, function (context) {
+ !context ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0;
+ var location = _this.props.location || context.location;
+ var element, match; // We use React.Children.forEach instead of React.Children.toArray().find()
+ // here because toArray adds keys to all child elements and we do not want
+ // to trigger an unmount/remount for two s that render the same
+ // component at different URLs.
+
+ external_React_default.a.Children.forEach(_this.props.children, function (child) {
+ if (match == null && external_React_default.a.isValidElement(child)) {
+ element = child;
+ var path = child.props.path || child.props.from;
+ match = path ? matchPath(location.pathname, Object(esm_extends["a" /* default */])({}, child.props, {
+ path: path
+ })) : context.match;
+ }
+ });
+ return match ? external_React_default.a.cloneElement(element, {
+ location: location,
+ computedMatch: match
+ }) : null;
+ });
+ };
+
+ return Switch;
+}(external_React_default.a.Component);
+
+if (false) {}
+
+/**
+ * A public higher-order component to access the imperative API
+ */
+
+function withRouter(Component) {
+ var displayName = "withRouter(" + (Component.displayName || Component.name) + ")";
+
+ var C = function C(props) {
+ var wrappedComponentRef = props.wrappedComponentRef,
+ remainingProps = Object(objectWithoutPropertiesLoose["a" /* default */])(props, ["wrappedComponentRef"]);
+
+ return external_React_default.a.createElement(react_router_context.Consumer, null, function (context) {
+ !context ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0;
+ return external_React_default.a.createElement(Component, Object(esm_extends["a" /* default */])({}, remainingProps, context, {
+ ref: wrappedComponentRef
+ }));
+ });
+ };
+
+ C.displayName = displayName;
+ C.WrappedComponent = Component;
+
+ if (false) {}
+
+ return hoist_non_react_statics_cjs_default()(C, Component);
+}
+
+var useContext = external_React_default.a.useContext;
+function useHistory() {
+ if (false) {}
+
+ return useContext(react_router_context).history;
+}
+function useLocation() {
+ if (false) {}
+
+ return useContext(react_router_context).location;
+}
+function useParams() {
+ if (false) {}
+
+ var match = useContext(react_router_context).match;
+ return match ? match.params : {};
+}
+function useRouteMatch(path) {
+ if (false) {}
+
+ return path ? matchPath(useLocation().pathname, path) : useContext(react_router_context).match;
+}
+
+if (false) { var secondaryBuildName, initialBuildName, buildNames, react_router_key, global; }
+
+
+//# sourceMappingURL=react-router.js.map
+
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__(2);
+
+// EXTERNAL MODULE: external {"this":["wc","components"]}
+var external_this_wc_components_ = __webpack_require__(63);
+
+// EXTERNAL MODULE: external {"this":["wc","navigation"]}
+var external_this_wc_navigation_ = __webpack_require__(22);
+
+// EXTERNAL MODULE: ./client/settings/index.js
+var settings = __webpack_require__(26);
+
+// EXTERNAL MODULE: external {"this":["wc","data"]}
+var external_this_wc_data_ = __webpack_require__(51);
+
+// EXTERNAL MODULE: ./client/layout/style.scss
+var layout_style = __webpack_require__(434);
+
+// EXTERNAL MODULE: ./node_modules/qs/lib/index.js
+var lib = __webpack_require__(58);
+
+// EXTERNAL MODULE: external {"this":["wp","hooks"]}
+var external_this_wp_hooks_ = __webpack_require__(48);
+
+// EXTERNAL MODULE: external {"this":["wp","i18n"]}
+var external_this_wp_i18n_ = __webpack_require__(3);
+
+// EXTERNAL MODULE: ./client/analytics/report/get-reports.js
+var get_reports = __webpack_require__(199);
+
+// CONCATENATED MODULE: ./client/layout/controller.js
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+var AnalyticsReport = Object(external_this_wp_element_["lazy"])(function () {
+ return Promise.resolve(/* import() */).then(__webpack_require__.bind(null, 200));
+});
+var AnalyticsSettings = Object(external_this_wp_element_["lazy"])(function () {
+ return __webpack_require__.e(/* import() | analytics-settings */ 18).then(__webpack_require__.bind(null, 905));
+});
+var Dashboard = Object(external_this_wp_element_["lazy"])(function () {
+ return __webpack_require__.e(/* import() | dashboard */ 24).then(__webpack_require__.bind(null, 899));
+});
+var DevDocs = Object(external_this_wp_element_["lazy"])(function () {
+ return Promise.all(/* import() | devdocs */[__webpack_require__.e(2), __webpack_require__.e(44), __webpack_require__.e(28)]).then(__webpack_require__.bind(null, 907));
+});
+var Homepage = Object(external_this_wp_element_["lazy"])(function () {
+ return __webpack_require__.e(/* import() | homepage */ 29).then(__webpack_require__.bind(null, 906));
+});
+var MarketingOverview = Object(external_this_wp_element_["lazy"])(function () {
+ return Promise.all(/* import() | marketing-overview */[__webpack_require__.e(2), __webpack_require__.e(45), __webpack_require__.e(32)]).then(__webpack_require__.bind(null, 904));
+});
+
+var TIME_EXCLUDED_SCREENS_FILTER = 'woocommerce_admin_time_excluded_screens';
+var PAGES_FILTER = 'woocommerce_admin_pages_list';
+var controller_getPages = function getPages() {
+ var pages = [];
+ var initialBreadcrumbs = [['', wcSettings.woocommerceTranslation]];
+
+ if (false) {}
+
+ if (true) {
+ pages.push({
+ container: Dashboard,
+ path: '/',
+ breadcrumbs: [].concat(initialBreadcrumbs, [Object(external_this_wp_i18n_["__"])('Dashboard', 'woocommerce-admin')]),
+ wpOpenMenu: 'toplevel_page_woocommerce'
+ });
+ }
+
+ if (false) {}
+
+ if (true) {
+ if (false) {}
+
+ var ReportWpOpenMenu = "toplevel_page_wc-admin-path--analytics-".concat( false ? undefined : 'revenue');
+ pages.push({
+ container: AnalyticsSettings,
+ path: '/analytics/settings',
+ breadcrumbs: [].concat(initialBreadcrumbs, [['/analytics/revenue', Object(external_this_wp_i18n_["__"])('Analytics', 'woocommerce-admin')], Object(external_this_wp_i18n_["__"])('Settings', 'woocommerce-admin')]),
+ wpOpenMenu: ReportWpOpenMenu
+ });
+ pages.push({
+ container: AnalyticsReport,
+ path: '/customers',
+ breadcrumbs: [].concat(initialBreadcrumbs, [Object(external_this_wp_i18n_["__"])('Customers', 'woocommerce-admin')]),
+ wpOpenMenu: 'toplevel_page_woocommerce'
+ });
+ pages.push({
+ container: AnalyticsReport,
+ path: '/analytics/:report',
+ breadcrumbs: function breadcrumbs(_ref2) {
+ var match = _ref2.match;
+ var report = Object(external_lodash_["find"])(Object(get_reports["a" /* default */])(), {
+ report: match.params.report
+ });
+
+ if (!report) {
+ return [];
+ }
+
+ return [].concat(initialBreadcrumbs, [['/analytics/revenue', Object(external_this_wp_i18n_["__"])('Analytics', 'woocommerce-admin')], report.title]);
+ },
+ wpOpenMenu: ReportWpOpenMenu
+ });
+ }
+
+ if (true) {
+ pages.push({
+ container: MarketingOverview,
+ path: '/marketing',
+ breadcrumbs: [].concat(initialBreadcrumbs, [Object(external_this_wp_i18n_["__"])('Marketing', 'woocommerce-admin')]),
+ wpOpenMenu: 'toplevel_page_wc-admin-path--marketing'
+ });
+ }
+
+ return Object(external_this_wp_hooks_["applyFilters"])(PAGES_FILTER, pages);
+};
+var controller_Controller = /*#__PURE__*/function (_Component) {
+ inherits_default()(Controller, _Component);
+
+ var _super = _createSuper(Controller);
+
+ function Controller() {
+ classCallCheck_default()(this, Controller);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(Controller, [{
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ window.document.documentElement.scrollTop = 0;
+ }
+ }, {
+ key: "componentDidUpdate",
+ value: function componentDidUpdate(prevProps) {
+ var prevQuery = this.getQuery(prevProps.location.search);
+ var prevBaseQuery = Object(external_lodash_["omit"])(this.getQuery(prevProps.location.search), 'paged');
+ var baseQuery = Object(external_lodash_["omit"])(this.getQuery(this.props.location.search), 'paged');
+
+ if (prevQuery.paged > 1 && !Object(external_lodash_["isEqual"])(prevBaseQuery, baseQuery)) {
+ Object(external_this_wc_navigation_["getHistory"])().replace(Object(external_this_wc_navigation_["getNewPath"])({
+ paged: 1
+ }));
+ }
+
+ if (prevProps.match.url !== this.props.match.url) {
+ window.document.documentElement.scrollTop = 0;
+ }
+ }
+ }, {
+ key: "getQuery",
+ value: function getQuery(searchString) {
+ if (!searchString) {
+ return {};
+ }
+
+ var search = searchString.substring(1);
+ return Object(lib["parse"])(search);
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ page = _this$props.page,
+ match = _this$props.match,
+ location = _this$props.location;
+ var url = match.url,
+ params = match.params;
+ var query = this.getQuery(location.search);
+ window.wpNavMenuUrlUpdate(query);
+ window.wpNavMenuClassChange(page, url);
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Suspense"], {
+ fallback: Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Spinner"], null)
+ }, Object(external_this_wp_element_["createElement"])(page.container, {
+ params: params,
+ path: url,
+ pathMatch: page.path,
+ query: query
+ }));
+ }
+ }]);
+
+ return Controller;
+}(external_this_wp_element_["Component"]);
+/**
+ * Update an anchor's link in sidebar to include persisted queries. Leave excluded screens
+ * as is.
+ *
+ * @param {HTMLElement} item - Sidebar anchor link.
+ * @param {Object} nextQuery - A query object to be added to updated hrefs.
+ * @param {Array} excludedScreens - wc-admin screens to avoid updating.
+ */
+
+function updateLinkHref(item, nextQuery, excludedScreens) {
+ var isWCAdmin = /admin.php\?page=wc-admin/.test(item.href);
+
+ if (isWCAdmin) {
+ var search = Object(external_lodash_["last"])(item.href.split('?'));
+ var query = Object(lib["parse"])(search);
+ var path = query.path || 'dashboard';
+ var screen = path.replace('/analytics', '').replace('/', '');
+ var isExcludedScreen = excludedScreens.includes(screen);
+ var href = 'admin.php?' + Object(lib["stringify"])(Object.assign(query, isExcludedScreen ? {} : nextQuery)); // Replace the href so you can see the url on hover.
+
+ item.href = href;
+
+ item.onclick = function (e) {
+ e.preventDefault();
+ Object(external_this_wc_navigation_["getHistory"])().push(href);
+ };
+ }
+} // Update's wc-admin links in wp-admin menu
+
+window.wpNavMenuUrlUpdate = function (query) {
+ var excludedScreens = Object(external_this_wp_hooks_["applyFilters"])(TIME_EXCLUDED_SCREENS_FILTER, ['devdocs', 'stock', 'settings', 'customers']);
+ var nextQuery = Object(external_this_wc_navigation_["getPersistedQuery"])(query);
+ Array.from(document.querySelectorAll('#adminmenu a')).forEach(function (item) {
+ return updateLinkHref(item, nextQuery, excludedScreens);
+ });
+}; // When the route changes, we need to update wp-admin's menu with the correct section & current link
+
+
+window.wpNavMenuClassChange = function (page, url) {
+ Array.from(document.getElementsByClassName('current')).forEach(function (item) {
+ item.classList.remove('current');
+ });
+ var submenu = Array.from(document.querySelectorAll('.wp-has-current-submenu'));
+ submenu.forEach(function (element) {
+ element.classList.remove('wp-has-current-submenu');
+ element.classList.remove('wp-menu-open');
+ element.classList.remove('selected');
+ element.classList.add('wp-not-current-submenu');
+ element.classList.add('menu-top');
+ });
+ var pageUrl = url === '/' ? 'admin.php?page=wc-admin' : 'admin.php?page=wc-admin&path=' + encodeURIComponent(url);
+ var currentItemsSelector = url === '/' ? "li > a[href$=\"".concat(pageUrl, "\"], li > a[href*=\"").concat(pageUrl, "?\"]") : "li > a[href*=\"".concat(pageUrl, "\"]");
+ var currentItems = document.querySelectorAll(currentItemsSelector);
+ Array.from(currentItems).forEach(function (item) {
+ item.parentElement.classList.add('current');
+ });
+
+ if (page.wpOpenMenu) {
+ var currentMenu = document.querySelector('#' + page.wpOpenMenu);
+ currentMenu.classList.remove('wp-not-current-submenu');
+ currentMenu.classList.add('wp-has-current-submenu');
+ currentMenu.classList.add('wp-menu-open');
+ currentMenu.classList.add('current');
+ }
+
+ var wpWrap = document.querySelector('#wpwrap');
+ wpWrap.classList.remove('wp-responsive-open');
+};
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/assertThisInitialized.js
+var assertThisInitialized = __webpack_require__(59);
+var assertThisInitialized_default = /*#__PURE__*/__webpack_require__.n(assertThisInitialized);
+
+// EXTERNAL MODULE: ./node_modules/classnames/index.js
+var classnames = __webpack_require__(10);
+var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
+
+// EXTERNAL MODULE: external {"this":["wp","htmlEntities"]}
+var external_this_wp_htmlEntities_ = __webpack_require__(69);
+
+// EXTERNAL MODULE: ./client/header/style.scss
+var header_style = __webpack_require__(436);
+
+// EXTERNAL MODULE: ./node_modules/react-click-outside/dist/index.js
+var dist = __webpack_require__(412);
+var dist_default = /*#__PURE__*/__webpack_require__.n(dist);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/icon-button/index.js
+var icon_button = __webpack_require__(85);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/navigable-container/menu.js + 1 modules
+var menu = __webpack_require__(424);
+
+// EXTERNAL MODULE: ./node_modules/gridicons/dist/pages.js
+var dist_pages = __webpack_require__(413);
+var pages_default = /*#__PURE__*/__webpack_require__.n(dist_pages);
+
+// EXTERNAL MODULE: ./node_modules/gridicons/dist/cross-small.js
+var cross_small = __webpack_require__(414);
+var cross_small_default = /*#__PURE__*/__webpack_require__.n(cross_small);
+
+// EXTERNAL MODULE: ./client/header/activity-panel/style.scss
+var activity_panel_style = __webpack_require__(438);
+
+// CONCATENATED MODULE: ./client/header/activity-panel/toggle-bubble.js
+
+
+/**
+ * External dependencies
+ */
+
+
+
+var toggle_bubble_ActivityPanelToggleBubble = function ActivityPanelToggleBubble(_ref) {
+ var _ref$height = _ref.height,
+ height = _ref$height === void 0 ? 24 : _ref$height,
+ _ref$width = _ref.width,
+ width = _ref$width === void 0 ? 24 : _ref$width,
+ _ref$hasUnread = _ref.hasUnread,
+ hasUnread = _ref$hasUnread === void 0 ? false : _ref$hasUnread;
+ var classes = classnames_default()('woocommerce-layout__activity-panel-toggle-bubble', {
+ 'has-unread': hasUnread
+ });
+ /* eslint-disable max-len */
+
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: classes
+ }, Object(external_this_wp_element_["createElement"])("svg", {
+ height: height,
+ width: width,
+ viewBox: "0 0 24 24"
+ }, Object(external_this_wp_element_["createElement"])("path", {
+ d: "M18.9 2H5.1C3.4 2 2 3.4 2 5.1v10.7C2 17.6 3.4 19 5.1 19H9l6 3-1-3h4.9c1.7 0 3.1-1.4 3.1-3.1V5.1C22 3.4 20.6 2 18.9 2zm-1.5 4.5c-.4.8-.8 2.1-1 3.9-.3 1.8-.4 3.1-.3 4.1 0 .3 0 .5-.1.7-.1.2-.3.4-.6.4s-.6-.1-.9-.4c-1-1-1.8-2.6-2.4-4.6-.7 1.4-1.2 2.4-1.6 3.1-.6 1.2-1.2 1.8-1.6 1.9-.3 0-.5-.2-.8-.7-.5-1.4-1.1-4.2-1.7-8.2 0-.3 0-.5.2-.7.1-.2.4-.3.7-.4.5 0 .9.2.9.8.3 2.3.7 4.2 1.1 5.7l2.4-4.5c.2-.4.4-.6.8-.6.5 0 .8.3.9.9.3 1.4.6 2.6 1 3.7.3-2.7.8-4.7 1.4-5.9.2-.3.4-.5.7-.5.2 0 .5.1.7.2.2.2.3.4.3.6 0 .2 0 .4-.1.5z"
+ })));
+ /* eslint-enable max-len */
+};
+
+toggle_bubble_ActivityPanelToggleBubble.propTypes = {
+ height: prop_types_default.a.number,
+ width: prop_types_default.a.number,
+ hasUnread: prop_types_default.a.bool
+};
+/* harmony default export */ var toggle_bubble = (toggle_bubble_ActivityPanelToggleBubble);
+// EXTERNAL MODULE: ./client/analytics/settings/config.js + 1 modules
+var config = __webpack_require__(263);
+
+// CONCATENATED MODULE: ./client/header/activity-panel/unread-indicators.js
+/**
+ * WooCommerce dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+function getUnreadNotes(select) {
+ var _select = select('wc-api'),
+ getCurrentUserData = _select.getCurrentUserData,
+ getNotes = _select.getNotes,
+ getNotesError = _select.getNotesError,
+ isGetNotesRequesting = _select.isGetNotesRequesting;
+
+ var userData = getCurrentUserData();
+
+ if (!userData) {
+ return null;
+ }
+
+ var notesQuery = {
+ page: 1,
+ per_page: 1,
+ type: 'info,warning',
+ orderby: 'date',
+ order: 'desc'
+ }; // Disable eslint rule requiring `latestNote` to be defined below because the next two statements
+ // depend on `getNotes` to have been called.
+ // eslint-disable-next-line @wordpress/no-unused-vars-before-return
+
+ var latestNote = getNotes(notesQuery);
+ var isError = Boolean(getNotesError(notesQuery));
+ var isRequesting = isGetNotesRequesting(notesQuery);
+
+ if (isError || isRequesting) {
+ return null;
+ }
+
+ return latestNote[0] && new Date(latestNote[0].date_created_gmt + 'Z').getTime() > userData.activity_panel_inbox_last_read;
+}
+function getUnreadOrders(select) {
+ var _select2 = select('wc-api'),
+ getItems = _select2.getItems,
+ getItemsTotalCount = _select2.getItemsTotalCount,
+ getItemsError = _select2.getItemsError,
+ isGetItemsRequesting = _select2.isGetItemsRequesting;
+
+ var _select3 = select(external_this_wc_data_["SETTINGS_STORE_NAME"]),
+ getMutableSetting = _select3.getSetting;
+
+ var _getMutableSetting = getMutableSetting('wc_admin', 'wcAdminSettings', {}),
+ _getMutableSetting$wo = _getMutableSetting.woocommerce_actionable_order_statuses,
+ orderStatuses = _getMutableSetting$wo === void 0 ? config["a" /* DEFAULT_ACTIONABLE_STATUSES */] : _getMutableSetting$wo;
+
+ if (!orderStatuses.length) {
+ return false;
+ }
+
+ var ordersQuery = {
+ page: 1,
+ per_page: 1,
+ // Core endpoint requires per_page > 0.
+ status: orderStatuses,
+ _fields: ['id']
+ };
+ getItems('orders', ordersQuery); // Disable eslint rule requiring `latestNote` to be defined below because the next two statements
+ // depend on `getItemsTotalCount` to have been called.
+ // eslint-disable-next-line @wordpress/no-unused-vars-before-return
+
+ var totalOrders = getItemsTotalCount('orders', ordersQuery);
+ var isError = Boolean(getItemsError('orders', ordersQuery));
+ var isRequesting = isGetItemsRequesting('orders', ordersQuery);
+
+ if (isError || isRequesting) {
+ return null;
+ }
+
+ return totalOrders > 0;
+}
+function getUnapprovedReviews(select) {
+ var _select4 = select('wc-api'),
+ getReviewsTotalCount = _select4.getReviewsTotalCount,
+ getReviewsError = _select4.getReviewsError,
+ isGetReviewsRequesting = _select4.isGetReviewsRequesting;
+
+ var reviewsEnabled = Object(settings["g" /* getSetting */])('reviewsEnabled');
+
+ if (reviewsEnabled === 'yes') {
+ var actionableReviewsQuery = {
+ page: 1,
+ // @todo we are not using this review, so when the endpoint supports it,
+ // it could be replaced with `per_page: 0`
+ per_page: 1,
+ status: 'hold'
+ };
+ var totalActionableReviews = getReviewsTotalCount(actionableReviewsQuery);
+ var isActionableReviewsError = Boolean(getReviewsError(actionableReviewsQuery));
+ var isActionableReviewsRequesting = isGetReviewsRequesting(actionableReviewsQuery);
+
+ if (!isActionableReviewsError && !isActionableReviewsRequesting) {
+ return totalActionableReviews > 0;
+ }
+ }
+
+ return false;
+}
+function getUnreadStock() {
+ return Object(settings["g" /* getSetting */])('hasLowStock', false);
+}
+// EXTERNAL MODULE: ./client/lib/tracks.js
+var tracks = __webpack_require__(79);
+
+// EXTERNAL MODULE: ./client/wc-api/with-select.js
+var with_select = __webpack_require__(101);
+
+// CONCATENATED MODULE: ./client/header/activity-panel/index.js
+
+
+
+
+
+
+
+
+function activity_panel_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (activity_panel_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function activity_panel_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+var InboxPanel = Object(external_this_wp_element_["lazy"])(function () {
+ return Promise.all(/* import() | activity-panels-inbox */[__webpack_require__.e(2), __webpack_require__.e(3), __webpack_require__.e(6)]).then(__webpack_require__.bind(null, 908));
+});
+var OrdersPanel = Object(external_this_wp_element_["lazy"])(function () {
+ return Promise.all(/* import() | activity-panels-orders */[__webpack_require__.e(2), __webpack_require__.e(7)]).then(__webpack_require__.bind(null, 913));
+});
+var StockPanel = Object(external_this_wp_element_["lazy"])(function () {
+ return Promise.all(/* import() | activity-panels-stock */[__webpack_require__.e(2), __webpack_require__.e(8)]).then(__webpack_require__.bind(null, 911));
+});
+var ReviewsPanel = Object(external_this_wp_element_["lazy"])(function () {
+ return Promise.all(/* import() | activity-panels-inbox */[__webpack_require__.e(2), __webpack_require__.e(3), __webpack_require__.e(6)]).then(__webpack_require__.bind(null, 901));
+});
+
+
+var manageStock = Object(settings["g" /* getSetting */])('manageStock', 'no');
+var activity_panel_reviewsEnabled = Object(settings["g" /* getSetting */])('reviewsEnabled', 'no');
+
+var activity_panel_ActivityPanel = /*#__PURE__*/function (_Component) {
+ inherits_default()(ActivityPanel, _Component);
+
+ var _super = activity_panel_createSuper(ActivityPanel);
+
+ function ActivityPanel() {
+ var _this;
+
+ classCallCheck_default()(this, ActivityPanel);
+
+ _this = _super.apply(this, arguments);
+ _this.togglePanel = _this.togglePanel.bind(assertThisInitialized_default()(_this));
+ _this.clearPanel = _this.clearPanel.bind(assertThisInitialized_default()(_this));
+ _this.toggleMobile = _this.toggleMobile.bind(assertThisInitialized_default()(_this));
+ _this.renderTab = _this.renderTab.bind(assertThisInitialized_default()(_this));
+ _this.state = {
+ isPanelOpen: false,
+ mobileOpen: false,
+ currentTab: '',
+ isPanelSwitching: false
+ };
+ return _this;
+ }
+
+ createClass_default()(ActivityPanel, [{
+ key: "togglePanel",
+ value: function togglePanel(tabName) {
+ var _this$state = this.state,
+ isPanelOpen = _this$state.isPanelOpen,
+ currentTab = _this$state.currentTab; // If a panel is being opened, or if an existing panel is already open and a different one is being opened, record a track.
+
+ if (!isPanelOpen || tabName !== currentTab) {
+ Object(tracks["b" /* recordEvent */])('activity_panel_open', {
+ tab: tabName
+ });
+ }
+
+ this.setState(function (state) {
+ if (tabName === state.currentTab || state.currentTab === '') {
+ return {
+ isPanelOpen: !state.isPanelOpen,
+ currentTab: tabName,
+ mobileOpen: !state.isPanelOpen
+ };
+ }
+
+ return {
+ currentTab: tabName,
+ isPanelSwitching: true
+ };
+ });
+ }
+ }, {
+ key: "clearPanel",
+ value: function clearPanel() {
+ this.setState(function (_ref) {
+ var isPanelOpen = _ref.isPanelOpen;
+ return isPanelOpen ? {
+ isPanelSwitching: false
+ } : {
+ currentTab: ''
+ };
+ });
+ } // On smaller screen, the panel buttons are hidden behind a toggle.
+
+ }, {
+ key: "toggleMobile",
+ value: function toggleMobile() {
+ var tabs = this.getTabs();
+ this.setState(function (state) {
+ return {
+ mobileOpen: !state.mobileOpen,
+ currentTab: state.mobileOpen ? '' : tabs[0].name,
+ isPanelOpen: !state.mobileOpen
+ };
+ });
+ }
+ }, {
+ key: "handleClickOutside",
+ value: function handleClickOutside() {
+ var _this$state2 = this.state,
+ isPanelOpen = _this$state2.isPanelOpen,
+ currentTab = _this$state2.currentTab;
+
+ if (isPanelOpen) {
+ this.togglePanel(currentTab);
+ }
+ } // @todo Pull in dynamic unread status/count
+
+ }, {
+ key: "getTabs",
+ value: function getTabs() {
+ var _this$props = this.props,
+ hasUnreadNotes = _this$props.hasUnreadNotes,
+ hasUnreadOrders = _this$props.hasUnreadOrders,
+ hasUnapprovedReviews = _this$props.hasUnapprovedReviews,
+ hasUnreadStock = _this$props.hasUnreadStock;
+ return [{
+ name: 'inbox',
+ title: Object(external_this_wp_i18n_["__"])('Inbox', 'woocommerce-admin'),
+ icon: Object(external_this_wp_element_["createElement"])("i", {
+ className: "material-icons-outlined"
+ }, "inbox"),
+ unread: hasUnreadNotes
+ }, {
+ name: 'orders',
+ title: Object(external_this_wp_i18n_["__"])('Orders', 'woocommerce-admin'),
+ icon: Object(external_this_wp_element_["createElement"])(pages_default.a, null),
+ unread: hasUnreadOrders
+ }, manageStock === 'yes' ? {
+ name: 'stock',
+ title: Object(external_this_wp_i18n_["__"])('Stock', 'woocommerce-admin'),
+ icon: Object(external_this_wp_element_["createElement"])("i", {
+ className: "material-icons-outlined"
+ }, "widgets"),
+ unread: hasUnreadStock
+ } : null, activity_panel_reviewsEnabled === 'yes' ? {
+ name: 'reviews',
+ title: Object(external_this_wp_i18n_["__"])('Reviews', 'woocommerce-admin'),
+ icon: Object(external_this_wp_element_["createElement"])("i", {
+ className: "material-icons-outlined"
+ }, "star_border"),
+ unread: hasUnapprovedReviews
+ } : null].filter(Boolean);
+ }
+ }, {
+ key: "getPanelContent",
+ value: function getPanelContent(tab) {
+ switch (tab) {
+ case 'inbox':
+ return Object(external_this_wp_element_["createElement"])(InboxPanel, null);
+
+ case 'orders':
+ var hasUnreadOrders = this.props.hasUnreadOrders;
+ return Object(external_this_wp_element_["createElement"])(OrdersPanel, {
+ hasActionableOrders: hasUnreadOrders
+ });
+
+ case 'stock':
+ return Object(external_this_wp_element_["createElement"])(StockPanel, null);
+
+ case 'reviews':
+ var hasUnapprovedReviews = this.props.hasUnapprovedReviews;
+ return Object(external_this_wp_element_["createElement"])(ReviewsPanel, {
+ hasUnapprovedReviews: hasUnapprovedReviews
+ });
+
+ default:
+ return null;
+ }
+ }
+ }, {
+ key: "renderPanel",
+ value: function renderPanel() {
+ var _this$state3 = this.state,
+ isPanelOpen = _this$state3.isPanelOpen,
+ currentTab = _this$state3.currentTab,
+ isPanelSwitching = _this$state3.isPanelSwitching;
+ var tab = Object(external_lodash_["find"])(this.getTabs(), {
+ name: currentTab
+ });
+
+ if (!tab) {
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-layout__activity-panel-wrapper"
+ });
+ }
+
+ var classNames = classnames_default()('woocommerce-layout__activity-panel-wrapper', {
+ 'is-open': isPanelOpen,
+ 'is-switching': isPanelSwitching
+ });
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: classNames,
+ tabIndex: 0,
+ role: "tabpanel",
+ "aria-label": tab.title,
+ onTransitionEnd: this.clearPanel,
+ onAnimationEnd: this.clearPanel
+ }, Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-layout__activity-panel-content",
+ key: 'activity-panel-' + currentTab,
+ id: 'activity-panel-' + currentTab
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Suspense"], {
+ fallback: Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Spinner"], null)
+ }, this.getPanelContent(currentTab))));
+ }
+ }, {
+ key: "renderTab",
+ value: function renderTab(tab, i) {
+ var _this$state4 = this.state,
+ currentTab = _this$state4.currentTab,
+ isPanelOpen = _this$state4.isPanelOpen;
+ var className = classnames_default()('woocommerce-layout__activity-panel-tab', {
+ 'is-active': isPanelOpen && tab.name === currentTab,
+ 'has-unread': tab.unread
+ });
+ var selected = tab.name === currentTab;
+ var tabIndex = -1; // Only make this item tabbable if it is the currently selected item, or the panel is closed and the item is the first item.
+
+ if (selected || !isPanelOpen && i === 0) {
+ tabIndex = null;
+ }
+
+ return Object(external_this_wp_element_["createElement"])(icon_button["a" /* default */], {
+ role: "tab",
+ className: className,
+ tabIndex: tabIndex,
+ "aria-selected": selected,
+ "aria-controls": 'activity-panel-' + tab.name,
+ key: 'activity-panel-tab-' + tab.name,
+ id: 'activity-panel-tab-' + tab.name,
+ onClick: Object(external_lodash_["partial"])(this.togglePanel, tab.name),
+ icon: tab.icon
+ }, tab.title, ' ', tab.unread && Object(external_this_wp_element_["createElement"])("span", {
+ className: "screen-reader-text"
+ }, Object(external_this_wp_i18n_["__"])('unread activity', 'woocommerce-admin')));
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var tabs = this.getTabs();
+ var mobileOpen = this.state.mobileOpen;
+ var headerId = Object(external_lodash_["uniqueId"])('activity-panel-header_');
+ var panelClasses = classnames_default()('woocommerce-layout__activity-panel', {
+ 'is-mobile-open': this.state.mobileOpen
+ });
+ var hasUnread = tabs.some(function (tab) {
+ return tab.unread;
+ });
+ var viewLabel = hasUnread ? Object(external_this_wp_i18n_["__"])('View Activity Panel, you have unread activity', 'woocommerce-admin') : Object(external_this_wp_i18n_["__"])('View Activity Panel', 'woocommerce-admin');
+ return Object(external_this_wp_element_["createElement"])("div", null, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["H"], {
+ id: headerId,
+ className: "screen-reader-text"
+ }, Object(external_this_wp_i18n_["__"])('Store Activity', 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Section"], {
+ component: "aside",
+ id: "woocommerce-activity-panel",
+ "aria-labelledby": headerId
+ }, Object(external_this_wp_element_["createElement"])(icon_button["a" /* default */], {
+ onClick: this.toggleMobile,
+ icon: mobileOpen ? Object(external_this_wp_element_["createElement"])(cross_small_default.a, null) : Object(external_this_wp_element_["createElement"])(toggle_bubble, {
+ hasUnread: hasUnread
+ }),
+ label: mobileOpen ? Object(external_this_wp_i18n_["__"])('Close Activity Panel', 'woocommerce-admin') : viewLabel,
+ "aria-expanded": mobileOpen,
+ tooltip: false,
+ className: "woocommerce-layout__activity-panel-mobile-toggle"
+ }), Object(external_this_wp_element_["createElement"])("div", {
+ className: panelClasses
+ }, Object(external_this_wp_element_["createElement"])(menu["a" /* default */], {
+ role: "tablist",
+ orientation: "horizontal",
+ className: "woocommerce-layout__activity-panel-tabs"
+ }, tabs && tabs.map(this.renderTab)), this.renderPanel())));
+ }
+ }]);
+
+ return ActivityPanel;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var activity_panel = (Object(with_select["a" /* default */])(function (select) {
+ var hasUnreadNotes = getUnreadNotes(select);
+ var hasUnreadOrders = getUnreadOrders(select);
+ var hasUnreadStock = getUnreadStock();
+ var hasUnapprovedReviews = getUnapprovedReviews(select);
+ return {
+ hasUnreadNotes: hasUnreadNotes,
+ hasUnreadOrders: hasUnreadOrders,
+ hasUnreadStock: hasUnreadStock,
+ hasUnapprovedReviews: hasUnapprovedReviews
+ };
+})(dist_default()(activity_panel_ActivityPanel)));
+// CONCATENATED MODULE: ./client/header/index.js
+
+
+
+
+
+
+
+
+function header_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (header_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function header_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+var header_Header = /*#__PURE__*/function (_Component) {
+ inherits_default()(Header, _Component);
+
+ var _super = header_createSuper(Header);
+
+ function Header() {
+ var _this;
+
+ classCallCheck_default()(this, Header);
+
+ _this = _super.call(this);
+ _this.state = {
+ isScrolled: false
+ };
+ _this.headerRef = Object(external_this_wp_element_["createRef"])();
+ _this.onWindowScroll = _this.onWindowScroll.bind(assertThisInitialized_default()(_this));
+ _this.updateIsScrolled = _this.updateIsScrolled.bind(assertThisInitialized_default()(_this));
+ _this.trackLinkClick = _this.trackLinkClick.bind(assertThisInitialized_default()(_this));
+ _this.updateDocumentTitle = _this.updateDocumentTitle.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(Header, [{
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ this.threshold = this.headerRef.current.offsetTop;
+ window.addEventListener('scroll', this.onWindowScroll);
+ this.updateIsScrolled();
+ }
+ }, {
+ key: "componentWillUnmount",
+ value: function componentWillUnmount() {
+ window.removeEventListener('scroll', this.onWindowScroll);
+ window.cancelAnimationFrame(this.handle);
+ }
+ }, {
+ key: "onWindowScroll",
+ value: function onWindowScroll() {
+ this.handle = window.requestAnimationFrame(this.updateIsScrolled);
+ }
+ }, {
+ key: "updateIsScrolled",
+ value: function updateIsScrolled() {
+ var isScrolled = window.pageYOffset > this.threshold - 20;
+
+ if (isScrolled !== this.state.isScrolled) {
+ this.setState({
+ isScrolled: isScrolled
+ });
+ }
+ }
+ }, {
+ key: "trackLinkClick",
+ value: function trackLinkClick(event) {
+ var href = event.target.closest('a').getAttribute('href');
+ Object(tracks["b" /* recordEvent */])('navbar_breadcrumb_click', {
+ href: href,
+ text: event.target.innerText
+ });
+ }
+ }, {
+ key: "updateDocumentTitle",
+ value: function updateDocumentTitle() {
+ var _this$props = this.props,
+ sections = _this$props.sections,
+ isEmbedded = _this$props.isEmbedded; // Don't modify the document title on existing WooCommerce pages.
+
+ if (isEmbedded) {
+ return;
+ }
+
+ var _sections = Array.isArray(sections) ? sections : [sections];
+
+ var documentTitle = _sections.map(function (section) {
+ return Array.isArray(section) ? section[1] : section;
+ }).reverse().join(' ‹ ');
+
+ document.title = Object(external_this_wp_htmlEntities_["decodeEntities"])(Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('%1$s ‹ %2$s — WooCommerce', 'woocommerce-admin'), documentTitle, Object(settings["g" /* getSetting */])('siteTitle', '')));
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this2 = this;
+
+ var _this$props2 = this.props,
+ sections = _this$props2.sections,
+ isEmbedded = _this$props2.isEmbedded;
+ var isScrolled = this.state.isScrolled;
+
+ var _sections = Array.isArray(sections) ? sections : [sections];
+
+ this.updateDocumentTitle();
+ var className = classnames_default()('woocommerce-layout__header', {
+ 'is-scrolled': isScrolled
+ });
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: className,
+ ref: this.headerRef
+ }, Object(external_this_wp_element_["createElement"])("h1", {
+ className: "woocommerce-layout__header-breadcrumbs"
+ }, _sections.map(function (section, i) {
+ var sectionPiece = Array.isArray(section) ? Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: isEmbedded ? Object(settings["f" /* getAdminLink */])(section[0]) : Object(external_this_wc_navigation_["getNewPath"])({}, section[0], {}),
+ type: isEmbedded ? 'wp-admin' : 'wc-admin',
+ onClick: _this2.trackLinkClick
+ }, section[1]) : section;
+ return Object(external_this_wp_element_["createElement"])("span", {
+ key: i
+ }, Object(external_this_wp_htmlEntities_["decodeEntities"])(sectionPiece));
+ })), true && Object(external_this_wp_element_["createElement"])(activity_panel, null));
+ }
+ }]);
+
+ return Header;
+}(external_this_wp_element_["Component"]);
+
+header_Header.propTypes = {
+ sections: prop_types_default.a.node.isRequired,
+ isEmbedded: prop_types_default.a.bool
+};
+header_Header.defaultProps = {
+ isEmbedded: false
+};
+/* harmony default export */ var header = (header_Header);
+// CONCATENATED MODULE: ./client/layout/notices.js
+
+
+
+
+
+
+
+function notices_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (notices_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function notices_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+var notices_Notices = /*#__PURE__*/function (_Component) {
+ inherits_default()(Notices, _Component);
+
+ var _super = notices_createSuper(Notices);
+
+ function Notices() {
+ classCallCheck_default()(this, Notices);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(Notices, [{
+ key: "render",
+ value: function render() {
+ return Object(external_this_wp_element_["createElement"])("div", {
+ id: "woocommerce-layout__notice-list",
+ className: "woocommerce-layout__notice-list"
+ });
+ }
+ }]);
+
+ return Notices;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var layout_notices = (notices_Notices);
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/regenerator/index.js
+var regenerator = __webpack_require__(73);
+var regenerator_default = /*#__PURE__*/__webpack_require__.n(regenerator);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js
+var asyncToGenerator = __webpack_require__(70);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 3 modules
+var slicedToArray = __webpack_require__(21);
+
+// EXTERNAL MODULE: ./node_modules/react-spring/web.cjs.js
+var web_cjs = __webpack_require__(257);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/compose/build-module/hooks/use-reduced-motion/index.js
+var use_reduced_motion = __webpack_require__(737);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/snackbar/index.js
+var snackbar = __webpack_require__(415);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/snackbar/list.js
+
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+/**
+ * Renders a list of notices.
+ *
+ * @param {Object} $0 Props passed to the component.
+ * @param {Array} $0.notices Array of notices to render.
+ * @param {Function} $0.onRemove Function called when a notice should be removed / dismissed.
+ * @param {Object} $0.className Name of the class used by the component.
+ * @param {Object} $0.children Array of children to be rendered inside the notice list.
+ * @return {Object} The rendered notices list.
+ */
+
+function SnackbarList(_ref) {
+ var notices = _ref.notices,
+ className = _ref.className,
+ children = _ref.children,
+ _ref$onRemove = _ref.onRemove,
+ onRemove = _ref$onRemove === void 0 ? external_lodash_["noop"] : _ref$onRemove;
+ var isReducedMotion = Object(use_reduced_motion["a" /* default */])();
+
+ var _useState = Object(external_this_wp_element_["useState"])(function () {
+ return new WeakMap();
+ }),
+ _useState2 = Object(slicedToArray["a" /* default */])(_useState, 1),
+ refMap = _useState2[0];
+
+ var transitions = Object(web_cjs["useTransition"])(notices, function (notice) {
+ return notice.id;
+ }, {
+ from: {
+ opacity: 0,
+ height: 0
+ },
+ enter: function enter(item) {
+ return (
+ /*#__PURE__*/
+ function () {
+ var _ref2 = Object(asyncToGenerator["a" /* default */])(
+ /*#__PURE__*/
+ regenerator_default.a.mark(function _callee(next) {
+ return regenerator_default.a.wrap(function _callee$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ _context.next = 2;
+ return next({
+ opacity: 1,
+ height: refMap.get(item).offsetHeight
+ });
+
+ case 2:
+ return _context.abrupt("return", _context.sent);
+
+ case 3:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, _callee);
+ }));
+
+ return function (_x) {
+ return _ref2.apply(this, arguments);
+ };
+ }()
+ );
+ },
+ leave: function leave() {
+ return (
+ /*#__PURE__*/
+ function () {
+ var _ref3 = Object(asyncToGenerator["a" /* default */])(
+ /*#__PURE__*/
+ regenerator_default.a.mark(function _callee2(next) {
+ return regenerator_default.a.wrap(function _callee2$(_context2) {
+ while (1) {
+ switch (_context2.prev = _context2.next) {
+ case 0:
+ _context2.next = 2;
+ return next({
+ opacity: 0
+ });
+
+ case 2:
+ _context2.next = 4;
+ return next({
+ height: 0
+ });
+
+ case 4:
+ case "end":
+ return _context2.stop();
+ }
+ }
+ }, _callee2);
+ }));
+
+ return function (_x2) {
+ return _ref3.apply(this, arguments);
+ };
+ }()
+ );
+ },
+ immediate: isReducedMotion
+ });
+ className = classnames_default()('components-snackbar-list', className);
+
+ var removeNotice = function removeNotice(notice) {
+ return function () {
+ return onRemove(notice.id);
+ };
+ };
+
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: className
+ }, children, transitions.map(function (_ref4) {
+ var notice = _ref4.item,
+ key = _ref4.key,
+ style = _ref4.props;
+ return Object(external_this_wp_element_["createElement"])(web_cjs["animated"].div, {
+ key: key,
+ style: style
+ }, Object(external_this_wp_element_["createElement"])("div", {
+ className: "components-snackbar-list__notice-container",
+ ref: function ref(_ref5) {
+ return _ref5 && refMap.set(notice, _ref5);
+ }
+ }, Object(external_this_wp_element_["createElement"])(snackbar["a" /* default */], Object(esm_extends["a" /* default */])({}, Object(external_lodash_["omit"])(notice, ['content']), {
+ onRemove: removeNotice(notice)
+ }), notice.content)));
+ }));
+}
+
+/* harmony default export */ var list = (SnackbarList);
+//# sourceMappingURL=list.js.map
+// EXTERNAL MODULE: ./client/layout/transient-notices/style.scss
+var transient_notices_style = __webpack_require__(439);
+
+// CONCATENATED MODULE: ./client/layout/transient-notices/index.js
+
+
+
+
+
+
+
+function transient_notices_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (transient_notices_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function transient_notices_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var transient_notices_TransientNotices = /*#__PURE__*/function (_Component) {
+ inherits_default()(TransientNotices, _Component);
+
+ var _super = transient_notices_createSuper(TransientNotices);
+
+ function TransientNotices() {
+ classCallCheck_default()(this, TransientNotices);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(TransientNotices, [{
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ className = _this$props.className,
+ notices = _this$props.notices,
+ onRemove = _this$props.onRemove;
+ var classes = classnames_default()('woocommerce-transient-notices', 'components-notices__snackbar', className);
+ return Object(external_this_wp_element_["createElement"])(list, {
+ notices: notices,
+ className: classes,
+ onRemove: onRemove
+ });
+ }
+ }]);
+
+ return TransientNotices;
+}(external_this_wp_element_["Component"]);
+
+transient_notices_TransientNotices.propTypes = {
+ /**
+ * Additional class name to style the component.
+ */
+ className: prop_types_default.a.string,
+
+ /**
+ * Array of notices to be displayed.
+ */
+ notices: prop_types_default.a.array
+};
+/* harmony default export */ var transient_notices = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select) {
+ var notices = select('core/notices').getNotices();
+ return {
+ notices: notices
+ };
+}), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ return {
+ onRemove: dispatch('core/notices').removeNotice
+ };
+}))(transient_notices_TransientNotices));
+// EXTERNAL MODULE: ./client/analytics/report/index.js
+var analytics_report = __webpack_require__(200);
+
+// CONCATENATED MODULE: ./client/layout/index.js
+
+
+
+
+
+
+
+
+
+
+function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+function layout_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (layout_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function layout_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+var StoreAlerts = Object(external_this_wp_element_["lazy"])(function () {
+ return Promise.all(/* import() | store-alerts */[__webpack_require__.e(3), __webpack_require__.e(41)]).then(__webpack_require__.bind(null, 910));
+});
+
+var layout_PrimaryLayout = /*#__PURE__*/function (_Component) {
+ inherits_default()(PrimaryLayout, _Component);
+
+ var _super = layout_createSuper(PrimaryLayout);
+
+ function PrimaryLayout() {
+ classCallCheck_default()(this, PrimaryLayout);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(PrimaryLayout, [{
+ key: "render",
+ value: function render() {
+ var children = this.props.children;
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-layout__primary",
+ id: "woocommerce-layout__primary"
+ }, true && Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Suspense"], {
+ fallback: Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Spinner"], null)
+ }, Object(external_this_wp_element_["createElement"])(StoreAlerts, null)), Object(external_this_wp_element_["createElement"])(layout_notices, null), children);
+ }
+ }]);
+
+ return PrimaryLayout;
+}(external_this_wp_element_["Component"]);
+
+var layout_Layout = /*#__PURE__*/function (_Component2) {
+ inherits_default()(_Layout, _Component2);
+
+ var _super2 = layout_createSuper(_Layout);
+
+ function _Layout() {
+ classCallCheck_default()(this, _Layout);
+
+ return _super2.apply(this, arguments);
+ }
+
+ createClass_default()(_Layout, [{
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ this.recordPageViewTrack();
+ }
+ }, {
+ key: "componentDidUpdate",
+ value: function componentDidUpdate(prevProps) {
+ var previousPath = Object(external_lodash_["get"])(prevProps, 'location.pathname');
+ var currentPath = Object(external_lodash_["get"])(this.props, 'location.pathname');
+
+ if (!previousPath || !currentPath) {
+ return;
+ }
+
+ if (previousPath !== currentPath) {
+ this.recordPageViewTrack();
+ }
+ }
+ }, {
+ key: "recordPageViewTrack",
+ value: function recordPageViewTrack() {
+ var _this$props = this.props,
+ activePlugins = _this$props.activePlugins,
+ installedPlugins = _this$props.installedPlugins,
+ isEmbedded = _this$props.isEmbedded,
+ isJetpackConnected = _this$props.isJetpackConnected;
+
+ if (isEmbedded) {
+ var _path = document.location.pathname + document.location.search;
+
+ Object(tracks["c" /* recordPageView */])(_path, {
+ isEmbedded: isEmbedded
+ });
+ return;
+ }
+
+ var pathname = Object(external_lodash_["get"])(this.props, 'location.pathname');
+
+ if (!pathname) {
+ return;
+ } // Remove leading slash, and camel case remaining pathname
+
+
+ var path = pathname.substring(1).replace(/\//g, '_'); // When pathname is `/` we are on the dashboard
+
+ if (path.length === 0) {
+ path = false ? undefined : 'dashboard';
+ }
+
+ Object(tracks["c" /* recordPageView */])(path, {
+ jetpack_installed: installedPlugins.includes('jetpack'),
+ jetpack_active: activePlugins.includes('jetpack'),
+ jetpack_connected: isJetpackConnected
+ });
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props2 = this.props,
+ isEmbedded = _this$props2.isEmbedded,
+ restProps = objectWithoutProperties_default()(_this$props2, ["isEmbedded"]);
+
+ var breadcrumbs = this.props.page.breadcrumbs;
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-layout"
+ }, Object(external_this_wp_element_["createElement"])(header, {
+ sections: Object(external_lodash_["isFunction"])(breadcrumbs) ? breadcrumbs(this.props) : breadcrumbs,
+ isEmbedded: isEmbedded
+ }), Object(external_this_wp_element_["createElement"])(transient_notices, null), !isEmbedded && Object(external_this_wp_element_["createElement"])(layout_PrimaryLayout, null, Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-layout__main"
+ }, Object(external_this_wp_element_["createElement"])(controller_Controller, restProps))));
+ }
+ }]);
+
+ return _Layout;
+}(external_this_wp_element_["Component"]);
+
+layout_Layout.propTypes = {
+ isEmbedded: prop_types_default.a.bool,
+ page: prop_types_default.a.shape({
+ container: prop_types_default.a.oneOfType([prop_types_default.a.func, prop_types_default.a.object // Support React.lazy
+ ]),
+ path: prop_types_default.a.string,
+ breadcrumbs: prop_types_default.a.oneOfType([prop_types_default.a.func, prop_types_default.a.arrayOf(prop_types_default.a.oneOfType([prop_types_default.a.arrayOf(prop_types_default.a.string), prop_types_default.a.string]))]).isRequired,
+ wpOpenMenu: prop_types_default.a.string
+ }).isRequired
+};
+var Layout = Object(compose["a" /* default */])(Object(external_this_wc_data_["withPluginsHydration"])(_objectSpread({}, window.wcSettings.plugins || {}, {
+ jetpackStatus: window.wcSettings.dataEndpoints && window.wcSettings.dataEndpoints.jetpackStatus || false
+})), Object(external_this_wp_data_["withSelect"])(function (select, _ref) {
+ var isEmbedded = _ref.isEmbedded;
+
+ // Embedded pages don't send plugin info to Tracks.
+ if (isEmbedded) {
+ return;
+ }
+
+ var _select = select(external_this_wc_data_["PLUGINS_STORE_NAME"]),
+ getActivePlugins = _select.getActivePlugins,
+ getInstalledPlugins = _select.getInstalledPlugins,
+ isJetpackConnected = _select.isJetpackConnected;
+
+ return {
+ activePlugins: getActivePlugins(),
+ isJetpackConnected: isJetpackConnected(),
+ installedPlugins: getInstalledPlugins()
+ };
+}))(layout_Layout);
+
+var layout_PageLayout = /*#__PURE__*/function (_Component3) {
+ inherits_default()(_PageLayout, _Component3);
+
+ var _super3 = layout_createSuper(_PageLayout);
+
+ function _PageLayout() {
+ classCallCheck_default()(this, _PageLayout);
+
+ return _super3.apply(this, arguments);
+ }
+
+ createClass_default()(_PageLayout, [{
+ key: "render",
+ value: function render() {
+ return Object(external_this_wp_element_["createElement"])(react_router_Router, {
+ history: Object(external_this_wc_navigation_["getHistory"])()
+ }, Object(external_this_wp_element_["createElement"])(react_router_Switch, null, controller_getPages().map(function (page) {
+ return Object(external_this_wp_element_["createElement"])(react_router_Route, {
+ key: page.path,
+ path: page.path,
+ exact: true,
+ render: function render(props) {
+ return Object(external_this_wp_element_["createElement"])(Layout, extends_default()({
+ page: page
+ }, props));
+ }
+ });
+ })));
+ }
+ }]);
+
+ return _PageLayout;
+}(external_this_wp_element_["Component"]); // Use the useFilters HoC so PageLayout is re-rendered when filters are used to add new pages or reports
+
+
+var PageLayout = Object(external_this_wc_components_["useFilters"])([PAGES_FILTER, analytics_report["REPORTS_FILTER"]])(layout_PageLayout);
+var layout_EmbedLayout = /*#__PURE__*/function (_Component4) {
+ inherits_default()(EmbedLayout, _Component4);
+
+ var _super4 = layout_createSuper(EmbedLayout);
+
+ function EmbedLayout() {
+ classCallCheck_default()(this, EmbedLayout);
+
+ return _super4.apply(this, arguments);
+ }
+
+ createClass_default()(EmbedLayout, [{
+ key: "render",
+ value: function render() {
+ return Object(external_this_wp_element_["createElement"])(Layout, {
+ page: {
+ breadcrumbs: Object(settings["g" /* getSetting */])('embedBreadcrumbs', [])
+ },
+ isEmbedded: true
+ });
+ }
+ }]);
+
+ return EmbedLayout;
+}(external_this_wp_element_["Component"]);
+
+/***/ }),
+
+/***/ 203:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getFilteredCurrencyInstance; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return CurrencyContext; });
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(48);
+/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _woocommerce_currency__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(137);
+/* harmony import */ var _woocommerce_currency__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_currency__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(26);
+/**
+ * External dependencies
+ */
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+var appCurrency = _woocommerce_currency__WEBPACK_IMPORTED_MODULE_2___default()(_woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_3__[/* CURRENCY */ "b"]);
+var getFilteredCurrencyInstance = function getFilteredCurrencyInstance(query) {
+ var config = appCurrency.getCurrency();
+ var filteredConfig = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__["applyFilters"])('woocommerce_admin_report_currency', config, query);
+ return new _woocommerce_currency__WEBPACK_IMPORTED_MODULE_2___default.a(filteredConfig);
+};
+var CurrencyContext = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createContext"])(appCurrency // default value
+);
+
+/***/ }),
+
+/***/ 204:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wc"]["number"]; }());
+
+/***/ }),
+
+/***/ 209:
+/***/ (function(module, exports) {
+
+function _setPrototypeOf(o, p) {
+ module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
+ o.__proto__ = p;
+ return o;
+ };
+
+ return _setPrototypeOf(o, p);
+}
+
+module.exports = _setPrototypeOf;
+
+/***/ }),
+
+/***/ 21:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ _slicedToArray; });
+
+// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js
+function _arrayWithHoles(arr) {
+ if (Array.isArray(arr)) return arr;
+}
+// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js
+function _iterableToArrayLimit(arr, i) {
+ if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
+ var _arr = [];
+ var _n = true;
+ var _d = false;
+ var _e = undefined;
+
+ try {
+ for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
+ _arr.push(_s.value);
+
+ if (i && _arr.length === i) break;
+ }
+ } catch (err) {
+ _d = true;
+ _e = err;
+ } finally {
+ try {
+ if (!_n && _i["return"] != null) _i["return"]();
+ } finally {
+ if (_d) throw _e;
+ }
+ }
+
+ return _arr;
+}
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
+var unsupportedIterableToArray = __webpack_require__(52);
+
+// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js
+function _nonIterableRest() {
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js
+
+
+
+
+function _slicedToArray(arr, i) {
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || Object(unsupportedIterableToArray["a" /* default */])(arr, i) || _nonIterableRest();
+}
+
+/***/ }),
+
+/***/ 210:
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+/** @license React v16.13.1
+ * react-is.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+var b="function"===typeof Symbol&&Symbol.for,c=b?Symbol.for("react.element"):60103,d=b?Symbol.for("react.portal"):60106,e=b?Symbol.for("react.fragment"):60107,f=b?Symbol.for("react.strict_mode"):60108,g=b?Symbol.for("react.profiler"):60114,h=b?Symbol.for("react.provider"):60109,k=b?Symbol.for("react.context"):60110,l=b?Symbol.for("react.async_mode"):60111,m=b?Symbol.for("react.concurrent_mode"):60111,n=b?Symbol.for("react.forward_ref"):60112,p=b?Symbol.for("react.suspense"):60113,q=b?
+Symbol.for("react.suspense_list"):60120,r=b?Symbol.for("react.memo"):60115,t=b?Symbol.for("react.lazy"):60116,v=b?Symbol.for("react.block"):60121,w=b?Symbol.for("react.fundamental"):60117,x=b?Symbol.for("react.responder"):60118,y=b?Symbol.for("react.scope"):60119;
+function z(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;
+exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return"object"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};
+exports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};
+exports.isValidElementType=function(a){return"string"===typeof a||"function"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||"object"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;
+
+
+/***/ }),
+
+/***/ 22:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wc"]["navigation"]; }());
+
+/***/ }),
+
+/***/ 23:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wc"]["date"]; }());
+
+/***/ }),
+
+/***/ 24:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export JETPACK_NAMESPACE */
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return NAMESPACE; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return WC_ADMIN_NAMESPACE; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return WCS_NAMESPACE; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return DEFAULT_REQUIREMENT; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return MAX_PER_PAGE; });
+/* unused harmony export DEFAULT_ACTIONABLE_STATUSES */
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return QUERY_DEFAULTS; });
+/* harmony import */ var _fresh_data_framework__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(170);
+/**
+ * External dependencies
+ */
+
+var JETPACK_NAMESPACE = '/jetpack/v4';
+var NAMESPACE = '/wc-analytics';
+var WC_ADMIN_NAMESPACE = '/wc-admin';
+var WCS_NAMESPACE = '/wc/v1'; // WCS endpoints like Stripe are not avaiable on later /wc versions
+
+var DEFAULT_REQUIREMENT = {
+ timeout: 1 * _fresh_data_framework__WEBPACK_IMPORTED_MODULE_0__[/* MINUTE */ "b"],
+ freshness: 30 * _fresh_data_framework__WEBPACK_IMPORTED_MODULE_0__[/* MINUTE */ "b"]
+}; // WordPress & WooCommerce both set a hard limit of 100 for the per_page parameter
+
+var MAX_PER_PAGE = 100;
+var DEFAULT_ACTIONABLE_STATUSES = ['processing', 'on-hold'];
+var QUERY_DEFAULTS = {
+ pageSize: 25,
+ period: 'month',
+ compare: 'previous_year'
+};
+
+/***/ }),
+
+/***/ 256:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__);
+/**
+ * External dependencies
+ */
+
+/**
+ * Composes multiple higher-order components into a single higher-order component. Performs right-to-left function
+ * composition, where each successive invocation is supplied the return value of the previous.
+ *
+ * @param {...Function} hocs The HOC functions to invoke.
+ *
+ * @return {Function} Returns the new composite function.
+ */
+
+/* harmony default export */ __webpack_exports__["a"] = (lodash__WEBPACK_IMPORTED_MODULE_0__["flowRight"]);
+//# sourceMappingURL=compose.js.map
+
+/***/ }),
+
+/***/ 257:
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+Object.defineProperty(exports, '__esModule', { value: true });
+
+function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
+
+var _extends = _interopDefault(__webpack_require__(105));
+var _objectWithoutPropertiesLoose = _interopDefault(__webpack_require__(266));
+var React = __webpack_require__(14);
+var React__default = _interopDefault(React);
+var _inheritsLoose = _interopDefault(__webpack_require__(201));
+var _assertThisInitialized = _interopDefault(__webpack_require__(59));
+
+var is = {
+ arr: Array.isArray,
+ obj: function obj(a) {
+ return Object.prototype.toString.call(a) === '[object Object]';
+ },
+ fun: function fun(a) {
+ return typeof a === 'function';
+ },
+ str: function str(a) {
+ return typeof a === 'string';
+ },
+ num: function num(a) {
+ return typeof a === 'number';
+ },
+ und: function und(a) {
+ return a === void 0;
+ },
+ nul: function nul(a) {
+ return a === null;
+ },
+ set: function set(a) {
+ return a instanceof Set;
+ },
+ map: function map(a) {
+ return a instanceof Map;
+ },
+ equ: function equ(a, b) {
+ if (typeof a !== typeof b) return false;
+ if (is.str(a) || is.num(a)) return a === b;
+ if (is.obj(a) && is.obj(b) && Object.keys(a).length + Object.keys(b).length === 0) return true;
+ var i;
+
+ for (i in a) {
+ if (!(i in b)) return false;
+ }
+
+ for (i in b) {
+ if (a[i] !== b[i]) return false;
+ }
+
+ return is.und(i) ? a === b : true;
+ }
+};
+function merge(target, lowercase) {
+ if (lowercase === void 0) {
+ lowercase = true;
+ }
+
+ return function (object) {
+ return (is.arr(object) ? object : Object.keys(object)).reduce(function (acc, element) {
+ var key = lowercase ? element[0].toLowerCase() + element.substring(1) : element;
+ acc[key] = target(key);
+ return acc;
+ }, target);
+ };
+}
+function useForceUpdate() {
+ var _useState = React.useState(false),
+ f = _useState[1];
+
+ var forceUpdate = React.useCallback(function () {
+ return f(function (v) {
+ return !v;
+ });
+ }, []);
+ return forceUpdate;
+}
+function withDefault(value, defaultValue) {
+ return is.und(value) || is.nul(value) ? defaultValue : value;
+}
+function toArray(a) {
+ return !is.und(a) ? is.arr(a) ? a : [a] : [];
+}
+function callProp(obj) {
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
+ args[_key - 1] = arguments[_key];
+ }
+
+ return is.fun(obj) ? obj.apply(void 0, args) : obj;
+}
+
+function getForwardProps(props) {
+ var to = props.to,
+ from = props.from,
+ config = props.config,
+ onStart = props.onStart,
+ onRest = props.onRest,
+ onFrame = props.onFrame,
+ children = props.children,
+ reset = props.reset,
+ reverse = props.reverse,
+ force = props.force,
+ immediate = props.immediate,
+ delay = props.delay,
+ attach = props.attach,
+ destroyed = props.destroyed,
+ interpolateTo = props.interpolateTo,
+ ref = props.ref,
+ lazy = props.lazy,
+ forward = _objectWithoutPropertiesLoose(props, ["to", "from", "config", "onStart", "onRest", "onFrame", "children", "reset", "reverse", "force", "immediate", "delay", "attach", "destroyed", "interpolateTo", "ref", "lazy"]);
+
+ return forward;
+}
+
+function interpolateTo(props) {
+ var forward = getForwardProps(props);
+ if (is.und(forward)) return _extends({
+ to: forward
+ }, props);
+ var rest = Object.keys(props).reduce(function (a, k) {
+ var _extends2;
+
+ return !is.und(forward[k]) ? a : _extends({}, a, (_extends2 = {}, _extends2[k] = props[k], _extends2));
+ }, {});
+ return _extends({
+ to: forward
+ }, rest);
+}
+function handleRef(ref, forward) {
+ if (forward) {
+ // If it's a function, assume it's a ref callback
+ if (is.fun(forward)) forward(ref);else if (is.obj(forward)) {
+ forward.current = ref;
+ }
+ }
+
+ return ref;
+}
+
+var Animated =
+/*#__PURE__*/
+function () {
+ function Animated() {
+ this.payload = void 0;
+ this.children = [];
+ }
+
+ var _proto = Animated.prototype;
+
+ _proto.getAnimatedValue = function getAnimatedValue() {
+ return this.getValue();
+ };
+
+ _proto.getPayload = function getPayload() {
+ return this.payload || this;
+ };
+
+ _proto.attach = function attach() {};
+
+ _proto.detach = function detach() {};
+
+ _proto.getChildren = function getChildren() {
+ return this.children;
+ };
+
+ _proto.addChild = function addChild(child) {
+ if (this.children.length === 0) this.attach();
+ this.children.push(child);
+ };
+
+ _proto.removeChild = function removeChild(child) {
+ var index = this.children.indexOf(child);
+ this.children.splice(index, 1);
+ if (this.children.length === 0) this.detach();
+ };
+
+ return Animated;
+}();
+var AnimatedArray =
+/*#__PURE__*/
+function (_Animated) {
+ _inheritsLoose(AnimatedArray, _Animated);
+
+ function AnimatedArray() {
+ var _this;
+
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
+ args[_key] = arguments[_key];
+ }
+
+ _this = _Animated.call.apply(_Animated, [this].concat(args)) || this;
+ _this.payload = [];
+
+ _this.attach = function () {
+ return _this.payload.forEach(function (p) {
+ return p instanceof Animated && p.addChild(_assertThisInitialized(_this));
+ });
+ };
+
+ _this.detach = function () {
+ return _this.payload.forEach(function (p) {
+ return p instanceof Animated && p.removeChild(_assertThisInitialized(_this));
+ });
+ };
+
+ return _this;
+ }
+
+ return AnimatedArray;
+}(Animated);
+var AnimatedObject =
+/*#__PURE__*/
+function (_Animated2) {
+ _inheritsLoose(AnimatedObject, _Animated2);
+
+ function AnimatedObject() {
+ var _this2;
+
+ for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
+ args[_key3] = arguments[_key3];
+ }
+
+ _this2 = _Animated2.call.apply(_Animated2, [this].concat(args)) || this;
+ _this2.payload = {};
+
+ _this2.attach = function () {
+ return Object.values(_this2.payload).forEach(function (s) {
+ return s instanceof Animated && s.addChild(_assertThisInitialized(_this2));
+ });
+ };
+
+ _this2.detach = function () {
+ return Object.values(_this2.payload).forEach(function (s) {
+ return s instanceof Animated && s.removeChild(_assertThisInitialized(_this2));
+ });
+ };
+
+ return _this2;
+ }
+
+ var _proto2 = AnimatedObject.prototype;
+
+ _proto2.getValue = function getValue(animated) {
+ if (animated === void 0) {
+ animated = false;
+ }
+
+ var payload = {};
+
+ for (var _key4 in this.payload) {
+ var value = this.payload[_key4];
+ if (animated && !(value instanceof Animated)) continue;
+ payload[_key4] = value instanceof Animated ? value[animated ? 'getAnimatedValue' : 'getValue']() : value;
+ }
+
+ return payload;
+ };
+
+ _proto2.getAnimatedValue = function getAnimatedValue() {
+ return this.getValue(true);
+ };
+
+ return AnimatedObject;
+}(Animated);
+
+var applyAnimatedValues;
+function injectApplyAnimatedValues(fn, transform) {
+ applyAnimatedValues = {
+ fn: fn,
+ transform: transform
+ };
+}
+var colorNames;
+function injectColorNames(names) {
+ colorNames = names;
+}
+var requestFrame = function requestFrame(cb) {
+ return typeof window !== 'undefined' ? window.requestAnimationFrame(cb) : -1;
+};
+var cancelFrame = function cancelFrame(id) {
+ typeof window !== 'undefined' && window.cancelAnimationFrame(id);
+};
+function injectFrame(raf, caf) {
+ requestFrame = raf;
+ cancelFrame = caf;
+}
+var interpolation;
+function injectStringInterpolator(fn) {
+ interpolation = fn;
+}
+var now = function now() {
+ return Date.now();
+};
+function injectNow(nowFn) {
+ now = nowFn;
+}
+var defaultElement;
+function injectDefaultElement(el) {
+ defaultElement = el;
+}
+var animatedApi = function animatedApi(node) {
+ return node.current;
+};
+function injectAnimatedApi(fn) {
+ animatedApi = fn;
+}
+var createAnimatedStyle;
+function injectCreateAnimatedStyle(factory) {
+ createAnimatedStyle = factory;
+}
+var manualFrameloop;
+function injectManualFrameloop(callback) {
+ manualFrameloop = callback;
+}
+
+var Globals = /*#__PURE__*/Object.freeze({
+ get applyAnimatedValues () { return applyAnimatedValues; },
+ injectApplyAnimatedValues: injectApplyAnimatedValues,
+ get colorNames () { return colorNames; },
+ injectColorNames: injectColorNames,
+ get requestFrame () { return requestFrame; },
+ get cancelFrame () { return cancelFrame; },
+ injectFrame: injectFrame,
+ get interpolation () { return interpolation; },
+ injectStringInterpolator: injectStringInterpolator,
+ get now () { return now; },
+ injectNow: injectNow,
+ get defaultElement () { return defaultElement; },
+ injectDefaultElement: injectDefaultElement,
+ get animatedApi () { return animatedApi; },
+ injectAnimatedApi: injectAnimatedApi,
+ get createAnimatedStyle () { return createAnimatedStyle; },
+ injectCreateAnimatedStyle: injectCreateAnimatedStyle,
+ get manualFrameloop () { return manualFrameloop; },
+ injectManualFrameloop: injectManualFrameloop
+});
+
+/**
+ * Wraps the `style` property with `AnimatedStyle`.
+ */
+
+var AnimatedProps =
+/*#__PURE__*/
+function (_AnimatedObject) {
+ _inheritsLoose(AnimatedProps, _AnimatedObject);
+
+ function AnimatedProps(props, callback) {
+ var _this;
+
+ _this = _AnimatedObject.call(this) || this;
+ _this.update = void 0;
+ _this.payload = !props.style ? props : _extends({}, props, {
+ style: createAnimatedStyle(props.style)
+ });
+ _this.update = callback;
+
+ _this.attach();
+
+ return _this;
+ }
+
+ return AnimatedProps;
+}(AnimatedObject);
+
+var isFunctionComponent = function isFunctionComponent(val) {
+ return is.fun(val) && !(val.prototype instanceof React__default.Component);
+};
+
+var createAnimatedComponent = function createAnimatedComponent(Component) {
+ var AnimatedComponent = React.forwardRef(function (props, ref) {
+ var forceUpdate = useForceUpdate();
+ var mounted = React.useRef(true);
+ var propsAnimated = React.useRef(null);
+ var node = React.useRef(null);
+ var attachProps = React.useCallback(function (props) {
+ var oldPropsAnimated = propsAnimated.current;
+
+ var callback = function callback() {
+ var didUpdate = false;
+
+ if (node.current) {
+ didUpdate = applyAnimatedValues.fn(node.current, propsAnimated.current.getAnimatedValue());
+ }
+
+ if (!node.current || didUpdate === false) {
+ // If no referenced node has been found, or the update target didn't have a
+ // native-responder, then forceUpdate the animation ...
+ forceUpdate();
+ }
+ };
+
+ propsAnimated.current = new AnimatedProps(props, callback);
+ oldPropsAnimated && oldPropsAnimated.detach();
+ }, []);
+ React.useEffect(function () {
+ return function () {
+ mounted.current = false;
+ propsAnimated.current && propsAnimated.current.detach();
+ };
+ }, []);
+ React.useImperativeHandle(ref, function () {
+ return animatedApi(node, mounted, forceUpdate);
+ });
+ attachProps(props);
+
+ var _getValue = propsAnimated.current.getValue(),
+ scrollTop = _getValue.scrollTop,
+ scrollLeft = _getValue.scrollLeft,
+ animatedProps = _objectWithoutPropertiesLoose(_getValue, ["scrollTop", "scrollLeft"]); // Functions cannot have refs, see:
+ // See: https://github.com/react-spring/react-spring/issues/569
+
+
+ var refFn = isFunctionComponent(Component) ? undefined : function (childRef) {
+ return node.current = handleRef(childRef, ref);
+ };
+ return React__default.createElement(Component, _extends({}, animatedProps, {
+ ref: refFn
+ }));
+ });
+ return AnimatedComponent;
+};
+
+var active = false;
+var controllers = new Set();
+
+var update = function update() {
+ if (!active) return false;
+ var time = now();
+
+ for (var _iterator = controllers, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
+ var _ref;
+
+ if (_isArray) {
+ if (_i >= _iterator.length) break;
+ _ref = _iterator[_i++];
+ } else {
+ _i = _iterator.next();
+ if (_i.done) break;
+ _ref = _i.value;
+ }
+
+ var controller = _ref;
+ var isActive = false;
+
+ for (var configIdx = 0; configIdx < controller.configs.length; configIdx++) {
+ var config = controller.configs[configIdx];
+ var endOfAnimation = void 0,
+ lastTime = void 0;
+
+ for (var valIdx = 0; valIdx < config.animatedValues.length; valIdx++) {
+ var animation = config.animatedValues[valIdx]; // If an animation is done, skip, until all of them conclude
+
+ if (animation.done) continue;
+ var from = config.fromValues[valIdx];
+ var to = config.toValues[valIdx];
+ var position = animation.lastPosition;
+ var isAnimated = to instanceof Animated;
+ var velocity = Array.isArray(config.initialVelocity) ? config.initialVelocity[valIdx] : config.initialVelocity;
+ if (isAnimated) to = to.getValue(); // Conclude animation if it's either immediate, or from-values match end-state
+
+ if (config.immediate) {
+ animation.setValue(to);
+ animation.done = true;
+ continue;
+ } // Break animation when string values are involved
+
+
+ if (typeof from === 'string' || typeof to === 'string') {
+ animation.setValue(to);
+ animation.done = true;
+ continue;
+ }
+
+ if (config.duration !== void 0) {
+ /** Duration easing */
+ position = from + config.easing((time - animation.startTime) / config.duration) * (to - from);
+ endOfAnimation = time >= animation.startTime + config.duration;
+ } else if (config.decay) {
+ /** Decay easing */
+ position = from + velocity / (1 - 0.998) * (1 - Math.exp(-(1 - 0.998) * (time - animation.startTime)));
+ endOfAnimation = Math.abs(animation.lastPosition - position) < 0.1;
+ if (endOfAnimation) to = position;
+ } else {
+ /** Spring easing */
+ lastTime = animation.lastTime !== void 0 ? animation.lastTime : time;
+ velocity = animation.lastVelocity !== void 0 ? animation.lastVelocity : config.initialVelocity; // If we lost a lot of frames just jump to the end.
+
+ if (time > lastTime + 64) lastTime = time; // http://gafferongames.com/game-physics/fix-your-timestep/
+
+ var numSteps = Math.floor(time - lastTime);
+
+ for (var i = 0; i < numSteps; ++i) {
+ var force = -config.tension * (position - to);
+ var damping = -config.friction * velocity;
+ var acceleration = (force + damping) / config.mass;
+ velocity = velocity + acceleration * 1 / 1000;
+ position = position + velocity * 1 / 1000;
+ } // Conditions for stopping the spring animation
+
+
+ var isOvershooting = config.clamp && config.tension !== 0 ? from < to ? position > to : position < to : false;
+ var isVelocity = Math.abs(velocity) <= config.precision;
+ var isDisplacement = config.tension !== 0 ? Math.abs(to - position) <= config.precision : true;
+ endOfAnimation = isOvershooting || isVelocity && isDisplacement;
+ animation.lastVelocity = velocity;
+ animation.lastTime = time;
+ } // Trails aren't done until their parents conclude
+
+
+ if (isAnimated && !config.toValues[valIdx].done) endOfAnimation = false;
+
+ if (endOfAnimation) {
+ // Ensure that we end up with a round value
+ if (animation.value !== to) position = to;
+ animation.done = true;
+ } else isActive = true;
+
+ animation.setValue(position);
+ animation.lastPosition = position;
+ } // Keep track of updated values only when necessary
+
+
+ if (controller.props.onFrame) controller.values[config.name] = config.interpolation.getValue();
+ } // Update callbacks in the end of the frame
+
+
+ if (controller.props.onFrame) controller.props.onFrame(controller.values); // Either call onEnd or next frame
+
+ if (!isActive) {
+ controllers.delete(controller);
+ controller.stop(true);
+ }
+ } // Loop over as long as there are controllers ...
+
+
+ if (controllers.size) {
+ if (manualFrameloop) manualFrameloop();else requestFrame(update);
+ } else {
+ active = false;
+ }
+
+ return active;
+};
+
+var start = function start(controller) {
+ if (!controllers.has(controller)) controllers.add(controller);
+
+ if (!active) {
+ active = true;
+ if (manualFrameloop) requestFrame(manualFrameloop);else requestFrame(update);
+ }
+};
+
+var stop = function stop(controller) {
+ if (controllers.has(controller)) controllers.delete(controller);
+};
+
+function createInterpolator(range, output, extrapolate) {
+ if (typeof range === 'function') {
+ return range;
+ }
+
+ if (Array.isArray(range)) {
+ return createInterpolator({
+ range: range,
+ output: output,
+ extrapolate: extrapolate
+ });
+ }
+
+ if (interpolation && typeof range.output[0] === 'string') {
+ return interpolation(range);
+ }
+
+ var config = range;
+ var outputRange = config.output;
+ var inputRange = config.range || [0, 1];
+ var extrapolateLeft = config.extrapolateLeft || config.extrapolate || 'extend';
+ var extrapolateRight = config.extrapolateRight || config.extrapolate || 'extend';
+
+ var easing = config.easing || function (t) {
+ return t;
+ };
+
+ return function (input) {
+ var range = findRange(input, inputRange);
+ return interpolate(input, inputRange[range], inputRange[range + 1], outputRange[range], outputRange[range + 1], easing, extrapolateLeft, extrapolateRight, config.map);
+ };
+}
+
+function interpolate(input, inputMin, inputMax, outputMin, outputMax, easing, extrapolateLeft, extrapolateRight, map) {
+ var result = map ? map(input) : input; // Extrapolate
+
+ if (result < inputMin) {
+ if (extrapolateLeft === 'identity') return result;else if (extrapolateLeft === 'clamp') result = inputMin;
+ }
+
+ if (result > inputMax) {
+ if (extrapolateRight === 'identity') return result;else if (extrapolateRight === 'clamp') result = inputMax;
+ }
+
+ if (outputMin === outputMax) return outputMin;
+ if (inputMin === inputMax) return input <= inputMin ? outputMin : outputMax; // Input Range
+
+ if (inputMin === -Infinity) result = -result;else if (inputMax === Infinity) result = result - inputMin;else result = (result - inputMin) / (inputMax - inputMin); // Easing
+
+ result = easing(result); // Output Range
+
+ if (outputMin === -Infinity) result = -result;else if (outputMax === Infinity) result = result + outputMin;else result = result * (outputMax - outputMin) + outputMin;
+ return result;
+}
+
+function findRange(input, inputRange) {
+ for (var i = 1; i < inputRange.length - 1; ++i) {
+ if (inputRange[i] >= input) break;
+ }
+
+ return i - 1;
+}
+
+var AnimatedInterpolation =
+/*#__PURE__*/
+function (_AnimatedArray) {
+ _inheritsLoose(AnimatedInterpolation, _AnimatedArray);
+
+ function AnimatedInterpolation(parents, range, output, extrapolate) {
+ var _this;
+
+ _this = _AnimatedArray.call(this) || this;
+ _this.calc = void 0;
+ _this.payload = parents instanceof AnimatedArray && !(parents instanceof AnimatedInterpolation) ? parents.getPayload() : Array.isArray(parents) ? parents : [parents];
+ _this.calc = createInterpolator(range, output, extrapolate);
+ return _this;
+ }
+
+ var _proto = AnimatedInterpolation.prototype;
+
+ _proto.getValue = function getValue() {
+ return this.calc.apply(this, this.payload.map(function (value) {
+ return value.getValue();
+ }));
+ };
+
+ _proto.updateConfig = function updateConfig(range, output, extrapolate) {
+ this.calc = createInterpolator(range, output, extrapolate);
+ };
+
+ _proto.interpolate = function interpolate(range, output, extrapolate) {
+ return new AnimatedInterpolation(this, range, output, extrapolate);
+ };
+
+ return AnimatedInterpolation;
+}(AnimatedArray);
+
+var interpolate$1 = function interpolate(parents, range, output) {
+ return parents && new AnimatedInterpolation(parents, range, output);
+};
+
+var config = {
+ default: {
+ tension: 170,
+ friction: 26
+ },
+ gentle: {
+ tension: 120,
+ friction: 14
+ },
+ wobbly: {
+ tension: 180,
+ friction: 12
+ },
+ stiff: {
+ tension: 210,
+ friction: 20
+ },
+ slow: {
+ tension: 280,
+ friction: 60
+ },
+ molasses: {
+ tension: 280,
+ friction: 120
+ }
+};
+
+/** API
+ * useChain(references, timeSteps, timeFrame)
+ */
+
+function useChain(refs, timeSteps, timeFrame) {
+ if (timeFrame === void 0) {
+ timeFrame = 1000;
+ }
+
+ var previous = React.useRef();
+ React.useEffect(function () {
+ if (is.equ(refs, previous.current)) refs.forEach(function (_ref) {
+ var current = _ref.current;
+ return current && current.start();
+ });else if (timeSteps) {
+ refs.forEach(function (_ref2, index) {
+ var current = _ref2.current;
+
+ if (current) {
+ var ctrls = current.controllers;
+
+ if (ctrls.length) {
+ var t = timeFrame * timeSteps[index];
+ ctrls.forEach(function (ctrl) {
+ ctrl.queue = ctrl.queue.map(function (e) {
+ return _extends({}, e, {
+ delay: e.delay + t
+ });
+ });
+ ctrl.start();
+ });
+ }
+ }
+ });
+ } else refs.reduce(function (q, _ref3, rI) {
+ var current = _ref3.current;
+ return q = q.then(function () {
+ return current.start();
+ });
+ }, Promise.resolve());
+ previous.current = refs;
+ });
+}
+
+/**
+ * Animated works by building a directed acyclic graph of dependencies
+ * transparently when you render your Animated components.
+ *
+ * new Animated.Value(0)
+ * .interpolate() .interpolate() new Animated.Value(1)
+ * opacity translateY scale
+ * style transform
+ * View#234 style
+ * View#123
+ *
+ * A) Top Down phase
+ * When an AnimatedValue is updated, we recursively go down through this
+ * graph in order to find leaf nodes: the views that we flag as needing
+ * an update.
+ *
+ * B) Bottom Up phase
+ * When a view is flagged as needing an update, we recursively go back up
+ * in order to build the new value that it needs. The reason why we need
+ * this two-phases process is to deal with composite props such as
+ * transform which can receive values from multiple parents.
+ */
+function addAnimatedStyles(node, styles) {
+ if ('update' in node) {
+ styles.add(node);
+ } else {
+ node.getChildren().forEach(function (child) {
+ return addAnimatedStyles(child, styles);
+ });
+ }
+}
+
+var AnimatedValue =
+/*#__PURE__*/
+function (_Animated) {
+ _inheritsLoose(AnimatedValue, _Animated);
+
+ function AnimatedValue(_value) {
+ var _this;
+
+ _this = _Animated.call(this) || this;
+ _this.animatedStyles = new Set();
+ _this.value = void 0;
+ _this.startPosition = void 0;
+ _this.lastPosition = void 0;
+ _this.lastVelocity = void 0;
+ _this.startTime = void 0;
+ _this.lastTime = void 0;
+ _this.done = false;
+
+ _this.setValue = function (value, flush) {
+ if (flush === void 0) {
+ flush = true;
+ }
+
+ _this.value = value;
+ if (flush) _this.flush();
+ };
+
+ _this.value = _value;
+ _this.startPosition = _value;
+ _this.lastPosition = _value;
+ return _this;
+ }
+
+ var _proto = AnimatedValue.prototype;
+
+ _proto.flush = function flush() {
+ if (this.animatedStyles.size === 0) {
+ addAnimatedStyles(this, this.animatedStyles);
+ }
+
+ this.animatedStyles.forEach(function (animatedStyle) {
+ return animatedStyle.update();
+ });
+ };
+
+ _proto.clearStyles = function clearStyles() {
+ this.animatedStyles.clear();
+ };
+
+ _proto.getValue = function getValue() {
+ return this.value;
+ };
+
+ _proto.interpolate = function interpolate(range, output, extrapolate) {
+ return new AnimatedInterpolation(this, range, output, extrapolate);
+ };
+
+ return AnimatedValue;
+}(Animated);
+
+var AnimatedValueArray =
+/*#__PURE__*/
+function (_AnimatedArray) {
+ _inheritsLoose(AnimatedValueArray, _AnimatedArray);
+
+ function AnimatedValueArray(values) {
+ var _this;
+
+ _this = _AnimatedArray.call(this) || this;
+ _this.payload = values.map(function (n) {
+ return new AnimatedValue(n);
+ });
+ return _this;
+ }
+
+ var _proto = AnimatedValueArray.prototype;
+
+ _proto.setValue = function setValue(value, flush) {
+ var _this2 = this;
+
+ if (flush === void 0) {
+ flush = true;
+ }
+
+ if (Array.isArray(value)) {
+ if (value.length === this.payload.length) {
+ value.forEach(function (v, i) {
+ return _this2.payload[i].setValue(v, flush);
+ });
+ }
+ } else {
+ this.payload.forEach(function (p) {
+ return p.setValue(value, flush);
+ });
+ }
+ };
+
+ _proto.getValue = function getValue() {
+ return this.payload.map(function (v) {
+ return v.getValue();
+ });
+ };
+
+ _proto.interpolate = function interpolate(range, output) {
+ return new AnimatedInterpolation(this, range, output);
+ };
+
+ return AnimatedValueArray;
+}(AnimatedArray);
+
+var G = 0;
+
+var Controller =
+/*#__PURE__*/
+function () {
+ function Controller() {
+ var _this = this;
+
+ this.id = void 0;
+ this.idle = true;
+ this.hasChanged = false;
+ this.guid = 0;
+ this.local = 0;
+ this.props = {};
+ this.merged = {};
+ this.animations = {};
+ this.interpolations = {};
+ this.values = {};
+ this.configs = [];
+ this.listeners = [];
+ this.queue = [];
+ this.localQueue = void 0;
+
+ this.getValues = function () {
+ return _this.interpolations;
+ };
+
+ this.id = G++;
+ }
+ /** update(props)
+ * This function filters input props and creates an array of tasks which are executed in .start()
+ * Each task is allowed to carry a delay, which means it can execute asnychroneously */
+
+
+ var _proto = Controller.prototype;
+
+ _proto.update = function update$$1(args) {
+ //this._id = n + this.id
+ if (!args) return this; // Extract delay and the to-prop from props
+
+ var _ref = interpolateTo(args),
+ _ref$delay = _ref.delay,
+ delay = _ref$delay === void 0 ? 0 : _ref$delay,
+ to = _ref.to,
+ props = _objectWithoutPropertiesLoose(_ref, ["delay", "to"]);
+
+ if (is.arr(to) || is.fun(to)) {
+ // If config is either a function or an array queue it up as is
+ this.queue.push(_extends({}, props, {
+ delay: delay,
+ to: to
+ }));
+ } else if (to) {
+ // Otherwise go through each key since it could be delayed individually
+ var ops = {};
+ Object.entries(to).forEach(function (_ref2) {
+ var _to;
+
+ var k = _ref2[0],
+ v = _ref2[1];
+
+ // Fetch delay and create an entry, consisting of the to-props, the delay, and basic props
+ var entry = _extends({
+ to: (_to = {}, _to[k] = v, _to),
+ delay: callProp(delay, k)
+ }, props);
+
+ var previous = ops[entry.delay] && ops[entry.delay].to;
+ ops[entry.delay] = _extends({}, ops[entry.delay], entry, {
+ to: _extends({}, previous, entry.to)
+ });
+ });
+ this.queue = Object.values(ops);
+ } // Sort queue, so that async calls go last
+
+
+ this.queue = this.queue.sort(function (a, b) {
+ return a.delay - b.delay;
+ }); // Diff the reduced props immediately (they'll contain the from-prop and some config)
+
+ this.diff(props);
+ return this;
+ }
+ /** start(onEnd)
+ * This function either executes a queue, if present, or starts the frameloop, which animates */
+ ;
+
+ _proto.start = function start$$1(onEnd) {
+ var _this2 = this;
+
+ // If a queue is present we must excecute it
+ if (this.queue.length) {
+ this.idle = false; // Updates can interrupt trailing queues, in that case we just merge values
+
+ if (this.localQueue) {
+ this.localQueue.forEach(function (_ref3) {
+ var _ref3$from = _ref3.from,
+ from = _ref3$from === void 0 ? {} : _ref3$from,
+ _ref3$to = _ref3.to,
+ to = _ref3$to === void 0 ? {} : _ref3$to;
+ if (is.obj(from)) _this2.merged = _extends({}, from, _this2.merged);
+ if (is.obj(to)) _this2.merged = _extends({}, _this2.merged, to);
+ });
+ } // The guid helps us tracking frames, a new queue over an old one means an override
+ // We discard async calls in that caseÍ
+
+
+ var local = this.local = ++this.guid;
+ var queue = this.localQueue = this.queue;
+ this.queue = []; // Go through each entry and execute it
+
+ queue.forEach(function (_ref4, index) {
+ var delay = _ref4.delay,
+ props = _objectWithoutPropertiesLoose(_ref4, ["delay"]);
+
+ var cb = function cb(finished) {
+ if (index === queue.length - 1 && local === _this2.guid && finished) {
+ _this2.idle = true;
+ if (_this2.props.onRest) _this2.props.onRest(_this2.merged);
+ }
+
+ if (onEnd) onEnd();
+ }; // Entries can be delayed, ansyc or immediate
+
+
+ var async = is.arr(props.to) || is.fun(props.to);
+
+ if (delay) {
+ setTimeout(function () {
+ if (local === _this2.guid) {
+ if (async) _this2.runAsync(props, cb);else _this2.diff(props).start(cb);
+ }
+ }, delay);
+ } else if (async) _this2.runAsync(props, cb);else _this2.diff(props).start(cb);
+ });
+ } // Otherwise we kick of the frameloop
+ else {
+ if (is.fun(onEnd)) this.listeners.push(onEnd);
+ if (this.props.onStart) this.props.onStart();
+
+ start(this);
+ }
+
+ return this;
+ };
+
+ _proto.stop = function stop$$1(finished) {
+ this.listeners.forEach(function (onEnd) {
+ return onEnd(finished);
+ });
+ this.listeners = [];
+ return this;
+ }
+ /** Pause sets onEnd listeners free, but also removes the controller from the frameloop */
+ ;
+
+ _proto.pause = function pause(finished) {
+ this.stop(true);
+ if (finished) stop(this);
+ return this;
+ };
+
+ _proto.runAsync = function runAsync(_ref5, onEnd) {
+ var _this3 = this;
+
+ var delay = _ref5.delay,
+ props = _objectWithoutPropertiesLoose(_ref5, ["delay"]);
+
+ var local = this.local; // If "to" is either a function or an array it will be processed async, therefor "to" should be empty right now
+ // If the view relies on certain values "from" has to be present
+
+ var queue = Promise.resolve(undefined);
+
+ if (is.arr(props.to)) {
+ var _loop = function _loop(i) {
+ var index = i;
+
+ var fresh = _extends({}, props, interpolateTo(props.to[index]));
+
+ if (is.arr(fresh.config)) fresh.config = fresh.config[index];
+ queue = queue.then(function () {
+ //this.stop()
+ if (local === _this3.guid) return new Promise(function (r) {
+ return _this3.diff(fresh).start(r);
+ });
+ });
+ };
+
+ for (var i = 0; i < props.to.length; i++) {
+ _loop(i);
+ }
+ } else if (is.fun(props.to)) {
+ var index = 0;
+ var last;
+ queue = queue.then(function () {
+ return props.to( // next(props)
+ function (p) {
+ var fresh = _extends({}, props, interpolateTo(p));
+
+ if (is.arr(fresh.config)) fresh.config = fresh.config[index];
+ index++; //this.stop()
+
+ if (local === _this3.guid) return last = new Promise(function (r) {
+ return _this3.diff(fresh).start(r);
+ });
+ return;
+ }, // cancel()
+ function (finished) {
+ if (finished === void 0) {
+ finished = true;
+ }
+
+ return _this3.stop(finished);
+ }).then(function () {
+ return last;
+ });
+ });
+ }
+
+ queue.then(onEnd);
+ };
+
+ _proto.diff = function diff(props) {
+ var _this4 = this;
+
+ this.props = _extends({}, this.props, props);
+ var _this$props = this.props,
+ _this$props$from = _this$props.from,
+ from = _this$props$from === void 0 ? {} : _this$props$from,
+ _this$props$to = _this$props.to,
+ to = _this$props$to === void 0 ? {} : _this$props$to,
+ _this$props$config = _this$props.config,
+ config = _this$props$config === void 0 ? {} : _this$props$config,
+ reverse = _this$props.reverse,
+ attach = _this$props.attach,
+ reset = _this$props.reset,
+ immediate = _this$props.immediate; // Reverse values when requested
+
+ if (reverse) {
+ var _ref6 = [to, from];
+ from = _ref6[0];
+ to = _ref6[1];
+ } // This will collect all props that were ever set, reset merged props when necessary
+
+
+ this.merged = _extends({}, from, this.merged, to);
+ this.hasChanged = false; // Attachment handling, trailed springs can "attach" themselves to a previous spring
+
+ var target = attach && attach(this); // Reduces input { name: value } pairs into animated values
+
+ this.animations = Object.entries(this.merged).reduce(function (acc, _ref7) {
+ var name = _ref7[0],
+ value = _ref7[1];
+ // Issue cached entries, except on reset
+ var entry = acc[name] || {}; // Figure out what the value is supposed to be
+
+ var isNumber = is.num(value);
+ var isString = is.str(value) && !value.startsWith('#') && !/\d/.test(value) && !colorNames[value];
+ var isArray = is.arr(value);
+ var isInterpolation = !isNumber && !isArray && !isString;
+ var fromValue = !is.und(from[name]) ? from[name] : value;
+ var toValue = isNumber || isArray ? value : isString ? value : 1;
+ var toConfig = callProp(config, name);
+ if (target) toValue = target.animations[name].parent;
+ var parent = entry.parent,
+ interpolation$$1 = entry.interpolation,
+ toValues = toArray(target ? toValue.getPayload() : toValue),
+ animatedValues;
+ var newValue = value;
+ if (isInterpolation) newValue = interpolation({
+ range: [0, 1],
+ output: [value, value]
+ })(1);
+ var currentValue = interpolation$$1 && interpolation$$1.getValue(); // Change detection flags
+
+ var isFirst = is.und(parent);
+ var isActive = !isFirst && entry.animatedValues.some(function (v) {
+ return !v.done;
+ });
+ var currentValueDiffersFromGoal = !is.equ(newValue, currentValue);
+ var hasNewGoal = !is.equ(newValue, entry.previous);
+ var hasNewConfig = !is.equ(toConfig, entry.config); // Change animation props when props indicate a new goal (new value differs from previous one)
+ // and current values differ from it. Config changes trigger a new update as well (though probably shouldn't?)
+
+ if (reset || hasNewGoal && currentValueDiffersFromGoal || hasNewConfig) {
+ var _extends2;
+
+ // Convert regular values into animated values, ALWAYS re-use if possible
+ if (isNumber || isString) parent = interpolation$$1 = entry.parent || new AnimatedValue(fromValue);else if (isArray) parent = interpolation$$1 = entry.parent || new AnimatedValueArray(fromValue);else if (isInterpolation) {
+ var prev = entry.interpolation && entry.interpolation.calc(entry.parent.value);
+ prev = prev !== void 0 && !reset ? prev : fromValue;
+
+ if (entry.parent) {
+ parent = entry.parent;
+ parent.setValue(0, false);
+ } else parent = new AnimatedValue(0);
+
+ var range = {
+ output: [prev, value]
+ };
+
+ if (entry.interpolation) {
+ interpolation$$1 = entry.interpolation;
+ entry.interpolation.updateConfig(range);
+ } else interpolation$$1 = parent.interpolate(range);
+ }
+ toValues = toArray(target ? toValue.getPayload() : toValue);
+ animatedValues = toArray(parent.getPayload());
+ if (reset && !isInterpolation) parent.setValue(fromValue, false);
+ _this4.hasChanged = true; // Reset animated values
+
+ animatedValues.forEach(function (value) {
+ value.startPosition = value.value;
+ value.lastPosition = value.value;
+ value.lastVelocity = isActive ? value.lastVelocity : undefined;
+ value.lastTime = isActive ? value.lastTime : undefined;
+ value.startTime = now();
+ value.done = false;
+ value.animatedStyles.clear();
+ }); // Set immediate values
+
+ if (callProp(immediate, name)) {
+ parent.setValue(isInterpolation ? toValue : value, false);
+ }
+
+ return _extends({}, acc, (_extends2 = {}, _extends2[name] = _extends({}, entry, {
+ name: name,
+ parent: parent,
+ interpolation: interpolation$$1,
+ animatedValues: animatedValues,
+ toValues: toValues,
+ previous: newValue,
+ config: toConfig,
+ fromValues: toArray(parent.getValue()),
+ immediate: callProp(immediate, name),
+ initialVelocity: withDefault(toConfig.velocity, 0),
+ clamp: withDefault(toConfig.clamp, false),
+ precision: withDefault(toConfig.precision, 0.01),
+ tension: withDefault(toConfig.tension, 170),
+ friction: withDefault(toConfig.friction, 26),
+ mass: withDefault(toConfig.mass, 1),
+ duration: toConfig.duration,
+ easing: withDefault(toConfig.easing, function (t) {
+ return t;
+ }),
+ decay: toConfig.decay
+ }), _extends2));
+ } else {
+ if (!currentValueDiffersFromGoal) {
+ var _extends3;
+
+ // So ... the current target value (newValue) appears to be different from the previous value,
+ // which normally constitutes an update, but the actual value (currentValue) matches the target!
+ // In order to resolve this without causing an animation update we silently flag the animation as done,
+ // which it technically is. Interpolations also needs a config update with their target set to 1.
+ if (isInterpolation) {
+ parent.setValue(1, false);
+ interpolation$$1.updateConfig({
+ output: [newValue, newValue]
+ });
+ }
+
+ parent.done = true;
+ _this4.hasChanged = true;
+ return _extends({}, acc, (_extends3 = {}, _extends3[name] = _extends({}, acc[name], {
+ previous: newValue
+ }), _extends3));
+ }
+
+ return acc;
+ }
+ }, this.animations);
+
+ if (this.hasChanged) {
+ // Make animations available to frameloop
+ this.configs = Object.values(this.animations);
+ this.values = {};
+ this.interpolations = {};
+
+ for (var key in this.animations) {
+ this.interpolations[key] = this.animations[key].interpolation;
+ this.values[key] = this.animations[key].interpolation.getValue();
+ }
+ }
+
+ return this;
+ };
+
+ _proto.destroy = function destroy() {
+ this.stop();
+ this.props = {};
+ this.merged = {};
+ this.animations = {};
+ this.interpolations = {};
+ this.values = {};
+ this.configs = [];
+ this.local = 0;
+ };
+
+ return Controller;
+}();
+
+/** API
+ * const props = useSprings(number, [{ ... }, { ... }, ...])
+ * const [props, set] = useSprings(number, (i, controller) => ({ ... }))
+ */
+
+var useSprings = function useSprings(length, props) {
+ var mounted = React.useRef(false);
+ var ctrl = React.useRef();
+ var isFn = is.fun(props); // The controller maintains the animation values, starts and stops animations
+
+ var _useMemo = React.useMemo(function () {
+ // Remove old controllers
+ if (ctrl.current) {
+ ctrl.current.map(function (c) {
+ return c.destroy();
+ });
+ ctrl.current = undefined;
+ }
+
+ var ref;
+ return [new Array(length).fill().map(function (_, i) {
+ var ctrl = new Controller();
+ var newProps = isFn ? callProp(props, i, ctrl) : props[i];
+ if (i === 0) ref = newProps.ref;
+ ctrl.update(newProps);
+ if (!ref) ctrl.start();
+ return ctrl;
+ }), ref];
+ }, [length]),
+ controllers = _useMemo[0],
+ ref = _useMemo[1];
+
+ ctrl.current = controllers; // The hooks reference api gets defined here ...
+
+ var api = React.useImperativeHandle(ref, function () {
+ return {
+ start: function start() {
+ return Promise.all(ctrl.current.map(function (c) {
+ return new Promise(function (r) {
+ return c.start(r);
+ });
+ }));
+ },
+ stop: function stop(finished) {
+ return ctrl.current.forEach(function (c) {
+ return c.stop(finished);
+ });
+ },
+
+ get controllers() {
+ return ctrl.current;
+ }
+
+ };
+ }); // This function updates the controllers
+
+ var updateCtrl = React.useMemo(function () {
+ return function (updateProps) {
+ return ctrl.current.map(function (c, i) {
+ c.update(isFn ? callProp(updateProps, i, c) : updateProps[i]);
+ if (!ref) c.start();
+ });
+ };
+ }, [length]); // Update controller if props aren't functional
+
+ React.useEffect(function () {
+ if (mounted.current) {
+ if (!isFn) updateCtrl(props);
+ } else if (!ref) ctrl.current.forEach(function (c) {
+ return c.start();
+ });
+ }); // Update mounted flag and destroy controller on unmount
+
+ React.useEffect(function () {
+ return mounted.current = true, function () {
+ return ctrl.current.forEach(function (c) {
+ return c.destroy();
+ });
+ };
+ }, []); // Return animated props, or, anim-props + the update-setter above
+
+ var propValues = ctrl.current.map(function (c) {
+ return c.getValues();
+ });
+ return isFn ? [propValues, updateCtrl, function (finished) {
+ return ctrl.current.forEach(function (c) {
+ return c.pause(finished);
+ });
+ }] : propValues;
+};
+
+/** API
+ * const props = useSpring({ ... })
+ * const [props, set] = useSpring(() => ({ ... }))
+ */
+
+var useSpring = function useSpring(props) {
+ var isFn = is.fun(props);
+
+ var _useSprings = useSprings(1, isFn ? props : [props]),
+ result = _useSprings[0],
+ set = _useSprings[1],
+ pause = _useSprings[2];
+
+ return isFn ? [result[0], set, pause] : result;
+};
+
+/** API
+ * const trails = useTrail(number, { ... })
+ * const [trails, set] = useTrail(number, () => ({ ... }))
+ */
+
+var useTrail = function useTrail(length, props) {
+ var mounted = React.useRef(false);
+ var isFn = is.fun(props);
+ var updateProps = callProp(props);
+ var instances = React.useRef();
+
+ var _useSprings = useSprings(length, function (i, ctrl) {
+ if (i === 0) instances.current = [];
+ instances.current.push(ctrl);
+ return _extends({}, updateProps, {
+ config: callProp(updateProps.config, i),
+ attach: i > 0 && function () {
+ return instances.current[i - 1];
+ }
+ });
+ }),
+ result = _useSprings[0],
+ set = _useSprings[1],
+ pause = _useSprings[2]; // Set up function to update controller
+
+
+ var updateCtrl = React.useMemo(function () {
+ return function (props) {
+ return set(function (i, ctrl) {
+ var last = props.reverse ? i === 0 : length - 1 === i;
+ var attachIdx = props.reverse ? i + 1 : i - 1;
+ var attachController = instances.current[attachIdx];
+ return _extends({}, props, {
+ config: callProp(props.config || updateProps.config, i),
+ attach: attachController && function () {
+ return attachController;
+ }
+ });
+ });
+ };
+ }, [length, updateProps.reverse]); // Update controller if props aren't functional
+
+ React.useEffect(function () {
+ return void (mounted.current && !isFn && updateCtrl(props));
+ }); // Update mounted flag and destroy controller on unmount
+
+ React.useEffect(function () {
+ return void (mounted.current = true);
+ }, []);
+ return isFn ? [result, updateCtrl, pause] : result;
+};
+
+/** API
+ * const transitions = useTransition(items, itemKeys, { ... })
+ * const [transitions, update] = useTransition(items, itemKeys, () => ({ ... }))
+ */
+
+var guid = 0;
+var ENTER = 'enter';
+var LEAVE = 'leave';
+var UPDATE = 'update';
+
+var mapKeys = function mapKeys(items, keys) {
+ return (typeof keys === 'function' ? items.map(keys) : toArray(keys)).map(String);
+};
+
+var get = function get(props) {
+ var items = props.items,
+ _props$keys = props.keys,
+ keys = _props$keys === void 0 ? function (item) {
+ return item;
+ } : _props$keys,
+ rest = _objectWithoutPropertiesLoose(props, ["items", "keys"]);
+
+ items = toArray(items !== void 0 ? items : null);
+ return _extends({
+ items: items,
+ keys: mapKeys(items, keys)
+ }, rest);
+};
+
+function useTransition(input, keyTransform, config) {
+ var props = _extends({
+ items: input,
+ keys: keyTransform || function (i) {
+ return i;
+ }
+ }, config);
+
+ var _get = get(props),
+ _get$lazy = _get.lazy,
+ lazy = _get$lazy === void 0 ? false : _get$lazy,
+ _get$unique = _get.unique,
+ _get$reset = _get.reset,
+ reset = _get$reset === void 0 ? false : _get$reset,
+ enter = _get.enter,
+ leave = _get.leave,
+ update = _get.update,
+ onDestroyed = _get.onDestroyed,
+ keys = _get.keys,
+ items = _get.items,
+ onFrame = _get.onFrame,
+ _onRest = _get.onRest,
+ onStart = _get.onStart,
+ ref = _get.ref,
+ extra = _objectWithoutPropertiesLoose(_get, ["lazy", "unique", "reset", "enter", "leave", "update", "onDestroyed", "keys", "items", "onFrame", "onRest", "onStart", "ref"]);
+
+ var forceUpdate = useForceUpdate();
+ var mounted = React.useRef(false);
+ var state = React.useRef({
+ mounted: false,
+ first: true,
+ deleted: [],
+ current: {},
+ transitions: [],
+ prevProps: {},
+ paused: !!props.ref,
+ instances: !mounted.current && new Map(),
+ forceUpdate: forceUpdate
+ });
+ React.useImperativeHandle(props.ref, function () {
+ return {
+ start: function start() {
+ return Promise.all(Array.from(state.current.instances).map(function (_ref) {
+ var c = _ref[1];
+ return new Promise(function (r) {
+ return c.start(r);
+ });
+ }));
+ },
+ stop: function stop(finished) {
+ return Array.from(state.current.instances).forEach(function (_ref2) {
+ var c = _ref2[1];
+ return c.stop(finished);
+ });
+ },
+
+ get controllers() {
+ return Array.from(state.current.instances).map(function (_ref3) {
+ var c = _ref3[1];
+ return c;
+ });
+ }
+
+ };
+ }); // Update state
+
+ state.current = diffItems(state.current, props);
+
+ if (state.current.changed) {
+ // Update state
+ state.current.transitions.forEach(function (transition) {
+ var slot = transition.slot,
+ from = transition.from,
+ to = transition.to,
+ config = transition.config,
+ trail = transition.trail,
+ key = transition.key,
+ item = transition.item;
+ if (!state.current.instances.has(key)) state.current.instances.set(key, new Controller()); // update the map object
+
+ var ctrl = state.current.instances.get(key);
+
+ var newProps = _extends({}, extra, {
+ to: to,
+ from: from,
+ config: config,
+ ref: ref,
+ onRest: function onRest(values) {
+ if (state.current.mounted) {
+ if (transition.destroyed) {
+ // If no ref is given delete destroyed items immediately
+ if (!ref && !lazy) cleanUp(state, key);
+ if (onDestroyed) onDestroyed(item);
+ } // A transition comes to rest once all its springs conclude
+
+
+ var curInstances = Array.from(state.current.instances);
+ var active = curInstances.some(function (_ref4) {
+ var c = _ref4[1];
+ return !c.idle;
+ });
+ if (!active && (ref || lazy) && state.current.deleted.length > 0) cleanUp(state);
+ if (_onRest) _onRest(item, slot, values);
+ }
+ },
+ onStart: onStart && function () {
+ return onStart(item, slot);
+ },
+ onFrame: onFrame && function (values) {
+ return onFrame(item, slot, values);
+ },
+ delay: trail,
+ reset: reset && slot === ENTER // Update controller
+
+ });
+
+ ctrl.update(newProps);
+ if (!state.current.paused) ctrl.start();
+ });
+ }
+
+ React.useEffect(function () {
+ state.current.mounted = mounted.current = true;
+ return function () {
+ state.current.mounted = mounted.current = false;
+ Array.from(state.current.instances).map(function (_ref5) {
+ var c = _ref5[1];
+ return c.destroy();
+ });
+ state.current.instances.clear();
+ };
+ }, []);
+ return state.current.transitions.map(function (_ref6) {
+ var item = _ref6.item,
+ slot = _ref6.slot,
+ key = _ref6.key;
+ return {
+ item: item,
+ key: key,
+ state: slot,
+ props: state.current.instances.get(key).getValues()
+ };
+ });
+}
+
+function cleanUp(state, filterKey) {
+ var deleted = state.current.deleted;
+
+ var _loop = function _loop() {
+ if (_isArray) {
+ if (_i >= _iterator.length) return "break";
+ _ref8 = _iterator[_i++];
+ } else {
+ _i = _iterator.next();
+ if (_i.done) return "break";
+ _ref8 = _i.value;
+ }
+
+ var _ref7 = _ref8;
+ var key = _ref7.key;
+
+ var filter = function filter(t) {
+ return t.key !== key;
+ };
+
+ if (is.und(filterKey) || filterKey === key) {
+ state.current.instances.delete(key);
+ state.current.transitions = state.current.transitions.filter(filter);
+ state.current.deleted = state.current.deleted.filter(filter);
+ }
+ };
+
+ for (var _iterator = deleted, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
+ var _ref8;
+
+ var _ret = _loop();
+
+ if (_ret === "break") break;
+ }
+
+ state.current.forceUpdate();
+}
+
+function diffItems(_ref9, props) {
+ var first = _ref9.first,
+ prevProps = _ref9.prevProps,
+ state = _objectWithoutPropertiesLoose(_ref9, ["first", "prevProps"]);
+
+ var _get2 = get(props),
+ items = _get2.items,
+ keys = _get2.keys,
+ initial = _get2.initial,
+ from = _get2.from,
+ enter = _get2.enter,
+ leave = _get2.leave,
+ update = _get2.update,
+ _get2$trail = _get2.trail,
+ trail = _get2$trail === void 0 ? 0 : _get2$trail,
+ unique = _get2.unique,
+ config = _get2.config,
+ _get2$order = _get2.order,
+ order = _get2$order === void 0 ? [ENTER, LEAVE, UPDATE] : _get2$order;
+
+ var _get3 = get(prevProps),
+ _keys = _get3.keys,
+ _items = _get3.items;
+
+ var current = _extends({}, state.current);
+
+ var deleted = [].concat(state.deleted); // Compare next keys with current keys
+
+ var currentKeys = Object.keys(current);
+ var currentSet = new Set(currentKeys);
+ var nextSet = new Set(keys);
+ var added = keys.filter(function (item) {
+ return !currentSet.has(item);
+ });
+ var removed = state.transitions.filter(function (item) {
+ return !item.destroyed && !nextSet.has(item.originalKey);
+ }).map(function (i) {
+ return i.originalKey;
+ });
+ var updated = keys.filter(function (item) {
+ return currentSet.has(item);
+ });
+ var delay = -trail;
+
+ while (order.length) {
+ var changeType = order.shift();
+
+ switch (changeType) {
+ case ENTER:
+ {
+ added.forEach(function (key, index) {
+ // In unique mode, remove fading out transitions if their key comes in again
+ if (unique && deleted.find(function (d) {
+ return d.originalKey === key;
+ })) deleted = deleted.filter(function (t) {
+ return t.originalKey !== key;
+ });
+ var keyIndex = keys.indexOf(key);
+ var item = items[keyIndex];
+ var slot = first && initial !== void 0 ? 'initial' : ENTER;
+ current[key] = {
+ slot: slot,
+ originalKey: key,
+ key: unique ? String(key) : guid++,
+ item: item,
+ trail: delay = delay + trail,
+ config: callProp(config, item, slot),
+ from: callProp(first ? initial !== void 0 ? initial || {} : from : from, item),
+ to: callProp(enter, item)
+ };
+ });
+ break;
+ }
+
+ case LEAVE:
+ {
+ removed.forEach(function (key) {
+ var keyIndex = _keys.indexOf(key);
+
+ var item = _items[keyIndex];
+ var slot = LEAVE;
+ deleted.unshift(_extends({}, current[key], {
+ slot: slot,
+ destroyed: true,
+ left: _keys[Math.max(0, keyIndex - 1)],
+ right: _keys[Math.min(_keys.length, keyIndex + 1)],
+ trail: delay = delay + trail,
+ config: callProp(config, item, slot),
+ to: callProp(leave, item)
+ }));
+ delete current[key];
+ });
+ break;
+ }
+
+ case UPDATE:
+ {
+ updated.forEach(function (key) {
+ var keyIndex = keys.indexOf(key);
+ var item = items[keyIndex];
+ var slot = UPDATE;
+ current[key] = _extends({}, current[key], {
+ item: item,
+ slot: slot,
+ trail: delay = delay + trail,
+ config: callProp(config, item, slot),
+ to: callProp(update, item)
+ });
+ });
+ break;
+ }
+ }
+ }
+
+ var out = keys.map(function (key) {
+ return current[key];
+ }); // This tries to restore order for deleted items by finding their last known siblings
+ // only using the left sibling to keep order placement consistent for all deleted items
+
+ deleted.forEach(function (_ref10) {
+ var left = _ref10.left,
+ right = _ref10.right,
+ item = _objectWithoutPropertiesLoose(_ref10, ["left", "right"]);
+
+ var pos; // Was it the element on the left, if yes, move there ...
+
+ if ((pos = out.findIndex(function (t) {
+ return t.originalKey === left;
+ })) !== -1) pos += 1; // And if nothing else helps, move it to the start ¯\_(ツ)_/¯
+
+ pos = Math.max(0, pos);
+ out = [].concat(out.slice(0, pos), [item], out.slice(pos));
+ });
+ return _extends({}, state, {
+ changed: added.length || removed.length || updated.length,
+ first: first && added.length === 0,
+ transitions: out,
+ current: current,
+ deleted: deleted,
+ prevProps: props
+ });
+}
+
+var AnimatedStyle =
+/*#__PURE__*/
+function (_AnimatedObject) {
+ _inheritsLoose(AnimatedStyle, _AnimatedObject);
+
+ function AnimatedStyle(style) {
+ var _this;
+
+ if (style === void 0) {
+ style = {};
+ }
+
+ _this = _AnimatedObject.call(this) || this;
+
+ if (style.transform && !(style.transform instanceof Animated)) {
+ style = applyAnimatedValues.transform(style);
+ }
+
+ _this.payload = style;
+ return _this;
+ }
+
+ return AnimatedStyle;
+}(AnimatedObject);
+
+// http://www.w3.org/TR/css3-color/#svg-color
+var colors = {
+ transparent: 0x00000000,
+ aliceblue: 0xf0f8ffff,
+ antiquewhite: 0xfaebd7ff,
+ aqua: 0x00ffffff,
+ aquamarine: 0x7fffd4ff,
+ azure: 0xf0ffffff,
+ beige: 0xf5f5dcff,
+ bisque: 0xffe4c4ff,
+ black: 0x000000ff,
+ blanchedalmond: 0xffebcdff,
+ blue: 0x0000ffff,
+ blueviolet: 0x8a2be2ff,
+ brown: 0xa52a2aff,
+ burlywood: 0xdeb887ff,
+ burntsienna: 0xea7e5dff,
+ cadetblue: 0x5f9ea0ff,
+ chartreuse: 0x7fff00ff,
+ chocolate: 0xd2691eff,
+ coral: 0xff7f50ff,
+ cornflowerblue: 0x6495edff,
+ cornsilk: 0xfff8dcff,
+ crimson: 0xdc143cff,
+ cyan: 0x00ffffff,
+ darkblue: 0x00008bff,
+ darkcyan: 0x008b8bff,
+ darkgoldenrod: 0xb8860bff,
+ darkgray: 0xa9a9a9ff,
+ darkgreen: 0x006400ff,
+ darkgrey: 0xa9a9a9ff,
+ darkkhaki: 0xbdb76bff,
+ darkmagenta: 0x8b008bff,
+ darkolivegreen: 0x556b2fff,
+ darkorange: 0xff8c00ff,
+ darkorchid: 0x9932ccff,
+ darkred: 0x8b0000ff,
+ darksalmon: 0xe9967aff,
+ darkseagreen: 0x8fbc8fff,
+ darkslateblue: 0x483d8bff,
+ darkslategray: 0x2f4f4fff,
+ darkslategrey: 0x2f4f4fff,
+ darkturquoise: 0x00ced1ff,
+ darkviolet: 0x9400d3ff,
+ deeppink: 0xff1493ff,
+ deepskyblue: 0x00bfffff,
+ dimgray: 0x696969ff,
+ dimgrey: 0x696969ff,
+ dodgerblue: 0x1e90ffff,
+ firebrick: 0xb22222ff,
+ floralwhite: 0xfffaf0ff,
+ forestgreen: 0x228b22ff,
+ fuchsia: 0xff00ffff,
+ gainsboro: 0xdcdcdcff,
+ ghostwhite: 0xf8f8ffff,
+ gold: 0xffd700ff,
+ goldenrod: 0xdaa520ff,
+ gray: 0x808080ff,
+ green: 0x008000ff,
+ greenyellow: 0xadff2fff,
+ grey: 0x808080ff,
+ honeydew: 0xf0fff0ff,
+ hotpink: 0xff69b4ff,
+ indianred: 0xcd5c5cff,
+ indigo: 0x4b0082ff,
+ ivory: 0xfffff0ff,
+ khaki: 0xf0e68cff,
+ lavender: 0xe6e6faff,
+ lavenderblush: 0xfff0f5ff,
+ lawngreen: 0x7cfc00ff,
+ lemonchiffon: 0xfffacdff,
+ lightblue: 0xadd8e6ff,
+ lightcoral: 0xf08080ff,
+ lightcyan: 0xe0ffffff,
+ lightgoldenrodyellow: 0xfafad2ff,
+ lightgray: 0xd3d3d3ff,
+ lightgreen: 0x90ee90ff,
+ lightgrey: 0xd3d3d3ff,
+ lightpink: 0xffb6c1ff,
+ lightsalmon: 0xffa07aff,
+ lightseagreen: 0x20b2aaff,
+ lightskyblue: 0x87cefaff,
+ lightslategray: 0x778899ff,
+ lightslategrey: 0x778899ff,
+ lightsteelblue: 0xb0c4deff,
+ lightyellow: 0xffffe0ff,
+ lime: 0x00ff00ff,
+ limegreen: 0x32cd32ff,
+ linen: 0xfaf0e6ff,
+ magenta: 0xff00ffff,
+ maroon: 0x800000ff,
+ mediumaquamarine: 0x66cdaaff,
+ mediumblue: 0x0000cdff,
+ mediumorchid: 0xba55d3ff,
+ mediumpurple: 0x9370dbff,
+ mediumseagreen: 0x3cb371ff,
+ mediumslateblue: 0x7b68eeff,
+ mediumspringgreen: 0x00fa9aff,
+ mediumturquoise: 0x48d1ccff,
+ mediumvioletred: 0xc71585ff,
+ midnightblue: 0x191970ff,
+ mintcream: 0xf5fffaff,
+ mistyrose: 0xffe4e1ff,
+ moccasin: 0xffe4b5ff,
+ navajowhite: 0xffdeadff,
+ navy: 0x000080ff,
+ oldlace: 0xfdf5e6ff,
+ olive: 0x808000ff,
+ olivedrab: 0x6b8e23ff,
+ orange: 0xffa500ff,
+ orangered: 0xff4500ff,
+ orchid: 0xda70d6ff,
+ palegoldenrod: 0xeee8aaff,
+ palegreen: 0x98fb98ff,
+ paleturquoise: 0xafeeeeff,
+ palevioletred: 0xdb7093ff,
+ papayawhip: 0xffefd5ff,
+ peachpuff: 0xffdab9ff,
+ peru: 0xcd853fff,
+ pink: 0xffc0cbff,
+ plum: 0xdda0ddff,
+ powderblue: 0xb0e0e6ff,
+ purple: 0x800080ff,
+ rebeccapurple: 0x663399ff,
+ red: 0xff0000ff,
+ rosybrown: 0xbc8f8fff,
+ royalblue: 0x4169e1ff,
+ saddlebrown: 0x8b4513ff,
+ salmon: 0xfa8072ff,
+ sandybrown: 0xf4a460ff,
+ seagreen: 0x2e8b57ff,
+ seashell: 0xfff5eeff,
+ sienna: 0xa0522dff,
+ silver: 0xc0c0c0ff,
+ skyblue: 0x87ceebff,
+ slateblue: 0x6a5acdff,
+ slategray: 0x708090ff,
+ slategrey: 0x708090ff,
+ snow: 0xfffafaff,
+ springgreen: 0x00ff7fff,
+ steelblue: 0x4682b4ff,
+ tan: 0xd2b48cff,
+ teal: 0x008080ff,
+ thistle: 0xd8bfd8ff,
+ tomato: 0xff6347ff,
+ turquoise: 0x40e0d0ff,
+ violet: 0xee82eeff,
+ wheat: 0xf5deb3ff,
+ white: 0xffffffff,
+ whitesmoke: 0xf5f5f5ff,
+ yellow: 0xffff00ff,
+ yellowgreen: 0x9acd32ff
+};
+
+// const INTEGER = '[-+]?\\d+';
+var NUMBER = '[-+]?\\d*\\.?\\d+';
+var PERCENTAGE = NUMBER + '%';
+
+function call() {
+ for (var _len = arguments.length, parts = new Array(_len), _key = 0; _key < _len; _key++) {
+ parts[_key] = arguments[_key];
+ }
+
+ return '\\(\\s*(' + parts.join(')\\s*,\\s*(') + ')\\s*\\)';
+}
+
+var rgb = new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER));
+var rgba = new RegExp('rgba' + call(NUMBER, NUMBER, NUMBER, NUMBER));
+var hsl = new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE));
+var hsla = new RegExp('hsla' + call(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER));
+var hex3 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;
+var hex4 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;
+var hex6 = /^#([0-9a-fA-F]{6})$/;
+var hex8 = /^#([0-9a-fA-F]{8})$/;
+
+/*
+https://github.com/react-community/normalize-css-color
+
+BSD 3-Clause License
+
+Copyright (c) 2016, React Community
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+* Neither the name of the copyright holder nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+function normalizeColor(color) {
+ var match;
+
+ if (typeof color === 'number') {
+ return color >>> 0 === color && color >= 0 && color <= 0xffffffff ? color : null;
+ } // Ordered based on occurrences on Facebook codebase
+
+
+ if (match = hex6.exec(color)) return parseInt(match[1] + 'ff', 16) >>> 0;
+ if (colors.hasOwnProperty(color)) return colors[color];
+
+ if (match = rgb.exec(color)) {
+ return (parse255(match[1]) << 24 | // r
+ parse255(match[2]) << 16 | // g
+ parse255(match[3]) << 8 | // b
+ 0x000000ff) >>> // a
+ 0;
+ }
+
+ if (match = rgba.exec(color)) {
+ return (parse255(match[1]) << 24 | // r
+ parse255(match[2]) << 16 | // g
+ parse255(match[3]) << 8 | // b
+ parse1(match[4])) >>> // a
+ 0;
+ }
+
+ if (match = hex3.exec(color)) {
+ return parseInt(match[1] + match[1] + // r
+ match[2] + match[2] + // g
+ match[3] + match[3] + // b
+ 'ff', // a
+ 16) >>> 0;
+ } // https://drafts.csswg.org/css-color-4/#hex-notation
+
+
+ if (match = hex8.exec(color)) return parseInt(match[1], 16) >>> 0;
+
+ if (match = hex4.exec(color)) {
+ return parseInt(match[1] + match[1] + // r
+ match[2] + match[2] + // g
+ match[3] + match[3] + // b
+ match[4] + match[4], // a
+ 16) >>> 0;
+ }
+
+ if (match = hsl.exec(color)) {
+ return (hslToRgb(parse360(match[1]), // h
+ parsePercentage(match[2]), // s
+ parsePercentage(match[3]) // l
+ ) | 0x000000ff) >>> // a
+ 0;
+ }
+
+ if (match = hsla.exec(color)) {
+ return (hslToRgb(parse360(match[1]), // h
+ parsePercentage(match[2]), // s
+ parsePercentage(match[3]) // l
+ ) | parse1(match[4])) >>> // a
+ 0;
+ }
+
+ return null;
+}
+
+function hue2rgb(p, q, t) {
+ if (t < 0) t += 1;
+ if (t > 1) t -= 1;
+ if (t < 1 / 6) return p + (q - p) * 6 * t;
+ if (t < 1 / 2) return q;
+ if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;
+ return p;
+}
+
+function hslToRgb(h, s, l) {
+ var q = l < 0.5 ? l * (1 + s) : l + s - l * s;
+ var p = 2 * l - q;
+ var r = hue2rgb(p, q, h + 1 / 3);
+ var g = hue2rgb(p, q, h);
+ var b = hue2rgb(p, q, h - 1 / 3);
+ return Math.round(r * 255) << 24 | Math.round(g * 255) << 16 | Math.round(b * 255) << 8;
+}
+
+function parse255(str) {
+ var int = parseInt(str, 10);
+ if (int < 0) return 0;
+ if (int > 255) return 255;
+ return int;
+}
+
+function parse360(str) {
+ var int = parseFloat(str);
+ return (int % 360 + 360) % 360 / 360;
+}
+
+function parse1(str) {
+ var num = parseFloat(str);
+ if (num < 0) return 0;
+ if (num > 1) return 255;
+ return Math.round(num * 255);
+}
+
+function parsePercentage(str) {
+ // parseFloat conveniently ignores the final %
+ var int = parseFloat(str);
+ if (int < 0) return 0;
+ if (int > 100) return 1;
+ return int / 100;
+}
+
+function colorToRgba(input) {
+ var int32Color = normalizeColor(input);
+ if (int32Color === null) return input;
+ int32Color = int32Color || 0;
+ var r = (int32Color & 0xff000000) >>> 24;
+ var g = (int32Color & 0x00ff0000) >>> 16;
+ var b = (int32Color & 0x0000ff00) >>> 8;
+ var a = (int32Color & 0x000000ff) / 255;
+ return "rgba(" + r + ", " + g + ", " + b + ", " + a + ")";
+} // Problem: https://github.com/animatedjs/animated/pull/102
+// Solution: https://stackoverflow.com/questions/638565/parsing-scientific-notation-sensibly/658662
+
+
+var stringShapeRegex = /[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g; // Covers rgb, rgba, hsl, hsla
+// Taken from https://gist.github.com/olmokramer/82ccce673f86db7cda5e
+
+var colorRegex = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))/gi; // Covers color names (transparent, blue, etc.)
+
+var colorNamesRegex = new RegExp("(" + Object.keys(colors).join('|') + ")", 'g');
+/**
+ * Supports string shapes by extracting numbers so new values can be computed,
+ * and recombines those values into new strings of the same shape. Supports
+ * things like:
+ *
+ * rgba(123, 42, 99, 0.36) // colors
+ * -45deg // values with units
+ * 0 2px 2px 0px rgba(0, 0, 0, 0.12) // box shadows
+ */
+
+var createStringInterpolator = function createStringInterpolator(config) {
+ // Replace colors with rgba
+ var outputRange = config.output.map(function (rangeValue) {
+ return rangeValue.replace(colorRegex, colorToRgba);
+ }).map(function (rangeValue) {
+ return rangeValue.replace(colorNamesRegex, colorToRgba);
+ });
+ var outputRanges = outputRange[0].match(stringShapeRegex).map(function () {
+ return [];
+ });
+ outputRange.forEach(function (value) {
+ value.match(stringShapeRegex).forEach(function (number, i) {
+ return outputRanges[i].push(+number);
+ });
+ });
+ var interpolations = outputRange[0].match(stringShapeRegex).map(function (_value, i) {
+ return createInterpolator(_extends({}, config, {
+ output: outputRanges[i]
+ }));
+ });
+ return function (input) {
+ var i = 0;
+ return outputRange[0] // 'rgba(0, 100, 200, 0)'
+ // ->
+ // 'rgba(${interpolations[0](input)}, ${interpolations[1](input)}, ...'
+ .replace(stringShapeRegex, function () {
+ return interpolations[i++](input);
+ }) // rgba requires that the r,g,b are integers.... so we want to round them, but we *dont* want to
+ // round the opacity (4th column).
+ .replace(/rgba\(([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+)\)/gi, function (_, p1, p2, p3, p4) {
+ return "rgba(" + Math.round(p1) + ", " + Math.round(p2) + ", " + Math.round(p3) + ", " + p4 + ")";
+ });
+ };
+};
+
+var isUnitlessNumber = {
+ animationIterationCount: true,
+ borderImageOutset: true,
+ borderImageSlice: true,
+ borderImageWidth: true,
+ boxFlex: true,
+ boxFlexGroup: true,
+ boxOrdinalGroup: true,
+ columnCount: true,
+ columns: true,
+ flex: true,
+ flexGrow: true,
+ flexPositive: true,
+ flexShrink: true,
+ flexNegative: true,
+ flexOrder: true,
+ gridRow: true,
+ gridRowEnd: true,
+ gridRowSpan: true,
+ gridRowStart: true,
+ gridColumn: true,
+ gridColumnEnd: true,
+ gridColumnSpan: true,
+ gridColumnStart: true,
+ fontWeight: true,
+ lineClamp: true,
+ lineHeight: true,
+ opacity: true,
+ order: true,
+ orphans: true,
+ tabSize: true,
+ widows: true,
+ zIndex: true,
+ zoom: true,
+ // SVG-related properties
+ fillOpacity: true,
+ floodOpacity: true,
+ stopOpacity: true,
+ strokeDasharray: true,
+ strokeDashoffset: true,
+ strokeMiterlimit: true,
+ strokeOpacity: true,
+ strokeWidth: true
+};
+
+var prefixKey = function prefixKey(prefix, key) {
+ return prefix + key.charAt(0).toUpperCase() + key.substring(1);
+};
+
+var prefixes = ['Webkit', 'Ms', 'Moz', 'O'];
+isUnitlessNumber = Object.keys(isUnitlessNumber).reduce(function (acc, prop) {
+ prefixes.forEach(function (prefix) {
+ return acc[prefixKey(prefix, prop)] = acc[prop];
+ });
+ return acc;
+}, isUnitlessNumber);
+
+function dangerousStyleValue(name, value, isCustomProperty) {
+ if (value == null || typeof value === 'boolean' || value === '') return '';
+ if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers
+
+ return ('' + value).trim();
+}
+
+var attributeCache = {};
+injectCreateAnimatedStyle(function (style) {
+ return new AnimatedStyle(style);
+});
+injectDefaultElement('div');
+injectStringInterpolator(createStringInterpolator);
+injectColorNames(colors);
+injectApplyAnimatedValues(function (instance, props) {
+ if (instance.nodeType && instance.setAttribute !== undefined) {
+ var style = props.style,
+ children = props.children,
+ scrollTop = props.scrollTop,
+ scrollLeft = props.scrollLeft,
+ attributes = _objectWithoutPropertiesLoose(props, ["style", "children", "scrollTop", "scrollLeft"]);
+
+ var filter = instance.nodeName === 'filter' || instance.parentNode && instance.parentNode.nodeName === 'filter';
+ if (scrollTop !== void 0) instance.scrollTop = scrollTop;
+ if (scrollLeft !== void 0) instance.scrollLeft = scrollLeft; // Set textContent, if children is an animatable value
+
+ if (children !== void 0) instance.textContent = children; // Set styles ...
+
+ for (var styleName in style) {
+ if (!style.hasOwnProperty(styleName)) continue;
+ var isCustomProperty = styleName.indexOf('--') === 0;
+ var styleValue = dangerousStyleValue(styleName, style[styleName], isCustomProperty);
+ if (styleName === 'float') styleName = 'cssFloat';
+ if (isCustomProperty) instance.style.setProperty(styleName, styleValue);else instance.style[styleName] = styleValue;
+ } // Set attributes ...
+
+
+ for (var name in attributes) {
+ // Attributes are written in dash case
+ var dashCase = filter ? name : attributeCache[name] || (attributeCache[name] = name.replace(/([A-Z])/g, function (n) {
+ return '-' + n.toLowerCase();
+ }));
+ if (typeof instance.getAttribute(dashCase) !== 'undefined') instance.setAttribute(dashCase, attributes[name]);
+ }
+
+ return;
+ } else return false;
+}, function (style) {
+ return style;
+});
+
+var domElements = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG
+'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];
+// Extend animated with all the available THREE elements
+var apply = merge(createAnimatedComponent, false);
+var extendedAnimated = apply(domElements);
+
+exports.apply = apply;
+exports.config = config;
+exports.update = update;
+exports.animated = extendedAnimated;
+exports.a = extendedAnimated;
+exports.interpolate = interpolate$1;
+exports.Globals = Globals;
+exports.useSpring = useSpring;
+exports.useTrail = useTrail;
+exports.useTransition = useTransition;
+exports.useChain = useChain;
+exports.useSprings = useSprings;
+
+
+/***/ }),
+
+/***/ 258:
+/***/ (function(module, exports, __webpack_require__) {
+
+var isarray = __webpack_require__(440)
+
+/**
+ * Expose `pathToRegexp`.
+ */
+module.exports = pathToRegexp
+module.exports.parse = parse
+module.exports.compile = compile
+module.exports.tokensToFunction = tokensToFunction
+module.exports.tokensToRegExp = tokensToRegExp
+
+/**
+ * The main path matching regexp utility.
+ *
+ * @type {RegExp}
+ */
+var PATH_REGEXP = new RegExp([
+ // Match escaped characters that would otherwise appear in future matches.
+ // This allows the user to escape special characters that won't transform.
+ '(\\\\.)',
+ // Match Express-style parameters and un-named parameters with a prefix
+ // and optional suffixes. Matches appear as:
+ //
+ // "/:test(\\d+)?" => ["/", "test", "\d+", undefined, "?", undefined]
+ // "/route(\\d+)" => [undefined, undefined, undefined, "\d+", undefined, undefined]
+ // "/*" => ["/", undefined, undefined, undefined, undefined, "*"]
+ '([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))'
+].join('|'), 'g')
+
+/**
+ * Parse a string for the raw tokens.
+ *
+ * @param {string} str
+ * @param {Object=} options
+ * @return {!Array}
+ */
+function parse (str, options) {
+ var tokens = []
+ var key = 0
+ var index = 0
+ var path = ''
+ var defaultDelimiter = options && options.delimiter || '/'
+ var res
+
+ while ((res = PATH_REGEXP.exec(str)) != null) {
+ var m = res[0]
+ var escaped = res[1]
+ var offset = res.index
+ path += str.slice(index, offset)
+ index = offset + m.length
+
+ // Ignore already escaped sequences.
+ if (escaped) {
+ path += escaped[1]
+ continue
+ }
+
+ var next = str[index]
+ var prefix = res[2]
+ var name = res[3]
+ var capture = res[4]
+ var group = res[5]
+ var modifier = res[6]
+ var asterisk = res[7]
+
+ // Push the current path onto the tokens.
+ if (path) {
+ tokens.push(path)
+ path = ''
+ }
+
+ var partial = prefix != null && next != null && next !== prefix
+ var repeat = modifier === '+' || modifier === '*'
+ var optional = modifier === '?' || modifier === '*'
+ var delimiter = res[2] || defaultDelimiter
+ var pattern = capture || group
+
+ tokens.push({
+ name: name || key++,
+ prefix: prefix || '',
+ delimiter: delimiter,
+ optional: optional,
+ repeat: repeat,
+ partial: partial,
+ asterisk: !!asterisk,
+ pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')
+ })
+ }
+
+ // Match any characters still remaining.
+ if (index < str.length) {
+ path += str.substr(index)
+ }
+
+ // If the path exists, push it onto the end.
+ if (path) {
+ tokens.push(path)
+ }
+
+ return tokens
+}
+
+/**
+ * Compile a string to a template function for the path.
+ *
+ * @param {string} str
+ * @param {Object=} options
+ * @return {!function(Object=, Object=)}
+ */
+function compile (str, options) {
+ return tokensToFunction(parse(str, options), options)
+}
+
+/**
+ * Prettier encoding of URI path segments.
+ *
+ * @param {string}
+ * @return {string}
+ */
+function encodeURIComponentPretty (str) {
+ return encodeURI(str).replace(/[\/?#]/g, function (c) {
+ return '%' + c.charCodeAt(0).toString(16).toUpperCase()
+ })
+}
+
+/**
+ * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.
+ *
+ * @param {string}
+ * @return {string}
+ */
+function encodeAsterisk (str) {
+ return encodeURI(str).replace(/[?#]/g, function (c) {
+ return '%' + c.charCodeAt(0).toString(16).toUpperCase()
+ })
+}
+
+/**
+ * Expose a method for transforming tokens into the path function.
+ */
+function tokensToFunction (tokens, options) {
+ // Compile all the tokens into regexps.
+ var matches = new Array(tokens.length)
+
+ // Compile all the patterns before compilation.
+ for (var i = 0; i < tokens.length; i++) {
+ if (typeof tokens[i] === 'object') {
+ matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options))
+ }
+ }
+
+ return function (obj, opts) {
+ var path = ''
+ var data = obj || {}
+ var options = opts || {}
+ var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent
+
+ for (var i = 0; i < tokens.length; i++) {
+ var token = tokens[i]
+
+ if (typeof token === 'string') {
+ path += token
+
+ continue
+ }
+
+ var value = data[token.name]
+ var segment
+
+ if (value == null) {
+ if (token.optional) {
+ // Prepend partial segment prefixes.
+ if (token.partial) {
+ path += token.prefix
+ }
+
+ continue
+ } else {
+ throw new TypeError('Expected "' + token.name + '" to be defined')
+ }
+ }
+
+ if (isarray(value)) {
+ if (!token.repeat) {
+ throw new TypeError('Expected "' + token.name + '" to not repeat, but received `' + JSON.stringify(value) + '`')
+ }
+
+ if (value.length === 0) {
+ if (token.optional) {
+ continue
+ } else {
+ throw new TypeError('Expected "' + token.name + '" to not be empty')
+ }
+ }
+
+ for (var j = 0; j < value.length; j++) {
+ segment = encode(value[j])
+
+ if (!matches[i].test(segment)) {
+ throw new TypeError('Expected all "' + token.name + '" to match "' + token.pattern + '", but received `' + JSON.stringify(segment) + '`')
+ }
+
+ path += (j === 0 ? token.prefix : token.delimiter) + segment
+ }
+
+ continue
+ }
+
+ segment = token.asterisk ? encodeAsterisk(value) : encode(value)
+
+ if (!matches[i].test(segment)) {
+ throw new TypeError('Expected "' + token.name + '" to match "' + token.pattern + '", but received "' + segment + '"')
+ }
+
+ path += token.prefix + segment
+ }
+
+ return path
+ }
+}
+
+/**
+ * Escape a regular expression string.
+ *
+ * @param {string} str
+ * @return {string}
+ */
+function escapeString (str) {
+ return str.replace(/([.+*?=^!:${}()[\]|\/\\])/g, '\\$1')
+}
+
+/**
+ * Escape the capturing group by escaping special characters and meaning.
+ *
+ * @param {string} group
+ * @return {string}
+ */
+function escapeGroup (group) {
+ return group.replace(/([=!:$\/()])/g, '\\$1')
+}
+
+/**
+ * Attach the keys as a property of the regexp.
+ *
+ * @param {!RegExp} re
+ * @param {Array} keys
+ * @return {!RegExp}
+ */
+function attachKeys (re, keys) {
+ re.keys = keys
+ return re
+}
+
+/**
+ * Get the flags for a regexp from the options.
+ *
+ * @param {Object} options
+ * @return {string}
+ */
+function flags (options) {
+ return options && options.sensitive ? '' : 'i'
+}
+
+/**
+ * Pull out keys from a regexp.
+ *
+ * @param {!RegExp} path
+ * @param {!Array} keys
+ * @return {!RegExp}
+ */
+function regexpToRegexp (path, keys) {
+ // Use a negative lookahead to match only capturing groups.
+ var groups = path.source.match(/\((?!\?)/g)
+
+ if (groups) {
+ for (var i = 0; i < groups.length; i++) {
+ keys.push({
+ name: i,
+ prefix: null,
+ delimiter: null,
+ optional: false,
+ repeat: false,
+ partial: false,
+ asterisk: false,
+ pattern: null
+ })
+ }
+ }
+
+ return attachKeys(path, keys)
+}
+
+/**
+ * Transform an array into a regexp.
+ *
+ * @param {!Array} path
+ * @param {Array} keys
+ * @param {!Object} options
+ * @return {!RegExp}
+ */
+function arrayToRegexp (path, keys, options) {
+ var parts = []
+
+ for (var i = 0; i < path.length; i++) {
+ parts.push(pathToRegexp(path[i], keys, options).source)
+ }
+
+ var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options))
+
+ return attachKeys(regexp, keys)
+}
+
+/**
+ * Create a path regexp from string input.
+ *
+ * @param {string} path
+ * @param {!Array} keys
+ * @param {!Object} options
+ * @return {!RegExp}
+ */
+function stringToRegexp (path, keys, options) {
+ return tokensToRegExp(parse(path, options), keys, options)
+}
+
+/**
+ * Expose a function for taking tokens and returning a RegExp.
+ *
+ * @param {!Array} tokens
+ * @param {(Array|Object)=} keys
+ * @param {Object=} options
+ * @return {!RegExp}
+ */
+function tokensToRegExp (tokens, keys, options) {
+ if (!isarray(keys)) {
+ options = /** @type {!Object} */ (keys || options)
+ keys = []
+ }
+
+ options = options || {}
+
+ var strict = options.strict
+ var end = options.end !== false
+ var route = ''
+
+ // Iterate over the tokens and create our regexp string.
+ for (var i = 0; i < tokens.length; i++) {
+ var token = tokens[i]
+
+ if (typeof token === 'string') {
+ route += escapeString(token)
+ } else {
+ var prefix = escapeString(token.prefix)
+ var capture = '(?:' + token.pattern + ')'
+
+ keys.push(token)
+
+ if (token.repeat) {
+ capture += '(?:' + prefix + capture + ')*'
+ }
+
+ if (token.optional) {
+ if (!token.partial) {
+ capture = '(?:' + prefix + '(' + capture + '))?'
+ } else {
+ capture = prefix + '(' + capture + ')?'
+ }
+ } else {
+ capture = prefix + '(' + capture + ')'
+ }
+
+ route += capture
+ }
+ }
+
+ var delimiter = escapeString(options.delimiter || '/')
+ var endsWithDelimiter = route.slice(-delimiter.length) === delimiter
+
+ // In non-strict mode we allow a slash at the end of match. If the path to
+ // match already ends with a slash, we remove it for consistency. The slash
+ // is valid at the end of a path match, not in the middle. This is important
+ // in non-ending mode, where "/test/" shouldn't match "/test//route".
+ if (!strict) {
+ route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?'
+ }
+
+ if (end) {
+ route += '$'
+ } else {
+ // In non-ending mode, we need the capturing groups to match as much as
+ // possible by using a positive lookahead to the end or next path segment.
+ route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)'
+ }
+
+ return attachKeys(new RegExp('^' + route, flags(options)), keys)
+}
+
+/**
+ * Normalize the given path string, returning a regular expression.
+ *
+ * An empty array can be passed in for the keys, which will hold the
+ * placeholder key descriptions. For example, using `/user/:id`, `keys` will
+ * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.
+ *
+ * @param {(string|RegExp|Array)} path
+ * @param {(Array|Object)=} keys
+ * @param {Object=} options
+ * @return {!RegExp}
+ */
+function pathToRegexp (path, keys, options) {
+ if (!isarray(keys)) {
+ options = /** @type {!Object} */ (keys || options)
+ keys = []
+ }
+
+ options = options || {}
+
+ if (path instanceof RegExp) {
+ return regexpToRegexp(path, /** @type {!Array} */ (keys))
+ }
+
+ if (isarray(path)) {
+ return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)
+ }
+
+ return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)
+}
+
+
+/***/ }),
+
+/***/ 259:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* WEBPACK VAR INJECTION */(function(global, module) {/* harmony import */ var _ponyfill_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(418);
+/* global window */
+
+
+var root;
+
+if (typeof self !== 'undefined') {
+ root = self;
+} else if (typeof window !== 'undefined') {
+ root = window;
+} else if (typeof global !== 'undefined') {
+ root = global;
+} else if (true) {
+ root = module;
+} else {}
+
+var result = Object(_ponyfill_js__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(root);
+/* harmony default export */ __webpack_exports__["a"] = (result);
+
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(64), __webpack_require__(442)(module)))
+
+/***/ }),
+
+/***/ 26:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ADMIN_URL; });
+/* unused harmony export COUNTRIES */
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return CURRENCY; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return LOCALE; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return ORDER_STATUSES; });
+/* unused harmony export SITE_TITLE */
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return WC_ASSET_URL; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return getSetting; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return setSetting; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return getAdminLink; });
+/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(43);
+/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__);
+
+
+/**
+ * External dependencies
+ */
+ // Remove mutable data from settings object to prevent access. Data stores should be used instead.
+
+var mutableSources = ['wcAdminSettings', 'preloadSettings'];
+var settings = (typeof wcSettings === "undefined" ? "undefined" : _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(wcSettings)) === 'object' ? wcSettings : {};
+var SOURCE = Object.keys(settings).reduce(function (source, key) {
+ if (!mutableSources.includes(key)) {
+ source[key] = settings[key];
+ }
+
+ return source;
+}, {});
+var ADMIN_URL = SOURCE.adminUrl;
+var COUNTRIES = SOURCE.countries;
+var CURRENCY = SOURCE.currency;
+var LOCALE = SOURCE.locale;
+var ORDER_STATUSES = SOURCE.orderStatuses;
+var SITE_TITLE = SOURCE.siteTitle;
+var WC_ASSET_URL = SOURCE.wcAssetUrl;
+/**
+ * Retrieves a setting value from the setting state.
+ *
+ * @export
+ * @param {string} name The identifier for the setting.
+ * @param {*} [fallback=false] The value to use as a fallback
+ * if the setting is not in the
+ * state.
+ * @param {Function} [filter=( val ) => val] A callback for filtering the
+ * value before it's returned.
+ * Receives both the found value
+ * (if it exists for the key) and
+ * the provided fallback arg.
+ *
+ * @return {*} The value present in the settings state for the given
+ * name.
+ */
+
+function getSetting(name) {
+ var fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
+ var filter = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function (val) {
+ return val;
+ };
+
+ if (mutableSources.includes(name)) {
+ throw new Error(Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Mutable settings should be accessed via data store.'));
+ }
+
+ var value = SOURCE.hasOwnProperty(name) ? SOURCE[name] : fallback;
+ return filter(value, fallback);
+}
+/**
+ * Sets a value to a property on the settings state.
+ *
+ * NOTE: This feature is to be removed in favour of data stores when a full migration
+ * is complete.
+ *
+ * @deprecated
+ *
+ * @export
+ * @param {string} name The setting property key for the
+ * setting being mutated.
+ * @param {*} value The value to set.
+ * @param {Function} [filter=( val ) => val] Allows for providing a callback
+ * to sanitize the setting (eg.
+ * ensure it's a number)
+ */
+
+function setSetting(name, value) {
+ var filter = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function (val) {
+ return val;
+ };
+
+ if (mutableSources.includes(name)) {
+ throw new Error(Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Mutable settings should be mutated via data store.'));
+ }
+
+ SOURCE[name] = filter(value);
+}
+/**
+ * Returns a string with the site's wp-admin URL appended. JS version of `admin_url`.
+ *
+ * @param {string} path Relative path.
+ * @return {string} Full admin URL.
+ */
+
+function getAdminLink(path) {
+ return (ADMIN_URL || '') + path;
+}
+
+/***/ }),
+
+/***/ 261:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(41);
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(40);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(44);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(29);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(42);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(3);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__);
+/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(1);
+/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_7__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_8__);
+/* harmony import */ var _woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(26);
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+/**
+ * Component to render when there is an error in a report component due to data
+ * not being loaded or being invalid.
+ */
+
+var ReportError = /*#__PURE__*/function (_Component) {
+ _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(ReportError, _Component);
+
+ var _super = _createSuper(ReportError);
+
+ function ReportError() {
+ _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, ReportError);
+
+ return _super.apply(this, arguments);
+ }
+
+ _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(ReportError, [{
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ className = _this$props.className,
+ isError = _this$props.isError,
+ isEmpty = _this$props.isEmpty;
+ var title, actionLabel, actionURL, actionCallback;
+
+ if (isError) {
+ title = Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('There was an error getting your stats. Please try again.', 'woocommerce-admin');
+ actionLabel = Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('Reload', 'woocommerce-admin');
+
+ actionCallback = function actionCallback() {
+ // @todo Add tracking for how often an error is displayed, and the reload action is clicked.
+ window.location.reload();
+ };
+ } else if (isEmpty) {
+ title = Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('No results could be found for this date range.', 'woocommerce-admin');
+ actionLabel = Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('View Orders', 'woocommerce-admin');
+ actionURL = Object(_woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_9__[/* getAdminLink */ "f"])('edit.php?post_type=shop_order');
+ }
+
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_8__["EmptyContent"], {
+ className: className,
+ title: title,
+ actionLabel: actionLabel,
+ actionURL: actionURL,
+ actionCallback: actionCallback
+ });
+ }
+ }]);
+
+ return ReportError;
+}(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["Component"]);
+
+ReportError.propTypes = {
+ /**
+ * Additional class name to style the component.
+ */
+ className: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.string,
+
+ /**
+ * Boolean representing whether there was an error.
+ */
+ isError: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.bool,
+
+ /**
+ * Boolean representing whether the issue is that there is no data.
+ */
+ isEmpty: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.bool
+};
+ReportError.defaultProps = {
+ className: ''
+};
+/* harmony default export */ __webpack_exports__["a"] = (ReportError);
+
+/***/ }),
+
+/***/ 263:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ DEFAULT_ACTIONABLE_STATUSES; });
+__webpack_require__.d(__webpack_exports__, "b", function() { return /* binding */ config; });
+
+// UNUSED EXPORTS: DEFAULT_ORDER_STATUSES, DEFAULT_DATE_RANGE
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: external {"this":["wp","i18n"]}
+var external_this_wp_i18n_ = __webpack_require__(3);
+
+// EXTERNAL MODULE: external {"this":["wp","hooks"]}
+var external_this_wp_hooks_ = __webpack_require__(48);
+
+// EXTERNAL MODULE: ./node_modules/interpolate-components/lib/index.js
+var lib = __webpack_require__(35);
+var lib_default = /*#__PURE__*/__webpack_require__.n(lib);
+
+// EXTERNAL MODULE: ./client/settings/index.js
+var settings = __webpack_require__(26);
+
+// EXTERNAL MODULE: ./node_modules/qs/lib/index.js
+var qs_lib = __webpack_require__(58);
+
+// EXTERNAL MODULE: ./client/lib/date.js
+var date = __webpack_require__(104);
+
+// EXTERNAL MODULE: external {"this":["wc","components"]}
+var external_this_wc_components_ = __webpack_require__(63);
+
+// EXTERNAL MODULE: external {"this":["wc","data"]}
+var external_this_wc_data_ = __webpack_require__(51);
+
+// CONCATENATED MODULE: ./client/analytics/settings/default-date.js
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+var default_date_DefaultDate = function DefaultDate(_ref) {
+ var value = _ref.value,
+ onChange = _ref.onChange;
+
+ var _useSettings = Object(external_this_wc_data_["useSettings"])('wc_admin', ['wcAdminSettings']),
+ wcAdminSettings = _useSettings.wcAdminSettings;
+
+ var defaultDateRange = wcAdminSettings.woocommerce_default_date_range;
+
+ var change = function change(query) {
+ onChange({
+ target: {
+ name: 'woocommerce_default_date_range',
+ value: Object(qs_lib["stringify"])(query)
+ }
+ });
+ };
+
+ var query = Object(qs_lib["parse"])(value.replace(/&/g, '&'));
+
+ var _getDateParamsFromQue = Object(date["h" /* getDateParamsFromQuery */])(query, defaultDateRange),
+ period = _getDateParamsFromQue.period,
+ compare = _getDateParamsFromQue.compare,
+ before = _getDateParamsFromQue.before,
+ after = _getDateParamsFromQue.after;
+
+ var _getCurrentDates = Object(date["f" /* getCurrentDates */])(query, defaultDateRange),
+ primaryDate = _getCurrentDates.primary,
+ secondaryDate = _getCurrentDates.secondary;
+
+ var dateQuery = {
+ period: period,
+ compare: compare,
+ before: before,
+ after: after,
+ primaryDate: primaryDate,
+ secondaryDate: secondaryDate
+ };
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["DateRangeFilterPicker"], {
+ query: query,
+ onRangeSelect: change,
+ dateQuery: dateQuery,
+ isoDateFormat: date["k" /* isoDateFormat */]
+ });
+};
+
+/* harmony default export */ var default_date = (default_date_DefaultDate);
+// CONCATENATED MODULE: ./client/analytics/settings/config.js
+
+
+/**
+ * External dependencies
+ */
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+var SETTINGS_FILTER = 'woocommerce_admin_analytics_settings';
+var DEFAULT_ACTIONABLE_STATUSES = ['processing', 'on-hold'];
+var DEFAULT_ORDER_STATUSES = ['completed', 'processing', 'refunded', 'cancelled', 'failed', 'pending', 'on-hold'];
+var DEFAULT_DATE_RANGE = 'period=month&compare=previous_year';
+var filteredOrderStatuses = Object.keys(settings["d" /* ORDER_STATUSES */]).filter(function (status) {
+ return status !== 'refunded';
+}).map(function (key) {
+ return {
+ value: key,
+ label: settings["d" /* ORDER_STATUSES */][key],
+ description: Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('Exclude the %s status from reports', 'woocommerce-admin'), settings["d" /* ORDER_STATUSES */][key])
+ };
+});
+var unregisteredOrderStatuses = Object(settings["g" /* getSetting */])('unregisteredOrderStatuses', {});
+var orderStatusOptions = [{
+ key: 'defaultStatuses',
+ options: filteredOrderStatuses.filter(function (status) {
+ return DEFAULT_ORDER_STATUSES.includes(status.value);
+ })
+}, {
+ key: 'customStatuses',
+ label: Object(external_this_wp_i18n_["__"])('Custom Statuses', 'woocommerce-admin'),
+ options: filteredOrderStatuses.filter(function (status) {
+ return !DEFAULT_ORDER_STATUSES.includes(status.value);
+ })
+}, {
+ key: 'unregisteredStatuses',
+ label: Object(external_this_wp_i18n_["__"])('Unregistered Statuses', 'woocommerce-admin'),
+ options: Object.keys(unregisteredOrderStatuses).map(function (key) {
+ return {
+ value: key,
+ label: key,
+ description: Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('Exclude the %s status from reports', 'woocommerce-admin'), key)
+ };
+ })
+}];
+var config = Object(external_this_wp_hooks_["applyFilters"])(SETTINGS_FILTER, {
+ woocommerce_excluded_report_order_statuses: {
+ label: Object(external_this_wp_i18n_["__"])('Excluded Statuses:', 'woocommerce-admin'),
+ inputType: 'checkboxGroup',
+ options: orderStatusOptions,
+ helpText: lib_default()({
+ mixedString: Object(external_this_wp_i18n_["__"])('Orders with these statuses are excluded from the totals in your reports. ' + 'The {{strong}}Refunded{{/strong}} status can not be excluded.', 'woocommerce-admin'),
+ components: {
+ strong: Object(external_this_wp_element_["createElement"])("strong", null)
+ }
+ }),
+ defaultValue: ['pending', 'cancelled', 'failed']
+ },
+ woocommerce_actionable_order_statuses: {
+ label: Object(external_this_wp_i18n_["__"])('Actionable Statuses:', 'woocommerce-admin'),
+ inputType: 'checkboxGroup',
+ options: orderStatusOptions,
+ helpText: Object(external_this_wp_i18n_["__"])('Orders with these statuses require action on behalf of the store admin.' + 'These orders will show up in the Orders tab under the activity panel.', 'woocommerce-admin'),
+ defaultValue: DEFAULT_ACTIONABLE_STATUSES
+ },
+ woocommerce_default_date_range: {
+ name: 'woocommerce_default_date_range',
+ label: Object(external_this_wp_i18n_["__"])('Default Date Range:', 'woocommerce-admin'),
+ inputType: 'component',
+ component: default_date,
+ helpText: Object(external_this_wp_i18n_["__"])('Select a default date range. When no range is selected, reports will be viewed by ' + 'the default date range.', 'woocommerce-admin'),
+ defaultValue: DEFAULT_DATE_RANGE
+ }
+});
+
+/***/ }),
+
+/***/ 266:
+/***/ (function(module, exports) {
+
+function _objectWithoutPropertiesLoose(source, excluded) {
+ if (source == null) return {};
+ var target = {};
+ var sourceKeys = Object.keys(source);
+ var key, i;
+
+ for (i = 0; i < sourceKeys.length; i++) {
+ key = sourceKeys[i];
+ if (excluded.indexOf(key) >= 0) continue;
+ target[key] = source[key];
+ }
+
+ return target;
+}
+
+module.exports = _objectWithoutPropertiesLoose;
+
+/***/ }),
+
+/***/ 267:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getLeaderboard; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return searchItemsByString; });
+/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15);
+/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var lib_date__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(104);
+
+
+function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WooCommerce dependencies
+ */
+
+/**
+ * Returns leaderboard data to render a leaderboard table.
+ *
+ * @param {Object} options arguments
+ * @param {string} options.id Leaderboard ID
+ * @param {number} options.per_page Per page limit
+ * @param {Object} options.persisted_query Persisted query passed to endpoint
+ * @param {Object} options.query Query parameters in the url
+ * @param {Object} options.select Instance of @wordpress/select
+ * @param {string} options.defaultDateRange User specified default date range.
+ * @return {Object} Object containing leaderboard responses.
+ */
+
+function getLeaderboard(options) {
+ var endpoint = 'leaderboards';
+ var perPage = options.per_page,
+ persistedQuery = options.persisted_query,
+ query = options.query,
+ select = options.select;
+
+ var _select = select('wc-api'),
+ getItems = _select.getItems,
+ getItemsError = _select.getItemsError,
+ isGetItemsRequesting = _select.isGetItemsRequesting;
+
+ var response = {
+ isRequesting: false,
+ isError: false,
+ rows: []
+ };
+ var datesFromQuery = Object(lib_date__WEBPACK_IMPORTED_MODULE_1__[/* getCurrentDates */ "f"])(query, options.defaultDateRange);
+ var leaderboardQuery = {
+ after: Object(lib_date__WEBPACK_IMPORTED_MODULE_1__[/* appendTimestamp */ "a"])(datesFromQuery.primary.after, 'start'),
+ before: Object(lib_date__WEBPACK_IMPORTED_MODULE_1__[/* appendTimestamp */ "a"])(datesFromQuery.primary.before, 'end'),
+ per_page: perPage,
+ persisted_query: JSON.stringify(persistedQuery)
+ }; // Disable eslint rule requiring `getItems` to be defined below because the next two statements
+ // depend on `getItems` to have been called.
+ // eslint-disable-next-line @wordpress/no-unused-vars-before-return
+
+ var leaderboards = getItems(endpoint, leaderboardQuery);
+
+ if (isGetItemsRequesting(endpoint, leaderboardQuery)) {
+ return _objectSpread({}, response, {
+ isRequesting: true
+ });
+ } else if (getItemsError(endpoint, leaderboardQuery)) {
+ return _objectSpread({}, response, {
+ isError: true
+ });
+ }
+
+ var leaderboard = leaderboards.get(options.id);
+ return _objectSpread({}, response, {
+ rows: leaderboard.rows
+ });
+}
+/**
+ * Returns items based on a search query.
+ *
+ * @param {Object} select Instance of @wordpress/select
+ * @param {string} endpoint Report API Endpoint
+ * @param {string[]} search Array of search strings.
+ * @return {Object} Object containing API request information and the matching items.
+ */
+
+function searchItemsByString(select, endpoint, search) {
+ var _select2 = select('wc-api'),
+ getItems = _select2.getItems,
+ getItemsError = _select2.getItemsError,
+ isGetItemsRequesting = _select2.isGetItemsRequesting;
+
+ var items = {};
+ var isRequesting = false;
+ var isError = false;
+ search.forEach(function (searchWord) {
+ var query = {
+ search: searchWord,
+ per_page: 10
+ };
+ var newItems = getItems(endpoint, query);
+ newItems.forEach(function (item, id) {
+ items[id] = item;
+ });
+
+ if (isGetItemsRequesting(endpoint, query)) {
+ isRequesting = true;
+ }
+
+ if (getItemsError(endpoint, query)) {
+ isError = true;
+ }
+ });
+ return {
+ items: items,
+ isRequesting: isRequesting,
+ isError: isError
+ };
+}
+
+/***/ }),
+
+/***/ 268:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _use_media_query__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(99);
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+/**
+ * @typedef {"huge"|"wide"|"large"|"medium"|"small"|"mobile"} WPBreakpoint
+ */
+
+/**
+ * Hash of breakpoint names with pixel width at which it becomes effective.
+ *
+ * @see _breakpoints.scss
+ *
+ * @type {Object}
+ */
+
+var BREAKPOINTS = {
+ huge: 1440,
+ wide: 1280,
+ large: 960,
+ medium: 782,
+ small: 600,
+ mobile: 480
+};
+/**
+ * @typedef {">="|"<"} WPViewportOperator
+ */
+
+/**
+ * Object mapping media query operators to the condition to be used.
+ *
+ * @type {Object}
+ */
+
+var CONDITIONS = {
+ '>=': 'min-width',
+ '<': 'max-width'
+};
+/**
+ * Object mapping media query operators to a function that given a breakpointValue and a width evaluates if the operator matches the values.
+ *
+ * @type {Object}
+ */
+
+var OPERATOR_EVALUATORS = {
+ '>=': function _(breakpointValue, width) {
+ return width >= breakpointValue;
+ },
+ '<': function _(breakpointValue, width) {
+ return width < breakpointValue;
+ }
+};
+var ViewportMatchWidthContext = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createContext"])(null);
+/**
+ * Returns true if the viewport matches the given query, or false otherwise.
+ *
+ * @param {WPBreakpoint} breakpoint Breakpoint size name.
+ * @param {WPViewportOperator} [operator=">="] Viewport operator.
+ *
+ * @example
+ *
+ * ```js
+ * useViewportMatch( 'huge', '<' );
+ * useViewportMatch( 'medium' );
+ * ```
+ *
+ * @return {boolean} Whether viewport matches query.
+ */
+
+var useViewportMatch = function useViewportMatch(breakpoint) {
+ var operator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '>=';
+ var simulatedWidth = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useContext"])(ViewportMatchWidthContext);
+ var mediaQuery = !simulatedWidth && "(".concat(CONDITIONS[operator], ": ").concat(BREAKPOINTS[breakpoint], "px)");
+ var mediaQueryResult = Object(_use_media_query__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(mediaQuery);
+
+ if (simulatedWidth) {
+ return OPERATOR_EVALUATORS[operator](BREAKPOINTS[breakpoint], simulatedWidth);
+ }
+
+ return mediaQueryResult;
+};
+
+useViewportMatch.__experimentalWidthProvider = ViewportMatchWidthContext.Provider;
+/* harmony default export */ __webpack_exports__["a"] = (useViewportMatch);
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 269:
+/***/ (function(module, exports) {
+
+function _arrayLikeToArray(arr, len) {
+ if (len == null || len > arr.length) len = arr.length;
+
+ for (var i = 0, arr2 = new Array(len); i < len; i++) {
+ arr2[i] = arr[i];
+ }
+
+ return arr2;
+}
+
+module.exports = _arrayLikeToArray;
+
+/***/ }),
+
+/***/ 27:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectSpread; });
+/* harmony import */ var _defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(13);
+
+function _objectSpread(target) {
+ for (var i = 1; i < arguments.length; i++) {
+ var source = arguments[i] != null ? Object(arguments[i]) : {};
+ var ownKeys = Object.keys(source);
+
+ if (typeof Object.getOwnPropertySymbols === 'function') {
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
+ }));
+ }
+
+ ownKeys.forEach(function (key) {
+ Object(_defineProperty__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(target, key, source[key]);
+ });
+ }
+
+ return target;
+}
+
+/***/ }),
+
+/***/ 29:
+/***/ (function(module, exports) {
+
+function _getPrototypeOf(o) {
+ module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
+ return o.__proto__ || Object.getPrototypeOf(o);
+ };
+ return _getPrototypeOf(o);
+}
+
+module.exports = _getPrototypeOf;
+
+/***/ }),
+
+/***/ 3:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wp"]["i18n"]; }());
+
+/***/ }),
+
+/***/ 30:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wp"]["url"]; }());
+
+/***/ }),
+
+/***/ 32:
+/***/ (function(module, exports, __webpack_require__) {
+
+var arrayWithoutHoles = __webpack_require__(443);
+
+var iterableToArray = __webpack_require__(444);
+
+var unsupportedIterableToArray = __webpack_require__(425);
+
+var nonIterableSpread = __webpack_require__(445);
+
+function _toConsumableArray(arr) {
+ return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();
+}
+
+module.exports = _toConsumableArray;
+
+/***/ }),
+
+/***/ 35:
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+
+var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; /**
+ * External Dependencies
+ */
+
+
+/**
+ * Internal Dependencies
+ */
+
+
+var _react = __webpack_require__(14);
+
+var _react2 = _interopRequireDefault(_react);
+
+var _reactAddonsCreateFragment = __webpack_require__(142);
+
+var _reactAddonsCreateFragment2 = _interopRequireDefault(_reactAddonsCreateFragment);
+
+var _tokenize = __webpack_require__(145);
+
+var _tokenize2 = _interopRequireDefault(_tokenize);
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+var currentMixedString = void 0;
+
+function getCloseIndex(openIndex, tokens) {
+ var openToken = tokens[openIndex],
+ nestLevel = 0,
+ token,
+ i;
+ for (i = openIndex + 1; i < tokens.length; i++) {
+ token = tokens[i];
+ if (token.value === openToken.value) {
+ if (token.type === 'componentOpen') {
+ nestLevel++;
+ continue;
+ }
+ if (token.type === 'componentClose') {
+ if (nestLevel === 0) {
+ return i;
+ }
+ nestLevel--;
+ }
+ }
+ }
+ // if we get this far, there was no matching close token
+ throw new Error('Missing closing component token `' + openToken.value + '`');
+}
+
+function buildChildren(tokens, components) {
+ var children = [],
+ childrenObject = {},
+ openComponent,
+ clonedOpenComponent,
+ openIndex,
+ closeIndex,
+ token,
+ i,
+ grandChildTokens,
+ grandChildren,
+ siblingTokens,
+ siblings;
+
+ for (i = 0; i < tokens.length; i++) {
+ token = tokens[i];
+ if (token.type === 'string') {
+ children.push(token.value);
+ continue;
+ }
+ // component node should at least be set
+ if (!components.hasOwnProperty(token.value) || typeof components[token.value] === 'undefined') {
+ throw new Error('Invalid interpolation, missing component node: `' + token.value + '`');
+ }
+ // should be either ReactElement or null (both type "object"), all other types deprecated
+ if (_typeof(components[token.value]) !== 'object') {
+ throw new Error('Invalid interpolation, component node must be a ReactElement or null: `' + token.value + '`', '\n> ' + currentMixedString);
+ }
+ // we should never see a componentClose token in this loop
+ if (token.type === 'componentClose') {
+ throw new Error('Missing opening component token: `' + token.value + '`');
+ }
+ if (token.type === 'componentOpen') {
+ openComponent = components[token.value];
+ openIndex = i;
+ break;
+ }
+ // componentSelfClosing token
+ children.push(components[token.value]);
+ continue;
+ }
+
+ if (openComponent) {
+ closeIndex = getCloseIndex(openIndex, tokens);
+ grandChildTokens = tokens.slice(openIndex + 1, closeIndex);
+ grandChildren = buildChildren(grandChildTokens, components);
+ clonedOpenComponent = _react2.default.cloneElement(openComponent, {}, grandChildren);
+ children.push(clonedOpenComponent);
+
+ if (closeIndex < tokens.length - 1) {
+ siblingTokens = tokens.slice(closeIndex + 1);
+ siblings = buildChildren(siblingTokens, components);
+ children = children.concat(siblings);
+ }
+ }
+
+ if (children.length === 1) {
+ return children[0];
+ }
+
+ children.forEach(function (child, index) {
+ if (child) {
+ childrenObject['interpolation-child-' + index] = child;
+ }
+ });
+
+ return (0, _reactAddonsCreateFragment2.default)(childrenObject);
+}
+
+function interpolate(options) {
+ var mixedString = options.mixedString,
+ components = options.components,
+ throwErrors = options.throwErrors;
+
+
+ currentMixedString = mixedString;
+
+ if (!components) {
+ return mixedString;
+ }
+
+ if ((typeof components === 'undefined' ? 'undefined' : _typeof(components)) !== 'object') {
+ if (throwErrors) {
+ throw new Error('Interpolation Error: unable to process `' + mixedString + '` because components is not an object');
+ }
+
+ return mixedString;
+ }
+
+ var tokens = (0, _tokenize2.default)(mixedString);
+
+ try {
+ return buildChildren(tokens, components);
+ } catch (error) {
+ if (throwErrors) {
+ throw new Error('Interpolation Error: unable to process `' + mixedString + '` because of error `' + error.message + '`');
+ }
+
+ return mixedString;
+ }
+};
+
+exports.default = interpolate;
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 37:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _arrayLikeToArray; });
+function _arrayLikeToArray(arr, len) {
+ if (len == null || len > arr.length) len = arr.length;
+
+ for (var i = 0, arr2 = new Array(len); i < len; i++) {
+ arr2[i] = arr[i];
+ }
+
+ return arr2;
+}
+
+/***/ }),
+
+/***/ 4:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _getPrototypeOf; });
+function _getPrototypeOf(o) {
+ _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
+ return o.__proto__ || Object.getPrototypeOf(o);
+ };
+ return _getPrototypeOf(o);
+}
+
+/***/ }),
+
+/***/ 40:
+/***/ (function(module, exports) {
+
+function _defineProperties(target, props) {
+ for (var i = 0; i < props.length; i++) {
+ var descriptor = props[i];
+ descriptor.enumerable = descriptor.enumerable || false;
+ descriptor.configurable = true;
+ if ("value" in descriptor) descriptor.writable = true;
+ Object.defineProperty(target, descriptor.key, descriptor);
+ }
+}
+
+function _createClass(Constructor, protoProps, staticProps) {
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
+ if (staticProps) _defineProperties(Constructor, staticProps);
+ return Constructor;
+}
+
+module.exports = _createClass;
+
+/***/ }),
+
+/***/ 41:
+/***/ (function(module, exports) {
+
+function _classCallCheck(instance, Constructor) {
+ if (!(instance instanceof Constructor)) {
+ throw new TypeError("Cannot call a class as a function");
+ }
+}
+
+module.exports = _classCallCheck;
+
+/***/ }),
+
+/***/ 412:
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
+
+var hoistNonReactStatic = __webpack_require__(437);
+var React = __webpack_require__(14);
+var ReactDOM = __webpack_require__(87);
+
+module.exports = function enhanceWithClickOutside(WrappedComponent) {
+ var componentName = WrappedComponent.displayName || WrappedComponent.name;
+
+ var EnhancedComponent = function (_React$Component) {
+ _inherits(EnhancedComponent, _React$Component);
+
+ function EnhancedComponent(props) {
+ _classCallCheck(this, EnhancedComponent);
+
+ var _this = _possibleConstructorReturn(this, (EnhancedComponent.__proto__ || Object.getPrototypeOf(EnhancedComponent)).call(this, props));
+
+ _this.handleClickOutside = _this.handleClickOutside.bind(_this);
+ return _this;
+ }
+
+ _createClass(EnhancedComponent, [{
+ key: 'componentDidMount',
+ value: function componentDidMount() {
+ document.addEventListener('click', this.handleClickOutside, true);
+ }
+ }, {
+ key: 'componentWillUnmount',
+ value: function componentWillUnmount() {
+ document.removeEventListener('click', this.handleClickOutside, true);
+ }
+ }, {
+ key: 'handleClickOutside',
+ value: function handleClickOutside(e) {
+ var domNode = this.__domNode;
+ if ((!domNode || !domNode.contains(e.target)) && this.__wrappedInstance && typeof this.__wrappedInstance.handleClickOutside === 'function') {
+ this.__wrappedInstance.handleClickOutside(e);
+ }
+ }
+ }, {
+ key: 'render',
+ value: function render() {
+ var _this2 = this;
+
+ var _props = this.props,
+ wrappedRef = _props.wrappedRef,
+ rest = _objectWithoutProperties(_props, ['wrappedRef']);
+
+ return React.createElement(WrappedComponent, _extends({}, rest, {
+ ref: function ref(c) {
+ _this2.__wrappedInstance = c;
+ _this2.__domNode = ReactDOM.findDOMNode(c);
+ wrappedRef && wrappedRef(c);
+ }
+ }));
+ }
+ }]);
+
+ return EnhancedComponent;
+ }(React.Component);
+
+ EnhancedComponent.displayName = 'clickOutside(' + componentName + ')';
+
+ return hoistNonReactStatic(EnhancedComponent, WrappedComponent);
+};
+
+/***/ }),
+
+/***/ 413:
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+var _extends=Object.assign||function(a){for(var c,b=1;b 1) {
+ // we need to inform developers that snackbar only accepts 1 action
+ // eslint-disable-next-line no-console
+ console.warn('Snackbar can only have 1 action, use Notice if your message require many messages'); // return first element only while keeping it inside an array
+
+ actions = [actions[0]];
+ }
+
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
+ ref: ref,
+ className: classes,
+ onClick: onRemove,
+ tabIndex: "0",
+ role: "button",
+ onKeyPress: onRemove,
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__["__"])('Dismiss this notice')
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
+ className: "components-snackbar__content"
+ }, children, actions.map(function (_ref2, index) {
+ var label = _ref2.label,
+ _onClick = _ref2.onClick,
+ url = _ref2.url;
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(___WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"], {
+ key: index,
+ href: url,
+ isTertiary: true,
+ onClick: function onClick(event) {
+ event.stopPropagation();
+
+ if (_onClick) {
+ _onClick(event);
+ }
+ },
+ className: "components-snackbar__action"
+ }, label);
+ })));
+}
+
+/* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["forwardRef"])(Snackbar));
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 416:
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+/* WEBPACK VAR INJECTION */(function(global) {// @flow
+
+
+var key = '__global_unique_id__';
+
+module.exports = function() {
+ return global[key] = (global[key] || 0) + 1;
+};
+
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(64)))
+
+/***/ }),
+
+/***/ 417:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(41);
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(40);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(44);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(29);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(42);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__);
+/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(19);
+/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_6__);
+/* harmony import */ var _woocommerce_data__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(51);
+/* harmony import */ var _woocommerce_data__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_data__WEBPACK_IMPORTED_MODULE_7__);
+/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(441);
+/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_8__);
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var Navigation = /*#__PURE__*/function (_Component) {
+ _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(Navigation, _Component);
+
+ var _super = _createSuper(Navigation);
+
+ function Navigation() {
+ _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, Navigation);
+
+ return _super.apply(this, arguments);
+ }
+
+ _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(Navigation, [{
+ key: "renderMenuItem",
+ value: function renderMenuItem(item) {
+ var _this = this;
+
+ var depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
+ var slug = item.slug,
+ title = item.title,
+ url = item.url;
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])("li", {
+ key: slug,
+ className: "woocommerce-navigation__menu-item woocommerce-navigation__menu-item-depth-".concat(depth)
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])("a", {
+ href: url
+ }, title), item.children && item.children.length && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])("ul", {
+ className: "woocommerce-navigation__submenu"
+ }, item.children.map(function (childItem) {
+ return _this.renderMenuItem(childItem, depth + 1);
+ })));
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this2 = this;
+
+ var items = this.props.items;
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])("div", {
+ className: "woocommerce-navigation"
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])("ul", {
+ className: "woocommerce-navigation__menu"
+ }, items.map(function (item) {
+ return _this2.renderMenuItem(item);
+ })));
+ }
+ }]);
+
+ return Navigation;
+}(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["Component"]);
+
+/* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_6__["withSelect"])(function (select) {
+ var items = select(_woocommerce_data__WEBPACK_IMPORTED_MODULE_7__["SETTINGS_STORE_NAME"]).getSetting('wc_admin', 'wcNavigation');
+ return {
+ items: items
+ };
+})(Navigation));
+
+/***/ }),
+
+/***/ 418:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return symbolObservablePonyfill; });
+function symbolObservablePonyfill(root) {
+ var result;
+ var Symbol = root.Symbol;
+
+ if (typeof Symbol === 'function') {
+ if (Symbol.observable) {
+ result = Symbol.observable;
+ } else {
+ result = Symbol('observable');
+ Symbol.observable = result;
+ }
+ } else {
+ result = '@@observable';
+ }
+
+ return result;
+};
+
+
+/***/ }),
+
+/***/ 42:
+/***/ (function(module, exports, __webpack_require__) {
+
+var setPrototypeOf = __webpack_require__(209);
+
+function _inherits(subClass, superClass) {
+ if (typeof superClass !== "function" && superClass !== null) {
+ throw new TypeError("Super expression must either be null or a function");
+ }
+
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
+ constructor: {
+ value: subClass,
+ writable: true,
+ configurable: true
+ }
+ });
+ if (superClass) setPrototypeOf(subClass, superClass);
+}
+
+module.exports = _inherits;
+
+/***/ }),
+
+/***/ 424:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// UNUSED EXPORTS: NavigableMenu
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
+var esm_extends = __webpack_require__(11);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
+var objectWithoutProperties = __webpack_require__(16);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__(2);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/keycodes/build-module/index.js + 1 modules
+var build_module = __webpack_require__(18);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js
+var classCallCheck = __webpack_require__(7);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js
+var createClass = __webpack_require__(6);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(8);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(4);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js
+var assertThisInitialized = __webpack_require__(5);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js + 1 modules
+var inherits = __webpack_require__(9);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/dom/build-module/index.js + 2 modules
+var dom_build_module = __webpack_require__(50);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/navigable-container/container.js
+
+
+
+
+
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+function cycleValue(value, total, offset) {
+ var nextValue = value + offset;
+
+ if (nextValue < 0) {
+ return total + nextValue;
+ } else if (nextValue >= total) {
+ return nextValue - total;
+ }
+
+ return nextValue;
+}
+
+var container_NavigableContainer =
+/*#__PURE__*/
+function (_Component) {
+ Object(inherits["a" /* default */])(NavigableContainer, _Component);
+
+ function NavigableContainer() {
+ var _this;
+
+ Object(classCallCheck["a" /* default */])(this, NavigableContainer);
+
+ _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(NavigableContainer).apply(this, arguments));
+ _this.onKeyDown = _this.onKeyDown.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.bindContainer = _this.bindContainer.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.getFocusableContext = _this.getFocusableContext.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.getFocusableIndex = _this.getFocusableIndex.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ return _this;
+ }
+
+ Object(createClass["a" /* default */])(NavigableContainer, [{
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ // We use DOM event listeners instead of React event listeners
+ // because we want to catch events from the underlying DOM tree
+ // The React Tree can be different from the DOM tree when using
+ // portals. Block Toolbars for instance are rendered in a separate
+ // React Trees.
+ this.container.addEventListener('keydown', this.onKeyDown);
+ this.container.addEventListener('focus', this.onFocus);
+ }
+ }, {
+ key: "componentWillUnmount",
+ value: function componentWillUnmount() {
+ this.container.removeEventListener('keydown', this.onKeyDown);
+ this.container.removeEventListener('focus', this.onFocus);
+ }
+ }, {
+ key: "bindContainer",
+ value: function bindContainer(ref) {
+ var forwardedRef = this.props.forwardedRef;
+ this.container = ref;
+
+ if (Object(external_lodash_["isFunction"])(forwardedRef)) {
+ forwardedRef(ref);
+ } else if (forwardedRef && 'current' in forwardedRef) {
+ forwardedRef.current = ref;
+ }
+ }
+ }, {
+ key: "getFocusableContext",
+ value: function getFocusableContext(target) {
+ var onlyBrowserTabstops = this.props.onlyBrowserTabstops;
+ var finder = onlyBrowserTabstops ? dom_build_module["a" /* focus */].tabbable : dom_build_module["a" /* focus */].focusable;
+ var focusables = finder.find(this.container);
+ var index = this.getFocusableIndex(focusables, target);
+
+ if (index > -1 && target) {
+ return {
+ index: index,
+ target: target,
+ focusables: focusables
+ };
+ }
+
+ return null;
+ }
+ }, {
+ key: "getFocusableIndex",
+ value: function getFocusableIndex(focusables, target) {
+ var directIndex = focusables.indexOf(target);
+
+ if (directIndex !== -1) {
+ return directIndex;
+ }
+ }
+ }, {
+ key: "onKeyDown",
+ value: function onKeyDown(event) {
+ if (this.props.onKeyDown) {
+ this.props.onKeyDown(event);
+ }
+
+ var getFocusableContext = this.getFocusableContext;
+ var _this$props = this.props,
+ _this$props$cycle = _this$props.cycle,
+ cycle = _this$props$cycle === void 0 ? true : _this$props$cycle,
+ eventToOffset = _this$props.eventToOffset,
+ _this$props$onNavigat = _this$props.onNavigate,
+ onNavigate = _this$props$onNavigat === void 0 ? external_lodash_["noop"] : _this$props$onNavigat,
+ stopNavigationEvents = _this$props.stopNavigationEvents;
+ var offset = eventToOffset(event); // eventToOffset returns undefined if the event is not handled by the component
+
+ if (offset !== undefined && stopNavigationEvents) {
+ // Prevents arrow key handlers bound to the document directly interfering
+ event.stopImmediatePropagation(); // When navigating a collection of items, prevent scroll containers
+ // from scrolling.
+
+ if (event.target.getAttribute('role') === 'menuitem') {
+ event.preventDefault();
+ }
+ }
+
+ if (!offset) {
+ return;
+ }
+
+ var context = getFocusableContext(document.activeElement);
+
+ if (!context) {
+ return;
+ }
+
+ var index = context.index,
+ focusables = context.focusables;
+ var nextIndex = cycle ? cycleValue(index, focusables.length, offset) : index + offset;
+
+ if (nextIndex >= 0 && nextIndex < focusables.length) {
+ focusables[nextIndex].focus();
+ onNavigate(nextIndex, focusables[nextIndex]);
+ }
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props2 = this.props,
+ children = _this$props2.children,
+ props = Object(objectWithoutProperties["a" /* default */])(_this$props2, ["children"]);
+
+ return Object(external_this_wp_element_["createElement"])("div", Object(esm_extends["a" /* default */])({
+ ref: this.bindContainer
+ }, Object(external_lodash_["omit"])(props, ['stopNavigationEvents', 'eventToOffset', 'onNavigate', 'cycle', 'onlyBrowserTabstops', 'forwardedRef'])), children);
+ }
+ }]);
+
+ return NavigableContainer;
+}(external_this_wp_element_["Component"]);
+
+var container_forwardedNavigableContainer = function forwardedNavigableContainer(props, ref) {
+ return Object(external_this_wp_element_["createElement"])(container_NavigableContainer, Object(esm_extends["a" /* default */])({}, props, {
+ forwardedRef: ref
+ }));
+};
+
+container_forwardedNavigableContainer.displayName = 'NavigableContainer';
+/* harmony default export */ var container = (Object(external_this_wp_element_["forwardRef"])(container_forwardedNavigableContainer));
+//# sourceMappingURL=container.js.map
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/navigable-container/menu.js
+
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+function NavigableMenu(_ref, ref) {
+ var _ref$role = _ref.role,
+ role = _ref$role === void 0 ? 'menu' : _ref$role,
+ _ref$orientation = _ref.orientation,
+ orientation = _ref$orientation === void 0 ? 'vertical' : _ref$orientation,
+ rest = Object(objectWithoutProperties["a" /* default */])(_ref, ["role", "orientation"]);
+
+ var eventToOffset = function eventToOffset(evt) {
+ var keyCode = evt.keyCode;
+ var next = [build_module["b" /* DOWN */]];
+ var previous = [build_module["i" /* UP */]];
+
+ if (orientation === 'horizontal') {
+ next = [build_module["f" /* RIGHT */]];
+ previous = [build_module["e" /* LEFT */]];
+ }
+
+ if (orientation === 'both') {
+ next = [build_module["f" /* RIGHT */], build_module["b" /* DOWN */]];
+ previous = [build_module["e" /* LEFT */], build_module["i" /* UP */]];
+ }
+
+ if (Object(external_lodash_["includes"])(next, keyCode)) {
+ return 1;
+ } else if (Object(external_lodash_["includes"])(previous, keyCode)) {
+ return -1;
+ }
+ };
+
+ return Object(external_this_wp_element_["createElement"])(container, Object(esm_extends["a" /* default */])({
+ ref: ref,
+ stopNavigationEvents: true,
+ onlyBrowserTabstops: false,
+ role: role,
+ "aria-orientation": role === 'presentation' ? null : orientation,
+ eventToOffset: eventToOffset
+ }, rest));
+}
+/* harmony default export */ var menu = __webpack_exports__["a"] = (Object(external_this_wp_element_["forwardRef"])(NavigableMenu));
+//# sourceMappingURL=menu.js.map
+
+/***/ }),
+
+/***/ 425:
+/***/ (function(module, exports, __webpack_require__) {
+
+var arrayLikeToArray = __webpack_require__(269);
+
+function _unsupportedIterableToArray(o, minLen) {
+ if (!o) return;
+ if (typeof o === "string") return arrayLikeToArray(o, minLen);
+ var n = Object.prototype.toString.call(o).slice(8, -1);
+ if (n === "Object" && o.constructor) n = o.constructor.name;
+ if (n === "Map" || n === "Set") return Array.from(n);
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);
+}
+
+module.exports = _unsupportedIterableToArray;
+
+/***/ }),
+
+/***/ 43:
+/***/ (function(module, exports) {
+
+function _typeof(obj) {
+ "@babel/helpers - typeof";
+
+ if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
+ module.exports = _typeof = function _typeof(obj) {
+ return typeof obj;
+ };
+ } else {
+ module.exports = _typeof = function _typeof(obj) {
+ return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
+ };
+ }
+
+ return _typeof(obj);
+}
+
+module.exports = _typeof;
+
+/***/ }),
+
+/***/ 430:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _wordpress_notices__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(706);
+/* harmony import */ var _stylesheets_index_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(433);
+/* harmony import */ var _stylesheets_index_scss__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_stylesheets_index_scss__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _layout__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(202);
+/* harmony import */ var _navigation__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(417);
+/* harmony import */ var wc_api_wp_data_store__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(704);
+/* harmony import */ var _woocommerce_data__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(51);
+/* harmony import */ var _woocommerce_data__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_data__WEBPACK_IMPORTED_MODULE_6__);
+
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+ // Modify webpack pubilcPath at runtime based on location of WordPress Plugin.
+// eslint-disable-next-line no-undef,camelcase
+
+__webpack_require__.p = global.wcAdminAssets.path;
+var appRoot = document.getElementById('root');
+var navigationRoot = document.getElementById('woocommerce-embedded-navigation');
+var settingsGroup = 'wc_admin';
+
+if (navigationRoot) {
+ var HydratedNavigation = Object(_woocommerce_data__WEBPACK_IMPORTED_MODULE_6__["withSettingsHydration"])(settingsGroup, window.wcSettings)(_navigation__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"]);
+ Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["render"])(Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(HydratedNavigation, null), navigationRoot); // Collapse the WP Menu.
+
+ var adminMenu = document.getElementById('adminmenumain');
+ adminMenu.classList.add('folded');
+}
+
+if (appRoot) {
+ var HydratedPageLayout = Object(_woocommerce_data__WEBPACK_IMPORTED_MODULE_6__["withSettingsHydration"])(settingsGroup, window.wcSettings)(_layout__WEBPACK_IMPORTED_MODULE_3__[/* PageLayout */ "b"]);
+ Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["render"])(Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(HydratedPageLayout, null), appRoot);
+} else {
+ var embeddedRoot = document.getElementById('woocommerce-embedded-root');
+ var HydratedEmbedLayout = Object(_woocommerce_data__WEBPACK_IMPORTED_MODULE_6__["withSettingsHydration"])(settingsGroup, window.wcSettings)(_layout__WEBPACK_IMPORTED_MODULE_3__[/* EmbedLayout */ "a"]); // Render the header.
+
+ Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["render"])(Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(HydratedEmbedLayout, null), embeddedRoot);
+ embeddedRoot.classList.remove('is-embed-loading'); // Render notices just above the WP content div.
+
+ var wpBody = document.getElementById('wpbody-content');
+ var wrap = wpBody.querySelector('.wrap.woocommerce') || wpBody.querySelector('[class="wrap"]');
+ var noticeContainer = document.createElement('div');
+ Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["render"])(Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
+ className: "woocommerce-layout"
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_layout__WEBPACK_IMPORTED_MODULE_3__[/* PrimaryLayout */ "c"], null)), wpBody.insertBefore(noticeContainer, wrap));
+}
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(64)))
+
+/***/ }),
+
+/***/ 432:
+/***/ (function(module, exports, __webpack_require__) {
+
+/**
+ * Copyright (c) 2014-present, Facebook, Inc.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+var runtime = (function (exports) {
+ "use strict";
+
+ var Op = Object.prototype;
+ var hasOwn = Op.hasOwnProperty;
+ var undefined; // More compressible than void 0.
+ var $Symbol = typeof Symbol === "function" ? Symbol : {};
+ var iteratorSymbol = $Symbol.iterator || "@@iterator";
+ var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
+ var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
+
+ function wrap(innerFn, outerFn, self, tryLocsList) {
+ // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.
+ var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
+ var generator = Object.create(protoGenerator.prototype);
+ var context = new Context(tryLocsList || []);
+
+ // The ._invoke method unifies the implementations of the .next,
+ // .throw, and .return methods.
+ generator._invoke = makeInvokeMethod(innerFn, self, context);
+
+ return generator;
+ }
+ exports.wrap = wrap;
+
+ // Try/catch helper to minimize deoptimizations. Returns a completion
+ // record like context.tryEntries[i].completion. This interface could
+ // have been (and was previously) designed to take a closure to be
+ // invoked without arguments, but in all the cases we care about we
+ // already have an existing method we want to call, so there's no need
+ // to create a new function object. We can even get away with assuming
+ // the method takes exactly one argument, since that happens to be true
+ // in every case, so we don't have to touch the arguments object. The
+ // only additional allocation required is the completion record, which
+ // has a stable shape and so hopefully should be cheap to allocate.
+ function tryCatch(fn, obj, arg) {
+ try {
+ return { type: "normal", arg: fn.call(obj, arg) };
+ } catch (err) {
+ return { type: "throw", arg: err };
+ }
+ }
+
+ var GenStateSuspendedStart = "suspendedStart";
+ var GenStateSuspendedYield = "suspendedYield";
+ var GenStateExecuting = "executing";
+ var GenStateCompleted = "completed";
+
+ // Returning this object from the innerFn has the same effect as
+ // breaking out of the dispatch switch statement.
+ var ContinueSentinel = {};
+
+ // Dummy constructor functions that we use as the .constructor and
+ // .constructor.prototype properties for functions that return Generator
+ // objects. For full spec compliance, you may wish to configure your
+ // minifier not to mangle the names of these two functions.
+ function Generator() {}
+ function GeneratorFunction() {}
+ function GeneratorFunctionPrototype() {}
+
+ // This is a polyfill for %IteratorPrototype% for environments that
+ // don't natively support it.
+ var IteratorPrototype = {};
+ IteratorPrototype[iteratorSymbol] = function () {
+ return this;
+ };
+
+ var getProto = Object.getPrototypeOf;
+ var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
+ if (NativeIteratorPrototype &&
+ NativeIteratorPrototype !== Op &&
+ hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
+ // This environment has a native %IteratorPrototype%; use it instead
+ // of the polyfill.
+ IteratorPrototype = NativeIteratorPrototype;
+ }
+
+ var Gp = GeneratorFunctionPrototype.prototype =
+ Generator.prototype = Object.create(IteratorPrototype);
+ GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
+ GeneratorFunctionPrototype.constructor = GeneratorFunction;
+ GeneratorFunctionPrototype[toStringTagSymbol] =
+ GeneratorFunction.displayName = "GeneratorFunction";
+
+ // Helper for defining the .next, .throw, and .return methods of the
+ // Iterator interface in terms of a single ._invoke method.
+ function defineIteratorMethods(prototype) {
+ ["next", "throw", "return"].forEach(function(method) {
+ prototype[method] = function(arg) {
+ return this._invoke(method, arg);
+ };
+ });
+ }
+
+ exports.isGeneratorFunction = function(genFun) {
+ var ctor = typeof genFun === "function" && genFun.constructor;
+ return ctor
+ ? ctor === GeneratorFunction ||
+ // For the native GeneratorFunction constructor, the best we can
+ // do is to check its .name property.
+ (ctor.displayName || ctor.name) === "GeneratorFunction"
+ : false;
+ };
+
+ exports.mark = function(genFun) {
+ if (Object.setPrototypeOf) {
+ Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
+ } else {
+ genFun.__proto__ = GeneratorFunctionPrototype;
+ if (!(toStringTagSymbol in genFun)) {
+ genFun[toStringTagSymbol] = "GeneratorFunction";
+ }
+ }
+ genFun.prototype = Object.create(Gp);
+ return genFun;
+ };
+
+ // Within the body of any async function, `await x` is transformed to
+ // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
+ // `hasOwn.call(value, "__await")` to determine if the yielded value is
+ // meant to be awaited.
+ exports.awrap = function(arg) {
+ return { __await: arg };
+ };
+
+ function AsyncIterator(generator, PromiseImpl) {
+ function invoke(method, arg, resolve, reject) {
+ var record = tryCatch(generator[method], generator, arg);
+ if (record.type === "throw") {
+ reject(record.arg);
+ } else {
+ var result = record.arg;
+ var value = result.value;
+ if (value &&
+ typeof value === "object" &&
+ hasOwn.call(value, "__await")) {
+ return PromiseImpl.resolve(value.__await).then(function(value) {
+ invoke("next", value, resolve, reject);
+ }, function(err) {
+ invoke("throw", err, resolve, reject);
+ });
+ }
+
+ return PromiseImpl.resolve(value).then(function(unwrapped) {
+ // When a yielded Promise is resolved, its final value becomes
+ // the .value of the Promise<{value,done}> result for the
+ // current iteration.
+ result.value = unwrapped;
+ resolve(result);
+ }, function(error) {
+ // If a rejected Promise was yielded, throw the rejection back
+ // into the async generator function so it can be handled there.
+ return invoke("throw", error, resolve, reject);
+ });
+ }
+ }
+
+ var previousPromise;
+
+ function enqueue(method, arg) {
+ function callInvokeWithMethodAndArg() {
+ return new PromiseImpl(function(resolve, reject) {
+ invoke(method, arg, resolve, reject);
+ });
+ }
+
+ return previousPromise =
+ // If enqueue has been called before, then we want to wait until
+ // all previous Promises have been resolved before calling invoke,
+ // so that results are always delivered in the correct order. If
+ // enqueue has not been called before, then it is important to
+ // call invoke immediately, without waiting on a callback to fire,
+ // so that the async generator function has the opportunity to do
+ // any necessary setup in a predictable way. This predictability
+ // is why the Promise constructor synchronously invokes its
+ // executor callback, and why async functions synchronously
+ // execute code before the first await. Since we implement simple
+ // async functions in terms of async generators, it is especially
+ // important to get this right, even though it requires care.
+ previousPromise ? previousPromise.then(
+ callInvokeWithMethodAndArg,
+ // Avoid propagating failures to Promises returned by later
+ // invocations of the iterator.
+ callInvokeWithMethodAndArg
+ ) : callInvokeWithMethodAndArg();
+ }
+
+ // Define the unified helper method that is used to implement .next,
+ // .throw, and .return (see defineIteratorMethods).
+ this._invoke = enqueue;
+ }
+
+ defineIteratorMethods(AsyncIterator.prototype);
+ AsyncIterator.prototype[asyncIteratorSymbol] = function () {
+ return this;
+ };
+ exports.AsyncIterator = AsyncIterator;
+
+ // Note that simple async functions are implemented on top of
+ // AsyncIterator objects; they just return a Promise for the value of
+ // the final result produced by the iterator.
+ exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {
+ if (PromiseImpl === void 0) PromiseImpl = Promise;
+
+ var iter = new AsyncIterator(
+ wrap(innerFn, outerFn, self, tryLocsList),
+ PromiseImpl
+ );
+
+ return exports.isGeneratorFunction(outerFn)
+ ? iter // If outerFn is a generator, return the full iterator.
+ : iter.next().then(function(result) {
+ return result.done ? result.value : iter.next();
+ });
+ };
+
+ function makeInvokeMethod(innerFn, self, context) {
+ var state = GenStateSuspendedStart;
+
+ return function invoke(method, arg) {
+ if (state === GenStateExecuting) {
+ throw new Error("Generator is already running");
+ }
+
+ if (state === GenStateCompleted) {
+ if (method === "throw") {
+ throw arg;
+ }
+
+ // Be forgiving, per 25.3.3.3.3 of the spec:
+ // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
+ return doneResult();
+ }
+
+ context.method = method;
+ context.arg = arg;
+
+ while (true) {
+ var delegate = context.delegate;
+ if (delegate) {
+ var delegateResult = maybeInvokeDelegate(delegate, context);
+ if (delegateResult) {
+ if (delegateResult === ContinueSentinel) continue;
+ return delegateResult;
+ }
+ }
+
+ if (context.method === "next") {
+ // Setting context._sent for legacy support of Babel's
+ // function.sent implementation.
+ context.sent = context._sent = context.arg;
+
+ } else if (context.method === "throw") {
+ if (state === GenStateSuspendedStart) {
+ state = GenStateCompleted;
+ throw context.arg;
+ }
+
+ context.dispatchException(context.arg);
+
+ } else if (context.method === "return") {
+ context.abrupt("return", context.arg);
+ }
+
+ state = GenStateExecuting;
+
+ var record = tryCatch(innerFn, self, context);
+ if (record.type === "normal") {
+ // If an exception is thrown from innerFn, we leave state ===
+ // GenStateExecuting and loop back for another invocation.
+ state = context.done
+ ? GenStateCompleted
+ : GenStateSuspendedYield;
+
+ if (record.arg === ContinueSentinel) {
+ continue;
+ }
+
+ return {
+ value: record.arg,
+ done: context.done
+ };
+
+ } else if (record.type === "throw") {
+ state = GenStateCompleted;
+ // Dispatch the exception by looping back around to the
+ // context.dispatchException(context.arg) call above.
+ context.method = "throw";
+ context.arg = record.arg;
+ }
+ }
+ };
+ }
+
+ // Call delegate.iterator[context.method](context.arg) and handle the
+ // result, either by returning a { value, done } result from the
+ // delegate iterator, or by modifying context.method and context.arg,
+ // setting context.delegate to null, and returning the ContinueSentinel.
+ function maybeInvokeDelegate(delegate, context) {
+ var method = delegate.iterator[context.method];
+ if (method === undefined) {
+ // A .throw or .return when the delegate iterator has no .throw
+ // method always terminates the yield* loop.
+ context.delegate = null;
+
+ if (context.method === "throw") {
+ // Note: ["return"] must be used for ES3 parsing compatibility.
+ if (delegate.iterator["return"]) {
+ // If the delegate iterator has a return method, give it a
+ // chance to clean up.
+ context.method = "return";
+ context.arg = undefined;
+ maybeInvokeDelegate(delegate, context);
+
+ if (context.method === "throw") {
+ // If maybeInvokeDelegate(context) changed context.method from
+ // "return" to "throw", let that override the TypeError below.
+ return ContinueSentinel;
+ }
+ }
+
+ context.method = "throw";
+ context.arg = new TypeError(
+ "The iterator does not provide a 'throw' method");
+ }
+
+ return ContinueSentinel;
+ }
+
+ var record = tryCatch(method, delegate.iterator, context.arg);
+
+ if (record.type === "throw") {
+ context.method = "throw";
+ context.arg = record.arg;
+ context.delegate = null;
+ return ContinueSentinel;
+ }
+
+ var info = record.arg;
+
+ if (! info) {
+ context.method = "throw";
+ context.arg = new TypeError("iterator result is not an object");
+ context.delegate = null;
+ return ContinueSentinel;
+ }
+
+ if (info.done) {
+ // Assign the result of the finished delegate to the temporary
+ // variable specified by delegate.resultName (see delegateYield).
+ context[delegate.resultName] = info.value;
+
+ // Resume execution at the desired location (see delegateYield).
+ context.next = delegate.nextLoc;
+
+ // If context.method was "throw" but the delegate handled the
+ // exception, let the outer generator proceed normally. If
+ // context.method was "next", forget context.arg since it has been
+ // "consumed" by the delegate iterator. If context.method was
+ // "return", allow the original .return call to continue in the
+ // outer generator.
+ if (context.method !== "return") {
+ context.method = "next";
+ context.arg = undefined;
+ }
+
+ } else {
+ // Re-yield the result returned by the delegate method.
+ return info;
+ }
+
+ // The delegate iterator is finished, so forget it and continue with
+ // the outer generator.
+ context.delegate = null;
+ return ContinueSentinel;
+ }
+
+ // Define Generator.prototype.{next,throw,return} in terms of the
+ // unified ._invoke helper method.
+ defineIteratorMethods(Gp);
+
+ Gp[toStringTagSymbol] = "Generator";
+
+ // A Generator should always return itself as the iterator object when the
+ // @@iterator function is called on it. Some browsers' implementations of the
+ // iterator prototype chain incorrectly implement this, causing the Generator
+ // object to not be returned from this call. This ensures that doesn't happen.
+ // See https://github.com/facebook/regenerator/issues/274 for more details.
+ Gp[iteratorSymbol] = function() {
+ return this;
+ };
+
+ Gp.toString = function() {
+ return "[object Generator]";
+ };
+
+ function pushTryEntry(locs) {
+ var entry = { tryLoc: locs[0] };
+
+ if (1 in locs) {
+ entry.catchLoc = locs[1];
+ }
+
+ if (2 in locs) {
+ entry.finallyLoc = locs[2];
+ entry.afterLoc = locs[3];
+ }
+
+ this.tryEntries.push(entry);
+ }
+
+ function resetTryEntry(entry) {
+ var record = entry.completion || {};
+ record.type = "normal";
+ delete record.arg;
+ entry.completion = record;
+ }
+
+ function Context(tryLocsList) {
+ // The root entry object (effectively a try statement without a catch
+ // or a finally block) gives us a place to store values thrown from
+ // locations where there is no enclosing try statement.
+ this.tryEntries = [{ tryLoc: "root" }];
+ tryLocsList.forEach(pushTryEntry, this);
+ this.reset(true);
+ }
+
+ exports.keys = function(object) {
+ var keys = [];
+ for (var key in object) {
+ keys.push(key);
+ }
+ keys.reverse();
+
+ // Rather than returning an object with a next method, we keep
+ // things simple and return the next function itself.
+ return function next() {
+ while (keys.length) {
+ var key = keys.pop();
+ if (key in object) {
+ next.value = key;
+ next.done = false;
+ return next;
+ }
+ }
+
+ // To avoid creating an additional object, we just hang the .value
+ // and .done properties off the next function object itself. This
+ // also ensures that the minifier will not anonymize the function.
+ next.done = true;
+ return next;
+ };
+ };
+
+ function values(iterable) {
+ if (iterable) {
+ var iteratorMethod = iterable[iteratorSymbol];
+ if (iteratorMethod) {
+ return iteratorMethod.call(iterable);
+ }
+
+ if (typeof iterable.next === "function") {
+ return iterable;
+ }
+
+ if (!isNaN(iterable.length)) {
+ var i = -1, next = function next() {
+ while (++i < iterable.length) {
+ if (hasOwn.call(iterable, i)) {
+ next.value = iterable[i];
+ next.done = false;
+ return next;
+ }
+ }
+
+ next.value = undefined;
+ next.done = true;
+
+ return next;
+ };
+
+ return next.next = next;
+ }
+ }
+
+ // Return an iterator with no values.
+ return { next: doneResult };
+ }
+ exports.values = values;
+
+ function doneResult() {
+ return { value: undefined, done: true };
+ }
+
+ Context.prototype = {
+ constructor: Context,
+
+ reset: function(skipTempReset) {
+ this.prev = 0;
+ this.next = 0;
+ // Resetting context._sent for legacy support of Babel's
+ // function.sent implementation.
+ this.sent = this._sent = undefined;
+ this.done = false;
+ this.delegate = null;
+
+ this.method = "next";
+ this.arg = undefined;
+
+ this.tryEntries.forEach(resetTryEntry);
+
+ if (!skipTempReset) {
+ for (var name in this) {
+ // Not sure about the optimal order of these conditions:
+ if (name.charAt(0) === "t" &&
+ hasOwn.call(this, name) &&
+ !isNaN(+name.slice(1))) {
+ this[name] = undefined;
+ }
+ }
+ }
+ },
+
+ stop: function() {
+ this.done = true;
+
+ var rootEntry = this.tryEntries[0];
+ var rootRecord = rootEntry.completion;
+ if (rootRecord.type === "throw") {
+ throw rootRecord.arg;
+ }
+
+ return this.rval;
+ },
+
+ dispatchException: function(exception) {
+ if (this.done) {
+ throw exception;
+ }
+
+ var context = this;
+ function handle(loc, caught) {
+ record.type = "throw";
+ record.arg = exception;
+ context.next = loc;
+
+ if (caught) {
+ // If the dispatched exception was caught by a catch block,
+ // then let that catch block handle the exception normally.
+ context.method = "next";
+ context.arg = undefined;
+ }
+
+ return !! caught;
+ }
+
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
+ var entry = this.tryEntries[i];
+ var record = entry.completion;
+
+ if (entry.tryLoc === "root") {
+ // Exception thrown outside of any try block that could handle
+ // it, so set the completion value of the entire function to
+ // throw the exception.
+ return handle("end");
+ }
+
+ if (entry.tryLoc <= this.prev) {
+ var hasCatch = hasOwn.call(entry, "catchLoc");
+ var hasFinally = hasOwn.call(entry, "finallyLoc");
+
+ if (hasCatch && hasFinally) {
+ if (this.prev < entry.catchLoc) {
+ return handle(entry.catchLoc, true);
+ } else if (this.prev < entry.finallyLoc) {
+ return handle(entry.finallyLoc);
+ }
+
+ } else if (hasCatch) {
+ if (this.prev < entry.catchLoc) {
+ return handle(entry.catchLoc, true);
+ }
+
+ } else if (hasFinally) {
+ if (this.prev < entry.finallyLoc) {
+ return handle(entry.finallyLoc);
+ }
+
+ } else {
+ throw new Error("try statement without catch or finally");
+ }
+ }
+ }
+ },
+
+ abrupt: function(type, arg) {
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
+ var entry = this.tryEntries[i];
+ if (entry.tryLoc <= this.prev &&
+ hasOwn.call(entry, "finallyLoc") &&
+ this.prev < entry.finallyLoc) {
+ var finallyEntry = entry;
+ break;
+ }
+ }
+
+ if (finallyEntry &&
+ (type === "break" ||
+ type === "continue") &&
+ finallyEntry.tryLoc <= arg &&
+ arg <= finallyEntry.finallyLoc) {
+ // Ignore the finally entry if control is not jumping to a
+ // location outside the try/catch block.
+ finallyEntry = null;
+ }
+
+ var record = finallyEntry ? finallyEntry.completion : {};
+ record.type = type;
+ record.arg = arg;
+
+ if (finallyEntry) {
+ this.method = "next";
+ this.next = finallyEntry.finallyLoc;
+ return ContinueSentinel;
+ }
+
+ return this.complete(record);
+ },
+
+ complete: function(record, afterLoc) {
+ if (record.type === "throw") {
+ throw record.arg;
+ }
+
+ if (record.type === "break" ||
+ record.type === "continue") {
+ this.next = record.arg;
+ } else if (record.type === "return") {
+ this.rval = this.arg = record.arg;
+ this.method = "return";
+ this.next = "end";
+ } else if (record.type === "normal" && afterLoc) {
+ this.next = afterLoc;
+ }
+
+ return ContinueSentinel;
+ },
+
+ finish: function(finallyLoc) {
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
+ var entry = this.tryEntries[i];
+ if (entry.finallyLoc === finallyLoc) {
+ this.complete(entry.completion, entry.afterLoc);
+ resetTryEntry(entry);
+ return ContinueSentinel;
+ }
+ }
+ },
+
+ "catch": function(tryLoc) {
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
+ var entry = this.tryEntries[i];
+ if (entry.tryLoc === tryLoc) {
+ var record = entry.completion;
+ if (record.type === "throw") {
+ var thrown = record.arg;
+ resetTryEntry(entry);
+ }
+ return thrown;
+ }
+ }
+
+ // The context.catch method must only be called with a location
+ // argument that corresponds to a known catch block.
+ throw new Error("illegal catch attempt");
+ },
+
+ delegateYield: function(iterable, resultName, nextLoc) {
+ this.delegate = {
+ iterator: values(iterable),
+ resultName: resultName,
+ nextLoc: nextLoc
+ };
+
+ if (this.method === "next") {
+ // Deliberately forget the last sent value so that we don't
+ // accidentally pass it on to the delegate.
+ this.arg = undefined;
+ }
+
+ return ContinueSentinel;
+ }
+ };
+
+ // Regardless of whether this script is executing as a CommonJS module
+ // or not, return the runtime object so that we can declare the variable
+ // regeneratorRuntime in the outer scope, which allows this module to be
+ // injected easily by `bin/regenerator --include-runtime script.js`.
+ return exports;
+
+}(
+ // If this script is executing as a CommonJS module, use module.exports
+ // as the regeneratorRuntime namespace. Otherwise create a new empty
+ // object. Either way, the resulting object will be used to initialize
+ // the regeneratorRuntime variable at the top of this file.
+ true ? module.exports : undefined
+));
+
+try {
+ regeneratorRuntime = runtime;
+} catch (accidentalStrictMode) {
+ // This module should not be running in strict mode, so the above
+ // assignment should always work unless something is misconfigured. Just
+ // in case runtime.js accidentally runs in strict mode, we can escape
+ // strict mode using a global Function call. This could conceivably fail
+ // if a Content Security Policy forbids using Function, but in that case
+ // the proper solution is to fix the accidental strict mode problem. If
+ // you've misconfigured your bundler to force strict mode and applied a
+ // CSP to forbid Function, and you're not willing to fix either of those
+ // problems, please detail your unique predicament in a GitHub issue.
+ Function("r", "regeneratorRuntime = r")(runtime);
+}
+
+
+/***/ }),
+
+/***/ 433:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ }),
+
+/***/ 434:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ }),
+
+/***/ 435:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ }),
+
+/***/ 436:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ }),
+
+/***/ 437:
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+/**
+ * Copyright 2015, Yahoo! Inc.
+ * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
+ */
+var REACT_STATICS = {
+ childContextTypes: true,
+ contextTypes: true,
+ defaultProps: true,
+ displayName: true,
+ getDefaultProps: true,
+ getDerivedStateFromProps: true,
+ mixins: true,
+ propTypes: true,
+ type: true
+};
+
+var KNOWN_STATICS = {
+ name: true,
+ length: true,
+ prototype: true,
+ caller: true,
+ callee: true,
+ arguments: true,
+ arity: true
+};
+
+var defineProperty = Object.defineProperty;
+var getOwnPropertyNames = Object.getOwnPropertyNames;
+var getOwnPropertySymbols = Object.getOwnPropertySymbols;
+var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
+var getPrototypeOf = Object.getPrototypeOf;
+var objectPrototype = getPrototypeOf && getPrototypeOf(Object);
+
+function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {
+ if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components
+
+ if (objectPrototype) {
+ var inheritedComponent = getPrototypeOf(sourceComponent);
+ if (inheritedComponent && inheritedComponent !== objectPrototype) {
+ hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);
+ }
+ }
+
+ var keys = getOwnPropertyNames(sourceComponent);
+
+ if (getOwnPropertySymbols) {
+ keys = keys.concat(getOwnPropertySymbols(sourceComponent));
+ }
+
+ for (var i = 0; i < keys.length; ++i) {
+ var key = keys[i];
+ if (!REACT_STATICS[key] && !KNOWN_STATICS[key] && (!blacklist || !blacklist[key])) {
+ var descriptor = getOwnPropertyDescriptor(sourceComponent, key);
+ try { // Avoid failures from read-only properties
+ defineProperty(targetComponent, key, descriptor);
+ } catch (e) {}
+ }
+ }
+
+ return targetComponent;
+ }
+
+ return targetComponent;
+}
+
+module.exports = hoistNonReactStatics;
+
+
+/***/ }),
+
+/***/ 438:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ }),
+
+/***/ 439:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ }),
+
+/***/ 44:
+/***/ (function(module, exports, __webpack_require__) {
+
+var _typeof = __webpack_require__(43);
+
+var assertThisInitialized = __webpack_require__(59);
+
+function _possibleConstructorReturn(self, call) {
+ if (call && (_typeof(call) === "object" || typeof call === "function")) {
+ return call;
+ }
+
+ return assertThisInitialized(self);
+}
+
+module.exports = _possibleConstructorReturn;
+
+/***/ }),
+
+/***/ 440:
+/***/ (function(module, exports) {
+
+module.exports = Array.isArray || function (arr) {
+ return Object.prototype.toString.call(arr) == '[object Array]';
+};
+
+
+/***/ }),
+
+/***/ 441:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ }),
+
+/***/ 442:
+/***/ (function(module, exports) {
+
+module.exports = function(originalModule) {
+ if (!originalModule.webpackPolyfill) {
+ var module = Object.create(originalModule);
+ // module.parent = undefined by default
+ if (!module.children) module.children = [];
+ Object.defineProperty(module, "loaded", {
+ enumerable: true,
+ get: function() {
+ return module.l;
+ }
+ });
+ Object.defineProperty(module, "id", {
+ enumerable: true,
+ get: function() {
+ return module.i;
+ }
+ });
+ Object.defineProperty(module, "exports", {
+ enumerable: true
+ });
+ module.webpackPolyfill = 1;
+ }
+ return module;
+};
+
+
+/***/ }),
+
+/***/ 443:
+/***/ (function(module, exports, __webpack_require__) {
+
+var arrayLikeToArray = __webpack_require__(269);
+
+function _arrayWithoutHoles(arr) {
+ if (Array.isArray(arr)) return arrayLikeToArray(arr);
+}
+
+module.exports = _arrayWithoutHoles;
+
+/***/ }),
+
+/***/ 444:
+/***/ (function(module, exports) {
+
+function _iterableToArray(iter) {
+ if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
+}
+
+module.exports = _iterableToArray;
+
+/***/ }),
+
+/***/ 445:
+/***/ (function(module, exports) {
+
+function _nonIterableSpread() {
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+
+module.exports = _nonIterableSpread;
+
+/***/ }),
+
+/***/ 46:
+/***/ (function(module, exports) {
+
+function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
+ try {
+ var info = gen[key](arg);
+ var value = info.value;
+ } catch (error) {
+ reject(error);
+ return;
+ }
+
+ if (info.done) {
+ resolve(value);
+ } else {
+ Promise.resolve(value).then(_next, _throw);
+ }
+}
+
+function _asyncToGenerator(fn) {
+ return function () {
+ var self = this,
+ args = arguments;
+ return new Promise(function (resolve, reject) {
+ var gen = fn.apply(self, args);
+
+ function _next(value) {
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
+ }
+
+ function _throw(err) {
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
+ }
+
+ _next(undefined);
+ });
+ };
+}
+
+module.exports = _asyncToGenerator;
+
+/***/ }),
+
+/***/ 48:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wp"]["hooks"]; }());
+
+/***/ }),
+
+/***/ 5:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _assertThisInitialized; });
+function _assertThisInitialized(self) {
+ if (self === void 0) {
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+ }
+
+ return self;
+}
+
+/***/ }),
+
+/***/ 50:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ build_module_focus; });
+
+// UNUSED EXPORTS: isHorizontalEdge, isVerticalEdge, getRectangleFromRange, computeCaretRect, placeCaretAtHorizontalEdge, placeCaretAtVerticalEdge, isTextField, documentHasSelection, isEntirelySelected, getScrollContainer, getOffsetParent, replace, remove, insertAfter, unwrap, replaceTag, wrap, __unstableStripHTML
+
+// NAMESPACE OBJECT: ./node_modules/@wordpress/dom/build-module/focusable.js
+var focusable_namespaceObject = {};
+__webpack_require__.r(focusable_namespaceObject);
+__webpack_require__.d(focusable_namespaceObject, "find", function() { return find; });
+
+// NAMESPACE OBJECT: ./node_modules/@wordpress/dom/build-module/tabbable.js
+var tabbable_namespaceObject = {};
+__webpack_require__.r(tabbable_namespaceObject);
+__webpack_require__.d(tabbable_namespaceObject, "isTabbableIndex", function() { return isTabbableIndex; });
+__webpack_require__.d(tabbable_namespaceObject, "find", function() { return tabbable_find; });
+__webpack_require__.d(tabbable_namespaceObject, "findPrevious", function() { return findPrevious; });
+__webpack_require__.d(tabbable_namespaceObject, "findNext", function() { return findNext; });
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/dom/build-module/focusable.js
+/**
+ * References:
+ *
+ * Focusable:
+ * - https://www.w3.org/TR/html5/editing.html#focus-management
+ *
+ * Sequential focus navigation:
+ * - https://www.w3.org/TR/html5/editing.html#sequential-focus-navigation-and-the-tabindex-attribute
+ *
+ * Disabled elements:
+ * - https://www.w3.org/TR/html5/disabled-elements.html#disabled-elements
+ *
+ * getClientRects algorithm (requiring layout box):
+ * - https://www.w3.org/TR/cssom-view-1/#extension-to-the-element-interface
+ *
+ * AREA elements associated with an IMG:
+ * - https://w3c.github.io/html/editing.html#data-model
+ */
+var SELECTOR = ['[tabindex]', 'a[href]', 'button:not([disabled])', 'input:not([type="hidden"]):not([disabled])', 'select:not([disabled])', 'textarea:not([disabled])', 'iframe', 'object', 'embed', 'area[href]', '[contenteditable]:not([contenteditable=false])'].join(',');
+/**
+ * Returns true if the specified element is visible (i.e. neither display: none
+ * nor visibility: hidden).
+ *
+ * @param {Element} element DOM element to test.
+ *
+ * @return {boolean} Whether element is visible.
+ */
+
+function isVisible(element) {
+ return element.offsetWidth > 0 || element.offsetHeight > 0 || element.getClientRects().length > 0;
+}
+/**
+ * Returns true if the specified area element is a valid focusable element, or
+ * false otherwise. Area is only focusable if within a map where a named map
+ * referenced by an image somewhere in the document.
+ *
+ * @param {Element} element DOM area element to test.
+ *
+ * @return {boolean} Whether area element is valid for focus.
+ */
+
+
+function isValidFocusableArea(element) {
+ var map = element.closest('map[name]');
+
+ if (!map) {
+ return false;
+ }
+
+ var img = document.querySelector('img[usemap="#' + map.name + '"]');
+ return !!img && isVisible(img);
+}
+/**
+ * Returns all focusable elements within a given context.
+ *
+ * @param {Element} context Element in which to search.
+ *
+ * @return {Element[]} Focusable elements.
+ */
+
+
+function find(context) {
+ var elements = context.querySelectorAll(SELECTOR);
+ return Array.from(elements).filter(function (element) {
+ if (!isVisible(element)) {
+ return false;
+ }
+
+ var nodeName = element.nodeName;
+
+ if ('AREA' === nodeName) {
+ return isValidFocusableArea(element);
+ }
+
+ return true;
+ });
+}
+//# sourceMappingURL=focusable.js.map
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__(2);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/dom/build-module/tabbable.js
+/**
+ * External dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+/**
+ * Returns the tab index of the given element. In contrast with the tabIndex
+ * property, this normalizes the default (0) to avoid browser inconsistencies,
+ * operating under the assumption that this function is only ever called with a
+ * focusable node.
+ *
+ * @see https://bugzilla.mozilla.org/show_bug.cgi?id=1190261
+ *
+ * @param {Element} element Element from which to retrieve.
+ *
+ * @return {?number} Tab index of element (default 0).
+ */
+
+function getTabIndex(element) {
+ var tabIndex = element.getAttribute('tabindex');
+ return tabIndex === null ? 0 : parseInt(tabIndex, 10);
+}
+/**
+ * Returns true if the specified element is tabbable, or false otherwise.
+ *
+ * @param {Element} element Element to test.
+ *
+ * @return {boolean} Whether element is tabbable.
+ */
+
+
+function isTabbableIndex(element) {
+ return getTabIndex(element) !== -1;
+}
+/**
+ * Returns a stateful reducer function which constructs a filtered array of
+ * tabbable elements, where at most one radio input is selected for a given
+ * name, giving priority to checked input, falling back to the first
+ * encountered.
+ *
+ * @return {Function} Radio group collapse reducer.
+ */
+
+function createStatefulCollapseRadioGroup() {
+ var CHOSEN_RADIO_BY_NAME = {};
+ return function collapseRadioGroup(result, element) {
+ var nodeName = element.nodeName,
+ type = element.type,
+ checked = element.checked,
+ name = element.name; // For all non-radio tabbables, construct to array by concatenating.
+
+ if (nodeName !== 'INPUT' || type !== 'radio' || !name) {
+ return result.concat(element);
+ }
+
+ var hasChosen = CHOSEN_RADIO_BY_NAME.hasOwnProperty(name); // Omit by skipping concatenation if the radio element is not chosen.
+
+ var isChosen = checked || !hasChosen;
+
+ if (!isChosen) {
+ return result;
+ } // At this point, if there had been a chosen element, the current
+ // element is checked and should take priority. Retroactively remove
+ // the element which had previously been considered the chosen one.
+
+
+ if (hasChosen) {
+ var hadChosenElement = CHOSEN_RADIO_BY_NAME[name];
+ result = Object(external_lodash_["without"])(result, hadChosenElement);
+ }
+
+ CHOSEN_RADIO_BY_NAME[name] = element;
+ return result.concat(element);
+ };
+}
+/**
+ * An array map callback, returning an object with the element value and its
+ * array index location as properties. This is used to emulate a proper stable
+ * sort where equal tabIndex should be left in order of their occurrence in the
+ * document.
+ *
+ * @param {Element} element Element.
+ * @param {number} index Array index of element.
+ *
+ * @return {Object} Mapped object with element, index.
+ */
+
+
+function mapElementToObjectTabbable(element, index) {
+ return {
+ element: element,
+ index: index
+ };
+}
+/**
+ * An array map callback, returning an element of the given mapped object's
+ * element value.
+ *
+ * @param {Object} object Mapped object with index.
+ *
+ * @return {Element} Mapped object element.
+ */
+
+
+function mapObjectTabbableToElement(object) {
+ return object.element;
+}
+/**
+ * A sort comparator function used in comparing two objects of mapped elements.
+ *
+ * @see mapElementToObjectTabbable
+ *
+ * @param {Object} a First object to compare.
+ * @param {Object} b Second object to compare.
+ *
+ * @return {number} Comparator result.
+ */
+
+
+function compareObjectTabbables(a, b) {
+ var aTabIndex = getTabIndex(a.element);
+ var bTabIndex = getTabIndex(b.element);
+
+ if (aTabIndex === bTabIndex) {
+ return a.index - b.index;
+ }
+
+ return aTabIndex - bTabIndex;
+}
+/**
+ * Givin focusable elements, filters out tabbable element.
+ *
+ * @param {Array} focusables Focusable elements to filter.
+ *
+ * @return {Array} Tabbable elements.
+ */
+
+
+function filterTabbable(focusables) {
+ return focusables.filter(isTabbableIndex).map(mapElementToObjectTabbable).sort(compareObjectTabbables).map(mapObjectTabbableToElement).reduce(createStatefulCollapseRadioGroup(), []);
+}
+
+function tabbable_find(context) {
+ return filterTabbable(find(context));
+}
+/**
+ * Given a focusable element, find the preceding tabbable element.
+ *
+ * @param {Element} element The focusable element before which to look. Defaults
+ * to the active element.
+ */
+
+function findPrevious() {
+ var element = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document.activeElement;
+ var focusables = find(document.body);
+ var index = focusables.indexOf(element); // Remove all focusables after and including `element`.
+
+ focusables.length = index;
+ return Object(external_lodash_["last"])(filterTabbable(focusables));
+}
+/**
+ * Given a focusable element, find the next tabbable element.
+ *
+ * @param {Element} element The focusable element after which to look. Defaults
+ * to the active element.
+ */
+
+function findNext() {
+ var element = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document.activeElement;
+ var focusables = find(document.body);
+ var index = focusables.indexOf(element); // Remove all focusables before and inside `element`.
+
+ var remaining = focusables.slice(index + 1).filter(function (node) {
+ return !element.contains(node);
+ });
+ return Object(external_lodash_["first"])(filterTabbable(remaining));
+}
+//# sourceMappingURL=tabbable.js.map
+// CONCATENATED MODULE: ./node_modules/@wordpress/dom/build-module/index.js
+/**
+ * Internal dependencies
+ */
+
+
+/**
+ * Object grouping `focusable` and `tabbable` utils
+ * under the keys with the same name.
+ */
+
+var build_module_focus = {
+ focusable: focusable_namespaceObject,
+ tabbable: tabbable_namespaceObject
+};
+
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 51:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wc"]["data"]; }());
+
+/***/ }),
+
+/***/ 52:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _unsupportedIterableToArray; });
+/* harmony import */ var _arrayLikeToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(37);
+
+function _unsupportedIterableToArray(o, minLen) {
+ if (!o) return;
+ if (typeof o === "string") return Object(_arrayLikeToArray__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(o, minLen);
+ var n = Object.prototype.toString.call(o).slice(8, -1);
+ if (n === "Object" && o.constructor) n = o.constructor.name;
+ if (n === "Map" || n === "Set") return Array.from(n);
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return Object(_arrayLikeToArray__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(o, minLen);
+}
+
+/***/ }),
+
+/***/ 53:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__);
+/**
+ * External dependencies
+ */
+
+/**
+ * Given a function mapping a component to an enhanced component and modifier
+ * name, returns the enhanced component augmented with a generated displayName.
+ *
+ * @param {Function} mapComponentToEnhancedComponent Function mapping component
+ * to enhanced component.
+ * @param {string} modifierName Seed name from which to
+ * generated display name.
+ *
+ * @return {WPComponent} Component class with generated display name assigned.
+ */
+
+function createHigherOrderComponent(mapComponentToEnhancedComponent, modifierName) {
+ return function (OriginalComponent) {
+ var EnhancedComponent = mapComponentToEnhancedComponent(OriginalComponent);
+ var _OriginalComponent$di = OriginalComponent.displayName,
+ displayName = _OriginalComponent$di === void 0 ? OriginalComponent.name || 'Component' : _OriginalComponent$di;
+ EnhancedComponent.displayName = "".concat(Object(lodash__WEBPACK_IMPORTED_MODULE_0__["upperFirst"])(Object(lodash__WEBPACK_IMPORTED_MODULE_0__["camelCase"])(modifierName)), "(").concat(displayName, ")");
+ return EnhancedComponent;
+ };
+}
+
+/* harmony default export */ __webpack_exports__["a"] = (createHigherOrderComponent);
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 54:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectWithoutPropertiesLoose; });
+function _objectWithoutPropertiesLoose(source, excluded) {
+ if (source == null) return {};
+ var target = {};
+ var sourceKeys = Object.keys(source);
+ var key, i;
+
+ for (i = 0; i < sourceKeys.length; i++) {
+ key = sourceKeys[i];
+ if (excluded.indexOf(key) >= 0) continue;
+ target[key] = source[key];
+ }
+
+ return target;
+}
+
+/***/ }),
+
+/***/ 55:
+/***/ (function(module, exports) {
+
+function _interopRequireDefault(obj) {
+ return obj && obj.__esModule ? obj : {
+ "default": obj
+ };
+}
+
+module.exports = _interopRequireDefault;
+
+/***/ }),
+
+/***/ 57:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wp"]["dataControls"]; }());
+
+/***/ }),
+
+/***/ 58:
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var stringify = __webpack_require__(111);
+var parse = __webpack_require__(112);
+var formats = __webpack_require__(86);
+
+module.exports = {
+ formats: formats,
+ parse: parse,
+ stringify: stringify
+};
+
+
+/***/ }),
+
+/***/ 59:
+/***/ (function(module, exports) {
+
+function _assertThisInitialized(self) {
+ if (self === void 0) {
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+ }
+
+ return self;
+}
+
+module.exports = _assertThisInitialized;
+
+/***/ }),
+
+/***/ 6:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _createClass; });
+function _defineProperties(target, props) {
+ for (var i = 0; i < props.length; i++) {
+ var descriptor = props[i];
+ descriptor.enumerable = descriptor.enumerable || false;
+ descriptor.configurable = true;
+ if ("value" in descriptor) descriptor.writable = true;
+ Object.defineProperty(target, descriptor.key, descriptor);
+ }
+}
+
+function _createClass(Constructor, protoProps, staticProps) {
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
+ if (staticProps) _defineProperties(Constructor, staticProps);
+ return Constructor;
+}
+
+/***/ }),
+
+/***/ 62:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export Circle */
+/* unused harmony export G */
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Path; });
+/* unused harmony export Polygon */
+/* unused harmony export Rect */
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return SVG; });
+/* harmony import */ var _babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__);
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+var Circle = function Circle(props) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])('circle', props);
+};
+var G = function G(props) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])('g', props);
+};
+var Path = function Path(props) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])('path', props);
+};
+var Polygon = function Polygon(props) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])('polygon', props);
+};
+var Rect = function Rect(props) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])('rect', props);
+};
+var SVG = function SVG(props) {
+ var appliedProps = Object(_babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({}, props, {
+ role: 'img',
+ 'aria-hidden': 'true',
+ focusable: 'false'
+ }); // Disable reason: We need to have a way to render HTML tag for web.
+ // eslint-disable-next-line react/forbid-elements
+
+
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])("svg", Object(lodash__WEBPACK_IMPORTED_MODULE_1__["omit"])(appliedProps, '__unstableActive'));
+};
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 63:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wc"]["components"]; }());
+
+/***/ }),
+
+/***/ 64:
+/***/ (function(module, exports) {
+
+var g;
+
+// This works in non-strict mode
+g = (function() {
+ return this;
+})();
+
+try {
+ // This works if eval is allowed (see CSP)
+ g = g || new Function("return this")();
+} catch (e) {
+ // This works if the window reference is available
+ if (typeof window === "object") g = window;
+}
+
+// g can still be undefined, but nothing to do about it...
+// We return undefined, instead of nothing here, so it's
+// easier to handle this case. if(!global) { ...}
+
+module.exports = g;
+
+
+/***/ }),
+
+/***/ 65:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return domReady; });
+/**
+ * @typedef {() => void} Callback
+ *
+ * TODO: Remove this typedef and inline `() => void` type.
+ *
+ * This typedef is used so that a descriptive type is provided in our
+ * automatically generated documentation.
+ *
+ * An in-line type `() => void` would be preferable, but the generated
+ * documentation is `null` in that case.
+ *
+ * @see https://github.com/WordPress/gutenberg/issues/18045
+ */
+
+/**
+ * Specify a function to execute when the DOM is fully loaded.
+ *
+ * @param {Callback} callback A function to execute after the DOM is ready.
+ *
+ * @example
+ * ```js
+ * import domReady from '@wordpress/dom-ready';
+ *
+ * domReady( function() {
+ * //do something after DOM loads.
+ * } );
+ * ```
+ *
+ * @return {void}
+ */
+function domReady(callback) {
+ if (document.readyState === 'complete' || // DOMContentLoaded + Images/Styles/etc loaded, so we call directly.
+ document.readyState === 'interactive' // DOMContentLoaded fires at this point, so we call directly.
+ ) {
+ return void callback();
+ } // DOMContentLoaded has not fired yet, delay callback until then.
+
+
+ document.addEventListener('DOMContentLoaded', callback);
+}
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 69:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wp"]["htmlEntities"]; }());
+
+/***/ }),
+
+/***/ 7:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _classCallCheck; });
+function _classCallCheck(instance, Constructor) {
+ if (!(instance instanceof Constructor)) {
+ throw new TypeError("Cannot call a class as a function");
+ }
+}
+
+/***/ }),
+
+/***/ 70:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _asyncToGenerator; });
+function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
+ try {
+ var info = gen[key](arg);
+ var value = info.value;
+ } catch (error) {
+ reject(error);
+ return;
+ }
+
+ if (info.done) {
+ resolve(value);
+ } else {
+ Promise.resolve(value).then(_next, _throw);
+ }
+}
+
+function _asyncToGenerator(fn) {
+ return function () {
+ var self = this,
+ args = arguments;
+ return new Promise(function (resolve, reject) {
+ var gen = fn.apply(self, args);
+
+ function _next(value) {
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
+ }
+
+ function _throw(err) {
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
+ }
+
+ _next(undefined);
+ });
+ };
+}
+
+/***/ }),
+
+/***/ 704:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// EXTERNAL MODULE: external {"this":["wp","data"]}
+var external_this_wp_data_ = __webpack_require__(19);
+
+// EXTERNAL MODULE: ./node_modules/@fresh-data/framework/es/index.js + 8 modules
+var es = __webpack_require__(170);
+
+// EXTERNAL MODULE: ./node_modules/symbol-observable/es/index.js
+var symbol_observable_es = __webpack_require__(259);
+
+// CONCATENATED MODULE: ./node_modules/redux/es/redux.js
+
+
+/**
+ * These are private action types reserved by Redux.
+ * For any unknown actions, you must return the current state.
+ * If the current state is undefined, you must return the initial state.
+ * Do not reference these action types directly in your code.
+ */
+var randomString = function randomString() {
+ return Math.random().toString(36).substring(7).split('').join('.');
+};
+
+var ActionTypes = {
+ INIT: "@@redux/INIT" + randomString(),
+ REPLACE: "@@redux/REPLACE" + randomString(),
+ PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {
+ return "@@redux/PROBE_UNKNOWN_ACTION" + randomString();
+ }
+};
+
+/**
+ * @param {any} obj The object to inspect.
+ * @returns {boolean} True if the argument appears to be a plain object.
+ */
+function isPlainObject(obj) {
+ if (typeof obj !== 'object' || obj === null) return false;
+ var proto = obj;
+
+ while (Object.getPrototypeOf(proto) !== null) {
+ proto = Object.getPrototypeOf(proto);
+ }
+
+ return Object.getPrototypeOf(obj) === proto;
+}
+
+/**
+ * Creates a Redux store that holds the state tree.
+ * The only way to change the data in the store is to call `dispatch()` on it.
+ *
+ * There should only be a single store in your app. To specify how different
+ * parts of the state tree respond to actions, you may combine several reducers
+ * into a single reducer function by using `combineReducers`.
+ *
+ * @param {Function} reducer A function that returns the next state tree, given
+ * the current state tree and the action to handle.
+ *
+ * @param {any} [preloadedState] The initial state. You may optionally specify it
+ * to hydrate the state from the server in universal apps, or to restore a
+ * previously serialized user session.
+ * If you use `combineReducers` to produce the root reducer function, this must be
+ * an object with the same shape as `combineReducers` keys.
+ *
+ * @param {Function} [enhancer] The store enhancer. You may optionally specify it
+ * to enhance the store with third-party capabilities such as middleware,
+ * time travel, persistence, etc. The only store enhancer that ships with Redux
+ * is `applyMiddleware()`.
+ *
+ * @returns {Store} A Redux store that lets you read the state, dispatch actions
+ * and subscribe to changes.
+ */
+
+function createStore(reducer, preloadedState, enhancer) {
+ var _ref2;
+
+ if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {
+ throw new Error('It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function.');
+ }
+
+ if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {
+ enhancer = preloadedState;
+ preloadedState = undefined;
+ }
+
+ if (typeof enhancer !== 'undefined') {
+ if (typeof enhancer !== 'function') {
+ throw new Error('Expected the enhancer to be a function.');
+ }
+
+ return enhancer(createStore)(reducer, preloadedState);
+ }
+
+ if (typeof reducer !== 'function') {
+ throw new Error('Expected the reducer to be a function.');
+ }
+
+ var currentReducer = reducer;
+ var currentState = preloadedState;
+ var currentListeners = [];
+ var nextListeners = currentListeners;
+ var isDispatching = false;
+ /**
+ * This makes a shallow copy of currentListeners so we can use
+ * nextListeners as a temporary list while dispatching.
+ *
+ * This prevents any bugs around consumers calling
+ * subscribe/unsubscribe in the middle of a dispatch.
+ */
+
+ function ensureCanMutateNextListeners() {
+ if (nextListeners === currentListeners) {
+ nextListeners = currentListeners.slice();
+ }
+ }
+ /**
+ * Reads the state tree managed by the store.
+ *
+ * @returns {any} The current state tree of your application.
+ */
+
+
+ function getState() {
+ if (isDispatching) {
+ throw new Error('You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');
+ }
+
+ return currentState;
+ }
+ /**
+ * Adds a change listener. It will be called any time an action is dispatched,
+ * and some part of the state tree may potentially have changed. You may then
+ * call `getState()` to read the current state tree inside the callback.
+ *
+ * You may call `dispatch()` from a change listener, with the following
+ * caveats:
+ *
+ * 1. The subscriptions are snapshotted just before every `dispatch()` call.
+ * If you subscribe or unsubscribe while the listeners are being invoked, this
+ * will not have any effect on the `dispatch()` that is currently in progress.
+ * However, the next `dispatch()` call, whether nested or not, will use a more
+ * recent snapshot of the subscription list.
+ *
+ * 2. The listener should not expect to see all state changes, as the state
+ * might have been updated multiple times during a nested `dispatch()` before
+ * the listener is called. It is, however, guaranteed that all subscribers
+ * registered before the `dispatch()` started will be called with the latest
+ * state by the time it exits.
+ *
+ * @param {Function} listener A callback to be invoked on every dispatch.
+ * @returns {Function} A function to remove this change listener.
+ */
+
+
+ function subscribe(listener) {
+ if (typeof listener !== 'function') {
+ throw new Error('Expected the listener to be a function.');
+ }
+
+ if (isDispatching) {
+ throw new Error('You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api-reference/store#subscribelistener for more details.');
+ }
+
+ var isSubscribed = true;
+ ensureCanMutateNextListeners();
+ nextListeners.push(listener);
+ return function unsubscribe() {
+ if (!isSubscribed) {
+ return;
+ }
+
+ if (isDispatching) {
+ throw new Error('You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api-reference/store#subscribelistener for more details.');
+ }
+
+ isSubscribed = false;
+ ensureCanMutateNextListeners();
+ var index = nextListeners.indexOf(listener);
+ nextListeners.splice(index, 1);
+ currentListeners = null;
+ };
+ }
+ /**
+ * Dispatches an action. It is the only way to trigger a state change.
+ *
+ * The `reducer` function, used to create the store, will be called with the
+ * current state tree and the given `action`. Its return value will
+ * be considered the **next** state of the tree, and the change listeners
+ * will be notified.
+ *
+ * The base implementation only supports plain object actions. If you want to
+ * dispatch a Promise, an Observable, a thunk, or something else, you need to
+ * wrap your store creating function into the corresponding middleware. For
+ * example, see the documentation for the `redux-thunk` package. Even the
+ * middleware will eventually dispatch plain object actions using this method.
+ *
+ * @param {Object} action A plain object representing “what changed”. It is
+ * a good idea to keep actions serializable so you can record and replay user
+ * sessions, or use the time travelling `redux-devtools`. An action must have
+ * a `type` property which may not be `undefined`. It is a good idea to use
+ * string constants for action types.
+ *
+ * @returns {Object} For convenience, the same action object you dispatched.
+ *
+ * Note that, if you use a custom middleware, it may wrap `dispatch()` to
+ * return something else (for example, a Promise you can await).
+ */
+
+
+ function dispatch(action) {
+ if (!isPlainObject(action)) {
+ throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');
+ }
+
+ if (typeof action.type === 'undefined') {
+ throw new Error('Actions may not have an undefined "type" property. ' + 'Have you misspelled a constant?');
+ }
+
+ if (isDispatching) {
+ throw new Error('Reducers may not dispatch actions.');
+ }
+
+ try {
+ isDispatching = true;
+ currentState = currentReducer(currentState, action);
+ } finally {
+ isDispatching = false;
+ }
+
+ var listeners = currentListeners = nextListeners;
+
+ for (var i = 0; i < listeners.length; i++) {
+ var listener = listeners[i];
+ listener();
+ }
+
+ return action;
+ }
+ /**
+ * Replaces the reducer currently used by the store to calculate the state.
+ *
+ * You might need this if your app implements code splitting and you want to
+ * load some of the reducers dynamically. You might also need this if you
+ * implement a hot reloading mechanism for Redux.
+ *
+ * @param {Function} nextReducer The reducer for the store to use instead.
+ * @returns {void}
+ */
+
+
+ function replaceReducer(nextReducer) {
+ if (typeof nextReducer !== 'function') {
+ throw new Error('Expected the nextReducer to be a function.');
+ }
+
+ currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT.
+ // Any reducers that existed in both the new and old rootReducer
+ // will receive the previous state. This effectively populates
+ // the new state tree with any relevant data from the old one.
+
+ dispatch({
+ type: ActionTypes.REPLACE
+ });
+ }
+ /**
+ * Interoperability point for observable/reactive libraries.
+ * @returns {observable} A minimal observable of state changes.
+ * For more information, see the observable proposal:
+ * https://github.com/tc39/proposal-observable
+ */
+
+
+ function observable() {
+ var _ref;
+
+ var outerSubscribe = subscribe;
+ return _ref = {
+ /**
+ * The minimal observable subscription method.
+ * @param {Object} observer Any object that can be used as an observer.
+ * The observer object should have a `next` method.
+ * @returns {subscription} An object with an `unsubscribe` method that can
+ * be used to unsubscribe the observable from the store, and prevent further
+ * emission of values from the observable.
+ */
+ subscribe: function subscribe(observer) {
+ if (typeof observer !== 'object' || observer === null) {
+ throw new TypeError('Expected the observer to be an object.');
+ }
+
+ function observeState() {
+ if (observer.next) {
+ observer.next(getState());
+ }
+ }
+
+ observeState();
+ var unsubscribe = outerSubscribe(observeState);
+ return {
+ unsubscribe: unsubscribe
+ };
+ }
+ }, _ref[symbol_observable_es["a" /* default */]] = function () {
+ return this;
+ }, _ref;
+ } // When a store is created, an "INIT" action is dispatched so that every
+ // reducer returns their initial state. This effectively populates
+ // the initial state tree.
+
+
+ dispatch({
+ type: ActionTypes.INIT
+ });
+ return _ref2 = {
+ dispatch: dispatch,
+ subscribe: subscribe,
+ getState: getState,
+ replaceReducer: replaceReducer
+ }, _ref2[symbol_observable_es["a" /* default */]] = observable, _ref2;
+}
+
+/**
+ * Prints a warning in the console if it exists.
+ *
+ * @param {String} message The warning message.
+ * @returns {void}
+ */
+function warning(message) {
+ /* eslint-disable no-console */
+ if (typeof console !== 'undefined' && typeof console.error === 'function') {
+ console.error(message);
+ }
+ /* eslint-enable no-console */
+
+
+ try {
+ // This error was thrown as a convenience so that if you enable
+ // "break on all exceptions" in your console,
+ // it would pause the execution at this line.
+ throw new Error(message);
+ } catch (e) {} // eslint-disable-line no-empty
+
+}
+
+function getUndefinedStateErrorMessage(key, action) {
+ var actionType = action && action.type;
+ var actionDescription = actionType && "action \"" + String(actionType) + "\"" || 'an action';
+ return "Given " + actionDescription + ", reducer \"" + key + "\" returned undefined. " + "To ignore an action, you must explicitly return the previous state. " + "If you want this reducer to hold no value, you can return null instead of undefined.";
+}
+
+function getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {
+ var reducerKeys = Object.keys(reducers);
+ var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';
+
+ if (reducerKeys.length === 0) {
+ return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';
+ }
+
+ if (!isPlainObject(inputState)) {
+ return "The " + argumentName + " has unexpected type of \"" + {}.toString.call(inputState).match(/\s([a-z|A-Z]+)/)[1] + "\". Expected argument to be an object with the following " + ("keys: \"" + reducerKeys.join('", "') + "\"");
+ }
+
+ var unexpectedKeys = Object.keys(inputState).filter(function (key) {
+ return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];
+ });
+ unexpectedKeys.forEach(function (key) {
+ unexpectedKeyCache[key] = true;
+ });
+ if (action && action.type === ActionTypes.REPLACE) return;
+
+ if (unexpectedKeys.length > 0) {
+ return "Unexpected " + (unexpectedKeys.length > 1 ? 'keys' : 'key') + " " + ("\"" + unexpectedKeys.join('", "') + "\" found in " + argumentName + ". ") + "Expected to find one of the known reducer keys instead: " + ("\"" + reducerKeys.join('", "') + "\". Unexpected keys will be ignored.");
+ }
+}
+
+function assertReducerShape(reducers) {
+ Object.keys(reducers).forEach(function (key) {
+ var reducer = reducers[key];
+ var initialState = reducer(undefined, {
+ type: ActionTypes.INIT
+ });
+
+ if (typeof initialState === 'undefined') {
+ throw new Error("Reducer \"" + key + "\" returned undefined during initialization. " + "If the state passed to the reducer is undefined, you must " + "explicitly return the initial state. The initial state may " + "not be undefined. If you don't want to set a value for this reducer, " + "you can use null instead of undefined.");
+ }
+
+ if (typeof reducer(undefined, {
+ type: ActionTypes.PROBE_UNKNOWN_ACTION()
+ }) === 'undefined') {
+ throw new Error("Reducer \"" + key + "\" returned undefined when probed with a random type. " + ("Don't try to handle " + ActionTypes.INIT + " or other actions in \"redux/*\" ") + "namespace. They are considered private. Instead, you must return the " + "current state for any unknown actions, unless it is undefined, " + "in which case you must return the initial state, regardless of the " + "action type. The initial state may not be undefined, but can be null.");
+ }
+ });
+}
+/**
+ * Turns an object whose values are different reducer functions, into a single
+ * reducer function. It will call every child reducer, and gather their results
+ * into a single state object, whose keys correspond to the keys of the passed
+ * reducer functions.
+ *
+ * @param {Object} reducers An object whose values correspond to different
+ * reducer functions that need to be combined into one. One handy way to obtain
+ * it is to use ES6 `import * as reducers` syntax. The reducers may never return
+ * undefined for any action. Instead, they should return their initial state
+ * if the state passed to them was undefined, and the current state for any
+ * unrecognized action.
+ *
+ * @returns {Function} A reducer function that invokes every reducer inside the
+ * passed object, and builds a state object with the same shape.
+ */
+
+
+function combineReducers(reducers) {
+ var reducerKeys = Object.keys(reducers);
+ var finalReducers = {};
+
+ for (var i = 0; i < reducerKeys.length; i++) {
+ var key = reducerKeys[i];
+
+ if (false) {}
+
+ if (typeof reducers[key] === 'function') {
+ finalReducers[key] = reducers[key];
+ }
+ }
+
+ var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same
+ // keys multiple times.
+
+ var unexpectedKeyCache;
+
+ if (false) {}
+
+ var shapeAssertionError;
+
+ try {
+ assertReducerShape(finalReducers);
+ } catch (e) {
+ shapeAssertionError = e;
+ }
+
+ return function combination(state, action) {
+ if (state === void 0) {
+ state = {};
+ }
+
+ if (shapeAssertionError) {
+ throw shapeAssertionError;
+ }
+
+ if (false) { var warningMessage; }
+
+ var hasChanged = false;
+ var nextState = {};
+
+ for (var _i = 0; _i < finalReducerKeys.length; _i++) {
+ var _key = finalReducerKeys[_i];
+ var reducer = finalReducers[_key];
+ var previousStateForKey = state[_key];
+ var nextStateForKey = reducer(previousStateForKey, action);
+
+ if (typeof nextStateForKey === 'undefined') {
+ var errorMessage = getUndefinedStateErrorMessage(_key, action);
+ throw new Error(errorMessage);
+ }
+
+ nextState[_key] = nextStateForKey;
+ hasChanged = hasChanged || nextStateForKey !== previousStateForKey;
+ }
+
+ hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;
+ return hasChanged ? nextState : state;
+ };
+}
+
+function bindActionCreator(actionCreator, dispatch) {
+ return function () {
+ return dispatch(actionCreator.apply(this, arguments));
+ };
+}
+/**
+ * Turns an object whose values are action creators, into an object with the
+ * same keys, but with every function wrapped into a `dispatch` call so they
+ * may be invoked directly. This is just a convenience method, as you can call
+ * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.
+ *
+ * For convenience, you can also pass an action creator as the first argument,
+ * and get a dispatch wrapped function in return.
+ *
+ * @param {Function|Object} actionCreators An object whose values are action
+ * creator functions. One handy way to obtain it is to use ES6 `import * as`
+ * syntax. You may also pass a single function.
+ *
+ * @param {Function} dispatch The `dispatch` function available on your Redux
+ * store.
+ *
+ * @returns {Function|Object} The object mimicking the original object, but with
+ * every action creator wrapped into the `dispatch` call. If you passed a
+ * function as `actionCreators`, the return value will also be a single
+ * function.
+ */
+
+
+function bindActionCreators(actionCreators, dispatch) {
+ if (typeof actionCreators === 'function') {
+ return bindActionCreator(actionCreators, dispatch);
+ }
+
+ if (typeof actionCreators !== 'object' || actionCreators === null) {
+ throw new Error("bindActionCreators expected an object or a function, instead received " + (actionCreators === null ? 'null' : typeof actionCreators) + ". " + "Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?");
+ }
+
+ var boundActionCreators = {};
+
+ for (var key in actionCreators) {
+ var actionCreator = actionCreators[key];
+
+ if (typeof actionCreator === 'function') {
+ boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);
+ }
+ }
+
+ return boundActionCreators;
+}
+
+function _defineProperty(obj, key, value) {
+ if (key in obj) {
+ Object.defineProperty(obj, key, {
+ value: value,
+ enumerable: true,
+ configurable: true,
+ writable: true
+ });
+ } else {
+ obj[key] = value;
+ }
+
+ return obj;
+}
+
+function ownKeys(object, enumerableOnly) {
+ var keys = Object.keys(object);
+
+ if (Object.getOwnPropertySymbols) {
+ keys.push.apply(keys, Object.getOwnPropertySymbols(object));
+ }
+
+ if (enumerableOnly) keys = keys.filter(function (sym) {
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
+ });
+ return keys;
+}
+
+function _objectSpread2(target) {
+ for (var i = 1; i < arguments.length; i++) {
+ var source = arguments[i] != null ? arguments[i] : {};
+
+ if (i % 2) {
+ ownKeys(source, true).forEach(function (key) {
+ _defineProperty(target, key, source[key]);
+ });
+ } else if (Object.getOwnPropertyDescriptors) {
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
+ } else {
+ ownKeys(source).forEach(function (key) {
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
+ });
+ }
+ }
+
+ return target;
+}
+
+/**
+ * Composes single-argument functions from right to left. The rightmost
+ * function can take multiple arguments as it provides the signature for
+ * the resulting composite function.
+ *
+ * @param {...Function} funcs The functions to compose.
+ * @returns {Function} A function obtained by composing the argument functions
+ * from right to left. For example, compose(f, g, h) is identical to doing
+ * (...args) => f(g(h(...args))).
+ */
+function compose() {
+ for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {
+ funcs[_key] = arguments[_key];
+ }
+
+ if (funcs.length === 0) {
+ return function (arg) {
+ return arg;
+ };
+ }
+
+ if (funcs.length === 1) {
+ return funcs[0];
+ }
+
+ return funcs.reduce(function (a, b) {
+ return function () {
+ return a(b.apply(void 0, arguments));
+ };
+ });
+}
+
+/**
+ * Creates a store enhancer that applies middleware to the dispatch method
+ * of the Redux store. This is handy for a variety of tasks, such as expressing
+ * asynchronous actions in a concise manner, or logging every action payload.
+ *
+ * See `redux-thunk` package as an example of the Redux middleware.
+ *
+ * Because middleware is potentially asynchronous, this should be the first
+ * store enhancer in the composition chain.
+ *
+ * Note that each middleware will be given the `dispatch` and `getState` functions
+ * as named arguments.
+ *
+ * @param {...Function} middlewares The middleware chain to be applied.
+ * @returns {Function} A store enhancer applying the middleware.
+ */
+
+function applyMiddleware() {
+ for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {
+ middlewares[_key] = arguments[_key];
+ }
+
+ return function (createStore) {
+ return function () {
+ var store = createStore.apply(void 0, arguments);
+
+ var _dispatch = function dispatch() {
+ throw new Error('Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.');
+ };
+
+ var middlewareAPI = {
+ getState: store.getState,
+ dispatch: function dispatch() {
+ return _dispatch.apply(void 0, arguments);
+ }
+ };
+ var chain = middlewares.map(function (middleware) {
+ return middleware(middlewareAPI);
+ });
+ _dispatch = compose.apply(void 0, chain)(store.dispatch);
+ return _objectSpread2({}, store, {
+ dispatch: _dispatch
+ });
+ };
+ };
+}
+
+/*
+ * This is a dummy function to check if the function name has been altered by minification.
+ * If the function has been minified and NODE_ENV !== 'production', warn the user.
+ */
+
+function isCrushed() {}
+
+if (false) {}
+
+
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js
+var defineProperty = __webpack_require__(15);
+var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
+
+// CONCATENATED MODULE: ./client/wc-api/wp-data-store/reducer.js
+
+
+function reducer_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { reducer_ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { reducer_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+var defaultState = {
+ resources: {}
+};
+/**
+ * Primary reducer for fresh-data apiclient data.
+ *
+ * @param {Object} state The base state for fresh-data.
+ * @param {Object} action Action object to be processed.
+ * @return {Object} The new state, or the previous state if this action doesn't belong to fresh-data.
+ */
+
+function reducer_reducer() {
+ var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultState;
+ var action = arguments.length > 1 ? arguments[1] : undefined;
+
+ switch (action.type) {
+ case 'FRESH_DATA_REQUESTED':
+ return reduceRequested(state, action);
+
+ case 'FRESH_DATA_RECEIVED':
+ return reduceReceived(state, action);
+
+ default:
+ return state;
+ }
+}
+function reduceRequested(state, action) {
+ var newResources = action.resourceNames.reduce(function (resources, name) {
+ resources[name] = {
+ lastRequested: action.time
+ };
+ return resources;
+ }, {});
+ return reduceResources(state, newResources);
+}
+function reduceReceived(state, action) {
+ var newResources = Object.keys(action.resources).reduce(function (resources, name) {
+ var resource = _objectSpread({}, action.resources[name]);
+
+ if (resource.data) {
+ resource.lastReceived = action.time;
+ }
+
+ if (resource.error) {
+ resource.lastError = action.time;
+ }
+
+ resources[name] = resource;
+ return resources;
+ }, {});
+ return reduceResources(state, newResources);
+}
+function reduceResources(state, newResources) {
+ var updatedResources = Object.keys(newResources).reduce(function (resources, resourceName) {
+ var resource = resources[resourceName];
+ var newResource = newResources[resourceName];
+ resources[resourceName] = _objectSpread({}, resource, {}, newResource);
+ return resources;
+ }, _objectSpread({}, state.resources));
+ return _objectSpread({}, state, {
+ resources: updatedResources
+ });
+}
+// CONCATENATED MODULE: ./client/wc-api/wp-data-store/create-api-client.js
+/**
+ * External dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+function create_api_client_createStore(name) {
+ var devTools = window.__REDUX_DEVTOOLS_EXTENSION__;
+ return createStore(reducer_reducer, devTools && devTools({
+ name: name,
+ instanceId: name
+ }));
+}
+
+function createDataHandlers(store) {
+ return {
+ dataRequested: function dataRequested(resourceNames) {
+ // This is a temporary fix until it can be resolved upstream in fresh-data.
+ // See: https://github.com/woocommerce/woocommerce-admin/pull/2387/files#r292355276
+ if (document.hidden) {
+ return;
+ }
+
+ store.dispatch({
+ type: 'FRESH_DATA_REQUESTED',
+ resourceNames: resourceNames,
+ time: new Date()
+ });
+ },
+ dataReceived: function dataReceived(resources) {
+ store.dispatch({
+ type: 'FRESH_DATA_RECEIVED',
+ resources: resources,
+ time: new Date()
+ });
+ }
+ };
+}
+
+function createApiClient(name, apiSpec) {
+ var store = create_api_client_createStore(name);
+ var dataHandlers = createDataHandlers(store);
+ var apiClient = new es["a" /* ApiClient */](apiSpec);
+ apiClient.setDataHandlers(dataHandlers);
+
+ var storeChanged = function storeChanged() {
+ apiClient.setState(store.getState());
+ };
+
+ store.subscribe(storeChanged);
+ return apiClient;
+}
+
+/* harmony default export */ var create_api_client = (createApiClient);
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/toConsumableArray.js
+var toConsumableArray = __webpack_require__(32);
+var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js
+var asyncToGenerator = __webpack_require__(46);
+var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
+
+// EXTERNAL MODULE: external {"this":["wp","i18n"]}
+var external_this_wp_i18n_ = __webpack_require__(3);
+
+// CONCATENATED MODULE: ./client/wc-api/utils.js
+function getResourceName(prefix, identifier) {
+ var identifierString = JSON.stringify(identifier, Object.keys(identifier).sort());
+ return "".concat(prefix, ":").concat(identifierString);
+}
+function getResourcePrefix(resourceName) {
+ return resourceName.substring(0, resourceName.indexOf(':'));
+}
+function isResourcePrefix(resourceName, prefix) {
+ var resourcePrefix = getResourcePrefix(resourceName);
+ return resourcePrefix === prefix;
+}
+function getResourceIdentifier(resourceName) {
+ var identifierString = resourceName.substring(resourceName.indexOf(':') + 1);
+ return JSON.parse(identifierString);
+}
+// CONCATENATED MODULE: ./client/wc-api/export/mutations.js
+
+
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var mutations_initiateReportExport = function initiateReportExport(operations) {
+ return /*#__PURE__*/function () {
+ var _ref = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee(reportType, reportTitle, reportArgs) {
+ var _dispatch, createNotice, resourceName, result, response;
+
+ return regeneratorRuntime.wrap(function _callee$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ _dispatch = Object(external_this_wp_data_["dispatch"])('core/notices'), createNotice = _dispatch.createNotice;
+ resourceName = getResourceName("report-export-".concat(reportType), reportArgs);
+ _context.next = 4;
+ return operations.update([resourceName], defineProperty_default()({}, resourceName, reportArgs));
+
+ case 4:
+ result = _context.sent;
+ response = result[0][resourceName];
+
+ if (response && response.success) {
+ createNotice('success', Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('Your %s Report will be emailed to you.', 'woocommerce-admin'), reportTitle));
+ }
+
+ if (response && response.error) {
+ createNotice('error', Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('There was a problem exporting your %s Report. Please try again.', 'woocommerce-admin'), reportTitle));
+ }
+
+ case 8:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, _callee);
+ }));
+
+ return function (_x, _x2, _x3) {
+ return _ref.apply(this, arguments);
+ };
+ }();
+};
+
+/* harmony default export */ var mutations = ({
+ initiateReportExport: mutations_initiateReportExport
+});
+// EXTERNAL MODULE: external {"this":["wp","apiFetch"]}
+var external_this_wp_apiFetch_ = __webpack_require__(20);
+var external_this_wp_apiFetch_default = /*#__PURE__*/__webpack_require__.n(external_this_wp_apiFetch_);
+
+// EXTERNAL MODULE: ./client/wc-api/constants.js
+var constants = __webpack_require__(24);
+
+// CONCATENATED MODULE: ./client/wc-api/export/operations.js
+
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+function operations_update(resourceNames, data) {
+ var fetch = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : external_this_wp_apiFetch_default.a;
+ return toConsumableArray_default()(initiateExport(resourceNames, data, fetch));
+}
+
+function initiateExport(resourceNames, data, fetch) {
+ var filteredNames = resourceNames.filter(function (name) {
+ return name.startsWith('report-export-');
+ });
+ return filteredNames.map( /*#__PURE__*/function () {
+ var _ref = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee(resourceName) {
+ var prefix, reportType, url, result;
+ return regeneratorRuntime.wrap(function _callee$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ prefix = getResourcePrefix(resourceName);
+ reportType = prefix.split('-').pop();
+ url = constants["c" /* NAMESPACE */] + '/reports/' + reportType + '/export';
+ _context.prev = 3;
+ _context.next = 6;
+ return fetch({
+ path: url,
+ method: 'POST',
+ data: {
+ report_args: data[resourceName],
+ email: true
+ }
+ });
+
+ case 6:
+ result = _context.sent;
+ return _context.abrupt("return", defineProperty_default()({}, resourceName, defineProperty_default()({}, result.status, result.message)));
+
+ case 10:
+ _context.prev = 10;
+ _context.t0 = _context["catch"](3);
+ return _context.abrupt("return", defineProperty_default()({}, resourceName, {
+ error: _context.t0
+ }));
+
+ case 13:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, _callee, null, [[3, 10]]);
+ }));
+
+ return function (_x) {
+ return _ref.apply(this, arguments);
+ };
+ }());
+}
+
+/* harmony default export */ var export_operations = ({
+ update: operations_update
+});
+// CONCATENATED MODULE: ./client/wc-api/export/index.js
+/**
+ * Internal dependencies
+ */
+
+
+/* harmony default export */ var wc_api_export = ({
+ mutations: mutations,
+ operations: export_operations
+});
+// CONCATENATED MODULE: ./client/wc-api/items/mutations.js
+
+
+
+function mutations_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function mutations_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { mutations_ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { mutations_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var mutations_updateProductStock = function updateProductStock(operations) {
+ return /*#__PURE__*/function () {
+ var _ref = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee(product, newStock) {
+ var _dispatch, createNotice, oldStockQuantity, resourceName, result, response;
+
+ return regeneratorRuntime.wrap(function _callee$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ _dispatch = Object(external_this_wp_data_["dispatch"])('core/notices'), createNotice = _dispatch.createNotice;
+ oldStockQuantity = product.stock_quantity;
+ resourceName = getResourceName('items-query-products-item', product.id); // Optimistically update product stock
+
+ operations.updateLocally([resourceName], defineProperty_default()({}, resourceName, mutations_objectSpread({}, product, {
+ stock_quantity: newStock
+ })));
+ _context.next = 6;
+ return operations.update([resourceName], defineProperty_default()({}, resourceName, {
+ id: product.id,
+ type: product.type,
+ parent_id: product.parent_id,
+ stock_quantity: newStock
+ }));
+
+ case 6:
+ result = _context.sent;
+ response = result[0][resourceName];
+
+ if (response && response.data) {
+ createNotice('success', Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('%s stock updated.', 'woocommerce-admin'), product.name));
+ }
+
+ if (response && response.error) {
+ createNotice('error', Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('%s stock could not be updated.', 'woocommerce-admin'), product.name)); // Revert local changes if the operation failed in the server
+
+ operations.updateLocally([resourceName], defineProperty_default()({}, resourceName, mutations_objectSpread({}, product, {
+ stock_quantity: oldStockQuantity
+ })));
+ }
+
+ case 10:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, _callee);
+ }));
+
+ return function (_x, _x2) {
+ return _ref.apply(this, arguments);
+ };
+ }();
+};
+
+/* harmony default export */ var items_mutations = ({
+ updateProductStock: mutations_updateProductStock
+});
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectWithoutProperties.js
+var objectWithoutProperties = __webpack_require__(121);
+var objectWithoutProperties_default = /*#__PURE__*/__webpack_require__.n(objectWithoutProperties);
+
+// EXTERNAL MODULE: external {"this":["wp","url"]}
+var external_this_wp_url_ = __webpack_require__(30);
+
+// CONCATENATED MODULE: ./client/wc-api/items/operations.js
+
+
+
+
+function operations_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function operations_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { operations_ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { operations_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var typeEndpointMap = {
+ 'items-query-categories': 'products/categories',
+ 'items-query-customers': 'customers',
+ 'items-query-coupons': 'coupons',
+ 'items-query-leaderboards': 'leaderboards',
+ 'items-query-orders': 'orders',
+ 'items-query-products': 'products',
+ 'items-query-taxes': 'taxes'
+};
+
+function operations_read(resourceNames) {
+ var fetch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : external_this_wp_apiFetch_default.a;
+ var filteredNames = resourceNames.filter(function (name) {
+ var prefix = getResourcePrefix(name);
+ return Boolean(typeEndpointMap[prefix]);
+ });
+ return filteredNames.map( /*#__PURE__*/function () {
+ var _ref = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee(resourceName) {
+ var prefix, endpoint, query, url, isUnboundedRequest, response, items, totalCount, ids, itemResources;
+ return regeneratorRuntime.wrap(function _callee$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ prefix = getResourcePrefix(resourceName);
+ endpoint = typeEndpointMap[prefix];
+ query = getResourceIdentifier(resourceName);
+ url = Object(external_this_wp_url_["addQueryArgs"])("".concat(constants["c" /* NAMESPACE */], "/").concat(endpoint), query);
+ isUnboundedRequest = query.per_page === -1;
+ _context.prev = 5;
+ _context.next = 8;
+ return fetch({
+ /* eslint-disable max-len */
+
+ /**
+ * A false parse flag allows a full response including headers which are useful
+ * to determine totalCount. However, this invalidates an unbounded request, ie
+ * `per_page: -1` by skipping middleware in apiFetch.
+ *
+ * See the Gutenberg code for more:
+ * https://github.com/WordPress/gutenberg/blob/dee3dcf49028717b4af3164e3096bfe747c41ed2/packages/api-fetch/src/middlewares/fetch-all-middleware.js#L39-L45
+ */
+
+ /* eslint-enable max-len */
+ parse: isUnboundedRequest,
+ path: url
+ });
+
+ case 8:
+ response = _context.sent;
+
+ if (!isUnboundedRequest) {
+ _context.next = 14;
+ break;
+ }
+
+ items = response;
+ totalCount = items.length;
+ _context.next = 18;
+ break;
+
+ case 14:
+ _context.next = 16;
+ return response.json();
+
+ case 16:
+ items = _context.sent;
+ totalCount = parseInt(response.headers.get('x-wp-total'), 10);
+
+ case 18:
+ ids = items.map(function (item) {
+ return item.id;
+ });
+ itemResources = items.reduce(function (resources, item) {
+ resources[getResourceName("".concat(prefix, "-item"), item.id)] = {
+ data: item
+ };
+ return resources;
+ }, {});
+ return _context.abrupt("return", operations_objectSpread(defineProperty_default()({}, resourceName, {
+ data: ids,
+ totalCount: totalCount
+ }), itemResources));
+
+ case 23:
+ _context.prev = 23;
+ _context.t0 = _context["catch"](5);
+ return _context.abrupt("return", defineProperty_default()({}, resourceName, {
+ error: _context.t0
+ }));
+
+ case 26:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, _callee, null, [[5, 23]]);
+ }));
+
+ return function (_x) {
+ return _ref.apply(this, arguments);
+ };
+ }());
+}
+
+function items_operations_update(resourceNames, data) {
+ var fetch = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : external_this_wp_apiFetch_default.a;
+ var updateableTypes = ['items-query-products-item'];
+ var filteredNames = resourceNames.filter(function (name) {
+ return updateableTypes.includes(getResourcePrefix(name));
+ });
+ return filteredNames.map( /*#__PURE__*/function () {
+ var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(resourceName) {
+ var _data$resourceName, id, parentId, type, itemData, url;
+
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
+ while (1) {
+ switch (_context2.prev = _context2.next) {
+ case 0:
+ _data$resourceName = data[resourceName], id = _data$resourceName.id, parentId = _data$resourceName.parent_id, type = _data$resourceName.type, itemData = objectWithoutProperties_default()(_data$resourceName, ["id", "parent_id", "type"]);
+ url = constants["c" /* NAMESPACE */];
+ _context2.t0 = type;
+ _context2.next = _context2.t0 === 'variation' ? 5 : _context2.t0 === 'variable' ? 7 : _context2.t0 === 'simple' ? 7 : 7;
+ break;
+
+ case 5:
+ url += "/products/".concat(parentId, "/variations/").concat(id);
+ return _context2.abrupt("break", 8);
+
+ case 7:
+ url += "/products/".concat(id);
+
+ case 8:
+ return _context2.abrupt("return", fetch({
+ path: url,
+ method: 'PUT',
+ data: itemData
+ }).then(function (item) {
+ return defineProperty_default()({}, resourceName, {
+ data: item
+ });
+ }).catch(function (error) {
+ return defineProperty_default()({}, resourceName, {
+ error: error
+ });
+ }));
+
+ case 9:
+ case "end":
+ return _context2.stop();
+ }
+ }
+ }, _callee2);
+ }));
+
+ return function (_x2) {
+ return _ref3.apply(this, arguments);
+ };
+ }());
+}
+
+function operations_updateLocally(resourceNames, data) {
+ var updateableTypes = ['items-query-products-item'];
+ var filteredNames = resourceNames.filter(function (name) {
+ return updateableTypes.includes(getResourcePrefix(name));
+ });
+ var lowStockResourceName = getResourceName('items-query-products', {
+ page: 1,
+ per_page: 1,
+ low_in_stock: true,
+ status: 'publish'
+ });
+ return filteredNames.map( /*#__PURE__*/function () {
+ var _ref6 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(resourceName) {
+ var _ref7;
+
+ return regeneratorRuntime.wrap(function _callee3$(_context3) {
+ while (1) {
+ switch (_context3.prev = _context3.next) {
+ case 0:
+ return _context3.abrupt("return", (_ref7 = {}, defineProperty_default()(_ref7, resourceName, {
+ data: data[resourceName]
+ }), defineProperty_default()(_ref7, lowStockResourceName, {
+ lastReceived: null
+ }), _ref7));
+
+ case 1:
+ case "end":
+ return _context3.stop();
+ }
+ }
+ }, _callee3);
+ }));
+
+ return function (_x3) {
+ return _ref6.apply(this, arguments);
+ };
+ }());
+}
+
+/* harmony default export */ var items_operations = ({
+ read: operations_read,
+ update: items_operations_update,
+ updateLocally: operations_updateLocally
+});
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__(2);
+
+// CONCATENATED MODULE: ./client/wc-api/items/selectors.js
+/**
+ * External dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var selectors_getItems = function getItems(getResource, requireResource) {
+ return function (type) {
+ var query = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
+ var requirement = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : constants["a" /* DEFAULT_REQUIREMENT */];
+ var resourceName = getResourceName("items-query-".concat(type), query);
+ var ids = requireResource(requirement, resourceName).data || [];
+ var items = new Map();
+ ids.forEach(function (id) {
+ items.set(id, getResource(getResourceName("items-query-".concat(type, "-item"), id)).data);
+ });
+ return items;
+ };
+};
+
+var selectors_getItemsTotalCount = function getItemsTotalCount(getResource) {
+ return function (type) {
+ var query = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
+ var resourceName = getResourceName("items-query-".concat(type), query);
+ return getResource(resourceName).totalCount || 0;
+ };
+};
+
+var selectors_getItemsError = function getItemsError(getResource) {
+ return function (type) {
+ var query = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
+ var resourceName = getResourceName("items-query-".concat(type), query);
+ return getResource(resourceName).error;
+ };
+};
+
+var selectors_isGetItemsRequesting = function isGetItemsRequesting(getResource) {
+ return function (type) {
+ var query = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
+ var resourceName = getResourceName("items-query-".concat(type), query);
+
+ var _getResource = getResource(resourceName),
+ lastRequested = _getResource.lastRequested,
+ lastReceived = _getResource.lastReceived;
+
+ if (Object(external_lodash_["isNil"])(lastRequested) || Object(external_lodash_["isNil"])(lastReceived)) {
+ return true;
+ }
+
+ return lastRequested > lastReceived;
+ };
+};
+
+/* harmony default export */ var selectors = ({
+ getItems: selectors_getItems,
+ getItemsError: selectors_getItemsError,
+ getItemsTotalCount: selectors_getItemsTotalCount,
+ isGetItemsRequesting: selectors_isGetItemsRequesting
+});
+// CONCATENATED MODULE: ./client/wc-api/items/index.js
+/**
+ * Internal dependencies
+ */
+
+
+
+/* harmony default export */ var wc_api_items = ({
+ mutations: items_mutations,
+ operations: items_operations,
+ selectors: selectors
+});
+// CONCATENATED MODULE: ./client/wc-api/imports/operations.js
+
+
+
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var operations_typeEndpointMap = {
+ 'import-status': 'reports/import/status',
+ 'import-totals': 'reports/import/totals'
+};
+
+function imports_operations_read(resourceNames) {
+ var fetch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : external_this_wp_apiFetch_default.a;
+ var filteredNames = resourceNames.filter(function (name) {
+ var prefix = getResourcePrefix(name);
+ return Boolean(operations_typeEndpointMap[prefix]);
+ });
+ return filteredNames.map( /*#__PURE__*/function () {
+ var _ref = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee(resourceName) {
+ var prefix, endpoint, query, fetchArgs, response, data;
+ return regeneratorRuntime.wrap(function _callee$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ prefix = getResourcePrefix(resourceName);
+ endpoint = operations_typeEndpointMap[prefix];
+ query = getResourceIdentifier(resourceName);
+ fetchArgs = {
+ parse: false,
+ path: Object(external_this_wp_url_["addQueryArgs"])("".concat(constants["c" /* NAMESPACE */], "/").concat(endpoint), Object(external_lodash_["omit"])(query, ['timestamp']))
+ };
+ _context.prev = 4;
+ _context.next = 7;
+ return fetch(fetchArgs);
+
+ case 7:
+ response = _context.sent;
+ _context.next = 10;
+ return response.json();
+
+ case 10:
+ data = _context.sent;
+ return _context.abrupt("return", defineProperty_default()({}, resourceName, {
+ data: data
+ }));
+
+ case 14:
+ _context.prev = 14;
+ _context.t0 = _context["catch"](4);
+ return _context.abrupt("return", defineProperty_default()({}, resourceName, {
+ error: _context.t0
+ }));
+
+ case 17:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, _callee, null, [[4, 14]]);
+ }));
+
+ return function (_x) {
+ return _ref.apply(this, arguments);
+ };
+ }());
+}
+
+/* harmony default export */ var imports_operations = ({
+ read: imports_operations_read
+});
+// CONCATENATED MODULE: ./client/wc-api/imports/selectors.js
+
+
+function selectors_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function selectors_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { selectors_ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { selectors_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+/**
+ * External dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var selectors_getImportStatus = function getImportStatus(getResource, requireResource) {
+ return function (timestamp) {
+ var requirement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : constants["a" /* DEFAULT_REQUIREMENT */];
+ var resourceName = getResourceName('import-status', timestamp);
+ return requireResource(requirement, resourceName).data || {};
+ };
+};
+
+var selectors_isGetImportStatusRequesting = function isGetImportStatusRequesting(getResource) {
+ return function (timestamp) {
+ var resourceName = getResourceName('import-status', timestamp);
+
+ var _getResource = getResource(resourceName),
+ lastRequested = _getResource.lastRequested,
+ lastReceived = _getResource.lastReceived;
+
+ if (Object(external_lodash_["isNil"])(lastRequested) || Object(external_lodash_["isNil"])(lastReceived)) {
+ return true;
+ }
+
+ return lastRequested > lastReceived;
+ };
+};
+
+var selectors_getImportTotals = function getImportTotals(getResource, requireResource) {
+ return function () {
+ var query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
+ var timestamp = arguments.length > 1 ? arguments[1] : undefined;
+ var requirement = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : constants["a" /* DEFAULT_REQUIREMENT */];
+
+ var identifier = selectors_objectSpread({}, query, {
+ timestamp: timestamp
+ });
+
+ var resourceName = getResourceName('import-totals', identifier);
+ return requireResource(requirement, resourceName).data || {};
+ };
+};
+
+/* harmony default export */ var imports_selectors = ({
+ getImportStatus: selectors_getImportStatus,
+ isGetImportStatusRequesting: selectors_isGetImportStatusRequesting,
+ getImportTotals: selectors_getImportTotals
+});
+// CONCATENATED MODULE: ./client/wc-api/imports/index.js
+/**
+ * Internal dependencies
+ */
+
+
+/* harmony default export */ var imports = ({
+ operations: imports_operations,
+ selectors: imports_selectors
+});
+// CONCATENATED MODULE: ./client/wc-api/notes/operations.js
+
+
+
+
+
+function notes_operations_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function notes_operations_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { notes_operations_ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { notes_operations_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+function notes_operations_read(resourceNames) {
+ var fetch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : external_this_wp_apiFetch_default.a;
+ return [].concat(toConsumableArray_default()(readNotes(resourceNames, fetch)), toConsumableArray_default()(readNoteQueries(resourceNames, fetch)));
+}
+
+function notes_operations_update(resourceNames, data) {
+ var fetch = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : external_this_wp_apiFetch_default.a;
+ return [].concat(toConsumableArray_default()(operations_updateNote(resourceNames, data, fetch)), toConsumableArray_default()(triggerAction(resourceNames, data, fetch)));
+}
+
+function readNoteQueries(resourceNames, fetch) {
+ var filteredNames = resourceNames.filter(function (name) {
+ return isResourcePrefix(name, 'note-query');
+ });
+ return filteredNames.map( /*#__PURE__*/function () {
+ var _ref = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee(resourceName) {
+ var query, url, response, notes, totalCount, ids, noteResources;
+ return regeneratorRuntime.wrap(function _callee$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ query = getResourceIdentifier(resourceName);
+ url = Object(external_this_wp_url_["addQueryArgs"])("".concat(constants["c" /* NAMESPACE */], "/admin/notes"), query);
+ _context.prev = 2;
+ _context.next = 5;
+ return fetch({
+ parse: false,
+ path: url
+ });
+
+ case 5:
+ response = _context.sent;
+ _context.next = 8;
+ return response.json();
+
+ case 8:
+ notes = _context.sent;
+ totalCount = parseInt(response.headers.get('x-wp-total'), 10);
+ ids = notes.map(function (note) {
+ return note.id;
+ });
+ noteResources = notes.reduce(function (resources, note) {
+ resources[getResourceName('note', note.id)] = {
+ data: note
+ };
+ return resources;
+ }, {});
+ return _context.abrupt("return", notes_operations_objectSpread(defineProperty_default()({}, resourceName, {
+ data: ids,
+ totalCount: totalCount
+ }), noteResources));
+
+ case 15:
+ _context.prev = 15;
+ _context.t0 = _context["catch"](2);
+ return _context.abrupt("return", defineProperty_default()({}, resourceName, {
+ error: _context.t0
+ }));
+
+ case 18:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, _callee, null, [[2, 15]]);
+ }));
+
+ return function (_x) {
+ return _ref.apply(this, arguments);
+ };
+ }());
+}
+
+function readNotes(resourceNames, fetch) {
+ var filteredNames = resourceNames.filter(function (name) {
+ return isResourcePrefix(name, 'note');
+ });
+ return filteredNames.map(function (resourceName) {
+ return readNote(resourceName, fetch);
+ });
+}
+
+function readNote(resourceName, fetch) {
+ var id = getResourceIdentifier(resourceName);
+ var url = "".concat(constants["c" /* NAMESPACE */], "/admin/notes/").concat(id);
+ return fetch({
+ path: url
+ }).then(function (note) {
+ return defineProperty_default()({}, resourceName, {
+ data: note
+ });
+ }).catch(function (error) {
+ return defineProperty_default()({}, resourceName, {
+ error: error
+ });
+ });
+}
+
+function operations_updateNote(resourceNames, data, fetch) {
+ var resourceName = 'note';
+
+ if (resourceNames.includes(resourceName)) {
+ var _data$resourceName = data[resourceName],
+ noteId = _data$resourceName.noteId,
+ noteFields = objectWithoutProperties_default()(_data$resourceName, ["noteId"]);
+
+ var url = "".concat(constants["c" /* NAMESPACE */], "/admin/notes/").concat(noteId);
+ return [fetch({
+ path: url,
+ method: 'PUT',
+ data: noteFields
+ }).then(function (note) {
+ return defineProperty_default()({}, resourceName + ':' + noteId, {
+ data: note
+ });
+ }).catch(function (error) {
+ return defineProperty_default()({}, resourceName + ':' + noteId, {
+ error: error
+ });
+ })];
+ }
+
+ return [];
+}
+
+function triggerAction(resourceNames, data, fetch) {
+ var resourceName = 'note-action';
+
+ if (resourceNames.includes(resourceName)) {
+ var _data$resourceName2 = data[resourceName],
+ noteId = _data$resourceName2.noteId,
+ actionId = _data$resourceName2.actionId;
+ var url = "".concat(constants["c" /* NAMESPACE */], "/admin/notes/").concat(noteId, "/action/").concat(actionId);
+ return [fetch({
+ path: url,
+ method: 'POST'
+ }).then(function (note) {
+ return defineProperty_default()({}, 'note:' + noteId, {
+ data: note
+ });
+ }).catch(function (error) {
+ return defineProperty_default()({}, 'note:' + noteId, {
+ error: error
+ });
+ })];
+ }
+
+ return [];
+}
+
+/* harmony default export */ var notes_operations = ({
+ read: notes_operations_read,
+ update: notes_operations_update,
+ triggerAction: triggerAction
+});
+// CONCATENATED MODULE: ./client/wc-api/notes/selectors.js
+/**
+ * External dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var selectors_getNotes = function getNotes(getResource, requireResource) {
+ return function () {
+ var query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
+ var requirement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : constants["a" /* DEFAULT_REQUIREMENT */];
+ var resourceName = getResourceName('note-query', query);
+ var ids = requireResource(requirement, resourceName).data || [];
+ var notes = ids.map(function (id) {
+ return getResource(getResourceName('note', id)).data || {};
+ });
+ return notes;
+ };
+};
+
+var selectors_getNotesError = function getNotesError(getResource) {
+ return function () {
+ var query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
+ var resourceName = getResourceName('note-query', query);
+ return getResource(resourceName).error;
+ };
+};
+
+var selectors_isGetNotesRequesting = function isGetNotesRequesting(getResource) {
+ return function () {
+ var query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
+ var resourceName = getResourceName('note-query', query);
+
+ var _getResource = getResource(resourceName),
+ lastRequested = _getResource.lastRequested,
+ lastReceived = _getResource.lastReceived;
+
+ if (Object(external_lodash_["isNil"])(lastRequested) || Object(external_lodash_["isNil"])(lastReceived)) {
+ return true;
+ }
+
+ return lastRequested > lastReceived;
+ };
+};
+
+/* harmony default export */ var notes_selectors = ({
+ getNotes: selectors_getNotes,
+ getNotesError: selectors_getNotesError,
+ isGetNotesRequesting: selectors_isGetNotesRequesting
+});
+// CONCATENATED MODULE: ./client/wc-api/notes/mutations.js
+
+
+function notes_mutations_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function notes_mutations_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { notes_mutations_ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { notes_mutations_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+var mutations_updateNote = function updateNote(operations) {
+ return function (noteId, noteFields) {
+ var resourceKey = 'note';
+ operations.update([resourceKey], defineProperty_default()({}, resourceKey, notes_mutations_objectSpread({
+ noteId: noteId
+ }, noteFields)));
+ };
+};
+
+var mutations_triggerNoteAction = function triggerNoteAction(operations) {
+ return function (noteId, actionId) {
+ var resourceKey = 'note-action';
+ operations.update([resourceKey], defineProperty_default()({}, resourceKey, {
+ noteId: noteId,
+ actionId: actionId
+ }));
+ };
+};
+
+/* harmony default export */ var notes_mutations = ({
+ updateNote: mutations_updateNote,
+ triggerNoteAction: mutations_triggerNoteAction
+});
+// CONCATENATED MODULE: ./client/wc-api/notes/index.js
+/**
+ * Internal dependencies
+ */
+
+
+
+/* harmony default export */ var wc_api_notes = ({
+ operations: notes_operations,
+ selectors: notes_selectors,
+ mutations: notes_mutations
+});
+// CONCATENATED MODULE: ./client/wc-api/onboarding/operations.js
+
+
+
+function onboarding_operations_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function onboarding_operations_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { onboarding_operations_ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { onboarding_operations_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+/**
+ * External dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+function onboarding_operations_read(resourceNames) {
+ var fetch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : external_this_wp_apiFetch_default.a;
+ return toConsumableArray_default()(readProfileItems(resourceNames, fetch));
+}
+
+function onboarding_operations_update(resourceNames, data) {
+ var fetch = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : external_this_wp_apiFetch_default.a;
+ return toConsumableArray_default()(operations_updateProfileItems(resourceNames, data, fetch));
+}
+
+function readProfileItems(resourceNames, fetch) {
+ var resourceName = 'onboarding-profile';
+
+ if (resourceNames.includes(resourceName)) {
+ var url = constants["f" /* WC_ADMIN_NAMESPACE */] + '/onboarding/profile';
+ return [fetch({
+ path: url
+ }).then(profileItemsToResources).catch(function (error) {
+ return defineProperty_default()({}, resourceName, {
+ error: String(error.message)
+ });
+ })];
+ }
+
+ return [];
+}
+
+function operations_updateProfileItems(resourceNames, data, fetch) {
+ var resourceName = 'onboarding-profile';
+
+ if (resourceNames.includes(resourceName)) {
+ var url = constants["f" /* WC_ADMIN_NAMESPACE */] + '/onboarding/profile';
+ return [fetch({
+ path: url,
+ method: 'POST',
+ data: data[resourceName]
+ }).then(profileItemToResource.bind(null, data[resourceName])).catch(function (error) {
+ return defineProperty_default()({}, resourceName, {
+ error: error
+ });
+ })];
+ }
+
+ return [];
+}
+
+function profileItemsToResources(items) {
+ var resourceName = 'onboarding-profile';
+ var itemKeys = Object.keys(items);
+ var resources = {};
+ itemKeys.forEach(function (key) {
+ var item = items[key];
+ resources[getResourceName(resourceName, key)] = {
+ data: item
+ };
+ });
+ return onboarding_operations_objectSpread(defineProperty_default()({}, resourceName, {
+ data: itemKeys
+ }), resources);
+}
+
+function profileItemToResource(items) {
+ var resourceName = 'onboarding-profile';
+ var resources = {};
+ Object.keys(items).forEach(function (key) {
+ var item = items[key];
+ resources[getResourceName(resourceName, key)] = {
+ data: item
+ };
+ });
+ return onboarding_operations_objectSpread(defineProperty_default()({}, resourceName, {
+ lastReceived: Date.now()
+ }), resources);
+}
+
+/* harmony default export */ var onboarding_operations = ({
+ read: onboarding_operations_read,
+ update: onboarding_operations_update
+});
+// EXTERNAL MODULE: ./client/settings/index.js
+var settings = __webpack_require__(26);
+
+// CONCATENATED MODULE: ./client/wc-api/onboarding/selectors.js
+/**
+ * External dependencies
+ */
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var selectors_getProfileItems = function getProfileItems(getResource, requireResource) {
+ return function () {
+ var requirement = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : constants["a" /* DEFAULT_REQUIREMENT */];
+ var resourceName = 'onboarding-profile';
+ var ids = requireResource(requirement, resourceName).data || [];
+
+ var _getSetting = Object(settings["g" /* getSetting */])('onboarding', {}),
+ profile = _getSetting.profile;
+
+ if (!ids.length) {
+ var data = {};
+ Object.keys(profile).forEach(function (id) {
+ data[id] = getResource(getResourceName(resourceName, id)).data || profile[id];
+ });
+ return data;
+ }
+
+ var items = {};
+ ids.forEach(function (id) {
+ items[id] = getResource(getResourceName(resourceName, id)).data;
+ });
+ return items;
+ };
+};
+
+var getProfileItemsError = function getProfileItemsError(getResource) {
+ return function () {
+ return getResource('onboarding-profile').error;
+ };
+};
+
+var selectors_isGetProfileItemsRequesting = function isGetProfileItemsRequesting(getResource) {
+ return function () {
+ var _getResource = getResource('onboarding-profile'),
+ lastReceived = _getResource.lastReceived,
+ lastRequested = _getResource.lastRequested;
+
+ if (Object(external_lodash_["isNil"])(lastRequested) || Object(external_lodash_["isNil"])(lastReceived)) {
+ return true;
+ }
+
+ return lastRequested > lastReceived;
+ };
+};
+
+/* harmony default export */ var onboarding_selectors = ({
+ getProfileItems: selectors_getProfileItems,
+ getProfileItemsError: getProfileItemsError,
+ isGetProfileItemsRequesting: selectors_isGetProfileItemsRequesting
+});
+// CONCATENATED MODULE: ./client/wc-api/onboarding/mutations.js
+
+
+var mutations_updateProfileItems = function updateProfileItems(operations) {
+ return function (fields) {
+ var resourceKey = 'onboarding-profile';
+ operations.update([resourceKey], defineProperty_default()({}, resourceKey, fields));
+ };
+};
+
+/* harmony default export */ var onboarding_mutations = ({
+ updateProfileItems: mutations_updateProfileItems
+});
+// CONCATENATED MODULE: ./client/wc-api/onboarding/index.js
+/**
+ * Internal dependencies
+ */
+
+
+
+/* harmony default export */ var onboarding = ({
+ operations: onboarding_operations,
+ selectors: onboarding_selectors,
+ mutations: onboarding_mutations
+});
+// CONCATENATED MODULE: ./client/wc-api/options/operations.js
+
+
+
+
+function options_operations_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function options_operations_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { options_operations_ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { options_operations_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+/**
+ * External dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+function options_operations_read(resourceNames) {
+ var fetch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : external_this_wp_apiFetch_default.a;
+ return toConsumableArray_default()(readOptions(resourceNames, fetch));
+}
+
+function options_operations_update(resourceNames, data) {
+ var fetch = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : external_this_wp_apiFetch_default.a;
+ return toConsumableArray_default()(operations_updateOptions(resourceNames, data, fetch));
+}
+
+function readOptions(resourceNames, fetch) {
+ var filteredNames = resourceNames.filter(function (name) {
+ return name.startsWith('options');
+ });
+ return filteredNames.map( /*#__PURE__*/function () {
+ var _ref = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee(resourceName) {
+ var optionNames, url;
+ return regeneratorRuntime.wrap(function _callee$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ optionNames = getResourceIdentifier(resourceName);
+ url = constants["f" /* WC_ADMIN_NAMESPACE */] + '/options?options=' + optionNames.join(',');
+ return _context.abrupt("return", fetch({
+ path: url
+ }).then(optionsToResource).catch(function (error) {
+ return defineProperty_default()({}, resourceName, {
+ error: String(error.message)
+ });
+ }));
+
+ case 3:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, _callee);
+ }));
+
+ return function (_x) {
+ return _ref.apply(this, arguments);
+ };
+ }());
+}
+
+function operations_updateOptions(resourceNames, data, fetch) {
+ var url = constants["f" /* WC_ADMIN_NAMESPACE */] + '/options';
+ var filteredNames = resourceNames.filter(function (name) {
+ return name.startsWith('options-update');
+ });
+ return filteredNames.map( /*#__PURE__*/function () {
+ var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(resourceName) {
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
+ while (1) {
+ switch (_context2.prev = _context2.next) {
+ case 0:
+ return _context2.abrupt("return", fetch({
+ path: url,
+ method: 'POST',
+ data: data[resourceName]
+ }).then(function () {
+ return optionsToResource(data[resourceName], true);
+ }).catch(function (error) {
+ return defineProperty_default()({}, resourceName, {
+ data: {},
+ error: error
+ });
+ }));
+
+ case 1:
+ case "end":
+ return _context2.stop();
+ }
+ }
+ }, _callee2);
+ }));
+
+ return function (_x2) {
+ return _ref3.apply(this, arguments);
+ };
+ }());
+}
+
+function optionsToResource(options) {
+ var updateResource = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
+ var optionNames = Object.keys(options);
+ var resourceName = getResourceName(updateResource ? 'options-update' : 'options', optionNames);
+ var resources = {};
+ optionNames.forEach(function (optionName) {
+ return resources[getResourceName('options', optionName)] = {
+ data: options[optionName]
+ };
+ });
+ return options_operations_objectSpread(defineProperty_default()({}, resourceName, {
+ data: optionNames
+ }), resources);
+}
+
+/* harmony default export */ var options_operations = ({
+ read: options_operations_read,
+ update: options_operations_update
+});
+// CONCATENATED MODULE: ./client/wc-api/options/selectors.js
+/**
+ * External dependencies
+ */
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var selectors_getOptions = function getOptions(getResource, requireResource) {
+ return function (optionNames) {
+ var requirement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : constants["a" /* DEFAULT_REQUIREMENT */];
+ var resourceName = getResourceName('options', optionNames);
+ var options = {};
+ var names = requireResource(requirement, resourceName).data || optionNames;
+ names.forEach(function (name) {
+ var data = Object(settings["g" /* getSetting */])('preloadOptions', {}, function (po) {
+ return getResource(getResourceName('options', name)).data || po[name];
+ });
+
+ if (data) {
+ options[name] = data;
+ }
+ });
+ return options;
+ };
+};
+
+var selectors_getOptionsError = function getOptionsError(getResource) {
+ return function (optionNames) {
+ return getResource(getResourceName('options', optionNames)).error;
+ };
+};
+
+var selectors_getUpdateOptionsError = function getUpdateOptionsError(getResource) {
+ return function (optionNames) {
+ return getResource(getResourceName('options-update', optionNames)).error;
+ };
+};
+
+var selectors_isGetOptionsRequesting = function isGetOptionsRequesting(getResource) {
+ return function (optionNames) {
+ var _getResource = getResource(getResourceName('options', optionNames)),
+ lastReceived = _getResource.lastReceived,
+ lastRequested = _getResource.lastRequested;
+
+ if (!Object(external_lodash_["isNil"])(lastRequested) && Object(external_lodash_["isNil"])(lastReceived)) {
+ return true;
+ }
+
+ return lastRequested > lastReceived;
+ };
+};
+
+var selectors_isUpdateOptionsRequesting = function isUpdateOptionsRequesting(getResource) {
+ return function (optionNames) {
+ var _getResource2 = getResource(getResourceName('options-update', optionNames)),
+ lastReceived = _getResource2.lastReceived,
+ lastRequested = _getResource2.lastRequested;
+
+ if (!Object(external_lodash_["isNil"])(lastRequested) && Object(external_lodash_["isNil"])(lastReceived)) {
+ return true;
+ }
+
+ return lastRequested > lastReceived;
+ };
+};
+
+/* harmony default export */ var options_selectors = ({
+ getOptions: selectors_getOptions,
+ getOptionsError: selectors_getOptionsError,
+ getUpdateOptionsError: selectors_getUpdateOptionsError,
+ isGetOptionsRequesting: selectors_isGetOptionsRequesting,
+ isUpdateOptionsRequesting: selectors_isUpdateOptionsRequesting
+});
+// CONCATENATED MODULE: ./client/wc-api/options/mutations.js
+
+
+/**
+ * Internal dependencies
+ */
+
+
+var mutations_updateOptions = function updateOptions(operations) {
+ return function (options) {
+ var resourceName = getResourceName('options-update', Object.keys(options));
+ operations.update([resourceName], defineProperty_default()({}, resourceName, options));
+ };
+};
+
+/* harmony default export */ var options_mutations = ({
+ updateOptions: mutations_updateOptions
+});
+// CONCATENATED MODULE: ./client/wc-api/options/index.js
+/**
+ * Internal dependencies
+ */
+
+
+
+/* harmony default export */ var wc_api_options = ({
+ operations: options_operations,
+ selectors: options_selectors,
+ mutations: options_mutations
+});
+// CONCATENATED MODULE: ./client/wc-api/reports/items/operations.js
+
+
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var items_operations_typeEndpointMap = {
+ 'report-items-query-orders': 'orders',
+ 'report-items-query-revenue': 'revenue',
+ 'report-items-query-products': 'products',
+ 'report-items-query-categories': 'categories',
+ 'report-items-query-coupons': 'coupons',
+ 'report-items-query-taxes': 'taxes',
+ 'report-items-query-variations': 'variations',
+ 'report-items-query-downloads': 'downloads',
+ 'report-items-query-customers': 'customers',
+ 'report-items-query-stock': 'stock',
+ 'report-items-query-performance-indicators': 'performance-indicators'
+};
+
+function items_operations_read(resourceNames) {
+ var fetch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : external_this_wp_apiFetch_default.a;
+ var filteredNames = resourceNames.filter(function (name) {
+ var prefix = getResourcePrefix(name);
+ return Boolean(items_operations_typeEndpointMap[prefix]);
+ });
+ return filteredNames.map( /*#__PURE__*/function () {
+ var _ref = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee(resourceName) {
+ var prefix, endpoint, query, fetchArgs, response, report, totalResults, totalPages;
+ return regeneratorRuntime.wrap(function _callee$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ prefix = getResourcePrefix(resourceName);
+ endpoint = items_operations_typeEndpointMap[prefix];
+ query = getResourceIdentifier(resourceName);
+ fetchArgs = {
+ parse: false,
+ path: Object(external_this_wp_url_["addQueryArgs"])("".concat(constants["c" /* NAMESPACE */], "/reports/").concat(endpoint), query)
+ };
+ _context.prev = 4;
+ _context.next = 7;
+ return fetch(fetchArgs);
+
+ case 7:
+ response = _context.sent;
+ _context.next = 10;
+ return response.json();
+
+ case 10:
+ report = _context.sent;
+ totalResults = parseInt(response.headers.get('x-wp-total'), 10);
+ totalPages = parseInt(response.headers.get('x-wp-totalpages'), 10);
+ return _context.abrupt("return", defineProperty_default()({}, resourceName, {
+ data: report,
+ totalResults: totalResults,
+ totalPages: totalPages
+ }));
+
+ case 16:
+ _context.prev = 16;
+ _context.t0 = _context["catch"](4);
+ return _context.abrupt("return", defineProperty_default()({}, resourceName, {
+ error: _context.t0
+ }));
+
+ case 19:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, _callee, null, [[4, 16]]);
+ }));
+
+ return function (_x) {
+ return _ref.apply(this, arguments);
+ };
+ }());
+}
+
+/* harmony default export */ var reports_items_operations = ({
+ read: items_operations_read
+});
+// CONCATENATED MODULE: ./client/wc-api/reports/items/selectors.js
+/**
+ * External dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var selectors_getReportItems = function getReportItems(getResource, requireResource) {
+ return function (type) {
+ var query = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
+ var requirement = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : constants["a" /* DEFAULT_REQUIREMENT */];
+ var resourceName = getResourceName("report-items-query-".concat(type), query);
+ return requireResource(requirement, resourceName) || {};
+ };
+};
+
+var selectors_getReportItemsError = function getReportItemsError(getResource) {
+ return function (type) {
+ var query = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
+ var resourceName = getResourceName("report-items-query-".concat(type), query);
+ return getResource(resourceName).error;
+ };
+};
+
+var selectors_isReportItemsRequesting = function isReportItemsRequesting(getResource) {
+ return function (type) {
+ var query = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
+ var resourceName = getResourceName("report-items-query-".concat(type), query);
+
+ var _getResource = getResource(resourceName),
+ lastRequested = _getResource.lastRequested,
+ lastReceived = _getResource.lastReceived;
+
+ if (Object(external_lodash_["isNil"])(lastRequested) || Object(external_lodash_["isNil"])(lastReceived)) {
+ return true;
+ }
+
+ return lastRequested > lastReceived;
+ };
+};
+
+/* harmony default export */ var items_selectors = ({
+ getReportItems: selectors_getReportItems,
+ getReportItemsError: selectors_getReportItemsError,
+ isReportItemsRequesting: selectors_isReportItemsRequesting
+});
+// CONCATENATED MODULE: ./client/wc-api/reports/items/index.js
+/**
+ * Internal dependencies
+ */
+
+
+/* harmony default export */ var reports_items = ({
+ operations: reports_items_operations,
+ selectors: items_selectors
+});
+// CONCATENATED MODULE: ./client/wc-api/reports/stats/operations.js
+
+
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var statEndpoints = ['coupons', 'downloads', 'orders', 'products', 'revenue', 'stock', 'taxes', 'customers'];
+var stats_operations_typeEndpointMap = {
+ 'report-stats-query-orders': 'orders',
+ 'report-stats-query-revenue': 'revenue',
+ 'report-stats-query-products': 'products',
+ 'report-stats-query-categories': 'categories',
+ 'report-stats-query-downloads': 'downloads',
+ 'report-stats-query-coupons': 'coupons',
+ 'report-stats-query-stock': 'stock',
+ 'report-stats-query-taxes': 'taxes',
+ 'report-stats-query-customers': 'customers'
+};
+
+function stats_operations_read(resourceNames) {
+ var fetch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : external_this_wp_apiFetch_default.a;
+ var filteredNames = resourceNames.filter(function (name) {
+ var prefix = getResourcePrefix(name);
+ return Boolean(stats_operations_typeEndpointMap[prefix]);
+ });
+ return filteredNames.map( /*#__PURE__*/function () {
+ var _ref = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee(resourceName) {
+ var prefix, endpoint, query, fetchArgs, response, report, totalResults, totalPages;
+ return regeneratorRuntime.wrap(function _callee$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ prefix = getResourcePrefix(resourceName);
+ endpoint = stats_operations_typeEndpointMap[prefix];
+ query = getResourceIdentifier(resourceName);
+ fetchArgs = {
+ parse: false
+ };
+
+ if (statEndpoints.indexOf(endpoint) >= 0) {
+ fetchArgs.path = Object(external_this_wp_url_["addQueryArgs"])("".concat(constants["c" /* NAMESPACE */], "/reports/").concat(endpoint, "/stats"), query);
+ } else {
+ fetchArgs.path = Object(external_this_wp_url_["addQueryArgs"])(endpoint, query);
+ }
+
+ _context.prev = 5;
+ _context.next = 8;
+ return fetch(fetchArgs);
+
+ case 8:
+ response = _context.sent;
+ _context.next = 11;
+ return response.json();
+
+ case 11:
+ report = _context.sent;
+ totalResults = parseInt(response.headers.get('x-wp-total'), 10);
+ totalPages = parseInt(response.headers.get('x-wp-totalpages'), 10);
+ return _context.abrupt("return", defineProperty_default()({}, resourceName, {
+ data: report,
+ totalResults: totalResults,
+ totalPages: totalPages
+ }));
+
+ case 17:
+ _context.prev = 17;
+ _context.t0 = _context["catch"](5);
+ return _context.abrupt("return", defineProperty_default()({}, resourceName, {
+ error: _context.t0
+ }));
+
+ case 20:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, _callee, null, [[5, 17]]);
+ }));
+
+ return function (_x) {
+ return _ref.apply(this, arguments);
+ };
+ }());
+}
+
+/* harmony default export */ var stats_operations = ({
+ read: stats_operations_read
+});
+// CONCATENATED MODULE: ./client/wc-api/reports/stats/selectors.js
+/**
+ * External dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var selectors_getReportStats = function getReportStats(getResource, requireResource) {
+ return function (type) {
+ var query = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
+ var requirement = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : constants["a" /* DEFAULT_REQUIREMENT */];
+ var resourceName = getResourceName("report-stats-query-".concat(type), query);
+ var data = requireResource(requirement, resourceName) || {};
+ return data;
+ };
+};
+
+var selectors_getReportStatsError = function getReportStatsError(getResource) {
+ return function (type) {
+ var query = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
+ var resourceName = getResourceName("report-stats-query-".concat(type), query);
+ return getResource(resourceName).error;
+ };
+};
+
+var selectors_isReportStatsRequesting = function isReportStatsRequesting(getResource) {
+ return function (type) {
+ var query = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
+ var resourceName = getResourceName("report-stats-query-".concat(type), query);
+
+ var _getResource = getResource(resourceName),
+ lastRequested = _getResource.lastRequested,
+ lastReceived = _getResource.lastReceived;
+
+ if (Object(external_lodash_["isNil"])(lastRequested) || Object(external_lodash_["isNil"])(lastReceived)) {
+ return true;
+ }
+
+ return lastRequested > lastReceived;
+ };
+};
+
+/* harmony default export */ var stats_selectors = ({
+ getReportStats: selectors_getReportStats,
+ getReportStatsError: selectors_getReportStatsError,
+ isReportStatsRequesting: selectors_isReportStatsRequesting
+});
+// CONCATENATED MODULE: ./client/wc-api/reports/stats/index.js
+/**
+ * Internal dependencies
+ */
+
+
+/* harmony default export */ var stats = ({
+ operations: stats_operations,
+ selectors: stats_selectors
+});
+// CONCATENATED MODULE: ./client/wc-api/reviews/operations.js
+
+
+
+
+function reviews_operations_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function reviews_operations_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { reviews_operations_ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { reviews_operations_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+function reviews_operations_read(resourceNames) {
+ var fetch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : external_this_wp_apiFetch_default.a;
+ return [].concat(toConsumableArray_default()(readReviews(resourceNames, fetch)), toConsumableArray_default()(readReviewQueries(resourceNames, fetch)));
+}
+
+function readReviewQueries(resourceNames, fetch) {
+ var filteredNames = resourceNames.filter(function (name) {
+ return isResourcePrefix(name, 'review-query');
+ });
+ return filteredNames.map( /*#__PURE__*/function () {
+ var _ref = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee(resourceName) {
+ var query, url, response, reviews, totalCount, ids, reviewResources;
+ return regeneratorRuntime.wrap(function _callee$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ query = getResourceIdentifier(resourceName);
+ url = Object(external_this_wp_url_["addQueryArgs"])("".concat(constants["c" /* NAMESPACE */], "/products/reviews"), query);
+ _context.prev = 2;
+ _context.next = 5;
+ return fetch({
+ parse: false,
+ path: url
+ });
+
+ case 5:
+ response = _context.sent;
+ _context.next = 8;
+ return response.json();
+
+ case 8:
+ reviews = _context.sent;
+ totalCount = parseInt(response.headers.get('x-wp-total'), 10);
+ ids = reviews.map(function (review) {
+ return review.id;
+ });
+ reviewResources = reviews.reduce(function (resources, review) {
+ resources[getResourceName('review', review.id)] = {
+ data: review
+ };
+ return resources;
+ }, {});
+ return _context.abrupt("return", reviews_operations_objectSpread(defineProperty_default()({}, resourceName, {
+ data: ids,
+ totalCount: totalCount
+ }), reviewResources));
+
+ case 15:
+ _context.prev = 15;
+ _context.t0 = _context["catch"](2);
+ return _context.abrupt("return", defineProperty_default()({}, resourceName, {
+ error: _context.t0
+ }));
+
+ case 18:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, _callee, null, [[2, 15]]);
+ }));
+
+ return function (_x) {
+ return _ref.apply(this, arguments);
+ };
+ }());
+}
+
+function readReviews(resourceNames, fetch) {
+ var filteredNames = resourceNames.filter(function (name) {
+ return isResourcePrefix(name, 'review');
+ });
+ return filteredNames.map(function (resourceName) {
+ return readReview(resourceName, fetch);
+ });
+}
+
+function readReview(resourceName, fetch) {
+ var id = getResourceIdentifier(resourceName);
+ var url = "".concat(constants["c" /* NAMESPACE */], "/products/reviews/").concat(id);
+ return fetch({
+ path: url
+ }).then(function (review) {
+ return defineProperty_default()({}, resourceName, {
+ data: review
+ });
+ }).catch(function (error) {
+ return defineProperty_default()({}, resourceName, {
+ error: error
+ });
+ });
+}
+
+/* harmony default export */ var reviews_operations = ({
+ read: reviews_operations_read
+});
+// CONCATENATED MODULE: ./client/wc-api/reviews/selectors.js
+/**
+ * External dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var selectors_getReviews = function getReviews(getResource, requireResource) {
+ return function () {
+ var query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
+ var requirement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : constants["a" /* DEFAULT_REQUIREMENT */];
+ var resourceName = getResourceName('review-query', query);
+ var ids = requireResource(requirement, resourceName).data || [];
+ var reviews = ids.map(function (id) {
+ return getResource(getResourceName('review', id)).data || {};
+ });
+ return reviews;
+ };
+};
+
+var selectors_getReviewsTotalCount = function getReviewsTotalCount(getResource, requireResource) {
+ return function () {
+ var query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
+ var requirement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : constants["a" /* DEFAULT_REQUIREMENT */];
+ var resourceName = getResourceName('review-query', query);
+ return requireResource(requirement, resourceName).totalCount || 0;
+ };
+};
+
+var selectors_getReviewsError = function getReviewsError(getResource) {
+ return function () {
+ var query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
+ var resourceName = getResourceName('review-query', query);
+ return getResource(resourceName).error;
+ };
+};
+
+var selectors_isGetReviewsRequesting = function isGetReviewsRequesting(getResource) {
+ return function () {
+ var query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
+ var resourceName = getResourceName('review-query', query);
+
+ var _getResource = getResource(resourceName),
+ lastRequested = _getResource.lastRequested,
+ lastReceived = _getResource.lastReceived;
+
+ if (Object(external_lodash_["isNil"])(lastRequested) || Object(external_lodash_["isNil"])(lastReceived)) {
+ return true;
+ }
+
+ return lastRequested > lastReceived;
+ };
+};
+
+/* harmony default export */ var reviews_selectors = ({
+ getReviews: selectors_getReviews,
+ getReviewsError: selectors_getReviewsError,
+ getReviewsTotalCount: selectors_getReviewsTotalCount,
+ isGetReviewsRequesting: selectors_isGetReviewsRequesting
+});
+// CONCATENATED MODULE: ./client/wc-api/reviews/index.js
+/**
+ * Internal dependencies
+ */
+
+
+/* harmony default export */ var wc_api_reviews = ({
+ operations: reviews_operations,
+ selectors: reviews_selectors
+});
+// CONCATENATED MODULE: ./client/wc-api/user/operations.js
+
+
+
+/**
+ * External dependencies
+ */
+
+
+
+function user_operations_read(resourceNames) {
+ var fetch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : external_this_wp_apiFetch_default.a;
+ return toConsumableArray_default()(readCurrentUserData(resourceNames, fetch));
+}
+
+function user_operations_update(resourceNames, data) {
+ var fetch = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : external_this_wp_apiFetch_default.a;
+ return toConsumableArray_default()(operations_updateCurrentUserData(resourceNames, data, fetch));
+}
+
+function readCurrentUserData(resourceNames, fetch) {
+ if (resourceNames.includes('current-user-data')) {
+ var url = '/wp/v2/users/me?context=edit';
+ return [fetch({
+ path: url
+ }).then(userToUserDataResource).catch(function (error) {
+ return {
+ 'current-user-data': {
+ error: String(error.message)
+ }
+ };
+ })];
+ }
+
+ return [];
+}
+
+function operations_updateCurrentUserData(resourceNames, data, fetch) {
+ var resourceName = 'current-user-data';
+ var userDataFields = ['categories_report_columns', 'coupons_report_columns', 'customers_report_columns', 'orders_report_columns', 'products_report_columns', 'revenue_report_columns', 'taxes_report_columns', 'variations_report_columns', 'dashboard_sections', 'dashboard_chart_type', 'dashboard_chart_interval', 'dashboard_leaderboard_rows', 'activity_panel_inbox_last_read', 'homepage_stats'];
+
+ if (resourceNames.includes(resourceName)) {
+ var url = '/wp/v2/users/me';
+ var userData = Object(external_lodash_["pick"])(data[resourceName], userDataFields);
+ var meta = Object(external_lodash_["mapValues"])(userData, JSON.stringify);
+ var user = {
+ woocommerce_meta: meta
+ };
+ return [fetch({
+ path: url,
+ method: 'POST',
+ data: user
+ }).then(userToUserDataResource).catch(function (error) {
+ return defineProperty_default()({}, resourceName, {
+ error: error
+ });
+ })];
+ }
+
+ return [];
+}
+
+function userToUserDataResource(user) {
+ var userData = Object(external_lodash_["mapValues"])(user.woocommerce_meta, function (data) {
+ if (!data || data.length === 0) {
+ return '';
+ }
+
+ return JSON.parse(data);
+ });
+ return {
+ 'current-user-data': {
+ data: userData
+ }
+ };
+}
+
+/* harmony default export */ var user_operations = ({
+ read: user_operations_read,
+ update: user_operations_update
+});
+// CONCATENATED MODULE: ./client/wc-api/user/selectors.js
+/**
+ * Internal dependencies
+ */
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+var selectors_getCurrentUserData = function getCurrentUserData(getResource, requireResource) {
+ return function () {
+ var requirement = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : constants["a" /* DEFAULT_REQUIREMENT */];
+ return Object(settings["g" /* getSetting */])('currentUserData', {}, function (cud) {
+ return requireResource(requirement, 'current-user-data').data || cud;
+ });
+ };
+};
+
+/* harmony default export */ var user_selectors = ({
+ getCurrentUserData: selectors_getCurrentUserData
+});
+// CONCATENATED MODULE: ./client/wc-api/user/mutations.js
+
+
+var mutations_updateCurrentUserData = function updateCurrentUserData(operations) {
+ return function (userDataFields) {
+ var resourceKey = 'current-user-data';
+ operations.update([resourceKey], defineProperty_default()({}, resourceKey, userDataFields));
+ };
+};
+
+/* harmony default export */ var user_mutations = ({
+ updateCurrentUserData: mutations_updateCurrentUserData
+});
+// CONCATENATED MODULE: ./client/wc-api/user/index.js
+/**
+ * Internal dependencies
+ */
+
+
+
+/* harmony default export */ var wc_api_user = ({
+ operations: user_operations,
+ selectors: user_selectors,
+ mutations: user_mutations
+});
+// CONCATENATED MODULE: ./client/wc-api/wc-api-spec.js
+
+
+
+function wc_api_spec_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function wc_api_spec_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { wc_api_spec_ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { wc_api_spec_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+
+
+
+
+function createWcApiSpec() {
+ return {
+ name: 'wcApi',
+ mutations: wc_api_spec_objectSpread({}, wc_api_export.mutations, {}, wc_api_items.mutations, {}, wc_api_notes.mutations, {}, onboarding.mutations, {}, wc_api_options.mutations, {}, wc_api_user.mutations),
+ selectors: wc_api_spec_objectSpread({}, imports.selectors, {}, wc_api_items.selectors, {}, wc_api_notes.selectors, {}, onboarding.selectors, {}, wc_api_options.selectors, {}, reports_items.selectors, {}, stats.selectors, {}, wc_api_reviews.selectors, {}, wc_api_user.selectors),
+ operations: {
+ read: function read(resourceNames) {
+ if (document.hidden) {
+ // Don't do any read updates while the tab isn't active.
+ return [];
+ }
+
+ return [].concat(toConsumableArray_default()(imports.operations.read(resourceNames)), toConsumableArray_default()(wc_api_items.operations.read(resourceNames)), toConsumableArray_default()(wc_api_notes.operations.read(resourceNames)), toConsumableArray_default()(onboarding.operations.read(resourceNames)), toConsumableArray_default()(wc_api_options.operations.read(resourceNames)), toConsumableArray_default()(reports_items.operations.read(resourceNames)), toConsumableArray_default()(stats.operations.read(resourceNames)), toConsumableArray_default()(wc_api_reviews.operations.read(resourceNames)), toConsumableArray_default()(wc_api_user.operations.read(resourceNames)));
+ },
+ update: function update(resourceNames, data) {
+ return [].concat(toConsumableArray_default()(wc_api_export.operations.update(resourceNames, data)), toConsumableArray_default()(wc_api_items.operations.update(resourceNames, data)), toConsumableArray_default()(wc_api_notes.operations.update(resourceNames, data)), toConsumableArray_default()(onboarding.operations.update(resourceNames, data)), toConsumableArray_default()(wc_api_options.operations.update(resourceNames, data)), toConsumableArray_default()(wc_api_user.operations.update(resourceNames, data)));
+ },
+ updateLocally: function updateLocally(resourceNames, data) {
+ return toConsumableArray_default()(wc_api_items.operations.updateLocally(resourceNames, data));
+ }
+ }
+ };
+}
+
+/* harmony default export */ var wc_api_spec = (createWcApiSpec());
+// CONCATENATED MODULE: ./client/wc-api/wp-data-store/index.js
+/**
+ * External dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+if (false) {}
+
+function createWcApiStore() {
+ var apiClient = create_api_client('wc-api', wc_api_spec);
+
+ function getComponentSelectors(component) {
+ var componentRequirements = [];
+ return {
+ selectors: apiClient.getSelectors(componentRequirements),
+ onComplete: function onComplete() {
+ if (componentRequirements.length === 0) {
+ apiClient.clearComponentRequirements(component);
+ } else {
+ apiClient.setComponentRequirements(component, componentRequirements);
+ }
+ },
+ onUnmount: function onUnmount() {
+ apiClient.clearComponentRequirements(component);
+ }
+ };
+ }
+
+ return {
+ // The wrapped function for getSelectors is temporary code.
+ //
+ // @todo Remove the `() =>` after the `@wordpress/data` PR is merged:
+ // https://github.com/WordPress/gutenberg/pull/11460
+ //
+ getSelectors: function getSelectors() {
+ return function (context) {
+ var component = context && context.component ? context.component : context;
+ return getComponentSelectors(component);
+ };
+ },
+ getActions: function getActions() {
+ var mutations = apiClient.getMutations();
+ return mutations;
+ },
+ subscribe: apiClient.subscribe
+ };
+}
+
+Object(external_this_wp_data_["registerGenericStore"])('wc-api', createWcApiStore());
+
+/***/ }),
+
+/***/ 706:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// NAMESPACE OBJECT: ./node_modules/@wordpress/notices/build-module/store/actions.js
+var actions_namespaceObject = {};
+__webpack_require__.r(actions_namespaceObject);
+__webpack_require__.d(actions_namespaceObject, "createNotice", function() { return createNotice; });
+__webpack_require__.d(actions_namespaceObject, "createSuccessNotice", function() { return createSuccessNotice; });
+__webpack_require__.d(actions_namespaceObject, "createInfoNotice", function() { return createInfoNotice; });
+__webpack_require__.d(actions_namespaceObject, "createErrorNotice", function() { return createErrorNotice; });
+__webpack_require__.d(actions_namespaceObject, "createWarningNotice", function() { return createWarningNotice; });
+__webpack_require__.d(actions_namespaceObject, "removeNotice", function() { return removeNotice; });
+
+// NAMESPACE OBJECT: ./node_modules/@wordpress/notices/build-module/store/selectors.js
+var selectors_namespaceObject = {};
+__webpack_require__.r(selectors_namespaceObject);
+__webpack_require__.d(selectors_namespaceObject, "getNotices", function() { return getNotices; });
+
+// EXTERNAL MODULE: external {"this":["wp","data"]}
+var external_this_wp_data_ = __webpack_require__(19);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 3 modules
+var toConsumableArray = __webpack_require__(17);
+
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__(2);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
+var defineProperty = __webpack_require__(13);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/notices/build-module/store/utils/on-sub-key.js
+
+
+function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+/**
+ * Higher-order reducer creator which creates a combined reducer object, keyed
+ * by a property on the action object.
+ *
+ * @param {string} actionProperty Action property by which to key object.
+ *
+ * @return {Function} Higher-order reducer.
+ */
+var on_sub_key_onSubKey = function onSubKey(actionProperty) {
+ return function (reducer) {
+ return function () {
+ var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
+ var action = arguments.length > 1 ? arguments[1] : undefined;
+ // Retrieve subkey from action. Do not track if undefined; useful for cases
+ // where reducer is scoped by action shape.
+ var key = action[actionProperty];
+
+ if (key === undefined) {
+ return state;
+ } // Avoid updating state if unchanged. Note that this also accounts for a
+ // reducer which returns undefined on a key which is not yet tracked.
+
+
+ var nextKeyState = reducer(state[key], action);
+
+ if (nextKeyState === state[key]) {
+ return state;
+ }
+
+ return _objectSpread({}, state, Object(defineProperty["a" /* default */])({}, key, nextKeyState));
+ };
+ };
+};
+/* harmony default export */ var on_sub_key = (on_sub_key_onSubKey);
+//# sourceMappingURL=on-sub-key.js.map
+// CONCATENATED MODULE: ./node_modules/@wordpress/notices/build-module/store/reducer.js
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+/**
+ * Reducer returning the next notices state. The notices state is an object
+ * where each key is a context, its value an array of notice objects.
+ *
+ * @param {Object} state Current state.
+ * @param {Object} action Dispatched action.
+ *
+ * @return {Object} Updated state.
+ */
+
+var notices = on_sub_key('context')(function () {
+ var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
+ var action = arguments.length > 1 ? arguments[1] : undefined;
+
+ switch (action.type) {
+ case 'CREATE_NOTICE':
+ // Avoid duplicates on ID.
+ return [].concat(Object(toConsumableArray["a" /* default */])(Object(external_lodash_["reject"])(state, {
+ id: action.notice.id
+ })), [action.notice]);
+
+ case 'REMOVE_NOTICE':
+ return Object(external_lodash_["reject"])(state, {
+ id: action.id
+ });
+ }
+
+ return state;
+});
+/* harmony default export */ var store_reducer = (notices);
+//# sourceMappingURL=reducer.js.map
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/regenerator/index.js
+var regenerator = __webpack_require__(73);
+var regenerator_default = /*#__PURE__*/__webpack_require__.n(regenerator);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/notices/build-module/store/constants.js
+/**
+ * Default context to use for notice grouping when not otherwise specified. Its
+ * specific value doesn't hold much meaning, but it must be reasonably unique
+ * and, more importantly, referenced consistently in the store implementation.
+ *
+ * @type {string}
+ */
+var DEFAULT_CONTEXT = 'global';
+/**
+ * Default notice status.
+ *
+ * @type {string}
+ */
+
+var DEFAULT_STATUS = 'info';
+//# sourceMappingURL=constants.js.map
+// CONCATENATED MODULE: ./node_modules/@wordpress/notices/build-module/store/actions.js
+
+
+var _marked =
+/*#__PURE__*/
+regenerator_default.a.mark(createNotice);
+
+/**
+ * External dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+/**
+ * @typedef {Object} WPNoticeAction Object describing a user action option associated with a notice.
+ *
+ * @property {string} label Message to use as action label.
+ * @property {?string} url Optional URL of resource if action incurs
+ * browser navigation.
+ * @property {?Function} onClick Optional function to invoke when action is
+ * triggered by user.
+ *
+ */
+
+/**
+ * Yields action objects used in signalling that a notice is to be created.
+ *
+ * @param {string} [status='info'] Notice status.
+ * @param {string} content Notice message.
+ * @param {Object} [options] Notice options.
+ * @param {string} [options.context='global'] Context under which to
+ * group notice.
+ * @param {string} [options.id] Identifier for notice.
+ * Automatically assigned
+ * if not specified.
+ * @param {boolean} [options.isDismissible=true] Whether the notice can
+ * be dismissed by user.
+ * @param {string} [options.type='default'] Type of notice, one of
+ * `default`, or `snackbar`.
+ * @param {boolean} [options.speak=true] Whether the notice
+ * content should be
+ * announced to screen
+ * readers.
+ * @param {Array} [options.actions] User actions to be
+ * presented with notice.
+ */
+
+function createNotice() {
+ var status,
+ content,
+ options,
+ _options$speak,
+ speak,
+ _options$isDismissibl,
+ isDismissible,
+ _options$context,
+ context,
+ _options$id,
+ id,
+ _options$actions,
+ actions,
+ _options$type,
+ type,
+ __unstableHTML,
+ _args = arguments;
+
+ return regenerator_default.a.wrap(function createNotice$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ status = _args.length > 0 && _args[0] !== undefined ? _args[0] : DEFAULT_STATUS;
+ content = _args.length > 1 ? _args[1] : undefined;
+ options = _args.length > 2 && _args[2] !== undefined ? _args[2] : {};
+ _options$speak = options.speak, speak = _options$speak === void 0 ? true : _options$speak, _options$isDismissibl = options.isDismissible, isDismissible = _options$isDismissibl === void 0 ? true : _options$isDismissibl, _options$context = options.context, context = _options$context === void 0 ? DEFAULT_CONTEXT : _options$context, _options$id = options.id, id = _options$id === void 0 ? Object(external_lodash_["uniqueId"])(context) : _options$id, _options$actions = options.actions, actions = _options$actions === void 0 ? [] : _options$actions, _options$type = options.type, type = _options$type === void 0 ? 'default' : _options$type, __unstableHTML = options.__unstableHTML; // The supported value shape of content is currently limited to plain text
+ // strings. To avoid setting expectation that e.g. a WPElement could be
+ // supported, cast to a string.
+
+ content = String(content);
+
+ if (!speak) {
+ _context.next = 8;
+ break;
+ }
+
+ _context.next = 8;
+ return {
+ type: 'SPEAK',
+ message: content,
+ ariaLive: type === 'snackbar' ? 'polite' : 'assertive'
+ };
+
+ case 8:
+ _context.next = 10;
+ return {
+ type: 'CREATE_NOTICE',
+ context: context,
+ notice: {
+ id: id,
+ status: status,
+ content: content,
+ __unstableHTML: __unstableHTML,
+ isDismissible: isDismissible,
+ actions: actions,
+ type: type
+ }
+ };
+
+ case 10:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, _marked);
+}
+/**
+ * Returns an action object used in signalling that a success notice is to be
+ * created. Refer to `createNotice` for options documentation.
+ *
+ * @see createNotice
+ *
+ * @param {string} content Notice message.
+ * @param {Object} [options] Optional notice options.
+ *
+ * @return {Object} Action object.
+ */
+
+function createSuccessNotice(content, options) {
+ return createNotice('success', content, options);
+}
+/**
+ * Returns an action object used in signalling that an info notice is to be
+ * created. Refer to `createNotice` for options documentation.
+ *
+ * @see createNotice
+ *
+ * @param {string} content Notice message.
+ * @param {Object} [options] Optional notice options.
+ *
+ * @return {Object} Action object.
+ */
+
+function createInfoNotice(content, options) {
+ return createNotice('info', content, options);
+}
+/**
+ * Returns an action object used in signalling that an error notice is to be
+ * created. Refer to `createNotice` for options documentation.
+ *
+ * @see createNotice
+ *
+ * @param {string} content Notice message.
+ * @param {Object} [options] Optional notice options.
+ *
+ * @return {Object} Action object.
+ */
+
+function createErrorNotice(content, options) {
+ return createNotice('error', content, options);
+}
+/**
+ * Returns an action object used in signalling that a warning notice is to be
+ * created. Refer to `createNotice` for options documentation.
+ *
+ * @see createNotice
+ *
+ * @param {string} content Notice message.
+ * @param {Object} [options] Optional notice options.
+ *
+ * @return {Object} Action object.
+ */
+
+function createWarningNotice(content, options) {
+ return createNotice('warning', content, options);
+}
+/**
+ * Returns an action object used in signalling that a notice is to be removed.
+ *
+ * @param {string} id Notice unique identifier.
+ * @param {string} [context='global'] Optional context (grouping) in which the notice is
+ * intended to appear. Defaults to default context.
+ *
+ * @return {Object} Action object.
+ */
+
+function removeNotice(id) {
+ var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_CONTEXT;
+ return {
+ type: 'REMOVE_NOTICE',
+ id: id,
+ context: context
+ };
+}
+//# sourceMappingURL=actions.js.map
+// CONCATENATED MODULE: ./node_modules/@wordpress/notices/build-module/store/selectors.js
+/**
+ * Internal dependencies
+ */
+
+/** @typedef {import('./actions').WPNoticeAction} WPNoticeAction */
+
+/**
+ * The default empty set of notices to return when there are no notices
+ * assigned for a given notices context. This can occur if the getNotices
+ * selector is called without a notice ever having been created for the
+ * context. A shared value is used to ensure referential equality between
+ * sequential selector calls, since otherwise `[] !== []`.
+ *
+ * @type {Array}
+ */
+
+var DEFAULT_NOTICES = [];
+/**
+ * @typedef {Object} WPNotice Notice object.
+ *
+ * @property {string} id Unique identifier of notice.
+ * @property {string} status Status of notice, one of `success`,
+ * `info`, `error`, or `warning`. Defaults
+ * to `info`.
+ * @property {string} content Notice message.
+ * @property {string} __unstableHTML Notice message as raw HTML. Intended to
+ * serve primarily for compatibility of
+ * server-rendered notices, and SHOULD NOT
+ * be used for notices. It is subject to
+ * removal without notice.
+ * @property {boolean} isDismissible Whether the notice can be dismissed by
+ * user. Defaults to `true`.
+ * @property {string} type Type of notice, one of `default`,
+ * or `snackbar`. Defaults to `default`.
+ * @property {boolean} speak Whether the notice content should be
+ * announced to screen readers. Defaults to
+ * `true`.
+ * @property {WPNoticeAction[]} actions User actions to present with notice.
+ *
+ */
+
+/**
+ * Returns all notices as an array, optionally for a given context. Defaults to
+ * the global context.
+ *
+ * @param {Object} state Notices state.
+ * @param {?string} context Optional grouping context.
+ *
+ * @return {WPNotice[]} Array of notices.
+ */
+
+function getNotices(state) {
+ var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_CONTEXT;
+ return state[context] || DEFAULT_NOTICES;
+}
+//# sourceMappingURL=selectors.js.map
+// EXTERNAL MODULE: ./node_modules/@wordpress/a11y/build-module/index.js + 3 modules
+var build_module = __webpack_require__(169);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/notices/build-module/store/controls.js
+/**
+ * WordPress dependencies
+ */
+
+/* harmony default export */ var controls = ({
+ SPEAK: function SPEAK(action) {
+ Object(build_module["a" /* speak */])(action.message, action.ariaLive || 'assertive');
+ }
+});
+//# sourceMappingURL=controls.js.map
+// CONCATENATED MODULE: ./node_modules/@wordpress/notices/build-module/store/index.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+/* harmony default export */ var store = (Object(external_this_wp_data_["registerStore"])('core/notices', {
+ reducer: store_reducer,
+ actions: actions_namespaceObject,
+ selectors: selectors_namespaceObject,
+ controls: controls
+}));
+//# sourceMappingURL=index.js.map
+// CONCATENATED MODULE: ./node_modules/@wordpress/notices/build-module/index.js
+/**
+ * Internal dependencies
+ */
+
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 71:
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var has = Object.prototype.hasOwnProperty;
+var isArray = Array.isArray;
+
+var hexTable = (function () {
+ var array = [];
+ for (var i = 0; i < 256; ++i) {
+ array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());
+ }
+
+ return array;
+}());
+
+var compactQueue = function compactQueue(queue) {
+ while (queue.length > 1) {
+ var item = queue.pop();
+ var obj = item.obj[item.prop];
+
+ if (isArray(obj)) {
+ var compacted = [];
+
+ for (var j = 0; j < obj.length; ++j) {
+ if (typeof obj[j] !== 'undefined') {
+ compacted.push(obj[j]);
+ }
+ }
+
+ item.obj[item.prop] = compacted;
+ }
+ }
+};
+
+var arrayToObject = function arrayToObject(source, options) {
+ var obj = options && options.plainObjects ? Object.create(null) : {};
+ for (var i = 0; i < source.length; ++i) {
+ if (typeof source[i] !== 'undefined') {
+ obj[i] = source[i];
+ }
+ }
+
+ return obj;
+};
+
+var merge = function merge(target, source, options) {
+ /* eslint no-param-reassign: 0 */
+ if (!source) {
+ return target;
+ }
+
+ if (typeof source !== 'object') {
+ if (isArray(target)) {
+ target.push(source);
+ } else if (target && typeof target === 'object') {
+ if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) {
+ target[source] = true;
+ }
+ } else {
+ return [target, source];
+ }
+
+ return target;
+ }
+
+ if (!target || typeof target !== 'object') {
+ return [target].concat(source);
+ }
+
+ var mergeTarget = target;
+ if (isArray(target) && !isArray(source)) {
+ mergeTarget = arrayToObject(target, options);
+ }
+
+ if (isArray(target) && isArray(source)) {
+ source.forEach(function (item, i) {
+ if (has.call(target, i)) {
+ var targetItem = target[i];
+ if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {
+ target[i] = merge(targetItem, item, options);
+ } else {
+ target.push(item);
+ }
+ } else {
+ target[i] = item;
+ }
+ });
+ return target;
+ }
+
+ return Object.keys(source).reduce(function (acc, key) {
+ var value = source[key];
+
+ if (has.call(acc, key)) {
+ acc[key] = merge(acc[key], value, options);
+ } else {
+ acc[key] = value;
+ }
+ return acc;
+ }, mergeTarget);
+};
+
+var assign = function assignSingleSource(target, source) {
+ return Object.keys(source).reduce(function (acc, key) {
+ acc[key] = source[key];
+ return acc;
+ }, target);
+};
+
+var decode = function (str, decoder, charset) {
+ var strWithoutPlus = str.replace(/\+/g, ' ');
+ if (charset === 'iso-8859-1') {
+ // unescape never throws, no try...catch needed:
+ return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);
+ }
+ // utf-8
+ try {
+ return decodeURIComponent(strWithoutPlus);
+ } catch (e) {
+ return strWithoutPlus;
+ }
+};
+
+var encode = function encode(str, defaultEncoder, charset) {
+ // This code was originally written by Brian White (mscdex) for the io.js core querystring library.
+ // It has been adapted here for stricter adherence to RFC 3986
+ if (str.length === 0) {
+ return str;
+ }
+
+ var string = str;
+ if (typeof str === 'symbol') {
+ string = Symbol.prototype.toString.call(str);
+ } else if (typeof str !== 'string') {
+ string = String(str);
+ }
+
+ if (charset === 'iso-8859-1') {
+ return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {
+ return '%26%23' + parseInt($0.slice(2), 16) + '%3B';
+ });
+ }
+
+ var out = '';
+ for (var i = 0; i < string.length; ++i) {
+ var c = string.charCodeAt(i);
+
+ if (
+ c === 0x2D // -
+ || c === 0x2E // .
+ || c === 0x5F // _
+ || c === 0x7E // ~
+ || (c >= 0x30 && c <= 0x39) // 0-9
+ || (c >= 0x41 && c <= 0x5A) // a-z
+ || (c >= 0x61 && c <= 0x7A) // A-Z
+ ) {
+ out += string.charAt(i);
+ continue;
+ }
+
+ if (c < 0x80) {
+ out = out + hexTable[c];
+ continue;
+ }
+
+ if (c < 0x800) {
+ out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);
+ continue;
+ }
+
+ if (c < 0xD800 || c >= 0xE000) {
+ out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);
+ continue;
+ }
+
+ i += 1;
+ c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));
+ out += hexTable[0xF0 | (c >> 18)]
+ + hexTable[0x80 | ((c >> 12) & 0x3F)]
+ + hexTable[0x80 | ((c >> 6) & 0x3F)]
+ + hexTable[0x80 | (c & 0x3F)];
+ }
+
+ return out;
+};
+
+var compact = function compact(value) {
+ var queue = [{ obj: { o: value }, prop: 'o' }];
+ var refs = [];
+
+ for (var i = 0; i < queue.length; ++i) {
+ var item = queue[i];
+ var obj = item.obj[item.prop];
+
+ var keys = Object.keys(obj);
+ for (var j = 0; j < keys.length; ++j) {
+ var key = keys[j];
+ var val = obj[key];
+ if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {
+ queue.push({ obj: obj, prop: key });
+ refs.push(val);
+ }
+ }
+ }
+
+ compactQueue(queue);
+
+ return value;
+};
+
+var isRegExp = function isRegExp(obj) {
+ return Object.prototype.toString.call(obj) === '[object RegExp]';
+};
+
+var isBuffer = function isBuffer(obj) {
+ if (!obj || typeof obj !== 'object') {
+ return false;
+ }
+
+ return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));
+};
+
+var combine = function combine(a, b) {
+ return [].concat(a, b);
+};
+
+module.exports = {
+ arrayToObject: arrayToObject,
+ assign: assign,
+ combine: combine,
+ compact: compact,
+ decode: decode,
+ encode: encode,
+ isBuffer: isBuffer,
+ isRegExp: isRegExp,
+ merge: merge
+};
+
+
+/***/ }),
+
+/***/ 719:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wc"]["csvExport"]; }());
+
+/***/ }),
+
+/***/ 72:
+/***/ (function(module, exports) {
+
+// shim for using process in browser
+var process = module.exports = {};
+
+// cached from whatever global is present so that test runners that stub it
+// don't break things. But we need to wrap it in a try catch in case it is
+// wrapped in strict mode code which doesn't define any globals. It's inside a
+// function because try/catches deoptimize in certain engines.
+
+var cachedSetTimeout;
+var cachedClearTimeout;
+
+function defaultSetTimout() {
+ throw new Error('setTimeout has not been defined');
+}
+function defaultClearTimeout () {
+ throw new Error('clearTimeout has not been defined');
+}
+(function () {
+ try {
+ if (typeof setTimeout === 'function') {
+ cachedSetTimeout = setTimeout;
+ } else {
+ cachedSetTimeout = defaultSetTimout;
+ }
+ } catch (e) {
+ cachedSetTimeout = defaultSetTimout;
+ }
+ try {
+ if (typeof clearTimeout === 'function') {
+ cachedClearTimeout = clearTimeout;
+ } else {
+ cachedClearTimeout = defaultClearTimeout;
+ }
+ } catch (e) {
+ cachedClearTimeout = defaultClearTimeout;
+ }
+} ())
+function runTimeout(fun) {
+ if (cachedSetTimeout === setTimeout) {
+ //normal enviroments in sane situations
+ return setTimeout(fun, 0);
+ }
+ // if setTimeout wasn't available but was latter defined
+ if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
+ cachedSetTimeout = setTimeout;
+ return setTimeout(fun, 0);
+ }
+ try {
+ // when when somebody has screwed with setTimeout but no I.E. maddness
+ return cachedSetTimeout(fun, 0);
+ } catch(e){
+ try {
+ // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
+ return cachedSetTimeout.call(null, fun, 0);
+ } catch(e){
+ // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
+ return cachedSetTimeout.call(this, fun, 0);
+ }
+ }
+
+
+}
+function runClearTimeout(marker) {
+ if (cachedClearTimeout === clearTimeout) {
+ //normal enviroments in sane situations
+ return clearTimeout(marker);
+ }
+ // if clearTimeout wasn't available but was latter defined
+ if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
+ cachedClearTimeout = clearTimeout;
+ return clearTimeout(marker);
+ }
+ try {
+ // when when somebody has screwed with setTimeout but no I.E. maddness
+ return cachedClearTimeout(marker);
+ } catch (e){
+ try {
+ // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
+ return cachedClearTimeout.call(null, marker);
+ } catch (e){
+ // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
+ // Some versions of I.E. have different rules for clearTimeout vs setTimeout
+ return cachedClearTimeout.call(this, marker);
+ }
+ }
+
+
+
+}
+var queue = [];
+var draining = false;
+var currentQueue;
+var queueIndex = -1;
+
+function cleanUpNextTick() {
+ if (!draining || !currentQueue) {
+ return;
+ }
+ draining = false;
+ if (currentQueue.length) {
+ queue = currentQueue.concat(queue);
+ } else {
+ queueIndex = -1;
+ }
+ if (queue.length) {
+ drainQueue();
+ }
+}
+
+function drainQueue() {
+ if (draining) {
+ return;
+ }
+ var timeout = runTimeout(cleanUpNextTick);
+ draining = true;
+
+ var len = queue.length;
+ while(len) {
+ currentQueue = queue;
+ queue = [];
+ while (++queueIndex < len) {
+ if (currentQueue) {
+ currentQueue[queueIndex].run();
+ }
+ }
+ queueIndex = -1;
+ len = queue.length;
+ }
+ currentQueue = null;
+ draining = false;
+ runClearTimeout(timeout);
+}
+
+process.nextTick = function (fun) {
+ var args = new Array(arguments.length - 1);
+ if (arguments.length > 1) {
+ for (var i = 1; i < arguments.length; i++) {
+ args[i - 1] = arguments[i];
+ }
+ }
+ queue.push(new Item(fun, args));
+ if (queue.length === 1 && !draining) {
+ runTimeout(drainQueue);
+ }
+};
+
+// v8 likes predictible objects
+function Item(fun, array) {
+ this.fun = fun;
+ this.array = array;
+}
+Item.prototype.run = function () {
+ this.fun.apply(null, this.array);
+};
+process.title = 'browser';
+process.browser = true;
+process.env = {};
+process.argv = [];
+process.version = ''; // empty string to avoid regexp issues
+process.versions = {};
+
+function noop() {}
+
+process.on = noop;
+process.addListener = noop;
+process.once = noop;
+process.off = noop;
+process.removeListener = noop;
+process.removeAllListeners = noop;
+process.emit = noop;
+process.prependListener = noop;
+process.prependOnceListener = noop;
+
+process.listeners = function (name) { return [] }
+
+process.binding = function (name) {
+ throw new Error('process.binding is not supported');
+};
+
+process.cwd = function () { return '/' };
+process.chdir = function (dir) {
+ throw new Error('process.chdir is not supported');
+};
+process.umask = function() { return 0; };
+
+
+/***/ }),
+
+/***/ 73:
+/***/ (function(module, exports, __webpack_require__) {
+
+module.exports = __webpack_require__(432);
+
+
+/***/ }),
+
+/***/ 737:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* WEBPACK VAR INJECTION */(function(process) {/* harmony import */ var _use_media_query__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(99);
+/**
+ * Internal dependencies
+ */
+
+/**
+ * Whether or not the user agent is Internet Explorer.
+ *
+ * @type {boolean}
+ */
+
+var IS_IE = typeof window !== 'undefined' && window.navigator.userAgent.indexOf('Trident') >= 0;
+/**
+ * Hook returning whether the user has a preference for reduced motion.
+ *
+ * @return {boolean} Reduced motion preference value.
+ */
+
+var useReducedMotion = process.env.FORCE_REDUCED_MOTION || IS_IE ? function () {
+ return true;
+} : function () {
+ return Object(_use_media_query__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])('(prefers-reduced-motion: reduce)');
+};
+/* harmony default export */ __webpack_exports__["a"] = (useReducedMotion);
+//# sourceMappingURL=index.js.map
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(72)))
+
+/***/ }),
+
+/***/ 76:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _inheritsLoose; });
+function _inheritsLoose(subClass, superClass) {
+ subClass.prototype = Object.create(superClass.prototype);
+ subClass.prototype.constructor = subClass;
+ subClass.__proto__ = superClass;
+}
+
+/***/ }),
+
+/***/ 77:
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+/**
+ * Internal dependencies;
+ */
+var isShallowEqualObjects = __webpack_require__( 140 );
+var isShallowEqualArrays = __webpack_require__( 141 );
+
+var isArray = Array.isArray;
+
+/**
+ * @typedef {{[key: string]: any}} ComparableObject
+ */
+
+/**
+ * Returns true if the two arrays or objects are shallow equal, or false
+ * otherwise.
+ *
+ * @param {any[]|ComparableObject} a First object or array to compare.
+ * @param {any[]|ComparableObject} b Second object or array to compare.
+ *
+ * @return {boolean} Whether the two values are shallow equal.
+ */
+function isShallowEqual( a, b ) {
+ if ( a && b ) {
+ if ( a.constructor === Object && b.constructor === Object ) {
+ return isShallowEqualObjects( a, b );
+ } else if ( isArray( a ) && isArray( b ) ) {
+ return isShallowEqualArrays( a, b );
+ }
+ }
+
+ return a === b;
+}
+
+module.exports = isShallowEqual;
+module.exports.isShallowEqualObjects = isShallowEqualObjects;
+module.exports.isShallowEqualArrays = isShallowEqualArrays;
+
+
+/***/ }),
+
+/***/ 78:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+var isProduction = "production" === 'production';
+var prefix = 'Invariant failed';
+function invariant(condition, message) {
+ if (condition) {
+ return;
+ }
+ if (isProduction) {
+ throw new Error(prefix);
+ }
+ throw new Error(prefix + ": " + (message || ''));
+}
+
+/* harmony default export */ __webpack_exports__["a"] = (invariant);
+
+
+/***/ }),
+
+/***/ 79:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return recordEvent; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return queueRecordEvent; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return recordPageView; });
+/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15);
+/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(43);
+/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var debug__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(98);
+/* harmony import */ var debug__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(debug__WEBPACK_IMPORTED_MODULE_2__);
+
+
+
+function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+/**
+ * External dependencies
+ */
+
+/**
+ * Module variables
+ */
+
+var tracksDebug = debug__WEBPACK_IMPORTED_MODULE_2___default()('wc-admin:tracks');
+/**
+ * Record an event to Tracks
+ *
+ * @param {string} eventName The name of the event to record, don't include the wcadmin_ prefix
+ * @param {Object} eventProperties event properties to include in the event
+ */
+
+function recordEvent(eventName, eventProperties) {
+ tracksDebug('recordevent %s %o', 'wcadmin_' + eventName, eventProperties);
+
+ if (!window.wcTracks || typeof window.wcTracks.recordEvent !== 'function' || "production" === 'development') {
+ return false;
+ }
+
+ window.wcTracks.recordEvent(eventName, eventProperties);
+}
+var tracksQueue = {
+ localStorageKey: function localStorageKey() {
+ return 'tracksQueue';
+ },
+ clear: function clear() {
+ if (!window.localStorage) {
+ return;
+ }
+
+ window.localStorage.removeItem(tracksQueue.localStorageKey());
+ },
+ get: function get() {
+ if (!window.localStorage) {
+ return [];
+ }
+
+ var items = window.localStorage.getItem(tracksQueue.localStorageKey());
+ items = items ? JSON.parse(items) : [];
+ items = Array.isArray(items) ? items : [];
+ return items;
+ },
+ add: function add() {
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
+ args[_key] = arguments[_key];
+ }
+
+ if (!window.localStorage) {
+ // If unable to queue, run it now.
+ tracksDebug('Unable to queue, running now', {
+ args: args
+ });
+ recordEvent.apply(null, args || undefined);
+ return;
+ }
+
+ var items = tracksQueue.get();
+ var newItem = {
+ args: args
+ };
+ items.push(newItem);
+ items = items.slice(-100); // Upper limit.
+
+ tracksDebug('Adding new item to queue.', newItem);
+ window.localStorage.setItem(tracksQueue.localStorageKey(), JSON.stringify(items));
+ },
+ process: function process() {
+ if (!window.localStorage) {
+ return; // Not possible.
+ }
+
+ var items = tracksQueue.get();
+ tracksQueue.clear();
+ tracksDebug('Processing items in queue.', items);
+ items.forEach(function (item) {
+ if (_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1___default()(item) === 'object') {
+ tracksDebug('Processing item in queue.', item);
+ recordEvent.apply(null, item.args || undefined);
+ }
+ });
+ }
+};
+/**
+ * Queue a tracks event.
+ *
+ * This allows you to delay tracks events that would otherwise cause a race condition.
+ * For example, when we trigger `wcadmin_tasklist_appearance_continue_setup` we're simultaneously moving the user to a new page via
+ * `window.location`. This is an example of a race condition that should be avoided by enqueueing the event,
+ * and therefore running it on the next pageview.
+ *
+ * @param {string} eventName The name of the event to record, don't include the wcadmin_ prefix
+ * @param {Object} eventProperties event properties to include in the event
+ */
+
+function queueRecordEvent(eventName, eventProperties) {
+ tracksQueue.add(eventName, eventProperties);
+}
+/**
+ * Record a page view to Tracks
+ *
+ * @param {string} path the page/path to record a page view for
+ * @param {Object} extraProperties extra event properties to include in the event
+ */
+
+function recordPageView(path, extraProperties) {
+ if (!path) {
+ return;
+ }
+
+ recordEvent('page_view', _objectSpread({
+ path: path
+ }, extraProperties)); // Process queue.
+
+ tracksQueue.process();
+}
+
+/***/ }),
+
+/***/ 8:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _possibleConstructorReturn; });
+/* harmony import */ var _helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(89);
+/* harmony import */ var _assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5);
+
+
+function _possibleConstructorReturn(self, call) {
+ if (call && (Object(_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(call) === "object" || typeof call === "function")) {
+ return call;
+ }
+
+ return Object(_assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(self);
+}
+
+/***/ }),
+
+/***/ 80:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Dashicon; });
+/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11);
+/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16);
+/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7);
+/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6);
+/* harmony import */ var _babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8);
+/* harmony import */ var _babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(4);
+/* harmony import */ var _babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(9);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__);
+/* harmony import */ var _primitives__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(62);
+
+
+
+
+
+
+
+
+
+/* !!!
+IF YOU ARE EDITING dashicon/index.jsx
+THEN YOU ARE EDITING A FILE THAT GETS OUTPUT FROM THE DASHICONS REPO!
+DO NOT EDIT THAT FILE! EDIT index-header.jsx and index-footer.jsx instead
+OR if you're looking to change now SVGs get output, you'll need to edit strings in the Gruntfile :)
+!!! */
+
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var Dashicon =
+/*#__PURE__*/
+function (_Component) {
+ Object(_babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"])(Dashicon, _Component);
+
+ function Dashicon() {
+ Object(_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(this, Dashicon);
+
+ return Object(_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"])(this, Object(_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])(Dashicon).apply(this, arguments));
+ }
+
+ Object(_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])(Dashicon, [{
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ icon = _this$props.icon,
+ _this$props$size = _this$props.size,
+ size = _this$props$size === void 0 ? 20 : _this$props$size,
+ className = _this$props.className,
+ extraProps = Object(_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(_this$props, ["icon", "size", "className"]);
+
+ var path;
+
+ switch (icon) {
+ case 'admin-appearance':
+ path = 'M14.48 11.06L7.41 3.99l1.5-1.5c.5-.56 2.3-.47 3.51.32 1.21.8 1.43 1.28 2.91 2.1 1.18.64 2.45 1.26 4.45.85zm-.71.71L6.7 4.7 4.93 6.47c-.39.39-.39 1.02 0 1.41l1.06 1.06c.39.39.39 1.03 0 1.42-.6.6-1.43 1.11-2.21 1.69-.35.26-.7.53-1.01.84C1.43 14.23.4 16.08 1.4 17.07c.99 1 2.84-.03 4.18-1.36.31-.31.58-.66.85-1.02.57-.78 1.08-1.61 1.69-2.21.39-.39 1.02-.39 1.41 0l1.06 1.06c.39.39 1.02.39 1.41 0z';
+ break;
+
+ case 'admin-collapse':
+ path = 'M10 2.16c4.33 0 7.84 3.51 7.84 7.84s-3.51 7.84-7.84 7.84S2.16 14.33 2.16 10 5.71 2.16 10 2.16zm2 11.72V6.12L6.18 9.97z';
+ break;
+
+ case 'admin-comments':
+ path = 'M5 2h9c1.1 0 2 .9 2 2v7c0 1.1-.9 2-2 2h-2l-5 5v-5H5c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2z';
+ break;
+
+ case 'admin-customizer':
+ path = 'M18.33 3.57s.27-.8-.31-1.36c-.53-.52-1.22-.24-1.22-.24-.61.3-5.76 3.47-7.67 5.57-.86.96-2.06 3.79-1.09 4.82.92.98 3.96-.17 4.79-1 2.06-2.06 5.21-7.17 5.5-7.79zM1.4 17.65c2.37-1.56 1.46-3.41 3.23-4.64.93-.65 2.22-.62 3.08.29.63.67.8 2.57-.16 3.46-1.57 1.45-4 1.55-6.15.89z';
+ break;
+
+ case 'admin-generic':
+ path = 'M18 12h-2.18c-.17.7-.44 1.35-.81 1.93l1.54 1.54-2.1 2.1-1.54-1.54c-.58.36-1.23.63-1.91.79V19H8v-2.18c-.68-.16-1.33-.43-1.91-.79l-1.54 1.54-2.12-2.12 1.54-1.54c-.36-.58-.63-1.23-.79-1.91H1V9.03h2.17c.16-.7.44-1.35.8-1.94L2.43 5.55l2.1-2.1 1.54 1.54c.58-.37 1.24-.64 1.93-.81V2h3v2.18c.68.16 1.33.43 1.91.79l1.54-1.54 2.12 2.12-1.54 1.54c.36.59.64 1.24.8 1.94H18V12zm-8.5 1.5c1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3 1.34 3 3 3z';
+ break;
+
+ case 'admin-home':
+ path = 'M16 8.5l1.53 1.53-1.06 1.06L10 4.62l-6.47 6.47-1.06-1.06L10 2.5l4 4v-2h2v4zm-6-2.46l6 5.99V18H4v-5.97zM12 17v-5H8v5h4z';
+ break;
+
+ case 'admin-links':
+ path = 'M17.74 2.76c1.68 1.69 1.68 4.41 0 6.1l-1.53 1.52c-1.12 1.12-2.7 1.47-4.14 1.09l2.62-2.61.76-.77.76-.76c.84-.84.84-2.2 0-3.04-.84-.85-2.2-.85-3.04 0l-.77.76-3.38 3.38c-.37-1.44-.02-3.02 1.1-4.14l1.52-1.53c1.69-1.68 4.42-1.68 6.1 0zM8.59 13.43l5.34-5.34c.42-.42.42-1.1 0-1.52-.44-.43-1.13-.39-1.53 0l-5.33 5.34c-.42.42-.42 1.1 0 1.52.44.43 1.13.39 1.52 0zm-.76 2.29l4.14-4.15c.38 1.44.03 3.02-1.09 4.14l-1.52 1.53c-1.69 1.68-4.41 1.68-6.1 0-1.68-1.68-1.68-4.42 0-6.1l1.53-1.52c1.12-1.12 2.7-1.47 4.14-1.1l-4.14 4.15c-.85.84-.85 2.2 0 3.05.84.84 2.2.84 3.04 0z';
+ break;
+
+ case 'admin-media':
+ path = 'M13 11V4c0-.55-.45-1-1-1h-1.67L9 1H5L3.67 3H2c-.55 0-1 .45-1 1v7c0 .55.45 1 1 1h10c.55 0 1-.45 1-1zM7 4.5c1.38 0 2.5 1.12 2.5 2.5S8.38 9.5 7 9.5 4.5 8.38 4.5 7 5.62 4.5 7 4.5zM14 6h5v10.5c0 1.38-1.12 2.5-2.5 2.5S14 17.88 14 16.5s1.12-2.5 2.5-2.5c.17 0 .34.02.5.05V9h-3V6zm-4 8.05V13h2v3.5c0 1.38-1.12 2.5-2.5 2.5S7 17.88 7 16.5 8.12 14 9.5 14c.17 0 .34.02.5.05z';
+ break;
+
+ case 'admin-multisite':
+ path = 'M14.27 6.87L10 3.14 5.73 6.87 5 6.14l5-4.38 5 4.38zM14 8.42l-4.05 3.43L6 8.38v-.74l4-3.5 4 3.5v.78zM11 9.7V8H9v1.7h2zm-1.73 4.03L5 10 .73 13.73 0 13l5-4.38L10 13zm10 0L15 10l-4.27 3.73L10 13l5-4.38L20 13zM5 11l4 3.5V18H1v-3.5zm10 0l4 3.5V18h-8v-3.5zm-9 6v-2H4v2h2zm10 0v-2h-2v2h2z';
+ break;
+
+ case 'admin-network':
+ path = 'M16.95 2.58c1.96 1.95 1.96 5.12 0 7.07-1.51 1.51-3.75 1.84-5.59 1.01l-1.87 3.31-2.99.31L5 18H2l-1-2 7.95-7.69c-.92-1.87-.62-4.18.93-5.73 1.95-1.96 5.12-1.96 7.07 0zm-2.51 3.79c.74 0 1.33-.6 1.33-1.34 0-.73-.59-1.33-1.33-1.33-.73 0-1.33.6-1.33 1.33 0 .74.6 1.34 1.33 1.34z';
+ break;
+
+ case 'admin-page':
+ path = 'M6 15V2h10v13H6zm-1 1h8v2H3V5h2v11z';
+ break;
+
+ case 'admin-plugins':
+ path = 'M13.11 4.36L9.87 7.6 8 5.73l3.24-3.24c.35-.34 1.05-.2 1.56.32.52.51.66 1.21.31 1.55zm-8 1.77l.91-1.12 9.01 9.01-1.19.84c-.71.71-2.63 1.16-3.82 1.16H6.14L4.9 17.26c-.59.59-1.54.59-2.12 0-.59-.58-.59-1.53 0-2.12l1.24-1.24v-3.88c0-1.13.4-3.19 1.09-3.89zm7.26 3.97l3.24-3.24c.34-.35 1.04-.21 1.55.31.52.51.66 1.21.31 1.55l-3.24 3.25z';
+ break;
+
+ case 'admin-post':
+ path = 'M10.44 3.02l1.82-1.82 6.36 6.35-1.83 1.82c-1.05-.68-2.48-.57-3.41.36l-.75.75c-.92.93-1.04 2.35-.35 3.41l-1.83 1.82-2.41-2.41-2.8 2.79c-.42.42-3.38 2.71-3.8 2.29s1.86-3.39 2.28-3.81l2.79-2.79L4.1 9.36l1.83-1.82c1.05.69 2.48.57 3.4-.36l.75-.75c.93-.92 1.05-2.35.36-3.41z';
+ break;
+
+ case 'admin-settings':
+ path = 'M18 16V4c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h13c.55 0 1-.45 1-1zM8 11h1c.55 0 1 .45 1 1s-.45 1-1 1H8v1.5c0 .28-.22.5-.5.5s-.5-.22-.5-.5V13H6c-.55 0-1-.45-1-1s.45-1 1-1h1V5.5c0-.28.22-.5.5-.5s.5.22.5.5V11zm5-2h-1c-.55 0-1-.45-1-1s.45-1 1-1h1V5.5c0-.28.22-.5.5-.5s.5.22.5.5V7h1c.55 0 1 .45 1 1s-.45 1-1 1h-1v5.5c0 .28-.22.5-.5.5s-.5-.22-.5-.5V9z';
+ break;
+
+ case 'admin-site-alt':
+ path = 'M9 0C4.03 0 0 4.03 0 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zm7.5 6.48c-.274.896-.908 1.64-1.75 2.05-.45-1.69-1.658-3.074-3.27-3.75.13-.444.41-.83.79-1.09-.43-.28-1-.42-1.34.07-.53.69 0 1.61.21 2v.14c-.555-.337-.99-.84-1.24-1.44-.966-.03-1.922.208-2.76.69-.087-.565-.032-1.142.16-1.68.733.07 1.453-.23 1.92-.8.46-.52-.13-1.18-.59-1.58h.36c1.36-.01 2.702.335 3.89 1 1.36 1.005 2.194 2.57 2.27 4.26.24 0 .7-.55.91-.92.172.34.32.69.44 1.05zM9 16.84c-2.05-2.08.25-3.75-1-5.24-.92-.85-2.29-.26-3.11-1.23-.282-1.473.267-2.982 1.43-3.93.52-.44 4-1 5.42.22.83.715 1.415 1.674 1.67 2.74.46.035.918-.066 1.32-.29.41 2.98-3.15 6.74-5.73 7.73zM5.15 2.09c.786-.3 1.676-.028 2.16.66-.42.38-.94.63-1.5.72.02-.294.085-.584.19-.86l-.85-.52z';
+ break;
+
+ case 'admin-site-alt2':
+ path = 'M9 0C4.03 0 0 4.03 0 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zm2.92 12.34c0 .35.14.63.36.66.22.03.47-.22.58-.6l.2.08c.718.384 1.07 1.22.84 2-.15.69-.743 1.198-1.45 1.24-.49-1.21-2.11.06-3.56-.22-.612-.154-1.11-.6-1.33-1.19 1.19-.11 2.85-1.73 4.36-1.97zM8 11.27c.918 0 1.695-.68 1.82-1.59.44.54.41 1.324-.07 1.83-.255.223-.594.325-.93.28-.335-.047-.635-.236-.82-.52zm3-.76c.41.39 3-.06 3.52 1.09-.95-.2-2.95.61-3.47-1.08l-.05-.01zM9.73 5.45v.27c-.65-.77-1.33-1.07-1.61-.57-.28.5 1 1.11.76 1.88-.24.77-1.27.56-1.88 1.61-.61 1.05-.49 2.42 1.24 3.67-1.192-.132-2.19-.962-2.54-2.11-.4-1.2-.09-2.26-.78-2.46C4 7.46 3 8.71 3 9.8c-1.26-1.26.05-2.86-1.2-4.18C3.5 1.998 7.644.223 11.44 1.49c-1.1 1.02-1.722 2.458-1.71 3.96z';
+ break;
+
+ case 'admin-site-alt3':
+ path = 'M9 0C4.03 0 0 4.03 0 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zM1.11 9.68h2.51c.04.91.167 1.814.38 2.7H1.84c-.403-.85-.65-1.764-.73-2.7zm8.57-5.4V1.19c.964.366 1.756 1.08 2.22 2 .205.347.386.708.54 1.08l-2.76.01zm3.22 1.35c.232.883.37 1.788.41 2.7H9.68v-2.7h3.22zM8.32 1.19v3.09H5.56c.154-.372.335-.733.54-1.08.462-.924 1.255-1.64 2.22-2.01zm0 4.44v2.7H4.7c.04-.912.178-1.817.41-2.7h3.21zm-4.7 2.69H1.11c.08-.936.327-1.85.73-2.7H4c-.213.886-.34 1.79-.38 2.7zM4.7 9.68h3.62v2.7H5.11c-.232-.883-.37-1.788-.41-2.7zm3.63 4v3.09c-.964-.366-1.756-1.08-2.22-2-.205-.347-.386-.708-.54-1.08l2.76-.01zm1.35 3.09v-3.04h2.76c-.154.372-.335.733-.54 1.08-.464.92-1.256 1.634-2.22 2v-.04zm0-4.44v-2.7h3.62c-.04.912-.178 1.817-.41 2.7H9.68zm4.71-2.7h2.51c-.08.936-.327 1.85-.73 2.7H14c.21-.87.337-1.757.38-2.65l.01-.05zm0-1.35c-.046-.894-.176-1.78-.39-2.65h2.16c.403.85.65 1.764.73 2.7l-2.5-.05zm1-4H13.6c-.324-.91-.793-1.76-1.39-2.52 1.244.56 2.325 1.426 3.14 2.52h.04zm-9.6-2.52c-.597.76-1.066 1.61-1.39 2.52H2.65c.815-1.094 1.896-1.96 3.14-2.52zm-3.15 12H4.4c.324.91.793 1.76 1.39 2.52-1.248-.567-2.33-1.445-3.14-2.55l-.01.03zm9.56 2.52c.597-.76 1.066-1.61 1.39-2.52h1.76c-.82 1.08-1.9 1.933-3.14 2.48l-.01.04z';
+ break;
+
+ case 'admin-site':
+ path = 'M9 0C4.03 0 0 4.03 0 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zm3.46 11.95c0 1.47-.8 3.3-4.06 4.7.3-4.17-2.52-3.69-3.2-5 .126-1.1.804-2.063 1.8-2.55-1.552-.266-3-.96-4.18-2 .05.47.28.904.64 1.21-.782-.295-1.458-.817-1.94-1.5.977-3.225 3.883-5.482 7.25-5.63-.84 1.38-1.5 4.13 0 5.57C7.23 7 6.26 5 5.41 5.79c-1.13 1.06.33 2.51 3.42 3.08 3.29.59 3.66 1.58 3.63 3.08zm1.34-4c-.32-1.11.62-2.23 1.69-3.14 1.356 1.955 1.67 4.45.84 6.68-.77-1.89-2.17-2.32-2.53-3.57v.03z';
+ break;
+
+ case 'admin-tools':
+ path = 'M16.68 9.77c-1.34 1.34-3.3 1.67-4.95.99l-5.41 6.52c-.99.99-2.59.99-3.58 0s-.99-2.59 0-3.57l6.52-5.42c-.68-1.65-.35-3.61.99-4.95 1.28-1.28 3.12-1.62 4.72-1.06l-2.89 2.89 2.82 2.82 2.86-2.87c.53 1.58.18 3.39-1.08 4.65zM3.81 16.21c.4.39 1.04.39 1.43 0 .4-.4.4-1.04 0-1.43-.39-.4-1.03-.4-1.43 0-.39.39-.39 1.03 0 1.43z';
+ break;
+
+ case 'admin-users':
+ path = 'M10 9.25c-2.27 0-2.73-3.44-2.73-3.44C7 4.02 7.82 2 9.97 2c2.16 0 2.98 2.02 2.71 3.81 0 0-.41 3.44-2.68 3.44zm0 2.57L12.72 10c2.39 0 4.52 2.33 4.52 4.53v2.49s-3.65 1.13-7.24 1.13c-3.65 0-7.24-1.13-7.24-1.13v-2.49c0-2.25 1.94-4.48 4.47-4.48z';
+ break;
+
+ case 'album':
+ path = 'M0 18h10v-.26c1.52.4 3.17.35 4.76-.24 4.14-1.52 6.27-6.12 4.75-10.26-1.43-3.89-5.58-6-9.51-4.98V2H0v16zM9 3v14H1V3h8zm5.45 8.22c-.68 1.35-2.32 1.9-3.67 1.23-.31-.15-.57-.35-.78-.59V8.13c.8-.86 2.11-1.13 3.22-.58 1.35.68 1.9 2.32 1.23 3.67zm-2.75-.82c.22.16.53.12.7-.1.16-.22.12-.53-.1-.7s-.53-.12-.7.1c-.16.21-.12.53.1.7zm3.01 3.67c-1.17.78-2.56.99-3.83.69-.27-.06-.44-.34-.37-.61s.34-.43.62-.36l.17.04c.96.17 1.98-.01 2.86-.59.47-.32.86-.72 1.14-1.18.15-.23.45-.3.69-.16.23.15.3.46.16.69-.36.57-.84 1.08-1.44 1.48zm1.05 1.57c-1.48.99-3.21 1.32-4.84 1.06-.28-.05-.47-.32-.41-.6.05-.27.32-.45.61-.39l.22.04c1.31.15 2.68-.14 3.87-.94.71-.47 1.27-1.07 1.7-1.74.14-.24.45-.31.68-.16.24.14.31.45.16.69-.49.79-1.16 1.49-1.99 2.04z';
+ break;
+
+ case 'align-center':
+ path = 'M3 5h14V3H3v2zm12 8V7H5v6h10zM3 17h14v-2H3v2z';
+ break;
+
+ case 'align-full-width':
+ path = 'M17 13V3H3v10h14zM5 17h10v-2H5v2z';
+ break;
+
+ case 'align-left':
+ path = 'M3 5h14V3H3v2zm9 8V7H3v6h9zm2-4h3V7h-3v2zm0 4h3v-2h-3v2zM3 17h14v-2H3v2z';
+ break;
+
+ case 'align-none':
+ path = 'M3 5h14V3H3v2zm10 8V7H3v6h10zM3 17h14v-2H3v2z';
+ break;
+
+ case 'align-pull-left':
+ path = 'M9 16V4H3v12h6zm2-7h6V7h-6v2zm0 4h6v-2h-6v2z';
+ break;
+
+ case 'align-pull-right':
+ path = 'M17 16V4h-6v12h6zM9 7H3v2h6V7zm0 4H3v2h6v-2z';
+ break;
+
+ case 'align-right':
+ path = 'M3 5h14V3H3v2zm0 4h3V7H3v2zm14 4V7H8v6h9zM3 13h3v-2H3v2zm0 4h14v-2H3v2z';
+ break;
+
+ case 'align-wide':
+ path = 'M5 5h10V3H5v2zm12 8V7H3v6h14zM5 17h10v-2H5v2z';
+ break;
+
+ case 'analytics':
+ path = 'M18 18V2H2v16h16zM16 5H4V4h12v1zM7 7v3h3c0 1.66-1.34 3-3 3s-3-1.34-3-3 1.34-3 3-3zm1 2V7c1.1 0 2 .9 2 2H8zm8-1h-4V7h4v1zm0 3h-4V9h4v2zm0 2h-4v-1h4v1zm0 3H4v-1h12v1z';
+ break;
+
+ case 'archive':
+ path = 'M19 4v2H1V4h18zM2 7h16v10H2V7zm11 3V9H7v1h6z';
+ break;
+
+ case 'arrow-down-alt':
+ path = 'M9 2h2v12l4-4 2 1-7 7-7-7 2-1 4 4V2z';
+ break;
+
+ case 'arrow-down-alt2':
+ path = 'M5 6l5 5 5-5 2 1-7 7-7-7z';
+ break;
+
+ case 'arrow-down':
+ path = 'M15 8l-4.03 6L7 8h8z';
+ break;
+
+ case 'arrow-left-alt':
+ path = 'M18 9v2H6l4 4-1 2-7-7 7-7 1 2-4 4h12z';
+ break;
+
+ case 'arrow-left-alt2':
+ path = 'M14 5l-5 5 5 5-1 2-7-7 7-7z';
+ break;
+
+ case 'arrow-left':
+ path = 'M13 14L7 9.97 13 6v8z';
+ break;
+
+ case 'arrow-right-alt':
+ path = 'M2 11V9h12l-4-4 1-2 7 7-7 7-1-2 4-4H2z';
+ break;
+
+ case 'arrow-right-alt2':
+ path = 'M6 15l5-5-5-5 1-2 7 7-7 7z';
+ break;
+
+ case 'arrow-right':
+ path = 'M8 6l6 4.03L8 14V6z';
+ break;
+
+ case 'arrow-up-alt':
+ path = 'M11 18H9V6l-4 4-2-1 7-7 7 7-2 1-4-4v12z';
+ break;
+
+ case 'arrow-up-alt2':
+ path = 'M15 14l-5-5-5 5-2-1 7-7 7 7z';
+ break;
+
+ case 'arrow-up':
+ path = 'M7 13l4.03-6L15 13H7z';
+ break;
+
+ case 'art':
+ path = 'M8.55 3.06c1.01.34-1.95 2.01-.1 3.13 1.04.63 3.31-2.22 4.45-2.86.97-.54 2.67-.65 3.53 1.23 1.09 2.38.14 8.57-3.79 11.06-3.97 2.5-8.97 1.23-10.7-2.66-2.01-4.53 3.12-11.09 6.61-9.9zm1.21 6.45c.73 1.64 4.7-.5 3.79-2.8-.59-1.49-4.48 1.25-3.79 2.8z';
+ break;
+
+ case 'awards':
+ path = 'M4.46 5.16L5 7.46l-.54 2.29 2.01 1.24L7.7 13l2.3-.54 2.3.54 1.23-2.01 2.01-1.24L15 7.46l.54-2.3-2-1.24-1.24-2.01-2.3.55-2.29-.54-1.25 2zm5.55 6.34C7.79 11.5 6 9.71 6 7.49c0-2.2 1.79-3.99 4.01-3.99 2.2 0 3.99 1.79 3.99 3.99 0 2.22-1.79 4.01-3.99 4.01zm-.02-1C8.33 10.5 7 9.16 7 7.5c0-1.65 1.33-3 2.99-3S13 5.85 13 7.5c0 1.66-1.35 3-3.01 3zm3.84 1.1l-1.28 2.24-2.08-.47L13 19.2l1.4-2.2h2.5zm-7.7.07l1.25 2.25 2.13-.51L7 19.2 5.6 17H3.1z';
+ break;
+
+ case 'backup':
+ path = 'M13.65 2.88c3.93 2.01 5.48 6.84 3.47 10.77s-6.83 5.48-10.77 3.47c-1.87-.96-3.2-2.56-3.86-4.4l1.64-1.03c.45 1.57 1.52 2.95 3.08 3.76 3.01 1.54 6.69.35 8.23-2.66 1.55-3.01.36-6.69-2.65-8.24C9.78 3.01 6.1 4.2 4.56 7.21l1.88.97-4.95 3.08-.39-5.82 1.78.91C4.9 2.4 9.75.89 13.65 2.88zm-4.36 7.83C9.11 10.53 9 10.28 9 10c0-.07.03-.12.04-.19h-.01L10 5l.97 4.81L14 13l-4.5-2.12.02-.02c-.08-.04-.16-.09-.23-.15z';
+ break;
+
+ case 'block-default':
+ path = 'M15 6V4h-3v2H8V4H5v2H4c-.6 0-1 .4-1 1v8h14V7c0-.6-.4-1-1-1h-1z';
+ break;
+
+ case 'book-alt':
+ path = 'M5 17h13v2H5c-1.66 0-3-1.34-3-3V4c0-1.66 1.34-3 3-3h13v14H5c-.55 0-1 .45-1 1s.45 1 1 1zm2-3.5v-11c0-.28-.22-.5-.5-.5s-.5.22-.5.5v11c0 .28.22.5.5.5s.5-.22.5-.5z';
+ break;
+
+ case 'book':
+ path = 'M16 3h2v16H5c-1.66 0-3-1.34-3-3V4c0-1.66 1.34-3 3-3h9v14H5c-.55 0-1 .45-1 1s.45 1 1 1h11V3z';
+ break;
+
+ case 'buddicons-activity':
+ path = 'M8 1v7h2V6c0-1.52 1.45-3 3-3v.86c.55-.52 1.26-.86 2-.86v3h1c1.1 0 2 .9 2 2s-.9 2-2 2h-1v6c0 .55-.45 1-1 1s-1-.45-1-1v-2.18c-.31.11-.65.18-1 .18v2c0 .55-.45 1-1 1s-1-.45-1-1v-2H8v2c0 .55-.45 1-1 1s-1-.45-1-1v-2c-.35 0-.69-.07-1-.18V16c0 .55-.45 1-1 1s-1-.45-1-1v-4H2v-1c0-1.66 1.34-3 3-3h2V1h1zm5 7c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1z';
+ break;
+
+ case 'buddicons-bbpress-logo':
+ path = 'M8.5 12.6c.3-1.3 0-2.3-1.1-2.3-.8 0-1.6.6-1.8 1.5l-.3 1.7c-.3 1 .3 1.5 1 1.5 1.2 0 1.9-1.1 2.2-2.4zm-4-6.4C3.7 7.3 3.3 8.6 3.3 10c0 1 .2 1.9.6 2.8l1-4.6c.3-1.7.4-2-.4-2zm9.3 6.4c.3-1.3 0-2.3-1.1-2.3-.8 0-1.6.6-1.8 1.5l-.4 1.7c-.2 1.1.4 1.6 1.1 1.6 1.1-.1 1.9-1.2 2.2-2.5zM10 3.3c-2 0-3.9.9-5.1 2.3.6-.1 1.4-.2 1.8-.3.2 0 .2.1.2.2 0 .2-1 4.8-1 4.8.5-.3 1.2-.7 1.8-.7.9 0 1.5.4 1.9.9l.5-2.4c.4-1.6.4-1.9-.4-1.9-.4 0-.4-.5 0-.6.6-.1 1.8-.2 2.3-.3.2 0 .2.1.2.2l-1 4.8c.5-.4 1.2-.7 1.9-.7 1.7 0 2.5 1.3 2.1 3-.3 1.7-2 3-3.8 3-1.3 0-2.1-.7-2.3-1.4-.7.8-1.7 1.3-2.8 1.4 1.1.7 2.4 1.1 3.7 1.1 3.7 0 6.7-3 6.7-6.7s-3-6.7-6.7-6.7zM10 2c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 15.5c-2.1 0-4-.8-5.3-2.2-.3-.4-.7-.8-1-1.2-.7-1.2-1.2-2.6-1.2-4.1 0-4.1 3.4-7.5 7.5-7.5s7.5 3.4 7.5 7.5-3.4 7.5-7.5 7.5z';
+ break;
+
+ case 'buddicons-buddypress-logo':
+ path = 'M10 0c5.52 0 10 4.48 10 10s-4.48 10-10 10S0 15.52 0 10 4.48 0 10 0zm0 .5C4.75.5.5 4.75.5 10s4.25 9.5 9.5 9.5 9.5-4.25 9.5-9.5S15.25.5 10 .5zm0 1c4.7 0 8.5 3.8 8.5 8.5s-3.8 8.5-8.5 8.5-8.5-3.8-8.5-8.5S5.3 1.5 10 1.5zm1.8 1.71c-.57 0-1.1.17-1.55.45 1.56.37 2.73 1.77 2.73 3.45 0 .69-.21 1.33-.55 1.87 1.31-.29 2.29-1.45 2.29-2.85 0-1.61-1.31-2.92-2.92-2.92zm-2.38 1c-1.61 0-2.92 1.31-2.92 2.93 0 1.61 1.31 2.92 2.92 2.92 1.62 0 2.93-1.31 2.93-2.92 0-1.62-1.31-2.93-2.93-2.93zm4.25 5.01l-.51.59c2.34.69 2.45 3.61 2.45 3.61h1.28c0-4.71-3.22-4.2-3.22-4.2zm-2.1.8l-2.12 2.09-2.12-2.09C3.12 10.24 3.89 15 3.89 15h11.08c.47-4.98-3.4-4.98-3.4-4.98z';
+ break;
+
+ case 'buddicons-community':
+ path = 'M9 3c0-.67-.47-1.43-1-2-.5.5-1 1.38-1 2 0 .48.45 1 1 1s1-.47 1-1zm4 0c0-.67-.47-1.43-1-2-.5.5-1 1.38-1 2 0 .48.45 1 1 1s1-.47 1-1zM9 9V5.5c0-.55-.45-1-1-1-.57 0-1 .49-1 1V9c0 .55.45 1 1 1 .57 0 1-.49 1-1zm4 0V5.5c0-.55-.45-1-1-1-.57 0-1 .49-1 1V9c0 .55.45 1 1 1 .57 0 1-.49 1-1zm4 1c0-1.48-1.41-2.77-3.5-3.46V9c0 .83-.67 1.5-1.5 1.5s-1.5-.67-1.5-1.5V6.01c-.17 0-.33-.01-.5-.01s-.33.01-.5.01V9c0 .83-.67 1.5-1.5 1.5S6.5 9.83 6.5 9V6.54C4.41 7.23 3 8.52 3 10c0 1.41.95 2.65 3.21 3.37 1.11.35 2.39 1.12 3.79 1.12s2.69-.78 3.79-1.13C16.04 12.65 17 11.41 17 10zm-7 5.43c1.43 0 2.74-.79 3.88-1.11 1.9-.53 2.49-1.34 3.12-2.32v3c0 2.21-3.13 4-7 4s-7-1.79-7-4v-3c.64.99 1.32 1.8 3.15 2.33 1.13.33 2.44 1.1 3.85 1.1z';
+ break;
+
+ case 'buddicons-forums':
+ path = 'M13.5 7h-7C5.67 7 5 6.33 5 5.5S5.67 4 6.5 4h1.59C8.04 3.84 8 3.68 8 3.5 8 2.67 8.67 2 9.5 2h1c.83 0 1.5.67 1.5 1.5 0 .18-.04.34-.09.5h1.59c.83 0 1.5.67 1.5 1.5S14.33 7 13.5 7zM4 8h12c.55 0 1 .45 1 1s-.45 1-1 1H4c-.55 0-1-.45-1-1s.45-1 1-1zm1 3h10c.55 0 1 .45 1 1s-.45 1-1 1H5c-.55 0-1-.45-1-1s.45-1 1-1zm2 3h6c.55 0 1 .45 1 1s-.45 1-1 1h-1.09c.05.16.09.32.09.5 0 .83-.67 1.5-1.5 1.5h-1c-.83 0-1.5-.67-1.5-1.5 0-.18.04-.34.09-.5H7c-.55 0-1-.45-1-1s.45-1 1-1z';
+ break;
+
+ case 'buddicons-friends':
+ path = 'M8.75 5.77C8.75 4.39 7 2 7 2S5.25 4.39 5.25 5.77 5.9 7.5 7 7.5s1.75-.35 1.75-1.73zm6 0C14.75 4.39 13 2 13 2s-1.75 2.39-1.75 3.77S11.9 7.5 13 7.5s1.75-.35 1.75-1.73zM9 17V9c0-.55-.45-1-1-1H6c-.55 0-1 .45-1 1v8c0 .55.45 1 1 1h2c.55 0 1-.45 1-1zm6 0V9c0-.55-.45-1-1-1h-2c-.55 0-1 .45-1 1v8c0 .55.45 1 1 1h2c.55 0 1-.45 1-1zm-9-6l2-1v2l-2 1v-2zm6 0l2-1v2l-2 1v-2zm-6 3l2-1v2l-2 1v-2zm6 0l2-1v2l-2 1v-2z';
+ break;
+
+ case 'buddicons-groups':
+ path = 'M15.45 6.25c1.83.94 1.98 3.18.7 4.98-.8 1.12-2.33 1.88-3.46 1.78L10.05 18H9l-2.65-4.99c-1.13.16-2.73-.63-3.55-1.79-1.28-1.8-1.13-4.04.71-4.97.48-.24.96-.33 1.43-.31-.01.4.01.8.07 1.21.26 1.69 1.41 3.53 2.86 4.37-.19.55-.49.99-.88 1.25L9 16.58v-5.66C7.64 10.55 6.26 8.76 6 7c-.4-2.65 1-5 3.5-5s3.9 2.35 3.5 5c-.26 1.76-1.64 3.55-3 3.92v5.77l2.07-3.84c-.44-.23-.77-.71-.99-1.3 1.48-.83 2.65-2.69 2.91-4.4.06-.41.08-.82.07-1.22.46-.01.92.08 1.39.32z';
+ break;
+
+ case 'buddicons-pm':
+ path = 'M10 2c3 0 8 5 8 5v11H2V7s5-5 8-5zm7 14.72l-3.73-2.92L17 11l-.43-.37-2.26 1.3.24-4.31-8.77-.52-.46 4.54-1.99-.95L3 11l3.73 2.8-3.44 2.85.4.43L10 13l6.53 4.15z';
+ break;
+
+ case 'buddicons-replies':
+ path = 'M17.54 10.29c1.17 1.17 1.17 3.08 0 4.25-1.18 1.17-3.08 1.17-4.25 0l-.34-.52c0 3.66-2 4.38-2.95 4.98-.82-.6-2.95-1.28-2.95-4.98l-.34.52c-1.17 1.17-3.07 1.17-4.25 0-1.17-1.17-1.17-3.08 0-4.25 0 0 1.02-.67 2.1-1.3C3.71 7.84 3.2 6.42 3.2 4.88c0-.34.03-.67.08-1C3.53 5.66 4.47 7.22 5.8 8.3c.67-.35 1.85-.83 2.37-.92H8c-1.1 0-2-.9-2-2s.9-2 2-2v-.5c0-.28.22-.5.5-.5s.5.22.5.5v.5h2v-.5c0-.28.22-.5.5-.5s.5.22.5.5v.5c1.1 0 2 .9 2 2s-.9 2-2 2h-.17c.51.09 1.78.61 2.38.92 1.33-1.08 2.27-2.64 2.52-4.42.05.33.08.66.08 1 0 1.54-.51 2.96-1.36 4.11 1.08.63 2.09 1.3 2.09 1.3zM8.5 6.38c.5 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1zm3-2c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1zm-2.3 5.73c-.12.11-.19.26-.19.43.02.25.23.46.49.46h1c.26 0 .47-.21.49-.46 0-.15-.07-.29-.19-.43-.08-.06-.18-.11-.3-.11h-1c-.12 0-.22.05-.3.11zM12 12.5c0-.12-.06-.28-.19-.38-.09-.07-.19-.12-.31-.12h-3c-.12 0-.22.05-.31.12-.11.1-.19.25-.19.38 0 .28.22.5.5.5h3c.28 0 .5-.22.5-.5zM8.5 15h3c.28 0 .5-.22.5-.5s-.22-.5-.5-.5h-3c-.28 0-.5.22-.5.5s.22.5.5.5zm1 2h1c.28 0 .5-.22.5-.5s-.22-.5-.5-.5h-1c-.28 0-.5.22-.5.5s.22.5.5.5z';
+ break;
+
+ case 'buddicons-topics':
+ path = 'M10.44 1.66c-.59-.58-1.54-.58-2.12 0L2.66 7.32c-.58.58-.58 1.53 0 2.12.6.6 1.56.56 2.12 0l5.66-5.66c.58-.58.59-1.53 0-2.12zm2.83 2.83c-.59-.59-1.54-.59-2.12 0l-5.66 5.66c-.59.58-.59 1.53 0 2.12.6.6 1.56.55 2.12 0l5.66-5.66c.58-.58.58-1.53 0-2.12zm1.06 6.72l4.18 4.18c.59.58.59 1.53 0 2.12s-1.54.59-2.12 0l-4.18-4.18-1.77 1.77c-.59.58-1.54.58-2.12 0-.59-.59-.59-1.54 0-2.13l5.66-5.65c.58-.59 1.53-.59 2.12 0 .58.58.58 1.53 0 2.12zM5 15c0-1.59-1.66-4-1.66-4S2 13.78 2 15s.6 2 1.34 2h.32C4.4 17 5 16.59 5 15z';
+ break;
+
+ case 'buddicons-tracking':
+ path = 'M10.98 6.78L15.5 15c-1 2-3.5 3-5.5 3s-4.5-1-5.5-3L9 6.82c-.75-1.23-2.28-1.98-4.29-2.03l2.46-2.92c1.68 1.19 2.46 2.32 2.97 3.31.56-.87 1.2-1.68 2.7-2.12l1.83 2.86c-1.42-.34-2.64.08-3.69.86zM8.17 10.4l-.93 1.69c.49.11 1 .16 1.54.16 1.35 0 2.58-.36 3.55-.95l-1.01-1.82c-.87.53-1.96.86-3.15.92zm.86 5.38c1.99 0 3.73-.74 4.74-1.86l-.98-1.76c-1 1.12-2.74 1.87-4.74 1.87-.62 0-1.21-.08-1.76-.21l-.63 1.15c.94.5 2.1.81 3.37.81z';
+ break;
+
+ case 'building':
+ path = 'M3 20h14V0H3v20zM7 3H5V1h2v2zm4 0H9V1h2v2zm4 0h-2V1h2v2zM7 6H5V4h2v2zm4 0H9V4h2v2zm4 0h-2V4h2v2zM7 9H5V7h2v2zm4 0H9V7h2v2zm4 0h-2V7h2v2zm-8 3H5v-2h2v2zm4 0H9v-2h2v2zm4 0h-2v-2h2v2zm-4 7H5v-6h6v6zm4-4h-2v-2h2v2zm0 3h-2v-2h2v2z';
+ break;
+
+ case 'businessman':
+ path = 'M7.3 6l-.03-.19c-.04-.37-.05-.73-.03-1.08.02-.36.1-.71.25-1.04.14-.32.31-.61.52-.86s.49-.46.83-.6c.34-.15.72-.23 1.13-.23.69 0 1.26.2 1.71.59s.76.87.91 1.44.18 1.16.09 1.78l-.03.19c-.01.09-.05.25-.11.48-.05.24-.12.47-.2.69-.08.21-.19.45-.34.72-.14.27-.3.49-.47.69-.18.19-.4.34-.67.48-.27.13-.55.19-.86.19s-.59-.06-.87-.19c-.26-.13-.49-.29-.67-.5-.18-.2-.34-.42-.49-.66-.15-.25-.26-.49-.34-.73-.09-.25-.16-.47-.21-.67-.06-.21-.1-.37-.12-.5zm9.2 6.24c.41.7.5 1.41.5 2.14v2.49c0 .03-.12.08-.29.13-.18.04-.42.13-.97.27-.55.12-1.1.24-1.65.34s-1.19.19-1.95.27c-.75.08-1.46.12-2.13.12-.68 0-1.39-.04-2.14-.12-.75-.07-1.4-.17-1.98-.27-.58-.11-1.08-.23-1.56-.34-.49-.11-.8-.21-1.06-.29L3 16.87v-2.49c0-.75.07-1.46.46-2.15s.81-1.25 1.5-1.68C5.66 10.12 7.19 10 8 10l1.67 1.67L9 13v3l1.02 1.08L11 16v-3l-.68-1.33L11.97 10c.77 0 2.2.07 2.9.52.71.45 1.21 1.02 1.63 1.72z';
+ break;
+
+ case 'button':
+ path = 'M17 5H3c-1.1 0-2 .9-2 2v6c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm1 7c0 .6-.4 1-1 1H3c-.6 0-1-.4-1-1V7c0-.6.4-1 1-1h14c.6 0 1 .4 1 1v5z';
+ break;
+
+ case 'calendar-alt':
+ path = 'M15 4h3v15H2V4h3V3c0-.41.15-.76.44-1.06.29-.29.65-.44 1.06-.44s.77.15 1.06.44c.29.3.44.65.44 1.06v1h4V3c0-.41.15-.76.44-1.06.29-.29.65-.44 1.06-.44s.77.15 1.06.44c.29.3.44.65.44 1.06v1zM6 3v2.5c0 .14.05.26.15.36.09.09.21.14.35.14s.26-.05.35-.14c.1-.1.15-.22.15-.36V3c0-.14-.05-.26-.15-.35-.09-.1-.21-.15-.35-.15s-.26.05-.35.15c-.1.09-.15.21-.15.35zm7 0v2.5c0 .14.05.26.14.36.1.09.22.14.36.14s.26-.05.36-.14c.09-.1.14-.22.14-.36V3c0-.14-.05-.26-.14-.35-.1-.1-.22-.15-.36-.15s-.26.05-.36.15c-.09.09-.14.21-.14.35zm4 15V8H3v10h14zM7 9v2H5V9h2zm2 0h2v2H9V9zm4 2V9h2v2h-2zm-6 1v2H5v-2h2zm2 0h2v2H9v-2zm4 2v-2h2v2h-2zm-6 1v2H5v-2h2zm4 2H9v-2h2v2zm4 0h-2v-2h2v2z';
+ break;
+
+ case 'calendar':
+ path = 'M15 4h3v14H2V4h3V3c0-.83.67-1.5 1.5-1.5S8 2.17 8 3v1h4V3c0-.83.67-1.5 1.5-1.5S15 2.17 15 3v1zM6 3v2.5c0 .28.22.5.5.5s.5-.22.5-.5V3c0-.28-.22-.5-.5-.5S6 2.72 6 3zm7 0v2.5c0 .28.22.5.5.5s.5-.22.5-.5V3c0-.28-.22-.5-.5-.5s-.5.22-.5.5zm4 14V8H3v9h14zM7 16V9H5v7h2zm4 0V9H9v7h2zm4 0V9h-2v7h2z';
+ break;
+
+ case 'camera':
+ path = 'M6 5V3H3v2h3zm12 10V4H9L7 6H2v9h16zm-7-8c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3z';
+ break;
+
+ case 'carrot':
+ path = 'M2 18.43c1.51 1.36 11.64-4.67 13.14-7.21.72-1.22-.13-3.01-1.52-4.44C15.2 5.73 16.59 9 17.91 8.31c.6-.32.99-1.31.7-1.92-.52-1.08-2.25-1.08-3.42-1.21.83-.2 2.82-1.05 2.86-2.25.04-.92-1.13-1.97-2.05-1.86-1.21.14-1.65 1.88-2.06 3-.05-.71-.2-2.27-.98-2.95-1.04-.91-2.29-.05-2.32 1.05-.04 1.33 2.82 2.07 1.92 3.67C11.04 4.67 9.25 4.03 8.1 4.7c-.49.31-1.05.91-1.63 1.69.89.94 2.12 2.07 3.09 2.72.2.14.26.42.11.62-.14.21-.42.26-.62.12-.99-.67-2.2-1.78-3.1-2.71-.45.67-.91 1.43-1.34 2.23.85.86 1.93 1.83 2.79 2.41.2.14.25.42.11.62-.14.21-.42.26-.63.12-.85-.58-1.86-1.48-2.71-2.32C2.4 13.69 1.1 17.63 2 18.43z';
+ break;
+
+ case 'cart':
+ path = 'M6 13h9c.55 0 1 .45 1 1s-.45 1-1 1H5c-.55 0-1-.45-1-1V4H2c-.55 0-1-.45-1-1s.45-1 1-1h3c.55 0 1 .45 1 1v2h13l-4 7H6v1zm-.5 3c.83 0 1.5.67 1.5 1.5S6.33 19 5.5 19 4 18.33 4 17.5 4.67 16 5.5 16zm9 0c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5-1.5-.67-1.5-1.5.67-1.5 1.5-1.5z';
+ break;
+
+ case 'category':
+ path = 'M5 7h13v10H2V4h7l2 2H4v9h1V7z';
+ break;
+
+ case 'chart-area':
+ path = 'M18 18l.01-12.28c.59-.35.99-.99.99-1.72 0-1.1-.9-2-2-2s-2 .9-2 2c0 .8.47 1.48 1.14 1.8l-4.13 6.58c-.33-.24-.73-.38-1.16-.38-.84 0-1.55.51-1.85 1.24l-2.14-1.53c.09-.22.14-.46.14-.71 0-1.11-.89-2-2-2-1.1 0-2 .89-2 2 0 .73.4 1.36.98 1.71L1 18h17zM17 3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zM5 10c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm5.85 3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1z';
+ break;
+
+ case 'chart-bar':
+ path = 'M18 18V2h-4v16h4zm-6 0V7H8v11h4zm-6 0v-8H2v8h4z';
+ break;
+
+ case 'chart-line':
+ path = 'M18 3.5c0 .62-.38 1.16-.92 1.38v13.11H1.99l4.22-6.73c-.13-.23-.21-.48-.21-.76C6 9.67 6.67 9 7.5 9S9 9.67 9 10.5c0 .13-.02.25-.05.37l1.44.63c.27-.3.67-.5 1.11-.5.18 0 .35.04.51.09l3.58-6.41c-.36-.27-.59-.7-.59-1.18 0-.83.67-1.5 1.5-1.5.19 0 .36.04.53.1l.05-.09v.11c.54.22.92.76.92 1.38zm-1.92 13.49V5.85l-3.29 5.89c.13.23.21.48.21.76 0 .83-.67 1.5-1.5 1.5s-1.5-.67-1.5-1.5l.01-.07-1.63-.72c-.25.18-.55.29-.88.29-.18 0-.35-.04-.51-.1l-3.2 5.09h12.29z';
+ break;
+
+ case 'chart-pie':
+ path = 'M10 10V3c3.87 0 7 3.13 7 7h-7zM9 4v7h7c0 3.87-3.13 7-7 7s-7-3.13-7-7 3.13-7 7-7z';
+ break;
+
+ case 'clipboard':
+ path = 'M11.9.39l1.4 1.4c1.61.19 3.5-.74 4.61.37s.18 3 .37 4.61l1.4 1.4c.39.39.39 1.02 0 1.41l-9.19 9.2c-.4.39-1.03.39-1.42 0L1.29 11c-.39-.39-.39-1.02 0-1.42l9.2-9.19c.39-.39 1.02-.39 1.41 0zm.58 2.25l-.58.58 4.95 4.95.58-.58c-.19-.6-.2-1.22-.15-1.82.02-.31.05-.62.09-.92.12-1 .18-1.63-.17-1.98s-.98-.29-1.98-.17c-.3.04-.61.07-.92.09-.6.05-1.22.04-1.82-.15zm4.02.93c.39.39.39 1.03 0 1.42s-1.03.39-1.42 0-.39-1.03 0-1.42 1.03-.39 1.42 0zm-6.72.36l-.71.7L15.44 11l.7-.71zM8.36 5.34l-.7.71 6.36 6.36.71-.7zM6.95 6.76l-.71.7 6.37 6.37.7-.71zM5.54 8.17l-.71.71 6.36 6.36.71-.71zM4.12 9.58l-.71.71 6.37 6.37.71-.71z';
+ break;
+
+ case 'clock':
+ path = 'M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm0 14c3.31 0 6-2.69 6-6s-2.69-6-6-6-6 2.69-6 6 2.69 6 6 6zm-.71-5.29c.07.05.14.1.23.15l-.02.02L14 13l-3.03-3.19L10 5l-.97 4.81h.01c0 .02-.01.05-.02.09S9 9.97 9 10c0 .28.1.52.29.71z';
+ break;
+
+ case 'cloud-saved':
+ path = 'M14.8 9c.1-.3.2-.6.2-1 0-2.2-1.8-4-4-4-1.5 0-2.9.9-3.5 2.2-.3-.1-.7-.2-1-.2C5.1 6 4 7.1 4 8.5c0 .2 0 .4.1.5-1.8.3-3.1 1.7-3.1 3.5C1 14.4 2.6 16 4.5 16h10c1.9 0 3.5-1.6 3.5-3.5 0-1.8-1.4-3.3-3.2-3.5zm-6.3 5.9l-3.2-3.2 1.4-1.4 1.8 1.8 3.8-3.8 1.4 1.4-5.2 5.2z';
+ break;
+
+ case 'cloud-upload':
+ path = 'M14.8 9c.1-.3.2-.6.2-1 0-2.2-1.8-4-4-4-1.5 0-2.9.9-3.5 2.2-.3-.1-.7-.2-1-.2C5.1 6 4 7.1 4 8.5c0 .2 0 .4.1.5-1.8.3-3.1 1.7-3.1 3.5C1 14.4 2.6 16 4.5 16H8v-3H5l4.5-4.5L14 13h-3v3h3.5c1.9 0 3.5-1.6 3.5-3.5 0-1.8-1.4-3.3-3.2-3.5z';
+ break;
+
+ case 'cloud':
+ path = 'M14.9 9c1.8.2 3.1 1.7 3.1 3.5 0 1.9-1.6 3.5-3.5 3.5h-10C2.6 16 1 14.4 1 12.5 1 10.7 2.3 9.3 4.1 9 4 8.9 4 8.7 4 8.5 4 7.1 5.1 6 6.5 6c.3 0 .7.1.9.2C8.1 4.9 9.4 4 11 4c2.2 0 4 1.8 4 4 0 .4-.1.7-.1 1z';
+ break;
+
+ case 'columns':
+ path = 'M3 15h6V5H3v10zm8 0h6V5h-6v10z';
+ break;
+
+ case 'controls-back':
+ path = 'M2 10l10-6v3.6L18 4v12l-6-3.6V16z';
+ break;
+
+ case 'controls-forward':
+ path = 'M18 10L8 16v-3.6L2 16V4l6 3.6V4z';
+ break;
+
+ case 'controls-pause':
+ path = 'M5 16V4h3v12H5zm7-12h3v12h-3V4z';
+ break;
+
+ case 'controls-play':
+ path = 'M5 4l10 6-10 6V4z';
+ break;
+
+ case 'controls-repeat':
+ path = 'M5 7v3l-2 1.5V5h11V3l4 3.01L14 9V7H5zm10 6v-3l2-1.5V15H6v2l-4-3.01L6 11v2h9z';
+ break;
+
+ case 'controls-skipback':
+ path = 'M11.98 7.63l6-3.6v12l-6-3.6v3.6l-8-4.8v4.8h-2v-12h2v4.8l8-4.8v3.6z';
+ break;
+
+ case 'controls-skipforward':
+ path = 'M8 12.4L2 16V4l6 3.6V4l8 4.8V4h2v12h-2v-4.8L8 16v-3.6z';
+ break;
+
+ case 'controls-volumeoff':
+ path = 'M2 7h4l5-4v14l-5-4H2V7z';
+ break;
+
+ case 'controls-volumeon':
+ path = 'M2 7h4l5-4v14l-5-4H2V7zm12.69-2.46C14.82 4.59 18 5.92 18 10s-3.18 5.41-3.31 5.46c-.06.03-.13.04-.19.04-.2 0-.39-.12-.46-.31-.11-.26.02-.55.27-.65.11-.05 2.69-1.15 2.69-4.54 0-3.41-2.66-4.53-2.69-4.54-.25-.1-.38-.39-.27-.65.1-.25.39-.38.65-.27zM16 10c0 2.57-2.23 3.43-2.32 3.47-.06.02-.12.03-.18.03-.2 0-.39-.12-.47-.32-.1-.26.04-.55.29-.65.07-.02 1.68-.67 1.68-2.53s-1.61-2.51-1.68-2.53c-.25-.1-.38-.39-.29-.65.1-.25.39-.39.65-.29.09.04 2.32.9 2.32 3.47z';
+ break;
+
+ case 'cover-image':
+ path = 'M2.2 1h15.5c.7 0 1.3.6 1.3 1.2v11.5c0 .7-.6 1.2-1.2 1.2H2.2c-.6.1-1.2-.5-1.2-1.1V2.2C1 1.6 1.6 1 2.2 1zM17 13V3H3v10h14zm-4-4s0-5 3-5v7c0 .6-.4 1-1 1H5c-.6 0-1-.4-1-1V7c2 0 3 4 3 4s1-4 3-4 3 2 3 2zM4 17h12v2H4z';
+ break;
+
+ case 'dashboard':
+ path = 'M3.76 16h12.48c1.1-1.37 1.76-3.11 1.76-5 0-4.42-3.58-8-8-8s-8 3.58-8 8c0 1.89.66 3.63 1.76 5zM10 4c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zM6 6c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm8 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm-5.37 5.55L12 7v6c0 1.1-.9 2-2 2s-2-.9-2-2c0-.57.24-1.08.63-1.45zM4 10c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm12 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm-5 3c0-.55-.45-1-1-1s-1 .45-1 1 .45 1 1 1 1-.45 1-1z';
+ break;
+
+ case 'desktop':
+ path = 'M3 2h14c.55 0 1 .45 1 1v10c0 .55-.45 1-1 1h-5v2h2c.55 0 1 .45 1 1v1H5v-1c0-.55.45-1 1-1h2v-2H3c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1zm13 9V4H4v7h12zM5 5h9L5 9V5z';
+ break;
+
+ case 'dismiss':
+ path = 'M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm5 11l-3-3 3-3-2-2-3 3-3-3-2 2 3 3-3 3 2 2 3-3 3 3z';
+ break;
+
+ case 'download':
+ path = 'M14.01 4v6h2V2H4v8h2.01V4h8zm-2 2v6h3l-5 6-5-6h3V6h4z';
+ break;
+
+ case 'edit':
+ path = 'M13.89 3.39l2.71 2.72c.46.46.42 1.24.03 1.64l-8.01 8.02-5.56 1.16 1.16-5.58s7.6-7.63 7.99-8.03c.39-.39 1.22-.39 1.68.07zm-2.73 2.79l-5.59 5.61 1.11 1.11 5.54-5.65zm-2.97 8.23l5.58-5.6-1.07-1.08-5.59 5.6z';
+ break;
+
+ case 'editor-aligncenter':
+ path = 'M14 5V3H6v2h8zm3 4V7H3v2h14zm-3 4v-2H6v2h8zm3 4v-2H3v2h14z';
+ break;
+
+ case 'editor-alignleft':
+ path = 'M12 5V3H3v2h9zm5 4V7H3v2h14zm-5 4v-2H3v2h9zm5 4v-2H3v2h14z';
+ break;
+
+ case 'editor-alignright':
+ path = 'M17 5V3H8v2h9zm0 4V7H3v2h14zm0 4v-2H8v2h9zm0 4v-2H3v2h14z';
+ break;
+
+ case 'editor-bold':
+ path = 'M6 4v13h4.54c1.37 0 2.46-.33 3.26-1 .8-.66 1.2-1.58 1.2-2.77 0-.84-.17-1.51-.51-2.01s-.9-.85-1.67-1.03v-.09c.57-.1 1.02-.4 1.36-.9s.51-1.13.51-1.91c0-1.14-.39-1.98-1.17-2.5C12.75 4.26 11.5 4 9.78 4H6zm2.57 5.15V6.26h1.36c.73 0 1.27.11 1.61.32.34.22.51.58.51 1.07 0 .54-.16.92-.47 1.15s-.82.35-1.51.35h-1.5zm0 2.19h1.6c1.44 0 2.16.53 2.16 1.61 0 .6-.17 1.05-.51 1.34s-.86.43-1.57.43H8.57v-3.38z';
+ break;
+
+ case 'editor-break':
+ path = 'M16 4h2v9H7v3l-5-4 5-4v3h9V4z';
+ break;
+
+ case 'editor-code':
+ path = 'M9 6l-4 4 4 4-1 2-6-6 6-6zm2 8l4-4-4-4 1-2 6 6-6 6z';
+ break;
+
+ case 'editor-contract':
+ path = 'M15.75 6.75L18 3v14l-2.25-3.75L17 12h-4v4l1.25-1.25L18 17H2l3.75-2.25L7 16v-4H3l1.25 1.25L2 17V3l2.25 3.75L3 8h4V4L5.75 5.25 2 3h16l-3.75 2.25L13 4v4h4z';
+ break;
+
+ case 'editor-customchar':
+ path = 'M10 5.4c1.27 0 2.24.36 2.91 1.08.66.71 1 1.76 1 3.13 0 1.28-.23 2.37-.69 3.27-.47.89-1.27 1.52-2.22 2.12v2h6v-2h-3.69c.92-.64 1.62-1.34 2.12-2.34.49-1.01.74-2.13.74-3.35 0-1.78-.55-3.19-1.65-4.22S11.92 3.54 10 3.54s-3.43.53-4.52 1.57c-1.1 1.04-1.65 2.44-1.65 4.2 0 1.21.24 2.31.73 3.33.48 1.01 1.19 1.71 2.1 2.36H3v2h6v-2c-.98-.64-1.8-1.28-2.24-2.17-.45-.89-.67-1.96-.67-3.22 0-1.37.33-2.41 1-3.13C7.75 5.76 8.72 5.4 10 5.4z';
+ break;
+
+ case 'editor-expand':
+ path = 'M7 8h6v4H7zm-5 5v4h4l-1.2-1.2L7 12l-3.8 2.2M14 17h4v-4l-1.2 1.2L13 12l2.2 3.8M14 3l1.3 1.3L13 8l3.8-2.2L18 7V3M6 3H2v4l1.2-1.2L7 8 4.7 4.3';
+ break;
+
+ case 'editor-help':
+ path = 'M17 10c0-3.87-3.14-7-7-7-3.87 0-7 3.13-7 7s3.13 7 7 7c3.86 0 7-3.13 7-7zm-6.3 1.48H9.14v-.43c0-.38.08-.7.24-.98s.46-.57.88-.89c.41-.29.68-.53.81-.71.14-.18.2-.39.2-.62 0-.25-.09-.44-.28-.58-.19-.13-.45-.19-.79-.19-.58 0-1.25.19-2 .57l-.64-1.28c.87-.49 1.8-.74 2.77-.74.81 0 1.45.2 1.92.58.48.39.71.91.71 1.55 0 .43-.09.8-.29 1.11-.19.32-.57.67-1.11 1.06-.38.28-.61.49-.71.63-.1.15-.15.34-.15.57v.35zm-1.47 2.74c-.18-.17-.27-.42-.27-.73 0-.33.08-.58.26-.75s.43-.25.77-.25c.32 0 .57.09.75.26s.27.42.27.74c0 .3-.09.55-.27.72-.18.18-.43.27-.75.27-.33 0-.58-.09-.76-.26z';
+ break;
+
+ case 'editor-indent':
+ path = 'M3 5V3h9v2H3zm10-1V3h4v1h-4zm0 3h2V5l4 3.5-4 3.5v-2h-2V7zM3 8V6h9v2H3zm2 3V9h7v2H5zm-2 3v-2h9v2H3zm10 0v-1h4v1h-4zm-4 3v-2h3v2H9z';
+ break;
+
+ case 'editor-insertmore':
+ path = 'M17 7V3H3v4h14zM6 11V9H3v2h3zm6 0V9H8v2h4zm5 0V9h-3v2h3zm0 6v-4H3v4h14z';
+ break;
+
+ case 'editor-italic':
+ path = 'M14.78 6h-2.13l-2.8 9h2.12l-.62 2H4.6l.62-2h2.14l2.8-9H8.03l.62-2h6.75z';
+ break;
+
+ case 'editor-justify':
+ path = 'M2 3h16v2H2V3zm0 4h16v2H2V7zm0 4h16v2H2v-2zm0 4h16v2H2v-2z';
+ break;
+
+ case 'editor-kitchensink':
+ path = 'M19 2v6H1V2h18zm-1 5V3H2v4h16zM5 4v2H3V4h2zm3 0v2H6V4h2zm3 0v2H9V4h2zm3 0v2h-2V4h2zm3 0v2h-2V4h2zm2 5v9H1V9h18zm-1 8v-7H2v7h16zM5 11v2H3v-2h2zm3 0v2H6v-2h2zm3 0v2H9v-2h2zm6 0v2h-5v-2h5zm-6 3v2H3v-2h8zm3 0v2h-2v-2h2zm3 0v2h-2v-2h2z';
+ break;
+
+ case 'editor-ltr':
+ path = 'M5.52 2h7.43c.55 0 1 .45 1 1s-.45 1-1 1h-1v13c0 .55-.45 1-1 1s-1-.45-1-1V5c0-.55-.45-1-1-1s-1 .45-1 1v12c0 .55-.45 1-1 1s-1-.45-1-1v-5.96h-.43C3.02 11.04 1 9.02 1 6.52S3.02 2 5.52 2zM14 14l5-4-5-4v8z';
+ break;
+
+ case 'editor-ol-rtl':
+ path = 'M15.025 8.75a1.048 1.048 0 0 1 .45-.1.507.507 0 0 1 .35.11.455.455 0 0 1 .13.36.803.803 0 0 1-.06.3 1.448 1.448 0 0 1-.19.33c-.09.11-.29.32-.58.62l-.99 1v.58h2.76v-.7h-1.72v-.04l.51-.48a7.276 7.276 0 0 0 .7-.71 1.75 1.75 0 0 0 .3-.49 1.254 1.254 0 0 0 .1-.51.968.968 0 0 0-.16-.56 1.007 1.007 0 0 0-.44-.37 1.512 1.512 0 0 0-.65-.14 1.98 1.98 0 0 0-.51.06 1.9 1.9 0 0 0-.42.15 3.67 3.67 0 0 0-.48.35l.45.54a2.505 2.505 0 0 1 .45-.3zM16.695 15.29a1.29 1.29 0 0 0-.74-.3v-.02a1.203 1.203 0 0 0 .65-.37.973.973 0 0 0 .23-.65.81.81 0 0 0-.37-.71 1.72 1.72 0 0 0-1-.26 2.185 2.185 0 0 0-1.33.4l.4.6a1.79 1.79 0 0 1 .46-.23 1.18 1.18 0 0 1 .41-.07c.38 0 .58.15.58.46a.447.447 0 0 1-.22.43 1.543 1.543 0 0 1-.7.12h-.31v.66h.31a1.764 1.764 0 0 1 .75.12.433.433 0 0 1 .23.41.55.55 0 0 1-.2.47 1.084 1.084 0 0 1-.63.15 2.24 2.24 0 0 1-.57-.08 2.671 2.671 0 0 1-.52-.2v.74a2.923 2.923 0 0 0 1.18.22 1.948 1.948 0 0 0 1.22-.33 1.077 1.077 0 0 0 .43-.92.836.836 0 0 0-.26-.64zM15.005 4.17c.06-.05.16-.14.3-.28l-.02.42V7h.84V3h-.69l-1.29 1.03.4.51zM4.02 5h9v1h-9zM4.02 10h9v1h-9zM4.02 15h9v1h-9z';
+ break;
+
+ case 'editor-ol':
+ path = 'M6 7V3h-.69L4.02 4.03l.4.51.46-.37c.06-.05.16-.14.3-.28l-.02.42V7H6zm2-2h9v1H8V5zm-1.23 6.95v-.7H5.05v-.04l.51-.48c.33-.31.57-.54.7-.71.14-.17.24-.33.3-.49.07-.16.1-.33.1-.51 0-.21-.05-.4-.16-.56-.1-.16-.25-.28-.44-.37s-.41-.14-.65-.14c-.19 0-.36.02-.51.06-.15.03-.29.09-.42.15-.12.07-.29.19-.48.35l.45.54c.16-.13.31-.23.45-.3.15-.07.3-.1.45-.1.14 0 .26.03.35.11s.13.2.13.36c0 .1-.02.2-.06.3s-.1.21-.19.33c-.09.11-.29.32-.58.62l-.99 1v.58h2.76zM8 10h9v1H8v-1zm-1.29 3.95c0-.3-.12-.54-.37-.71-.24-.17-.58-.26-1-.26-.52 0-.96.13-1.33.4l.4.6c.17-.11.32-.19.46-.23.14-.05.27-.07.41-.07.38 0 .58.15.58.46 0 .2-.07.35-.22.43s-.38.12-.7.12h-.31v.66h.31c.34 0 .59.04.75.12.15.08.23.22.23.41 0 .22-.07.37-.2.47-.14.1-.35.15-.63.15-.19 0-.38-.03-.57-.08s-.36-.12-.52-.2v.74c.34.15.74.22 1.18.22.53 0 .94-.11 1.22-.33.29-.22.43-.52.43-.92 0-.27-.09-.48-.26-.64s-.42-.26-.74-.3v-.02c.27-.06.49-.19.65-.37.15-.18.23-.39.23-.65zM8 15h9v1H8v-1z';
+ break;
+
+ case 'editor-outdent':
+ path = 'M7 4V3H3v1h4zm10 1V3H8v2h9zM7 7H5V5L1 8.5 5 12v-2h2V7zm10 1V6H8v2h9zm-2 3V9H8v2h7zm2 3v-2H8v2h9zM7 14v-1H3v1h4zm4 3v-2H8v2h3z';
+ break;
+
+ case 'editor-paragraph':
+ path = 'M15 2H7.54c-.83 0-1.59.2-2.28.6-.7.41-1.25.96-1.65 1.65C3.2 4.94 3 5.7 3 6.52s.2 1.58.61 2.27c.4.69.95 1.24 1.65 1.64.69.41 1.45.61 2.28.61h.43V17c0 .27.1.51.29.71.2.19.44.29.71.29.28 0 .51-.1.71-.29.2-.2.3-.44.3-.71V5c0-.27.09-.51.29-.71.2-.19.44-.29.71-.29s.51.1.71.29c.19.2.29.44.29.71v12c0 .27.1.51.3.71.2.19.43.29.71.29.27 0 .51-.1.71-.29.19-.2.29-.44.29-.71V4H15c.27 0 .5-.1.7-.3.2-.19.3-.43.3-.7s-.1-.51-.3-.71C15.5 2.1 15.27 2 15 2z';
+ break;
+
+ case 'editor-paste-text':
+ path = 'M12.38 2L15 5v1H5V5l2.64-3h4.74zM10 5c.55 0 1-.44 1-1 0-.55-.45-1-1-1s-1 .45-1 1c0 .56.45 1 1 1zm5.45-1H17c.55 0 1 .45 1 1v12c0 .56-.45 1-1 1H3c-.55 0-1-.44-1-1V5c0-.55.45-1 1-1h1.55L4 4.63V7h12V4.63zM14 11V9H6v2h3v5h2v-5h3z';
+ break;
+
+ case 'editor-paste-word':
+ path = 'M12.38 2L15 5v1H5V5l2.64-3h4.74zM10 5c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1zm8 12V5c0-.55-.45-1-1-1h-1.54l.54.63V7H4V4.62L4.55 4H3c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h14c.55 0 1-.45 1-1zm-3-8l-2 7h-2l-1-5-1 5H6.92L5 9h2l1 5 1-5h2l1 5 1-5h2z';
+ break;
+
+ case 'editor-quote':
+ path = 'M9.49 13.22c0-.74-.2-1.38-.61-1.9-.62-.78-1.83-.88-2.53-.72-.29-1.65 1.11-3.75 2.92-4.65L7.88 4c-2.73 1.3-5.42 4.28-4.96 8.05C3.21 14.43 4.59 16 6.54 16c.85 0 1.56-.25 2.12-.75s.83-1.18.83-2.03zm8.05 0c0-.74-.2-1.38-.61-1.9-.63-.78-1.83-.88-2.53-.72-.29-1.65 1.11-3.75 2.92-4.65L15.93 4c-2.73 1.3-5.41 4.28-4.95 8.05.29 2.38 1.66 3.95 3.61 3.95.85 0 1.56-.25 2.12-.75s.83-1.18.83-2.03z';
+ break;
+
+ case 'editor-removeformatting':
+ path = 'M14.29 4.59l1.1 1.11c.41.4.61.94.61 1.47v2.12c0 .53-.2 1.07-.61 1.47l-6.63 6.63c-.4.41-.94.61-1.47.61s-1.07-.2-1.47-.61l-1.11-1.1-1.1-1.11c-.41-.4-.61-.94-.61-1.47v-2.12c0-.54.2-1.07.61-1.48l6.63-6.62c.4-.41.94-.61 1.47-.61s1.06.2 1.47.61zm-6.21 9.7l6.42-6.42c.39-.39.39-1.03 0-1.43L12.36 4.3c-.19-.19-.45-.29-.72-.29s-.52.1-.71.29l-6.42 6.42c-.39.4-.39 1.04 0 1.43l2.14 2.14c.38.38 1.04.38 1.43 0z';
+ break;
+
+ case 'editor-rtl':
+ path = 'M5.52 2h7.43c.55 0 1 .45 1 1s-.45 1-1 1h-1v13c0 .55-.45 1-1 1s-1-.45-1-1V5c0-.55-.45-1-1-1s-1 .45-1 1v12c0 .55-.45 1-1 1s-1-.45-1-1v-5.96h-.43C3.02 11.04 1 9.02 1 6.52S3.02 2 5.52 2zM19 6l-5 4 5 4V6z';
+ break;
+
+ case 'editor-spellcheck':
+ path = 'M15.84 2.76c.25 0 .49.04.71.11.23.07.44.16.64.25l.35-.81c-.52-.26-1.08-.39-1.69-.39-.58 0-1.09.13-1.52.37-.43.25-.76.61-.99 1.08C13.11 3.83 13 4.38 13 5c0 .99.23 1.75.7 2.28s1.15.79 2.02.79c.6 0 1.13-.09 1.6-.26v-.84c-.26.08-.51.14-.74.19-.24.05-.49.08-.74.08-.59 0-1.04-.19-1.34-.57-.32-.37-.47-.93-.47-1.66 0-.7.16-1.25.48-1.65.33-.4.77-.6 1.33-.6zM6.5 8h1.04L5.3 2H4.24L2 8h1.03l.58-1.66H5.9zM8 2v6h2.17c.67 0 1.19-.15 1.57-.46.38-.3.56-.72.56-1.26 0-.4-.1-.72-.3-.95-.19-.24-.5-.39-.93-.47v-.04c.35-.06.6-.21.78-.44.18-.24.28-.53.28-.88 0-.52-.19-.9-.56-1.14-.36-.24-.96-.36-1.79-.36H8zm.98 2.48V2.82h.85c.44 0 .77.06.97.19.21.12.31.33.31.61 0 .31-.1.53-.29.66-.18.13-.48.2-.89.2h-.95zM5.64 5.5H3.9l.54-1.56c.14-.4.25-.76.32-1.1l.15.52c.07.23.13.4.17.51zm3.34-.23h.99c.44 0 .76.08.98.23.21.15.32.38.32.69 0 .34-.11.59-.32.75s-.52.24-.93.24H8.98V5.27zM4 13l5 5 9-8-1-1-8 6-4-3z';
+ break;
+
+ case 'editor-strikethrough':
+ path = 'M15.82 12.25c.26 0 .5-.02.74-.07.23-.05.48-.12.73-.2v.84c-.46.17-.99.26-1.58.26-.88 0-1.54-.26-2.01-.79-.39-.44-.62-1.04-.68-1.79h-.94c.12.21.18.48.18.79 0 .54-.18.95-.55 1.26-.38.3-.9.45-1.56.45H8v-2.5H6.59l.93 2.5H6.49l-.59-1.67H3.62L3.04 13H2l.93-2.5H2v-1h1.31l.93-2.49H5.3l.92 2.49H8V7h1.77c1 0 1.41.17 1.77.41.37.24.55.62.55 1.13 0 .35-.09.64-.27.87l-.08.09h1.29c.05-.4.15-.77.31-1.1.23-.46.55-.82.98-1.06.43-.25.93-.37 1.51-.37.61 0 1.17.12 1.69.38l-.35.81c-.2-.1-.42-.18-.64-.25s-.46-.11-.71-.11c-.55 0-.99.2-1.31.59-.23.29-.38.66-.44 1.11H17v1h-2.95c.06.5.2.9.44 1.19.3.37.75.56 1.33.56zM4.44 8.96l-.18.54H5.3l-.22-.61c-.04-.11-.09-.28-.17-.51-.07-.24-.12-.41-.14-.51-.08.33-.18.69-.33 1.09zm4.53-1.09V9.5h1.19c.28-.02.49-.09.64-.18.19-.13.28-.35.28-.66 0-.28-.1-.48-.3-.61-.2-.12-.53-.18-.97-.18h-.84zm-3.33 2.64v-.01H3.91v.01h1.73zm5.28.01l-.03-.02H8.97v1.68h1.04c.4 0 .71-.08.92-.23.21-.16.31-.4.31-.74 0-.31-.11-.54-.32-.69z';
+ break;
+
+ case 'editor-table':
+ path = 'M18 17V3H2v14h16zM16 7H4V5h12v2zm-7 4H4V9h5v2zm7 0h-5V9h5v2zm-7 4H4v-2h5v2zm7 0h-5v-2h5v2z';
+ break;
+
+ case 'editor-textcolor':
+ path = 'M13.23 15h1.9L11 4H9L5 15h1.88l1.07-3h4.18zm-1.53-4.54H8.51L10 5.6z';
+ break;
+
+ case 'editor-ul':
+ path = 'M5.5 7C4.67 7 4 6.33 4 5.5 4 4.68 4.67 4 5.5 4 6.32 4 7 4.68 7 5.5 7 6.33 6.32 7 5.5 7zM8 5h9v1H8V5zm-2.5 7c-.83 0-1.5-.67-1.5-1.5C4 9.68 4.67 9 5.5 9c.82 0 1.5.68 1.5 1.5 0 .83-.68 1.5-1.5 1.5zM8 10h9v1H8v-1zm-2.5 7c-.83 0-1.5-.67-1.5-1.5 0-.82.67-1.5 1.5-1.5.82 0 1.5.68 1.5 1.5 0 .83-.68 1.5-1.5 1.5zM8 15h9v1H8v-1z';
+ break;
+
+ case 'editor-underline':
+ path = 'M14 5h-2v5.71c0 1.99-1.12 2.98-2.45 2.98-1.32 0-2.55-1-2.55-2.96V5H5v5.87c0 1.91 1 4.54 4.48 4.54 3.49 0 4.52-2.58 4.52-4.5V5zm0 13v-2H5v2h9z';
+ break;
+
+ case 'editor-unlink':
+ path = 'M17.74 2.26c1.68 1.69 1.68 4.41 0 6.1l-1.53 1.52c-.32.33-.69.58-1.08.77L13 10l1.69-1.64.76-.77.76-.76c.84-.84.84-2.2 0-3.04-.84-.85-2.2-.85-3.04 0l-.77.76-.76.76L10 7l-.65-2.14c.19-.38.44-.75.77-1.07l1.52-1.53c1.69-1.68 4.42-1.68 6.1 0zM2 4l8 6-6-8zm4-2l4 8-2-8H6zM2 6l8 4-8-2V6zm7.36 7.69L10 13l.74 2.35-1.38 1.39c-1.69 1.68-4.41 1.68-6.1 0-1.68-1.68-1.68-4.42 0-6.1l1.39-1.38L7 10l-.69.64-1.52 1.53c-.85.84-.85 2.2 0 3.04.84.85 2.2.85 3.04 0zM18 16l-8-6 6 8zm-4 2l-4-8 2 8h2zm4-4l-8-4 8 2v2z';
+ break;
+
+ case 'editor-video':
+ path = 'M16 2h-3v1H7V2H4v15h3v-1h6v1h3V2zM6 3v1H5V3h1zm9 0v1h-1V3h1zm-2 1v5H7V4h6zM6 5v1H5V5h1zm9 0v1h-1V5h1zM6 7v1H5V7h1zm9 0v1h-1V7h1zM6 9v1H5V9h1zm9 0v1h-1V9h1zm-2 1v5H7v-5h6zm-7 1v1H5v-1h1zm9 0v1h-1v-1h1zm-9 2v1H5v-1h1zm9 0v1h-1v-1h1zm-9 2v1H5v-1h1zm9 0v1h-1v-1h1z';
+ break;
+
+ case 'ellipsis':
+ path = 'M5 10c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm12-2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-7 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z';
+ break;
+
+ case 'email-alt':
+ path = 'M19 14.5v-9c0-.83-.67-1.5-1.5-1.5H3.49c-.83 0-1.5.67-1.5 1.5v9c0 .83.67 1.5 1.5 1.5H17.5c.83 0 1.5-.67 1.5-1.5zm-1.31-9.11c.33.33.15.67-.03.84L13.6 9.95l3.9 4.06c.12.14.2.36.06.51-.13.16-.43.15-.56.05l-4.37-3.73-2.14 1.95-2.13-1.95-4.37 3.73c-.13.1-.43.11-.56-.05-.14-.15-.06-.37.06-.51l3.9-4.06-4.06-3.72c-.18-.17-.36-.51-.03-.84s.67-.17.95.07l6.24 5.04 6.25-5.04c.28-.24.62-.4.95-.07z';
+ break;
+
+ case 'email-alt2':
+ path = 'M18.01 11.18V2.51c0-1.19-.9-1.81-2-1.37L4 5.91c-1.1.44-2 1.77-2 2.97v8.66c0 1.2.9 1.81 2 1.37l12.01-4.77c1.1-.44 2-1.76 2-2.96zm-1.43-7.46l-6.04 9.33-6.65-4.6c-.1-.07-.36-.32-.17-.64.21-.36.65-.21.65-.21l6.3 2.32s4.83-6.34 5.11-6.7c.13-.17.43-.34.73-.13.29.2.16.49.07.63z';
+ break;
+
+ case 'email':
+ path = 'M3.87 4h13.25C18.37 4 19 4.59 19 5.79v8.42c0 1.19-.63 1.79-1.88 1.79H3.87c-1.25 0-1.88-.6-1.88-1.79V5.79c0-1.2.63-1.79 1.88-1.79zm6.62 8.6l6.74-5.53c.24-.2.43-.66.13-1.07-.29-.41-.82-.42-1.17-.17l-5.7 3.86L4.8 5.83c-.35-.25-.88-.24-1.17.17-.3.41-.11.87.13 1.07z';
+ break;
+
+ case 'embed-audio':
+ path = 'M17 4H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-7 3H7v4c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2c.4 0 .7.1 1 .3V5h4v2zm4 3.5L12.5 12l1.5 1.5V15l-3-3 3-3v1.5zm1 4.5v-1.5l1.5-1.5-1.5-1.5V9l3 3-3 3z';
+ break;
+
+ case 'embed-generic':
+ path = 'M17 4H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-3 6.5L12.5 12l1.5 1.5V15l-3-3 3-3v1.5zm1 4.5v-1.5l1.5-1.5-1.5-1.5V9l3 3-3 3z';
+ break;
+
+ case 'embed-photo':
+ path = 'M17 4H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-7 8H3V6h7v6zm4-1.5L12.5 12l1.5 1.5V15l-3-3 3-3v1.5zm1 4.5v-1.5l1.5-1.5-1.5-1.5V9l3 3-3 3zm-6-4V8.5L7.2 10 6 9.2 4 11h5zM4.6 8.6c.6 0 1-.4 1-1s-.4-1-1-1-1 .4-1 1 .4 1 1 1z';
+ break;
+
+ case 'embed-post':
+ path = 'M17 4H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zM8.6 9l-.4.3c-.4.4-.5 1.1-.2 1.6l-.8.8-1.1-1.1-1.3 1.3c-.2.2-1.6 1.3-1.8 1.1-.2-.2.9-1.6 1.1-1.8l1.3-1.3-1.1-1.1.8-.8c.5.3 1.2.3 1.6-.2l.3-.3c.5-.5.5-1.2.2-1.7L8 5l3 2.9-.8.8c-.5-.2-1.2-.2-1.6.3zm5.4 1.5L12.5 12l1.5 1.5V15l-3-3 3-3v1.5zm1 4.5v-1.5l1.5-1.5-1.5-1.5V9l3 3-3 3z';
+ break;
+
+ case 'embed-video':
+ path = 'M17 4H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-7 6.5L8 9.1V11H3V6h5v1.8l2-1.3v4zm4 0L12.5 12l1.5 1.5V15l-3-3 3-3v1.5zm1 4.5v-1.5l1.5-1.5-1.5-1.5V9l3 3-3 3z';
+ break;
+
+ case 'excerpt-view':
+ path = 'M19 18V2c0-.55-.45-1-1-1H2c-.55 0-1 .45-1 1v16c0 .55.45 1 1 1h16c.55 0 1-.45 1-1zM4 3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v6H6V3h11zM4 11c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v6H6v-6h11z';
+ break;
+
+ case 'exit':
+ path = 'M13 3v2h2v10h-2v2h4V3h-4zm0 8V9H5.4l4.3-4.3-1.4-1.4L1.6 10l6.7 6.7 1.4-1.4L5.4 11H13z';
+ break;
+
+ case 'external':
+ path = 'M9 3h8v8l-2-1V6.92l-5.6 5.59-1.41-1.41L14.08 5H10zm3 12v-3l2-2v7H3V6h8L9 8H5v7h7z';
+ break;
+
+ case 'facebook-alt':
+ path = 'M8.46 18h2.93v-7.3h2.45l.37-2.84h-2.82V6.04c0-.82.23-1.38 1.41-1.38h1.51V2.11c-.26-.03-1.15-.11-2.19-.11-2.18 0-3.66 1.33-3.66 3.76v2.1H6v2.84h2.46V18z';
+ break;
+
+ case 'facebook':
+ path = 'M2.89 2h14.23c.49 0 .88.39.88.88v14.24c0 .48-.39.88-.88.88h-4.08v-6.2h2.08l.31-2.41h-2.39V7.85c0-.7.2-1.18 1.2-1.18h1.28V4.51c-.22-.03-.98-.09-1.86-.09-1.85 0-3.11 1.12-3.11 3.19v1.78H8.46v2.41h2.09V18H2.89c-.49 0-.89-.4-.89-.88V2.88c0-.49.4-.88.89-.88z';
+ break;
+
+ case 'feedback':
+ path = 'M2 2h16c.55 0 1 .45 1 1v14c0 .55-.45 1-1 1H2c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1zm15 14V7H3v9h14zM4 8v1h3V8H4zm4 0v3h8V8H8zm-4 4v1h3v-1H4zm4 0v3h8v-3H8z';
+ break;
+
+ case 'filter':
+ path = 'M3 4.5v-2s3.34-1 7-1 7 1 7 1v2l-5 7.03v6.97s-1.22-.09-2.25-.59S8 16.5 8 16.5v-4.97z';
+ break;
+
+ case 'flag':
+ path = 'M5 18V3H3v15h2zm1-6V4c3-1 7 1 11 0v8c-3 1.27-8-1-11 0z';
+ break;
+
+ case 'format-aside':
+ path = 'M1 1h18v12l-6 6H1V1zm3 3v1h12V4H4zm0 4v1h12V8H4zm6 5v-1H4v1h6zm2 4l5-5h-5v5z';
+ break;
+
+ case 'format-audio':
+ path = 'M6.99 3.08l11.02-2c.55-.08.99.45.99 1V14.5c0 1.94-1.57 3.5-3.5 3.5S12 16.44 12 14.5c0-1.93 1.57-3.5 3.5-3.5.54 0 1.04.14 1.5.35V5.08l-9 2V16c-.24 1.7-1.74 3-3.5 3C2.57 19 1 17.44 1 15.5 1 13.57 2.57 12 4.5 12c.54 0 1.04.14 1.5.35V4.08c0-.55.44-.91.99-1z';
+ break;
+
+ case 'format-chat':
+ path = 'M11 6h-.82C9.07 6 8 7.2 8 8.16V10l-3 3v-3H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h6c1.1 0 2 .9 2 2v3zm0 1h6c1.1 0 2 .9 2 2v5c0 1.1-.9 2-2 2h-2v3l-3-3h-1c-1.1 0-2-.9-2-2V9c0-1.1.9-2 2-2z';
+ break;
+
+ case 'format-gallery':
+ path = 'M16 4h1.96c.57 0 1.04.47 1.04 1.04v12.92c0 .57-.47 1.04-1.04 1.04H5.04C4.47 19 4 18.53 4 17.96V16H2.04C1.47 16 1 15.53 1 14.96V2.04C1 1.47 1.47 1 2.04 1h12.92c.57 0 1.04.47 1.04 1.04V4zM3 14h11V3H3v11zm5-8.5C8 4.67 7.33 4 6.5 4S5 4.67 5 5.5 5.67 7 6.5 7 8 6.33 8 5.5zm2 4.5s1-5 3-5v8H4V7c2 0 2 3 2 3s.33-2 2-2 2 2 2 2zm7 7V6h-1v8.96c0 .57-.47 1.04-1.04 1.04H6v1h11z';
+ break;
+
+ case 'format-image':
+ path = 'M2.25 1h15.5c.69 0 1.25.56 1.25 1.25v15.5c0 .69-.56 1.25-1.25 1.25H2.25C1.56 19 1 18.44 1 17.75V2.25C1 1.56 1.56 1 2.25 1zM17 17V3H3v14h14zM10 6c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2zm3 5s0-6 3-6v10c0 .55-.45 1-1 1H5c-.55 0-1-.45-1-1V8c2 0 3 4 3 4s1-3 3-3 3 2 3 2z';
+ break;
+
+ case 'format-quote':
+ path = 'M8.54 12.74c0-.87-.24-1.61-.72-2.22-.73-.92-2.14-1.03-2.96-.85-.34-1.93 1.3-4.39 3.42-5.45L6.65 1.94C3.45 3.46.31 6.96.85 11.37 1.19 14.16 2.8 16 5.08 16c1 0 1.83-.29 2.48-.88.66-.59.98-1.38.98-2.38zm9.43 0c0-.87-.24-1.61-.72-2.22-.73-.92-2.14-1.03-2.96-.85-.34-1.93 1.3-4.39 3.42-5.45l-1.63-2.28c-3.2 1.52-6.34 5.02-5.8 9.43.34 2.79 1.95 4.63 4.23 4.63 1 0 1.83-.29 2.48-.88.66-.59.98-1.38.98-2.38z';
+ break;
+
+ case 'format-status':
+ path = 'M10 1c7 0 9 2.91 9 6.5S17 14 10 14s-9-2.91-9-6.5S3 1 10 1zM5.5 9C6.33 9 7 8.33 7 7.5S6.33 6 5.5 6 4 6.67 4 7.5 4.67 9 5.5 9zM10 9c.83 0 1.5-.67 1.5-1.5S10.83 6 10 6s-1.5.67-1.5 1.5S9.17 9 10 9zm4.5 0c.83 0 1.5-.67 1.5-1.5S15.33 6 14.5 6 13 6.67 13 7.5 13.67 9 14.5 9zM6 14.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5-1.5-.67-1.5-1.5.67-1.5 1.5-1.5zm-3 2c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1z';
+ break;
+
+ case 'format-video':
+ path = 'M2 1h16c.55 0 1 .45 1 1v16l-18-.02V2c0-.55.45-1 1-1zm4 1L4 5h1l2-3H6zm4 0H9L7 5h1zm3 0h-1l-2 3h1zm3 0h-1l-2 3h1zm1 14V6H3v10h14zM8 7l6 4-6 4V7z';
+ break;
+
+ case 'forms':
+ path = 'M2 2h7v7H2V2zm9 0v7h7V2h-7zM5.5 4.5L7 3H4zM12 8V3h5v5h-5zM4.5 5.5L3 4v3zM8 4L6.5 5.5 8 7V4zM5.5 6.5L4 8h3zM9 18v-7H2v7h7zm9 0h-7v-7h7v7zM8 12v5H3v-5h5zm6.5 1.5L16 12h-3zM12 16l1.5-1.5L12 13v3zm3.5-1.5L17 16v-3zm-1 1L13 17h3z';
+ break;
+
+ case 'googleplus':
+ path = 'M6.73 10h5.4c.05.29.09.57.09.95 0 3.27-2.19 5.6-5.49 5.6-3.17 0-5.73-2.57-5.73-5.73 0-3.17 2.56-5.73 5.73-5.73 1.54 0 2.84.57 3.83 1.5l-1.55 1.5c-.43-.41-1.17-.89-2.28-.89-1.96 0-3.55 1.62-3.55 3.62 0 1.99 1.59 3.61 3.55 3.61 2.26 0 3.11-1.62 3.24-2.47H6.73V10zM19 10v1.64h-1.64v1.63h-1.63v-1.63h-1.64V10h1.64V8.36h1.63V10H19z';
+ break;
+
+ case 'grid-view':
+ path = 'M2 1h16c.55 0 1 .45 1 1v16c0 .55-.45 1-1 1H2c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1zm7.01 7.99v-6H3v6h6.01zm8 0v-6h-6v6h6zm-8 8.01v-6H3v6h6.01zm8 0v-6h-6v6h6z';
+ break;
+
+ case 'groups':
+ path = 'M8.03 4.46c-.29 1.28.55 3.46 1.97 3.46 1.41 0 2.25-2.18 1.96-3.46-.22-.98-1.08-1.63-1.96-1.63-.89 0-1.74.65-1.97 1.63zm-4.13.9c-.25 1.08.47 2.93 1.67 2.93s1.92-1.85 1.67-2.93c-.19-.83-.92-1.39-1.67-1.39s-1.48.56-1.67 1.39zm8.86 0c-.25 1.08.47 2.93 1.66 2.93 1.2 0 1.92-1.85 1.67-2.93-.19-.83-.92-1.39-1.67-1.39-.74 0-1.47.56-1.66 1.39zm-.59 11.43l1.25-4.3C14.2 10 12.71 8.47 10 8.47c-2.72 0-4.21 1.53-3.44 4.02l1.26 4.3C8.05 17.51 9 18 10 18c.98 0 1.94-.49 2.17-1.21zm-6.1-7.63c-.49.67-.96 1.83-.42 3.59l1.12 3.79c-.34.2-.77.31-1.2.31-.85 0-1.65-.41-1.85-1.03l-1.07-3.65c-.65-2.11.61-3.4 2.92-3.4.27 0 .54.02.79.06-.1.1-.2.22-.29.33zm8.35-.39c2.31 0 3.58 1.29 2.92 3.4l-1.07 3.65c-.2.62-1 1.03-1.85 1.03-.43 0-.86-.11-1.2-.31l1.11-3.77c.55-1.78.08-2.94-.42-3.61-.08-.11-.18-.23-.28-.33.25-.04.51-.06.79-.06z';
+ break;
+
+ case 'hammer':
+ path = 'M17.7 6.32l1.41 1.42-3.47 3.41-1.42-1.42.84-.82c-.32-.76-.81-1.57-1.51-2.31l-4.61 6.59-5.26 4.7c-.39.39-1.02.39-1.42 0l-1.2-1.21c-.39-.39-.39-1.02 0-1.41l10.97-9.92c-1.37-.86-3.21-1.46-5.67-1.48 2.7-.82 4.95-.93 6.58-.3 1.7.66 2.82 2.2 3.91 3.58z';
+ break;
+
+ case 'heading':
+ path = 'M12.5 4v5.2h-5V4H5v13h2.5v-5.2h5V17H15V4';
+ break;
+
+ case 'heart':
+ path = 'M10 17.12c3.33-1.4 5.74-3.79 7.04-6.21 1.28-2.41 1.46-4.81.32-6.25-1.03-1.29-2.37-1.78-3.73-1.74s-2.68.63-3.63 1.46c-.95-.83-2.27-1.42-3.63-1.46s-2.7.45-3.73 1.74c-1.14 1.44-.96 3.84.34 6.25 1.28 2.42 3.69 4.81 7.02 6.21z';
+ break;
+
+ case 'hidden':
+ path = 'M17.2 3.3l.16.17c.39.39.39 1.02 0 1.41L4.55 17.7c-.39.39-1.03.39-1.41 0l-.17-.17c-.39-.39-.39-1.02 0-1.41l1.59-1.6c-1.57-1-2.76-2.3-3.56-3.93.81-1.65 2.03-2.98 3.64-3.99S8.04 5.09 10 5.09c1.2 0 2.33.21 3.4.6l2.38-2.39c.39-.39 1.03-.39 1.42 0zm-7.09 4.01c-.23.25-.34.54-.34.88 0 .31.12.58.31.81l1.8-1.79c-.13-.12-.28-.21-.45-.26-.11-.01-.28-.03-.49-.04-.33.03-.6.16-.83.4zM2.4 10.59c.69 1.23 1.71 2.25 3.05 3.05l1.28-1.28c-.51-.69-.77-1.47-.77-2.36 0-1.06.36-1.98 1.09-2.76-1.04.27-1.96.7-2.76 1.26-.8.58-1.43 1.27-1.89 2.09zm13.22-2.13l.96-.96c1.02.86 1.83 1.89 2.42 3.09-.81 1.65-2.03 2.98-3.64 3.99s-3.4 1.51-5.36 1.51c-.63 0-1.24-.07-1.83-.18l1.07-1.07c.25.02.5.05.76.05 1.63 0 3.13-.4 4.5-1.21s2.4-1.84 3.1-3.09c-.46-.82-1.09-1.51-1.89-2.09-.03-.01-.06-.03-.09-.04zm-5.58 5.58l4-4c-.01 1.1-.41 2.04-1.18 2.81-.78.78-1.72 1.18-2.82 1.19z';
+ break;
+
+ case 'html':
+ path = 'M4 16v-2H2v2H1v-5h1v2h2v-2h1v5H4zM7 16v-4H5.6v-1h3.7v1H8v4H7zM10 16v-5h1l1.4 3.4h.1L14 11h1v5h-1v-3.1h-.1l-1.1 2.5h-.6l-1.1-2.5H11V16h-1zM19 16h-3v-5h1v4h2v1zM9.4 4.2L7.1 6.5l2.3 2.3-.6 1.2-3.5-3.5L8.8 3l.6 1.2zm1.2 4.6l2.3-2.3-2.3-2.3.6-1.2 3.5 3.5-3.5 3.5-.6-1.2z';
+ break;
+
+ case 'id-alt':
+ path = 'M18 18H2V2h16v16zM8.05 7.53c.13-.07.24-.15.33-.24.09-.1.17-.21.24-.34.07-.14.13-.26.17-.37s.07-.22.1-.34L8.95 6c0-.04.01-.07.01-.09.05-.32.03-.61-.04-.9-.08-.28-.23-.52-.46-.72C8.23 4.1 7.95 4 7.6 4c-.2 0-.39.04-.56.11-.17.08-.31.18-.41.3-.11.13-.2.27-.27.44-.07.16-.11.33-.12.51s0 .36.01.55l.02.09c.01.06.03.15.06.25s.06.21.1.33.1.25.17.37c.08.12.16.23.25.33s.2.19.34.25c.13.06.28.09.43.09s.3-.03.43-.09zM16 5V4h-5v1h5zm0 2V6h-5v1h5zM7.62 8.83l-1.38-.88c-.41 0-.79.11-1.14.32-.35.22-.62.5-.81.85-.19.34-.29.7-.29 1.07v1.25l.2.05c.13.04.31.09.55.14.24.06.51.12.8.17.29.06.62.1 1 .14.37.04.73.06 1.07.06s.69-.02 1.07-.06.7-.09.98-.14c.27-.05.54-.1.82-.17.27-.06.45-.11.54-.13.09-.03.16-.05.21-.06v-1.25c0-.36-.1-.72-.31-1.07s-.49-.64-.84-.86-.72-.33-1.11-.33zM16 9V8h-3v1h3zm0 2v-1h-3v1h3zm0 3v-1H4v1h12zm0 2v-1H4v1h12z';
+ break;
+
+ case 'id':
+ path = 'M18 16H2V4h16v12zM7.05 8.53c.13-.07.24-.15.33-.24.09-.1.17-.21.24-.34.07-.14.13-.26.17-.37s.07-.22.1-.34L7.95 7c0-.04.01-.07.01-.09.05-.32.03-.61-.04-.9-.08-.28-.23-.52-.46-.72C7.23 5.1 6.95 5 6.6 5c-.2 0-.39.04-.56.11-.17.08-.31.18-.41.3-.11.13-.2.27-.27.44-.07.16-.11.33-.12.51s0 .36.01.55l.02.09c.01.06.03.15.06.25s.06.21.1.33.1.25.17.37c.08.12.16.23.25.33s.2.19.34.25c.13.06.28.09.43.09s.3-.03.43-.09zM17 9V5h-5v4h5zm-10.38.83l-1.38-.88c-.41 0-.79.11-1.14.32-.35.22-.62.5-.81.85-.19.34-.29.7-.29 1.07v1.25l.2.05c.13.04.31.09.55.14.24.06.51.12.8.17.29.06.62.1 1 .14.37.04.73.06 1.07.06s.69-.02 1.07-.06.7-.09.98-.14c.27-.05.54-.1.82-.17.27-.06.45-.11.54-.13.09-.03.16-.05.21-.06v-1.25c0-.36-.1-.72-.31-1.07s-.49-.64-.84-.86-.72-.33-1.11-.33zM17 11v-1h-5v1h5zm0 2v-1h-5v1h5zm0 2v-1H3v1h14z';
+ break;
+
+ case 'image-crop':
+ path = 'M19 12v3h-4v4h-3v-4H4V7H0V4h4V0h3v4h7l3-3 1 1-3 3v7h4zm-8-5H7v4zm-3 5h4V8z';
+ break;
+
+ case 'image-filter':
+ path = 'M14 5.87c0-2.2-1.79-4-4-4s-4 1.8-4 4c0 2.21 1.79 4 4 4s4-1.79 4-4zM3.24 10.66c-1.92 1.1-2.57 3.55-1.47 5.46 1.11 1.92 3.55 2.57 5.47 1.47 1.91-1.11 2.57-3.55 1.46-5.47-1.1-1.91-3.55-2.56-5.46-1.46zm9.52 6.93c1.92 1.1 4.36.45 5.47-1.46 1.1-1.92.45-4.36-1.47-5.47-1.91-1.1-4.36-.45-5.46 1.46-1.11 1.92-.45 4.36 1.46 5.47z';
+ break;
+
+ case 'image-flip-horizontal':
+ path = 'M19 3v14h-8v3H9v-3H1V3h8V0h2v3h8zm-8.5 14V3h-1v14h1zM7 6.5L3 10l4 3.5v-7zM17 10l-4-3.5v7z';
+ break;
+
+ case 'image-flip-vertical':
+ path = 'M20 9v2h-3v8H3v-8H0V9h3V1h14v8h3zM6.5 7h7L10 3zM17 9.5H3v1h14v-1zM13.5 13h-7l3.5 4z';
+ break;
+
+ case 'image-rotate-left':
+ path = 'M7 5H5.05c0-1.74.85-2.9 2.95-2.9V0C4.85 0 2.96 2.11 2.96 5H1.18L3.8 8.39zm13-4v14h-5v5H1V10h9V1h10zm-2 2h-6v7h3v3h3V3zm-5 9H3v6h10v-6z';
+ break;
+
+ case 'image-rotate-right':
+ path = 'M15.95 5H14l3.2 3.39L19.82 5h-1.78c0-2.89-1.89-5-5.04-5v2.1c2.1 0 2.95 1.16 2.95 2.9zM1 1h10v9h9v10H6v-5H1V1zm2 2v10h3v-3h3V3H3zm5 9v6h10v-6H8z';
+ break;
+
+ case 'image-rotate':
+ path = 'M10.25 1.02c5.1 0 8.75 4.04 8.75 9s-3.65 9-8.75 9c-3.2 0-6.02-1.59-7.68-3.99l2.59-1.52c1.1 1.5 2.86 2.51 4.84 2.51 3.3 0 6-2.79 6-6s-2.7-6-6-6c-1.97 0-3.72 1-4.82 2.49L7 8.02l-6 2v-7L2.89 4.6c1.69-2.17 4.36-3.58 7.36-3.58z';
+ break;
+
+ case 'images-alt':
+ path = 'M4 15v-3H2V2h12v3h2v3h2v10H6v-3H4zm7-12c-1.1 0-2 .9-2 2h4c0-1.1-.89-2-2-2zm-7 8V6H3v5h1zm7-3h4c0-1.1-.89-2-2-2-1.1 0-2 .9-2 2zm-5 6V9H5v5h1zm9-1c1.1 0 2-.89 2-2 0-1.1-.9-2-2-2s-2 .9-2 2c0 1.11.9 2 2 2zm2 4v-2c-5 0-5-3-10-3v5h10z';
+ break;
+
+ case 'images-alt2':
+ path = 'M5 3h14v11h-2v2h-2v2H1V7h2V5h2V3zm13 10V4H6v9h12zm-3-4c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm1 6v-1H5V6H4v9h12zM7 6l10 6H7V6zm7 11v-1H3V8H2v9h12z';
+ break;
+
+ case 'index-card':
+ path = 'M1 3.17V18h18V4H8v-.83c0-.32-.12-.6-.35-.83S7.14 2 6.82 2H2.18c-.33 0-.6.11-.83.34-.24.23-.35.51-.35.83zM10 6v2H3V6h7zm7 0v10h-5V6h5zm-7 4v2H3v-2h7zm0 4v2H3v-2h7z';
+ break;
+
+ case 'info-outline':
+ path = 'M9 15h2V9H9v6zm1-10c-.5 0-1 .5-1 1s.5 1 1 1 1-.5 1-1-.5-1-1-1zm0-4c-5 0-9 4-9 9s4 9 9 9 9-4 9-9-4-9-9-9zm0 16c-3.9 0-7-3.1-7-7s3.1-7 7-7 7 3.1 7 7-3.1 7-7 7z';
+ break;
+
+ case 'info':
+ path = 'M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm1 4c0-.55-.45-1-1-1s-1 .45-1 1 .45 1 1 1 1-.45 1-1zm0 9V9H9v6h2z';
+ break;
+
+ case 'insert-after':
+ path = 'M9 12h2v-2h2V8h-2V6H9v2H7v2h2v2zm1 4c3.9 0 7-3.1 7-7s-3.1-7-7-7-7 3.1-7 7 3.1 7 7 7zm0-12c2.8 0 5 2.2 5 5s-2.2 5-5 5-5-2.2-5-5 2.2-5 5-5zM3 19h14v-2H3v2z';
+ break;
+
+ case 'insert-before':
+ path = 'M11 8H9v2H7v2h2v2h2v-2h2v-2h-2V8zm-1-4c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7zm0 12c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zM3 1v2h14V1H3z';
+ break;
+
+ case 'insert':
+ path = 'M10 1c-5 0-9 4-9 9s4 9 9 9 9-4 9-9-4-9-9-9zm0 16c-3.9 0-7-3.1-7-7s3.1-7 7-7 7 3.1 7 7-3.1 7-7 7zm1-11H9v3H6v2h3v3h2v-3h3V9h-3V6z';
+ break;
+
+ case 'instagram':
+ path = 'M12.67 10A2.67 2.67 0 1 0 10 12.67 2.68 2.68 0 0 0 12.67 10zm1.43 0A4.1 4.1 0 1 1 10 5.9a4.09 4.09 0 0 1 4.1 4.1zm1.13-4.27a1 1 0 1 1-1-1 1 1 0 0 1 1 1zM10 3.44c-1.17 0-3.67-.1-4.72.32a2.67 2.67 0 0 0-1.52 1.52c-.42 1-.32 3.55-.32 4.72s-.1 3.67.32 4.72a2.74 2.74 0 0 0 1.52 1.52c1 .42 3.55.32 4.72.32s3.67.1 4.72-.32a2.83 2.83 0 0 0 1.52-1.52c.42-1.05.32-3.55.32-4.72s.1-3.67-.32-4.72a2.74 2.74 0 0 0-1.52-1.52c-1.05-.42-3.55-.32-4.72-.32zM18 10c0 1.1 0 2.2-.05 3.3a4.84 4.84 0 0 1-1.29 3.36A4.8 4.8 0 0 1 13.3 18H6.7a4.84 4.84 0 0 1-3.36-1.29 4.84 4.84 0 0 1-1.29-3.41C2 12.2 2 11.1 2 10V6.7a4.84 4.84 0 0 1 1.34-3.36A4.8 4.8 0 0 1 6.7 2.05C7.8 2 8.9 2 10 2h3.3a4.84 4.84 0 0 1 3.36 1.29A4.8 4.8 0 0 1 18 6.7V10z';
+ break;
+
+ case 'keyboard-hide':
+ path = 'M18,0 L2,0 C0.9,0 0.01,0.9 0.01,2 L0,12 C0,13.1 0.9,14 2,14 L18,14 C19.1,14 20,13.1 20,12 L20,2 C20,0.9 19.1,0 18,0 Z M18,12 L2,12 L2,2 L18,2 L18,12 Z M9,3 L11,3 L11,5 L9,5 L9,3 Z M9,6 L11,6 L11,8 L9,8 L9,6 Z M6,3 L8,3 L8,5 L6,5 L6,3 Z M6,6 L8,6 L8,8 L6,8 L6,6 Z M3,6 L5,6 L5,8 L3,8 L3,6 Z M3,3 L5,3 L5,5 L3,5 L3,3 Z M6,9 L14,9 L14,11 L6,11 L6,9 Z M12,6 L14,6 L14,8 L12,8 L12,6 Z M12,3 L14,3 L14,5 L12,5 L12,3 Z M15,6 L17,6 L17,8 L15,8 L15,6 Z M15,3 L17,3 L17,5 L15,5 L15,3 Z M10,20 L14,16 L6,16 L10,20 Z';
+ break;
+
+ case 'laptop':
+ path = 'M3 3h14c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1H3c-.6 0-1-.4-1-1V4c0-.6.4-1 1-1zm13 2H4v8h12V5zm-3 1H5v4zm6 11v-1H1v1c0 .6.5 1 1.1 1h15.8c.6 0 1.1-.4 1.1-1z';
+ break;
+
+ case 'layout':
+ path = 'M2 2h5v11H2V2zm6 0h5v5H8V2zm6 0h4v16h-4V2zM8 8h5v5H8V8zm-6 6h11v4H2v-4z';
+ break;
+
+ case 'leftright':
+ path = 'M3 10.03L9 6v8zM11 6l6 4.03L11 14V6z';
+ break;
+
+ case 'lightbulb':
+ path = 'M10 1c3.11 0 5.63 2.52 5.63 5.62 0 1.84-2.03 4.58-2.03 4.58-.33.44-.6 1.25-.6 1.8v1c0 .55-.45 1-1 1H8c-.55 0-1-.45-1-1v-1c0-.55-.27-1.36-.6-1.8 0 0-2.02-2.74-2.02-4.58C4.38 3.52 6.89 1 10 1zM7 16.87V16h6v.87c0 .62-.13 1.13-.75 1.13H12c0 .62-.4 1-1.02 1h-2c-.61 0-.98-.38-.98-1h-.25c-.62 0-.75-.51-.75-1.13z';
+ break;
+
+ case 'list-view':
+ path = 'M2 19h16c.55 0 1-.45 1-1V2c0-.55-.45-1-1-1H2c-.55 0-1 .45-1 1v16c0 .55.45 1 1 1zM4 3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v2H6V3h11zM4 7c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v2H6V7h11zM4 11c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v2H6v-2h11zM4 15c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v2H6v-2h11z';
+ break;
+
+ case 'location-alt':
+ path = 'M13 13.14l1.17-5.94c.79-.43 1.33-1.25 1.33-2.2 0-1.38-1.12-2.5-2.5-2.5S10.5 3.62 10.5 5c0 .95.54 1.77 1.33 2.2zm0-9.64c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5-1.5-.67-1.5-1.5.67-1.5 1.5-1.5zm1.72 4.8L18 6.97v9L13.12 18 7 15.97l-5 2v-9l5-2 4.27 1.41 1.73 7.3z';
+ break;
+
+ case 'location':
+ path = 'M10 2C6.69 2 4 4.69 4 8c0 2.02 1.17 3.71 2.53 4.89.43.37 1.18.96 1.85 1.83.74.97 1.41 2.01 1.62 2.71.21-.7.88-1.74 1.62-2.71.67-.87 1.42-1.46 1.85-1.83C14.83 11.71 16 10.02 16 8c0-3.31-2.69-6-6-6zm0 2.56c1.9 0 3.44 1.54 3.44 3.44S11.9 11.44 10 11.44 6.56 9.9 6.56 8 8.1 4.56 10 4.56z';
+ break;
+
+ case 'lock':
+ path = 'M14 9h1c.55 0 1 .45 1 1v7c0 .55-.45 1-1 1H5c-.55 0-1-.45-1-1v-7c0-.55.45-1 1-1h1V6c0-2.21 1.79-4 4-4s4 1.79 4 4v3zm-2 0V6c0-1.1-.9-2-2-2s-2 .9-2 2v3h4zm-1 7l-.36-2.15c.51-.24.86-.75.86-1.35 0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5c0 .6.35 1.11.86 1.35L9 16h2z';
+ break;
+
+ case 'marker':
+ path = 'M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm0 13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5z';
+ break;
+
+ case 'media-archive':
+ path = 'M12 2l4 4v12H4V2h8zm0 4h3l-3-3v3zM8 3.5v2l1.8-1zM11 5L9.2 6 11 7V5zM8 6.5v2l1.8-1zM11 8L9.2 9l1.8 1V8zM8 9.5v2l1.8-1zm3 1.5l-1.8 1 1.8 1v-2zm-1.5 6c.83 0 1.62-.72 1.5-1.63-.05-.38-.49-1.61-.49-1.61l-1.99-1.1s-.45 1.95-.52 2.71c-.07.77.67 1.63 1.5 1.63zm0-2.39c.42 0 .76.34.76.76 0 .43-.34.77-.76.77s-.76-.34-.76-.77c0-.42.34-.76.76-.76z';
+ break;
+
+ case 'media-audio':
+ path = 'M12 2l4 4v12H4V2h8zm0 4h3l-3-3v3zm1 7.26V8.09c0-.11-.04-.21-.12-.29-.07-.08-.16-.11-.27-.1 0 0-3.97.71-4.25.78C8.07 8.54 8 8.8 8 9v3.37c-.2-.09-.42-.07-.6-.07-.38 0-.7.13-.96.39-.26.27-.4.58-.4.96 0 .37.14.69.4.95.26.27.58.4.96.4.34 0 .7-.04.96-.26.26-.23.64-.65.64-1.12V10.3l3-.6V12c-.67-.2-1.17.04-1.44.31-.26.26-.39.58-.39.95 0 .38.13.69.39.96.27.26.71.39 1.08.39.38 0 .7-.13.96-.39.26-.27.4-.58.4-.96z';
+ break;
+
+ case 'media-code':
+ path = 'M12 2l4 4v12H4V2h8zM9 13l-2-2 2-2-1-1-3 3 3 3zm3 1l3-3-3-3-1 1 2 2-2 2z';
+ break;
+
+ case 'media-default':
+ path = 'M12 2l4 4v12H4V2h8zm0 4h3l-3-3v3z';
+ break;
+
+ case 'media-document':
+ path = 'M12 2l4 4v12H4V2h8zM5 3v1h6V3H5zm7 3h3l-3-3v3zM5 5v1h6V5H5zm10 3V7H5v1h10zM5 9v1h4V9H5zm10 3V9h-5v3h5zM5 11v1h4v-1H5zm10 3v-1H5v1h10zm-3 2v-1H5v1h7z';
+ break;
+
+ case 'media-interactive':
+ path = 'M12 2l4 4v12H4V2h8zm0 4h3l-3-3v3zm2 8V8H6v6h3l-1 2h1l1-2 1 2h1l-1-2h3zm-6-3c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm5-2v2h-3V9h3zm0 3v1H7v-1h6z';
+ break;
+
+ case 'media-spreadsheet':
+ path = 'M12 2l4 4v12H4V2h8zm-1 4V3H5v3h6zM8 8V7H5v1h3zm3 0V7H9v1h2zm4 0V7h-3v1h3zm-7 2V9H5v1h3zm3 0V9H9v1h2zm4 0V9h-3v1h3zm-7 2v-1H5v1h3zm3 0v-1H9v1h2zm4 0v-1h-3v1h3zm-7 2v-1H5v1h3zm3 0v-1H9v1h2zm4 0v-1h-3v1h3zm-7 2v-1H5v1h3zm3 0v-1H9v1h2z';
+ break;
+
+ case 'media-text':
+ path = 'M12 2l4 4v12H4V2h8zM5 3v1h6V3H5zm7 3h3l-3-3v3zM5 5v1h6V5H5zm10 3V7H5v1h10zm0 2V9H5v1h10zm0 2v-1H5v1h10zm-4 2v-1H5v1h6z';
+ break;
+
+ case 'media-video':
+ path = 'M12 2l4 4v12H4V2h8zm0 4h3l-3-3v3zm-1 8v-3c0-.27-.1-.51-.29-.71-.2-.19-.44-.29-.71-.29H7c-.27 0-.51.1-.71.29-.19.2-.29.44-.29.71v3c0 .27.1.51.29.71.2.19.44.29.71.29h3c.27 0 .51-.1.71-.29.19-.2.29-.44.29-.71zm3 1v-5l-2 2v1z';
+ break;
+
+ case 'megaphone':
+ path = 'M18.15 5.94c.46 1.62.38 3.22-.02 4.48-.42 1.28-1.26 2.18-2.3 2.48-.16.06-.26.06-.4.06-.06.02-.12.02-.18.02-.06.02-.14.02-.22.02h-6.8l2.22 5.5c.02.14-.06.26-.14.34-.08.1-.24.16-.34.16H6.95c-.1 0-.26-.06-.34-.16-.08-.08-.16-.2-.14-.34l-1-5.5H4.25l-.02-.02c-.5.06-1.08-.18-1.54-.62s-.88-1.08-1.06-1.88c-.24-.8-.2-1.56-.02-2.2.18-.62.58-1.08 1.06-1.3l.02-.02 9-5.4c.1-.06.18-.1.24-.16.06-.04.14-.08.24-.12.16-.08.28-.12.5-.18 1.04-.3 2.24.1 3.22.98s1.84 2.24 2.26 3.86zm-2.58 5.98h-.02c.4-.1.74-.34 1.04-.7.58-.7.86-1.76.86-3.04 0-.64-.1-1.3-.28-1.98-.34-1.36-1.02-2.5-1.78-3.24s-1.68-1.1-2.46-.88c-.82.22-1.4.96-1.7 2-.32 1.04-.28 2.36.06 3.72.38 1.36 1 2.5 1.8 3.24.78.74 1.62 1.1 2.48.88zm-2.54-7.08c.22-.04.42-.02.62.04.38.16.76.48 1.02 1s.42 1.2.42 1.78c0 .3-.04.56-.12.8-.18.48-.44.84-.86.94-.34.1-.8-.06-1.14-.4s-.64-.86-.78-1.5c-.18-.62-.12-1.24.02-1.72s.48-.84.82-.94z';
+ break;
+
+ case 'menu-alt':
+ path = 'M3 4h14v2H3V4zm0 5h14v2H3V9zm0 5h14v2H3v-2z';
+ break;
+
+ case 'menu':
+ path = 'M17 7V5H3v2h14zm0 4V9H3v2h14zm0 4v-2H3v2h14z';
+ break;
+
+ case 'microphone':
+ path = 'M12 9V3c0-1.1-.89-2-2-2-1.12 0-2 .94-2 2v6c0 1.1.9 2 2 2 1.13 0 2-.94 2-2zm4 0c0 2.97-2.16 5.43-5 5.91V17h2c.56 0 1 .45 1 1s-.44 1-1 1H7c-.55 0-1-.45-1-1s.45-1 1-1h2v-2.09C6.17 14.43 4 11.97 4 9c0-.55.45-1 1-1 .56 0 1 .45 1 1 0 2.21 1.8 4 4 4 2.21 0 4-1.79 4-4 0-.55.45-1 1-1 .56 0 1 .45 1 1z';
+ break;
+
+ case 'migrate':
+ path = 'M4 6h6V4H2v12.01h8V14H4V6zm2 2h6V5l6 5-6 5v-3H6V8z';
+ break;
+
+ case 'minus':
+ path = 'M4 9h12v2H4V9z';
+ break;
+
+ case 'money':
+ path = 'M0 3h20v12h-.75c0-1.79-1.46-3.25-3.25-3.25-1.31 0-2.42.79-2.94 1.91-.25-.1-.52-.16-.81-.16-.98 0-1.8.63-2.11 1.5H0V3zm8.37 3.11c-.06.15-.1.31-.11.47s-.01.33.01.5l.02.08c.01.06.02.14.05.23.02.1.06.2.1.31.03.11.09.22.15.33.07.12.15.22.23.31s.18.17.31.23c.12.06.25.09.4.09.14 0 .27-.03.39-.09s.22-.14.3-.22c.09-.09.16-.2.22-.32.07-.12.12-.23.16-.33s.07-.2.09-.31c.03-.11.04-.18.05-.22s.01-.07.01-.09c.05-.29.03-.56-.04-.82s-.21-.48-.41-.66c-.21-.18-.47-.27-.79-.27-.19 0-.36.03-.52.1-.15.07-.28.16-.38.28-.09.11-.17.25-.24.4zm4.48 6.04v-1.14c0-.33-.1-.66-.29-.98s-.45-.59-.77-.79c-.32-.21-.66-.31-1.02-.31l-1.24.84-1.28-.82c-.37 0-.72.1-1.04.3-.31.2-.56.46-.74.77-.18.32-.27.65-.27.99v1.14l.18.05c.12.04.29.08.51.14.23.05.47.1.74.15.26.05.57.09.91.13.34.03.67.05.99.05.3 0 .63-.02.98-.05.34-.04.64-.08.89-.13.25-.04.5-.1.76-.16l.5-.12c.08-.02.14-.04.19-.06zm3.15.1c1.52 0 2.75 1.23 2.75 2.75s-1.23 2.75-2.75 2.75c-.73 0-1.38-.3-1.87-.77.23-.35.37-.78.37-1.23 0-.77-.39-1.46-.99-1.86.43-.96 1.37-1.64 2.49-1.64zm-5.5 3.5c0-.96.79-1.75 1.75-1.75s1.75.79 1.75 1.75-.79 1.75-1.75 1.75-1.75-.79-1.75-1.75z';
+ break;
+
+ case 'move':
+ path = 'M19 10l-4 4v-3h-4v4h3l-4 4-4-4h3v-4H5v3l-4-4 4-4v3h4V5H6l4-4 4 4h-3v4h4V6z';
+ break;
+
+ case 'nametag':
+ path = 'M12 5V2c0-.55-.45-1-1-1H9c-.55 0-1 .45-1 1v3c0 .55.45 1 1 1h2c.55 0 1-.45 1-1zm-2-3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm8 13V7c0-1.1-.9-2-2-2h-3v.33C13 6.25 12.25 7 11.33 7H8.67C7.75 7 7 6.25 7 5.33V5H4c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2zm-1-6v6H3V9h14zm-8 2c0-.55-.22-1-.5-1s-.5.45-.5 1 .22 1 .5 1 .5-.45.5-1zm3 0c0-.55-.22-1-.5-1s-.5.45-.5 1 .22 1 .5 1 .5-.45.5-1zm-5.96 1.21c.92.48 2.34.79 3.96.79s3.04-.31 3.96-.79c-.21 1-1.89 1.79-3.96 1.79s-3.75-.79-3.96-1.79z';
+ break;
+
+ case 'networking':
+ path = 'M18 13h1c.55 0 1 .45 1 1.01v2.98c0 .56-.45 1.01-1 1.01h-4c-.55 0-1-.45-1-1.01v-2.98c0-.56.45-1.01 1-1.01h1v-2h-5v2h1c.55 0 1 .45 1 1.01v2.98c0 .56-.45 1.01-1 1.01H8c-.55 0-1-.45-1-1.01v-2.98c0-.56.45-1.01 1-1.01h1v-2H4v2h1c.55 0 1 .45 1 1.01v2.98C6 17.55 5.55 18 5 18H1c-.55 0-1-.45-1-1.01v-2.98C0 13.45.45 13 1 13h1v-2c0-1.1.9-2 2-2h5V7H8c-.55 0-1-.45-1-1.01V3.01C7 2.45 7.45 2 8 2h4c.55 0 1 .45 1 1.01v2.98C13 6.55 12.55 7 12 7h-1v2h5c1.1 0 2 .9 2 2v2z';
+ break;
+
+ case 'no-alt':
+ path = 'M14.95 6.46L11.41 10l3.54 3.54-1.41 1.41L10 11.42l-3.53 3.53-1.42-1.42L8.58 10 5.05 6.47l1.42-1.42L10 8.58l3.54-3.53z';
+ break;
+
+ case 'no':
+ path = 'M12.12 10l3.53 3.53-2.12 2.12L10 12.12l-3.54 3.54-2.12-2.12L7.88 10 4.34 6.46l2.12-2.12L10 7.88l3.54-3.53 2.12 2.12z';
+ break;
+
+ case 'palmtree':
+ path = 'M8.58 2.39c.32 0 .59.05.81.14 1.25.55 1.69 2.24 1.7 3.97.59-.82 2.15-2.29 3.41-2.29s2.94.73 3.53 3.55c-1.13-.65-2.42-.94-3.65-.94-1.26 0-2.45.32-3.29.89.4-.11.86-.16 1.33-.16 1.39 0 2.9.45 3.4 1.31.68 1.16.47 3.38-.76 4.14-.14-2.1-1.69-4.12-3.47-4.12-.44 0-.88.12-1.33.38C8 10.62 7 14.56 7 19H2c0-5.53 4.21-9.65 7.68-10.79-.56-.09-1.17-.15-1.82-.15C6.1 8.06 4.05 8.5 2 10c.76-2.96 2.78-4.1 4.69-4.1 1.25 0 2.45.5 3.2 1.29-.66-2.24-2.49-2.86-4.08-2.86-.8 0-1.55.16-2.05.35.91-1.29 3.31-2.29 4.82-2.29zM13 11.5c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5.67 1.5 1.5 1.5 1.5-.67 1.5-1.5z';
+ break;
+
+ case 'paperclip':
+ path = 'M17.05 2.7c1.93 1.94 1.93 5.13 0 7.07L10 16.84c-1.88 1.89-4.91 1.93-6.86.15-.06-.05-.13-.09-.19-.15-1.93-1.94-1.93-5.12 0-7.07l4.94-4.95c.91-.92 2.28-1.1 3.39-.58.3.15.59.33.83.58 1.17 1.17 1.17 3.07 0 4.24l-4.93 4.95c-.39.39-1.02.39-1.41 0s-.39-1.02 0-1.41l4.93-4.95c.39-.39.39-1.02 0-1.41-.38-.39-1.02-.39-1.4 0l-4.94 4.95c-.91.92-1.1 2.29-.57 3.4.14.3.32.59.57.84s.54.43.84.57c1.11.53 2.47.35 3.39-.57l7.05-7.07c1.16-1.17 1.16-3.08 0-4.25-.56-.55-1.28-.83-2-.86-.08.01-.16.01-.24 0-.22-.03-.43-.11-.6-.27-.39-.4-.38-1.05.02-1.45.16-.16.36-.24.56-.28.14-.02.27-.01.4.02 1.19.06 2.36.52 3.27 1.43z';
+ break;
+
+ case 'performance':
+ path = 'M3.76 17.01h12.48C17.34 15.63 18 13.9 18 12c0-4.41-3.58-8-8-8s-8 3.59-8 8c0 1.9.66 3.63 1.76 5.01zM9 6c0-.55.45-1 1-1s1 .45 1 1c0 .56-.45 1-1 1s-1-.44-1-1zM4 8c0-.55.45-1 1-1s1 .45 1 1c0 .56-.45 1-1 1s-1-.44-1-1zm4.52 3.4c.84-.83 6.51-3.5 6.51-3.5s-2.66 5.68-3.49 6.51c-.84.84-2.18.84-3.02 0-.83-.83-.83-2.18 0-3.01zM3 13c0-.55.45-1 1-1s1 .45 1 1c0 .56-.45 1-1 1s-1-.44-1-1zm6 0c0-.55.45-1 1-1s1 .45 1 1c0 .56-.45 1-1 1s-1-.44-1-1zm6 0c0-.55.45-1 1-1s1 .45 1 1c0 .56-.45 1-1 1s-1-.44-1-1z';
+ break;
+
+ case 'phone':
+ path = 'M12.06 6l-.21-.2c-.52-.54-.43-.79.08-1.3l2.72-2.75c.81-.82.96-1.21 1.73-.48l.21.2zm.53.45l4.4-4.4c.7.94 2.34 3.47 1.53 5.34-.73 1.67-1.09 1.75-2 3-1.85 2.11-4.18 4.37-6 6.07-1.26.91-1.31 1.33-3 2-1.8.71-4.4-.89-5.38-1.56l4.4-4.4 1.18 1.62c.34.46 1.2-.06 1.8-.66 1.04-1.05 3.18-3.18 4-4.07.59-.59 1.12-1.45.66-1.8zM1.57 16.5l-.21-.21c-.68-.74-.29-.9.52-1.7l2.74-2.72c.51-.49.75-.6 1.27-.11l.2.21z';
+ break;
+
+ case 'playlist-audio':
+ path = 'M17 3V1H2v2h15zm0 4V5H2v2h15zm-7 4V9H2v2h8zm7.45-1.96l-6 1.12c-.16.02-.19.03-.29.13-.11.09-.16.22-.16.37v4.59c-.29-.13-.66-.14-.93-.14-.54 0-1 .19-1.38.57s-.56.84-.56 1.38c0 .53.18.99.56 1.37s.84.57 1.38.57c.49 0 .92-.16 1.29-.48s.59-.71.65-1.19v-4.95L17 11.27v3.48c-.29-.13-.56-.19-.83-.19-.54 0-1.11.19-1.49.57-.38.37-.57.83-.57 1.37s.19.99.57 1.37.84.57 1.38.57c.53 0 .99-.19 1.37-.57s.57-.83.57-1.37V9.6c0-.16-.05-.3-.16-.41-.11-.12-.24-.17-.39-.15zM8 15v-2H2v2h6zm-2 4v-2H2v2h4z';
+ break;
+
+ case 'playlist-video':
+ path = 'M17 3V1H2v2h15zm0 4V5H2v2h15zM6 11V9H2v2h4zm2-2h9c.55 0 1 .45 1 1v8c0 .55-.45 1-1 1H8c-.55 0-1-.45-1-1v-8c0-.55.45-1 1-1zm3 7l3.33-2L11 12v4zm-5-1v-2H2v2h4zm0 4v-2H2v2h4z';
+ break;
+
+ case 'plus-alt':
+ path = 'M15.8 4.2c3.2 3.21 3.2 8.39 0 11.6-3.21 3.2-8.39 3.2-11.6 0C1 12.59 1 7.41 4.2 4.2 7.41 1 12.59 1 15.8 4.2zm-4.3 11.3v-4h4v-3h-4v-4h-3v4h-4v3h4v4h3z';
+ break;
+
+ case 'plus-light':
+ path = 'M17 9v2h-6v6H9v-6H3V9h6V3h2v6h6z';
+ break;
+
+ case 'plus':
+ path = 'M17 7v3h-5v5H9v-5H4V7h5V2h3v5h5z';
+ break;
+
+ case 'portfolio':
+ path = 'M4 5H.78c-.37 0-.74.32-.69.84l1.56 9.99S3.5 8.47 3.86 6.7c.11-.53.61-.7.98-.7H10s-.7-2.08-.77-2.31C9.11 3.25 8.89 3 8.45 3H5.14c-.36 0-.7.23-.8.64C4.25 4.04 4 5 4 5zm4.88 0h-4s.42-1 .87-1h2.13c.48 0 1 1 1 1zM2.67 16.25c-.31.47-.76.75-1.26.75h15.73c.54 0 .92-.31 1.03-.83.44-2.19 1.68-8.44 1.68-8.44.07-.5-.3-.73-.62-.73H16V5.53c0-.16-.26-.53-.66-.53h-3.76c-.52 0-.87.58-.87.58L10 7H5.59c-.32 0-.63.19-.69.5 0 0-1.59 6.7-1.72 7.33-.07.37-.22.99-.51 1.42zM15.38 7H11s.58-1 1.13-1h2.29c.71 0 .96 1 .96 1z';
+ break;
+
+ case 'post-status':
+ path = 'M14 6c0 1.86-1.28 3.41-3 3.86V16c0 1-2 2-2 2V9.86c-1.72-.45-3-2-3-3.86 0-2.21 1.79-4 4-4s4 1.79 4 4zM8 5c0 .55.45 1 1 1s1-.45 1-1-.45-1-1-1-1 .45-1 1z';
+ break;
+
+ case 'pressthis':
+ path = 'M14.76 1C16.55 1 18 2.46 18 4.25c0 1.78-1.45 3.24-3.24 3.24-.23 0-.47-.03-.7-.08L13 8.47V19H2V4h9.54c.13-2 1.52-3 3.22-3zm0 5.49C16 6.49 17 5.48 17 4.25 17 3.01 16 2 14.76 2s-2.24 1.01-2.24 2.25c0 .37.1.72.27 1.03L9.57 8.5c-.28.28-1.77 2.22-1.5 2.49.02.03.06.04.1.04.49 0 2.14-1.28 2.39-1.53l3.24-3.24c.29.14.61.23.96.23z';
+ break;
+
+ case 'products':
+ path = 'M17 8h1v11H2V8h1V6c0-2.76 2.24-5 5-5 .71 0 1.39.15 2 .42.61-.27 1.29-.42 2-.42 2.76 0 5 2.24 5 5v2zM5 6v2h2V6c0-1.13.39-2.16 1.02-3H8C6.35 3 5 4.35 5 6zm10 2V6c0-1.65-1.35-3-3-3h-.02c.63.84 1.02 1.87 1.02 3v2h2zm-5-4.22C9.39 4.33 9 5.12 9 6v2h2V6c0-.88-.39-1.67-1-2.22z';
+ break;
+
+ case 'randomize':
+ path = 'M18 6.01L14 9V7h-4l-5 8H2v-2h2l5-8h5V3zM2 5h3l1.15 2.17-1.12 1.8L4 7H2V5zm16 9.01L14 17v-2H9l-1.15-2.17 1.12-1.8L10 13h4v-2z';
+ break;
+
+ case 'redo':
+ path = 'M8 5h5V2l6 4-6 4V7H8c-2.2 0-4 1.8-4 4s1.8 4 4 4h5v2H8c-3.3 0-6-2.7-6-6s2.7-6 6-6z';
+ break;
+
+ case 'rest-api':
+ path = 'M3 4h2v12H3z';
+ break;
+
+ case 'rss':
+ path = 'M14.92 18H18C18 9.32 10.82 2.25 2 2.25v3.02c7.12 0 12.92 5.71 12.92 12.73zm-5.44 0h3.08C12.56 12.27 7.82 7.6 2 7.6v3.02c2 0 3.87.77 5.29 2.16C8.7 14.17 9.48 16.03 9.48 18zm-5.35-.02c1.17 0 2.13-.93 2.13-2.09 0-1.15-.96-2.09-2.13-2.09-1.18 0-2.13.94-2.13 2.09 0 1.16.95 2.09 2.13 2.09z';
+ break;
+
+ case 'saved':
+ path = 'M15.3 5.3l-6.8 6.8-2.8-2.8-1.4 1.4 4.2 4.2 8.2-8.2';
+ break;
+
+ case 'schedule':
+ path = 'M2 2h16v4H2V2zm0 10V8h4v4H2zm6-2V8h4v2H8zm6 3V8h4v5h-4zm-6 5v-6h4v6H8zm-6 0v-4h4v4H2zm12 0v-3h4v3h-4z';
+ break;
+
+ case 'screenoptions':
+ path = 'M9 9V3H3v6h6zm8 0V3h-6v6h6zm-8 8v-6H3v6h6zm8 0v-6h-6v6h6z';
+ break;
+
+ case 'search':
+ path = 'M12.14 4.18c1.87 1.87 2.11 4.75.72 6.89.12.1.22.21.36.31.2.16.47.36.81.59.34.24.56.39.66.47.42.31.73.57.94.78.32.32.6.65.84 1 .25.35.44.69.59 1.04.14.35.21.68.18 1-.02.32-.14.59-.36.81s-.49.34-.81.36c-.31.02-.65-.04-.99-.19-.35-.14-.7-.34-1.04-.59-.35-.24-.68-.52-1-.84-.21-.21-.47-.52-.77-.93-.1-.13-.25-.35-.47-.66-.22-.32-.4-.57-.56-.78-.16-.2-.29-.35-.44-.5-2.07 1.09-4.69.76-6.44-.98-2.14-2.15-2.14-5.64 0-7.78 2.15-2.15 5.63-2.15 7.78 0zm-1.41 6.36c1.36-1.37 1.36-3.58 0-4.95-1.37-1.37-3.59-1.37-4.95 0-1.37 1.37-1.37 3.58 0 4.95 1.36 1.37 3.58 1.37 4.95 0z';
+ break;
+
+ case 'share-alt':
+ path = 'M16.22 5.8c.47.69.29 1.62-.4 2.08-.69.47-1.62.29-2.08-.4-.16-.24-.35-.46-.55-.67-.21-.2-.43-.39-.67-.55s-.5-.3-.77-.41c-.27-.12-.55-.21-.84-.26-.59-.13-1.23-.13-1.82-.01-.29.06-.57.15-.84.27-.27.11-.53.25-.77.41s-.46.35-.66.55c-.21.21-.4.43-.56.67s-.3.5-.41.76c-.01.02-.01.03-.01.04-.1.24-.17.48-.23.72H1V6h2.66c.04-.07.07-.13.12-.2.27-.4.57-.77.91-1.11s.72-.65 1.11-.91c.4-.27.83-.51 1.28-.7s.93-.34 1.41-.43c.99-.21 2.03-.21 3.02 0 .48.09.96.24 1.41.43s.88.43 1.28.7c.39.26.77.57 1.11.91s.64.71.91 1.11zM12.5 10c0-1.38-1.12-2.5-2.5-2.5S7.5 8.62 7.5 10s1.12 2.5 2.5 2.5 2.5-1.12 2.5-2.5zm-8.72 4.2c-.47-.69-.29-1.62.4-2.09.69-.46 1.62-.28 2.08.41.16.24.35.46.55.67.21.2.43.39.67.55s.5.3.77.41c.27.12.55.2.84.26.59.13 1.23.12 1.82 0 .29-.06.57-.14.84-.26.27-.11.53-.25.77-.41s.46-.35.66-.55c.21-.21.4-.44.56-.67.16-.25.3-.5.41-.76.01-.02.01-.03.01-.04.1-.24.17-.48.23-.72H19v3h-2.66c-.04.06-.07.13-.12.2-.27.4-.57.77-.91 1.11s-.72.65-1.11.91c-.4.27-.83.51-1.28.7s-.93.33-1.41.43c-.99.21-2.03.21-3.02 0-.48-.1-.96-.24-1.41-.43s-.88-.43-1.28-.7c-.39-.26-.77-.57-1.11-.91s-.64-.71-.91-1.11z';
+ break;
+
+ case 'share-alt2':
+ path = 'M18 8l-5 4V9.01c-2.58.06-4.88.45-7 2.99.29-3.57 2.66-5.66 7-5.94V3zM4 14h11v-2l2-1.6V16H2V5h9.43c-1.83.32-3.31 1-4.41 2H4v7z';
+ break;
+
+ case 'share':
+ path = 'M14.5 12c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3c0-.24.03-.46.09-.69l-4.38-2.3c-.55.61-1.33.99-2.21.99-1.66 0-3-1.34-3-3s1.34-3 3-3c.88 0 1.66.39 2.21.99l4.38-2.3c-.06-.23-.09-.45-.09-.69 0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3c-.88 0-1.66-.39-2.21-.99l-4.38 2.3c.06.23.09.45.09.69s-.03.46-.09.69l4.38 2.3c.55-.61 1.33-.99 2.21-.99z';
+ break;
+
+ case 'shield-alt':
+ path = 'M10 2s3 2 7 2c0 11-7 14-7 14S3 15 3 4c4 0 7-2 7-2z';
+ break;
+
+ case 'shield':
+ path = 'M10 2s3 2 7 2c0 11-7 14-7 14S3 15 3 4c4 0 7-2 7-2zm0 8h5s1-1 1-5c0 0-5-1-6-2v7H5c1 4 5 7 5 7v-7z';
+ break;
+
+ case 'shortcode':
+ path = 'M6 14H4V6h2V4H2v12h4M7.1 17h2.1l3.7-14h-2.1M14 4v2h2v8h-2v2h4V4';
+ break;
+
+ case 'slides':
+ path = 'M5 14V6h10v8H5zm-3-1V7h2v6H2zm4-6v6h8V7H6zm10 0h2v6h-2V7zm-3 2V8H7v1h6zm0 3v-2H7v2h6z';
+ break;
+
+ case 'smartphone':
+ path = 'M6 2h8c.55 0 1 .45 1 1v14c0 .55-.45 1-1 1H6c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1zm7 12V4H7v10h6zM8 5h4l-4 5V5z';
+ break;
+
+ case 'smiley':
+ path = 'M7 5.2c1.1 0 2 .89 2 2 0 .37-.11.71-.28 1C8.72 8.2 8 8 7 8s-1.72.2-1.72.2c-.17-.29-.28-.63-.28-1 0-1.11.9-2 2-2zm6 0c1.11 0 2 .89 2 2 0 .37-.11.71-.28 1 0 0-.72-.2-1.72-.2s-1.72.2-1.72.2c-.17-.29-.28-.63-.28-1 0-1.11.89-2 2-2zm-3 13.7c3.72 0 7.03-2.36 8.23-5.88l-1.32-.46C15.9 15.52 13.12 17.5 10 17.5s-5.9-1.98-6.91-4.94l-1.32.46c1.2 3.52 4.51 5.88 8.23 5.88z';
+ break;
+
+ case 'sort':
+ path = 'M11 7H1l5 7zm-2 7h10l-5-7z';
+ break;
+
+ case 'sos':
+ path = 'M18 10c0-4.42-3.58-8-8-8s-8 3.58-8 8 3.58 8 8 8 8-3.58 8-8zM7.23 3.57L8.72 7.3c-.62.29-1.13.8-1.42 1.42L3.57 7.23c.71-1.64 2.02-2.95 3.66-3.66zm9.2 3.66L12.7 8.72c-.29-.62-.8-1.13-1.42-1.42l1.49-3.73c1.64.71 2.95 2.02 3.66 3.66zM10 12c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm-6.43.77l3.73-1.49c.29.62.8 1.13 1.42 1.42l-1.49 3.73c-1.64-.71-2.95-2.02-3.66-3.66zm9.2 3.66l-1.49-3.73c.62-.29 1.13-.8 1.42-1.42l3.73 1.49c-.71 1.64-2.02 2.95-3.66 3.66z';
+ break;
+
+ case 'star-empty':
+ path = 'M10 1L7 7l-6 .75 4.13 4.62L4 19l6-3 6 3-1.12-6.63L19 7.75 13 7zm0 2.24l2.34 4.69 4.65.58-3.18 3.56.87 5.15L10 14.88l-4.68 2.34.87-5.15-3.18-3.56 4.65-.58z';
+ break;
+
+ case 'star-filled':
+ path = 'M10 1l3 6 6 .75-4.12 4.62L16 19l-6-3-6 3 1.13-6.63L1 7.75 7 7z';
+ break;
+
+ case 'star-half':
+ path = 'M10 1L7 7l-6 .75 4.13 4.62L4 19l6-3 6 3-1.12-6.63L19 7.75 13 7zm0 2.24l2.34 4.69 4.65.58-3.18 3.56.87 5.15L10 14.88V3.24z';
+ break;
+
+ case 'sticky':
+ path = 'M5 3.61V1.04l8.99-.01-.01 2.58c-1.22.26-2.16 1.35-2.16 2.67v.5c.01 1.31.93 2.4 2.17 2.66l-.01 2.58h-3.41l-.01 2.57c0 .6-.47 4.41-1.06 4.41-.6 0-1.08-3.81-1.08-4.41v-2.56L5 12.02l.01-2.58c1.23-.25 2.15-1.35 2.15-2.66v-.5c0-1.31-.92-2.41-2.16-2.67z';
+ break;
+
+ case 'store':
+ path = 'M1 10c.41.29.96.43 1.5.43.55 0 1.09-.14 1.5-.43.62-.46 1-1.17 1-2 0 .83.37 1.54 1 2 .41.29.96.43 1.5.43.55 0 1.09-.14 1.5-.43.62-.46 1-1.17 1-2 0 .83.37 1.54 1 2 .41.29.96.43 1.51.43.54 0 1.08-.14 1.49-.43.62-.46 1-1.17 1-2 0 .83.37 1.54 1 2 .41.29.96.43 1.5.43.55 0 1.09-.14 1.5-.43.63-.46 1-1.17 1-2V7l-3-7H4L0 7v1c0 .83.37 1.54 1 2zm2 8.99h5v-5h4v5h5v-7c-.37-.05-.72-.22-1-.43-.63-.45-1-.73-1-1.56 0 .83-.38 1.11-1 1.56-.41.3-.95.43-1.49.44-.55 0-1.1-.14-1.51-.44-.63-.45-1-.73-1-1.56 0 .83-.38 1.11-1 1.56-.41.3-.95.43-1.5.44-.54 0-1.09-.14-1.5-.44-.63-.45-1-.73-1-1.57 0 .84-.38 1.12-1 1.57-.29.21-.63.38-1 .44v6.99z';
+ break;
+
+ case 'table-col-after':
+ path = 'M14.08 12.864V9.216h3.648V7.424H14.08V3.776h-1.728v3.648H8.64v1.792h3.712v3.648zM0 17.92V0h20.48v17.92H0zM6.4 1.28H1.28v3.84H6.4V1.28zm0 5.12H1.28v3.84H6.4V6.4zm0 5.12H1.28v3.84H6.4v-3.84zM19.2 1.28H7.68v14.08H19.2V1.28z';
+ break;
+
+ case 'table-col-before':
+ path = 'M6.4 3.776v3.648H2.752v1.792H6.4v3.648h1.728V9.216h3.712V7.424H8.128V3.776zM0 17.92V0h20.48v17.92H0zM12.8 1.28H1.28v14.08H12.8V1.28zm6.4 0h-5.12v3.84h5.12V1.28zm0 5.12h-5.12v3.84h5.12V6.4zm0 5.12h-5.12v3.84h5.12v-3.84z';
+ break;
+
+ case 'table-col-delete':
+ path = 'M6.4 9.98L7.68 8.7v-.256L6.4 7.164V9.98zm6.4-1.532l1.28-1.28V9.92L12.8 8.64v-.192zm7.68 9.472V0H0v17.92h20.48zm-1.28-2.56h-5.12v-1.024l-.256.256-1.024-1.024v1.792H7.68v-1.792l-1.024 1.024-.256-.256v1.024H1.28V1.28H6.4v2.368l.704-.704.576.576V1.216h5.12V3.52l.96-.96.32.32V1.216h5.12V15.36zm-5.76-2.112l-3.136-3.136-3.264 3.264-1.536-1.536 3.264-3.264L5.632 5.44l1.536-1.536 3.136 3.136 3.2-3.2 1.536 1.536-3.2 3.2 3.136 3.136-1.536 1.536z';
+ break;
+
+ case 'table-row-after':
+ path = 'M13.824 10.176h-2.88v-2.88H9.536v2.88h-2.88v1.344h2.88v2.88h1.408v-2.88h2.88zM0 17.92V0h20.48v17.92H0zM6.4 1.28H1.28v3.84H6.4V1.28zm6.4 0H7.68v3.84h5.12V1.28zm6.4 0h-5.12v3.84h5.12V1.28zm0 5.056H1.28v9.024H19.2V6.336z';
+ break;
+
+ case 'table-row-before':
+ path = 'M6.656 6.464h2.88v2.88h1.408v-2.88h2.88V5.12h-2.88V2.24H9.536v2.88h-2.88zM0 17.92V0h20.48v17.92H0zm7.68-2.56h5.12v-3.84H7.68v3.84zm-6.4 0H6.4v-3.84H1.28v3.84zM19.2 1.28H1.28v9.024H19.2V1.28zm0 10.24h-5.12v3.84h5.12v-3.84z';
+ break;
+
+ case 'table-row-delete':
+ path = 'M17.728 11.456L14.592 8.32l3.2-3.2-1.536-1.536-3.2 3.2L9.92 3.648 8.384 5.12l3.2 3.2-3.264 3.264 1.536 1.536 3.264-3.264 3.136 3.136 1.472-1.536zM0 17.92V0h20.48v17.92H0zm19.2-6.4h-.448l-1.28-1.28H19.2V6.4h-1.792l1.28-1.28h.512V1.28H1.28v3.84h6.208l1.28 1.28H1.28v3.84h7.424l-1.28 1.28H1.28v3.84H19.2v-3.84z';
+ break;
+
+ case 'tablet':
+ path = 'M4 2h12c.55 0 1 .45 1 1v14c0 .55-.45 1-1 1H4c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1zm11 14V4H5v12h10zM6 5h6l-6 5V5z';
+ break;
+
+ case 'tag':
+ path = 'M11 2h7v7L8 19l-7-7zm3 6c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z';
+ break;
+
+ case 'tagcloud':
+ path = 'M11 3v4H1V3h10zm8 0v4h-7V3h7zM7 8v3H1V8h6zm12 0v3H8V8h11zM9 12v2H1v-2h8zm10 0v2h-9v-2h9zM6 15v1H1v-1h5zm5 0v1H7v-1h4zm3 0v1h-2v-1h2zm5 0v1h-4v-1h4z';
+ break;
+
+ case 'testimonial':
+ path = 'M4 3h12c.55 0 1.02.2 1.41.59S18 4.45 18 5v7c0 .55-.2 1.02-.59 1.41S16.55 14 16 14h-1l-5 5v-5H4c-.55 0-1.02-.2-1.41-.59S2 12.55 2 12V5c0-.55.2-1.02.59-1.41S3.45 3 4 3zm11 2H4v1h11V5zm1 3H4v1h12V8zm-3 3H4v1h9v-1z';
+ break;
+
+ case 'text':
+ path = 'M18 3v2H2V3h16zm-6 4v2H2V7h10zm6 0v2h-4V7h4zM8 11v2H2v-2h6zm10 0v2h-8v-2h8zm-4 4v2H2v-2h12z';
+ break;
+
+ case 'thumbs-down':
+ path = 'M7.28 18c-.15.02-.26-.02-.41-.07-.56-.19-.83-.79-.66-1.35.17-.55 1-3.04 1-3.58 0-.53-.75-1-1.35-1h-3c-.6 0-1-.4-1-1s2-7 2-7c.17-.39.55-1 1-1H14v9h-2.14c-.41.41-3.3 4.71-3.58 5.27-.21.41-.6.68-1 .73zM18 12h-2V3h2v9z';
+ break;
+
+ case 'thumbs-up':
+ path = 'M12.72 2c.15-.02.26.02.41.07.56.19.83.79.66 1.35-.17.55-1 3.04-1 3.58 0 .53.75 1 1.35 1h3c.6 0 1 .4 1 1s-2 7-2 7c-.17.39-.55 1-1 1H6V8h2.14c.41-.41 3.3-4.71 3.58-5.27.21-.41.6-.68 1-.73zM2 8h2v9H2V8z';
+ break;
+
+ case 'tickets-alt':
+ path = 'M20 6.38L18.99 9.2v-.01c-.52-.19-1.03-.16-1.53.08s-.85.62-1.04 1.14-.16 1.03.07 1.53c.24.5.62.84 1.15 1.03v.01l-1.01 2.82-15.06-5.38.99-2.79c.52.19 1.03.16 1.53-.08.5-.23.84-.61 1.03-1.13s.16-1.03-.08-1.53c-.23-.49-.61-.83-1.13-1.02L4.93 1zm-4.97 5.69l1.37-3.76c.12-.31.1-.65-.04-.95s-.39-.53-.7-.65L8.14 3.98c-.64-.23-1.37.12-1.6.74L5.17 8.48c-.24.65.1 1.37.74 1.6l7.52 2.74c.14.05.28.08.43.08.52 0 1-.33 1.17-.83zM7.97 4.45l7.51 2.73c.19.07.34.21.43.39.08.18.09.38.02.57l-1.37 3.76c-.13.38-.58.59-.96.45L6.09 9.61c-.39-.14-.59-.57-.45-.96l1.37-3.76c.1-.29.39-.49.7-.49.09 0 .17.02.26.05zm6.82 12.14c.35.27.75.41 1.2.41H16v3H0v-2.96c.55 0 1.03-.2 1.41-.59.39-.38.59-.86.59-1.41s-.2-1.02-.59-1.41-.86-.59-1.41-.59V10h1.05l-.28.8 2.87 1.02c-.51.16-.89.62-.89 1.18v4c0 .69.56 1.25 1.25 1.25h8c.69 0 1.25-.56 1.25-1.25v-1.75l.83.3c.12.43.36.78.71 1.04zM3.25 17v-4c0-.41.34-.75.75-.75h.83l7.92 2.83V17c0 .41-.34.75-.75.75H4c-.41 0-.75-.34-.75-.75z';
+ break;
+
+ case 'tickets':
+ path = 'M20 5.38L18.99 8.2v-.01c-1.04-.37-2.19.18-2.57 1.22-.37 1.04.17 2.19 1.22 2.56v.01l-1.01 2.82L1.57 9.42l.99-2.79c1.04.38 2.19-.17 2.56-1.21s-.17-2.18-1.21-2.55L4.93 0zm-5.45 3.37c.74-2.08-.34-4.37-2.42-5.12-2.08-.74-4.37.35-5.11 2.42-.74 2.08.34 4.38 2.42 5.12 2.07.74 4.37-.35 5.11-2.42zm-2.56-4.74c.89.32 1.57.94 1.97 1.71-.01-.01-.02-.01-.04-.02-.33-.12-.67.09-.78.4-.1.28-.03.57.05.91.04.27.09.62-.06 1.04-.1.29-.33.58-.65 1l-.74 1.01.08-4.08.4.11c.19.04.26-.24.08-.29 0 0-.57-.15-.92-.28-.34-.12-.88-.36-.88-.36-.18-.08-.3.19-.12.27 0 0 .16.08.34.16l.01 1.63L9.2 9.18l.08-4.11c.2.06.4.11.4.11.19.04.26-.23.07-.29 0 0-.56-.15-.91-.28-.07-.02-.14-.05-.22-.08.93-.7 2.19-.94 3.37-.52zM7.4 6.19c.17-.49.44-.92.78-1.27l.04 5c-.94-.95-1.3-2.39-.82-3.73zm4.04 4.75l2.1-2.63c.37-.41.57-.77.69-1.12.05-.12.08-.24.11-.35.09.57.04 1.18-.17 1.77-.45 1.25-1.51 2.1-2.73 2.33zm-.7-3.22l.02 3.22c0 .02 0 .04.01.06-.4 0-.8-.07-1.2-.21-.33-.12-.63-.28-.9-.48zm1.24 6.08l2.1.75c.24.84 1 1.45 1.91 1.45H16v3H0v-2.96c1.1 0 2-.89 2-2 0-1.1-.9-2-2-2V9h1.05l-.28.8 4.28 1.52C4.4 12.03 4 12.97 4 14c0 2.21 1.79 4 4 4s4-1.79 4-4c0-.07-.02-.13-.02-.2zm-6.53-2.33l1.48.53c-.14.04-.15.27.03.28 0 0 .18.02.37.03l.56 1.54-.78 2.36-1.31-3.9c.21-.01.41-.03.41-.03.19-.02.17-.31-.02-.3 0 0-.59.05-.96.05-.07 0-.15 0-.23-.01.13-.2.28-.38.45-.55zM4.4 14c0-.52.12-1.02.32-1.46l1.71 4.7C5.23 16.65 4.4 15.42 4.4 14zm4.19-1.41l1.72.62c.07.17.12.37.12.61 0 .31-.12.66-.28 1.16l-.35 1.2zM11.6 14c0 1.33-.72 2.49-1.79 3.11l1.1-3.18c.06-.17.1-.31.14-.46l.52.19c.02.11.03.22.03.34zm-4.62 3.45l1.08-3.14 1.11 3.03c.01.02.01.04.02.05-.37.13-.77.21-1.19.21-.35 0-.69-.06-1.02-.15z';
+ break;
+
+ case 'tide':
+ path = 'M17 7.2V3H3v7.1c2.6-.5 4.5-1.5 6.4-2.6.2-.2.4-.3.6-.5v3c-1.9 1.1-4 2.2-7 2.8V17h14V9.9c-2.6.5-4.4 1.5-6.2 2.6-.3.1-.5.3-.8.4V10c2-1.1 4-2.2 7-2.8z';
+ break;
+
+ case 'translation':
+ path = 'M11 7H9.49c-.63 0-1.25.3-1.59.7L7 5H4.13l-2.39 7h1.69l.74-2H7v4H2c-1.1 0-2-.9-2-2V5c0-1.1.9-2 2-2h7c1.1 0 2 .9 2 2v2zM6.51 9H4.49l1-2.93zM10 8h7c1.1 0 2 .9 2 2v7c0 1.1-.9 2-2 2h-7c-1.1 0-2-.9-2-2v-7c0-1.1.9-2 2-2zm7.25 5v-1.08h-3.17V9.75h-1.16v2.17H9.75V13h1.28c.11.85.56 1.85 1.28 2.62-.87.36-1.89.62-2.31.62-.01.02.22.97.2 1.46.84 0 2.21-.5 3.28-1.15 1.09.65 2.48 1.15 3.34 1.15-.02-.49.2-1.44.2-1.46-.43 0-1.49-.27-2.38-.63.7-.77 1.14-1.77 1.25-2.61h1.36zm-3.81 1.93c-.5-.46-.85-1.13-1.01-1.93h2.09c-.17.8-.51 1.47-1 1.93l-.04.03s-.03-.02-.04-.03z';
+ break;
+
+ case 'trash':
+ path = 'M12 4h3c.6 0 1 .4 1 1v1H3V5c0-.6.5-1 1-1h3c.2-1.1 1.3-2 2.5-2s2.3.9 2.5 2zM8 4h3c-.2-.6-.9-1-1.5-1S8.2 3.4 8 4zM4 7h11l-.9 10.1c0 .5-.5.9-1 .9H5.9c-.5 0-.9-.4-1-.9L4 7z';
+ break;
+
+ case 'twitter':
+ path = 'M18.94 4.46c-.49.73-1.11 1.38-1.83 1.9.01.15.01.31.01.47 0 4.85-3.69 10.44-10.43 10.44-2.07 0-4-.61-5.63-1.65.29.03.58.05.88.05 1.72 0 3.3-.59 4.55-1.57-1.6-.03-2.95-1.09-3.42-2.55.22.04.45.07.69.07.33 0 .66-.05.96-.13-1.67-.34-2.94-1.82-2.94-3.6v-.04c.5.27 1.06.44 1.66.46-.98-.66-1.63-1.78-1.63-3.06 0-.67.18-1.3.5-1.84 1.81 2.22 4.51 3.68 7.56 3.83-.06-.27-.1-.55-.1-.84 0-2.02 1.65-3.66 3.67-3.66 1.06 0 2.01.44 2.68 1.16.83-.17 1.62-.47 2.33-.89-.28.85-.86 1.57-1.62 2.02.75-.08 1.45-.28 2.11-.57z';
+ break;
+
+ case 'undo':
+ path = 'M12 5H7V2L1 6l6 4V7h5c2.2 0 4 1.8 4 4s-1.8 4-4 4H7v2h5c3.3 0 6-2.7 6-6s-2.7-6-6-6z';
+ break;
+
+ case 'universal-access-alt':
+ path = 'M19 10c0-4.97-4.03-9-9-9s-9 4.03-9 9 4.03 9 9 9 9-4.03 9-9zm-9-7.4c.83 0 1.5.67 1.5 1.5s-.67 1.51-1.5 1.51c-.82 0-1.5-.68-1.5-1.51s.68-1.5 1.5-1.5zM3.4 7.36c0-.65 6.6-.76 6.6-.76s6.6.11 6.6.76-4.47 1.4-4.47 1.4 1.69 8.14 1.06 8.38c-.62.24-3.19-5.19-3.19-5.19s-2.56 5.43-3.18 5.19c-.63-.24 1.06-8.38 1.06-8.38S3.4 8.01 3.4 7.36z';
+ break;
+
+ case 'universal-access':
+ path = 'M10 2.6c.83 0 1.5.67 1.5 1.5s-.67 1.51-1.5 1.51c-.82 0-1.5-.68-1.5-1.51s.68-1.5 1.5-1.5zM3.4 7.36c0-.65 6.6-.76 6.6-.76s6.6.11 6.6.76-4.47 1.4-4.47 1.4 1.69 8.14 1.06 8.38c-.62.24-3.19-5.19-3.19-5.19s-2.56 5.43-3.18 5.19c-.63-.24 1.06-8.38 1.06-8.38S3.4 8.01 3.4 7.36z';
+ break;
+
+ case 'unlock':
+ path = 'M12 9V6c0-1.1-.9-2-2-2s-2 .9-2 2H6c0-2.21 1.79-4 4-4s4 1.79 4 4v3h1c.55 0 1 .45 1 1v7c0 .55-.45 1-1 1H5c-.55 0-1-.45-1-1v-7c0-.55.45-1 1-1h7zm-1 7l-.36-2.15c.51-.24.86-.75.86-1.35 0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5c0 .6.35 1.11.86 1.35L9 16h2z';
+ break;
+
+ case 'update':
+ path = 'M10.2 3.28c3.53 0 6.43 2.61 6.92 6h2.08l-3.5 4-3.5-4h2.32c-.45-1.97-2.21-3.45-4.32-3.45-1.45 0-2.73.71-3.54 1.78L4.95 5.66C6.23 4.2 8.11 3.28 10.2 3.28zm-.4 13.44c-3.52 0-6.43-2.61-6.92-6H.8l3.5-4c1.17 1.33 2.33 2.67 3.5 4H5.48c.45 1.97 2.21 3.45 4.32 3.45 1.45 0 2.73-.71 3.54-1.78l1.71 1.95c-1.28 1.46-3.15 2.38-5.25 2.38z';
+ break;
+
+ case 'upload':
+ path = 'M8 14V8H5l5-6 5 6h-3v6H8zm-2 2v-6H4v8h12.01v-8H14v6H6z';
+ break;
+
+ case 'vault':
+ path = 'M18 17V3c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1v14c0 .55.45 1 1 1h14c.55 0 1-.45 1-1zm-1 0H3V3h14v14zM4.75 4h10.5c.41 0 .75.34.75.75V6h-1v3h1v2h-1v3h1v1.25c0 .41-.34.75-.75.75H4.75c-.41 0-.75-.34-.75-.75V4.75c0-.41.34-.75.75-.75zM13 10c0-2.21-1.79-4-4-4s-4 1.79-4 4 1.79 4 4 4 4-1.79 4-4zM9 7l.77 1.15C10.49 8.46 11 9.17 11 10c0 1.1-.9 2-2 2s-2-.9-2-2c0-.83.51-1.54 1.23-1.85z';
+ break;
+
+ case 'video-alt':
+ path = 'M8 5c0-.55-.45-1-1-1H2c-.55 0-1 .45-1 1 0 .57.49 1 1 1h5c.55 0 1-.45 1-1zm6 5l4-4v10l-4-4v-2zm-1 4V8c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h8c.55 0 1-.45 1-1z';
+ break;
+
+ case 'video-alt2':
+ path = 'M12 13V7c0-1.1-.9-2-2-2H3c-1.1 0-2 .9-2 2v6c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2zm1-2.5l6 4.5V5l-6 4.5v1z';
+ break;
+
+ case 'video-alt3':
+ path = 'M19 15V5c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h13c1.1 0 2-.9 2-2zM8 14V6l6 4z';
+ break;
+
+ case 'visibility':
+ path = 'M19.7 9.4C17.7 6 14 3.9 10 3.9S2.3 6 .3 9.4L0 10l.3.6c2 3.4 5.7 5.5 9.7 5.5s7.7-2.1 9.7-5.5l.3-.6-.3-.6zM10 14.1c-3.1 0-6-1.6-7.7-4.1C3.6 8 5.7 6.6 8 6.1c-.9.6-1.5 1.7-1.5 2.9 0 1.9 1.6 3.5 3.5 3.5s3.5-1.6 3.5-3.5c0-1.2-.6-2.3-1.5-2.9 2.3.5 4.4 1.9 5.7 3.9-1.7 2.5-4.6 4.1-7.7 4.1z';
+ break;
+
+ case 'warning':
+ path = 'M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm1.13 9.38l.35-6.46H8.52l.35 6.46h2.26zm-.09 3.36c.24-.23.37-.55.37-.96 0-.42-.12-.74-.36-.97s-.59-.35-1.06-.35-.82.12-1.07.35-.37.55-.37.97c0 .41.13.73.38.96.26.23.61.34 1.06.34s.8-.11 1.05-.34z';
+ break;
+
+ case 'welcome-add-page':
+ path = 'M17 7V4h-2V2h-3v1H3v15h11V9h1V7h2zm-1-2v1h-2v2h-1V6h-2V5h2V3h1v2h2z';
+ break;
+
+ case 'welcome-comments':
+ path = 'M5 2h10c1.1 0 2 .9 2 2v8c0 1.1-.9 2-2 2h-2l-5 5v-5H5c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2zm8.5 8.5L11 8l2.5-2.5-1-1L10 7 7.5 4.5l-1 1L9 8l-2.5 2.5 1 1L10 9l2.5 2.5z';
+ break;
+
+ case 'welcome-learn-more':
+ path = 'M10 10L2.54 7.02 3 18H1l.48-11.41L0 6l10-4 10 4zm0-5c-.55 0-1 .22-1 .5s.45.5 1 .5 1-.22 1-.5-.45-.5-1-.5zm0 6l5.57-2.23c.71.94 1.2 2.07 1.36 3.3-.3-.04-.61-.07-.93-.07-2.55 0-4.78 1.37-6 3.41C8.78 13.37 6.55 12 4 12c-.32 0-.63.03-.93.07.16-1.23.65-2.36 1.36-3.3z';
+ break;
+
+ case 'welcome-view-site':
+ path = 'M18 14V4c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h14c.55 0 1-.45 1-1zm-8-8c2.3 0 4.4 1.14 6 3-1.6 1.86-3.7 3-6 3s-4.4-1.14-6-3c1.6-1.86 3.7-3 6-3zm2 3c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2zm2 8h3v1H3v-1h3v-1h8v1z';
+ break;
+
+ case 'welcome-widgets-menus':
+ path = 'M19 16V3c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1v13c0 .55.45 1 1 1h15c.55 0 1-.45 1-1zM4 4h13v4H4V4zm1 1v2h3V5H5zm4 0v2h3V5H9zm4 0v2h3V5h-3zm-8.5 5c.28 0 .5.22.5.5s-.22.5-.5.5-.5-.22-.5-.5.22-.5.5-.5zM6 10h4v1H6v-1zm6 0h5v5h-5v-5zm-7.5 2c.28 0 .5.22.5.5s-.22.5-.5.5-.5-.22-.5-.5.22-.5.5-.5zM6 12h4v1H6v-1zm7 0v2h3v-2h-3zm-8.5 2c.28 0 .5.22.5.5s-.22.5-.5.5-.5-.22-.5-.5.22-.5.5-.5zM6 14h4v1H6v-1z';
+ break;
+
+ case 'welcome-write-blog':
+ path = 'M16.89 1.2l1.41 1.41c.39.39.39 1.02 0 1.41L14 8.33V18H3V3h10.67l1.8-1.8c.4-.39 1.03-.4 1.42 0zm-5.66 8.48l5.37-5.36-1.42-1.42-5.36 5.37-.71 2.12z';
+ break;
+
+ case 'wordpress-alt':
+ path = 'M20 10c0-5.51-4.49-10-10-10C4.48 0 0 4.49 0 10c0 5.52 4.48 10 10 10 5.51 0 10-4.48 10-10zM7.78 15.37L4.37 6.22c.55-.02 1.17-.08 1.17-.08.5-.06.44-1.13-.06-1.11 0 0-1.45.11-2.37.11-.18 0-.37 0-.58-.01C4.12 2.69 6.87 1.11 10 1.11c2.33 0 4.45.87 6.05 2.34-.68-.11-1.65.39-1.65 1.58 0 .74.45 1.36.9 2.1.35.61.55 1.36.55 2.46 0 1.49-1.4 5-1.4 5l-3.03-8.37c.54-.02.82-.17.82-.17.5-.05.44-1.25-.06-1.22 0 0-1.44.12-2.38.12-.87 0-2.33-.12-2.33-.12-.5-.03-.56 1.2-.06 1.22l.92.08 1.26 3.41zM17.41 10c.24-.64.74-1.87.43-4.25.7 1.29 1.05 2.71 1.05 4.25 0 3.29-1.73 6.24-4.4 7.78.97-2.59 1.94-5.2 2.92-7.78zM6.1 18.09C3.12 16.65 1.11 13.53 1.11 10c0-1.3.23-2.48.72-3.59C3.25 10.3 4.67 14.2 6.1 18.09zm4.03-6.63l2.58 6.98c-.86.29-1.76.45-2.71.45-.79 0-1.57-.11-2.29-.33.81-2.38 1.62-4.74 2.42-7.1z';
+ break;
+
+ case 'wordpress':
+ path = 'M20 10c0-5.52-4.48-10-10-10S0 4.48 0 10s4.48 10 10 10 10-4.48 10-10zM10 1.01c4.97 0 8.99 4.02 8.99 8.99s-4.02 8.99-8.99 8.99S1.01 14.97 1.01 10 5.03 1.01 10 1.01zM8.01 14.82L4.96 6.61c.49-.03 1.05-.08 1.05-.08.43-.05.38-1.01-.06-.99 0 0-1.29.1-2.13.1-.15 0-.33 0-.52-.01 1.44-2.17 3.9-3.6 6.7-3.6 2.09 0 3.99.79 5.41 2.09-.6-.08-1.45.35-1.45 1.42 0 .66.38 1.22.79 1.88.31.54.5 1.22.5 2.21 0 1.34-1.27 4.48-1.27 4.48l-2.71-7.5c.48-.03.75-.16.75-.16.43-.05.38-1.1-.05-1.08 0 0-1.3.11-2.14.11-.78 0-2.11-.11-2.11-.11-.43-.02-.48 1.06-.05 1.08l.84.08 1.12 3.04zm6.02 2.15L16.64 10s.67-1.69.39-3.81c.63 1.14.94 2.42.94 3.81 0 2.96-1.56 5.58-3.94 6.97zM2.68 6.77L6.5 17.25c-2.67-1.3-4.47-4.08-4.47-7.25 0-1.16.2-2.23.65-3.23zm7.45 4.53l2.29 6.25c-.75.27-1.57.42-2.42.42-.72 0-1.41-.11-2.06-.3z';
+ break;
+
+ case 'yes-alt':
+ path = 'M10 2c-4.42 0-8 3.58-8 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm-.615 12.66h-1.34l-3.24-4.54 1.34-1.25 2.57 2.4 5.14-5.93 1.34.94-5.81 8.38z';
+ break;
+
+ case 'yes':
+ path = 'M14.83 4.89l1.34.94-5.81 8.38H9.02L5.78 9.67l1.34-1.25 2.57 2.4z';
+ break;
+ }
+
+ if (!path) {
+ return null;
+ }
+
+ var iconClass = ['dashicon', 'dashicons-' + icon, className].filter(Boolean).join(' ');
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__["createElement"])(_primitives__WEBPACK_IMPORTED_MODULE_8__[/* SVG */ "b"], Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({
+ "aria-hidden": true,
+ role: "img",
+ focusable: "false",
+ className: iconClass,
+ xmlns: "http://www.w3.org/2000/svg",
+ width: size,
+ height: size,
+ viewBox: "0 0 20 20"
+ }, extraProps), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__["createElement"])(_primitives__WEBPACK_IMPORTED_MODULE_8__[/* Path */ "a"], {
+ d: path
+ }));
+ }
+ }]);
+
+ return Dashicon;
+}(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__["Component"]);
+
+
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 85:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11);
+/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(10);
+/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_4__);
+/* harmony import */ var _tooltip__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(110);
+/* harmony import */ var _button__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(88);
+/* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(109);
+
+
+
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+function IconButton(props, ref) {
+ var icon = props.icon,
+ children = props.children,
+ label = props.label,
+ className = props.className,
+ tooltip = props.tooltip,
+ shortcut = props.shortcut,
+ labelPosition = props.labelPosition,
+ size = props.size,
+ additionalProps = Object(_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(props, ["icon", "children", "label", "className", "tooltip", "shortcut", "labelPosition", "size"]);
+
+ var classes = classnames__WEBPACK_IMPORTED_MODULE_3___default()('components-icon-button', className, {
+ 'has-text': children
+ });
+ var tooltipText = tooltip || label; // Should show the tooltip if...
+
+ var showTooltip = !additionalProps.disabled && ( // an explicit tooltip is passed or...
+ tooltip || // there's a shortcut or...
+ shortcut || // there's a label and...
+ !!label && ( // the children are empty and...
+ !children || Object(lodash__WEBPACK_IMPORTED_MODULE_4__["isArray"])(children) && !children.length) && // the tooltip is not explicitly disabled.
+ false !== tooltip);
+ var element = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_button__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"], Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({
+ "aria-label": label
+ }, additionalProps, {
+ className: classes,
+ ref: ref
+ }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_icon__WEBPACK_IMPORTED_MODULE_7__[/* default */ "a"], {
+ icon: icon,
+ size: size
+ }), children);
+
+ if (showTooltip) {
+ element = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_tooltip__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"], {
+ text: tooltipText,
+ shortcut: shortcut,
+ position: labelPosition
+ }, element);
+ }
+
+ return element;
+}
+
+/* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["forwardRef"])(IconButton));
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 86:
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var replace = String.prototype.replace;
+var percentTwenties = /%20/g;
+
+var util = __webpack_require__(71);
+
+var Format = {
+ RFC1738: 'RFC1738',
+ RFC3986: 'RFC3986'
+};
+
+module.exports = util.assign(
+ {
+ 'default': Format.RFC3986,
+ formatters: {
+ RFC1738: function (value) {
+ return replace.call(value, percentTwenties, '+');
+ },
+ RFC3986: function (value) {
+ return String(value);
+ }
+ }
+ },
+ Format
+);
+
+
+/***/ }),
+
+/***/ 87:
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["ReactDOM"]; }());
+
+/***/ }),
+
+/***/ 88:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export Button */
+/* harmony import */ var _babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27);
+/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16);
+/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(10);
+/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__);
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+function Button(props, ref) {
+ var href = props.href,
+ target = props.target,
+ isPrimary = props.isPrimary,
+ isLarge = props.isLarge,
+ isSmall = props.isSmall,
+ isTertiary = props.isTertiary,
+ isToggled = props.isToggled,
+ isBusy = props.isBusy,
+ isDefault = props.isDefault,
+ isLink = props.isLink,
+ isDestructive = props.isDestructive,
+ className = props.className,
+ disabled = props.disabled,
+ additionalProps = Object(_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(props, ["href", "target", "isPrimary", "isLarge", "isSmall", "isTertiary", "isToggled", "isBusy", "isDefault", "isLink", "isDestructive", "className", "disabled"]);
+
+ var classes = classnames__WEBPACK_IMPORTED_MODULE_2___default()('components-button', className, {
+ 'is-button': isDefault || isPrimary || isLarge || isSmall,
+ 'is-default': isDefault || !isPrimary && (isLarge || isSmall),
+ 'is-primary': isPrimary,
+ 'is-large': isLarge,
+ 'is-small': isSmall,
+ 'is-tertiary': isTertiary,
+ 'is-toggled': isToggled,
+ 'is-busy': isBusy,
+ 'is-link': isLink,
+ 'is-destructive': isDestructive
+ });
+ var tag = href !== undefined && !disabled ? 'a' : 'button';
+ var tagProps = tag === 'a' ? {
+ href: href,
+ target: target
+ } : {
+ type: 'button',
+ disabled: disabled
+ };
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])(tag, Object(_babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({}, tagProps, additionalProps, {
+ className: classes,
+ ref: ref
+ }));
+}
+/* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["forwardRef"])(Button));
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 89:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _typeof; });
+function _typeof(obj) {
+ "@babel/helpers - typeof";
+
+ if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
+ _typeof = function _typeof(obj) {
+ return typeof obj;
+ };
+ } else {
+ _typeof = function _typeof(obj) {
+ return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
+ };
+ }
+
+ return _typeof(obj);
+}
+
+/***/ }),
+
+/***/ 9:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ _inherits; });
+
+// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js
+function _setPrototypeOf(o, p) {
+ _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
+ o.__proto__ = p;
+ return o;
+ };
+
+ return _setPrototypeOf(o, p);
+}
+// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js
+
+function _inherits(subClass, superClass) {
+ if (typeof superClass !== "function" && superClass !== null) {
+ throw new TypeError("Super expression must either be null or a function");
+ }
+
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
+ constructor: {
+ value: subClass,
+ writable: true,
+ configurable: true
+ }
+ });
+ if (superClass) _setPrototypeOf(subClass, superClass);
+}
+
+/***/ }),
+
+/***/ 90:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ createBrowserHistory; });
+__webpack_require__.d(__webpack_exports__, "c", function() { return /* binding */ createMemoryHistory; });
+__webpack_require__.d(__webpack_exports__, "b", function() { return /* binding */ createLocation; });
+__webpack_require__.d(__webpack_exports__, "e", function() { return /* binding */ locationsAreEqual; });
+__webpack_require__.d(__webpack_exports__, "d", function() { return /* binding */ createPath; });
+
+// UNUSED EXPORTS: createHashHistory, parsePath
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
+var esm_extends = __webpack_require__(11);
+
+// CONCATENATED MODULE: ./node_modules/resolve-pathname/esm/resolve-pathname.js
+function isAbsolute(pathname) {
+ return pathname.charAt(0) === '/';
+}
+
+// About 1.5x faster than the two-arg version of Array#splice()
+function spliceOne(list, index) {
+ for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {
+ list[i] = list[k];
+ }
+
+ list.pop();
+}
+
+// This implementation is based heavily on node's url.parse
+function resolvePathname(to, from) {
+ if (from === undefined) from = '';
+
+ var toParts = (to && to.split('/')) || [];
+ var fromParts = (from && from.split('/')) || [];
+
+ var isToAbs = to && isAbsolute(to);
+ var isFromAbs = from && isAbsolute(from);
+ var mustEndAbs = isToAbs || isFromAbs;
+
+ if (to && isAbsolute(to)) {
+ // to is absolute
+ fromParts = toParts;
+ } else if (toParts.length) {
+ // to is relative, drop the filename
+ fromParts.pop();
+ fromParts = fromParts.concat(toParts);
+ }
+
+ if (!fromParts.length) return '/';
+
+ var hasTrailingSlash;
+ if (fromParts.length) {
+ var last = fromParts[fromParts.length - 1];
+ hasTrailingSlash = last === '.' || last === '..' || last === '';
+ } else {
+ hasTrailingSlash = false;
+ }
+
+ var up = 0;
+ for (var i = fromParts.length; i >= 0; i--) {
+ var part = fromParts[i];
+
+ if (part === '.') {
+ spliceOne(fromParts, i);
+ } else if (part === '..') {
+ spliceOne(fromParts, i);
+ up++;
+ } else if (up) {
+ spliceOne(fromParts, i);
+ up--;
+ }
+ }
+
+ if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');
+
+ if (
+ mustEndAbs &&
+ fromParts[0] !== '' &&
+ (!fromParts[0] || !isAbsolute(fromParts[0]))
+ )
+ fromParts.unshift('');
+
+ var result = fromParts.join('/');
+
+ if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';
+
+ return result;
+}
+
+/* harmony default export */ var resolve_pathname = (resolvePathname);
+
+// CONCATENATED MODULE: ./node_modules/value-equal/esm/value-equal.js
+function value_equal_valueOf(obj) {
+ return obj.valueOf ? obj.valueOf() : Object.prototype.valueOf.call(obj);
+}
+
+function valueEqual(a, b) {
+ // Test for strict equality first.
+ if (a === b) return true;
+
+ // Otherwise, if either of them == null they are not equal.
+ if (a == null || b == null) return false;
+
+ if (Array.isArray(a)) {
+ return (
+ Array.isArray(b) &&
+ a.length === b.length &&
+ a.every(function(item, index) {
+ return valueEqual(item, b[index]);
+ })
+ );
+ }
+
+ if (typeof a === 'object' || typeof b === 'object') {
+ var aValue = value_equal_valueOf(a);
+ var bValue = value_equal_valueOf(b);
+
+ if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);
+
+ return Object.keys(Object.assign({}, a, b)).every(function(key) {
+ return valueEqual(a[key], b[key]);
+ });
+ }
+
+ return false;
+}
+
+/* harmony default export */ var value_equal = (valueEqual);
+
+// EXTERNAL MODULE: ./node_modules/tiny-invariant/dist/tiny-invariant.esm.js
+var tiny_invariant_esm = __webpack_require__(78);
+
+// CONCATENATED MODULE: ./node_modules/history/esm/history.js
+
+
+
+
+
+
+function addLeadingSlash(path) {
+ return path.charAt(0) === '/' ? path : '/' + path;
+}
+function stripLeadingSlash(path) {
+ return path.charAt(0) === '/' ? path.substr(1) : path;
+}
+function hasBasename(path, prefix) {
+ return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1;
+}
+function stripBasename(path, prefix) {
+ return hasBasename(path, prefix) ? path.substr(prefix.length) : path;
+}
+function stripTrailingSlash(path) {
+ return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;
+}
+function parsePath(path) {
+ var pathname = path || '/';
+ var search = '';
+ var hash = '';
+ var hashIndex = pathname.indexOf('#');
+
+ if (hashIndex !== -1) {
+ hash = pathname.substr(hashIndex);
+ pathname = pathname.substr(0, hashIndex);
+ }
+
+ var searchIndex = pathname.indexOf('?');
+
+ if (searchIndex !== -1) {
+ search = pathname.substr(searchIndex);
+ pathname = pathname.substr(0, searchIndex);
+ }
+
+ return {
+ pathname: pathname,
+ search: search === '?' ? '' : search,
+ hash: hash === '#' ? '' : hash
+ };
+}
+function createPath(location) {
+ var pathname = location.pathname,
+ search = location.search,
+ hash = location.hash;
+ var path = pathname || '/';
+ if (search && search !== '?') path += search.charAt(0) === '?' ? search : "?" + search;
+ if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : "#" + hash;
+ return path;
+}
+
+function createLocation(path, state, key, currentLocation) {
+ var location;
+
+ if (typeof path === 'string') {
+ // Two-arg form: push(path, state)
+ location = parsePath(path);
+ location.state = state;
+ } else {
+ // One-arg form: push(location)
+ location = Object(esm_extends["a" /* default */])({}, path);
+ if (location.pathname === undefined) location.pathname = '';
+
+ if (location.search) {
+ if (location.search.charAt(0) !== '?') location.search = '?' + location.search;
+ } else {
+ location.search = '';
+ }
+
+ if (location.hash) {
+ if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;
+ } else {
+ location.hash = '';
+ }
+
+ if (state !== undefined && location.state === undefined) location.state = state;
+ }
+
+ try {
+ location.pathname = decodeURI(location.pathname);
+ } catch (e) {
+ if (e instanceof URIError) {
+ throw new URIError('Pathname "' + location.pathname + '" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');
+ } else {
+ throw e;
+ }
+ }
+
+ if (key) location.key = key;
+
+ if (currentLocation) {
+ // Resolve incomplete/relative pathname relative to current location.
+ if (!location.pathname) {
+ location.pathname = currentLocation.pathname;
+ } else if (location.pathname.charAt(0) !== '/') {
+ location.pathname = resolve_pathname(location.pathname, currentLocation.pathname);
+ }
+ } else {
+ // When there is no prior location and pathname is empty, set it to /
+ if (!location.pathname) {
+ location.pathname = '/';
+ }
+ }
+
+ return location;
+}
+function locationsAreEqual(a, b) {
+ return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && value_equal(a.state, b.state);
+}
+
+function createTransitionManager() {
+ var prompt = null;
+
+ function setPrompt(nextPrompt) {
+ false ? undefined : void 0;
+ prompt = nextPrompt;
+ return function () {
+ if (prompt === nextPrompt) prompt = null;
+ };
+ }
+
+ function confirmTransitionTo(location, action, getUserConfirmation, callback) {
+ // TODO: If another transition starts while we're still confirming
+ // the previous one, we may end up in a weird state. Figure out the
+ // best way to handle this.
+ if (prompt != null) {
+ var result = typeof prompt === 'function' ? prompt(location, action) : prompt;
+
+ if (typeof result === 'string') {
+ if (typeof getUserConfirmation === 'function') {
+ getUserConfirmation(result, callback);
+ } else {
+ false ? undefined : void 0;
+ callback(true);
+ }
+ } else {
+ // Return false from a transition hook to cancel the transition.
+ callback(result !== false);
+ }
+ } else {
+ callback(true);
+ }
+ }
+
+ var listeners = [];
+
+ function appendListener(fn) {
+ var isActive = true;
+
+ function listener() {
+ if (isActive) fn.apply(void 0, arguments);
+ }
+
+ listeners.push(listener);
+ return function () {
+ isActive = false;
+ listeners = listeners.filter(function (item) {
+ return item !== listener;
+ });
+ };
+ }
+
+ function notifyListeners() {
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
+ args[_key] = arguments[_key];
+ }
+
+ listeners.forEach(function (listener) {
+ return listener.apply(void 0, args);
+ });
+ }
+
+ return {
+ setPrompt: setPrompt,
+ confirmTransitionTo: confirmTransitionTo,
+ appendListener: appendListener,
+ notifyListeners: notifyListeners
+ };
+}
+
+var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
+function getConfirmation(message, callback) {
+ callback(window.confirm(message)); // eslint-disable-line no-alert
+}
+/**
+ * Returns true if the HTML5 history API is supported. Taken from Modernizr.
+ *
+ * https://github.com/Modernizr/Modernizr/blob/master/LICENSE
+ * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js
+ * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586
+ */
+
+function supportsHistory() {
+ var ua = window.navigator.userAgent;
+ if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;
+ return window.history && 'pushState' in window.history;
+}
+/**
+ * Returns true if browser fires popstate on hash change.
+ * IE10 and IE11 do not.
+ */
+
+function supportsPopStateOnHashChange() {
+ return window.navigator.userAgent.indexOf('Trident') === -1;
+}
+/**
+ * Returns false if using go(n) with hash history causes a full page reload.
+ */
+
+function supportsGoWithoutReloadUsingHash() {
+ return window.navigator.userAgent.indexOf('Firefox') === -1;
+}
+/**
+ * Returns true if a given popstate event is an extraneous WebKit event.
+ * Accounts for the fact that Chrome on iOS fires real popstate events
+ * containing undefined state when pressing the back button.
+ */
+
+function isExtraneousPopstateEvent(event) {
+ return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;
+}
+
+var PopStateEvent = 'popstate';
+var HashChangeEvent = 'hashchange';
+
+function getHistoryState() {
+ try {
+ return window.history.state || {};
+ } catch (e) {
+ // IE 11 sometimes throws when accessing window.history.state
+ // See https://github.com/ReactTraining/history/pull/289
+ return {};
+ }
+}
+/**
+ * Creates a history object that uses the HTML5 history API including
+ * pushState, replaceState, and the popstate event.
+ */
+
+
+function createBrowserHistory(props) {
+ if (props === void 0) {
+ props = {};
+ }
+
+ !canUseDOM ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0;
+ var globalHistory = window.history;
+ var canUseHistory = supportsHistory();
+ var needsHashChangeListener = !supportsPopStateOnHashChange();
+ var _props = props,
+ _props$forceRefresh = _props.forceRefresh,
+ forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,
+ _props$getUserConfirm = _props.getUserConfirmation,
+ getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,
+ _props$keyLength = _props.keyLength,
+ keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;
+ var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';
+
+ function getDOMLocation(historyState) {
+ var _ref = historyState || {},
+ key = _ref.key,
+ state = _ref.state;
+
+ var _window$location = window.location,
+ pathname = _window$location.pathname,
+ search = _window$location.search,
+ hash = _window$location.hash;
+ var path = pathname + search + hash;
+ false ? undefined : void 0;
+ if (basename) path = stripBasename(path, basename);
+ return createLocation(path, state, key);
+ }
+
+ function createKey() {
+ return Math.random().toString(36).substr(2, keyLength);
+ }
+
+ var transitionManager = createTransitionManager();
+
+ function setState(nextState) {
+ Object(esm_extends["a" /* default */])(history, nextState);
+
+ history.length = globalHistory.length;
+ transitionManager.notifyListeners(history.location, history.action);
+ }
+
+ function handlePopState(event) {
+ // Ignore extraneous popstate events in WebKit.
+ if (isExtraneousPopstateEvent(event)) return;
+ handlePop(getDOMLocation(event.state));
+ }
+
+ function handleHashChange() {
+ handlePop(getDOMLocation(getHistoryState()));
+ }
+
+ var forceNextPop = false;
+
+ function handlePop(location) {
+ if (forceNextPop) {
+ forceNextPop = false;
+ setState();
+ } else {
+ var action = 'POP';
+ transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
+ if (ok) {
+ setState({
+ action: action,
+ location: location
+ });
+ } else {
+ revertPop(location);
+ }
+ });
+ }
+ }
+
+ function revertPop(fromLocation) {
+ var toLocation = history.location; // TODO: We could probably make this more reliable by
+ // keeping a list of keys we've seen in sessionStorage.
+ // Instead, we just default to 0 for keys we don't know.
+
+ var toIndex = allKeys.indexOf(toLocation.key);
+ if (toIndex === -1) toIndex = 0;
+ var fromIndex = allKeys.indexOf(fromLocation.key);
+ if (fromIndex === -1) fromIndex = 0;
+ var delta = toIndex - fromIndex;
+
+ if (delta) {
+ forceNextPop = true;
+ go(delta);
+ }
+ }
+
+ var initialLocation = getDOMLocation(getHistoryState());
+ var allKeys = [initialLocation.key]; // Public interface
+
+ function createHref(location) {
+ return basename + createPath(location);
+ }
+
+ function push(path, state) {
+ false ? undefined : void 0;
+ var action = 'PUSH';
+ var location = createLocation(path, state, createKey(), history.location);
+ transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
+ if (!ok) return;
+ var href = createHref(location);
+ var key = location.key,
+ state = location.state;
+
+ if (canUseHistory) {
+ globalHistory.pushState({
+ key: key,
+ state: state
+ }, null, href);
+
+ if (forceRefresh) {
+ window.location.href = href;
+ } else {
+ var prevIndex = allKeys.indexOf(history.location.key);
+ var nextKeys = allKeys.slice(0, prevIndex + 1);
+ nextKeys.push(location.key);
+ allKeys = nextKeys;
+ setState({
+ action: action,
+ location: location
+ });
+ }
+ } else {
+ false ? undefined : void 0;
+ window.location.href = href;
+ }
+ });
+ }
+
+ function replace(path, state) {
+ false ? undefined : void 0;
+ var action = 'REPLACE';
+ var location = createLocation(path, state, createKey(), history.location);
+ transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
+ if (!ok) return;
+ var href = createHref(location);
+ var key = location.key,
+ state = location.state;
+
+ if (canUseHistory) {
+ globalHistory.replaceState({
+ key: key,
+ state: state
+ }, null, href);
+
+ if (forceRefresh) {
+ window.location.replace(href);
+ } else {
+ var prevIndex = allKeys.indexOf(history.location.key);
+ if (prevIndex !== -1) allKeys[prevIndex] = location.key;
+ setState({
+ action: action,
+ location: location
+ });
+ }
+ } else {
+ false ? undefined : void 0;
+ window.location.replace(href);
+ }
+ });
+ }
+
+ function go(n) {
+ globalHistory.go(n);
+ }
+
+ function goBack() {
+ go(-1);
+ }
+
+ function goForward() {
+ go(1);
+ }
+
+ var listenerCount = 0;
+
+ function checkDOMListeners(delta) {
+ listenerCount += delta;
+
+ if (listenerCount === 1 && delta === 1) {
+ window.addEventListener(PopStateEvent, handlePopState);
+ if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);
+ } else if (listenerCount === 0) {
+ window.removeEventListener(PopStateEvent, handlePopState);
+ if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);
+ }
+ }
+
+ var isBlocked = false;
+
+ function block(prompt) {
+ if (prompt === void 0) {
+ prompt = false;
+ }
+
+ var unblock = transitionManager.setPrompt(prompt);
+
+ if (!isBlocked) {
+ checkDOMListeners(1);
+ isBlocked = true;
+ }
+
+ return function () {
+ if (isBlocked) {
+ isBlocked = false;
+ checkDOMListeners(-1);
+ }
+
+ return unblock();
+ };
+ }
+
+ function listen(listener) {
+ var unlisten = transitionManager.appendListener(listener);
+ checkDOMListeners(1);
+ return function () {
+ checkDOMListeners(-1);
+ unlisten();
+ };
+ }
+
+ var history = {
+ length: globalHistory.length,
+ action: 'POP',
+ location: initialLocation,
+ createHref: createHref,
+ push: push,
+ replace: replace,
+ go: go,
+ goBack: goBack,
+ goForward: goForward,
+ block: block,
+ listen: listen
+ };
+ return history;
+}
+
+var HashChangeEvent$1 = 'hashchange';
+var HashPathCoders = {
+ hashbang: {
+ encodePath: function encodePath(path) {
+ return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);
+ },
+ decodePath: function decodePath(path) {
+ return path.charAt(0) === '!' ? path.substr(1) : path;
+ }
+ },
+ noslash: {
+ encodePath: stripLeadingSlash,
+ decodePath: addLeadingSlash
+ },
+ slash: {
+ encodePath: addLeadingSlash,
+ decodePath: addLeadingSlash
+ }
+};
+
+function stripHash(url) {
+ var hashIndex = url.indexOf('#');
+ return hashIndex === -1 ? url : url.slice(0, hashIndex);
+}
+
+function getHashPath() {
+ // We can't use window.location.hash here because it's not
+ // consistent across browsers - Firefox will pre-decode it!
+ var href = window.location.href;
+ var hashIndex = href.indexOf('#');
+ return hashIndex === -1 ? '' : href.substring(hashIndex + 1);
+}
+
+function pushHashPath(path) {
+ window.location.hash = path;
+}
+
+function replaceHashPath(path) {
+ window.location.replace(stripHash(window.location.href) + '#' + path);
+}
+
+function createHashHistory(props) {
+ if (props === void 0) {
+ props = {};
+ }
+
+ !canUseDOM ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0;
+ var globalHistory = window.history;
+ var canGoWithoutReload = supportsGoWithoutReloadUsingHash();
+ var _props = props,
+ _props$getUserConfirm = _props.getUserConfirmation,
+ getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,
+ _props$hashType = _props.hashType,
+ hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;
+ var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';
+ var _HashPathCoders$hashT = HashPathCoders[hashType],
+ encodePath = _HashPathCoders$hashT.encodePath,
+ decodePath = _HashPathCoders$hashT.decodePath;
+
+ function getDOMLocation() {
+ var path = decodePath(getHashPath());
+ false ? undefined : void 0;
+ if (basename) path = stripBasename(path, basename);
+ return createLocation(path);
+ }
+
+ var transitionManager = createTransitionManager();
+
+ function setState(nextState) {
+ Object(esm_extends["a" /* default */])(history, nextState);
+
+ history.length = globalHistory.length;
+ transitionManager.notifyListeners(history.location, history.action);
+ }
+
+ var forceNextPop = false;
+ var ignorePath = null;
+
+ function locationsAreEqual$$1(a, b) {
+ return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash;
+ }
+
+ function handleHashChange() {
+ var path = getHashPath();
+ var encodedPath = encodePath(path);
+
+ if (path !== encodedPath) {
+ // Ensure we always have a properly-encoded hash.
+ replaceHashPath(encodedPath);
+ } else {
+ var location = getDOMLocation();
+ var prevLocation = history.location;
+ if (!forceNextPop && locationsAreEqual$$1(prevLocation, location)) return; // A hashchange doesn't always == location change.
+
+ if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.
+
+ ignorePath = null;
+ handlePop(location);
+ }
+ }
+
+ function handlePop(location) {
+ if (forceNextPop) {
+ forceNextPop = false;
+ setState();
+ } else {
+ var action = 'POP';
+ transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
+ if (ok) {
+ setState({
+ action: action,
+ location: location
+ });
+ } else {
+ revertPop(location);
+ }
+ });
+ }
+ }
+
+ function revertPop(fromLocation) {
+ var toLocation = history.location; // TODO: We could probably make this more reliable by
+ // keeping a list of paths we've seen in sessionStorage.
+ // Instead, we just default to 0 for paths we don't know.
+
+ var toIndex = allPaths.lastIndexOf(createPath(toLocation));
+ if (toIndex === -1) toIndex = 0;
+ var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));
+ if (fromIndex === -1) fromIndex = 0;
+ var delta = toIndex - fromIndex;
+
+ if (delta) {
+ forceNextPop = true;
+ go(delta);
+ }
+ } // Ensure the hash is encoded properly before doing anything else.
+
+
+ var path = getHashPath();
+ var encodedPath = encodePath(path);
+ if (path !== encodedPath) replaceHashPath(encodedPath);
+ var initialLocation = getDOMLocation();
+ var allPaths = [createPath(initialLocation)]; // Public interface
+
+ function createHref(location) {
+ var baseTag = document.querySelector('base');
+ var href = '';
+
+ if (baseTag && baseTag.getAttribute('href')) {
+ href = stripHash(window.location.href);
+ }
+
+ return href + '#' + encodePath(basename + createPath(location));
+ }
+
+ function push(path, state) {
+ false ? undefined : void 0;
+ var action = 'PUSH';
+ var location = createLocation(path, undefined, undefined, history.location);
+ transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
+ if (!ok) return;
+ var path = createPath(location);
+ var encodedPath = encodePath(basename + path);
+ var hashChanged = getHashPath() !== encodedPath;
+
+ if (hashChanged) {
+ // We cannot tell if a hashchange was caused by a PUSH, so we'd
+ // rather setState here and ignore the hashchange. The caveat here
+ // is that other hash histories in the page will consider it a POP.
+ ignorePath = path;
+ pushHashPath(encodedPath);
+ var prevIndex = allPaths.lastIndexOf(createPath(history.location));
+ var nextPaths = allPaths.slice(0, prevIndex + 1);
+ nextPaths.push(path);
+ allPaths = nextPaths;
+ setState({
+ action: action,
+ location: location
+ });
+ } else {
+ false ? undefined : void 0;
+ setState();
+ }
+ });
+ }
+
+ function replace(path, state) {
+ false ? undefined : void 0;
+ var action = 'REPLACE';
+ var location = createLocation(path, undefined, undefined, history.location);
+ transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
+ if (!ok) return;
+ var path = createPath(location);
+ var encodedPath = encodePath(basename + path);
+ var hashChanged = getHashPath() !== encodedPath;
+
+ if (hashChanged) {
+ // We cannot tell if a hashchange was caused by a REPLACE, so we'd
+ // rather setState here and ignore the hashchange. The caveat here
+ // is that other hash histories in the page will consider it a POP.
+ ignorePath = path;
+ replaceHashPath(encodedPath);
+ }
+
+ var prevIndex = allPaths.indexOf(createPath(history.location));
+ if (prevIndex !== -1) allPaths[prevIndex] = path;
+ setState({
+ action: action,
+ location: location
+ });
+ });
+ }
+
+ function go(n) {
+ false ? undefined : void 0;
+ globalHistory.go(n);
+ }
+
+ function goBack() {
+ go(-1);
+ }
+
+ function goForward() {
+ go(1);
+ }
+
+ var listenerCount = 0;
+
+ function checkDOMListeners(delta) {
+ listenerCount += delta;
+
+ if (listenerCount === 1 && delta === 1) {
+ window.addEventListener(HashChangeEvent$1, handleHashChange);
+ } else if (listenerCount === 0) {
+ window.removeEventListener(HashChangeEvent$1, handleHashChange);
+ }
+ }
+
+ var isBlocked = false;
+
+ function block(prompt) {
+ if (prompt === void 0) {
+ prompt = false;
+ }
+
+ var unblock = transitionManager.setPrompt(prompt);
+
+ if (!isBlocked) {
+ checkDOMListeners(1);
+ isBlocked = true;
+ }
+
+ return function () {
+ if (isBlocked) {
+ isBlocked = false;
+ checkDOMListeners(-1);
+ }
+
+ return unblock();
+ };
+ }
+
+ function listen(listener) {
+ var unlisten = transitionManager.appendListener(listener);
+ checkDOMListeners(1);
+ return function () {
+ checkDOMListeners(-1);
+ unlisten();
+ };
+ }
+
+ var history = {
+ length: globalHistory.length,
+ action: 'POP',
+ location: initialLocation,
+ createHref: createHref,
+ push: push,
+ replace: replace,
+ go: go,
+ goBack: goBack,
+ goForward: goForward,
+ block: block,
+ listen: listen
+ };
+ return history;
+}
+
+function clamp(n, lowerBound, upperBound) {
+ return Math.min(Math.max(n, lowerBound), upperBound);
+}
+/**
+ * Creates a history object that stores locations in memory.
+ */
+
+
+function createMemoryHistory(props) {
+ if (props === void 0) {
+ props = {};
+ }
+
+ var _props = props,
+ getUserConfirmation = _props.getUserConfirmation,
+ _props$initialEntries = _props.initialEntries,
+ initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,
+ _props$initialIndex = _props.initialIndex,
+ initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,
+ _props$keyLength = _props.keyLength,
+ keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;
+ var transitionManager = createTransitionManager();
+
+ function setState(nextState) {
+ Object(esm_extends["a" /* default */])(history, nextState);
+
+ history.length = history.entries.length;
+ transitionManager.notifyListeners(history.location, history.action);
+ }
+
+ function createKey() {
+ return Math.random().toString(36).substr(2, keyLength);
+ }
+
+ var index = clamp(initialIndex, 0, initialEntries.length - 1);
+ var entries = initialEntries.map(function (entry) {
+ return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());
+ }); // Public interface
+
+ var createHref = createPath;
+
+ function push(path, state) {
+ false ? undefined : void 0;
+ var action = 'PUSH';
+ var location = createLocation(path, state, createKey(), history.location);
+ transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
+ if (!ok) return;
+ var prevIndex = history.index;
+ var nextIndex = prevIndex + 1;
+ var nextEntries = history.entries.slice(0);
+
+ if (nextEntries.length > nextIndex) {
+ nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);
+ } else {
+ nextEntries.push(location);
+ }
+
+ setState({
+ action: action,
+ location: location,
+ index: nextIndex,
+ entries: nextEntries
+ });
+ });
+ }
+
+ function replace(path, state) {
+ false ? undefined : void 0;
+ var action = 'REPLACE';
+ var location = createLocation(path, state, createKey(), history.location);
+ transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
+ if (!ok) return;
+ history.entries[history.index] = location;
+ setState({
+ action: action,
+ location: location
+ });
+ });
+ }
+
+ function go(n) {
+ var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);
+ var action = 'POP';
+ var location = history.entries[nextIndex];
+ transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
+ if (ok) {
+ setState({
+ action: action,
+ location: location,
+ index: nextIndex
+ });
+ } else {
+ // Mimic the behavior of DOM histories by
+ // causing a render after a cancelled POP.
+ setState();
+ }
+ });
+ }
+
+ function goBack() {
+ go(-1);
+ }
+
+ function goForward() {
+ go(1);
+ }
+
+ function canGo(n) {
+ var nextIndex = history.index + n;
+ return nextIndex >= 0 && nextIndex < history.entries.length;
+ }
+
+ function block(prompt) {
+ if (prompt === void 0) {
+ prompt = false;
+ }
+
+ return transitionManager.setPrompt(prompt);
+ }
+
+ function listen(listener) {
+ return transitionManager.appendListener(listener);
+ }
+
+ var history = {
+ length: entries.length,
+ action: 'POP',
+ location: entries[index],
+ index: index,
+ entries: entries,
+ createHref: createHref,
+ push: push,
+ replace: replace,
+ go: go,
+ goBack: goBack,
+ goForward: goForward,
+ canGo: canGo,
+ block: block,
+ listen: listen
+ };
+ return history;
+}
+
+
+
+
+/***/ }),
+
+/***/ 92:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
+var esm_extends = __webpack_require__(11);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 3 modules
+var slicedToArray = __webpack_require__(21);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
+var objectWithoutProperties = __webpack_require__(16);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: ./node_modules/classnames/index.js
+var classnames = __webpack_require__(10);
+var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/dom/build-module/dom.js
+var dom = __webpack_require__(107);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/dom/build-module/index.js + 2 modules
+var build_module = __webpack_require__(50);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/keycodes/build-module/index.js + 1 modules
+var keycodes_build_module = __webpack_require__(18);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/deprecated/build-module/index.js
+var deprecated_build_module = __webpack_require__(94);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/compose/build-module/hooks/use-viewport-match/index.js
+var use_viewport_match = __webpack_require__(268);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectSpread.js
+var objectSpread = __webpack_require__(27);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/popover/utils.js
+
+
+
+/**
+ * Module constants
+ */
+var HEIGHT_OFFSET = 10; // used by the arrow and a bit of empty space
+
+var isRTL = function isRTL() {
+ return document.documentElement.dir === 'rtl';
+};
+/**
+ * Utility used to compute the popover position over the xAxis
+ *
+ * @param {Object} anchorRect Anchor Rect.
+ * @param {Object} contentSize Content Size.
+ * @param {string} xAxis Desired xAxis.
+ * @param {string} chosenYAxis yAxis to be used.
+ *
+ * @return {Object} Popover xAxis position and constraints.
+ */
+
+
+function computePopoverXAxisPosition(anchorRect, contentSize, xAxis, chosenYAxis) {
+ var width = contentSize.width; // Correct xAxis for RTL support
+
+ if (xAxis === 'left' && isRTL()) {
+ xAxis = 'right';
+ } else if (xAxis === 'right' && isRTL()) {
+ xAxis = 'left';
+ } // x axis alignment choices
+
+
+ var anchorMidPoint = Math.round(anchorRect.left + anchorRect.width / 2);
+ var centerAlignment = {
+ popoverLeft: anchorMidPoint,
+ contentWidth: (anchorMidPoint - width / 2 > 0 ? width / 2 : anchorMidPoint) + (anchorMidPoint + width / 2 > window.innerWidth ? window.innerWidth - anchorMidPoint : width / 2)
+ };
+ var leftAlignmentX = chosenYAxis === 'middle' ? anchorRect.left : anchorMidPoint;
+ var leftAlignment = {
+ popoverLeft: leftAlignmentX,
+ contentWidth: leftAlignmentX - width > 0 ? width : leftAlignmentX
+ };
+ var rightAlignmentX = chosenYAxis === 'middle' ? anchorRect.right : anchorMidPoint;
+ var rightAlignment = {
+ popoverLeft: rightAlignmentX,
+ contentWidth: rightAlignmentX + width > window.innerWidth ? window.innerWidth - rightAlignmentX : width
+ }; // Choosing the x axis
+
+ var chosenXAxis;
+ var contentWidth = null;
+
+ if (xAxis === 'center' && centerAlignment.contentWidth === width) {
+ chosenXAxis = 'center';
+ } else if (xAxis === 'left' && leftAlignment.contentWidth === width) {
+ chosenXAxis = 'left';
+ } else if (xAxis === 'right' && rightAlignment.contentWidth === width) {
+ chosenXAxis = 'right';
+ } else {
+ chosenXAxis = leftAlignment.contentWidth > rightAlignment.contentWidth ? 'left' : 'right';
+ var chosenWidth = chosenXAxis === 'left' ? leftAlignment.contentWidth : rightAlignment.contentWidth;
+ contentWidth = chosenWidth !== width ? chosenWidth : null;
+ }
+
+ var popoverLeft;
+
+ if (chosenXAxis === 'center') {
+ popoverLeft = centerAlignment.popoverLeft;
+ } else if (chosenXAxis === 'left') {
+ popoverLeft = leftAlignment.popoverLeft;
+ } else {
+ popoverLeft = rightAlignment.popoverLeft;
+ }
+
+ return {
+ xAxis: chosenXAxis,
+ popoverLeft: popoverLeft,
+ contentWidth: contentWidth
+ };
+}
+/**
+ * Utility used to compute the popover position over the yAxis
+ *
+ * @param {Object} anchorRect Anchor Rect.
+ * @param {Object} contentSize Content Size.
+ * @param {string} yAxis Desired yAxis.
+ *
+ * @return {Object} Popover xAxis position and constraints.
+ */
+
+function computePopoverYAxisPosition(anchorRect, contentSize, yAxis) {
+ var height = contentSize.height; // y axis alignment choices
+
+ var anchorMidPoint = anchorRect.top + anchorRect.height / 2;
+ var middleAlignment = {
+ popoverTop: anchorMidPoint,
+ contentHeight: (anchorMidPoint - height / 2 > 0 ? height / 2 : anchorMidPoint) + (anchorMidPoint + height / 2 > window.innerHeight ? window.innerHeight - anchorMidPoint : height / 2)
+ };
+ var topAlignment = {
+ popoverTop: anchorRect.top,
+ contentHeight: anchorRect.top - HEIGHT_OFFSET - height > 0 ? height : anchorRect.top - HEIGHT_OFFSET
+ };
+ var bottomAlignment = {
+ popoverTop: anchorRect.bottom,
+ contentHeight: anchorRect.bottom + HEIGHT_OFFSET + height > window.innerHeight ? window.innerHeight - HEIGHT_OFFSET - anchorRect.bottom : height
+ }; // Choosing the y axis
+
+ var chosenYAxis;
+ var contentHeight = null;
+
+ if (yAxis === 'middle' && middleAlignment.contentHeight === height) {
+ chosenYAxis = 'middle';
+ } else if (yAxis === 'top' && topAlignment.contentHeight === height) {
+ chosenYAxis = 'top';
+ } else if (yAxis === 'bottom' && bottomAlignment.contentHeight === height) {
+ chosenYAxis = 'bottom';
+ } else {
+ chosenYAxis = topAlignment.contentHeight > bottomAlignment.contentHeight ? 'top' : 'bottom';
+ var chosenHeight = chosenYAxis === 'top' ? topAlignment.contentHeight : bottomAlignment.contentHeight;
+ contentHeight = chosenHeight !== height ? chosenHeight : null;
+ }
+
+ var popoverTop;
+
+ if (chosenYAxis === 'middle') {
+ popoverTop = middleAlignment.popoverTop;
+ } else if (chosenYAxis === 'top') {
+ popoverTop = topAlignment.popoverTop;
+ } else {
+ popoverTop = bottomAlignment.popoverTop;
+ }
+
+ return {
+ yAxis: chosenYAxis,
+ popoverTop: popoverTop,
+ contentHeight: contentHeight
+ };
+}
+/**
+ * Utility used to compute the popover position and the content max width/height for a popover
+ * given its anchor rect and its content size.
+ *
+ * @param {Object} anchorRect Anchor Rect.
+ * @param {Object} contentSize Content Size.
+ * @param {string} position Position.
+ *
+ * @return {Object} Popover position and constraints.
+ */
+
+function computePopoverPosition(anchorRect, contentSize) {
+ var position = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'top';
+
+ var _position$split = position.split(' '),
+ _position$split2 = Object(slicedToArray["a" /* default */])(_position$split, 2),
+ yAxis = _position$split2[0],
+ _position$split2$ = _position$split2[1],
+ xAxis = _position$split2$ === void 0 ? 'center' : _position$split2$;
+
+ var yAxisPosition = computePopoverYAxisPosition(anchorRect, contentSize, yAxis);
+ var xAxisPosition = computePopoverXAxisPosition(anchorRect, contentSize, xAxis, yAxisPosition.yAxis);
+ return Object(objectSpread["a" /* default */])({}, xAxisPosition, yAxisPosition);
+}
+//# sourceMappingURL=utils.js.map
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/higher-order/with-focus-return/index.js + 1 modules
+var with_focus_return = __webpack_require__(97);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/higher-order/with-constrained-tabbing/index.js
+var with_constrained_tabbing = __webpack_require__(93);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js
+var classCallCheck = __webpack_require__(7);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js
+var createClass = __webpack_require__(6);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(8);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(4);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js + 1 modules
+var inherits = __webpack_require__(9);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/higher-order/with-focus-outside/index.js
+var with_focus_outside = __webpack_require__(95);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/popover/detect-outside.js
+
+
+
+
+
+
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var detect_outside_PopoverDetectOutside =
+/*#__PURE__*/
+function (_Component) {
+ Object(inherits["a" /* default */])(PopoverDetectOutside, _Component);
+
+ function PopoverDetectOutside() {
+ Object(classCallCheck["a" /* default */])(this, PopoverDetectOutside);
+
+ return Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(PopoverDetectOutside).apply(this, arguments));
+ }
+
+ Object(createClass["a" /* default */])(PopoverDetectOutside, [{
+ key: "handleFocusOutside",
+ value: function handleFocusOutside(event) {
+ this.props.onFocusOutside(event);
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ return this.props.children;
+ }
+ }]);
+
+ return PopoverDetectOutside;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var detect_outside = (Object(with_focus_outside["a" /* default */])(detect_outside_PopoverDetectOutside));
+//# sourceMappingURL=detect-outside.js.map
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/icon-button/index.js
+var icon_button = __webpack_require__(85);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/scroll-lock/index.js
+
+
+
+
+
+
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Creates a ScrollLock component bound to the specified document.
+ *
+ * This function creates a ScrollLock component for the specified document
+ * and is exposed so we can create an isolated component for unit testing.
+ *
+ * @param {Object} args Keyword args.
+ * @param {HTMLDocument} args.htmlDocument The document to lock the scroll for.
+ * @param {string} args.className The name of the class used to lock scrolling.
+ * @return {WPComponent} The bound ScrollLock component.
+ */
+
+function createScrollLockComponent() {
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
+ _ref$htmlDocument = _ref.htmlDocument,
+ htmlDocument = _ref$htmlDocument === void 0 ? document : _ref$htmlDocument,
+ _ref$className = _ref.className,
+ className = _ref$className === void 0 ? 'lockscroll' : _ref$className;
+
+ var lockCounter = 0;
+ /*
+ * Setting `overflow: hidden` on html and body elements resets body scroll in iOS.
+ * Save scroll top so we can restore it after locking scroll.
+ *
+ * NOTE: It would be cleaner and possibly safer to find a localized solution such
+ * as preventing default on certain touchmove events.
+ */
+
+ var previousScrollTop = 0;
+ /**
+ * Locks and unlocks scroll depending on the boolean argument.
+ *
+ * @param {boolean} locked Whether or not scroll should be locked.
+ */
+
+ function setLocked(locked) {
+ var scrollingElement = htmlDocument.scrollingElement || htmlDocument.body;
+
+ if (locked) {
+ previousScrollTop = scrollingElement.scrollTop;
+ }
+
+ var methodName = locked ? 'add' : 'remove';
+ scrollingElement.classList[methodName](className); // Adding the class to the document element seems to be necessary in iOS.
+
+ htmlDocument.documentElement.classList[methodName](className);
+
+ if (!locked) {
+ scrollingElement.scrollTop = previousScrollTop;
+ }
+ }
+ /**
+ * Requests scroll lock.
+ *
+ * This function tracks requests for scroll lock. It locks scroll on the first
+ * request and counts each request so `releaseLock` can unlock scroll when
+ * all requests have been released.
+ */
+
+
+ function requestLock() {
+ if (lockCounter === 0) {
+ setLocked(true);
+ }
+
+ ++lockCounter;
+ }
+ /**
+ * Releases a request for scroll lock.
+ *
+ * This function tracks released requests for scroll lock. When all requests
+ * have been released, it unlocks scroll.
+ */
+
+
+ function releaseLock() {
+ if (lockCounter === 1) {
+ setLocked(false);
+ }
+
+ --lockCounter;
+ }
+
+ return (
+ /*#__PURE__*/
+ function (_Component) {
+ Object(inherits["a" /* default */])(ScrollLock, _Component);
+
+ function ScrollLock() {
+ Object(classCallCheck["a" /* default */])(this, ScrollLock);
+
+ return Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(ScrollLock).apply(this, arguments));
+ }
+
+ Object(createClass["a" /* default */])(ScrollLock, [{
+ key: "componentDidMount",
+
+ /**
+ * Requests scroll lock on mount.
+ */
+ value: function componentDidMount() {
+ requestLock();
+ }
+ /**
+ * Releases scroll lock before unmount.
+ */
+
+ }, {
+ key: "componentWillUnmount",
+ value: function componentWillUnmount() {
+ releaseLock();
+ }
+ /**
+ * Render nothing as this component is merely a way to declare scroll lock.
+ *
+ * @return {null} Render nothing by returning `null`.
+ */
+
+ }, {
+ key: "render",
+ value: function render() {
+ return null;
+ }
+ }]);
+
+ return ScrollLock;
+ }(external_this_wp_element_["Component"])
+ );
+}
+/* harmony default export */ var scroll_lock = (createScrollLockComponent());
+//# sourceMappingURL=index.js.map
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/isolated-event-container/index.js
+var isolated_event_container = __webpack_require__(96);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 3 modules
+var toConsumableArray = __webpack_require__(17);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js
+var assertThisInitialized = __webpack_require__(5);
+
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__(2);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/slot-fill/context.js
+
+
+
+
+
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+var SlotFillContext = Object(external_this_wp_element_["createContext"])({
+ registerSlot: function registerSlot() {},
+ unregisterSlot: function unregisterSlot() {},
+ registerFill: function registerFill() {},
+ unregisterFill: function unregisterFill() {},
+ getSlot: function getSlot() {},
+ getFills: function getFills() {},
+ subscribe: function subscribe() {}
+});
+var Provider = SlotFillContext.Provider,
+ Consumer = SlotFillContext.Consumer;
+
+var context_SlotFillProvider =
+/*#__PURE__*/
+function (_Component) {
+ Object(inherits["a" /* default */])(SlotFillProvider, _Component);
+
+ function SlotFillProvider() {
+ var _this;
+
+ Object(classCallCheck["a" /* default */])(this, SlotFillProvider);
+
+ _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(SlotFillProvider).apply(this, arguments));
+ _this.registerSlot = _this.registerSlot.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.registerFill = _this.registerFill.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.unregisterSlot = _this.unregisterSlot.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.unregisterFill = _this.unregisterFill.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.getSlot = _this.getSlot.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.getFills = _this.getFills.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.hasFills = _this.hasFills.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.subscribe = _this.subscribe.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.slots = {};
+ _this.fills = {};
+ _this.listeners = [];
+ _this.contextValue = {
+ registerSlot: _this.registerSlot,
+ unregisterSlot: _this.unregisterSlot,
+ registerFill: _this.registerFill,
+ unregisterFill: _this.unregisterFill,
+ getSlot: _this.getSlot,
+ getFills: _this.getFills,
+ hasFills: _this.hasFills,
+ subscribe: _this.subscribe
+ };
+ return _this;
+ }
+
+ Object(createClass["a" /* default */])(SlotFillProvider, [{
+ key: "registerSlot",
+ value: function registerSlot(name, slot) {
+ var previousSlot = this.slots[name];
+ this.slots[name] = slot;
+ this.triggerListeners(); // Sometimes the fills are registered after the initial render of slot
+ // But before the registerSlot call, we need to rerender the slot
+
+ this.forceUpdateSlot(name); // If a new instance of a slot is being mounted while another with the
+ // same name exists, force its update _after_ the new slot has been
+ // assigned into the instance, such that its own rendering of children
+ // will be empty (the new Slot will subsume all fills for this name).
+
+ if (previousSlot) {
+ previousSlot.forceUpdate();
+ }
+ }
+ }, {
+ key: "registerFill",
+ value: function registerFill(name, instance) {
+ this.fills[name] = [].concat(Object(toConsumableArray["a" /* default */])(this.fills[name] || []), [instance]);
+ this.forceUpdateSlot(name);
+ }
+ }, {
+ key: "unregisterSlot",
+ value: function unregisterSlot(name, instance) {
+ // If a previous instance of a Slot by this name unmounts, do nothing,
+ // as the slot and its fills should only be removed for the current
+ // known instance.
+ if (this.slots[name] !== instance) {
+ return;
+ }
+
+ delete this.slots[name];
+ this.triggerListeners();
+ }
+ }, {
+ key: "unregisterFill",
+ value: function unregisterFill(name, instance) {
+ this.fills[name] = Object(external_lodash_["without"])(this.fills[name], instance);
+ this.resetFillOccurrence(name);
+ this.forceUpdateSlot(name);
+ }
+ }, {
+ key: "getSlot",
+ value: function getSlot(name) {
+ return this.slots[name];
+ }
+ }, {
+ key: "getFills",
+ value: function getFills(name, slotInstance) {
+ // Fills should only be returned for the current instance of the slot
+ // in which they occupy.
+ if (this.slots[name] !== slotInstance) {
+ return [];
+ }
+
+ return Object(external_lodash_["sortBy"])(this.fills[name], 'occurrence');
+ }
+ }, {
+ key: "hasFills",
+ value: function hasFills(name) {
+ return this.fills[name] && !!this.fills[name].length;
+ }
+ }, {
+ key: "resetFillOccurrence",
+ value: function resetFillOccurrence(name) {
+ Object(external_lodash_["forEach"])(this.fills[name], function (instance) {
+ instance.occurrence = undefined;
+ });
+ }
+ }, {
+ key: "forceUpdateSlot",
+ value: function forceUpdateSlot(name) {
+ var slot = this.getSlot(name);
+
+ if (slot) {
+ slot.forceUpdate();
+ }
+ }
+ }, {
+ key: "triggerListeners",
+ value: function triggerListeners() {
+ this.listeners.forEach(function (listener) {
+ return listener();
+ });
+ }
+ }, {
+ key: "subscribe",
+ value: function subscribe(listener) {
+ var _this2 = this;
+
+ this.listeners.push(listener);
+ return function () {
+ _this2.listeners = Object(external_lodash_["without"])(_this2.listeners, listener);
+ };
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ return Object(external_this_wp_element_["createElement"])(Provider, {
+ value: this.contextValue
+ }, this.props.children);
+ }
+ }]);
+
+ return SlotFillProvider;
+}(external_this_wp_element_["Component"]);
+/**
+ * React hook returning the active slot given a name.
+ *
+ * @param {string} name Slot name.
+ * @return {Object} Slot object.
+ */
+
+
+var context_useSlot = function useSlot(name) {
+ var _useContext = Object(external_this_wp_element_["useContext"])(SlotFillContext),
+ getSlot = _useContext.getSlot,
+ subscribe = _useContext.subscribe;
+
+ var _useState = Object(external_this_wp_element_["useState"])(getSlot(name)),
+ _useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),
+ slot = _useState2[0],
+ setSlot = _useState2[1];
+
+ Object(external_this_wp_element_["useEffect"])(function () {
+ setSlot(getSlot(name));
+ var unsubscribe = subscribe(function () {
+ setSlot(getSlot(name));
+ });
+ return unsubscribe;
+ }, [name]);
+ return slot;
+};
+/* harmony default export */ var context = (context_SlotFillProvider);
+
+//# sourceMappingURL=context.js.map
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/slot-fill/fill.js
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+var occurrences = 0;
+
+function FillComponent(_ref) {
+ var name = _ref.name,
+ children = _ref.children,
+ registerFill = _ref.registerFill,
+ unregisterFill = _ref.unregisterFill;
+ var slot = context_useSlot(name);
+ var ref = Object(external_this_wp_element_["useRef"])({
+ name: name,
+ children: children
+ });
+
+ if (!ref.current.occurrence) {
+ ref.current.occurrence = ++occurrences;
+ }
+
+ Object(external_this_wp_element_["useLayoutEffect"])(function () {
+ registerFill(name, ref.current);
+ return function () {
+ return unregisterFill(name, ref.current);
+ };
+ }, []);
+ Object(external_this_wp_element_["useLayoutEffect"])(function () {
+ ref.current.children = children;
+
+ if (slot && !slot.props.bubblesVirtually) {
+ slot.forceUpdate();
+ }
+ }, [children]);
+ Object(external_this_wp_element_["useLayoutEffect"])(function () {
+ if (name === ref.current.name) {
+ // ignore initial effect
+ return;
+ }
+
+ unregisterFill(ref.current.name, ref.current);
+ ref.current.name = name;
+ registerFill(name, ref.current);
+ }, [name]);
+
+ if (!slot || !slot.node || !slot.props.bubblesVirtually) {
+ return null;
+ } // If a function is passed as a child, provide it with the fillProps.
+
+
+ if (Object(external_lodash_["isFunction"])(children)) {
+ children = children(slot.props.fillProps);
+ }
+
+ return Object(external_this_wp_element_["createPortal"])(children, slot.node);
+}
+
+var fill_Fill = function Fill(props) {
+ return Object(external_this_wp_element_["createElement"])(Consumer, null, function (_ref2) {
+ var registerFill = _ref2.registerFill,
+ unregisterFill = _ref2.unregisterFill;
+ return Object(external_this_wp_element_["createElement"])(FillComponent, Object(esm_extends["a" /* default */])({}, props, {
+ registerFill: registerFill,
+ unregisterFill: unregisterFill
+ }));
+ });
+};
+
+/* harmony default export */ var slot_fill_fill = (fill_Fill);
+//# sourceMappingURL=fill.js.map
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/slot-fill/slot.js
+
+
+
+
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var slot_SlotComponent =
+/*#__PURE__*/
+function (_Component) {
+ Object(inherits["a" /* default */])(SlotComponent, _Component);
+
+ function SlotComponent() {
+ var _this;
+
+ Object(classCallCheck["a" /* default */])(this, SlotComponent);
+
+ _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(SlotComponent).apply(this, arguments));
+ _this.bindNode = _this.bindNode.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ return _this;
+ }
+
+ Object(createClass["a" /* default */])(SlotComponent, [{
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ var registerSlot = this.props.registerSlot;
+ registerSlot(this.props.name, this);
+ }
+ }, {
+ key: "componentWillUnmount",
+ value: function componentWillUnmount() {
+ var unregisterSlot = this.props.unregisterSlot;
+ unregisterSlot(this.props.name, this);
+ }
+ }, {
+ key: "componentDidUpdate",
+ value: function componentDidUpdate(prevProps) {
+ var _this$props = this.props,
+ name = _this$props.name,
+ unregisterSlot = _this$props.unregisterSlot,
+ registerSlot = _this$props.registerSlot;
+
+ if (prevProps.name !== name) {
+ unregisterSlot(prevProps.name);
+ registerSlot(name, this);
+ }
+ }
+ }, {
+ key: "bindNode",
+ value: function bindNode(node) {
+ this.node = node;
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props2 = this.props,
+ children = _this$props2.children,
+ name = _this$props2.name,
+ _this$props2$bubblesV = _this$props2.bubblesVirtually,
+ bubblesVirtually = _this$props2$bubblesV === void 0 ? false : _this$props2$bubblesV,
+ _this$props2$fillProp = _this$props2.fillProps,
+ fillProps = _this$props2$fillProp === void 0 ? {} : _this$props2$fillProp,
+ getFills = _this$props2.getFills,
+ className = _this$props2.className;
+
+ if (bubblesVirtually) {
+ return Object(external_this_wp_element_["createElement"])("div", {
+ ref: this.bindNode,
+ className: className
+ });
+ }
+
+ var fills = Object(external_lodash_["map"])(getFills(name, this), function (fill) {
+ var fillKey = fill.occurrence;
+ var fillChildren = Object(external_lodash_["isFunction"])(fill.children) ? fill.children(fillProps) : fill.children;
+ return external_this_wp_element_["Children"].map(fillChildren, function (child, childIndex) {
+ if (!child || Object(external_lodash_["isString"])(child)) {
+ return child;
+ }
+
+ var childKey = "".concat(fillKey, "---").concat(child.key || childIndex);
+ return Object(external_this_wp_element_["cloneElement"])(child, {
+ key: childKey
+ });
+ });
+ }).filter( // In some cases fills are rendered only when some conditions apply.
+ // This ensures that we only use non-empty fills when rendering, i.e.,
+ // it allows us to render wrappers only when the fills are actually present.
+ Object(external_lodash_["negate"])(external_this_wp_element_["isEmptyElement"]));
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_lodash_["isFunction"])(children) ? children(fills) : fills);
+ }
+ }]);
+
+ return SlotComponent;
+}(external_this_wp_element_["Component"]);
+
+var slot_Slot = function Slot(props) {
+ return Object(external_this_wp_element_["createElement"])(Consumer, null, function (_ref) {
+ var registerSlot = _ref.registerSlot,
+ unregisterSlot = _ref.unregisterSlot,
+ getFills = _ref.getFills;
+ return Object(external_this_wp_element_["createElement"])(slot_SlotComponent, Object(esm_extends["a" /* default */])({}, props, {
+ registerSlot: registerSlot,
+ unregisterSlot: unregisterSlot,
+ getFills: getFills
+ }));
+ });
+};
+
+/* harmony default export */ var slot_fill_slot = (slot_Slot);
+//# sourceMappingURL=slot.js.map
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
+var defineProperty = __webpack_require__(13);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/animate/index.js
+
+
+
+/**
+ * External dependencies
+ */
+
+
+function Animate(_ref) {
+ var type = _ref.type,
+ _ref$options = _ref.options,
+ options = _ref$options === void 0 ? {} : _ref$options,
+ children = _ref.children;
+
+ if (type === 'appear') {
+ var _classnames;
+
+ var _options$origin = options.origin,
+ origin = _options$origin === void 0 ? 'top' : _options$origin;
+
+ var _origin$split = origin.split(' '),
+ _origin$split2 = Object(slicedToArray["a" /* default */])(_origin$split, 2),
+ yAxis = _origin$split2[0],
+ _origin$split2$ = _origin$split2[1],
+ xAxis = _origin$split2$ === void 0 ? 'center' : _origin$split2$;
+
+ return children({
+ className: classnames_default()('components-animate__appear', (_classnames = {}, Object(defineProperty["a" /* default */])(_classnames, 'is-from-' + xAxis, xAxis !== 'center'), Object(defineProperty["a" /* default */])(_classnames, 'is-from-' + yAxis, yAxis !== 'middle'), _classnames))
+ });
+ }
+
+ if (type === 'slide-in') {
+ var _options$origin2 = options.origin,
+ _origin = _options$origin2 === void 0 ? 'left' : _options$origin2;
+
+ return children({
+ className: classnames_default()('components-animate__slide-in', 'is-from-' + _origin)
+ });
+ }
+
+ if (type === 'loading') {
+ return children({
+ className: classnames_default()('components-animate__loading')
+ });
+ }
+
+ return children({});
+}
+
+/* harmony default export */ var build_module_animate = (Animate);
+//# sourceMappingURL=index.js.map
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/popover/index.js
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+
+
+
+var FocusManaged = Object(with_constrained_tabbing["a" /* default */])(Object(with_focus_return["a" /* default */])(function (_ref) {
+ var children = _ref.children;
+ return children;
+}));
+/**
+ * Name of slot in which popover should fill.
+ *
+ * @type {string}
+ */
+
+var SLOT_NAME = 'Popover';
+
+function computeAnchorRect(anchorRefFallback, anchorRect, getAnchorRect) {
+ var anchorRef = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
+ var shouldAnchorIncludePadding = arguments.length > 4 ? arguments[4] : undefined;
+
+ if (anchorRect) {
+ return anchorRect;
+ }
+
+ if (getAnchorRect) {
+ if (!anchorRefFallback.current) {
+ return;
+ }
+
+ return getAnchorRect(anchorRefFallback.current);
+ }
+
+ if (anchorRef !== false) {
+ if (!anchorRef) {
+ return;
+ }
+
+ if (anchorRef instanceof window.Range) {
+ return Object(dom["a" /* getRectangleFromRange */])(anchorRef);
+ }
+
+ var _rect = anchorRef.getBoundingClientRect();
+
+ if (shouldAnchorIncludePadding) {
+ return _rect;
+ }
+
+ return withoutPadding(_rect, anchorRef);
+ }
+
+ if (!anchorRefFallback.current) {
+ return;
+ }
+
+ var parentNode = anchorRefFallback.current.parentNode;
+ var rect = parentNode.getBoundingClientRect();
+
+ if (shouldAnchorIncludePadding) {
+ return rect;
+ }
+
+ return withoutPadding(rect, parentNode);
+}
+
+function addBuffer(rect) {
+ var verticalBuffer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
+ var horizontalBuffer = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
+ return {
+ x: rect.left - horizontalBuffer,
+ y: rect.top - verticalBuffer,
+ width: rect.width + 2 * horizontalBuffer,
+ height: rect.height + 2 * verticalBuffer,
+ left: rect.left - horizontalBuffer,
+ right: rect.right + horizontalBuffer,
+ top: rect.top - verticalBuffer,
+ bottom: rect.bottom + verticalBuffer
+ };
+}
+
+function withoutPadding(rect, element) {
+ var _window$getComputedSt = window.getComputedStyle(element),
+ paddingTop = _window$getComputedSt.paddingTop,
+ paddingBottom = _window$getComputedSt.paddingBottom,
+ paddingLeft = _window$getComputedSt.paddingLeft,
+ paddingRight = _window$getComputedSt.paddingRight;
+
+ var top = paddingTop ? parseInt(paddingTop, 10) : 0;
+ var bottom = paddingBottom ? parseInt(paddingBottom, 10) : 0;
+ var left = paddingLeft ? parseInt(paddingLeft, 10) : 0;
+ var right = paddingRight ? parseInt(paddingRight, 10) : 0;
+ return {
+ x: rect.left + left,
+ y: rect.top + top,
+ width: rect.width - left - right,
+ height: rect.height - top - bottom,
+ left: rect.left + left,
+ right: rect.right - right,
+ top: rect.top + top,
+ bottom: rect.bottom - bottom
+ };
+}
+/**
+ * Hook used to focus the first tabbable element on mount.
+ *
+ * @param {boolean|string} focusOnMount Focus on mount mode.
+ * @param {Object} contentRef Reference to the popover content element.
+ */
+
+
+function useFocusContentOnMount(focusOnMount, contentRef) {
+ // Focus handling
+ Object(external_this_wp_element_["useEffect"])(function () {
+ /*
+ * Without the setTimeout, the dom node is not being focused. Related:
+ * https://stackoverflow.com/questions/35522220/react-ref-with-focus-doesnt-work-without-settimeout-my-example
+ *
+ * TODO: Treat the cause, not the symptom.
+ */
+ var focusTimeout = setTimeout(function () {
+ if (!focusOnMount || !contentRef.current) {
+ return;
+ }
+
+ if (focusOnMount === 'firstElement') {
+ // Find first tabbable node within content and shift focus, falling
+ // back to the popover panel itself.
+ var firstTabbable = build_module["a" /* focus */].tabbable.find(contentRef.current)[0];
+
+ if (firstTabbable) {
+ firstTabbable.focus();
+ } else {
+ contentRef.current.focus();
+ }
+
+ return;
+ }
+
+ if (focusOnMount === 'container') {
+ // Focus the popover panel itself so items in the popover are easily
+ // accessed via keyboard navigation.
+ contentRef.current.focus();
+ }
+ }, 0);
+ return function () {
+ return clearTimeout(focusTimeout);
+ };
+ }, []);
+}
+/**
+ * Sets or removes an element attribute.
+ *
+ * @param {Element} element The element to modify.
+ * @param {string} name The attribute name to set or remove.
+ * @param {?string} value The value to set. A falsy value will remove the
+ * attribute.
+ */
+
+
+function setAttribute(element, name, value) {
+ if (!value) {
+ if (element.hasAttribute(name)) {
+ element.removeAttribute(name);
+ }
+ } else if (element.getAttribute(name) !== value) {
+ element.setAttribute(name, value);
+ }
+}
+/**
+ * Sets or removes an element style property.
+ *
+ * @param {Element} element The element to modify.
+ * @param {string} property The property to set or remove.
+ * @param {?string} value The value to set. A falsy value will remove the
+ * property.
+ */
+
+
+function setStyle(element, property) {
+ var value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
+
+ if (element.style[property] !== value) {
+ element.style[property] = value;
+ }
+}
+/**
+ * Sets or removes an element class.
+ *
+ * @param {Element} element The element to modify.
+ * @param {string} name The class to set or remove.
+ * @param {boolean} toggle True to set the class, false to remove.
+ */
+
+
+function setClass(element, name, toggle) {
+ if (toggle) {
+ if (!element.classList.contains(name)) {
+ element.classList.add(name);
+ }
+ } else if (element.classList.contains(name)) {
+ element.classList.remove(name);
+ }
+}
+
+var popover_Popover = function Popover(_ref2) {
+ var headerTitle = _ref2.headerTitle,
+ onClose = _ref2.onClose,
+ onKeyDown = _ref2.onKeyDown,
+ children = _ref2.children,
+ className = _ref2.className,
+ _ref2$noArrow = _ref2.noArrow,
+ noArrow = _ref2$noArrow === void 0 ? false : _ref2$noArrow,
+ _ref2$position = _ref2.position,
+ position = _ref2$position === void 0 ? 'top' : _ref2$position,
+ range = _ref2.range,
+ _ref2$focusOnMount = _ref2.focusOnMount,
+ focusOnMount = _ref2$focusOnMount === void 0 ? 'firstElement' : _ref2$focusOnMount,
+ anchorRef = _ref2.anchorRef,
+ shouldAnchorIncludePadding = _ref2.shouldAnchorIncludePadding,
+ anchorVerticalBuffer = _ref2.anchorVerticalBuffer,
+ anchorHorizontalBuffer = _ref2.anchorHorizontalBuffer,
+ anchorRect = _ref2.anchorRect,
+ getAnchorRect = _ref2.getAnchorRect,
+ expandOnMobile = _ref2.expandOnMobile,
+ _ref2$animate = _ref2.animate,
+ animate = _ref2$animate === void 0 ? true : _ref2$animate,
+ onClickOutside = _ref2.onClickOutside,
+ onFocusOutside = _ref2.onFocusOutside,
+ contentProps = Object(objectWithoutProperties["a" /* default */])(_ref2, ["headerTitle", "onClose", "onKeyDown", "children", "className", "noArrow", "position", "range", "focusOnMount", "anchorRef", "shouldAnchorIncludePadding", "anchorVerticalBuffer", "anchorHorizontalBuffer", "anchorRect", "getAnchorRect", "expandOnMobile", "animate", "onClickOutside", "onFocusOutside"]);
+
+ var anchorRefFallback = Object(external_this_wp_element_["useRef"])(null);
+ var contentRef = Object(external_this_wp_element_["useRef"])(null);
+ var containerRef = Object(external_this_wp_element_["useRef"])();
+ var contentRect = Object(external_this_wp_element_["useRef"])();
+ var isMobileViewport = Object(use_viewport_match["a" /* default */])('medium', '<');
+
+ var _useState = Object(external_this_wp_element_["useState"])(),
+ _useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),
+ animateOrigin = _useState2[0],
+ setAnimateOrigin = _useState2[1];
+
+ var isExpanded = expandOnMobile && isMobileViewport;
+ noArrow = isExpanded || noArrow;
+ Object(external_this_wp_element_["useEffect"])(function () {
+ var containerEl = containerRef.current;
+ var contentEl = contentRef.current;
+
+ if (isExpanded) {
+ setClass(containerEl, 'is-without-arrow', noArrow);
+ setAttribute(containerEl, 'data-x-axis');
+ setAttribute(containerEl, 'data-y-axis');
+ setStyle(containerEl, 'top');
+ setStyle(containerEl, 'left');
+ setStyle(contentEl, 'maxHeight');
+ setStyle(contentEl, 'maxWidth');
+ return;
+ }
+
+ var refresh = function refresh() {
+ var anchor = computeAnchorRect(anchorRefFallback, anchorRect, getAnchorRect, anchorRef, shouldAnchorIncludePadding);
+
+ if (!anchor) {
+ return;
+ }
+
+ anchor = addBuffer(anchor, anchorVerticalBuffer, anchorHorizontalBuffer);
+
+ if (!contentRect.current) {
+ contentRect.current = contentEl.getBoundingClientRect();
+ }
+
+ var _computePopoverPositi = computePopoverPosition(anchor, contentRect.current, position),
+ popoverTop = _computePopoverPositi.popoverTop,
+ popoverLeft = _computePopoverPositi.popoverLeft,
+ xAxis = _computePopoverPositi.xAxis,
+ yAxis = _computePopoverPositi.yAxis,
+ contentHeight = _computePopoverPositi.contentHeight,
+ contentWidth = _computePopoverPositi.contentWidth;
+
+ setClass(containerEl, 'is-without-arrow', noArrow || xAxis === 'center' && yAxis === 'middle');
+ setAttribute(containerEl, 'data-x-axis', xAxis);
+ setAttribute(containerEl, 'data-y-axis', yAxis);
+ setStyle(containerEl, 'top', typeof popoverTop === 'number' ? popoverTop + 'px' : '');
+ setStyle(containerEl, 'left', typeof popoverLeft === 'number' ? popoverLeft + 'px' : '');
+ setStyle(contentEl, 'maxHeight', typeof contentHeight === 'number' ? contentHeight + 'px' : '');
+ setStyle(contentEl, 'maxWidth', typeof contentWidth === 'number' ? contentWidth + 'px' : ''); // Compute the animation position
+
+ var yAxisMapping = {
+ top: 'bottom',
+ bottom: 'top'
+ };
+ var xAxisMapping = {
+ left: 'right',
+ right: 'left'
+ };
+ var animateYAxis = yAxisMapping[yAxis] || 'middle';
+ var animateXAxis = xAxisMapping[xAxis] || 'center';
+ setAnimateOrigin(animateXAxis + ' ' + animateYAxis);
+ }; // Height may still adjust between now and the next tick.
+
+
+ var timeoutId = window.setTimeout(refresh);
+ /*
+ * There are sometimes we need to reposition or resize the popover that
+ * are not handled by the resize/scroll window events (i.e. CSS changes
+ * in the layout that changes the position of the anchor).
+ *
+ * For these situations, we refresh the popover every 0.5s
+ */
+
+ var intervalHandle = window.setInterval(refresh, 500);
+ window.addEventListener('resize', refresh);
+ window.addEventListener('scroll', refresh, true);
+ return function () {
+ window.clearTimeout(timeoutId);
+ window.clearInterval(intervalHandle);
+ window.removeEventListener('resize', refresh);
+ window.removeEventListener('scroll', refresh, true);
+ };
+ }, [isExpanded, anchorRect, getAnchorRect, anchorRef, shouldAnchorIncludePadding, anchorVerticalBuffer, anchorHorizontalBuffer, position]);
+ useFocusContentOnMount(focusOnMount, contentRef); // Event handlers
+
+ var maybeClose = function maybeClose(event) {
+ // Close on escape
+ if (event.keyCode === keycodes_build_module["d" /* ESCAPE */] && onClose) {
+ event.stopPropagation();
+ onClose();
+ } // Preserve original content prop behavior
+
+
+ if (onKeyDown) {
+ onKeyDown(event);
+ }
+ };
+ /**
+ * Shims an onFocusOutside callback to be compatible with a deprecated
+ * onClickOutside prop function, if provided.
+ *
+ * @param {FocusEvent} event Focus event from onFocusOutside.
+ */
+
+
+ function handleOnFocusOutside(event) {
+ // Defer to given `onFocusOutside` if specified. Call `onClose` only if
+ // both `onFocusOutside` and `onClickOutside` are unspecified. Doing so
+ // assures backwards-compatibility for prior `onClickOutside` default.
+ if (onFocusOutside) {
+ onFocusOutside(event);
+ return;
+ } else if (!onClickOutside) {
+ if (onClose) {
+ onClose();
+ }
+
+ return;
+ } // Simulate MouseEvent using FocusEvent#relatedTarget as emulated click
+ // target. MouseEvent constructor is unsupported in Internet Explorer.
+
+
+ var clickEvent;
+
+ try {
+ clickEvent = new window.MouseEvent('click');
+ } catch (error) {
+ clickEvent = document.createEvent('MouseEvent');
+ clickEvent.initMouseEvent('click', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
+ }
+
+ Object.defineProperty(clickEvent, 'target', {
+ get: function get() {
+ return event.relatedTarget;
+ }
+ });
+ Object(deprecated_build_module["a" /* default */])('Popover onClickOutside prop', {
+ alternative: 'onFocusOutside'
+ });
+ onClickOutside(clickEvent);
+ } // Disable reason: We care to capture the _bubbled_ events from inputs
+ // within popover as inferring close intent.
+
+
+ var content = Object(external_this_wp_element_["createElement"])(detect_outside, {
+ onFocusOutside: handleOnFocusOutside
+ }, Object(external_this_wp_element_["createElement"])(build_module_animate, {
+ type: animate && animateOrigin ? 'appear' : null,
+ options: {
+ origin: animateOrigin
+ }
+ }, function (_ref3) {
+ var animateClassName = _ref3.className;
+ return Object(external_this_wp_element_["createElement"])(isolated_event_container["a" /* default */], Object(esm_extends["a" /* default */])({
+ className: classnames_default()('components-popover', className, animateClassName, {
+ 'is-expanded': isExpanded,
+ 'is-without-arrow': noArrow
+ })
+ }, contentProps, {
+ onKeyDown: maybeClose,
+ ref: containerRef
+ }), isExpanded && Object(external_this_wp_element_["createElement"])("div", {
+ className: "components-popover__header"
+ }, Object(external_this_wp_element_["createElement"])("span", {
+ className: "components-popover__header-title"
+ }, headerTitle), Object(external_this_wp_element_["createElement"])(icon_button["a" /* default */], {
+ className: "components-popover__close",
+ icon: "no-alt",
+ onClick: onClose
+ })), Object(external_this_wp_element_["createElement"])("div", {
+ ref: contentRef,
+ className: "components-popover__content",
+ tabIndex: "-1"
+ }, children));
+ })); // Apply focus to element as long as focusOnMount is truthy; false is
+ // the only "disabled" value.
+
+ if (focusOnMount) {
+ content = Object(external_this_wp_element_["createElement"])(FocusManaged, null, content);
+ }
+
+ return Object(external_this_wp_element_["createElement"])(Consumer, null, function (_ref4) {
+ var getSlot = _ref4.getSlot;
+
+ // In case there is no slot context in which to render,
+ // default to an in-place rendering.
+ if (getSlot && getSlot(SLOT_NAME)) {
+ content = Object(external_this_wp_element_["createElement"])(slot_fill_fill, {
+ name: SLOT_NAME
+ }, content);
+ }
+
+ return Object(external_this_wp_element_["createElement"])("span", {
+ ref: anchorRefFallback
+ }, content, isMobileViewport && expandOnMobile && Object(external_this_wp_element_["createElement"])(scroll_lock, null));
+ });
+};
+
+var PopoverContainer = popover_Popover;
+
+PopoverContainer.Slot = function () {
+ return Object(external_this_wp_element_["createElement"])(slot_fill_slot, {
+ bubblesVirtually: true,
+ name: SLOT_NAME
+ });
+};
+
+/* harmony default export */ var popover = __webpack_exports__["a"] = (PopoverContainer);
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 93:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7);
+/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6);
+/* harmony import */ var _babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8);
+/* harmony import */ var _babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4);
+/* harmony import */ var _babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5);
+/* harmony import */ var _babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(9);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(53);
+/* harmony import */ var _wordpress_keycodes__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(18);
+/* harmony import */ var _wordpress_dom__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(50);
+
+
+
+
+
+
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+var withConstrainedTabbing = Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_7__[/* default */ "a"])(function (WrappedComponent) {
+ return (
+ /*#__PURE__*/
+ function (_Component) {
+ Object(_babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])(_class, _Component);
+
+ function _class() {
+ var _this;
+
+ Object(_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(this, _class);
+
+ _this = Object(_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(this, Object(_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])(_class).apply(this, arguments));
+ _this.focusContainRef = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["createRef"])();
+ _this.handleTabBehaviour = _this.handleTabBehaviour.bind(Object(_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"])(_this));
+ return _this;
+ }
+
+ Object(_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(_class, [{
+ key: "handleTabBehaviour",
+ value: function handleTabBehaviour(event) {
+ if (event.keyCode !== _wordpress_keycodes__WEBPACK_IMPORTED_MODULE_8__[/* TAB */ "h"]) {
+ return;
+ }
+
+ var tabbables = _wordpress_dom__WEBPACK_IMPORTED_MODULE_9__[/* focus */ "a"].tabbable.find(this.focusContainRef.current);
+
+ if (!tabbables.length) {
+ return;
+ }
+
+ var firstTabbable = tabbables[0];
+ var lastTabbable = tabbables[tabbables.length - 1];
+
+ if (event.shiftKey && event.target === firstTabbable) {
+ event.preventDefault();
+ lastTabbable.focus();
+ } else if (!event.shiftKey && event.target === lastTabbable) {
+ event.preventDefault();
+ firstTabbable.focus();
+ /*
+ * When pressing Tab and none of the tabbables has focus, the keydown
+ * event happens on the wrapper div: move focus on the first tabbable.
+ */
+ } else if (!tabbables.includes(event.target)) {
+ event.preventDefault();
+ firstTabbable.focus();
+ }
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ // Disable reason: this component is non-interactive, but must capture
+ // events from the wrapped component to determine when the Tab key is used.
+
+ /* eslint-disable jsx-a11y/no-static-element-interactions */
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["createElement"])("div", {
+ onKeyDown: this.handleTabBehaviour,
+ ref: this.focusContainRef,
+ tabIndex: "-1"
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["createElement"])(WrappedComponent, this.props));
+ /* eslint-enable jsx-a11y/no-static-element-interactions */
+ }
+ }]);
+
+ return _class;
+ }(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["Component"])
+ );
+}, 'withConstrainedTabbing');
+/* harmony default export */ __webpack_exports__["a"] = (withConstrainedTabbing);
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 94:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export logged */
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return deprecated; });
+/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(48);
+/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_0__);
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Object map tracking messages which have been logged, for use in ensuring a
+ * message is only logged once.
+ *
+ * @type {Object}
+ */
+
+var logged = Object.create(null);
+/**
+ * Logs a message to notify developers about a deprecated feature.
+ *
+ * @param {string} feature Name of the deprecated feature.
+ * @param {?Object} options Personalisation options
+ * @param {?string} options.version Version in which the feature will be removed.
+ * @param {?string} options.alternative Feature to use instead
+ * @param {?string} options.plugin Plugin name if it's a plugin feature
+ * @param {?string} options.link Link to documentation
+ * @param {?string} options.hint Additional message to help transition away from the deprecated feature.
+ *
+ * @example
+ * ```js
+ * import deprecated from '@wordpress/deprecated';
+ *
+ * deprecated( 'Eating meat', {
+ * version: 'the future',
+ * alternative: 'vegetables',
+ * plugin: 'the earth',
+ * hint: 'You may find it beneficial to transition gradually.',
+ * } );
+ *
+ * // Logs: 'Eating meat is deprecated and will be removed from the earth in the future. Please use vegetables instead. Note: You may find it beneficial to transition gradually.'
+ * ```
+ */
+
+function deprecated(feature) {
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
+ var version = options.version,
+ alternative = options.alternative,
+ plugin = options.plugin,
+ link = options.link,
+ hint = options.hint;
+ var pluginMessage = plugin ? " from ".concat(plugin) : '';
+ var versionMessage = version ? " and will be removed".concat(pluginMessage, " in version ").concat(version) : '';
+ var useInsteadMessage = alternative ? " Please use ".concat(alternative, " instead.") : '';
+ var linkMessage = link ? " See: ".concat(link) : '';
+ var hintMessage = hint ? " Note: ".concat(hint) : '';
+ var message = "".concat(feature, " is deprecated").concat(versionMessage, ".").concat(useInsteadMessage).concat(linkMessage).concat(hintMessage); // Skip if already logged.
+
+ if (message in logged) {
+ return;
+ }
+ /**
+ * Fires whenever a deprecated feature is encountered
+ *
+ * @param {string} feature Name of the deprecated feature.
+ * @param {?Object} options Personalisation options
+ * @param {?string} options.version Version in which the feature will be removed.
+ * @param {?string} options.alternative Feature to use instead
+ * @param {?string} options.plugin Plugin name if it's a plugin feature
+ * @param {?string} options.link Link to documentation
+ * @param {?string} options.hint Additional message to help transition away from the deprecated feature.
+ * @param {?string} message Message sent to console.warn
+ */
+
+
+ Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_0__["doAction"])('deprecated', feature, options, message); // eslint-disable-next-line no-console
+
+ console.warn(message);
+ logged[message] = true;
+}
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 95:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11);
+/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7);
+/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6);
+/* harmony import */ var _babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8);
+/* harmony import */ var _babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4);
+/* harmony import */ var _babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5);
+/* harmony import */ var _babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(9);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_8__);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(53);
+
+
+
+
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+/**
+ * Input types which are classified as button types, for use in considering
+ * whether element is a (focus-normalized) button.
+ *
+ * @type {string[]}
+ */
+
+var INPUT_BUTTON_TYPES = ['button', 'submit'];
+/**
+ * Returns true if the given element is a button element subject to focus
+ * normalization, or false otherwise.
+ *
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus
+ *
+ * @param {Element} element Element to test.
+ *
+ * @return {boolean} Whether element is a button.
+ */
+
+function isFocusNormalizedButton(element) {
+ switch (element.nodeName) {
+ case 'A':
+ case 'BUTTON':
+ return true;
+
+ case 'INPUT':
+ return Object(lodash__WEBPACK_IMPORTED_MODULE_8__["includes"])(INPUT_BUTTON_TYPES, element.type);
+ }
+
+ return false;
+}
+
+/* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_9__[/* default */ "a"])(function (WrappedComponent) {
+ return (
+ /*#__PURE__*/
+ function (_Component) {
+ Object(_babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"])(_class, _Component);
+
+ function _class() {
+ var _this;
+
+ Object(_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(this, _class);
+
+ _this = Object(_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])(this, Object(_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"])(_class).apply(this, arguments));
+ _this.bindNode = _this.bindNode.bind(Object(_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])(_this));
+ _this.cancelBlurCheck = _this.cancelBlurCheck.bind(Object(_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])(_this));
+ _this.queueBlurCheck = _this.queueBlurCheck.bind(Object(_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])(_this));
+ _this.normalizeButtonFocus = _this.normalizeButtonFocus.bind(Object(_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])(_this));
+ return _this;
+ }
+
+ Object(_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(_class, [{
+ key: "componentWillUnmount",
+ value: function componentWillUnmount() {
+ this.cancelBlurCheck();
+ }
+ }, {
+ key: "bindNode",
+ value: function bindNode(node) {
+ if (node) {
+ this.node = node;
+ } else {
+ delete this.node;
+ this.cancelBlurCheck();
+ }
+ }
+ }, {
+ key: "queueBlurCheck",
+ value: function queueBlurCheck(event) {
+ var _this2 = this;
+
+ // React does not allow using an event reference asynchronously
+ // due to recycling behavior, except when explicitly persisted.
+ event.persist(); // Skip blur check if clicking button. See `normalizeButtonFocus`.
+
+ if (this.preventBlurCheck) {
+ return;
+ }
+
+ this.blurCheckTimeout = setTimeout(function () {
+ // If document is not focused then focus should remain
+ // inside the wrapped component and therefore we cancel
+ // this blur event thereby leaving focus in place.
+ // https://developer.mozilla.org/en-US/docs/Web/API/Document/hasFocus.
+ if (!document.hasFocus()) {
+ event.preventDefault();
+ return;
+ }
+
+ if ('function' === typeof _this2.node.handleFocusOutside) {
+ _this2.node.handleFocusOutside(event);
+ }
+ }, 0);
+ }
+ }, {
+ key: "cancelBlurCheck",
+ value: function cancelBlurCheck() {
+ clearTimeout(this.blurCheckTimeout);
+ }
+ /**
+ * Handles a mousedown or mouseup event to respectively assign and
+ * unassign a flag for preventing blur check on button elements. Some
+ * browsers, namely Firefox and Safari, do not emit a focus event on
+ * button elements when clicked, while others do. The logic here
+ * intends to normalize this as treating click on buttons as focus.
+ *
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus
+ *
+ * @param {MouseEvent} event Event for mousedown or mouseup.
+ */
+
+ }, {
+ key: "normalizeButtonFocus",
+ value: function normalizeButtonFocus(event) {
+ var type = event.type,
+ target = event.target;
+ var isInteractionEnd = Object(lodash__WEBPACK_IMPORTED_MODULE_8__["includes"])(['mouseup', 'touchend'], type);
+
+ if (isInteractionEnd) {
+ this.preventBlurCheck = false;
+ } else if (isFocusNormalizedButton(target)) {
+ this.preventBlurCheck = true;
+ }
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ // Disable reason: See `normalizeButtonFocus` for browser-specific
+ // focus event normalization.
+
+ /* eslint-disable jsx-a11y/no-static-element-interactions */
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__["createElement"])("div", {
+ onFocus: this.cancelBlurCheck,
+ onMouseDown: this.normalizeButtonFocus,
+ onMouseUp: this.normalizeButtonFocus,
+ onTouchStart: this.normalizeButtonFocus,
+ onTouchEnd: this.normalizeButtonFocus,
+ onBlur: this.queueBlurCheck
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__["createElement"])(WrappedComponent, Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({
+ ref: this.bindNode
+ }, this.props)));
+ /* eslint-enable jsx-a11y/no-static-element-interactions */
+ }
+ }]);
+
+ return _class;
+ }(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__["Component"])
+ );
+}, 'withFocusOutside'));
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 96:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11);
+/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__);
+
+
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+function stopPropagation(event) {
+ event.stopPropagation();
+}
+
+/* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["forwardRef"])(function (_ref, ref) {
+ var children = _ref.children,
+ props = Object(_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(_ref, ["children"]);
+
+ // Disable reason: this stops certain events from propagating outside of the component.
+ // - onMouseDown is disabled as this can cause interactions with other DOM elements
+
+ /* eslint-disable jsx-a11y/no-static-element-interactions */
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])("div", Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({}, props, {
+ ref: ref,
+ onMouseDown: stopPropagation
+ }), children);
+ /* eslint-enable jsx-a11y/no-static-element-interactions */
+}));
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 97:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// UNUSED EXPORTS: Provider
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 3 modules
+var toConsumableArray = __webpack_require__(17);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js
+var classCallCheck = __webpack_require__(7);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js
+var createClass = __webpack_require__(6);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(8);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(4);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js + 1 modules
+var inherits = __webpack_require__(9);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__(2);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/compose/build-module/utils/create-higher-order-component/index.js
+var create_higher_order_component = __webpack_require__(53);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js
+var assertThisInitialized = __webpack_require__(5);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/higher-order/with-focus-return/context.js
+
+
+
+
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+var _createContext = Object(external_this_wp_element_["createContext"])({
+ focusHistory: []
+}),
+ Provider = _createContext.Provider,
+ Consumer = _createContext.Consumer;
+
+Provider.displayName = 'FocusReturnProvider';
+Consumer.displayName = 'FocusReturnConsumer';
+/**
+ * The maximum history length to capture for the focus stack. When exceeded,
+ * items should be shifted from the stack for each consecutive push.
+ *
+ * @type {number}
+ */
+
+var MAX_STACK_LENGTH = 100;
+
+var context_FocusReturnProvider =
+/*#__PURE__*/
+function (_Component) {
+ Object(inherits["a" /* default */])(FocusReturnProvider, _Component);
+
+ function FocusReturnProvider() {
+ var _this;
+
+ Object(classCallCheck["a" /* default */])(this, FocusReturnProvider);
+
+ _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(FocusReturnProvider).apply(this, arguments));
+ _this.onFocus = _this.onFocus.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.state = {
+ focusHistory: []
+ };
+ return _this;
+ }
+
+ Object(createClass["a" /* default */])(FocusReturnProvider, [{
+ key: "onFocus",
+ value: function onFocus(event) {
+ var focusHistory = this.state.focusHistory; // Push the focused element to the history stack, keeping only unique
+ // members but preferring the _last_ occurrence of any duplicates.
+ // Lodash's `uniq` behavior favors the first occurrence, so the array
+ // is temporarily reversed prior to it being called upon. Uniqueness
+ // helps avoid situations where, such as in a constrained tabbing area,
+ // the user changes focus enough within a transient element that the
+ // stack may otherwise only consist of members pending destruction, at
+ // which point focus might have been lost.
+
+ var nextFocusHistory = Object(external_lodash_["uniq"])([].concat(Object(toConsumableArray["a" /* default */])(focusHistory), [event.target]).slice(-1 * MAX_STACK_LENGTH).reverse()).reverse();
+ this.setState({
+ focusHistory: nextFocusHistory
+ });
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ children = _this$props.children,
+ className = _this$props.className;
+ return Object(external_this_wp_element_["createElement"])(Provider, {
+ value: this.state
+ }, Object(external_this_wp_element_["createElement"])("div", {
+ onFocus: this.onFocus,
+ className: className
+ }, children));
+ }
+ }]);
+
+ return FocusReturnProvider;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var with_focus_return_context = (context_FocusReturnProvider);
+
+//# sourceMappingURL=context.js.map
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/higher-order/with-focus-return/index.js
+
+
+
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+/**
+ * Returns true if the given object is component-like. An object is component-
+ * like if it is an instance of wp.element.Component, or is a function.
+ *
+ * @param {*} object Object to test.
+ *
+ * @return {boolean} Whether object is component-like.
+ */
+
+function isComponentLike(object) {
+ return object instanceof external_this_wp_element_["Component"] || typeof object === 'function';
+}
+/**
+ * Higher Order Component used to be used to wrap disposable elements like
+ * sidebars, modals, dropdowns. When mounting the wrapped component, we track a
+ * reference to the current active element so we know where to restore focus
+ * when the component is unmounted.
+ *
+ * @param {(WPComponent|Object)} options The component to be enhanced with
+ * focus return behavior, or an object
+ * describing the component and the
+ * focus return characteristics.
+ *
+ * @return {WPComponent} Component with the focus restauration behaviour.
+ */
+
+
+function withFocusReturn(options) {
+ // Normalize as overloaded form `withFocusReturn( options )( Component )`
+ // or as `withFocusReturn( Component )`.
+ if (isComponentLike(options)) {
+ var WrappedComponent = options;
+ return withFocusReturn({})(WrappedComponent);
+ }
+
+ var _options$onFocusRetur = options.onFocusReturn,
+ onFocusReturn = _options$onFocusRetur === void 0 ? external_lodash_["stubTrue"] : _options$onFocusRetur;
+ return function (WrappedComponent) {
+ var FocusReturn =
+ /*#__PURE__*/
+ function (_Component) {
+ Object(inherits["a" /* default */])(FocusReturn, _Component);
+
+ function FocusReturn() {
+ var _this;
+
+ Object(classCallCheck["a" /* default */])(this, FocusReturn);
+
+ _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(FocusReturn).apply(this, arguments));
+ _this.ownFocusedElements = new Set();
+ _this.activeElementOnMount = document.activeElement;
+
+ _this.setIsFocusedFalse = function () {
+ return _this.isFocused = false;
+ };
+
+ _this.setIsFocusedTrue = function (event) {
+ _this.ownFocusedElements.add(event.target);
+
+ _this.isFocused = true;
+ };
+
+ return _this;
+ }
+
+ Object(createClass["a" /* default */])(FocusReturn, [{
+ key: "componentWillUnmount",
+ value: function componentWillUnmount() {
+ var activeElementOnMount = this.activeElementOnMount,
+ isFocused = this.isFocused,
+ ownFocusedElements = this.ownFocusedElements;
+
+ if (!isFocused) {
+ return;
+ } // Defer to the component's own explicit focus return behavior,
+ // if specified. The function should return `false` to prevent
+ // the default behavior otherwise occurring here. This allows
+ // for support that the `onFocusReturn` decides to allow the
+ // default behavior to occur under some conditions.
+
+
+ if (onFocusReturn() === false) {
+ return;
+ }
+
+ var stack = [].concat(Object(toConsumableArray["a" /* default */])(external_lodash_["without"].apply(void 0, [this.props.focus.focusHistory].concat(Object(toConsumableArray["a" /* default */])(ownFocusedElements)))), [activeElementOnMount]);
+ var candidate;
+
+ while (candidate = stack.pop()) {
+ if (document.body.contains(candidate)) {
+ candidate.focus();
+ return;
+ }
+ }
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ return Object(external_this_wp_element_["createElement"])("div", {
+ onFocus: this.setIsFocusedTrue,
+ onBlur: this.setIsFocusedFalse
+ }, Object(external_this_wp_element_["createElement"])(WrappedComponent, this.props.childProps));
+ }
+ }]);
+
+ return FocusReturn;
+ }(external_this_wp_element_["Component"]);
+
+ return function (props) {
+ return Object(external_this_wp_element_["createElement"])(Consumer, null, function (context) {
+ return Object(external_this_wp_element_["createElement"])(FocusReturn, {
+ childProps: props,
+ focus: context
+ });
+ });
+ };
+ };
+}
+
+/* harmony default export */ var with_focus_return = __webpack_exports__["a"] = (Object(create_higher_order_component["a" /* default */])(withFocusReturn, 'withFocusReturn'));
+
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 98:
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+/* WEBPACK VAR INJECTION */(function(process) {
+
+var _interopRequireDefault = __webpack_require__(55);
+
+var _typeof2 = _interopRequireDefault(__webpack_require__(43));
+
+/* eslint-env browser */
+
+/**
+ * This is the web browser implementation of `debug()`.
+ */
+exports.log = log;
+exports.formatArgs = formatArgs;
+exports.save = save;
+exports.load = load;
+exports.useColors = useColors;
+exports.storage = localstorage();
+/**
+ * Colors.
+ */
+
+exports.colors = ['#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC', '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF', '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC', '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF', '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC', '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033', '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366', '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933', '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC', '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF', '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33'];
+/**
+ * Currently only WebKit-based Web Inspectors, Firefox >= v31,
+ * and the Firebug extension (any Firefox version) are known
+ * to support "%c" CSS customizations.
+ *
+ * TODO: add a `localStorage` variable to explicitly enable/disable colors
+ */
+// eslint-disable-next-line complexity
+
+function useColors() {
+ // NB: In an Electron preload script, document will be defined but not fully
+ // initialized. Since we know we're in Chrome, we'll just detect this case
+ // explicitly
+ if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {
+ return true;
+ } // Internet Explorer and Edge do not support colors.
+
+
+ if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
+ return false;
+ } // Is webkit? http://stackoverflow.com/a/16459606/376773
+ // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632
+
+
+ return typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773
+ typeof window !== 'undefined' && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31?
+ // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
+ typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker
+ typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
+}
+/**
+ * Colorize log arguments if enabled.
+ *
+ * @api public
+ */
+
+
+function formatArgs(args) {
+ args[0] = (this.useColors ? '%c' : '') + this.namespace + (this.useColors ? ' %c' : ' ') + args[0] + (this.useColors ? '%c ' : ' ') + '+' + module.exports.humanize(this.diff);
+
+ if (!this.useColors) {
+ return;
+ }
+
+ var c = 'color: ' + this.color;
+ args.splice(1, 0, c, 'color: inherit'); // The final "%c" is somewhat tricky, because there could be other
+ // arguments passed either before or after the %c, so we need to
+ // figure out the correct index to insert the CSS into
+
+ var index = 0;
+ var lastC = 0;
+ args[0].replace(/%[a-zA-Z%]/g, function (match) {
+ if (match === '%%') {
+ return;
+ }
+
+ index++;
+
+ if (match === '%c') {
+ // We only are interested in the *last* %c
+ // (the user may have provided their own)
+ lastC = index;
+ }
+ });
+ args.splice(lastC, 0, c);
+}
+/**
+ * Invokes `console.log()` when available.
+ * No-op when `console.log` is not a "function".
+ *
+ * @api public
+ */
+
+
+function log() {
+ var _console;
+
+ // This hackery is required for IE8/9, where
+ // the `console.log` function doesn't have 'apply'
+ return (typeof console === "undefined" ? "undefined" : (0, _typeof2.default)(console)) === 'object' && console.log && (_console = console).log.apply(_console, arguments);
+}
+/**
+ * Save `namespaces`.
+ *
+ * @param {String} namespaces
+ * @api private
+ */
+
+
+function save(namespaces) {
+ try {
+ if (namespaces) {
+ exports.storage.setItem('debug', namespaces);
+ } else {
+ exports.storage.removeItem('debug');
+ }
+ } catch (error) {// Swallow
+ // XXX (@Qix-) should we be logging these?
+ }
+}
+/**
+ * Load `namespaces`.
+ *
+ * @return {String} returns the previously persisted debug modes
+ * @api private
+ */
+
+
+function load() {
+ var r;
+
+ try {
+ r = exports.storage.getItem('debug');
+ } catch (error) {} // Swallow
+ // XXX (@Qix-) should we be logging these?
+ // If debug isn't set in LS, and we're in Electron, try to load $DEBUG
+
+
+ if (!r && typeof process !== 'undefined' && 'env' in process) {
+ r = process.env.DEBUG;
+ }
+
+ return r;
+}
+/**
+ * Localstorage attempts to return the localstorage.
+ *
+ * This is necessary because safari throws
+ * when a user disables cookies/localstorage
+ * and you attempt to access it.
+ *
+ * @return {LocalStorage}
+ * @api private
+ */
+
+
+function localstorage() {
+ try {
+ // TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context
+ // The Browser also has localStorage in the global context.
+ return localStorage;
+ } catch (error) {// Swallow
+ // XXX (@Qix-) should we be logging these?
+ }
+}
+
+module.exports = __webpack_require__(146)(exports);
+var formatters = module.exports.formatters;
+/**
+ * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.
+ */
+
+formatters.j = function (v) {
+ try {
+ return JSON.stringify(v);
+ } catch (error) {
+ return '[UnexpectedJSONParseError]: ' + error.message;
+ }
+};
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(72)))
+
+/***/ }),
+
+/***/ 99:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useMediaQuery; });
+/* harmony import */ var _babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(21);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__);
+
+
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Runs a media query and returns its value when it changes.
+ *
+ * @param {string} [query] Media Query.
+ * @return {boolean} return value of the media query.
+ */
+
+function useMediaQuery(query) {
+ var _useState = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useState"])(false),
+ _useState2 = Object(_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(_useState, 2),
+ match = _useState2[0],
+ setMatch = _useState2[1];
+
+ Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useEffect"])(function () {
+ if (!query) {
+ return;
+ }
+
+ var updateMatch = function updateMatch() {
+ return setMatch(window.matchMedia(query).matches);
+ };
+
+ updateMatch();
+ var list = window.matchMedia(query);
+ list.addListener(updateMatch);
+ return function () {
+ list.removeListener(updateMatch);
+ };
+ }, [query]);
+ return query && match;
+}
+//# sourceMappingURL=index.js.map
+
+/***/ })
+
+/******/ });
\ No newline at end of file
diff --git a/dist/app/index.min.js b/dist/app/index.min.js
new file mode 100644
index 00000000000..709be1f1af6
--- /dev/null
+++ b/dist/app/index.min.js
@@ -0,0 +1,2 @@
+/*! For license information please see index.min.js.LICENSE.txt */
+this.wc=this.wc||{},this.wc.app=function(e){function t(t){for(var r,n,c=t[0],a=t[1],i=0,s=[];i0?y+b:""}},112:function(e,t,r){"use strict";var n=r(71),o=Object.prototype.hasOwnProperty,c=Array.isArray,a={allowDots:!1,allowPrototypes:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decoder:n.decode,delimiter:"&",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},i=function(e){return e.replace(/(\d+);/g,(function(e,t){return String.fromCharCode(parseInt(t,10))}))},s=function(e,t){return e&&"string"==typeof e&&t.comma&&e.indexOf(",")>-1?e.split(","):e},u=function(e,t){if(c(e)){for(var r=[],n=0;n0&&/(\[[^[\]]*])/.exec(c),u=i?c.slice(0,i.index):c,l=[];if(u){if(!r.plainObjects&&o.call(Object.prototype,u)&&!r.allowPrototypes)return;l.push(u)}for(var f=0;r.depth>0&&null!==(i=a.exec(c))&&f=0;--c){var a,i=e[c];if("[]"===i&&r.parseArrays)a=[].concat(o);else{a=r.plainObjects?Object.create(null):{};var u="["===i.charAt(0)&&"]"===i.charAt(i.length-1)?i.slice(1,-1):i,l=parseInt(u,10);r.parseArrays||""!==u?!isNaN(l)&&i!==u&&String(l)===u&&l>=0&&r.parseArrays&&l<=r.arrayLimit?(a=[])[l]=o:a[u]=o:a={0:o}}o=a}return o}(l,t,r,n)}};e.exports=function(e,t){var r=function(e){if(!e)return a;if(null!==e.decoder&&void 0!==e.decoder&&"function"!=typeof e.decoder)throw new TypeError("Decoder has to be a function.");if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var t=void 0===e.charset?a.charset:e.charset;return{allowDots:void 0===e.allowDots?a.allowDots:!!e.allowDots,allowPrototypes:"boolean"==typeof e.allowPrototypes?e.allowPrototypes:a.allowPrototypes,arrayLimit:"number"==typeof e.arrayLimit?e.arrayLimit:a.arrayLimit,charset:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:a.charsetSentinel,comma:"boolean"==typeof e.comma?e.comma:a.comma,decoder:"function"==typeof e.decoder?e.decoder:a.decoder,delimiter:"string"==typeof e.delimiter||n.isRegExp(e.delimiter)?e.delimiter:a.delimiter,depth:"number"==typeof e.depth||!1===e.depth?+e.depth:a.depth,ignoreQueryPrefix:!0===e.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof e.interpretNumericEntities?e.interpretNumericEntities:a.interpretNumericEntities,parameterLimit:"number"==typeof e.parameterLimit?e.parameterLimit:a.parameterLimit,parseArrays:!1!==e.parseArrays,plainObjects:"boolean"==typeof e.plainObjects?e.plainObjects:a.plainObjects,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:a.strictNullHandling}}(t);if(""===e||null==e)return r.plainObjects?Object.create(null):{};for(var f="string"==typeof e?function(e,t){var r,l={},f=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,d=t.parameterLimit===1/0?void 0:t.parameterLimit,p=f.split(t.delimiter,d),h=-1,v=t.charset;if(t.charsetSentinel)for(r=0;r-1&&(b=c(b)?[b]:b),o.call(l,m)?l[m]=n.combine(l[m],b):l[m]=b}return l}(e,r):e,d=r.plainObjects?Object.create(null):{},p=Object.keys(f),h=0;h=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(c[r]=e[r])}return c}},13:function(e,t,r){"use strict";function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}r.d(t,"a",(function(){return n}))},137:function(e,t){!function(){e.exports=this.wc.currency}()},138:function(e,t,r){"use strict";var n=r(139);function o(){}function c(){}c.resetWarningCache=o,e.exports=function(){function e(e,t,r,o,c,a){if(a!==n){var i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function t(){return e}e.isRequired=e;var r={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:c,resetWarningCache:o};return r.PropTypes=r,r}},139:function(e,t,r){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},14:function(e,t){!function(){e.exports=this.React}()},140:function(e,t,r){"use strict";var n=Object.keys;e.exports=function(e,t){var r,o,c,a,i;if(e===t)return!0;if(r=n(e),o=n(t),r.length!==o.length)return!1;for(c=0;c=1.5*r;return Math.round(e/r)+" "+n+(o?"s":"")}e.exports=function(e,t){t=t||{};var i=typeof e;if("string"===i&&e.length>0)return function(e){if((e=String(e)).length>100)return;var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!t)return;var a=parseFloat(t[1]);switch((t[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*a;case"weeks":case"week":case"w":return 6048e5*a;case"days":case"day":case"d":return a*c;case"hours":case"hour":case"hrs":case"hr":case"h":return a*o;case"minutes":case"minute":case"mins":case"min":case"m":return a*n;case"seconds":case"second":case"secs":case"sec":case"s":return a*r;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return a;default:return}}(e);if("number"===i&&isFinite(e))return t.long?function(e){var t=Math.abs(e);if(t>=c)return a(e,t,c,"day");if(t>=o)return a(e,t,o,"hour");if(t>=n)return a(e,t,n,"minute");if(t>=r)return a(e,t,r,"second");return e+" ms"}(e):function(e){var t=Math.abs(e);if(t>=c)return Math.round(e/c)+"d";if(t>=o)return Math.round(e/o)+"h";if(t>=n)return Math.round(e/n)+"m";if(t>=r)return Math.round(e/r)+"s";return e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},15:function(e,t){e.exports=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},16:function(e,t,r){"use strict";r.d(t,"a",(function(){return o}));var n=r(54);function o(e,t){if(null==e)return{};var r,o,c=Object(n.a)(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(c[r]=e[r])}return c}},169:function(e,t,r){"use strict";r.d(t,"a",(function(){return s}));var n=r(65),o=function(e){e=e||"polite";var t=document.createElement("div");t.id="a11y-speak-"+e,t.className="a11y-speak-region",t.setAttribute("style","position: absolute;margin: -1px;padding: 0;height: 1px;width: 1px;overflow: hidden;clip: rect(1px, 1px, 1px, 1px);-webkit-clip-path: inset(50%);clip-path: inset(50%);border: 0;word-wrap: normal !important;"),t.setAttribute("aria-live",e),t.setAttribute("aria-relevant","additions text"),t.setAttribute("aria-atomic","true");var r=document.querySelector("body");return r&&r.appendChild(t),t},c=function(){for(var e=document.querySelectorAll(".a11y-speak-region"),t=0;t]+>/g," "),a===e&&(e+=" "),a=e,e};Object(n.a)((function(){var e=document.getElementById("a11y-speak-polite"),t=document.getElementById("a11y-speak-assertive");null===e&&o("polite"),null===t&&o("assertive")}));var s=function(e,t){c(),e=i(e);var r=document.getElementById("a11y-speak-polite"),n=document.getElementById("a11y-speak-assertive");n&&"assertive"===t?n.textContent=e:r&&(r.textContent=e)}},17:function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));var n=r(37);var o=r(52);function c(e){return function(e){if(Array.isArray(e))return Object(n.a)(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||Object(o.a)(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}},170:function(e,t,r){"use strict";r.d(t,"a",(function(){return x})),r.d(t,"b",(function(){return M})),r.d(t,"c",(function(){return k}));var n=r(73),o=r.n(n),c=r(70),a=r(11),i=r(98),s=r.n(i),u=r(2);function l(e,t,r,n,o){void 0===r&&(r=500),void 0===n&&(n=3e4),void 0===o&&(o=new Date);var c={updates:[],nextUpdate:n};return function(e,t,r,n){Object.keys(t).forEach((function(o){var c=t[o],a=r[o]||{};!function(e,t,r,n,o){var c=n.lastRequested,a=n.lastReceived,i=c&&(!a||c>a),s=f(r.timeout,n,o),u=d(r.freshness,n,o),l=i&&0>=u?s:u;e.nextUpdate=Math.min(e.nextUpdate,l),l<0&&e.updates.push(t)}(e,o,c,a,n)}))}(c,e,t,o),c.nextUpdate=Math.max(c.nextUpdate,r),c}function f(e,t,r){var n=t.lastRequested||Number.MIN_SAFE_INTEGER,o=t.lastReceived||Number.MIN_SAFE_INTEGER;return e&&n&&n>o?e-(r-n):Number.MAX_SAFE_INTEGER}function d(e,t,r){var n=t.lastReceived;return e&&n?e-(r-n):e?Number.MIN_SAFE_INTEGER:Number.MAX_SAFE_INTEGER}var p=r(54),h="overdue",v="fetching",m="stale",b="fresh",y="notRequired";function g(e){var t=e.state.resources||{},r=e.requirementsByResource;return Object(u.union)(Object.keys(t),Object.keys(r)).reduce((function(n,o){var c=t[o]||{},i=c.data,s=function(e,t){if(!t)return y;var r=t.freshness,n=t.timeout,o=new Date,c=d(r,e,o);if(e&&e.lastRequested>e.lastReceived){return f(n,e,o)<0?h:v}if(c<0)return m;return b}(c,r[o]),l=function(e,t,r){var n=new Date;switch(e){case h:return"Timed out for "+O(-f(r.timeout,t,n));case v:return O(f(r.timeout,t,n))+" until timeout";case m:return"Stale for "+O(-d(r.freshness,t,n));case b:return"Fresh for "+O(d(r.freshness,t,n));case y:default:return"Resource is not fetched directly."}}(s,c,r[o]);if(n[o]={status:s,summary:l,data:i},r[o]){var g=function(e){void 0===e&&(e={});var t=e,r=t.freshness,n=t.timeout,o=Object(p.a)(t,["freshness","timeout"]);return Object(a.a)({freshness:O(r),timeout:O(n)},o)}(r[o]),w=function(e,t){var r=[];return e.forEach((function(e,n){Object(u.find)(e,{resourceName:t})&&r.push(n)})),r.length?r:null}(e.requirementsByComponent,o);n[o].combinedRequirement=g,n[o].componentsRequiring=w}return n}),{})}function O(e){if(!e)return"";var t=Math.floor(e/36e5);e-=36e5*t;var r=Math.floor(e/6e4),n=(e-=6e4*r)/1e3,o="";return o=t?t+" hours ":o,o=r?""+o+r+" mins ":o,o=n?""+o+n+" secs ":o}function w(e){var t=Object.keys(e),r=[],n=0,o=0,c=0,a=0,i=0;t.forEach((function(t){var s=e[t];switch(r=Object(u.union)(r,s.componentsRequiring),s.status){case h:c++;break;case v:a++;break;case m:o++;break;case b:n++;break;case y:i++}}));var s=t.length+" resources, "+r.length+" components ( ";return n&&(s+=n+" fresh "),o&&(s+=o+" stale "),i&&(s+=i+" not required "),c&&(s+=c+" timed out "),a&&(s+=a+" fetching "),s+=")"}var z={};function j(e){!0===window.__FRESH_DATA_DEV_INFO__&&(z[e.getName()]=function(e){var t=function(e){var t=[];return e.requirementsByComponent.forEach((function(e,r){t.push({component:r,requirements:e})})),t}(e),r=g(e);return{summary:w(r),resources:r,components:t}}(e),window.freshData||(window.freshData=z))}var k=1e3,M=60*k,H={freshness:Number.MAX_SAFE_INTEGER,timeout:20*k};function V(e){var t={};return e.forEach((function(e){e.forEach((function(e){var r=e.resourceName,n=Object(p.a)(e,["resourceName"]);!function(e,t,r){var n=e[r]||Object(a.a)({},H);(function(e,t){var r=e.freshness||H.freshness,n=e.timeout||H.timeout,o=t.freshness||Number.MAX_SAFE_INTEGER,c=t.timeout||Number.MAX_SAFE_INTEGER;e.freshness=Math.min(r,o),e.timeout=Math.min(n,c)})(n,t),e[r]=n}(t,n,r)}))})),t}function E(e,t){return window.setTimeout(e,t)}function C(e){return window.clearTimeout(e)}var x=function(e,t,r){var n=this;void 0===t&&(t=E),void 0===r&&(r=C),this.getName=function(){return n.name||"UID_"+n.uid},this.mapOperations=function(e){return Object.keys(e).reduce((function(t,r){return t[r]=function(t,o){var c=e[r];return n.applyOperation(c,t,o)},t}),{})},this.setDataHandlers=function(e){var t=e.dataRequested,r=e.dataReceived;n.dataHandlers={dataRequested:t,dataReceived:r}},this.setState=function(e,t){void 0===t&&(t=new Date),n.state!==e&&(n.state=e,n.updateTimer(t),n.subscriptionCallbacks.forEach((function(e){return e(n)})),j(n))},this.subscribe=function(e){return n.subscriptionCallbacks.has(e)?(n.debug("Attempting to add a subscription callback twice:",e),!1):(n.subscriptionCallbacks.add(e),e)},this.unsubscribe=function(e){return n.subscriptionCallbacks.has(e)?(n.subscriptionCallbacks.delete(e),e):(n.debug("Attempting to remove a callback that is not subscribed:",e),!1)},this.getResource=function(e){return(n.state.resources||{})[e]||{}},this.requireResource=function(e){return function(t,r){return e.push(Object(a.a)({},t,{resourceName:r})),n.getResource(r)}},this.getMutations=function(){return n.mutations},this.getSelectors=function(e){return S(n.selectors,n.getResource,n.requireResource(e))},this.clearComponentRequirements=function(e,t){void 0===t&&(t=new Date),n.requirementsByComponent.delete(e),n.updateRequirementsByResource(t)},this.setComponentRequirements=function(e,t,r){void 0===r&&(r=new Date),n.requirementsByComponent.set(e,t),n.updateRequirementsByResource(r)},this.setComponentData=function(e,t,r){if(void 0===r&&(r=new Date),t){var o=[];t(n.getSelectors(o)),n.setComponentRequirements(e,o,r)}else n.clearComponentRequirements(e,r)},this.updateRequirementsByResource=function(e){void 0===e&&(e=new Date);var t=V(n.requirementsByComponent);Object(u.isEqual)(n.requirementsByResource,t)||(n.requirementsByResource=t,n.updateTimer(e))},this.updateRequirementsData=function(){var e=Object(c.a)(o.a.mark((function e(t){var r,c,a,i,s,f,d,p,h,v,m,b;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n.requirementsByComponent,c=n.requirementsByResource,a=n.state,i=n.minUpdate,s=n.maxUpdate,f=a.resources||{},d=r.size,p=Object.keys(c).length,n.debug("Updating requirements for "+d+" components and "+p+" resources."),j(n),Object(u.isEmpty)(c)){e.next=20;break}if(h=l(c,f,i,s,t),v=h.nextUpdate,!((m=h.updates)&&m.length>0)){e.next=15;break}if(b=n.readOperationName,n.operations[b]){e.next=13;break}throw new Error('Operation "'+b+'" not found.');case 13:return e.next=15,n.operations[b](m);case 15:n.debug("Scheduling next update for "+v/1e3+" seconds."),j(n),n.updateTimer(t,v),e.next=21;break;case 20:n.timeoutId&&(n.debug("Unscheduling future updates"),j(n),n.updateTimer(t,null));case 21:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),this.updateTimer=function(e,t){void 0===t&&(t=void 0);var r=n.requirementsByResource,o=n.state,c=n.minUpdate,a=n.maxUpdate,i=o.resources||{};void 0===t&&(t=l(r,i,c,a,e).nextUpdate),n.timeoutId&&(n.clearTimer(n.timeoutId),n.timeoutId=null),t&&(n.timeoutId=n.setTimer(n.updateRequirementsData,t))},this.applyOperation=function(){var e=Object(c.a)(o.a.mark((function e(t,r,a){var i,s,l;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,n.dataRequested(r),i=t(r,a)||[],s=Object(u.isArray)(i)?i:[i],l=s.map(function(){var e=Object(c.a)(o.a.mark((function e(t){var r;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t;case 2:return r=e.sent,n.dataReceived(r),e.abrupt("return",r);case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),e.next=7,Promise.all(l);case 7:return e.abrupt("return",e.sent);case 10:throw e.prev=10,e.t0=e.catch(0),n.debug("Error caught while applying operation: ",t),e.t0;case 14:case"end":return e.stop()}}),e,null,[[0,10]])})));return function(t,r,n){return e.apply(this,arguments)}}(),this.dataRequested=function(e){if(n.dataHandlers)return n.dataHandlers.dataRequested(e),e;n.debug("Data requested before dataHandlers set. Disregarding.")},this.dataReceived=function(e){if(n.dataHandlers)return n.dataHandlers.dataReceived(e),e;n.debug("Data received before dataHandlers set. Disregarding.")};var i=e.operations,f=e.mutations,d=e.selectors,p=e.readOperationName||"read";this.uid=Object(u.uniqueId)(),this.name=e.name,this.debug=s()("fresh-data:api-client["+this.uid+"]"),this.debug("New ApiClient for apiSpec: ",e),this.operations=i&&this.mapOperations(i),this.mutations=f&&S(f,this.operations),this.selectors=d,this.readOperationName=p,this.dataHandlers=null,this.subscriptionCallbacks=new Set,this.requirementsByComponent=new Map,this.requirementsByResource={},this.minUpdate=500,this.maxUpdate=3e4,this.setTimer=t,this.clearTimer=r,this.timeoutId=null,this.state={},j(this)};function S(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n0&&void 0!==arguments[0]?arguments[0]:window,t=e.navigator.platform;return-1!==t.indexOf("Mac")||Object(c.includes)(["iPad","iPhone"],t)}var s=8,u=9,l=13,f=27,d=32,p=37,h=38,v=39,m=40,b="alt",y="ctrl",g="shift",O={primary:function(e){return e()?["meta"]:[y]},primaryShift:function(e){return e()?[g,"meta"]:[y,g]},primaryAlt:function(e){return e()?[b,"meta"]:[y,b]},secondary:function(e){return e()?[g,b,"meta"]:[y,g,b]},access:function(e){return e()?[y,b]:[g,b]},ctrl:function(){return[y]},alt:function(){return[b]},ctrlShift:function(){return[y,g]},shift:function(){return[g]},shiftAlt:function(){return[g,b]}},w=(Object(c.mapValues)(O,(function(e){return function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i;return[].concat(Object(o.a)(e(r)),[t.toLowerCase()]).join("+")}})),Object(c.mapValues)(O,(function(e){return function(t){var r,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i,s=a(),u=(r={},Object(n.a)(r,b,s?"⌥":"Alt"),Object(n.a)(r,y,s?"^":"Ctrl"),Object(n.a)(r,"meta","⌘"),Object(n.a)(r,g,s?"⇧":"Shift"),r),l=e(a).reduce((function(e,t){var r=Object(c.get)(u,t,t);return[].concat(Object(o.a)(e),s?[r]:[r,"+"])}),[]),f=Object(c.capitalize)(t);return[].concat(Object(o.a)(l),[f])}})));Object(c.mapValues)(w,(function(e){return function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i;return e(t,r).join("")}})),Object(c.mapValues)(O,(function(e){return function(t){var r,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i,u=s(),l=(r={},Object(n.a)(r,g,"Shift"),Object(n.a)(r,"meta",u?"Command":"Control"),Object(n.a)(r,y,"Control"),Object(n.a)(r,b,u?"Option":"Alt"),Object(n.a)(r,",",Object(a.__)("Comma")),Object(n.a)(r,".",Object(a.__)("Period")),Object(n.a)(r,"`",Object(a.__)("Backtick")),r);return[].concat(Object(o.a)(e(s)),[t]).map((function(e){return Object(c.capitalize)(Object(c.get)(l,e,e))})).join(u?" ":" + ")}})),Object(c.mapValues)(O,(function(e){return function(t,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i,o=e(n);return!!o.every((function(e){return t["".concat(e,"Key")]}))&&(r?t.key===r:Object(c.includes)(o,t.key.toLowerCase()))}}))},19:function(e,t){!function(){e.exports=this.wp.data}()},198:function(e,t,r){"use strict";var n=r(174),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},c={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},a={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},i={};function s(e){return n.isMemo(e)?a:i[e.$$typeof]||o}i[n.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},i[n.Memo]=a;var u=Object.defineProperty,l=Object.getOwnPropertyNames,f=Object.getOwnPropertySymbols,d=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,h=Object.prototype;e.exports=function e(t,r,n){if("string"!=typeof r){if(h){var o=p(r);o&&o!==h&&e(t,o,n)}var a=l(r);f&&(a=a.concat(f(r)));for(var i=s(t),v=s(r),m=0;m1&&!Object(J.isEqual)(r,n)&&Object(Y.getHistory)().replace(Object(Y.getNewPath)({paged:1})),e.match.url!==this.props.match.url&&(window.document.documentElement.scrollTop=0)}},{key:"getQuery",value:function(e){if(!e)return{};var t=e.substring(1);return Object(re.parse)(t)}},{key:"render",value:function(){var e=this.props,t=e.page,r=e.match,n=e.location,o=r.url,c=r.params,a=this.getQuery(n.search);return window.wpNavMenuUrlUpdate(a),window.wpNavMenuClassChange(t,o),Object(g.createElement)(g.Suspense,{fallback:Object(g.createElement)(X.Spinner,null)},Object(g.createElement)(t.container,{params:c,path:o,pathMatch:t.path,query:a}))}}]),n}(g.Component);window.wpNavMenuUrlUpdate=function(e){var t=Object(ne.applyFilters)("woocommerce_admin_time_excluded_screens",["devdocs","stock","settings","customers"]),r=Object(Y.getPersistedQuery)(e);Array.from(document.querySelectorAll("#adminmenu a")).forEach((function(e){return function(e,t,r){if(/admin.php\?page=wc-admin/.test(e.href)){var n=Object(J.last)(e.href.split("?")),o=Object(re.parse)(n),c=(o.path||"dashboard").replace("/analytics","").replace("/",""),a=r.includes(c),i="admin.php?"+Object(re.stringify)(Object.assign(o,a?{}:t));e.href=i,e.onclick=function(e){e.preventDefault(),Object(Y.getHistory)().push(i)}}}(e,r,t)}))},window.wpNavMenuClassChange=function(e,t){Array.from(document.getElementsByClassName("current")).forEach((function(e){e.classList.remove("current")})),Array.from(document.querySelectorAll(".wp-has-current-submenu")).forEach((function(e){e.classList.remove("wp-has-current-submenu"),e.classList.remove("wp-menu-open"),e.classList.remove("selected"),e.classList.add("wp-not-current-submenu"),e.classList.add("menu-top")}));var r="/"===t?"admin.php?page=wc-admin":"admin.php?page=wc-admin&path="+encodeURIComponent(t),n="/"===t?'li > a[href$="'.concat(r,'"], li > a[href*="').concat(r,'?"]'):'li > a[href*="'.concat(r,'"]'),o=document.querySelectorAll(n);if(Array.from(o).forEach((function(e){e.parentElement.classList.add("current")})),e.wpOpenMenu){var c=document.querySelector("#"+e.wpOpenMenu);c.classList.remove("wp-not-current-submenu"),c.classList.add("wp-has-current-submenu"),c.classList.add("wp-menu-open"),c.classList.add("current")}document.querySelector("#wpwrap").classList.remove("wp-responsive-open")};var de=r(59),pe=r.n(de),he=r(10),ve=r.n(he),me=r(69),be=(r(436),r(412)),ye=r.n(be),ge=r(85),Oe=r(424),we=r(413),ze=r.n(we),je=r(414),ke=r.n(je),Me=(r(438),function(e){var t=e.height,r=void 0===t?24:t,n=e.width,o=void 0===n?24:n,c=e.hasUnread,a=void 0!==c&&c,i=ve()("woocommerce-layout__activity-panel-toggle-bubble",{"has-unread":a});return Object(g.createElement)("div",{className:i},Object(g.createElement)("svg",{height:r,width:o,viewBox:"0 0 24 24"},Object(g.createElement)("path",{d:"M18.9 2H5.1C3.4 2 2 3.4 2 5.1v10.7C2 17.6 3.4 19 5.1 19H9l6 3-1-3h4.9c1.7 0 3.1-1.4 3.1-3.1V5.1C22 3.4 20.6 2 18.9 2zm-1.5 4.5c-.4.8-.8 2.1-1 3.9-.3 1.8-.4 3.1-.3 4.1 0 .3 0 .5-.1.7-.1.2-.3.4-.6.4s-.6-.1-.9-.4c-1-1-1.8-2.6-2.4-4.6-.7 1.4-1.2 2.4-1.6 3.1-.6 1.2-1.2 1.8-1.6 1.9-.3 0-.5-.2-.8-.7-.5-1.4-1.1-4.2-1.7-8.2 0-.3 0-.5.2-.7.1-.2.4-.3.7-.4.5 0 .9.2.9.8.3 2.3.7 4.2 1.1 5.7l2.4-4.5c.2-.4.4-.6.8-.6.5 0 .8.3.9.9.3 1.4.6 2.6 1 3.7.3-2.7.8-4.7 1.4-5.9.2-.3.4-.5.7-.5.2 0 .5.1.7.2.2.2.3.4.3.6 0 .2 0 .4-.1.5z"})))});Me.propTypes={height:H.a.number,width:H.a.number,hasUnread:H.a.bool};var He=Me,Ve=r(263);var Ee=r(79),Ce=r(101);function xe(){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}}var Se=Object(g.lazy)((function(){return Promise.all([r.e(2),r.e(3),r.e(6)]).then(r.bind(null,908))})),_e=Object(g.lazy)((function(){return Promise.all([r.e(2),r.e(7)]).then(r.bind(null,913))})),Pe=Object(g.lazy)((function(){return Promise.all([r.e(2),r.e(8)]).then(r.bind(null,911))})),Le=Object(g.lazy)((function(){return Promise.all([r.e(2),r.e(3),r.e(6)]).then(r.bind(null,901))})),Re=Object(ee.g)("manageStock","no"),Te=Object(ee.g)("reviewsEnabled","no"),Ne=function(e){y()(n,e);var t,r=(t=n,function(){var e,r=m()(t);if(xe()){var n=m()(this).constructor;e=Reflect.construct(r,arguments,n)}else e=r.apply(this,arguments);return h()(this,e)});function n(){var e;return l()(this,n),(e=r.apply(this,arguments)).togglePanel=e.togglePanel.bind(pe()(e)),e.clearPanel=e.clearPanel.bind(pe()(e)),e.toggleMobile=e.toggleMobile.bind(pe()(e)),e.renderTab=e.renderTab.bind(pe()(e)),e.state={isPanelOpen:!1,mobileOpen:!1,currentTab:"",isPanelSwitching:!1},e}return d()(n,[{key:"togglePanel",value:function(e){var t=this.state,r=t.isPanelOpen,n=t.currentTab;r&&e===n||Object(Ee.b)("activity_panel_open",{tab:e}),this.setState((function(t){return e===t.currentTab||""===t.currentTab?{isPanelOpen:!t.isPanelOpen,currentTab:e,mobileOpen:!t.isPanelOpen}:{currentTab:e,isPanelSwitching:!0}}))}},{key:"clearPanel",value:function(){this.setState((function(e){return e.isPanelOpen?{isPanelSwitching:!1}:{currentTab:""}}))}},{key:"toggleMobile",value:function(){var e=this.getTabs();this.setState((function(t){return{mobileOpen:!t.mobileOpen,currentTab:t.mobileOpen?"":e[0].name,isPanelOpen:!t.mobileOpen}}))}},{key:"handleClickOutside",value:function(){var e=this.state,t=e.isPanelOpen,r=e.currentTab;t&&this.togglePanel(r)}},{key:"getTabs",value:function(){var e=this.props,t=e.hasUnreadNotes,r=e.hasUnreadOrders,n=e.hasUnapprovedReviews,o=e.hasUnreadStock;return[{name:"inbox",title:Object(oe.__)("Inbox","woocommerce-admin"),icon:Object(g.createElement)("i",{className:"material-icons-outlined"},"inbox"),unread:t},{name:"orders",title:Object(oe.__)("Orders","woocommerce-admin"),icon:Object(g.createElement)(ze.a,null),unread:r},"yes"===Re?{name:"stock",title:Object(oe.__)("Stock","woocommerce-admin"),icon:Object(g.createElement)("i",{className:"material-icons-outlined"},"widgets"),unread:o}:null,"yes"===Te?{name:"reviews",title:Object(oe.__)("Reviews","woocommerce-admin"),icon:Object(g.createElement)("i",{className:"material-icons-outlined"},"star_border"),unread:n}:null].filter(Boolean)}},{key:"getPanelContent",value:function(e){switch(e){case"inbox":return Object(g.createElement)(Se,null);case"orders":var t=this.props.hasUnreadOrders;return Object(g.createElement)(_e,{hasActionableOrders:t});case"stock":return Object(g.createElement)(Pe,null);case"reviews":var r=this.props.hasUnapprovedReviews;return Object(g.createElement)(Le,{hasUnapprovedReviews:r});default:return null}}},{key:"renderPanel",value:function(){var e=this.state,t=e.isPanelOpen,r=e.currentTab,n=e.isPanelSwitching,o=Object(J.find)(this.getTabs(),{name:r});if(!o)return Object(g.createElement)("div",{className:"woocommerce-layout__activity-panel-wrapper"});var c=ve()("woocommerce-layout__activity-panel-wrapper",{"is-open":t,"is-switching":n});return Object(g.createElement)("div",{className:c,tabIndex:0,role:"tabpanel","aria-label":o.title,onTransitionEnd:this.clearPanel,onAnimationEnd:this.clearPanel},Object(g.createElement)("div",{className:"woocommerce-layout__activity-panel-content",key:"activity-panel-"+r,id:"activity-panel-"+r},Object(g.createElement)(g.Suspense,{fallback:Object(g.createElement)(X.Spinner,null)},this.getPanelContent(r))))}},{key:"renderTab",value:function(e,t){var r=this.state,n=r.currentTab,o=r.isPanelOpen,c=ve()("woocommerce-layout__activity-panel-tab",{"is-active":o&&e.name===n,"has-unread":e.unread}),a=e.name===n,i=-1;return(a||!o&&0===t)&&(i=null),Object(g.createElement)(ge.a,{role:"tab",className:c,tabIndex:i,"aria-selected":a,"aria-controls":"activity-panel-"+e.name,key:"activity-panel-tab-"+e.name,id:"activity-panel-tab-"+e.name,onClick:Object(J.partial)(this.togglePanel,e.name),icon:e.icon},e.title," ",e.unread&&Object(g.createElement)("span",{className:"screen-reader-text"},Object(oe.__)("unread activity","woocommerce-admin")))}},{key:"render",value:function(){var e=this.getTabs(),t=this.state.mobileOpen,r=Object(J.uniqueId)("activity-panel-header_"),n=ve()("woocommerce-layout__activity-panel",{"is-mobile-open":this.state.mobileOpen}),o=e.some((function(e){return e.unread})),c=o?Object(oe.__)("View Activity Panel, you have unread activity","woocommerce-admin"):Object(oe.__)("View Activity Panel","woocommerce-admin");return Object(g.createElement)("div",null,Object(g.createElement)(X.H,{id:r,className:"screen-reader-text"},Object(oe.__)("Store Activity","woocommerce-admin")),Object(g.createElement)(X.Section,{component:"aside",id:"woocommerce-activity-panel","aria-labelledby":r},Object(g.createElement)(ge.a,{onClick:this.toggleMobile,icon:t?Object(g.createElement)(ke.a,null):Object(g.createElement)(He,{hasUnread:o}),label:t?Object(oe.__)("Close Activity Panel","woocommerce-admin"):c,"aria-expanded":t,tooltip:!1,className:"woocommerce-layout__activity-panel-mobile-toggle"}),Object(g.createElement)("div",{className:n},Object(g.createElement)(Oe.a,{role:"tablist",orientation:"horizontal",className:"woocommerce-layout__activity-panel-tabs"},e&&e.map(this.renderTab)),this.renderPanel())))}}]),n}(g.Component),Ae=Object(Ce.a)((function(e){return{hasUnreadNotes:function(e){var t=e("wc-api"),r=t.getCurrentUserData,n=t.getNotes,o=t.getNotesError,c=t.isGetNotesRequesting,a=r();if(!a)return null;var i={page:1,per_page:1,type:"info,warning",orderby:"date",order:"desc"},s=n(i),u=Boolean(o(i)),l=c(i);return u||l?null:s[0]&&new Date(s[0].date_created_gmt+"Z").getTime()>a.activity_panel_inbox_last_read}(e),hasUnreadOrders:function(e){var t=e("wc-api"),r=t.getItems,n=t.getItemsTotalCount,o=t.getItemsError,c=t.isGetItemsRequesting,a=(0,e(te.SETTINGS_STORE_NAME).getSetting)("wc_admin","wcAdminSettings",{}).woocommerce_actionable_order_statuses,i=void 0===a?Ve.a:a;if(!i.length)return!1;var s={page:1,per_page:1,status:i,_fields:["id"]};r("orders",s);var u=n("orders",s),l=Boolean(o("orders",s)),f=c("orders",s);return l||f?null:u>0}(e),hasUnreadStock:Object(ee.g)("hasLowStock",!1),hasUnapprovedReviews:function(e){var t=e("wc-api"),r=t.getReviewsTotalCount,n=t.getReviewsError,o=t.isGetReviewsRequesting;if("yes"===Object(ee.g)("reviewsEnabled")){var c={page:1,per_page:1,status:"hold"},a=r(c),i=Boolean(n(c)),s=o(c);if(!i&&!s)return a>0}return!1}(e)}}))(ye()(Ne));function De(){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}}var Fe=function(e){y()(n,e);var t,r=(t=n,function(){var e,r=m()(t);if(De()){var n=m()(this).constructor;e=Reflect.construct(r,arguments,n)}else e=r.apply(this,arguments);return h()(this,e)});function n(){var e;return l()(this,n),(e=r.call(this)).state={isScrolled:!1},e.headerRef=Object(g.createRef)(),e.onWindowScroll=e.onWindowScroll.bind(pe()(e)),e.updateIsScrolled=e.updateIsScrolled.bind(pe()(e)),e.trackLinkClick=e.trackLinkClick.bind(pe()(e)),e.updateDocumentTitle=e.updateDocumentTitle.bind(pe()(e)),e}return d()(n,[{key:"componentDidMount",value:function(){this.threshold=this.headerRef.current.offsetTop,window.addEventListener("scroll",this.onWindowScroll),this.updateIsScrolled()}},{key:"componentWillUnmount",value:function(){window.removeEventListener("scroll",this.onWindowScroll),window.cancelAnimationFrame(this.handle)}},{key:"onWindowScroll",value:function(){this.handle=window.requestAnimationFrame(this.updateIsScrolled)}},{key:"updateIsScrolled",value:function(){var e=window.pageYOffset>this.threshold-20;e!==this.state.isScrolled&&this.setState({isScrolled:e})}},{key:"trackLinkClick",value:function(e){var t=e.target.closest("a").getAttribute("href");Object(Ee.b)("navbar_breadcrumb_click",{href:t,text:e.target.innerText})}},{key:"updateDocumentTitle",value:function(){var e=this.props,t=e.sections;if(!e.isEmbedded){var r=(Array.isArray(t)?t:[t]).map((function(e){return Array.isArray(e)?e[1]:e})).reverse().join(" ‹ ");document.title=Object(me.decodeEntities)(Object(oe.sprintf)(Object(oe.__)("%1$s ‹ %2$s — WooCommerce","woocommerce-admin"),r,Object(ee.g)("siteTitle","")))}}},{key:"render",value:function(){var e=this,t=this.props,r=t.sections,n=t.isEmbedded,o=this.state.isScrolled,c=Array.isArray(r)?r:[r];this.updateDocumentTitle();var a=ve()("woocommerce-layout__header",{"is-scrolled":o});return Object(g.createElement)("div",{className:a,ref:this.headerRef},Object(g.createElement)("h1",{className:"woocommerce-layout__header-breadcrumbs"},c.map((function(t,r){var o=Array.isArray(t)?Object(g.createElement)(X.Link,{href:n?Object(ee.f)(t[0]):Object(Y.getNewPath)({},t[0],{}),type:n?"wp-admin":"wc-admin",onClick:e.trackLinkClick},t[1]):t;return Object(g.createElement)("span",{key:r},Object(me.decodeEntities)(o))}))),Object(g.createElement)(Ae,null))}}]),n}(g.Component);Fe.propTypes={sections:H.a.node.isRequired,isEmbedded:H.a.bool},Fe.defaultProps={isEmbedded:!1};var Ie=Fe;function qe(){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}}var Ue=function(e){y()(n,e);var t,r=(t=n,function(){var e,r=m()(t);if(qe()){var n=m()(this).constructor;e=Reflect.construct(r,arguments,n)}else e=r.apply(this,arguments);return h()(this,e)});function n(){return l()(this,n),r.apply(this,arguments)}return d()(n,[{key:"render",value:function(){return Object(g.createElement)("div",{id:"woocommerce-layout__notice-list",className:"woocommerce-layout__notice-list"})}}]),n}(g.Component),Be=r(73),We=r.n(Be),$e=r(70),Ge=r(21),Qe=r(257),Ke=r(737),Ze=r(415);var Je=function(e){var t=e.notices,r=e.className,n=e.children,o=e.onRemove,c=void 0===o?J.noop:o,a=Object(Ke.a)(),i=Object(g.useState)((function(){return new WeakMap})),s=Object(Ge.a)(i,1)[0],u=Object(Qe.useTransition)(t,(function(e){return e.id}),{from:{opacity:0,height:0},enter:function(e){return function(){var t=Object($e.a)(We.a.mark((function t(r){return We.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,r({opacity:1,height:s.get(e).offsetHeight});case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()},leave:function(){return function(){var e=Object($e.a)(We.a.mark((function e(t){return We.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t({opacity:0});case 2:return e.next=4,t({height:0});case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()},immediate:a});r=ve()("components-snackbar-list",r);var l=function(e){return function(){return c(e.id)}};return Object(g.createElement)("div",{className:r},n,u.map((function(e){var t=e.item,r=e.key,n=e.props;return Object(g.createElement)(Qe.animated.div,{key:r,style:n},Object(g.createElement)("div",{className:"components-snackbar-list__notice-container",ref:function(e){return e&&s.set(t,e)}},Object(g.createElement)(Ze.a,Object(R.a)({},Object(J.omit)(t,["content"]),{onRemove:l(t)}),t.content)))})))};r(439);function Xe(){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}}var Ye=function(e){y()(n,e);var t,r=(t=n,function(){var e,r=m()(t);if(Xe()){var n=m()(this).constructor;e=Reflect.construct(r,arguments,n)}else e=r.apply(this,arguments);return h()(this,e)});function n(){return l()(this,n),r.apply(this,arguments)}return d()(n,[{key:"render",value:function(){var e=this.props,t=e.className,r=e.notices,n=e.onRemove,o=ve()("woocommerce-transient-notices","components-notices__snackbar",t);return Object(g.createElement)(Je,{notices:r,className:o,onRemove:n})}}]),n}(g.Component);Ye.propTypes={className:H.a.string,notices:H.a.array};var et=Object(O.a)(Object(Ce.a)((function(e){return{notices:e("core/notices").getNotices()}})),Object(w.withDispatch)((function(e){return{onRemove:e("core/notices").removeNotice}})))(Ye),tt=r(200);function rt(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 nt(e){return function(){var t,r=m()(e);if(ot()){var n=m()(this).constructor;t=Reflect.construct(r,arguments,n)}else t=r.apply(this,arguments);return h()(this,t)}}function ot(){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}}var ct=Object(g.lazy)((function(){return Promise.all([r.e(3),r.e(41)]).then(r.bind(null,910))})),at=function(e){y()(r,e);var t=nt(r);function r(){return l()(this,r),t.apply(this,arguments)}return d()(r,[{key:"render",value:function(){var e=this.props.children;return Object(g.createElement)("div",{className:"woocommerce-layout__primary",id:"woocommerce-layout__primary"},Object(g.createElement)(g.Suspense,{fallback:Object(g.createElement)(X.Spinner,null)},Object(g.createElement)(ct,null)),Object(g.createElement)(Ue,null),e)}}]),r}(g.Component),it=function(e){y()(r,e);var t=nt(r);function r(){return l()(this,r),t.apply(this,arguments)}return d()(r,[{key:"componentDidMount",value:function(){this.recordPageViewTrack()}},{key:"componentDidUpdate",value:function(e){var t=Object(J.get)(e,"location.pathname"),r=Object(J.get)(this.props,"location.pathname");t&&r&&t!==r&&this.recordPageViewTrack()}},{key:"recordPageViewTrack",value:function(){var e=this.props,t=e.activePlugins,r=e.installedPlugins,n=e.isEmbedded,o=e.isJetpackConnected;if(n){var c=document.location.pathname+document.location.search;Object(Ee.c)(c,{isEmbedded:n})}else{var a=Object(J.get)(this.props,"location.pathname");if(a){var i=a.substring(1).replace(/\//g,"_");0===i.length&&(i="dashboard"),Object(Ee.c)(i,{jetpack_installed:r.includes("jetpack"),jetpack_active:t.includes("jetpack"),jetpack_connected:o})}}}},{key:"render",value:function(){var e=this.props,t=e.isEmbedded,r=s()(e,["isEmbedded"]),n=this.props.page.breadcrumbs;return Object(g.createElement)("div",{className:"woocommerce-layout"},Object(g.createElement)(Ie,{sections:Object(J.isFunction)(n)?n(this.props):n,isEmbedded:t}),Object(g.createElement)(et,null),!t&&Object(g.createElement)(at,null,Object(g.createElement)("div",{className:"woocommerce-layout__main"},Object(g.createElement)(fe,r))))}}]),r}(g.Component);it.propTypes={isEmbedded:H.a.bool,page:H.a.shape({container:H.a.oneOfType([H.a.func,H.a.object]),path:H.a.string,breadcrumbs:H.a.oneOfType([H.a.func,H.a.arrayOf(H.a.oneOfType([H.a.arrayOf(H.a.string),H.a.string]))]).isRequired,wpOpenMenu:H.a.string}).isRequired};var st=Object(O.a)(Object(te.withPluginsHydration)(function(e){for(var t=1;t1?t-1:0),n=1;n=r.length)break;c=r[o++]}else{if((o=r.next()).done)break;c=o.value}for(var a=c,i=!1,s=0;s=p.startTime+u.duration;else if(u.decay)m=h+g/(1-.998)*(1-Math.exp(-(1-.998)*(t-p.startTime))),(l=Math.abs(p.lastPosition-m)<.1)&&(v=m);else{f=void 0!==p.lastTime?p.lastTime:t,g=void 0!==p.lastVelocity?p.lastVelocity:u.initialVelocity,t>f+64&&(f=t);for(var O=Math.floor(t-f),w=0;wv:m=e);++r);return r-1}(e,c);return function(e,t,r,n,o,c,a,i,s){var u=s?s(e):e;if(ur){if("identity"===i)return u;"clamp"===i&&(u=r)}if(n===o)return n;if(t===r)return e<=t?n:o;t===-1/0?u=-u:r===1/0?u-=t:u=(u-t)/(r-t);u=c(u),n===-1/0?u=-u:o===1/0?u+=n:u=u*(o-n)+n;return u}(e,c[t],c[t+1],o[t],o[t+1],s,a,i,n.map)}}var F=function(e){function t(r,n,o,c){var a;return(a=e.call(this)||this).calc=void 0,a.payload=r instanceof g&&!(r instanceof t)?r.getPayload():Array.isArray(r)?r:[r],a.calc=D(n,o,c),a}s(t,e);var r=t.prototype;return r.getValue=function(){return this.calc.apply(this,this.payload.map((function(e){return e.getValue()})))},r.updateConfig=function(e,t,r){this.calc=D(e,t,r)},r.interpolate=function(e,r,n){return new t(this,e,r,n)},t}(g);var I=function(e){function t(t){var r;return(r=e.call(this)||this).animatedStyles=new Set,r.value=void 0,r.startPosition=void 0,r.lastPosition=void 0,r.lastVelocity=void 0,r.startTime=void 0,r.lastTime=void 0,r.done=!1,r.setValue=function(e,t){void 0===t&&(t=!0),r.value=e,t&&r.flush()},r.value=t,r.startPosition=t,r.lastPosition=t,r}s(t,e);var r=t.prototype;return r.flush=function(){0===this.animatedStyles.size&&function e(t,r){"update"in t?r.add(t):t.getChildren().forEach((function(t){return e(t,r)}))}(this,this.animatedStyles),this.animatedStyles.forEach((function(e){return e.update()}))},r.clearStyles=function(){this.animatedStyles.clear()},r.getValue=function(){return this.value},r.interpolate=function(e,t,r){return new F(this,e,t,r)},t}(y),q=function(e){function t(t){var r;return(r=e.call(this)||this).payload=t.map((function(e){return new I(e)})),r}s(t,e);var r=t.prototype;return r.setValue=function(e,t){var r=this;void 0===t&&(t=!0),Array.isArray(e)?e.length===this.payload.length&&e.forEach((function(e,n){return r.payload[n].setValue(e,t)})):this.payload.forEach((function(r){return r.setValue(e,t)}))},r.getValue=function(){return this.payload.map((function(e){return e.getValue()}))},r.interpolate=function(e,t){return new F(this,e,t)},t}(g),U=0,B=function(){function e(){var e=this;this.id=void 0,this.idle=!0,this.hasChanged=!1,this.guid=0,this.local=0,this.props={},this.merged={},this.animations={},this.interpolations={},this.values={},this.configs=[],this.listeners=[],this.queue=[],this.localQueue=void 0,this.getValues=function(){return e.interpolations},this.id=U++}var t=e.prototype;return t.update=function(e){if(!e)return this;var t=v(e),r=t.delay,n=void 0===r?0:r,a=t.to,i=c(t,["delay","to"]);if(l.arr(a)||l.fun(a))this.queue.push(o({},i,{delay:n,to:a}));else if(a){var s={};Object.entries(a).forEach((function(e){var t,r=e[0],c=e[1],a=o({to:(t={},t[r]=c,t),delay:h(n,r)},i),u=s[a.delay]&&s[a.delay].to;s[a.delay]=o({},s[a.delay],a,{to:o({},u,a.to)})})),this.queue=Object.values(s)}return this.queue=this.queue.sort((function(e,t){return e.delay-t.delay})),this.diff(i),this},t.start=function(e){var t,r=this;if(this.queue.length){this.idle=!1,this.localQueue&&this.localQueue.forEach((function(e){var t=e.from,n=void 0===t?{}:t,c=e.to,a=void 0===c?{}:c;l.obj(n)&&(r.merged=o({},n,r.merged)),l.obj(a)&&(r.merged=o({},r.merged,a))}));var n=this.local=++this.guid,a=this.localQueue=this.queue;this.queue=[],a.forEach((function(t,o){var i=t.delay,s=c(t,["delay"]),u=function(t){o===a.length-1&&n===r.guid&&t&&(r.idle=!0,r.props.onRest&&r.props.onRest(r.merged)),e&&e()},f=l.arr(s.to)||l.fun(s.to);i?setTimeout((function(){n===r.guid&&(f?r.runAsync(s,u):r.diff(s).start(u))}),i):f?r.runAsync(s,u):r.diff(s).start(u)}))}else l.fun(e)&&this.listeners.push(e),this.props.onStart&&this.props.onStart(),t=this,N.has(t)||N.add(t),T||(T=!0,k(S||A));return this},t.stop=function(e){return this.listeners.forEach((function(t){return t(e)})),this.listeners=[],this},t.pause=function(e){var t;return this.stop(!0),e&&(t=this,N.has(t)&&N.delete(t)),this},t.runAsync=function(e,t){var r=this,n=(e.delay,c(e,["delay"])),a=this.local,i=Promise.resolve(void 0);if(l.arr(n.to))for(var s=function(e){var t=e,c=o({},n,v(n.to[t]));l.arr(c.config)&&(c.config=c.config[t]),i=i.then((function(){if(a===r.guid)return new Promise((function(e){return r.diff(c).start(e)}))}))},u=0;u=n.length)return"break";a=n[c++]}else{if((c=n.next()).done)return"break";a=c.value}var r=a.key,i=function(e){return e.key!==r};(l.und(t)||t===r)&&(e.current.instances.delete(r),e.current.transitions=e.current.transitions.filter(i),e.current.deleted=e.current.deleted.filter(i))},n=e.current.deleted,o=Array.isArray(n),c=0;for(n=o?n:n[Symbol.iterator]();;){var a;if("break"===r())break}e.current.forceUpdate()}var Z=function(e){function t(t){var r;return void 0===t&&(t={}),r=e.call(this)||this,!t.transform||t.transform instanceof y||(t=m.transform(t)),r.payload=t,r}return s(t,e),t}(O),J={transparent:0,aliceblue:4042850303,antiquewhite:4209760255,aqua:16777215,aquamarine:2147472639,azure:4043309055,beige:4126530815,bisque:4293182719,black:255,blanchedalmond:4293643775,blue:65535,blueviolet:2318131967,brown:2771004159,burlywood:3736635391,burntsienna:3934150143,cadetblue:1604231423,chartreuse:2147418367,chocolate:3530104575,coral:4286533887,cornflowerblue:1687547391,cornsilk:4294499583,crimson:3692313855,cyan:16777215,darkblue:35839,darkcyan:9145343,darkgoldenrod:3095792639,darkgray:2846468607,darkgreen:6553855,darkgrey:2846468607,darkkhaki:3182914559,darkmagenta:2332068863,darkolivegreen:1433087999,darkorange:4287365375,darkorchid:2570243327,darkred:2332033279,darksalmon:3918953215,darkseagreen:2411499519,darkslateblue:1211993087,darkslategray:793726975,darkslategrey:793726975,darkturquoise:13554175,darkviolet:2483082239,deeppink:4279538687,deepskyblue:12582911,dimgray:1768516095,dimgrey:1768516095,dodgerblue:512819199,firebrick:2988581631,floralwhite:4294635775,forestgreen:579543807,fuchsia:4278255615,gainsboro:3705462015,ghostwhite:4177068031,gold:4292280575,goldenrod:3668254975,gray:2155905279,green:8388863,greenyellow:2919182335,grey:2155905279,honeydew:4043305215,hotpink:4285117695,indianred:3445382399,indigo:1258324735,ivory:4294963455,khaki:4041641215,lavender:3873897215,lavenderblush:4293981695,lawngreen:2096890111,lemonchiffon:4294626815,lightblue:2916673279,lightcoral:4034953471,lightcyan:3774873599,lightgoldenrodyellow:4210742015,lightgray:3553874943,lightgreen:2431553791,lightgrey:3553874943,lightpink:4290167295,lightsalmon:4288707327,lightseagreen:548580095,lightskyblue:2278488831,lightslategray:2005441023,lightslategrey:2005441023,lightsteelblue:2965692159,lightyellow:4294959359,lime:16711935,limegreen:852308735,linen:4210091775,magenta:4278255615,maroon:2147483903,mediumaquamarine:1724754687,mediumblue:52735,mediumorchid:3126187007,mediumpurple:2473647103,mediumseagreen:1018393087,mediumslateblue:2070474495,mediumspringgreen:16423679,mediumturquoise:1221709055,mediumvioletred:3340076543,midnightblue:421097727,mintcream:4127193855,mistyrose:4293190143,moccasin:4293178879,navajowhite:4292783615,navy:33023,oldlace:4260751103,olive:2155872511,olivedrab:1804477439,orange:4289003775,orangered:4282712319,orchid:3664828159,palegoldenrod:4008225535,palegreen:2566625535,paleturquoise:2951671551,palevioletred:3681588223,papayawhip:4293907967,peachpuff:4292524543,peru:3448061951,pink:4290825215,plum:3718307327,powderblue:2967529215,purple:2147516671,rebeccapurple:1714657791,red:4278190335,rosybrown:3163525119,royalblue:1097458175,saddlebrown:2336560127,salmon:4202722047,sandybrown:4104413439,seagreen:780883967,seashell:4294307583,sienna:2689740287,silver:3233857791,skyblue:2278484991,slateblue:1784335871,slategray:1887473919,slategrey:1887473919,snow:4294638335,springgreen:16744447,steelblue:1182971135,tan:3535047935,teal:8421631,thistle:3636451583,tomato:4284696575,turquoise:1088475391,violet:4001558271,wheat:4125012991,white:4294967295,whitesmoke:4126537215,yellow:4294902015,yellowgreen:2597139199},X="[-+]?\\d*\\.?\\d+";function Y(){for(var e=arguments.length,t=new Array(e),r=0;r1&&(r-=1),r<1/6?e+6*(t-e)*r:r<.5?t:r<2/3?e+(t-e)*(2/3-r)*6:e}function ue(e,t,r){var n=r<.5?r*(1+t):r+t-r*t,o=2*r-n,c=se(o,n,e+1/3),a=se(o,n,e),i=se(o,n,e-1/3);return Math.round(255*c)<<24|Math.round(255*a)<<16|Math.round(255*i)<<8}function le(e){var t=parseInt(e,10);return t<0?0:t>255?255:t}function fe(e){return(parseFloat(e)%360+360)%360/360}function de(e){var t=parseFloat(e);return t<0?0:t>1?255:Math.round(255*t)}function pe(e){var t=parseFloat(e);return t<0?0:t>100?1:t/100}function he(e){var t,r,n="number"==typeof(t=e)?t>>>0===t&&t>=0&&t<=4294967295?t:null:(r=ae.exec(t))?parseInt(r[1]+"ff",16)>>>0:J.hasOwnProperty(t)?J[t]:(r=ee.exec(t))?(le(r[1])<<24|le(r[2])<<16|le(r[3])<<8|255)>>>0:(r=te.exec(t))?(le(r[1])<<24|le(r[2])<<16|le(r[3])<<8|de(r[4]))>>>0:(r=oe.exec(t))?parseInt(r[1]+r[1]+r[2]+r[2]+r[3]+r[3]+"ff",16)>>>0:(r=ie.exec(t))?parseInt(r[1],16)>>>0:(r=ce.exec(t))?parseInt(r[1]+r[1]+r[2]+r[2]+r[3]+r[3]+r[4]+r[4],16)>>>0:(r=re.exec(t))?(255|ue(fe(r[1]),pe(r[2]),pe(r[3])))>>>0:(r=ne.exec(t))?(ue(fe(r[1]),pe(r[2]),pe(r[3]))|de(r[4]))>>>0:null;return null===n?e:"rgba("+((4278190080&(n=n||0))>>>24)+", "+((16711680&n)>>>16)+", "+((65280&n)>>>8)+", "+(255&n)/255+")"}var ve=/[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,me=/(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))/gi,be=new RegExp("("+Object.keys(J).join("|")+")","g"),ye={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ge=["Webkit","Ms","Moz","O"];function Oe(e,t,r){return null==t||"boolean"==typeof t||""===t?"":r||"number"!=typeof t||0===t||ye.hasOwnProperty(e)&&ye[e]?(""+t).trim():t+"px"}ye=Object.keys(ye).reduce((function(e,t){return ge.forEach((function(r){return e[function(e,t){return e+t.charAt(0).toUpperCase()+t.substring(1)}(r,t)]=e[t]})),e}),ye);var we={};P((function(e){return new Z(e)})),C("div"),H((function(e){var t=e.output.map((function(e){return e.replace(me,he)})).map((function(e){return e.replace(be,he)})),r=t[0].match(ve).map((function(){return[]}));t.forEach((function(e){e.match(ve).forEach((function(e,t){return r[t].push(+e)}))}));var n=t[0].match(ve).map((function(t,n){return D(o({},e,{output:r[n]}))}));return function(e){var r=0;return t[0].replace(ve,(function(){return n[r++](e)})).replace(/rgba\(([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+)\)/gi,(function(e,t,r,n,o){return"rgba("+Math.round(t)+", "+Math.round(r)+", "+Math.round(n)+", "+o+")"}))}})),z(J),w((function(e,t){if(!e.nodeType||void 0===e.setAttribute)return!1;var r=t.style,n=t.children,o=t.scrollTop,a=t.scrollLeft,i=c(t,["style","children","scrollTop","scrollLeft"]),s="filter"===e.nodeName||e.parentNode&&"filter"===e.parentNode.nodeName;for(var u in void 0!==o&&(e.scrollTop=o),void 0!==a&&(e.scrollLeft=a),void 0!==n&&(e.textContent=n),r)if(r.hasOwnProperty(u)){var l=0===u.indexOf("--"),f=Oe(u,r[u],l);"float"===u&&(u="cssFloat"),l?e.style.setProperty(u,f):e.style[u]=f}for(var d in i){var p=s?d:we[d]||(we[d]=d.replace(/([A-Z])/g,(function(e){return"-"+e.toLowerCase()})));void 0!==e.getAttribute(p)&&e.setAttribute(p,i[d])}}),(function(e){return e}));var ze,je,ke=(ze=function(e){return a.forwardRef((function(t,r){var n=f(),s=a.useRef(!0),u=a.useRef(null),d=a.useRef(null),p=a.useCallback((function(e){var t=u.current;u.current=new R(e,(function(){var e=!1;d.current&&(e=m.fn(d.current,u.current.getAnimatedValue())),d.current&&!1!==e||n()})),t&&t.detach()}),[]);a.useEffect((function(){return function(){s.current=!1,u.current&&u.current.detach()}}),[]),a.useImperativeHandle(r,(function(){return _(d,s,n)})),p(t);var h,v=u.current.getValue(),b=(v.scrollTop,v.scrollLeft,c(v,["scrollTop","scrollLeft"])),y=(h=e,!l.fun(h)||h.prototype instanceof i.Component?function(e){return d.current=function(e,t){return t&&(l.fun(t)?t(e):l.obj(t)&&(t.current=e)),e}(e,r)}:void 0);return i.createElement(e,o({},b,{ref:y}))}))},void 0===(je=!1)&&(je=!0),function(e){return(l.arr(e)?e:Object.keys(e)).reduce((function(e,t){var r=je?t[0].toLowerCase()+t.substring(1):t;return e[r]=ze(r),e}),ze)}),Me=ke(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"]);t.apply=ke,t.config={default:{tension:170,friction:26},gentle:{tension:120,friction:14},wobbly:{tension:180,friction:12},stiff:{tension:210,friction:20},slow:{tension:280,friction:60},molasses:{tension:280,friction:120}},t.update=A,t.animated=Me,t.a=Me,t.interpolate=function(e,t,r){return e&&new F(e,t,r)},t.Globals=L,t.useSpring=function(e){var t=l.fun(e),r=W(1,t?e:[e]),n=r[0],o=r[1],c=r[2];return t?[n[0],o,c]:n},t.useTrail=function(e,t){var r=a.useRef(!1),n=l.fun(t),c=h(t),i=a.useRef(),s=W(e,(function(e,t){return 0===e&&(i.current=[]),i.current.push(t),o({},c,{config:h(c.config,e),attach:e>0&&function(){return i.current[e-1]}})})),u=s[0],f=s[1],d=s[2],p=a.useMemo((function(){return function(e){return f((function(t,r){e.reverse;var n=e.reverse?t+1:t-1,a=i.current[n];return o({},e,{config:h(e.config||c.config,t),attach:a&&function(){return a}})}))}}),[e,c.reverse]);return a.useEffect((function(){r.current&&!n&&p(t)})),a.useEffect((function(){r.current=!0}),[]),n?[u,p,d]:u},t.useTransition=function(e,t,r){var n=o({items:e,keys:t||function(e){return e}},r),i=Q(n),s=i.lazy,u=void 0!==s&&s,l=(i.unique,i.reset),d=void 0!==l&&l,p=(i.enter,i.leave,i.update,i.onDestroyed),v=(i.keys,i.items,i.onFrame),m=i.onRest,b=i.onStart,y=i.ref,g=c(i,["lazy","unique","reset","enter","leave","update","onDestroyed","keys","items","onFrame","onRest","onStart","ref"]),O=f(),w=a.useRef(!1),z=a.useRef({mounted:!1,first:!0,deleted:[],current:{},transitions:[],prevProps:{},paused:!!n.ref,instances:!w.current&&new Map,forceUpdate:O});return a.useImperativeHandle(n.ref,(function(){return{start:function(){return Promise.all(Array.from(z.current.instances).map((function(e){var t=e[1];return new Promise((function(e){return t.start(e)}))})))},stop:function(e){return Array.from(z.current.instances).forEach((function(t){return t[1].stop(e)}))},get controllers(){return Array.from(z.current.instances).map((function(e){return e[1]}))}}})),z.current=function(e,t){var r=e.first,n=e.prevProps,a=c(e,["first","prevProps"]),i=Q(t),s=i.items,u=i.keys,l=i.initial,f=i.from,d=i.enter,p=i.leave,v=i.update,m=i.trail,b=void 0===m?0:m,y=i.unique,g=i.config,O=i.order,w=void 0===O?["enter","leave","update"]:O,z=Q(n),j=z.keys,k=z.items,M=o({},a.current),H=[].concat(a.deleted),V=Object.keys(M),E=new Set(V),C=new Set(u),x=u.filter((function(e){return!E.has(e)})),S=a.transitions.filter((function(e){return!e.destroyed&&!C.has(e.originalKey)})).map((function(e){return e.originalKey})),_=u.filter((function(e){return E.has(e)})),P=-b;for(;w.length;){switch(w.shift()){case"enter":x.forEach((function(e,t){y&&H.find((function(t){return t.originalKey===e}))&&(H=H.filter((function(t){return t.originalKey!==e})));var n=u.indexOf(e),o=s[n],c=r&&void 0!==l?"initial":"enter";M[e]={slot:c,originalKey:e,key:y?String(e):$++,item:o,trail:P+=b,config:h(g,o,c),from:h(r&&void 0!==l?l||{}:f,o),to:h(d,o)}}));break;case"leave":S.forEach((function(e){var t=j.indexOf(e),r=k[t];H.unshift(o({},M[e],{slot:"leave",destroyed:!0,left:j[Math.max(0,t-1)],right:j[Math.min(j.length,t+1)],trail:P+=b,config:h(g,r,"leave"),to:h(p,r)})),delete M[e]}));break;case"update":_.forEach((function(e){var t=u.indexOf(e),r=s[t];M[e]=o({},M[e],{item:r,slot:"update",trail:P+=b,config:h(g,r,"update"),to:h(v,r)})}))}}var L=u.map((function(e){return M[e]}));return H.forEach((function(e){var t,r=e.left,n=(e.right,c(e,["left","right"]));-1!==(t=L.findIndex((function(e){return e.originalKey===r})))&&(t+=1),t=Math.max(0,t),L=[].concat(L.slice(0,t),[n],L.slice(t))})),o({},a,{changed:x.length||S.length||_.length,first:r&&0===x.length,transitions:L,current:M,deleted:H,prevProps:t})}(z.current,n),z.current.changed&&z.current.transitions.forEach((function(e){var t=e.slot,r=e.from,n=e.to,c=e.config,a=e.trail,i=e.key,s=e.item;z.current.instances.has(i)||z.current.instances.set(i,new B);var l=z.current.instances.get(i),f=o({},g,{to:n,from:r,config:c,ref:y,onRest:function(r){z.current.mounted&&(e.destroyed&&(y||u||K(z,i),p&&p(s)),!Array.from(z.current.instances).some((function(e){return!e[1].idle}))&&(y||u)&&z.current.deleted.length>0&&K(z),m&&m(s,t,r))},onStart:b&&function(){return b(s,t)},onFrame:v&&function(e){return v(s,t,e)},delay:a,reset:d&&"enter"===t});l.update(f),z.current.paused||l.start()})),a.useEffect((function(){return z.current.mounted=w.current=!0,function(){z.current.mounted=w.current=!1,Array.from(z.current.instances).map((function(e){return e[1].destroy()})),z.current.instances.clear()}}),[]),z.current.transitions.map((function(e){var t=e.item,r=e.slot,n=e.key;return{item:t,key:n,state:r,props:z.current.instances.get(n).getValues()}}))},t.useChain=function(e,t,r){void 0===r&&(r=1e3);var n=a.useRef();a.useEffect((function(){l.equ(e,n.current)?e.forEach((function(e){var t=e.current;return t&&t.start()})):t?e.forEach((function(e,n){var c=e.current;if(c){var a=c.controllers;if(a.length){var i=r*t[n];a.forEach((function(e){e.queue=e.queue.map((function(e){return o({},e,{delay:e.delay+i})})),e.start()}))}}})):e.reduce((function(e,t,r){var n=t.current;return e.then((function(){return n.start()}))}),Promise.resolve()),n.current=e}))},t.useSprings=W},258:function(e,t,r){var n=r(440);e.exports=p,e.exports.parse=c,e.exports.compile=function(e,t){return i(c(e,t),t)},e.exports.tokensToFunction=i,e.exports.tokensToRegExp=d;var o=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function c(e,t){for(var r,n=[],c=0,a=0,i="",l=t&&t.delimiter||"/";null!=(r=o.exec(e));){var f=r[0],d=r[1],p=r.index;if(i+=e.slice(a,p),a=p+f.length,d)i+=d[1];else{var h=e[a],v=r[2],m=r[3],b=r[4],y=r[5],g=r[6],O=r[7];i&&(n.push(i),i="");var w=null!=v&&null!=h&&h!==v,z="+"===g||"*"===g,j="?"===g||"*"===g,k=r[2]||l,M=b||y;n.push({name:m||c++,prefix:v||"",delimiter:k,optional:j,repeat:z,partial:w,asterisk:!!O,pattern:M?u(M):O?".*":"[^"+s(k)+"]+?"})}}return a1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(e){return e};if(a.includes(e))throw new Error(Object(c.__)("Mutable settings should be accessed via data store."));var n=s.hasOwnProperty(e)?s[e]:t;return r(n,t)}function v(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(e){return e};if(a.includes(e))throw new Error(Object(c.__)("Mutable settings should be mutated via data store."));s[e]=r(t)}function m(e){return(u||"")+e}},261:function(e,t,r){"use strict";var n=r(41),o=r.n(n),c=r(40),a=r.n(c),i=r(44),s=r.n(i),u=r(29),l=r.n(u),f=r(42),d=r.n(f),p=r(0),h=r(3),v=r(1),m=r.n(v),b=r(63),y=r(26);function g(){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}}var O=function(e){d()(n,e);var t,r=(t=n,function(){var e,r=l()(t);if(g()){var n=l()(this).constructor;e=Reflect.construct(r,arguments,n)}else e=r.apply(this,arguments);return s()(this,e)});function n(){return o()(this,n),r.apply(this,arguments)}return a()(n,[{key:"render",value:function(){var e,t,r,n,o=this.props,c=o.className,a=o.isError,i=o.isEmpty;return a?(e=Object(h.__)("There was an error getting your stats. Please try again.","woocommerce-admin"),t=Object(h.__)("Reload","woocommerce-admin"),n=function(){window.location.reload()}):i&&(e=Object(h.__)("No results could be found for this date range.","woocommerce-admin"),t=Object(h.__)("View Orders","woocommerce-admin"),r=Object(y.f)("edit.php?post_type=shop_order")),Object(p.createElement)(b.EmptyContent,{className:c,title:e,actionLabel:t,actionURL:r,actionCallback:n})}}]),n}(p.Component);O.propTypes={className:m.a.string,isError:m.a.bool,isEmpty:m.a.bool},O.defaultProps={className:""},t.a=O},263:function(e,t,r){"use strict";r.d(t,"a",(function(){return h})),r.d(t,"b",(function(){return g}));var n=r(0),o=r(3),c=r(48),a=r(35),i=r.n(a),s=r(26),u=r(58),l=r(104),f=r(63),d=r(51),p=function(e){var t=e.value,r=e.onChange,o=Object(d.useSettings)("wc_admin",["wcAdminSettings"]).wcAdminSettings.woocommerce_default_date_range,c=Object(u.parse)(t.replace(/&/g,"&")),a=Object(l.h)(c,o),i=a.period,s=a.compare,p=a.before,h=a.after,v=Object(l.f)(c,o),m={period:i,compare:s,before:p,after:h,primaryDate:v.primary,secondaryDate:v.secondary};return Object(n.createElement)(f.DateRangeFilterPicker,{query:c,onRangeSelect:function(e){r({target:{name:"woocommerce_default_date_range",value:Object(u.stringify)(e)}})},dateQuery:m,isoDateFormat:l.k})},h=["processing","on-hold"],v=["completed","processing","refunded","cancelled","failed","pending","on-hold"],m=Object.keys(s.d).filter((function(e){return"refunded"!==e})).map((function(e){return{value:e,label:s.d[e],description:Object(o.sprintf)(Object(o.__)("Exclude the %s status from reports","woocommerce-admin"),s.d[e])}})),b=Object(s.g)("unregisteredOrderStatuses",{}),y=[{key:"defaultStatuses",options:m.filter((function(e){return v.includes(e.value)}))},{key:"customStatuses",label:Object(o.__)("Custom Statuses","woocommerce-admin"),options:m.filter((function(e){return!v.includes(e.value)}))},{key:"unregisteredStatuses",label:Object(o.__)("Unregistered Statuses","woocommerce-admin"),options:Object.keys(b).map((function(e){return{value:e,label:e,description:Object(o.sprintf)(Object(o.__)("Exclude the %s status from reports","woocommerce-admin"),e)}}))}],g=Object(c.applyFilters)("woocommerce_admin_analytics_settings",{woocommerce_excluded_report_order_statuses:{label:Object(o.__)("Excluded Statuses:","woocommerce-admin"),inputType:"checkboxGroup",options:y,helpText:i()({mixedString:Object(o.__)("Orders with these statuses are excluded from the totals in your reports. The {{strong}}Refunded{{/strong}} status can not be excluded.","woocommerce-admin"),components:{strong:Object(n.createElement)("strong",null)}}),defaultValue:["pending","cancelled","failed"]},woocommerce_actionable_order_statuses:{label:Object(o.__)("Actionable Statuses:","woocommerce-admin"),inputType:"checkboxGroup",options:y,helpText:Object(o.__)("Orders with these statuses require action on behalf of the store admin.These orders will show up in the Orders tab under the activity panel.","woocommerce-admin"),defaultValue:h},woocommerce_default_date_range:{name:"woocommerce_default_date_range",label:Object(o.__)("Default Date Range:","woocommerce-admin"),inputType:"component",component:p,helpText:Object(o.__)("Select a default date range. When no range is selected, reports will be viewed by the default date range.","woocommerce-admin"),defaultValue:"period=month&compare=previous_year"}})},266:function(e,t){e.exports=function(e,t){if(null==e)return{};var r,n,o={},c=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o}},267:function(e,t,r){"use strict";r.d(t,"a",(function(){return s})),r.d(t,"b",(function(){return u}));var n=r(15),o=r.n(n),c=r(104);function a(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 i(e){for(var t=1;t=":"min-width","<":"max-width"},i={">=":function(e,t){return t>=e},"<":function(e,t){return t1&&void 0!==arguments[1]?arguments[1]:">=",r=Object(n.useContext)(s),u=!r&&"(".concat(a[t],": ").concat(c[e],"px)"),l=Object(o.a)(u);return r?i[t](c[e],r):l};u.__experimentalWidthProvider=s.Provider,t.a=u},269:function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r "+s);if("componentClose"===f.type)throw new Error("Missing opening component token: `"+f.value+"`");if("componentOpen"===f.type){r=t[f.value],i=d;break}v.push(t[f.value])}else v.push(f.value);return r&&(l=function(e,t){var r,n,o=t[e],c=0;for(n=e+1;ne.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0||Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=e[n]);return r}(r,["wrappedRef"]);return a.createElement(e,n({},c,{ref:function(e){t.__wrappedInstance=e,t.__domNode=i.findDOMNode(e),o&&o(e)}}))}}]),r}(a.Component);return r.displayName="clickOutside("+t+")",c(r,e)}},413:function(e,t,r){"use strict";var n=Object.assign||function(e){for(var t,r=1;r1&&(console.warn("Snackbar can only have 1 action, use Notice if your message require many messages"),l=[l[0]]),Object(n.createElement)("div",{ref:t,className:p,onClick:d,tabIndex:"0",role:"button",onKeyPress:d,label:Object(i.__)("Dismiss this notice")},Object(n.createElement)("div",{className:"components-snackbar__content"},c,l.map((function(e,t){var r=e.label,o=e.onClick,c=e.url;return Object(n.createElement)(s.a,{key:t,href:c,isTertiary:!0,onClick:function(e){e.stopPropagation(),o&&o(e)},className:"components-snackbar__action"},r)}))))}))},416:function(e,t,r){"use strict";(function(t){var r="__global_unique_id__";e.exports=function(){return t[r]=(t[r]||0)+1}}).call(this,r(64))},417:function(e,t,r){"use strict";var n=r(41),o=r.n(n),c=r(40),a=r.n(c),i=r(44),s=r.n(i),u=r(29),l=r.n(u),f=r(42),d=r.n(f),p=r(0),h=r(19),v=r(51);r(441);function m(){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}}var b=function(e){d()(n,e);var t,r=(t=n,function(){var e,r=l()(t);if(m()){var n=l()(this).constructor;e=Reflect.construct(r,arguments,n)}else e=r.apply(this,arguments);return s()(this,e)});function n(){return o()(this,n),r.apply(this,arguments)}return a()(n,[{key:"renderMenuItem",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=e.slug,o=e.title,c=e.url;return Object(p.createElement)("li",{key:n,className:"woocommerce-navigation__menu-item woocommerce-navigation__menu-item-depth-".concat(r)},Object(p.createElement)("a",{href:c},o),e.children&&e.children.length&&Object(p.createElement)("ul",{className:"woocommerce-navigation__submenu"},e.children.map((function(e){return t.renderMenuItem(e,r+1)}))))}},{key:"render",value:function(){var e=this,t=this.props.items;return Object(p.createElement)("div",{className:"woocommerce-navigation"},Object(p.createElement)("ul",{className:"woocommerce-navigation__menu"},t.map((function(t){return e.renderMenuItem(t)}))))}}]),n}(p.Component);t.a=Object(h.withSelect)((function(e){return{items:e(v.SETTINGS_STORE_NAME).getSetting("wc_admin","wcNavigation")}}))(b)},418:function(e,t,r){"use strict";function n(e){var t,r=e.Symbol;return"function"==typeof r?r.observable?t=r.observable:(t=r("observable"),r.observable=t):t="@@observable",t}r.d(t,"a",(function(){return n}))},42:function(e,t,r){var n=r(209);e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&n(e,t)}},424:function(e,t,r){"use strict";var n=r(11),o=r(16),c=r(0),a=r(2),i=r(18),s=r(7),u=r(6),l=r(8),f=r(4),d=r(5),p=r(9),h=r(50);var v=function(e){function t(){var e;return Object(s.a)(this,t),(e=Object(l.a)(this,Object(f.a)(t).apply(this,arguments))).onKeyDown=e.onKeyDown.bind(Object(d.a)(e)),e.bindContainer=e.bindContainer.bind(Object(d.a)(e)),e.getFocusableContext=e.getFocusableContext.bind(Object(d.a)(e)),e.getFocusableIndex=e.getFocusableIndex.bind(Object(d.a)(e)),e}return Object(p.a)(t,e),Object(u.a)(t,[{key:"componentDidMount",value:function(){this.container.addEventListener("keydown",this.onKeyDown),this.container.addEventListener("focus",this.onFocus)}},{key:"componentWillUnmount",value:function(){this.container.removeEventListener("keydown",this.onKeyDown),this.container.removeEventListener("focus",this.onFocus)}},{key:"bindContainer",value:function(e){var t=this.props.forwardedRef;this.container=e,Object(a.isFunction)(t)?t(e):t&&"current"in t&&(t.current=e)}},{key:"getFocusableContext",value:function(e){var t=(this.props.onlyBrowserTabstops?h.a.tabbable:h.a.focusable).find(this.container),r=this.getFocusableIndex(t,e);return r>-1&&e?{index:r,target:e,focusables:t}:null}},{key:"getFocusableIndex",value:function(e,t){var r=e.indexOf(t);if(-1!==r)return r}},{key:"onKeyDown",value:function(e){this.props.onKeyDown&&this.props.onKeyDown(e);var t=this.getFocusableContext,r=this.props,n=r.cycle,o=void 0===n||n,c=r.eventToOffset,i=r.onNavigate,s=void 0===i?a.noop:i,u=r.stopNavigationEvents,l=c(e);if(void 0!==l&&u&&(e.stopImmediatePropagation(),"menuitem"===e.target.getAttribute("role")&&e.preventDefault()),l){var f=t(document.activeElement);if(f){var d=f.index,p=f.focusables,h=o?function(e,t,r){var n=e+r;return n<0?t+n:n>=t?n-t:n}(d,p.length,l):d+l;h>=0&&h=0;--o){var c=this.tryEntries[o],a=c.completion;if("root"===c.tryLoc)return n("end");if(c.tryLoc<=this.prev){var i=r.call(c,"catchLoc"),s=r.call(c,"finallyLoc");if(i&&s){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),w(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;w(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:j(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}(e.exports);try{regeneratorRuntime=n}catch(e){Function("r","regeneratorRuntime = r")(n)}},433:function(e,t,r){},434:function(e,t,r){},435:function(e,t,r){},436:function(e,t,r){},437:function(e,t,r){"use strict";var n={childContextTypes:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},c=Object.defineProperty,a=Object.getOwnPropertyNames,i=Object.getOwnPropertySymbols,s=Object.getOwnPropertyDescriptor,u=Object.getPrototypeOf,l=u&&u(Object);e.exports=function e(t,r,f){if("string"!=typeof r){if(l){var d=u(r);d&&d!==l&&e(t,d,f)}var p=a(r);i&&(p=p.concat(i(r)));for(var h=0;h0||e.offsetHeight>0||e.getClientRects().length>0}function i(e){var t=e.querySelectorAll(c);return Array.from(t).filter((function(e){return!!a(e)&&("AREA"!==e.nodeName||function(e){var t=e.closest("map[name]");if(!t)return!1;var r=document.querySelector('img[usemap="#'+t.name+'"]');return!!r&&a(r)}(e))}))}var s=r(2);function u(e){var t=e.getAttribute("tabindex");return null===t?0:parseInt(t,10)}function l(e){return-1!==u(e)}function f(e,t){return{element:e,index:t}}function d(e){return e.element}function p(e,t){var r=u(e.element),n=u(t.element);return r===n?e.index-t.index:r-n}function h(e){return e.filter(l).map(f).sort(p).map(d).reduce((t={},function(e,r){var n=r.nodeName,o=r.type,c=r.checked,a=r.name;if("INPUT"!==n||"radio"!==o||!a)return e.concat(r);var i=t.hasOwnProperty(a);if(!c&&i)return e;if(i){var u=t[a];e=Object(s.without)(e,u)}return t[a]=r,e.concat(r)}),[]);var t}function v(e){return h(i(e))}function m(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document.activeElement,t=i(document.body),r=t.indexOf(e);return t.length=r,Object(s.last)(h(t))}function b(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document.activeElement,t=i(document.body),r=t.indexOf(e),n=t.slice(r+1).filter((function(t){return!e.contains(t)}));return Object(s.first)(h(n))}var y={focusable:n,tabbable:o}},51:function(e,t){!function(){e.exports=this.wc.data}()},52:function(e,t,r){"use strict";r.d(t,"a",(function(){return o}));var n=r(37);function o(e,t){if(e){if("string"==typeof e)return Object(n.a)(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(r):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Object(n.a)(e,t):void 0}}},53:function(e,t,r){"use strict";var n=r(2);t.a=function(e,t){return function(r){var o=e(r),c=r.displayName,a=void 0===c?r.name||"Component":c;return o.displayName="".concat(Object(n.upperFirst)(Object(n.camelCase)(t)),"(").concat(a,")"),o}}},54:function(e,t,r){"use strict";function n(e,t){if(null==e)return{};var r,n,o={},c=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o}r.d(t,"a",(function(){return n}))},55:function(e,t){e.exports=function(e){return e&&e.__esModule?e:{default:e}}},57:function(e,t){!function(){e.exports=this.wp.dataControls}()},58:function(e,t,r){"use strict";var n=r(111),o=r(112),c=r(86);e.exports={formats:c,parse:o,stringify:n}},59:function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},6:function(e,t,r){"use strict";function n(e,t){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:h,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"FRESH_DATA_REQUESTED":return m(e,t);case"FRESH_DATA_RECEIVED":return b(e,t);default:return e}}function m(e,t){return y(e,t.resourceNames.reduce((function(e,r){return e[r]={lastRequested:t.time},e}),{}))}function b(e,t){return y(e,Object.keys(t.resources).reduce((function(e,r){var n=p({},t.resources[r]);return n.data&&(n.lastReceived=t.time),n.error&&(n.lastError=t.time),e[r]=n,e}),{}))}function y(e,t){var r=Object.keys(t).reduce((function(e,r){var n=e[r],o=t[r];return e[r]=p({},n,{},o),e}),p({},e.resources));return p({},e,{resources:r})}var g=function(e,t){var r=function(e){var t=window.__REDUX_DEVTOOLS_EXTENSION__;return u(v,t&&t({name:e,instanceId:e}))}(e),n=function(e){return{dataRequested:function(t){document.hidden||e.dispatch({type:"FRESH_DATA_REQUESTED",resourceNames:t,time:new Date})},dataReceived:function(t){e.dispatch({type:"FRESH_DATA_RECEIVED",resources:t,time:new Date})}}}(r),c=new o.a(t);return c.setDataHandlers(n),r.subscribe((function(){c.setState(r.getState())})),c},O=r(32),w=r.n(O),z=r(46),j=r.n(z),k=r(3);function M(e,t){var r=JSON.stringify(t,Object.keys(t).sort());return"".concat(e,":").concat(r)}function H(e){return e.substring(0,e.indexOf(":"))}function V(e,t){return H(e)===t}function E(e){var t=e.substring(e.indexOf(":")+1);return JSON.parse(t)}var C={initiateReportExport:function(e){return function(){var t=j()(regeneratorRuntime.mark((function t(r,o,c){var a,i,s,u,l;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=Object(n.dispatch)("core/notices"),i=a.createNotice,s=M("report-export-".concat(r),c),t.next=4,e.update([s],f()({},s,c));case 4:u=t.sent,(l=u[0][s])&&l.success&&i("success",Object(k.sprintf)(Object(k.__)("Your %s Report will be emailed to you.","woocommerce-admin"),o)),l&&l.error&&i("error",Object(k.sprintf)(Object(k.__)("There was a problem exporting your %s Report. Please try again.","woocommerce-admin"),o));case 8:case"end":return t.stop()}}),t)})));return function(e,r,n){return t.apply(this,arguments)}}()}},x=r(20),S=r.n(x),_=r(24);function P(e,t,r){return e.filter((function(e){return e.startsWith("report-export-")})).map(function(){var e=j()(regeneratorRuntime.mark((function e(n){var o,c,a,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=H(n),c=o.split("-").pop(),a=_.c+"/reports/"+c+"/export",e.prev=3,e.next=6,r({path:a,method:"POST",data:{report_args:t[n],email:!0}});case 6:return i=e.sent,e.abrupt("return",f()({},n,f()({},i.status,i.message)));case 10:return e.prev=10,e.t0=e.catch(3),e.abrupt("return",f()({},n,{error:e.t0}));case 13:case"end":return e.stop()}}),e,null,[[3,10]])})));return function(t){return e.apply(this,arguments)}}())}var L={mutations:C,operations:{update:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:S.a;return w()(P(e,t,r))}}};function R(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;t1&&void 0!==arguments[1]?arguments[1]:S.a,r=e.filter((function(e){var t=H(e);return Boolean(U[t])}));return r.map(function(){var e=j()(regeneratorRuntime.mark((function e(r){var n,o,c,a,i,s,u,l,d,p;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=H(r),o=U[n],c=E(r),a=Object(F.addQueryArgs)("".concat(_.c,"/").concat(o),c),i=-1===c.per_page,e.prev=5,e.next=8,t({parse:i,path:a});case 8:if(s=e.sent,!i){e.next=14;break}l=(u=s).length,e.next=18;break;case 14:return e.next=16,s.json();case 16:u=e.sent,l=parseInt(s.headers.get("x-wp-total"),10);case 18:return d=u.map((function(e){return e.id})),p=u.reduce((function(e,t){return e[M("".concat(n,"-item"),t.id)]={data:t},e}),{}),e.abrupt("return",q(f()({},r,{data:d,totalCount:l}),p));case 23:return e.prev=23,e.t0=e.catch(5),e.abrupt("return",f()({},r,{error:e.t0}));case 26:case"end":return e.stop()}}),e,null,[[5,23]])})));return function(t){return e.apply(this,arguments)}}())},update:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:S.a,n=["items-query-products-item"],o=e.filter((function(e){return n.includes(H(e))}));return o.map(function(){var e=j()(regeneratorRuntime.mark((function e(n){var o,c,a,i,s,u;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:o=t[n],c=o.id,a=o.parent_id,i=o.type,s=D()(o,["id","parent_id","type"]),u=_.c,e.t0=i,e.next="variation"===e.t0?5:("variable"===e.t0||e.t0,7);break;case 5:return u+="/products/".concat(a,"/variations/").concat(c),e.abrupt("break",8);case 7:u+="/products/".concat(c);case 8:return e.abrupt("return",r({path:u,method:"PUT",data:s}).then((function(e){return f()({},n,{data:e})})).catch((function(e){return f()({},n,{error:e})})));case 9:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}())},updateLocally:function(e,t){var r=["items-query-products-item"],n=e.filter((function(e){return r.includes(H(e))})),o=M("items-query-products",{page:1,per_page:1,low_in_stock:!0,status:"publish"});return n.map(function(){var e=j()(regeneratorRuntime.mark((function e(r){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",(n={},f()(n,r,{data:t[r]}),f()(n,o,{lastReceived:null}),n));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}())}},W=r(2),$={mutations:N,operations:B,selectors:{getItems:function(e,t){return function(r){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:_.a,c=M("items-query-".concat(r),n),a=t(o,c).data||[],i=new Map;return a.forEach((function(t){i.set(t,e(M("items-query-".concat(r,"-item"),t)).data)})),i}},getItemsError:function(e){return function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=M("items-query-".concat(t),r);return e(n).error}},getItemsTotalCount:function(e){return function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=M("items-query-".concat(t),r);return e(n).totalCount||0}},isGetItemsRequesting:function(e){return function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=M("items-query-".concat(t),r),o=e(n),c=o.lastRequested,a=o.lastReceived;return!(!Object(W.isNil)(c)&&!Object(W.isNil)(a))||c>a}}}},G={"import-status":"reports/import/status","import-totals":"reports/import/totals"};function Q(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 K(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:S.a,r=e.filter((function(e){var t=H(e);return Boolean(G[t])}));return r.map(function(){var e=j()(regeneratorRuntime.mark((function e(r){var n,o,c,a,i,s;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=H(r),o=G[n],c=E(r),a={parse:!1,path:Object(F.addQueryArgs)("".concat(_.c,"/").concat(o),Object(W.omit)(c,["timestamp"]))},e.prev=4,e.next=7,t(a);case 7:return i=e.sent,e.next=10,i.json();case 10:return s=e.sent,e.abrupt("return",f()({},r,{data:s}));case 14:return e.prev=14,e.t0=e.catch(4),e.abrupt("return",f()({},r,{error:e.t0}));case 17:case"end":return e.stop()}}),e,null,[[4,14]])})));return function(t){return e.apply(this,arguments)}}())}},selectors:{getImportStatus:function(e,t){return function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_.a,n=M("import-status",e);return t(r,n).data||{}}},isGetImportStatusRequesting:function(e){return function(t){var r=M("import-status",t),n=e(r),o=n.lastRequested,c=n.lastReceived;return!(!Object(W.isNil)(o)&&!Object(W.isNil)(c))||o>c}},getImportTotals:function(e,t){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:_.a,o=K({},e,{timestamp:r}),c=M("import-totals",o);return t(n,c).data||{}}}}};function J(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 X(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:S.a;return[].concat(w()(ee(e,t)),w()(Y(e,t)))},update:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:S.a;return[].concat(w()(te(e,t,r)),w()(re(e,t,r)))},triggerAction:re},selectors:{getNotes:function(e,t){return function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_.a,o=M("note-query",r),c=t(n,o).data||[],a=c.map((function(t){return e(M("note",t)).data||{}}));return a}},getNotesError:function(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=M("note-query",t);return e(r).error}},isGetNotesRequesting:function(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=M("note-query",t),n=e(r),o=n.lastRequested,c=n.lastReceived;return!(!Object(W.isNil)(o)&&!Object(W.isNil)(c))||o>c}}},mutations:{updateNote:function(e){return function(t,r){e.update(["note"],f()({},"note",function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:S.a;return w()(ie(e,t))},update:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:S.a;return w()(se(e,t,r))}},de=r(26),pe={operations:fe,selectors:{getProfileItems:function(e,t){return function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_.a,n="onboarding-profile",o=t(r,n).data||[],c=Object(de.g)("onboarding",{}),a=c.profile;if(!o.length){var i={};return Object.keys(a).forEach((function(t){i[t]=e(M(n,t)).data||a[t]})),i}var s={};return o.forEach((function(t){s[t]=e(M(n,t)).data})),s}},getProfileItemsError:function(e){return function(){return e("onboarding-profile").error}},isGetProfileItemsRequesting:function(e){return function(){var t=e("onboarding-profile"),r=t.lastReceived,n=t.lastRequested;return!(!Object(W.isNil)(n)&&!Object(W.isNil)(r))||n>r}}},mutations:{updateProfileItems:function(e){return function(t){e.update(["onboarding-profile"],f()({},"onboarding-profile",t))}}}};function he(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 ve(e){for(var t=1;t1&&void 0!==arguments[1]&&arguments[1],r=Object.keys(e),n=M(t?"options-update":"options",r),o={};return r.forEach((function(t){return o[M("options",t)]={data:e[t]}})),ve(f()({},n,{data:r}),o)}var ge={operations:{read:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:S.a;return w()(me(e,t))},update:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:S.a;return w()(be(e,t,r))}},selectors:{getOptions:function(e,t){return function(r){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_.a,o=M("options",r),c={},a=t(n,o).data||r;return a.forEach((function(t){var r=Object(de.g)("preloadOptions",{},(function(r){return e(M("options",t)).data||r[t]}));r&&(c[t]=r)})),c}},getOptionsError:function(e){return function(t){return e(M("options",t)).error}},getUpdateOptionsError:function(e){return function(t){return e(M("options-update",t)).error}},isGetOptionsRequesting:function(e){return function(t){var r=e(M("options",t)),n=r.lastReceived,o=r.lastRequested;return!(Object(W.isNil)(o)||!Object(W.isNil)(n))||o>n}},isUpdateOptionsRequesting:function(e){return function(t){var r=e(M("options-update",t)),n=r.lastReceived,o=r.lastRequested;return!(Object(W.isNil)(o)||!Object(W.isNil)(n))||o>n}}},mutations:{updateOptions:function(e){return function(t){var r=M("options-update",Object.keys(t));e.update([r],f()({},r,t))}}}},Oe={"report-items-query-orders":"orders","report-items-query-revenue":"revenue","report-items-query-products":"products","report-items-query-categories":"categories","report-items-query-coupons":"coupons","report-items-query-taxes":"taxes","report-items-query-variations":"variations","report-items-query-downloads":"downloads","report-items-query-customers":"customers","report-items-query-stock":"stock","report-items-query-performance-indicators":"performance-indicators"};var we={operations:{read:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:S.a,r=e.filter((function(e){var t=H(e);return Boolean(Oe[t])}));return r.map(function(){var e=j()(regeneratorRuntime.mark((function e(r){var n,o,c,a,i,s,u,l;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=H(r),o=Oe[n],c=E(r),a={parse:!1,path:Object(F.addQueryArgs)("".concat(_.c,"/reports/").concat(o),c)},e.prev=4,e.next=7,t(a);case 7:return i=e.sent,e.next=10,i.json();case 10:return s=e.sent,u=parseInt(i.headers.get("x-wp-total"),10),l=parseInt(i.headers.get("x-wp-totalpages"),10),e.abrupt("return",f()({},r,{data:s,totalResults:u,totalPages:l}));case 16:return e.prev=16,e.t0=e.catch(4),e.abrupt("return",f()({},r,{error:e.t0}));case 19:case"end":return e.stop()}}),e,null,[[4,16]])})));return function(t){return e.apply(this,arguments)}}())}},selectors:{getReportItems:function(e,t){return function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:_.a,o=M("report-items-query-".concat(e),r);return t(n,o)||{}}},getReportItemsError:function(e){return function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=M("report-items-query-".concat(t),r);return e(n).error}},isReportItemsRequesting:function(e){return function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=M("report-items-query-".concat(t),r),o=e(n),c=o.lastRequested,a=o.lastReceived;return!(!Object(W.isNil)(c)&&!Object(W.isNil)(a))||c>a}}}},ze=["coupons","downloads","orders","products","revenue","stock","taxes","customers"],je={"report-stats-query-orders":"orders","report-stats-query-revenue":"revenue","report-stats-query-products":"products","report-stats-query-categories":"categories","report-stats-query-downloads":"downloads","report-stats-query-coupons":"coupons","report-stats-query-stock":"stock","report-stats-query-taxes":"taxes","report-stats-query-customers":"customers"};var ke={operations:{read:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:S.a,r=e.filter((function(e){var t=H(e);return Boolean(je[t])}));return r.map(function(){var e=j()(regeneratorRuntime.mark((function e(r){var n,o,c,a,i,s,u,l;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=H(r),o=je[n],c=E(r),a={parse:!1},ze.indexOf(o)>=0?a.path=Object(F.addQueryArgs)("".concat(_.c,"/reports/").concat(o,"/stats"),c):a.path=Object(F.addQueryArgs)(o,c),e.prev=5,e.next=8,t(a);case 8:return i=e.sent,e.next=11,i.json();case 11:return s=e.sent,u=parseInt(i.headers.get("x-wp-total"),10),l=parseInt(i.headers.get("x-wp-totalpages"),10),e.abrupt("return",f()({},r,{data:s,totalResults:u,totalPages:l}));case 17:return e.prev=17,e.t0=e.catch(5),e.abrupt("return",f()({},r,{error:e.t0}));case 20:case"end":return e.stop()}}),e,null,[[5,17]])})));return function(t){return e.apply(this,arguments)}}())}},selectors:{getReportStats:function(e,t){return function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:_.a,o=M("report-stats-query-".concat(e),r),c=t(n,o)||{};return c}},getReportStatsError:function(e){return function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=M("report-stats-query-".concat(t),r);return e(n).error}},isReportStatsRequesting:function(e){return function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=M("report-stats-query-".concat(t),r),o=e(n),c=o.lastRequested,a=o.lastReceived;return!(!Object(W.isNil)(c)&&!Object(W.isNil)(a))||c>a}}}};function Me(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 He(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:S.a;return[].concat(w()(Ee(e,t)),w()(Ve(e,t)))}},selectors:{getReviews:function(e,t){return function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_.a,o=M("review-query",r),c=t(n,o).data||[],a=c.map((function(t){return e(M("review",t)).data||{}}));return a}},getReviewsError:function(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=M("review-query",t);return e(r).error}},getReviewsTotalCount:function(e,t){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_.a,n=M("review-query",e);return t(r,n).totalCount||0}},isGetReviewsRequesting:function(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=M("review-query",t),n=e(r),o=n.lastRequested,c=n.lastReceived;return!(!Object(W.isNil)(o)&&!Object(W.isNil)(c))||o>c}}}};function xe(e,t){if(e.includes("current-user-data")){return[t({path:"/wp/v2/users/me?context=edit"}).then(_e).catch((function(e){return{"current-user-data":{error:String(e.message)}}}))]}return[]}function Se(e,t,r){if(e.includes("current-user-data")){var n=Object(W.pick)(t["current-user-data"],["categories_report_columns","coupons_report_columns","customers_report_columns","orders_report_columns","products_report_columns","revenue_report_columns","taxes_report_columns","variations_report_columns","dashboard_sections","dashboard_chart_type","dashboard_chart_interval","dashboard_leaderboard_rows","activity_panel_inbox_last_read","homepage_stats"]);return[r({path:"/wp/v2/users/me",method:"POST",data:{woocommerce_meta:Object(W.mapValues)(n,JSON.stringify)}}).then(_e).catch((function(e){return f()({},"current-user-data",{error:e})}))]}return[]}function _e(e){return{"current-user-data":{data:Object(W.mapValues)(e.woocommerce_meta,(function(e){return e&&0!==e.length?JSON.parse(e):""}))}}}var Pe={operations:{read:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:S.a;return w()(xe(e,t))},update:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:S.a;return w()(Se(e,t,r))}},selectors:{getCurrentUserData:function(e,t){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_.a;return Object(de.g)("currentUserData",{},(function(r){return t(e,"current-user-data").data||r}))}}},mutations:{updateCurrentUserData:function(e){return function(t){e.update(["current-user-data"],f()({},"current-user-data",t))}}}};function Le(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 Re(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,o=n[e];if(void 0===o)return r;var c=t(r[o],n);return c===r[o]?r:l({},r,Object(s.a)({},o,c))}}}("context")((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"CREATE_NOTICE":return[].concat(Object(a.a)(Object(i.reject)(e,{id:t.notice.id})),[t.notice]);case"REMOVE_NOTICE":return Object(i.reject)(e,{id:t.id})}return e})),d=r(73),p=r.n(d),h=p.a.mark(v);function v(){var e,t,r,n,o,c,a,s,u,l,f,d,v,m,b,y,g=arguments;return p.a.wrap((function(p){for(;;)switch(p.prev=p.next){case 0:if(e=g.length>0&&void 0!==g[0]?g[0]:"info",t=g.length>1?g[1]:void 0,r=g.length>2&&void 0!==g[2]?g[2]:{},n=r.speak,o=void 0===n||n,c=r.isDismissible,a=void 0===c||c,s=r.context,u=void 0===s?"global":s,l=r.id,f=void 0===l?Object(i.uniqueId)(u):l,d=r.actions,v=void 0===d?[]:d,m=r.type,b=void 0===m?"default":m,y=r.__unstableHTML,t=String(t),!o){p.next=8;break}return p.next=8,{type:"SPEAK",message:t,ariaLive:"snackbar"===b?"polite":"assertive"};case 8:return p.next=10,{type:"CREATE_NOTICE",context:u,notice:{id:f,status:e,content:t,__unstableHTML:y,isDismissible:a,actions:v,type:b}};case 10:case"end":return p.stop()}}),h)}function m(e,t){return v("success",e,t)}function b(e,t){return v("info",e,t)}function y(e,t){return v("error",e,t)}function g(e,t){return v("warning",e,t)}function O(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"global";return{type:"REMOVE_NOTICE",id:e,context:t}}var w=[];function z(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"global";return e[t]||w}var j=r(169),k={SPEAK:function(e){Object(j.a)(e.message,e.ariaLive||"assertive")}};Object(c.registerStore)("core/notices",{reducer:f,actions:n,selectors:o,controls:k})},71:function(e,t,r){"use strict";var n=Object.prototype.hasOwnProperty,o=Array.isArray,c=function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e}(),a=function(e,t){for(var r=t&&t.plainObjects?Object.create(null):{},n=0;n1;){var t=e.pop(),r=t.obj[t.prop];if(o(r)){for(var n=[],c=0;c=48&&i<=57||i>=65&&i<=90||i>=97&&i<=122?o+=n.charAt(a):i<128?o+=c[i]:i<2048?o+=c[192|i>>6]+c[128|63&i]:i<55296||i>=57344?o+=c[224|i>>12]+c[128|i>>6&63]+c[128|63&i]:(a+=1,i=65536+((1023&i)<<10|1023&n.charCodeAt(a)),o+=c[240|i>>18]+c[128|i>>12&63]+c[128|i>>6&63]+c[128|63&i])}return o},isBuffer:function(e){return!(!e||"object"!=typeof e)&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},isRegExp:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},merge:function e(t,r,c){if(!r)return t;if("object"!=typeof r){if(o(t))t.push(r);else{if(!t||"object"!=typeof t)return[t,r];(c&&(c.plainObjects||c.allowPrototypes)||!n.call(Object.prototype,r))&&(t[r]=!0)}return t}if(!t||"object"!=typeof t)return[t].concat(r);var i=t;return o(t)&&!o(r)&&(i=a(t,c)),o(t)&&o(r)?(r.forEach((function(r,o){if(n.call(t,o)){var a=t[o];a&&"object"==typeof a&&r&&"object"==typeof r?t[o]=e(a,r,c):t.push(r)}else t[o]=r})),t):Object.keys(r).reduce((function(t,o){var a=r[o];return n.call(t,o)?t[o]=e(t[o],a,c):t[o]=a,t}),i)}}},719:function(e,t){!function(){e.exports=this.wc.csvExport}()},72:function(e,t){var r,n,o=e.exports={};function c(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function i(e){if(r===setTimeout)return setTimeout(e,0);if((r===c||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:c}catch(e){r=c}try{n="function"==typeof clearTimeout?clearTimeout:a}catch(e){n=a}}();var s,u=[],l=!1,f=-1;function d(){l&&s&&(l=!1,s.length?u=s.concat(u):f=-1,u.length&&p())}function p(){if(!l){var e=i(d);l=!0;for(var t=u.length;t;){for(s=u,u=[];++f1)for(var r=1;r=0,c=e.env.FORCE_REDUCED_MOTION||o?function(){return!0}:function(){return Object(n.a)("(prefers-reduced-motion: reduce)")};t.a=c}).call(this,r(72))},76:function(e,t,r){"use strict";function n(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}r.d(t,"a",(function(){return n}))},77:function(e,t,r){"use strict";var n=r(140),o=r(141),c=Array.isArray;e.exports=function(e,t){if(e&&t){if(e.constructor===Object&&t.constructor===Object)return n(e,t);if(c(e)&&c(t))return o(e,t)}return e===t},e.exports.isShallowEqualObjects=n,e.exports.isShallowEqualArrays=o},78:function(e,t,r){"use strict";t.a=function(e,t){if(!e)throw new Error("Invariant failed")}},79:function(e,t,r){"use strict";r.d(t,"b",(function(){return l})),r.d(t,"a",(function(){return d})),r.d(t,"c",(function(){return p}));var n=r(15),o=r.n(n),c=r(43),a=r.n(c),i=r(98);function s(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 u=r.n(i)()("wc-admin:tracks");function l(e,t){if(u("recordevent %s %o","wcadmin_"+e,t),!window.wcTracks||"function"!=typeof window.wcTracks.recordEvent)return!1;window.wcTracks.recordEvent(e,t)}var f={localStorageKey:function(){return"tracksQueue"},clear:function(){window.localStorage&&window.localStorage.removeItem(f.localStorageKey())},get:function(){if(!window.localStorage)return[];var e=window.localStorage.getItem(f.localStorageKey());return e=e?JSON.parse(e):[],e=Array.isArray(e)?e:[]},add:function(){for(var e=arguments.length,t=new Array(e),r=0;r=0;d--){var p=a[d];"."===p?c(a,d):".."===p?(c(a,d),f++):f&&(c(a,d),f--)}if(!u)for(;f--;f)a.unshift("..");!u||""===a[0]||a[0]&&o(a[0])||a.unshift("");var h=a.join("/");return r&&"/"!==h.substr(-1)&&(h+="/"),h};function i(e){return e.valueOf?e.valueOf():Object.prototype.valueOf.call(e)}var s=function e(t,r){if(t===r)return!0;if(null==t||null==r)return!1;if(Array.isArray(t))return Array.isArray(r)&&t.length===r.length&&t.every((function(t,n){return e(t,r[n])}));if("object"==typeof t||"object"==typeof r){var n=i(t),o=i(r);return n!==t||o!==r?e(n,o):Object.keys(Object.assign({},t,r)).every((function(n){return e(t[n],r[n])}))}return!1},u=r(78);function l(e){return"/"===e.charAt(0)?e:"/"+e}function f(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function p(e){var t=e.pathname,r=e.search,n=e.hash,o=t||"/";return r&&"?"!==r&&(o+="?"===r.charAt(0)?r:"?"+r),n&&"#"!==n&&(o+="#"===n.charAt(0)?n:"#"+n),o}function h(e,t,r,o){var c;"string"==typeof e?(c=function(e){var t=e||"/",r="",n="",o=t.indexOf("#");-1!==o&&(n=t.substr(o),t=t.substr(0,o));var c=t.indexOf("?");return-1!==c&&(r=t.substr(c),t=t.substr(0,c)),{pathname:t,search:"?"===r?"":r,hash:"#"===n?"":n}}(e)).state=t:(void 0===(c=Object(n.a)({},e)).pathname&&(c.pathname=""),c.search?"?"!==c.search.charAt(0)&&(c.search="?"+c.search):c.search="",c.hash?"#"!==c.hash.charAt(0)&&(c.hash="#"+c.hash):c.hash="",void 0!==t&&void 0===c.state&&(c.state=t));try{c.pathname=decodeURI(c.pathname)}catch(e){throw e instanceof URIError?new URIError('Pathname "'+c.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):e}return r&&(c.key=r),o?c.pathname?"/"!==c.pathname.charAt(0)&&(c.pathname=a(c.pathname,o.pathname)):c.pathname=o.pathname:c.pathname||(c.pathname="/"),c}function v(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.hash===t.hash&&e.key===t.key&&s(e.state,t.state)}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,r,n,o){if(null!=e){var c="function"==typeof e?e(t,r):e;"string"==typeof c?"function"==typeof n?n(c,o):o(!0):o(!1!==c)}else o(!0)},appendListener:function(e){var r=!0;function n(){r&&e.apply(void 0,arguments)}return t.push(n),function(){r=!1,t=t.filter((function(e){return e!==n}))}},notifyListeners:function(){for(var e=arguments.length,r=new Array(e),n=0;nt?r.splice(t,r.length-t,n):r.push(n),f({action:"PUSH",location:n,index:t,entries:r})}}))},replace:function(e,t){var n=h(e,t,d(),O.location);l.confirmTransitionTo(n,"REPLACE",r,(function(e){e&&(O.entries[O.index]=n,f({action:"REPLACE",location:n}))}))},go:g,goBack:function(){g(-1)},goForward:function(){g(1)},canGo:function(e){var t=O.index+e;return t>=0&&t0?o/2:a)+(a+o/2>window.innerWidth?window.innerWidth-a:o/2)},s="middle"===n?e.left:a,u={popoverLeft:s,contentWidth:s-o>0?o:s},l="middle"===n?e.right:a,f={popoverLeft:l,contentWidth:l+o>window.innerWidth?window.innerWidth-l:o},d=null;if("center"===r&&i.contentWidth===o)c="center";else if("left"===r&&u.contentWidth===o)c="left";else if("right"===r&&f.contentWidth===o)c="right";else{var p="left"===(c=u.contentWidth>f.contentWidth?"left":"right")?u.contentWidth:f.contentWidth;d=p!==o?p:null}return{xAxis:c,popoverLeft:"center"===c?i.popoverLeft:"left"===c?u.popoverLeft:f.popoverLeft,contentWidth:d}}function b(e,t,r){var n,o=t.height,c=e.top+e.height/2,a={popoverTop:c,contentHeight:(c-o/2>0?o/2:c)+(c+o/2>window.innerHeight?window.innerHeight-c:o/2)},i={popoverTop:e.top,contentHeight:e.top-10-o>0?o:e.top-10},s={popoverTop:e.bottom,contentHeight:e.bottom+10+o>window.innerHeight?window.innerHeight-10-e.bottom:o},u=null;if("middle"===r&&a.contentHeight===o)n="middle";else if("top"===r&&i.contentHeight===o)n="top";else if("bottom"===r&&s.contentHeight===o)n="bottom";else{var l="top"===(n=i.contentHeight>s.contentHeight?"top":"bottom")?i.contentHeight:s.contentHeight;u=l!==o?l:null}return{yAxis:n,popoverTop:"middle"===n?a.popoverTop:"top"===n?i.popoverTop:s.popoverTop,contentHeight:u}}var y=r(97),g=r(93),O=r(7),w=r(6),z=r(8),j=r(4),k=r(9),M=r(95),H=function(e){function t(){return Object(O.a)(this,t),Object(z.a)(this,Object(j.a)(t).apply(this,arguments))}return Object(k.a)(t,e),Object(w.a)(t,[{key:"handleFocusOutside",value:function(e){this.props.onFocusOutside(e)}},{key:"render",value:function(){return this.props.children}}]),t}(a.Component),V=Object(M.a)(H),E=r(85);var C=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.htmlDocument,r=void 0===t?document:t,n=e.className,o=void 0===n?"lockscroll":n,c=0,i=0;function s(e){var t=r.scrollingElement||r.body;e&&(i=t.scrollTop);var n=e?"add":"remove";t.classList[n](o),r.documentElement.classList[n](o),e||(t.scrollTop=i)}function u(){0===c&&s(!0),++c}function l(){1===c&&s(!1),--c}return function(e){function t(){return Object(O.a)(this,t),Object(z.a)(this,Object(j.a)(t).apply(this,arguments))}return Object(k.a)(t,e),Object(w.a)(t,[{key:"componentDidMount",value:function(){u()}},{key:"componentWillUnmount",value:function(){l()}},{key:"render",value:function(){return null}}]),t}(a.Component)}(),x=r(96),S=r(17),_=r(5),P=r(2),L=Object(a.createContext)({registerSlot:function(){},unregisterSlot:function(){},registerFill:function(){},unregisterFill:function(){},getSlot:function(){},getFills:function(){},subscribe:function(){}}),R=L.Provider,T=L.Consumer,N=(a.Component,0);function A(e){var t=e.name,r=e.children,n=e.registerFill,c=e.unregisterFill,i=function(e){var t=Object(a.useContext)(L),r=t.getSlot,n=t.subscribe,c=Object(a.useState)(r(e)),i=Object(o.a)(c,2),s=i[0],u=i[1];return Object(a.useEffect)((function(){return u(r(e)),n((function(){u(r(e))}))}),[e]),s}(t),s=Object(a.useRef)({name:t,children:r});return s.current.occurrence||(s.current.occurrence=++N),Object(a.useLayoutEffect)((function(){return n(t,s.current),function(){return c(t,s.current)}}),[]),Object(a.useLayoutEffect)((function(){s.current.children=r,i&&!i.props.bubblesVirtually&&i.forceUpdate()}),[r]),Object(a.useLayoutEffect)((function(){t!==s.current.name&&(c(s.current.name,s.current),s.current.name=t,n(t,s.current))}),[t]),i&&i.node&&i.props.bubblesVirtually?(Object(P.isFunction)(r)&&(r=r(i.props.fillProps)),Object(a.createPortal)(r,i.node)):null}var D=function(e){return Object(a.createElement)(T,null,(function(t){var r=t.registerFill,o=t.unregisterFill;return Object(a.createElement)(A,Object(n.a)({},e,{registerFill:r,unregisterFill:o}))}))},F=function(e){function t(){var e;return Object(O.a)(this,t),(e=Object(z.a)(this,Object(j.a)(t).apply(this,arguments))).bindNode=e.bindNode.bind(Object(_.a)(e)),e}return Object(k.a)(t,e),Object(w.a)(t,[{key:"componentDidMount",value:function(){(0,this.props.registerSlot)(this.props.name,this)}},{key:"componentWillUnmount",value:function(){(0,this.props.unregisterSlot)(this.props.name,this)}},{key:"componentDidUpdate",value:function(e){var t=this.props,r=t.name,n=t.unregisterSlot,o=t.registerSlot;e.name!==r&&(n(e.name),o(r,this))}},{key:"bindNode",value:function(e){this.node=e}},{key:"render",value:function(){var e=this.props,t=e.children,r=e.name,n=e.bubblesVirtually,o=void 0!==n&&n,c=e.fillProps,i=void 0===c?{}:c,s=e.getFills,u=e.className;if(o)return Object(a.createElement)("div",{ref:this.bindNode,className:u});var l=Object(P.map)(s(r,this),(function(e){var t=e.occurrence,r=Object(P.isFunction)(e.children)?e.children(i):e.children;return a.Children.map(r,(function(e,r){if(!e||Object(P.isString)(e))return e;var n="".concat(t,"---").concat(e.key||r);return Object(a.cloneElement)(e,{key:n})}))})).filter(Object(P.negate)(a.isEmptyElement));return Object(a.createElement)(a.Fragment,null,Object(P.isFunction)(t)?t(l):l)}}]),t}(a.Component),I=function(e){return Object(a.createElement)(T,null,(function(t){var r=t.registerSlot,o=t.unregisterSlot,c=t.getFills;return Object(a.createElement)(F,Object(n.a)({},e,{registerSlot:r,unregisterSlot:o,getFills:c}))}))},q=r(13);var U=function(e){var t=e.type,r=e.options,n=void 0===r?{}:r,c=e.children;if("appear"===t){var a,i=n.origin,u=(void 0===i?"top":i).split(" "),l=Object(o.a)(u,2),f=l[0],d=l[1],p=void 0===d?"center":d;return c({className:s()("components-animate__appear",(a={},Object(q.a)(a,"is-from-"+p,"center"!==p),Object(q.a)(a,"is-from-"+f,"middle"!==f),a))})}if("slide-in"===t){var h=n.origin,v=void 0===h?"left":h;return c({className:s()("components-animate__slide-in","is-from-"+v)})}return c("loading"===t?{className:s()("components-animate__loading")}:{})},B=Object(g.a)(Object(y.a)((function(e){return e.children})));function W(e,t){var r=window.getComputedStyle(t),n=r.paddingTop,o=r.paddingBottom,c=r.paddingLeft,a=r.paddingRight,i=n?parseInt(n,10):0,s=o?parseInt(o,10):0,u=c?parseInt(c,10):0,l=a?parseInt(a,10):0;return{x:e.left+u,y:e.top+i,width:e.width-u-l,height:e.height-i-s,left:e.left+u,right:e.right-l,top:e.top+i,bottom:e.bottom-s}}function $(e,t,r){r?e.getAttribute(t)!==r&&e.setAttribute(t,r):e.hasAttribute(t)&&e.removeAttribute(t)}function G(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";e.style[t]!==r&&(e.style[t]=r)}function Q(e,t,r){r?e.classList.contains(t)||e.classList.add(t):e.classList.contains(t)&&e.classList.remove(t)}var K=function(e){var t=e.headerTitle,r=e.onClose,i=e.onKeyDown,v=e.children,y=e.className,g=e.noArrow,O=void 0!==g&&g,w=e.position,z=void 0===w?"top":w,j=(e.range,e.focusOnMount),k=void 0===j?"firstElement":j,M=e.anchorRef,H=e.shouldAnchorIncludePadding,S=e.anchorVerticalBuffer,_=e.anchorHorizontalBuffer,P=e.anchorRect,L=e.getAnchorRect,R=e.expandOnMobile,N=e.animate,A=void 0===N||N,F=e.onClickOutside,I=e.onFocusOutside,q=Object(c.a)(e,["headerTitle","onClose","onKeyDown","children","className","noArrow","position","range","focusOnMount","anchorRef","shouldAnchorIncludePadding","anchorVerticalBuffer","anchorHorizontalBuffer","anchorRect","getAnchorRect","expandOnMobile","animate","onClickOutside","onFocusOutside"]),K=Object(a.useRef)(null),Z=Object(a.useRef)(null),J=Object(a.useRef)(),X=Object(a.useRef)(),Y=Object(p.a)("medium","<"),ee=Object(a.useState)(),te=Object(o.a)(ee,2),re=te[0],ne=te[1],oe=R&&Y;O=oe||O,Object(a.useEffect)((function(){var e=J.current,t=Z.current;if(oe)return Q(e,"is-without-arrow",O),$(e,"data-x-axis"),$(e,"data-y-axis"),G(e,"top"),G(e,"left"),G(t,"maxHeight"),void G(t,"maxWidth");var r=function(){var r=function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=arguments.length>4?arguments[4]:void 0;if(t)return t;if(r){if(!e.current)return;return r(e.current)}if(!1!==n){if(!n)return;if(n instanceof window.Range)return Object(u.a)(n);var c=n.getBoundingClientRect();return o?c:W(c,n)}if(e.current){var a=e.current.parentNode,i=a.getBoundingClientRect();return o?i:W(i,a)}}(K,P,L,M,H);if(r){r=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return{x:e.left-r,y:e.top-t,width:e.width+2*r,height:e.height+2*t,left:e.left-r,right:e.right+r,top:e.top-t,bottom:e.bottom+t}}(r,S,_),X.current||(X.current=t.getBoundingClientRect());var n=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"top",n=r.split(" "),c=Object(o.a)(n,2),a=c[0],i=c[1],s=void 0===i?"center":i,u=b(e,t,a),l=m(e,t,s,u.yAxis);return Object(h.a)({},l,u)}(r,X.current,z),c=n.popoverTop,a=n.popoverLeft,i=n.xAxis,s=n.yAxis,l=n.contentHeight,f=n.contentWidth;Q(e,"is-without-arrow",O||"center"===i&&"middle"===s),$(e,"data-x-axis",i),$(e,"data-y-axis",s),G(e,"top","number"==typeof c?c+"px":""),G(e,"left","number"==typeof a?a+"px":""),G(t,"maxHeight","number"==typeof l?l+"px":""),G(t,"maxWidth","number"==typeof f?f+"px":"");ne(({left:"right",right:"left"}[i]||"center")+" "+({top:"bottom",bottom:"top"}[s]||"middle"))}},n=window.setTimeout(r),c=window.setInterval(r,500);return window.addEventListener("resize",r),window.addEventListener("scroll",r,!0),function(){window.clearTimeout(n),window.clearInterval(c),window.removeEventListener("resize",r),window.removeEventListener("scroll",r,!0)}}),[oe,P,L,M,H,S,_,z]),function(e,t){Object(a.useEffect)((function(){var r=setTimeout((function(){if(e&&t.current)if("firstElement"!==e)"container"===e&&t.current.focus();else{var r=l.a.tabbable.find(t.current)[0];r?r.focus():t.current.focus()}}),0);return function(){return clearTimeout(r)}}),[])}(k,Z);var ce=function(e){e.keyCode===f.d&&r&&(e.stopPropagation(),r()),i&&i(e)};var ae=Object(a.createElement)(V,{onFocusOutside:function(e){if(I)I(e);else if(F){var t;try{t=new window.MouseEvent("click")}catch(e){(t=document.createEvent("MouseEvent")).initMouseEvent("click",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null)}Object.defineProperty(t,"target",{get:function(){return e.relatedTarget}}),Object(d.a)("Popover onClickOutside prop",{alternative:"onFocusOutside"}),F(t)}else r&&r()}},Object(a.createElement)(U,{type:A&&re?"appear":null,options:{origin:re}},(function(e){var o=e.className;return Object(a.createElement)(x.a,Object(n.a)({className:s()("components-popover",y,o,{"is-expanded":oe,"is-without-arrow":O})},q,{onKeyDown:ce,ref:J}),oe&&Object(a.createElement)("div",{className:"components-popover__header"},Object(a.createElement)("span",{className:"components-popover__header-title"},t),Object(a.createElement)(E.a,{className:"components-popover__close",icon:"no-alt",onClick:r})),Object(a.createElement)("div",{ref:Z,className:"components-popover__content",tabIndex:"-1"},v))})));return k&&(ae=Object(a.createElement)(B,null,ae)),Object(a.createElement)(T,null,(function(e){var t=e.getSlot;return t&&t("Popover")&&(ae=Object(a.createElement)(D,{name:"Popover"},ae)),Object(a.createElement)("span",{ref:K},ae,Y&&R&&Object(a.createElement)(C,null))}))};K.Slot=function(){return Object(a.createElement)(I,{bubblesVirtually:!0,name:"Popover"})};t.a=K},93:function(e,t,r){"use strict";var n=r(7),o=r(6),c=r(8),a=r(4),i=r(5),s=r(9),u=r(0),l=r(53),f=r(18),d=r(50),p=Object(l.a)((function(e){return function(t){function r(){var e;return Object(n.a)(this,r),(e=Object(c.a)(this,Object(a.a)(r).apply(this,arguments))).focusContainRef=Object(u.createRef)(),e.handleTabBehaviour=e.handleTabBehaviour.bind(Object(i.a)(e)),e}return Object(s.a)(r,t),Object(o.a)(r,[{key:"handleTabBehaviour",value:function(e){if(e.keyCode===f.h){var t=d.a.tabbable.find(this.focusContainRef.current);if(t.length){var r=t[0],n=t[t.length-1];e.shiftKey&&e.target===r?(e.preventDefault(),n.focus()):(e.shiftKey||e.target!==n)&&t.includes(e.target)||(e.preventDefault(),r.focus())}}}},{key:"render",value:function(){return Object(u.createElement)("div",{onKeyDown:this.handleTabBehaviour,ref:this.focusContainRef,tabIndex:"-1"},Object(u.createElement)(e,this.props))}}]),r}(u.Component)}),"withConstrainedTabbing");t.a=p},94:function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));var n=r(48),o=Object.create(null);function c(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.version,c=t.alternative,a=t.plugin,i=t.link,s=t.hint,u=a?" from ".concat(a):"",l=r?" and will be removed".concat(u," in version ").concat(r):"",f=c?" Please use ".concat(c," instead."):"",d=i?" See: ".concat(i):"",p=s?" Note: ".concat(s):"",h="".concat(e," is deprecated").concat(l,".").concat(f).concat(d).concat(p);h in o||(Object(n.doAction)("deprecated",e,t,h),console.warn(h),o[h]=!0)}},95:function(e,t,r){"use strict";var n=r(11),o=r(7),c=r(6),a=r(8),i=r(4),s=r(5),u=r(9),l=r(0),f=r(2),d=r(53),p=["button","submit"];t.a=Object(d.a)((function(e){return function(t){function r(){var e;return Object(o.a)(this,r),(e=Object(a.a)(this,Object(i.a)(r).apply(this,arguments))).bindNode=e.bindNode.bind(Object(s.a)(e)),e.cancelBlurCheck=e.cancelBlurCheck.bind(Object(s.a)(e)),e.queueBlurCheck=e.queueBlurCheck.bind(Object(s.a)(e)),e.normalizeButtonFocus=e.normalizeButtonFocus.bind(Object(s.a)(e)),e}return Object(u.a)(r,t),Object(c.a)(r,[{key:"componentWillUnmount",value:function(){this.cancelBlurCheck()}},{key:"bindNode",value:function(e){e?this.node=e:(delete this.node,this.cancelBlurCheck())}},{key:"queueBlurCheck",value:function(e){var t=this;e.persist(),this.preventBlurCheck||(this.blurCheckTimeout=setTimeout((function(){document.hasFocus()?"function"==typeof t.node.handleFocusOutside&&t.node.handleFocusOutside(e):e.preventDefault()}),0))}},{key:"cancelBlurCheck",value:function(){clearTimeout(this.blurCheckTimeout)}},{key:"normalizeButtonFocus",value:function(e){var t=e.type,r=e.target;Object(f.includes)(["mouseup","touchend"],t)?this.preventBlurCheck=!1:function(e){switch(e.nodeName){case"A":case"BUTTON":return!0;case"INPUT":return Object(f.includes)(p,e.type)}return!1}(r)&&(this.preventBlurCheck=!0)}},{key:"render",value:function(){return Object(l.createElement)("div",{onFocus:this.cancelBlurCheck,onMouseDown:this.normalizeButtonFocus,onMouseUp:this.normalizeButtonFocus,onTouchStart:this.normalizeButtonFocus,onTouchEnd:this.normalizeButtonFocus,onBlur:this.queueBlurCheck},Object(l.createElement)(e,Object(n.a)({ref:this.bindNode},this.props)))}}]),r}(l.Component)}),"withFocusOutside")},96:function(e,t,r){"use strict";var n=r(11),o=r(16),c=r(0);function a(e){e.stopPropagation()}t.a=Object(c.forwardRef)((function(e,t){var r=e.children,i=Object(o.a)(e,["children"]);return Object(c.createElement)("div",Object(n.a)({},i,{ref:t,onMouseDown:a}),r)}))},97:function(e,t,r){"use strict";var n=r(17),o=r(7),c=r(6),a=r(8),i=r(4),s=r(9),u=r(0),l=r(2),f=r(53),d=r(5),p=Object(u.createContext)({focusHistory:[]}),h=p.Provider,v=p.Consumer;h.displayName="FocusReturnProvider",v.displayName="FocusReturnConsumer";u.Component;t.a=Object(f.a)((function e(t){if((f=t)instanceof u.Component||"function"==typeof f){var r=t;return e({})(r)}var f,d=t.onFocusReturn,p=void 0===d?l.stubTrue:d;return function(e){var t=function(t){function r(){var e;return Object(o.a)(this,r),(e=Object(a.a)(this,Object(i.a)(r).apply(this,arguments))).ownFocusedElements=new Set,e.activeElementOnMount=document.activeElement,e.setIsFocusedFalse=function(){return e.isFocused=!1},e.setIsFocusedTrue=function(t){e.ownFocusedElements.add(t.target),e.isFocused=!0},e}return Object(s.a)(r,t),Object(c.a)(r,[{key:"componentWillUnmount",value:function(){var e=this.activeElementOnMount,t=this.isFocused,r=this.ownFocusedElements;if(t&&!1!==p())for(var o,c=[].concat(Object(n.a)(l.without.apply(void 0,[this.props.focus.focusHistory].concat(Object(n.a)(r)))),[e]);o=c.pop();)if(document.body.contains(o))return void o.focus()}},{key:"render",value:function(){return Object(u.createElement)("div",{onFocus:this.setIsFocusedTrue,onBlur:this.setIsFocusedFalse},Object(u.createElement)(e,this.props.childProps))}}]),r}(u.Component);return function(e){return Object(u.createElement)(v,null,(function(r){return Object(u.createElement)(t,{childProps:e,focus:r})}))}}}),"withFocusReturn")},98:function(e,t,r){"use strict";(function(n){var o=r(55)(r(43));t.log=function(){var e;return"object"===("undefined"==typeof console?"undefined":(0,o.default)(console))&&console.log&&(e=console).log.apply(e,arguments)},t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;var r="color: "+this.color;t.splice(1,0,r,"color: inherit");var n=0,o=0;t[0].replace(/%[a-zA-Z%]/g,(function(e){"%%"!==e&&(n++,"%c"===e&&(o=n))})),t.splice(o,0,r)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){var e;try{e=t.storage.getItem("debug")}catch(e){}!e&&void 0!==n&&"env"in n&&(e=n.env.DEBUG);return e},t.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],e.exports=r(146)(t),e.exports.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}}).call(this,r(72))},99:function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));var n=r(21),o=r(0);function c(e){var t=Object(o.useState)(!1),r=Object(n.a)(t,2),c=r[0],a=r[1];return Object(o.useEffect)((function(){if(e){var t=function(){return a(window.matchMedia(e).matches)};t();var r=window.matchMedia(e);return r.addListener(t),function(){r.removeListener(t)}}}),[e]),e&&c}}});
\ No newline at end of file
diff --git a/dist/app/index.min.js.LICENSE.txt b/dist/app/index.min.js.LICENSE.txt
new file mode 100644
index 00000000000..b92adffac0e
--- /dev/null
+++ b/dist/app/index.min.js.LICENSE.txt
@@ -0,0 +1,14 @@
+/*!
+ Copyright (c) 2017 Jed Watson.
+ Licensed under the MIT License (MIT), see
+ http://jedwatson.github.io/classnames
+*/
+
+/** @license React v16.13.1
+ * react-is.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
diff --git a/dist/app/style-rtl.css b/dist/app/style-rtl.css
new file mode 100644
index 00000000000..628371225d7
--- /dev/null
+++ b/dist/app/style-rtl.css
@@ -0,0 +1 @@
+.woocommerce-page .wrap{margin:0}.woocommerce-page #wpcontent,.woocommerce-page.woocommerce_page_wc-admin #wpbody-content{padding:0;overflow-x:hidden!important;min-height:calc(100vh - 32px)}@media (min-width:783px){.woocommerce-page #wpbody-content{padding-right:0}}@media (max-width:782px){.woocommerce-page .wp-responsive-open #woocommerce-embedded-root,.woocommerce-page .wp-responsive-open #wpbody{position:relative;left:-14.5em}.woocommerce-page #wpbody-content,.woocommerce-page #wpcontent{min-height:calc(100vh - 46px)}}@media (min-width:961px){.woocommerce-page #toplevel_page_wcadmin--analytics.menu-top>a:focus,.woocommerce-page #toplevel_page_woocommerce.menu-top>a:focus{padding-bottom:1px}}.woocommerce-layout *{box-sizing:border-box}#wpfooter{display:none}.woocommerce_page_wc-admin .wp-responsive-open .woocommerce-layout__header{margin-right:2px}.woocommerce_page_wc-admin .components-popover:not(.is-mobile){z-index:2}@media (max-width:600px){#wpadminbar{position:fixed}}@media (max-width:782px){.jetpack-masterbar #wpadminbar #wp-admin-bar-menu-toggle{margin-top:-10px}.jetpack-masterbar #wpwrap .woocommerce-layout__header-breadcrumbs{padding-right:60px}.jetpack-masterbar.wp-admin .wrap h1,.jetpack-masterbar.wp-admin .wrap h2{padding-right:0}}.woocommerce-page .wp-has-current-submenu:after{left:0;content:" ";height:0;width:0;position:absolute;pointer-events:none;border:8px solid transparent;border-left-color:#f1f1f1;top:0;margin-top:10px}@media (max-width:960px){.woocommerce-page .wp-has-current-submenu:after{border-width:4px;margin-top:14px}}:root{--large-gap:40px;--main-gap:24px}@media (max-width:960px){:root{--large-gap:24px}}@media (max-width:782px){:root{--large-gap:16px;--main-gap:16px}}@keyframes loading-fade{0%{opacity:.7}50%{opacity:1}to{opacity:.7}}.woocommerce-layout .components-button.is-link,.woocommerce-layout a:link,.woocommerce-layout a:visited{color:#c9356e}.woocommerce-layout a.components-button.is-button{color:#fff}.woocommerce-layout .components-button.is-link:active,.woocommerce-layout .components-button.is-link:focus,.woocommerce-layout .components-button.is-link:hover,.woocommerce-layout a:active,.woocommerce-layout a:focus,.woocommerce-layout a:hover{color:#c9356e}.woocommerce-layout a:focus{box-shadow:0 0 0 1px #c9356e,0 0 2px 1px rgba(201,53,110,.8)}.woocommerce-layout .components-button.is-button.is-primary,.woocommerce-layout .components-button.is-button.is-primary:not(:disabled):active,.woocommerce-layout .components-button.is-button.is-primary:not(:disabled):focus,.woocommerce-layout .components-button.is-button.is-primary:not(:disabled):hover{color:#fff;box-shadow:none}.woocommerce-layout .components-button.is-button.is-default:not(.is-primary){color:#555d66;border-color:#b5bfc9;background:#f0f2f4;box-shadow:none}.woocommerce-layout .components-button.is-button.is-default:not(.is-primary):not(:disabled):active,.woocommerce-layout .components-button.is-button.is-default:not(.is-primary):not(:disabled):focus,.woocommerce-layout .components-button.is-button.is-default:not(.is-primary):not(:disabled):hover{color:#555d66;background:#fafafa;border-color:#999}.woocommerce-layout .components-button.is-default:disabled:not(.is-primary),.woocommerce-layout .components-button.is-default:disabled:not(.is-primary):active,.woocommerce-layout .components-button.is-default:disabled:not(.is-primary):focus,.woocommerce-layout .components-button.is-default:disabled:not(.is-primary):hover{color:#a0a5aa;border-color:#ddd;background:#f0f2f4}.woocommerce-layout button:focus,.woocommerce-layout input:focus,.woocommerce-layout select:focus,.woocommerce-layout textarea:focus{color:#32373c;border-color:#674399;box-shadow:0 0 2px rgba(103,67,153,.8)}.woocommerce-layout select:hover{color:#32373c}.woocommerce-layout input[type=checkbox]{border-radius:3px}.woocommerce-layout input[type=checkbox],.woocommerce-layout input[type=radio]{width:18px;height:18px;min-width:18px;border:2px solid #646970}.woocommerce-layout input[type=checkbox]:focus,.woocommerce-layout input[type=radio]:focus{border-color:#674399;box-shadow:0 0 0 1px #674399,0 0 2px 1px rgba(103,67,153,.8)}.woocommerce-layout input[type=checkbox]:checked,.woocommerce-layout input[type=radio]:checked{background-color:#674399;border-color:#674399}.woocommerce-layout input[type=checkbox]:focus:checked{border:2px solid #674399}.woocommerce-layout input[type=radio]:checked:before{font-size:18px;background-color:#fff}.woocommerce-layout select.components-select-control__input{max-width:100%;line-height:1}body.woocommerce-page .components-button.is-button.is-primary,body.woocommerce-page .components-button.is-button.is-primary:not(:disabled):active,body.woocommerce-page .components-button.is-button.is-primary:not(:disabled):focus,body.woocommerce-page .components-button.is-button.is-primary:not(:disabled):hover,body.woocommerce-page .components-snackbar .components-button.is-tertiary,body.woocommerce-page .components-snackbar .components-button.is-tertiary:not(:disabled):not([aria-disabled=true]):not(.is-default):hover{color:#fff}.woocommerce-embed-page #wpbody-content,.woocommerce-embed-page #wpcontent{overflow-x:initial!important}.woocommerce-embed-page #wpbody-content .notice{margin-top:15px}.woocommerce-embed-page .wrap{padding:20px 20px 0}@media (max-width:782px){.woocommerce-embed-page .wrap p.search-box{width:calc(100% - 40px)}}.woocommerce-embed-page .wrap .wrap{padding:0}.woocommerce-embed-page #woocommerce-embedded-root.is-embed-loading+#wpbody .wrap{padding-top:96px}@media (max-width:782px){.woocommerce-embed-page #woocommerce-embedded-root.is-embed-loading+#wpbody .wrap{padding-top:30px}}.woocommerce-embed-page #screen-meta,.woocommerce-embed-page #screen-meta-links{top:56px}.woocommerce-embed-page #screen-meta{border-left:0;margin:0}.woocommerce-embed-page #screen-meta-links{position:relative}.woocommerce-embed-page .notice{padding:1px 12px}.woocommerce-embed-page .woocommerce-layout__header{height:56px}.woocommerce-embed-page .woocommerce-layout__header.is-scrolled{box-shadow:0 8px 16px 0 rgba(85,93,102,.3)}.woocommerce-embed-page .woocommerce-layout__header .woocommerce-layout__header-breadcrumbs{margin-top:0;margin-bottom:0}.woocommerce-embed-page #screen-meta-links.is-hidden-by-notices,.woocommerce-embed-page #screen-meta.is-hidden-by-notices{display:none!important}.woocommerce-embed-page .woocommerce-layout__primary{margin:0;padding-top:76px}@media (max-width:782px){.woocommerce-embed-page .woocommerce-layout__primary{padding-top:10px}}@keyframes isLoaded{0%{opacity:0}to{opacity:1}}.woocommerce-embed-page .woocommerce-layout__activity-panel-tabs{animation:isLoaded;animation-duration:2s}.woocommerce-embed-page .woocommerce-layout__notice-list-show{margin-top:10px;margin-bottom:16px}@media (max-width:600px){.woocommerce-embed-page .woocommerce-layout__notice-list-show{margin-top:80px;margin-bottom:-16px}}@media (min-width:601px) and (max-width:782px){.woocommerce-embed-page .woocommerce-layout__notice-list-show{margin-top:32px}}@media (min-width:783px){.woocommerce-embed-page .woocommerce-layout__activity-panel-mobile-toggle{display:none}}.woocommerce-embed-page .woocommerce-activity-card__actions a.components-button.is-button:not(.is-primary){color:#555d66}.components-button{display:inline-flex;text-decoration:none;font-size:13px;margin:0;border:0;cursor:pointer;-webkit-appearance:none;background:none;transition:box-shadow .1s linear}@media (prefers-reduced-motion:reduce){.components-button{transition-duration:0s}}.components-button.is-button{padding:0 10px;line-height:2;height:28px;border-radius:3px;white-space:nowrap;border-width:1px;border-style:solid}.components-button.is-default{color:#007daf;border-color:#007daf;background:#f3f5f6}body.woocommerce-page .components-button.is-default{color:#bd3267;border-color:#bd3267}.components-button.is-default:hover{background:#f1f1f1;border-color:#00648c;color:#00648c;text-decoration:none}body.woocommerce-page .components-button.is-default:hover{border-color:#972853;color:#972853}.components-button.is-default:focus:enabled{background:#f3f5f6;color:#00648c;border-color:#007eb1;box-shadow:0 0 0 1px #007eb1;text-decoration:none}body.woocommerce-page .components-button.is-default:focus:enabled{color:#972853;border-color:#bf3269;box-shadow:0 0 0 1px #bf3269}.components-button.is-default:active:enabled{background:#f3f5f6;color:#007eb1;border-color:#7e8993;box-shadow:none}body.woocommerce-page .components-button.is-default:active:enabled{color:#bf3269}.components-button.is-default:disabled,.components-button.is-default[aria-disabled=true]{color:#a0a5aa;border-color:#ddd;background:#f7f7f7;text-shadow:0 1px 0 #fff;transform:none;opacity:1}.components-button.is-primary{background:#0085ba;border-color:#0085ba;color:#fff;text-decoration:none;text-shadow:none}body.woocommerce-page .components-button.is-primary{background:#c9356e;border-color:#c9356e}.components-button.is-primary:focus:enabled,.components-button.is-primary:hover{background:#0078a7;border-color:#0078a7;color:#fff}body.woocommerce-page .components-button.is-primary:focus:enabled,body.woocommerce-page .components-button.is-primary:hover{background:#b53063;border-color:#b53063}.components-button.is-primary:focus:enabled{box-shadow:0 0 0 1px #fff,0 0 0 3px #0085ba}body.woocommerce-page .components-button.is-primary:focus:enabled{box-shadow:0 0 0 1px #fff,0 0 0 3px #c9356e}.components-button.is-primary:active:enabled{background:#006a95;border-color:#006a95;color:#fff}body.woocommerce-page .components-button.is-primary:active:enabled{background:#a12a58;border-color:#a12a58}.components-button.is-primary:disabled,.components-button.is-primary:disabled:active:enabled,.components-button.is-primary[aria-disabled=true],.components-button.is-primary[aria-disabled=true]:active:enabled,.components-button.is-primary[aria-disabled=true]:enabled{color:#66b6d6;background:#1991c1;border-color:#1991c1;opacity:1}body.woocommerce-page .components-button.is-primary:disabled,body.woocommerce-page .components-button.is-primary:disabled:active:enabled,body.woocommerce-page .components-button.is-primary[aria-disabled=true],body.woocommerce-page .components-button.is-primary[aria-disabled=true]:active:enabled,body.woocommerce-page .components-button.is-primary[aria-disabled=true]:enabled{color:#df86a8;background:#ce497d;border-color:#ce497d}.components-button.is-primary:disabled.is-button,.components-button.is-primary:disabled.is-button:hover,.components-button.is-primary:disabled:active:enabled,.components-button.is-primary:disabled:active:enabled.is-button,.components-button.is-primary:disabled:active:enabled.is-button:hover,.components-button.is-primary:disabled:active:enabled:active:enabled,.components-button.is-primary[aria-disabled=true].is-button,.components-button.is-primary[aria-disabled=true].is-button:hover,.components-button.is-primary[aria-disabled=true]:active:enabled,.components-button.is-primary[aria-disabled=true]:active:enabled.is-button,.components-button.is-primary[aria-disabled=true]:active:enabled.is-button:hover,.components-button.is-primary[aria-disabled=true]:active:enabled:active:enabled,.components-button.is-primary[aria-disabled=true]:enabled.is-button,.components-button.is-primary[aria-disabled=true]:enabled.is-button:hover,.components-button.is-primary[aria-disabled=true]:enabled:active:enabled{box-shadow:none;text-shadow:none}.components-button.is-primary:disabled:active:enabled:focus:enabled,.components-button.is-primary:disabled:focus:enabled,.components-button.is-primary[aria-disabled=true]:active:enabled:focus:enabled,.components-button.is-primary[aria-disabled=true]:enabled:focus:enabled,.components-button.is-primary[aria-disabled=true]:focus:enabled{box-shadow:0 0 0 1px #fff,0 0 0 3px #0085ba}body.woocommerce-page .components-button.is-primary:disabled:active:enabled:focus:enabled,body.woocommerce-page .components-button.is-primary:disabled:focus:enabled,body.woocommerce-page .components-button.is-primary[aria-disabled=true]:active:enabled:focus:enabled,body.woocommerce-page .components-button.is-primary[aria-disabled=true]:enabled:focus:enabled,body.woocommerce-page .components-button.is-primary[aria-disabled=true]:focus:enabled{box-shadow:0 0 0 1px #fff,0 0 0 3px #c9356e}.components-button.is-primary.is-busy,.components-button.is-primary.is-busy:disabled,.components-button.is-primary.is-busy[aria-disabled=true]{color:#fff;background-size:100px 100%;background-image:linear-gradient(45deg,#0085ba 28%,#006a95 0,#006a95 72%,#0085ba 0);border-color:#0085ba}body.woocommerce-page .components-button.is-primary.is-busy,body.woocommerce-page .components-button.is-primary.is-busy:disabled,body.woocommerce-page .components-button.is-primary.is-busy[aria-disabled=true]{background-image:linear-gradient(45deg,#c9356e 28%,#a12a58 0,#a12a58 72%,#c9356e 0);border-color:#c9356e}.components-button.is-link{margin:0;padding:0;box-shadow:none;border:0;border-radius:0;background:none;outline:none;text-align:right;color:#0073aa;text-decoration:underline;transition-property:border,background,color;transition-duration:.05s;transition-timing-function:ease-in-out}@media (prefers-reduced-motion:reduce){.components-button.is-link{transition-duration:0s}}.components-button.is-link:active,.components-button.is-link:hover{color:#00a0d2}.components-button.is-link:focus{color:#124964;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.components-button.is-link.is-destructive{color:#d94f4f}.components-button:active{color:inherit}.components-button:disabled,.components-button[aria-disabled=true]{cursor:default;opacity:.3}.components-button:focus:not(:disabled){background-color:#fff;color:#191e23;box-shadow:inset 0 0 0 1px #6c7781,inset 0 0 0 2px #fff;outline:2px solid transparent;outline-offset:-2px}.components-button.is-busy,.components-button.is-default.is-busy,.components-button.is-default.is-busy:disabled,.components-button.is-default.is-busy[aria-disabled=true]{animation:components-button__busy-animation 2.5s linear infinite;background-size:100px 100%;background-image:repeating-linear-gradient(45deg,#e2e4e7,#fff 11px,#fff 0,#e2e4e7 20px);opacity:1}.components-button.is-large{height:30px;line-height:28px;padding:0 12px 2px}.components-button.is-small{height:24px;line-height:22px;padding:0 8px 1px;font-size:11px}.components-button.is-tertiary{color:#007cba;padding:0 10px;line-height:26px;height:28px}body.woocommerce-page .components-button.is-tertiary{color:#c9356e}.components-button.is-tertiary .dashicon{display:inline-block;flex:0 0 auto}.components-button.is-tertiary svg{fill:currentColor;outline:none}.components-button.is-tertiary:active:focus:enabled{box-shadow:none}.components-button.is-tertiary:not(:disabled):not([aria-disabled=true]):not(.is-default):hover{color:#005d8c}body.woocommerce-page .components-button.is-tertiary:not(:disabled):not([aria-disabled=true]):not(.is-default):hover{color:#972853}.components-button .screen-reader-text{height:auto}@keyframes components-button__busy-animation{0%{background-position:200px 0}}.components-checkbox-control__input[type=checkbox]{border:1px solid #b4b9be;background:#fff;color:#555;clear:none;cursor:pointer;display:inline-block;line-height:0;margin:0 0 0 4px;outline:0;padding:0!important;text-align:center;vertical-align:top;width:25px;height:25px;-webkit-appearance:none;box-shadow:inset 0 1px 2px rgba(0,0,0,.1);transition:border-color .05s ease-in-out}@media (min-width:600px){.components-checkbox-control__input[type=checkbox]{height:16px;width:16px}}.components-checkbox-control__input[type=checkbox]:focus{border-color:#5b9dd9;box-shadow:0 0 2px rgba(30,140,190,.8);outline:2px solid transparent}.components-checkbox-control__input[type=checkbox]:checked{background:#11a0d2;border-color:#11a0d2}.components-checkbox-control__input[type=checkbox]:checked::-ms-check{opacity:0}.components-checkbox-control__input[type=checkbox]:focus:checked{border:none}.components-checkbox-control__input[type=checkbox]:checked:before{content:none}.components-checkbox-control__input-container{position:relative;display:inline-block;margin-left:12px;vertical-align:middle;width:25px;height:25px}@media (min-width:600px){.components-checkbox-control__input-container{width:16px;height:16px}}svg.dashicon.components-checkbox-control__checked{fill:#fff;cursor:pointer;position:absolute;right:-4px;top:-2px;width:31px;height:31px;-webkit-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}@media (min-width:600px){svg.dashicon.components-checkbox-control__checked{width:21px;height:21px;right:-3px}}svg.dashicon{fill:currentColor;outline:none}.components-form-toggle{position:relative;display:inline-block}.components-form-toggle .components-form-toggle__off,.components-form-toggle .components-form-toggle__on{position:absolute;top:6px;box-sizing:border-box}.components-form-toggle .components-form-toggle__off{color:#6c7781;fill:currentColor;left:6px}.components-form-toggle .components-form-toggle__on{right:8px}.components-form-toggle .components-form-toggle__track{content:"";display:inline-block;box-sizing:border-box;vertical-align:top;background-color:#fff;border:2px solid #6c7781;width:36px;height:18px;border-radius:9px;transition:background .2s ease}@media (prefers-reduced-motion:reduce){.components-form-toggle .components-form-toggle__track{transition-duration:0s}}.components-form-toggle .components-form-toggle__thumb{display:block;position:absolute;box-sizing:border-box;top:4px;right:4px;width:10px;height:10px;border-radius:50%;transition:transform .1s ease;background-color:#6c7781;border:5px solid #6c7781}@media (prefers-reduced-motion:reduce){.components-form-toggle .components-form-toggle__thumb{transition-duration:0s}}.components-form-toggle:hover .components-form-toggle__track{border:2px solid #555d66}.components-form-toggle:hover .components-form-toggle__thumb{background-color:#555d66;border:5px solid #6c7781}.components-form-toggle:hover .components-form-toggle__off{color:#555d66}.components-form-toggle.is-checked .components-form-toggle__track{background-color:#11a0d2;border:9px solid transparent}body.woocommerce-page .components-form-toggle.is-checked .components-form-toggle__track{background-color:#674399;border:2px solid #674399}.components-form-toggle__input:focus+.components-form-toggle__track{box-shadow:0 0 0 2px #fff,0 0 0 3px #6c7781;outline:2px solid transparent;outline-offset:2px}.components-form-toggle.is-checked .components-form-toggle__thumb{background-color:#fff;border-width:0;transform:translateX(-18px)}.components-form-toggle.is-checked:before{background-color:#11a0d2;border:2px solid #11a0d2}body.woocommerce-page .components-form-toggle.is-checked:before{background-color:#674399;border:2px solid #674399}.components-disabled .components-form-toggle{opacity:.3}.components-form-toggle input.components-form-toggle__input[type=checkbox]{position:absolute;top:0;right:0;width:100%;height:100%;opacity:0;margin:0;padding:0;z-index:1;border:none}.components-form-toggle input.components-form-toggle__input[type=checkbox]:checked{background:none}.components-form-toggle input.components-form-toggle__input[type=checkbox]:before{content:""}.components-form-toggle .components-form-toggle__on{outline:1px solid transparent;outline-offset:-1px;border:1px solid #000;filter:invert(100%) contrast(500%)}@supports (-ms-high-contrast-adjust:auto){.components-form-toggle .components-form-toggle__on{filter:none;border:1px solid #fff}}.components-icon-button{display:flex;align-items:center;padding:8px;margin:0;border:none;background:none;color:#555d66;position:relative;overflow:hidden;border-radius:4px}.components-icon-button .dashicon{display:inline-block;flex:0 0 auto}.components-icon-button svg{fill:currentColor;outline:none}.components-icon-button.has-text svg{margin-left:4px}.components-icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default):hover{background-color:#fff;color:#191e23;box-shadow:inset 0 0 0 1px #e2e4e7,inset 0 0 0 2px #fff,0 1px 1px rgba(25,30,35,.2)}.components-icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default):active{outline:none;background-color:#fff;color:#191e23;box-shadow:inset 0 0 0 1px #ccd0d4,inset 0 0 0 2px #fff}.components-icon-button:disabled:focus,.components-icon-button[aria-disabled=true]:focus{box-shadow:none}.components-notice{display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;background-color:#e5f5fa;border-right:4px solid #00a0d2;margin:5px 15px 2px;padding:8px 12px;align-items:center}.components-notice.is-dismissible{padding-left:36px;position:relative}.components-notice.is-success{border-right-color:#4ab866;background-color:#eff9f1}.components-notice.is-warning{border-right-color:#ffb900;background-color:#ffeab3}.components-notice.is-error{border-right-color:#d94f4f;background-color:#f9e2e2}.components-notice__content{flex-grow:1;margin:4px 0 4px 25px}.components-notice__action.components-button,.components-notice__action.components-button.is-link{margin-right:4px}.components-notice__action.components-button.is-default{vertical-align:initial}.components-notice__dismiss{color:#6c7781;align-self:flex-start;flex-shrink:0}.components-notice__dismiss:not(:disabled):not([aria-disabled=true]):focus,.components-notice__dismiss:not(:disabled):not([aria-disabled=true]):not(.is-default):active,.components-notice__dismiss:not(:disabled):not([aria-disabled=true]):not(.is-default):hover{color:#191e23;background-color:transparent}.components-notice__dismiss:not(:disabled):not([aria-disabled=true]):not(.is-default):hover{box-shadow:none}.components-notice-list{max-width:100vw;box-sizing:border-box;z-index:29}.components-notice-list .components-notice__content{margin-top:12px;margin-bottom:12px;line-height:1.6}.components-notice-list .components-notice__action.components-button{margin-top:-2px;margin-bottom:-2px}.components-select-control__input{background:#fff;height:36px;line-height:36px;margin:1px;outline:0;width:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)!important}@media (min-width:782px){.components-select-control__input{height:28px;line-height:28px}}@media (max-width:782px){.components-base-control .components-base-control__field .components-select-control__input{font-size:16px}}.components-snackbar{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;background-color:#32373c;border-radius:4px;box-shadow:0 2px 4px rgba(0,0,0,.3);color:#fff;padding:16px 24px;width:100%;max-width:600px;box-sizing:border-box;cursor:pointer}@media (min-width:600px){.components-snackbar{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}}.components-snackbar:hover{background-color:#191e23}.components-snackbar:focus{background-color:#191e23;box-shadow:0 0 0 1px #fff,0 0 0 3px #007cba}.components-snackbar__action.components-button{margin-right:32px;color:#fff;height:auto;flex-shrink:0;line-height:1.4;padding:0}.components-snackbar__action.components-button:not(:disabled):not([aria-disabled=true]):not(.is-default){text-decoration:underline;background-color:transparent}.components-snackbar__action.components-button:not(:disabled):not([aria-disabled=true]):not(.is-default):focus{color:#fff;box-shadow:none;outline:1px dotted #fff}.components-snackbar__action.components-button:not(:disabled):not([aria-disabled=true]):not(.is-default):hover{color:#33b3db}.components-snackbar__content{display:flex;align-items:baseline;justify-content:space-between;line-height:1.4}.components-snackbar-list{position:absolute;z-index:100000;width:100%;box-sizing:border-box}.components-snackbar-list__notice-container{position:relative;padding-top:8px}.components-spinner{display:inline-block;background-color:#78848f;width:18px;height:18px;opacity:.7;float:left;margin:5px 11px 0;border-radius:100%;position:relative}.components-spinner:before{content:"";position:absolute;background-color:#fff;top:3px;right:3px;width:4px;height:4px;border-radius:100%;transform-origin:6px 6px;animation:components-spinner__animation 1s linear infinite}@keyframes components-spinner__animation{0%{transform:rotate(0deg)}to{transform:rotate(-1turn)}}.components-text-control__input{width:100%;padding:6px 8px}.components-tooltip.components-popover{z-index:1000002}.components-tooltip.components-popover:before{border-color:transparent}.components-tooltip.components-popover[data-y-axis=top]:after{border-top-color:#191e23}.components-tooltip.components-popover[data-y-axis=bottom]:after{border-bottom-color:#191e23}.components-tooltip.components-popover .components-popover__content{min-width:0}.components-tooltip .components-popover__content{padding:4px 12px;background:#191e23;border-width:0;color:#fff;white-space:nowrap;text-align:center}.components-tooltip__shortcut{display:block;color:#78848f}.components-popover{position:fixed;z-index:1000000;left:50%;opacity:0}.components-popover.is-expanded,.components-popover[data-x-axis][data-y-axis]{opacity:1}.components-popover.is-expanded{top:0;left:0;right:0;bottom:0;z-index:1000000!important}.components-popover:not(.is-without-arrow){margin-left:2px}.components-popover:not(.is-without-arrow):before{border:8px solid #e2e4e7}.components-popover:not(.is-without-arrow):after{border:8px solid #fff}.components-popover:not(.is-without-arrow):after,.components-popover:not(.is-without-arrow):before{content:"";position:absolute;height:0;width:0;line-height:0}.components-popover:not(.is-without-arrow)[data-y-axis=top]{margin-top:-8px}.components-popover:not(.is-without-arrow)[data-y-axis=top]:before{bottom:-8px}.components-popover:not(.is-without-arrow)[data-y-axis=top]:after{bottom:-6px}.components-popover:not(.is-without-arrow)[data-y-axis=top]:after,.components-popover:not(.is-without-arrow)[data-y-axis=top]:before{border-bottom:none;border-left-color:transparent;border-right-color:transparent;border-top-style:solid;margin-left:-10px}.components-popover:not(.is-without-arrow)[data-y-axis=bottom]{margin-top:8px}.components-popover:not(.is-without-arrow)[data-y-axis=bottom]:before{top:-8px}.components-popover:not(.is-without-arrow)[data-y-axis=bottom]:after{top:-6px}.components-popover:not(.is-without-arrow)[data-y-axis=bottom]:after,.components-popover:not(.is-without-arrow)[data-y-axis=bottom]:before{border-bottom-style:solid;border-left-color:transparent;border-right-color:transparent;border-top:none;margin-left:-10px}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=left]{margin-left:-8px}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=left]:before{right:-8px}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=left]:after{right:-6px}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=left]:after,.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=left]:before{border-bottom-color:transparent;border-left-style:solid;border-right:none;border-top-color:transparent}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=right]{margin-left:8px}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=right]:before{left:-8px}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=right]:after{left:-6px}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=right]:after,.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=right]:before{border-bottom-color:transparent;border-left:none;border-right-style:solid;border-top-color:transparent}.components-popover[data-y-axis=top]{bottom:100%}.components-popover[data-y-axis=bottom]{top:100%}.components-popover[data-y-axis=middle]{align-items:center;display:flex}.components-popover__content{box-shadow:0 3px 30px rgba(25,30,35,.1);border:1px solid #e2e4e7;background:#fff;height:100%}.components-popover .components-popover__content{position:absolute;height:auto;overflow-y:auto;min-width:260px}.components-popover.is-expanded .components-popover__content{position:static;height:calc(100% - 50px);overflow-y:visible;min-width:auto;border:none;border-top:1px solid #e2e4e7}.components-popover[data-y-axis=top] .components-popover__content{bottom:100%}.components-popover[data-x-axis=center] .components-popover__content{left:50%;transform:translateX(-50%)}.components-popover[data-x-axis=right] .components-popover__content{position:absolute;left:100%}.components-popover:not([data-y-axis=middle])[data-x-axis=right] .components-popover__content{margin-left:-24px}.components-popover[data-x-axis=left] .components-popover__content{position:absolute;right:100%}.components-popover:not([data-y-axis=middle])[data-x-axis=left] .components-popover__content{margin-right:-24px}.components-popover__content>div{height:100%}.components-popover__header{align-items:center;background:#fff;display:flex;height:50px;justify-content:space-between;padding:0 8px 0 16px}.components-popover__header-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.components-popover__close.components-icon-button{z-index:5}.components-radio-control{display:flex;flex-direction:column}.components-radio-control .components-base-control__help{margin-top:0}.components-radio-control__option:not(:last-child){margin-bottom:4px}.components-radio-control__input[type=radio]{margin-top:0;margin-left:6px}.components-menu-group{width:100%;padding:7px 0}.components-menu-group__label{margin-bottom:8px;color:#6c7781;padding:0 7px}.components-menu-item__button,.components-menu-item__button.components-icon-button{width:100%;padding:8px 15px;text-align:right;color:#40464d;border:none;box-shadow:none}.components-menu-item__button.components-icon-button .components-menu-items__item-icon,.components-menu-item__button.components-icon-button .dashicon,.components-menu-item__button.components-icon-button>span>svg,.components-menu-item__button .components-menu-items__item-icon,.components-menu-item__button .dashicon,.components-menu-item__button>span>svg{margin-left:5px}.components-menu-item__button.components-icon-button .components-menu-items__item-icon,.components-menu-item__button .components-menu-items__item-icon{display:inline-block;flex:0 0 auto}.components-menu-item__button.components-icon-button:hover:not(:disabled):not([aria-disabled=true]),.components-menu-item__button:hover:not(:disabled):not([aria-disabled=true]){color:#191e23;border:none;box-shadow:none;background:#f3f4f5}.components-menu-item__button.components-icon-button:hover:not(:disabled):not([aria-disabled=true]) .components-menu-item__shortcut,.components-menu-item__button:hover:not(:disabled):not([aria-disabled=true]) .components-menu-item__shortcut{color:#40464d}.components-menu-item__button.components-icon-button:focus:not(:disabled):not([aria-disabled=true]),.components-menu-item__button:focus:not(:disabled):not([aria-disabled=true]){color:#191e23;border:none;box-shadow:none;outline-offset:-2px;outline:1px dotted #555d66}.components-menu-item__info-wrapper{display:flex;flex-direction:column}.components-menu-item__info{margin-top:4px;font-size:12px;color:#6c7781}.components-menu-item__shortcut{-ms-grid-row-align:center;align-self:center;color:#6c7781;margin-left:0;margin-right:auto;padding-right:8px;display:none}@media (min-width:480px){.components-menu-item__shortcut{display:inline}}.components-modal__screen-overlay{position:fixed;top:0;left:0;bottom:0;right:0;background-color:rgba(0,0,0,.7);z-index:100000;animation:edit-post__fade-in-animation .2s ease-out 0s;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.components-modal__screen-overlay{animation-duration:1ms}}.components-modal__frame{position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;margin:0;border:1px solid #e2e4e7;background:#fff;box-shadow:0 3px 30px rgba(25,30,35,.2);overflow:auto}@media (min-width:600px){.components-modal__frame{top:50%;left:auto;bottom:auto;right:50%;min-width:360px;max-width:calc(100% - 32px);max-height:calc(100% - 112px);transform:translate(50%,-50%);animation:components-modal__appear-animation .1s ease-out;animation-fill-mode:forwards}}@media (min-width:600px) and (prefers-reduced-motion:reduce){.components-modal__frame{animation-duration:1ms}}@keyframes components-modal__appear-animation{0%{margin-top:32px}to{margin-top:0}}.components-modal__header{box-sizing:border-box;border-bottom:1px solid #e2e4e7;padding:0 24px;display:flex;flex-direction:row;justify-content:space-between;background:#fff;align-items:center;height:56px;position:-webkit-sticky;position:sticky;top:0;z-index:10;margin:0 -24px 24px}@supports (-ms-ime-align:auto){.components-modal__header{position:fixed;width:100%}}.components-modal__header .components-modal__header-heading{font-size:1rem;font-weight:600}.components-modal__header h1{line-height:1;margin:0}.components-modal__header .components-icon-button{position:relative;right:8px}.components-modal__header-heading-container{align-items:center;flex-grow:1;display:flex;flex-direction:row;justify-content:left}.components-modal__header-icon-container{display:inline-block}.components-modal__header-icon-container svg{max-width:36px;max-height:36px;padding:8px}.components-modal__content{box-sizing:border-box;height:100%;padding:0 24px 24px}@supports (-ms-ime-align:auto){.components-modal__content{padding-top:56px}}.components-base-control{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}.components-base-control .components-base-control__field{margin-bottom:8px}.components-panel__row .components-base-control .components-base-control__field{margin-bottom:inherit}.components-base-control .components-base-control__label{display:inline-block;margin-bottom:4px}.components-base-control .components-base-control__help{margin-top:-8px;font-style:italic}.components-base-control+.components-base-control{margin-bottom:16px}.PresetDateRangePicker_panel{padding:0 22px 11px}.PresetDateRangePicker_button{position:relative;height:100%;text-align:center;background:100% 0;border:2px solid #00a699;color:#00a699;padding:4px 12px;margin-left:8px;font:inherit;font-weight:700;line-height:normal;overflow:visible;box-sizing:border-box;cursor:pointer}.PresetDateRangePicker_button:active{outline:0}.PresetDateRangePicker_button__selected{color:#fff;background:#00a699}.SingleDatePickerInput{display:inline-block;background-color:#fff}.SingleDatePickerInput__withBorder{border-radius:2px;border:1px solid #dbdbdb}.SingleDatePickerInput__rtl{direction:ltr}.SingleDatePickerInput__disabled{background-color:#f2f2f2}.SingleDatePickerInput__block{display:block}.SingleDatePickerInput__showClearDate{padding-left:30px}.SingleDatePickerInput_clearDate{background:100% 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;cursor:pointer;padding:10px;margin:0 5px 0 10px;position:absolute;left:0;top:50%;transform:translateY(-50%)}.SingleDatePickerInput_clearDate__default:focus,.SingleDatePickerInput_clearDate__default:hover{background:#dbdbdb;border-radius:50%}.SingleDatePickerInput_clearDate__small{padding:6px}.SingleDatePickerInput_clearDate__hide{visibility:hidden}.SingleDatePickerInput_clearDate_svg{fill:#82888a;height:12px;width:15px;vertical-align:middle}.SingleDatePickerInput_clearDate_svg__small{height:9px}.SingleDatePickerInput_calendarIcon{background:100% 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;cursor:pointer;display:inline-block;vertical-align:middle;padding:10px;margin:0 10px 0 5px}.SingleDatePickerInput_calendarIcon_svg{fill:#82888a;height:15px;width:14px;vertical-align:middle}.SingleDatePicker{position:relative;display:inline-block}.SingleDatePicker__block{display:block}.SingleDatePicker_picker{z-index:1;background-color:#fff;position:absolute}.SingleDatePicker_picker__rtl{direction:ltr}.SingleDatePicker_picker__directionLeft{right:0}.SingleDatePicker_picker__directionRight{left:0}.SingleDatePicker_picker__portal{background-color:rgba(0,0,0,.3);position:fixed;top:0;right:0;height:100%;width:100%}.SingleDatePicker_picker__fullScreenPortal{background-color:#fff}.SingleDatePicker_closeButton{background:100% 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;cursor:pointer;position:absolute;top:0;left:0;padding:15px;z-index:2}.SingleDatePicker_closeButton:focus,.SingleDatePicker_closeButton:hover{color:#b0b3b4;text-decoration:none}.SingleDatePicker_closeButton_svg{height:15px;width:15px;fill:#cacccd}.DayPickerKeyboardShortcuts_buttonReset{background:100% 0;border:0;border-radius:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;cursor:pointer;font-size:14px}.DayPickerKeyboardShortcuts_buttonReset:active{outline:0}.DayPickerKeyboardShortcuts_show{width:22px;position:absolute;z-index:2}.DayPickerKeyboardShortcuts_show__bottomRight{border-top:26px solid transparent;border-left:33px solid #00a699;bottom:0;left:0}.DayPickerKeyboardShortcuts_show__bottomRight:hover{border-left:33px solid #008489}.DayPickerKeyboardShortcuts_show__topRight{border-bottom:26px solid transparent;border-left:33px solid #00a699;top:0;left:0}.DayPickerKeyboardShortcuts_show__topRight:hover{border-left:33px solid #008489}.DayPickerKeyboardShortcuts_show__topLeft{border-bottom:26px solid transparent;border-right:33px solid #00a699;top:0;right:0}.DayPickerKeyboardShortcuts_show__topLeft:hover{border-right:33px solid #008489}.DayPickerKeyboardShortcuts_showSpan{color:#fff;position:absolute}.DayPickerKeyboardShortcuts_showSpan__bottomRight{bottom:0;left:-28px}.DayPickerKeyboardShortcuts_showSpan__topRight{top:1px;left:-28px}.DayPickerKeyboardShortcuts_showSpan__topLeft{top:1px;right:-28px}.DayPickerKeyboardShortcuts_panel{overflow:auto;background:#fff;border:1px solid #dbdbdb;border-radius:2px;position:absolute;top:0;bottom:0;left:0;right:0;z-index:2;padding:22px;margin:33px}.DayPickerKeyboardShortcuts_title{font-size:16px;font-weight:700;margin:0}.DayPickerKeyboardShortcuts_list{list-style:none;padding:0;font-size:14px}.DayPickerKeyboardShortcuts_close{position:absolute;left:22px;top:22px;z-index:2}.DayPickerKeyboardShortcuts_close:active{outline:0}.DayPickerKeyboardShortcuts_closeSvg{height:15px;width:15px;fill:#cacccd}.DayPickerKeyboardShortcuts_closeSvg:focus,.DayPickerKeyboardShortcuts_closeSvg:hover{fill:#82888a}.CalendarDay{box-sizing:border-box;cursor:pointer;font-size:14px;text-align:center}.CalendarDay:active{outline:0}.CalendarDay__defaultCursor{cursor:default}.CalendarDay__default{border:1px solid #e4e7e7;color:#484848;background:#fff}.CalendarDay__default:hover{background:#e4e7e7;border:1px double #e4e7e7;color:inherit}.CalendarDay__hovered_offset{background:#f4f5f5;border:1px double #e4e7e7;color:inherit}.CalendarDay__outside{border:0;background:#fff;color:#484848}.CalendarDay__outside:hover{border:0}.CalendarDay__blocked_minimum_nights{background:#fff;border:1px solid #eceeee;color:#cacccd}.CalendarDay__blocked_minimum_nights:active,.CalendarDay__blocked_minimum_nights:hover{background:#fff;color:#cacccd}.CalendarDay__highlighted_calendar{background:#ffe8bc;color:#484848}.CalendarDay__highlighted_calendar:active,.CalendarDay__highlighted_calendar:hover{background:#ffce71;color:#484848}.CalendarDay__selected_span{background:#66e2da;border:1px solid #33dacd;color:#fff}.CalendarDay__selected_span:active,.CalendarDay__selected_span:hover{background:#33dacd;border:1px solid #33dacd;color:#fff}.CalendarDay__last_in_range{border-left:#00a699}.CalendarDay__selected,.CalendarDay__selected:active,.CalendarDay__selected:hover{background:#00a699;border:1px solid #00a699;color:#fff}.CalendarDay__hovered_span,.CalendarDay__hovered_span:hover{background:#b2f1ec;border:1px solid #80e8e0;color:#007a87}.CalendarDay__hovered_span:active{background:#80e8e0;border:1px solid #80e8e0;color:#007a87}.CalendarDay__blocked_calendar,.CalendarDay__blocked_calendar:active,.CalendarDay__blocked_calendar:hover{background:#cacccd;border:1px solid #cacccd;color:#82888a}.CalendarDay__blocked_out_of_range,.CalendarDay__blocked_out_of_range:active,.CalendarDay__blocked_out_of_range:hover{background:#fff;border:1px solid #e4e7e7;color:#cacccd}.CalendarMonth{background:#fff;text-align:center;vertical-align:top;-webkit-user-select:none;-ms-user-select:none;user-select:none}.CalendarMonth_table{border-collapse:collapse;border-spacing:0}.CalendarMonth_verticalSpacing{border-collapse:separate}.CalendarMonth_caption{color:#484848;font-size:18px;text-align:center;padding-top:22px;padding-bottom:37px;caption-side:top}.CalendarMonth_caption__verticalScrollable{padding-top:12px;padding-bottom:7px}.CalendarMonthGrid{background:#fff;text-align:right;z-index:0}.CalendarMonthGrid__animating{z-index:1}.CalendarMonthGrid__horizontal{position:absolute;right:9px}.CalendarMonthGrid__vertical{margin:0 auto}.CalendarMonthGrid__vertical_scrollable{margin:0 auto;overflow-y:scroll}.CalendarMonthGrid_month__horizontal{display:inline-block;vertical-align:top;min-height:100%}.CalendarMonthGrid_month__hideForAnimation{position:absolute;z-index:-1;opacity:0;pointer-events:none}.CalendarMonthGrid_month__hidden{visibility:hidden}.DayPickerNavigation{position:relative;z-index:2}.DayPickerNavigation__horizontal{height:0}.DayPickerNavigation__verticalDefault{position:absolute;width:100%;height:52px;bottom:0;right:0}.DayPickerNavigation__verticalScrollableDefault{position:relative}.DayPickerNavigation_button{cursor:pointer;-webkit-user-select:none;-ms-user-select:none;user-select:none;border:0;padding:0;margin:0}.DayPickerNavigation_button__default{border:1px solid #e4e7e7;background-color:#fff;color:#757575}.DayPickerNavigation_button__default:focus,.DayPickerNavigation_button__default:hover{border:1px solid #c4c4c4}.DayPickerNavigation_button__default:active{background:#f2f2f2}.DayPickerNavigation_button__horizontalDefault{position:absolute;top:18px;line-height:.78;border-radius:3px;padding:6px 9px}.DayPickerNavigation_leftButton__horizontalDefault{right:22px}.DayPickerNavigation_rightButton__horizontalDefault{left:22px}.DayPickerNavigation_button__verticalDefault{padding:5px;background:#fff;box-shadow:0 0 5px 2px rgba(0,0,0,.1);position:relative;display:inline-block;height:100%;width:50%}.DayPickerNavigation_nextButton__verticalDefault{border-right:0}.DayPickerNavigation_nextButton__verticalScrollableDefault{width:100%}.DayPickerNavigation_svg__horizontal{height:19px;width:19px;fill:#82888a;display:block}.DayPickerNavigation_svg__vertical{height:42px;width:42px;fill:#484848;display:block}.DayPicker{position:relative;text-align:right}.DayPicker,.DayPicker__horizontal{background:#fff}.DayPicker__verticalScrollable{height:100%}.DayPicker__hidden{visibility:hidden}.DayPicker__withBorder{box-shadow:0 2px 6px rgba(0,0,0,.05),0 0 0 1px rgba(0,0,0,.07);border-radius:3px}.DayPicker_portal__horizontal{box-shadow:none;position:absolute;right:50%;top:50%}.DayPicker_portal__vertical{position:static}.DayPicker_focusRegion{outline:0}.DayPicker_calendarInfo__horizontal,.DayPicker_wrapper__horizontal{display:inline-block;vertical-align:top}.DayPicker_weekHeaders{position:relative}.DayPicker_weekHeaders__horizontal{margin-right:9px}.DayPicker_weekHeader{color:#757575;position:absolute;top:62px;z-index:2;text-align:right}.DayPicker_weekHeader__vertical{right:50%}.DayPicker_weekHeader__verticalScrollable{top:0;display:table-row;border-bottom:1px solid #dbdbdb;background:#fff;margin-right:0;right:0;width:100%;text-align:center}.DayPicker_weekHeader_ul{list-style:none;margin:1px 0;padding-right:0;padding-left:0;font-size:14px}.DayPicker_weekHeader_li{display:inline-block;text-align:center}.DayPicker_transitionContainer{position:relative;overflow:hidden;border-radius:3px}.DayPicker_transitionContainer__horizontal{transition:height .2s ease-in-out}.DayPicker_transitionContainer__vertical{width:100%}.DayPicker_transitionContainer__verticalScrollable{padding-top:20px;height:100%;position:absolute;top:0;bottom:0;left:0;right:0;overflow-y:scroll}.DateInput{margin:0;padding:0;background:#fff;position:relative;display:inline-block;width:130px;vertical-align:middle}.DateInput__small{width:97px}.DateInput__block{width:100%}.DateInput__disabled{background:#f2f2f2;color:#dbdbdb}.DateInput_input{font-weight:200;font-size:19px;line-height:24px;color:#484848;background-color:#fff;width:100%;padding:11px 11px 9px;border:0;border-bottom:2px solid transparent;border-radius:0}.DateInput_input__small{font-size:15px;line-height:18px;letter-spacing:.2px;padding:7px 7px 5px}.DateInput_input__regular{font-weight:auto}.DateInput_input__readOnly{-webkit-user-select:none;-ms-user-select:none;user-select:none}.DateInput_input__focused{outline:0;background:#fff;border:0;border-bottom:2px solid #008489}.DateInput_input__disabled{background:#f2f2f2;font-style:italic}.DateInput_screenReaderMessage{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.DateInput_fang{position:absolute;width:20px;height:10px;right:22px;z-index:2}.DateInput_fangShape{fill:#fff}.DateInput_fangStroke{stroke:#dbdbdb;fill:transparent}.DateRangePickerInput{background-color:#fff;display:inline-block}.DateRangePickerInput__disabled{background:#f2f2f2}.DateRangePickerInput__withBorder{border-radius:2px;border:1px solid #dbdbdb}.DateRangePickerInput__rtl{direction:ltr}.DateRangePickerInput__block{display:block}.DateRangePickerInput__showClearDates{padding-left:30px}.DateRangePickerInput_arrow{display:inline-block;vertical-align:middle;color:#484848}.DateRangePickerInput_arrow_svg{vertical-align:middle;fill:#484848;height:24px;width:24px}.DateRangePickerInput_clearDates{background:100% 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;cursor:pointer;padding:10px;margin:0 5px 0 10px;position:absolute;left:0;top:50%;transform:translateY(-50%)}.DateRangePickerInput_clearDates__small{padding:6px}.DateRangePickerInput_clearDates_default:focus,.DateRangePickerInput_clearDates_default:hover{background:#dbdbdb;border-radius:50%}.DateRangePickerInput_clearDates__hide{visibility:hidden}.DateRangePickerInput_clearDates_svg{fill:#82888a;height:12px;width:15px;vertical-align:middle}.DateRangePickerInput_clearDates_svg__small{height:9px}.DateRangePickerInput_calendarIcon{background:100% 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;cursor:pointer;display:inline-block;vertical-align:middle;padding:10px;margin:0 10px 0 5px}.DateRangePickerInput_calendarIcon_svg{fill:#82888a;height:15px;width:14px;vertical-align:middle}.DateRangePicker{position:relative;display:inline-block}.DateRangePicker__block{display:block}.DateRangePicker_picker{z-index:1;background-color:#fff;position:absolute}.DateRangePicker_picker__rtl{direction:ltr}.DateRangePicker_picker__directionLeft{right:0}.DateRangePicker_picker__directionRight{left:0}.DateRangePicker_picker__portal{background-color:rgba(0,0,0,.3);position:fixed;top:0;right:0;height:100%;width:100%}.DateRangePicker_picker__fullScreenPortal{background-color:#fff}.DateRangePicker_closeButton{background:100% 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;cursor:pointer;position:absolute;top:0;left:0;padding:15px;z-index:2}.DateRangePicker_closeButton:focus,.DateRangePicker_closeButton:hover{color:#b0b3b4;text-decoration:none}.DateRangePicker_closeButton_svg{height:15px;width:15px;fill:#cacccd}.components-datetime,.components-datetime .components-datetime__calendar-help{padding:16px}.components-datetime .components-datetime__calendar-help h4{margin:0}.components-datetime .components-datetime__date-help-button{display:block;margin-right:auto}.components-datetime fieldset{border:0;padding:0;margin:0}.components-datetime input,.components-datetime select{box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:4px;border:1px solid #78848f}@media (prefers-reduced-motion:reduce){.components-datetime input,.components-datetime select{transition-duration:0s}}.components-datetime .components-button,.components-datetime input[type=number],.components-datetime select{height:30px;margin-top:0;margin-bottom:0}.components-datetime__date{min-height:236px;border-top:1px solid #e2e4e7}.components-datetime__date .CalendarMonthGrid{margin-right:-13px}.components-datetime__date .DayPickerNavigation_leftButton__horizontalDefault{right:0}.components-datetime__date .CalendarMonth_caption{font-size:13px}.components-datetime__date .CalendarDay{font-size:13px;border:1px solid transparent;border-radius:50%;text-align:center}.components-datetime__date .CalendarDay__selected{background:#0085ba}body.woocommerce-page .components-datetime__date .CalendarDay__selected{background:#7f54b3}.components-datetime__date .CalendarDay__selected:hover{background:#00719e}body.woocommerce-page .components-datetime__date .CalendarDay__selected:hover{background:#6c4798}.components-datetime__date .DayPickerNavigation_button__horizontalDefault{padding:2px 8px;top:20px}.components-datetime__date .DayPickerNavigation_button__horizontalDefault:focus{color:#191e23;border-color:#007cba;box-shadow:0 0 0 1px #007cba;outline:2px solid transparent}.components-datetime__date .DayPicker_weekHeader{top:50px}.components-datetime__date .DayPicker_weekHeader .DayPicker_weekHeader_ul{margin:1px 0;padding-right:0;padding-left:0}.components-datetime__date.is-description-visible .components-datetime__date-help-button,.components-datetime__date.is-description-visible .DayPicker{visibility:hidden}.components-datetime__time{padding-bottom:16px}.components-datetime__time fieldset{position:relative;margin-bottom:.5em}.components-datetime__time fieldset+fieldset{margin-bottom:0}.components-datetime__time .components-datetime__time-field-am-pm fieldset{margin-top:0}.components-datetime__time .components-datetime__time-wrapper{display:flex}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-separator{display:inline-block;padding:0 0 0 3px;color:#555d66}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-am-button{margin-right:8px;margin-left:-1px;border-radius:0 3px 3px 0}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-pm-button{margin-right:-1px;border-radius:3px 0 0 3px}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-am-button:focus,.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-pm-button:focus{position:relative;z-index:1}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-am-button.is-toggled,.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-pm-button.is-toggled{background:#edeff0;border-color:#86909b;box-shadow:inset 0 2px 5px -3px #555d66}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-am-button.is-toggled:focus,.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-pm-button.is-toggled:focus{box-shadow:inset 0 2px 5px -3px #555d66,0 0 0 1px #fff,0 0 0 3px #007cba}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field-time{direction:rtl}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field.am-pm button{font-size:11px;font-weight:600}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field select{margin-left:4px}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field select:focus{position:relative;z-index:1}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field input[type=number]{padding:2px;margin-left:4px;text-align:center;-moz-appearance:textfield}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field input[type=number]:focus{position:relative;z-index:1}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.components-datetime__time.is-12-hour .components-datetime__time-field-day input{margin:0 0 0 -4px!important;border-radius:0 4px 4px 0!important}.components-datetime__time.is-12-hour .components-datetime__time-field-year input{border-radius:4px 0 0 4px!important}.components-datetime__time-legend{font-weight:600;margin-top:.5em}.components-datetime__time-legend.invisible{position:absolute;top:-999em;right:-999em}.components-datetime__time-field-day-input,.components-datetime__time-field-hours-input,.components-datetime__time-field-minutes-input{width:35px}.components-datetime__time-field-year-input{width:55px}.components-datetime__time-field-month-select{max-width:145px}.components-popover .components-datetime__date{padding-right:4px}.components-drop-zone{position:absolute;top:0;left:0;bottom:0;right:0;z-index:40;visibility:hidden;opacity:0;transition:opacity .3s,background-color .3s,visibility 0s .3s;border:2px solid #0071a1;border-radius:2px}@media (prefers-reduced-motion:reduce){.components-drop-zone{transition-duration:0s}}.components-drop-zone.is-active{opacity:1;visibility:visible;transition:opacity .3s,background-color .3s}@media (prefers-reduced-motion:reduce){.components-drop-zone.is-active{transition-duration:0s}}.components-drop-zone.is-dragging-over-element{background-color:rgba(0,113,161,.8)}.components-drop-zone__content{position:absolute;top:50%;right:0;left:0;z-index:50;transform:translateY(-50%);width:100%;text-align:center;color:#fff;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.components-drop-zone__content{transition-duration:0s}}.components-drop-zone.is-dragging-over-element .components-drop-zone__content{transform:translateY(-50%) scale(1.05)}.components-drop-zone__content-icon,.components-drop-zone__content-text{display:block}.components-drop-zone__content-icon{margin:0 auto;line-height:0}.components-drop-zone__content-text{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.components-drop-zone__provider{height:100%}.components-form-file-upload .components-button.is-large{padding-right:6px}.woocommerce-layout{margin:0;padding:0}.woocommerce-layout__primary{margin:80px 40px 0 0;margin:80px var(--large-gap) 0 0}@media (min-width:961px){.woocommerce-layout__primary{margin-top:100px}}@media (max-width:782px){.woocommerce-layout__primary{margin-top:60px}}.woocommerce-layout .woocommerce-layout__main{padding-left:40px;padding-left:var(--large-gap);max-width:100%}.woocommerce-admin-is-loading #adminmenumain,.woocommerce-admin-is-loading #wpadminbar,.woocommerce-admin-is-loading #wpbody-content,.woocommerce-admin-is-loading #wpcontent,.woocommerce-admin-is-loading #wpfooter,.woocommerce-admin-is-loading .components-modal__screen-overlay,.woocommerce-admin-is-loading .error,.woocommerce-admin-is-loading .notice,.woocommerce-admin-is-loading .update-nag,.woocommerce-admin-is-loading .updated,.woocommerce-admin-is-loading .woocommerce-layout__header,.woocommerce-admin-is-loading .woocommerce-message,.woocommerce-admin-is-loading .woocommerce-store-alerts,.woocommerce-page .update-nag{display:none}.woocommerce-admin-full-screen{background:#f6f7f7;color:#50575e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.woocommerce-admin-full-screen #wpwrap{top:0}.woocommerce-admin-full-screen #wpbody-content{min-height:100vh}.woocommerce-admin-full-screen #adminmenumain,.woocommerce-admin-full-screen #wpcontent>*,.woocommerce-admin-full-screen .error,.woocommerce-admin-full-screen .notice,.woocommerce-admin-full-screen .update-nag,.woocommerce-admin-full-screen .updated,.woocommerce-admin-full-screen .woocommerce-layout__header,.woocommerce-admin-full-screen .woocommerce-message,.woocommerce-admin-full-screen .woocommerce-store-alerts{display:none}.woocommerce-admin-full-screen #wpcontent{margin-right:0}.woocommerce-admin-full-screen #wpcontent>#wpbody{display:block}.woocommerce-onboarding .woocommerce-stepper .woocommerce-stepper__step .woocommerce-stepper__step-label{color:#2c3338}.woocommerce-onboarding .woocommerce-stepper .woocommerce-stepper__step.is-active .woocommerce-stepper__step-icon,.woocommerce-onboarding .woocommerce-stepper .woocommerce-stepper__step.is-complete .woocommerce-stepper__step-icon{background:#674399;color:#fff}.woocommerce-onboarding .woocommerce-stepper .woocommerce-stepper__step.is-active .woocommerce-stepper__step-label,.woocommerce-onboarding .woocommerce-stepper .woocommerce-stepper__step.is-complete .woocommerce-stepper__step-label{color:#1d2327}.woocommerce-onboarding .woocommerce-stepper .woocommerce-stepper__step .woocommerce-spinner{background:#674399}.woocommerce-onboarding .muriel-component{margin-top:16px;margin-bottom:16px}.woocommerce-onboarding .components-base-control.has-error{margin-bottom:32px!important;border-color:#d63638}.woocommerce-onboarding .components-base-control.has-error .components-base-control__help{top:100%;right:12px;position:absolute;margin-top:4px;font-size:12px;font-style:normal;color:#d63638}.woocommerce-onboarding .components-form-toggle{display:inline-block}.woocommerce-onboarding .components-form-toggle label{font-size:14px}.woocommerce-onboarding .components-form-toggle .components-base-control{display:inline-block}.woocommerce-onboarding .components-form-toggle .components-form-toggle__track{width:36px;max-width:36px;height:18px;max-height:18px}.woocommerce-onboarding .components-form-toggle .components-base-control__field{margin-bottom:0}.woocommerce-onboarding .components-form-toggle.is-checked .components-form-toggle__track{background-color:#674399;border-color:#674399}body.woocommerce-page .components-button.is-button.is-primary.is-busy:not(:disabled):focus{cursor:progress;background-image:linear-gradient(45deg,#c9356e 28%,#8d254d 0,#8d254d 72%,#c9356e 0)!important}.woocommerce-page .components-modal__frame .components-button.is-button,.woocommerce-profile-wizard__body .components-button.is-button,.woocommerce-task-dashboard__container .components-button.is-button{height:48px;padding-right:25px;padding-left:25px;text-align:center;font-size:14px;line-height:36px;font-weight:500;align-items:center}.woocommerce-page .components-modal__frame .components-button.is-button:disabled,.woocommerce-profile-wizard__body .components-button.is-button:disabled,.woocommerce-task-dashboard__container .components-button.is-button:disabled{cursor:not-allowed}.components-modal__frame.woocommerce-cart-modal{width:600px;max-width:100%}.components-modal__frame.woocommerce-cart-modal .components-modal__header{border-bottom:0;margin-bottom:16px;margin-top:16px}.components-modal__frame.woocommerce-cart-modal .components-modal__header button{display:none}.components-modal__frame.woocommerce-cart-modal .components-modal__header-heading{font-style:normal;font-weight:400;font-size:24px;line-height:32px}.components-modal__frame.woocommerce-cart-modal .woocommerce-list{margin-top:4px}.components-modal__frame.woocommerce-cart-modal .woocommerce-list .woocommerce-list__item:first-child{border-top:1px solid #dcdcde}.components-modal__frame.woocommerce-cart-modal .woocommerce-list__item{border-bottom:1px solid #dcdcde}.components-modal__frame.woocommerce-cart-modal .woocommerce-cart-modal__help-text{font-size:16px;line-height:24px}.components-modal__frame.woocommerce-cart-modal .woocommerce-cart-modal__actions{text-align:left}.components-modal__frame.woocommerce-cart-modal .woocommerce-cart-modal__actions button.is-link{color:#c9356e;margin-left:16px;text-decoration:none;font-weight:600;font-size:14px}.components-modal__frame.woocommerce-cart-modal .woocommerce-cart-modal__actions button.is-primary{align-self:flex-end}.woocommerce-analytics__table-placeholder .woocommerce-card__body{padding:0}.woocommerce-analytics__table-placeholder .woocommerce-table__table{margin-bottom:0}.woocommerce-analytics__table-placeholder .woocommerce-table__table tr:last-child{border-bottom-style:none}.woocommerce-analytics__card{border-radius:0;border:1px solid #ccd0d4;box-shadow:none}.woocommerce-analytics__card:hover{box-shadow:none}@media (max-width:782px){.woocommerce-analytics__card{border-right:none;border-left:none;margin-right:-16px;margin-left:-16px}}.woocommerce-analytics__card>.woocommerce-card__header{padding:13px 16px;border-bottom:1px solid #ccd0d4;border-radius:0}.woocommerce-analytics__card>.woocommerce-card__header>.woocommerce-card__title-wrapper>.woocommerce-card__title{padding:3px 0;font-size:15px;font-size:.9375rem;font-weight:600}.woocommerce-layout__header{background:#fff;display:flex;justify-content:space-between;flex-direction:row;box-sizing:border-box;border-bottom:1px solid #fff;padding:0;height:56px;position:fixed;width:100%;top:32px;z-index:1001}.woocommerce-layout__header.is-scrolled{box-shadow:0 8px 8px 0 rgba(85,93,102,.3)}@media (max-width:782px){.woocommerce-layout__header{flex-flow:row wrap;top:46px}}.woocommerce-layout__header .woocommerce-layout__header-breadcrumbs{font-size:13px;font-weight:400;padding:0 40px 0 0;padding:0 var(--large-gap) 0 0;flex:1 auto;height:56px;line-height:56px;background:#fff}.woocommerce-layout__header .woocommerce-layout__header-breadcrumbs span+span:before{content:" / ";color:#555d66;margin:0 2px}.woocommerce-layout__header .woocommerce-layout__header-breadcrumbs a{color:#c9356e}.woocommerce-page #contextual-help-link-wrap,.woocommerce-page #screen-options-link-wrap{margin-top:-1px}.woocommerce-layout__activity-panel{display:flex;flex-direction:row;align-items:center;position:fixed;left:0;height:56px}@media (max-width:782px){.woocommerce-layout__activity-panel{position:relative;background:#fff;margin:0;padding:0;width:100vw;display:none;flex:1 100%}}@media (min-width:783px) and (max-width:960px){.woocommerce-layout__activity-panel{max-width:280px}}@media (min-width:1281px){.woocommerce-layout__activity-panel{max-width:400px}}.woocommerce-layout__activity-panel.is-mobile-open{display:flex}.woocommerce-layout__activity-panel-tabs{width:100%;display:flex;height:56px;justify-content:flex-end}.woocommerce-layout__activity-panel-tabs .dashicon,.woocommerce-layout__activity-panel-tabs .gridicon{width:100%}.woocommerce-layout__activity-panel-tabs svg{width:18px;height:18px}@media (min-width:961px){.woocommerce-layout__activity-panel-tabs svg{width:24px;height:24px}}.woocommerce-layout__activity-panel-tabs .components-icon-button{display:initial;text-indent:0;border-radius:0}.woocommerce-layout__activity-panel-tabs .components-icon-button.has-text svg{margin:0}.woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab{display:flex;flex-direction:column;justify-content:center;border:none;outline:none;cursor:pointer;background-color:#fff;max-width:-webkit-min-content;max-width:min-content;min-width:80px;width:100%;height:56px}.woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab:before{background-color:#007cba;bottom:0;content:"";height:0;opacity:0;transition-property:height,opacity;transition-duration:.3s;transition-timing-function:ease-in-out;right:0;position:absolute;left:0}body.woocommerce-page .woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab:before{background-color:#c9356e}.woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab.is-active{color:#32373c;box-shadow:none}.woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab.is-active:before{height:3px;opacity:1}.woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab.has-unread:after,.woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab.woocommerce-layout__activity-panel-tab-wordpress-notices:after{content:" ";position:absolute;padding:1px;background:#ca4a1f;border:2px solid #fff;width:4px;height:4px;display:inline-block;border-radius:50%;top:8px;right:50%}@media (min-width:783px) and (max-width:960px){.woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab.has-unread:after,.woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab.woocommerce-layout__activity-panel-tab-wordpress-notices:after{left:18px;right:auto;margin-right:0}}@media (min-width:961px){.woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab.has-unread:after,.woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab.woocommerce-layout__activity-panel-tab-wordpress-notices:after{left:28px;right:auto;margin-right:0}}.woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab.components-button:not(:disabled):not([aria-disabled=true]):hover,.woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab:hover{background-color:#f3f4f5;box-shadow:none}.woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab.components-button:not(:disabled):not([aria-disabled=true]):hover.has-unread:after,.woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab.components-button:not(:disabled):not([aria-disabled=true]):hover.woocommerce-layout__activity-panel-tab-wordpress-notices:after,.woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab:hover.has-unread:after,.woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab:hover.woocommerce-layout__activity-panel-tab-wordpress-notices:after{border-color:#f3f4f5}.woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab.components-button:not(:disabled):not([aria-disabled=true]):focus,.woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab:focus{box-shadow:inset 1px -1px 0 #6c7781,inset -1px 1px 0 #6c7781}.woocommerce-layout__activity-panel-mobile-toggle{margin-left:10px;max-width:48px;height:56px;position:fixed;top:46px;left:0}@media (min-width:783px){.woocommerce-layout__activity-panel-mobile-toggle{display:none}}.wp-responsive-open .woocommerce-layout__activity-panel-mobile-toggle{display:none}.woocommerce-layout__activity-panel-toggle-bubble.has-unread:after{content:" ";position:absolute;padding:1px;background:#ca4a1f;border:2px solid #fff;width:4px;height:4px;display:inline-block;border-radius:50%;top:6px;left:4px}@keyframes tabSwitch{0%,to{transform:translateX(0)}50%{transform:translateX(-100px)}}.woocommerce-layout__activity-panel-wrapper{height:calc(100vh - 158px);background:#f3f4f5;width:510px;transform:translateX(-100%);transition-property:transform box-shadow;transition-duration:.3s;transition-timing-function:ease-in-out;position:fixed;left:0;top:158px;z-index:1000;overflow-x:hidden;overflow-y:auto}@media (max-width:782px){.woocommerce-layout__activity-panel-wrapper{width:100%}}@media screen and (prefers-reduced-motion:reduce){.woocommerce-layout__activity-panel-wrapper{transition-duration:1ms}}@media (min-width:783px){.woocommerce-layout__activity-panel-wrapper{height:calc(100vh - 88px);top:88px}}.woocommerce-layout__activity-panel-wrapper.is-open{transform:none;box-shadow:0 12px 12px 0 rgba(85,93,102,.3)}.woocommerce-layout__activity-panel-wrapper.is-switching{animation:tabSwitch;animation-duration:.3s}@media screen and (prefers-reduced-motion:reduce){.woocommerce-layout__activity-panel-wrapper.is-switching{animation:none}}.woocommerce-layout__activity-panel-wrapper .woocommerce-empty-content{padding-right:24px;padding-left:24px}.woocommerce-layout__activity-panel-avatar-flag-overlay{position:relative;top:-12px}.woocommerce-layout__activity-panel-avatar-flag-overlay .woocommerce-flag{position:relative;top:16px;border:2px solid #fff}.woocommerce-layout__notice-list-hide{display:none}.woocommerce-transient-notices{position:fixed;bottom:12px;right:0;z-index:99999}.woocommerce-transient-notices .components-snackbar-list__notice-container{margin-right:12px;margin-left:12px}.woocommerce-transient-notices .components-snackbar{margin:0 auto}.woocommerce-navigation{position:fixed;top:32px;right:0;width:160px;height:100%;background:#23282d}.woocommerce-navigation__menu-item{padding:8px 0}.has-woocommerce-navigation #adminmenuback,.has-woocommerce-navigation #adminmenuwrap{display:none!important}
\ No newline at end of file
diff --git a/dist/app/style.css b/dist/app/style.css
new file mode 100644
index 00000000000..098bf9fe97f
--- /dev/null
+++ b/dist/app/style.css
@@ -0,0 +1 @@
+.woocommerce-page .wrap{margin:0}.woocommerce-page #wpcontent,.woocommerce-page.woocommerce_page_wc-admin #wpbody-content{padding:0;overflow-x:hidden!important;min-height:calc(100vh - 32px)}@media (min-width:783px){.woocommerce-page #wpbody-content{padding-left:0}}@media (max-width:782px){.woocommerce-page .wp-responsive-open #woocommerce-embedded-root,.woocommerce-page .wp-responsive-open #wpbody{position:relative;right:-14.5em}.woocommerce-page #wpbody-content,.woocommerce-page #wpcontent{min-height:calc(100vh - 46px)}}@media (min-width:961px){.woocommerce-page #toplevel_page_wcadmin--analytics.menu-top>a:focus,.woocommerce-page #toplevel_page_woocommerce.menu-top>a:focus{padding-bottom:1px}}.woocommerce-layout *{box-sizing:border-box}#wpfooter{display:none}.woocommerce_page_wc-admin .wp-responsive-open .woocommerce-layout__header{margin-left:2px}.woocommerce_page_wc-admin .components-popover:not(.is-mobile){z-index:2}@media (max-width:600px){#wpadminbar{position:fixed}}@media (max-width:782px){.jetpack-masterbar #wpadminbar #wp-admin-bar-menu-toggle{margin-top:-10px}.jetpack-masterbar #wpwrap .woocommerce-layout__header-breadcrumbs{padding-left:60px}.jetpack-masterbar.wp-admin .wrap h1,.jetpack-masterbar.wp-admin .wrap h2{padding-left:0}}.woocommerce-page .wp-has-current-submenu:after{right:0;content:" ";height:0;width:0;position:absolute;pointer-events:none;border:8px solid transparent;border-right-color:#f1f1f1;top:0;margin-top:10px}@media (max-width:960px){.woocommerce-page .wp-has-current-submenu:after{border-width:4px;margin-top:14px}}:root{--large-gap:40px;--main-gap:24px}@media (max-width:960px){:root{--large-gap:24px}}@media (max-width:782px){:root{--large-gap:16px;--main-gap:16px}}@keyframes loading-fade{0%{opacity:.7}50%{opacity:1}to{opacity:.7}}.woocommerce-layout .components-button.is-link,.woocommerce-layout a:link,.woocommerce-layout a:visited{color:#c9356e}.woocommerce-layout a.components-button.is-button{color:#fff}.woocommerce-layout .components-button.is-link:active,.woocommerce-layout .components-button.is-link:focus,.woocommerce-layout .components-button.is-link:hover,.woocommerce-layout a:active,.woocommerce-layout a:focus,.woocommerce-layout a:hover{color:#c9356e}.woocommerce-layout a:focus{box-shadow:0 0 0 1px #c9356e,0 0 2px 1px rgba(201,53,110,.8)}.woocommerce-layout .components-button.is-button.is-primary,.woocommerce-layout .components-button.is-button.is-primary:not(:disabled):active,.woocommerce-layout .components-button.is-button.is-primary:not(:disabled):focus,.woocommerce-layout .components-button.is-button.is-primary:not(:disabled):hover{color:#fff;box-shadow:none}.woocommerce-layout .components-button.is-button.is-default:not(.is-primary){color:#555d66;border-color:#b5bfc9;background:#f0f2f4;box-shadow:none}.woocommerce-layout .components-button.is-button.is-default:not(.is-primary):not(:disabled):active,.woocommerce-layout .components-button.is-button.is-default:not(.is-primary):not(:disabled):focus,.woocommerce-layout .components-button.is-button.is-default:not(.is-primary):not(:disabled):hover{color:#555d66;background:#fafafa;border-color:#999}.woocommerce-layout .components-button.is-default:disabled:not(.is-primary),.woocommerce-layout .components-button.is-default:disabled:not(.is-primary):active,.woocommerce-layout .components-button.is-default:disabled:not(.is-primary):focus,.woocommerce-layout .components-button.is-default:disabled:not(.is-primary):hover{color:#a0a5aa;border-color:#ddd;background:#f0f2f4}.woocommerce-layout button:focus,.woocommerce-layout input:focus,.woocommerce-layout select:focus,.woocommerce-layout textarea:focus{color:#32373c;border-color:#674399;box-shadow:0 0 2px rgba(103,67,153,.8)}.woocommerce-layout select:hover{color:#32373c}.woocommerce-layout input[type=checkbox]{border-radius:3px}.woocommerce-layout input[type=checkbox],.woocommerce-layout input[type=radio]{width:18px;height:18px;min-width:18px;border:2px solid #646970}.woocommerce-layout input[type=checkbox]:focus,.woocommerce-layout input[type=radio]:focus{border-color:#674399;box-shadow:0 0 0 1px #674399,0 0 2px 1px rgba(103,67,153,.8)}.woocommerce-layout input[type=checkbox]:checked,.woocommerce-layout input[type=radio]:checked{background-color:#674399;border-color:#674399}.woocommerce-layout input[type=checkbox]:focus:checked{border:2px solid #674399}.woocommerce-layout input[type=radio]:checked:before{font-size:18px;background-color:#fff}.woocommerce-layout select.components-select-control__input{max-width:100%;line-height:1}body.woocommerce-page .components-button.is-button.is-primary,body.woocommerce-page .components-button.is-button.is-primary:not(:disabled):active,body.woocommerce-page .components-button.is-button.is-primary:not(:disabled):focus,body.woocommerce-page .components-button.is-button.is-primary:not(:disabled):hover,body.woocommerce-page .components-snackbar .components-button.is-tertiary,body.woocommerce-page .components-snackbar .components-button.is-tertiary:not(:disabled):not([aria-disabled=true]):not(.is-default):hover{color:#fff}.woocommerce-embed-page #wpbody-content,.woocommerce-embed-page #wpcontent{overflow-x:initial!important}.woocommerce-embed-page #wpbody-content .notice{margin-top:15px}.woocommerce-embed-page .wrap{padding:20px 20px 0}@media (max-width:782px){.woocommerce-embed-page .wrap p.search-box{width:calc(100% - 40px)}}.woocommerce-embed-page .wrap .wrap{padding:0}.woocommerce-embed-page #woocommerce-embedded-root.is-embed-loading+#wpbody .wrap{padding-top:96px}@media (max-width:782px){.woocommerce-embed-page #woocommerce-embedded-root.is-embed-loading+#wpbody .wrap{padding-top:30px}}.woocommerce-embed-page #screen-meta,.woocommerce-embed-page #screen-meta-links{top:56px}.woocommerce-embed-page #screen-meta{border-right:0;margin:0}.woocommerce-embed-page #screen-meta-links{position:relative}.woocommerce-embed-page .notice{padding:1px 12px}.woocommerce-embed-page .woocommerce-layout__header{height:56px}.woocommerce-embed-page .woocommerce-layout__header.is-scrolled{box-shadow:0 8px 16px 0 rgba(85,93,102,.3)}.woocommerce-embed-page .woocommerce-layout__header .woocommerce-layout__header-breadcrumbs{margin-top:0;margin-bottom:0}.woocommerce-embed-page #screen-meta-links.is-hidden-by-notices,.woocommerce-embed-page #screen-meta.is-hidden-by-notices{display:none!important}.woocommerce-embed-page .woocommerce-layout__primary{margin:0;padding-top:76px}@media (max-width:782px){.woocommerce-embed-page .woocommerce-layout__primary{padding-top:10px}}@keyframes isLoaded{0%{opacity:0}to{opacity:1}}.woocommerce-embed-page .woocommerce-layout__activity-panel-tabs{animation:isLoaded;animation-duration:2s}.woocommerce-embed-page .woocommerce-layout__notice-list-show{margin-top:10px;margin-bottom:16px}@media (max-width:600px){.woocommerce-embed-page .woocommerce-layout__notice-list-show{margin-top:80px;margin-bottom:-16px}}@media (min-width:601px) and (max-width:782px){.woocommerce-embed-page .woocommerce-layout__notice-list-show{margin-top:32px}}@media (min-width:783px){.woocommerce-embed-page .woocommerce-layout__activity-panel-mobile-toggle{display:none}}.woocommerce-embed-page .woocommerce-activity-card__actions a.components-button.is-button:not(.is-primary){color:#555d66}.components-button{display:inline-flex;text-decoration:none;font-size:13px;margin:0;border:0;cursor:pointer;-webkit-appearance:none;background:none;transition:box-shadow .1s linear}@media (prefers-reduced-motion:reduce){.components-button{transition-duration:0s}}.components-button.is-button{padding:0 10px;line-height:2;height:28px;border-radius:3px;white-space:nowrap;border-width:1px;border-style:solid}.components-button.is-default{color:#007daf;border-color:#007daf;background:#f3f5f6}body.woocommerce-page .components-button.is-default{color:#bd3267;border-color:#bd3267}.components-button.is-default:hover{background:#f1f1f1;border-color:#00648c;color:#00648c;text-decoration:none}body.woocommerce-page .components-button.is-default:hover{border-color:#972853;color:#972853}.components-button.is-default:focus:enabled{background:#f3f5f6;color:#00648c;border-color:#007eb1;box-shadow:0 0 0 1px #007eb1;text-decoration:none}body.woocommerce-page .components-button.is-default:focus:enabled{color:#972853;border-color:#bf3269;box-shadow:0 0 0 1px #bf3269}.components-button.is-default:active:enabled{background:#f3f5f6;color:#007eb1;border-color:#7e8993;box-shadow:none}body.woocommerce-page .components-button.is-default:active:enabled{color:#bf3269}.components-button.is-default:disabled,.components-button.is-default[aria-disabled=true]{color:#a0a5aa;border-color:#ddd;background:#f7f7f7;text-shadow:0 1px 0 #fff;transform:none;opacity:1}.components-button.is-primary{background:#0085ba;border-color:#0085ba;color:#fff;text-decoration:none;text-shadow:none}body.woocommerce-page .components-button.is-primary{background:#c9356e;border-color:#c9356e}.components-button.is-primary:focus:enabled,.components-button.is-primary:hover{background:#0078a7;border-color:#0078a7;color:#fff}body.woocommerce-page .components-button.is-primary:focus:enabled,body.woocommerce-page .components-button.is-primary:hover{background:#b53063;border-color:#b53063}.components-button.is-primary:focus:enabled{box-shadow:0 0 0 1px #fff,0 0 0 3px #0085ba}body.woocommerce-page .components-button.is-primary:focus:enabled{box-shadow:0 0 0 1px #fff,0 0 0 3px #c9356e}.components-button.is-primary:active:enabled{background:#006a95;border-color:#006a95;color:#fff}body.woocommerce-page .components-button.is-primary:active:enabled{background:#a12a58;border-color:#a12a58}.components-button.is-primary:disabled,.components-button.is-primary:disabled:active:enabled,.components-button.is-primary[aria-disabled=true],.components-button.is-primary[aria-disabled=true]:active:enabled,.components-button.is-primary[aria-disabled=true]:enabled{color:#66b6d6;background:#1991c1;border-color:#1991c1;opacity:1}body.woocommerce-page .components-button.is-primary:disabled,body.woocommerce-page .components-button.is-primary:disabled:active:enabled,body.woocommerce-page .components-button.is-primary[aria-disabled=true],body.woocommerce-page .components-button.is-primary[aria-disabled=true]:active:enabled,body.woocommerce-page .components-button.is-primary[aria-disabled=true]:enabled{color:#df86a8;background:#ce497d;border-color:#ce497d}.components-button.is-primary:disabled.is-button,.components-button.is-primary:disabled.is-button:hover,.components-button.is-primary:disabled:active:enabled,.components-button.is-primary:disabled:active:enabled.is-button,.components-button.is-primary:disabled:active:enabled.is-button:hover,.components-button.is-primary:disabled:active:enabled:active:enabled,.components-button.is-primary[aria-disabled=true].is-button,.components-button.is-primary[aria-disabled=true].is-button:hover,.components-button.is-primary[aria-disabled=true]:active:enabled,.components-button.is-primary[aria-disabled=true]:active:enabled.is-button,.components-button.is-primary[aria-disabled=true]:active:enabled.is-button:hover,.components-button.is-primary[aria-disabled=true]:active:enabled:active:enabled,.components-button.is-primary[aria-disabled=true]:enabled.is-button,.components-button.is-primary[aria-disabled=true]:enabled.is-button:hover,.components-button.is-primary[aria-disabled=true]:enabled:active:enabled{box-shadow:none;text-shadow:none}.components-button.is-primary:disabled:active:enabled:focus:enabled,.components-button.is-primary:disabled:focus:enabled,.components-button.is-primary[aria-disabled=true]:active:enabled:focus:enabled,.components-button.is-primary[aria-disabled=true]:enabled:focus:enabled,.components-button.is-primary[aria-disabled=true]:focus:enabled{box-shadow:0 0 0 1px #fff,0 0 0 3px #0085ba}body.woocommerce-page .components-button.is-primary:disabled:active:enabled:focus:enabled,body.woocommerce-page .components-button.is-primary:disabled:focus:enabled,body.woocommerce-page .components-button.is-primary[aria-disabled=true]:active:enabled:focus:enabled,body.woocommerce-page .components-button.is-primary[aria-disabled=true]:enabled:focus:enabled,body.woocommerce-page .components-button.is-primary[aria-disabled=true]:focus:enabled{box-shadow:0 0 0 1px #fff,0 0 0 3px #c9356e}.components-button.is-primary.is-busy,.components-button.is-primary.is-busy:disabled,.components-button.is-primary.is-busy[aria-disabled=true]{color:#fff;background-size:100px 100%;background-image:linear-gradient(-45deg,#0085ba 28%,#006a95 0,#006a95 72%,#0085ba 0);border-color:#0085ba}body.woocommerce-page .components-button.is-primary.is-busy,body.woocommerce-page .components-button.is-primary.is-busy:disabled,body.woocommerce-page .components-button.is-primary.is-busy[aria-disabled=true]{background-image:linear-gradient(-45deg,#c9356e 28%,#a12a58 0,#a12a58 72%,#c9356e 0);border-color:#c9356e}.components-button.is-link{margin:0;padding:0;box-shadow:none;border:0;border-radius:0;background:none;outline:none;text-align:left;color:#0073aa;text-decoration:underline;transition-property:border,background,color;transition-duration:.05s;transition-timing-function:ease-in-out}@media (prefers-reduced-motion:reduce){.components-button.is-link{transition-duration:0s}}.components-button.is-link:active,.components-button.is-link:hover{color:#00a0d2}.components-button.is-link:focus{color:#124964;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.components-button.is-link.is-destructive{color:#d94f4f}.components-button:active{color:inherit}.components-button:disabled,.components-button[aria-disabled=true]{cursor:default;opacity:.3}.components-button:focus:not(:disabled){background-color:#fff;color:#191e23;box-shadow:inset 0 0 0 1px #6c7781,inset 0 0 0 2px #fff;outline:2px solid transparent;outline-offset:-2px}.components-button.is-busy,.components-button.is-default.is-busy,.components-button.is-default.is-busy:disabled,.components-button.is-default.is-busy[aria-disabled=true]{animation:components-button__busy-animation 2.5s linear infinite;background-size:100px 100%;background-image:repeating-linear-gradient(-45deg,#e2e4e7,#fff 11px,#fff 0,#e2e4e7 20px);opacity:1}.components-button.is-large{height:30px;line-height:28px;padding:0 12px 2px}.components-button.is-small{height:24px;line-height:22px;padding:0 8px 1px;font-size:11px}.components-button.is-tertiary{color:#007cba;padding:0 10px;line-height:26px;height:28px}body.woocommerce-page .components-button.is-tertiary{color:#c9356e}.components-button.is-tertiary .dashicon{display:inline-block;flex:0 0 auto}.components-button.is-tertiary svg{fill:currentColor;outline:none}.components-button.is-tertiary:active:focus:enabled{box-shadow:none}.components-button.is-tertiary:not(:disabled):not([aria-disabled=true]):not(.is-default):hover{color:#005d8c}body.woocommerce-page .components-button.is-tertiary:not(:disabled):not([aria-disabled=true]):not(.is-default):hover{color:#972853}.components-button .screen-reader-text{height:auto}@keyframes components-button__busy-animation{0%{background-position:200px 0}}.components-checkbox-control__input[type=checkbox]{border:1px solid #b4b9be;background:#fff;color:#555;clear:none;cursor:pointer;display:inline-block;line-height:0;margin:0 4px 0 0;outline:0;padding:0!important;text-align:center;vertical-align:top;width:25px;height:25px;-webkit-appearance:none;box-shadow:inset 0 1px 2px rgba(0,0,0,.1);transition:border-color .05s ease-in-out}@media (min-width:600px){.components-checkbox-control__input[type=checkbox]{height:16px;width:16px}}.components-checkbox-control__input[type=checkbox]:focus{border-color:#5b9dd9;box-shadow:0 0 2px rgba(30,140,190,.8);outline:2px solid transparent}.components-checkbox-control__input[type=checkbox]:checked{background:#11a0d2;border-color:#11a0d2}.components-checkbox-control__input[type=checkbox]:checked::-ms-check{opacity:0}.components-checkbox-control__input[type=checkbox]:focus:checked{border:none}.components-checkbox-control__input[type=checkbox]:checked:before{content:none}.components-checkbox-control__input-container{position:relative;display:inline-block;margin-right:12px;vertical-align:middle;width:25px;height:25px}@media (min-width:600px){.components-checkbox-control__input-container{width:16px;height:16px}}svg.dashicon.components-checkbox-control__checked{fill:#fff;cursor:pointer;position:absolute;left:-4px;top:-2px;width:31px;height:31px;-webkit-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}@media (min-width:600px){svg.dashicon.components-checkbox-control__checked{width:21px;height:21px;left:-3px}}svg.dashicon{fill:currentColor;outline:none}.components-form-toggle{position:relative;display:inline-block}.components-form-toggle .components-form-toggle__off,.components-form-toggle .components-form-toggle__on{position:absolute;top:6px;box-sizing:border-box}.components-form-toggle .components-form-toggle__off{color:#6c7781;fill:currentColor;right:6px}.components-form-toggle .components-form-toggle__on{left:8px}.components-form-toggle .components-form-toggle__track{content:"";display:inline-block;box-sizing:border-box;vertical-align:top;background-color:#fff;border:2px solid #6c7781;width:36px;height:18px;border-radius:9px;transition:background .2s ease}@media (prefers-reduced-motion:reduce){.components-form-toggle .components-form-toggle__track{transition-duration:0s}}.components-form-toggle .components-form-toggle__thumb{display:block;position:absolute;box-sizing:border-box;top:4px;left:4px;width:10px;height:10px;border-radius:50%;transition:transform .1s ease;background-color:#6c7781;border:5px solid #6c7781}@media (prefers-reduced-motion:reduce){.components-form-toggle .components-form-toggle__thumb{transition-duration:0s}}.components-form-toggle:hover .components-form-toggle__track{border:2px solid #555d66}.components-form-toggle:hover .components-form-toggle__thumb{background-color:#555d66;border:5px solid #6c7781}.components-form-toggle:hover .components-form-toggle__off{color:#555d66}.components-form-toggle.is-checked .components-form-toggle__track{background-color:#11a0d2;border:9px solid transparent}body.woocommerce-page .components-form-toggle.is-checked .components-form-toggle__track{background-color:#674399;border:2px solid #674399}.components-form-toggle__input:focus+.components-form-toggle__track{box-shadow:0 0 0 2px #fff,0 0 0 3px #6c7781;outline:2px solid transparent;outline-offset:2px}.components-form-toggle.is-checked .components-form-toggle__thumb{background-color:#fff;border-width:0;transform:translateX(18px)}.components-form-toggle.is-checked:before{background-color:#11a0d2;border:2px solid #11a0d2}body.woocommerce-page .components-form-toggle.is-checked:before{background-color:#674399;border:2px solid #674399}.components-disabled .components-form-toggle{opacity:.3}.components-form-toggle input.components-form-toggle__input[type=checkbox]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;margin:0;padding:0;z-index:1;border:none}.components-form-toggle input.components-form-toggle__input[type=checkbox]:checked{background:none}.components-form-toggle input.components-form-toggle__input[type=checkbox]:before{content:""}.components-form-toggle .components-form-toggle__on{outline:1px solid transparent;outline-offset:-1px;border:1px solid #000;filter:invert(100%) contrast(500%)}@supports (-ms-high-contrast-adjust:auto){.components-form-toggle .components-form-toggle__on{filter:none;border:1px solid #fff}}.components-icon-button{display:flex;align-items:center;padding:8px;margin:0;border:none;background:none;color:#555d66;position:relative;overflow:hidden;border-radius:4px}.components-icon-button .dashicon{display:inline-block;flex:0 0 auto}.components-icon-button svg{fill:currentColor;outline:none}.components-icon-button.has-text svg{margin-right:4px}.components-icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default):hover{background-color:#fff;color:#191e23;box-shadow:inset 0 0 0 1px #e2e4e7,inset 0 0 0 2px #fff,0 1px 1px rgba(25,30,35,.2)}.components-icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default):active{outline:none;background-color:#fff;color:#191e23;box-shadow:inset 0 0 0 1px #ccd0d4,inset 0 0 0 2px #fff}.components-icon-button:disabled:focus,.components-icon-button[aria-disabled=true]:focus{box-shadow:none}.components-notice{display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;background-color:#e5f5fa;border-left:4px solid #00a0d2;margin:5px 15px 2px;padding:8px 12px;align-items:center}.components-notice.is-dismissible{padding-right:36px;position:relative}.components-notice.is-success{border-left-color:#4ab866;background-color:#eff9f1}.components-notice.is-warning{border-left-color:#ffb900;background-color:#ffeab3}.components-notice.is-error{border-left-color:#d94f4f;background-color:#f9e2e2}.components-notice__content{flex-grow:1;margin:4px 25px 4px 0}.components-notice__action.components-button,.components-notice__action.components-button.is-link{margin-left:4px}.components-notice__action.components-button.is-default{vertical-align:initial}.components-notice__dismiss{color:#6c7781;align-self:flex-start;flex-shrink:0}.components-notice__dismiss:not(:disabled):not([aria-disabled=true]):focus,.components-notice__dismiss:not(:disabled):not([aria-disabled=true]):not(.is-default):active,.components-notice__dismiss:not(:disabled):not([aria-disabled=true]):not(.is-default):hover{color:#191e23;background-color:transparent}.components-notice__dismiss:not(:disabled):not([aria-disabled=true]):not(.is-default):hover{box-shadow:none}.components-notice-list{max-width:100vw;box-sizing:border-box;z-index:29}.components-notice-list .components-notice__content{margin-top:12px;margin-bottom:12px;line-height:1.6}.components-notice-list .components-notice__action.components-button{margin-top:-2px;margin-bottom:-2px}.components-select-control__input{background:#fff;height:36px;line-height:36px;margin:1px;outline:0;width:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)!important}@media (min-width:782px){.components-select-control__input{height:28px;line-height:28px}}@media (max-width:782px){.components-base-control .components-base-control__field .components-select-control__input{font-size:16px}}.components-snackbar{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;background-color:#32373c;border-radius:4px;box-shadow:0 2px 4px rgba(0,0,0,.3);color:#fff;padding:16px 24px;width:100%;max-width:600px;box-sizing:border-box;cursor:pointer}@media (min-width:600px){.components-snackbar{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}}.components-snackbar:hover{background-color:#191e23}.components-snackbar:focus{background-color:#191e23;box-shadow:0 0 0 1px #fff,0 0 0 3px #007cba}.components-snackbar__action.components-button{margin-left:32px;color:#fff;height:auto;flex-shrink:0;line-height:1.4;padding:0}.components-snackbar__action.components-button:not(:disabled):not([aria-disabled=true]):not(.is-default){text-decoration:underline;background-color:transparent}.components-snackbar__action.components-button:not(:disabled):not([aria-disabled=true]):not(.is-default):focus{color:#fff;box-shadow:none;outline:1px dotted #fff}.components-snackbar__action.components-button:not(:disabled):not([aria-disabled=true]):not(.is-default):hover{color:#33b3db}.components-snackbar__content{display:flex;align-items:baseline;justify-content:space-between;line-height:1.4}.components-snackbar-list{position:absolute;z-index:100000;width:100%;box-sizing:border-box}.components-snackbar-list__notice-container{position:relative;padding-top:8px}.components-spinner{display:inline-block;background-color:#78848f;width:18px;height:18px;opacity:.7;float:right;margin:5px 11px 0;border-radius:100%;position:relative}.components-spinner:before{content:"";position:absolute;background-color:#fff;top:3px;left:3px;width:4px;height:4px;border-radius:100%;transform-origin:6px 6px;animation:components-spinner__animation 1s linear infinite}@keyframes components-spinner__animation{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.components-text-control__input{width:100%;padding:6px 8px}.components-tooltip.components-popover{z-index:1000002}.components-tooltip.components-popover:before{border-color:transparent}.components-tooltip.components-popover[data-y-axis=top]:after{border-top-color:#191e23}.components-tooltip.components-popover[data-y-axis=bottom]:after{border-bottom-color:#191e23}.components-tooltip.components-popover .components-popover__content{min-width:0}.components-tooltip .components-popover__content{padding:4px 12px;background:#191e23;border-width:0;color:#fff;white-space:nowrap;text-align:center}.components-tooltip__shortcut{display:block;color:#78848f}/*!rtl:begin:ignore*/.components-popover{position:fixed;z-index:1000000;left:50%;opacity:0}.components-popover.is-expanded,.components-popover[data-x-axis][data-y-axis]{opacity:1}.components-popover.is-expanded{top:0;left:0;right:0;bottom:0;z-index:1000000!important}.components-popover:not(.is-without-arrow){margin-left:2px}.components-popover:not(.is-without-arrow):before{border:8px solid #e2e4e7}.components-popover:not(.is-without-arrow):after{border:8px solid #fff}.components-popover:not(.is-without-arrow):after,.components-popover:not(.is-without-arrow):before{content:"";position:absolute;height:0;width:0;line-height:0}.components-popover:not(.is-without-arrow)[data-y-axis=top]{margin-top:-8px}.components-popover:not(.is-without-arrow)[data-y-axis=top]:before{bottom:-8px}.components-popover:not(.is-without-arrow)[data-y-axis=top]:after{bottom:-6px}.components-popover:not(.is-without-arrow)[data-y-axis=top]:after,.components-popover:not(.is-without-arrow)[data-y-axis=top]:before{border-bottom:none;border-left-color:transparent;border-right-color:transparent;border-top-style:solid;margin-left:-10px}.components-popover:not(.is-without-arrow)[data-y-axis=bottom]{margin-top:8px}.components-popover:not(.is-without-arrow)[data-y-axis=bottom]:before{top:-8px}.components-popover:not(.is-without-arrow)[data-y-axis=bottom]:after{top:-6px}.components-popover:not(.is-without-arrow)[data-y-axis=bottom]:after,.components-popover:not(.is-without-arrow)[data-y-axis=bottom]:before{border-bottom-style:solid;border-left-color:transparent;border-right-color:transparent;border-top:none;margin-left:-10px}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=left]{margin-left:-8px}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=left]:before{right:-8px}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=left]:after{right:-6px}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=left]:after,.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=left]:before{border-bottom-color:transparent;border-left-style:solid;border-right:none;border-top-color:transparent}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=right]{margin-left:8px}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=right]:before{left:-8px}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=right]:after{left:-6px}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=right]:after,.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=right]:before{border-bottom-color:transparent;border-left:none;border-right-style:solid;border-top-color:transparent}.components-popover[data-y-axis=top]{bottom:100%}.components-popover[data-y-axis=bottom]{top:100%}.components-popover[data-y-axis=middle]{align-items:center;display:flex}.components-popover__content{box-shadow:0 3px 30px rgba(25,30,35,.1);border:1px solid #e2e4e7;background:#fff;height:100%}.components-popover .components-popover__content{position:absolute;height:auto;overflow-y:auto;min-width:260px}.components-popover.is-expanded .components-popover__content{position:static;height:calc(100% - 50px);overflow-y:visible;min-width:auto;border:none;border-top:1px solid #e2e4e7}.components-popover[data-y-axis=top] .components-popover__content{bottom:100%}.components-popover[data-x-axis=center] .components-popover__content{left:50%;transform:translateX(-50%)}.components-popover[data-x-axis=right] .components-popover__content{position:absolute;left:100%}.components-popover:not([data-y-axis=middle])[data-x-axis=right] .components-popover__content{margin-left:-24px}.components-popover[data-x-axis=left] .components-popover__content{position:absolute;right:100%}.components-popover:not([data-y-axis=middle])[data-x-axis=left] .components-popover__content{margin-right:-24px}.components-popover__content>div{height:100%}.components-popover__header{align-items:center;background:#fff;display:flex;height:50px;justify-content:space-between;padding:0 8px 0 16px}.components-popover__header-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.components-popover__close.components-icon-button{z-index:5}/*!rtl:end:ignore*/.components-radio-control{display:flex;flex-direction:column}.components-radio-control .components-base-control__help{margin-top:0}.components-radio-control__option:not(:last-child){margin-bottom:4px}.components-radio-control__input[type=radio]{margin-top:0;margin-right:6px}.components-menu-group{width:100%;padding:7px 0}.components-menu-group__label{margin-bottom:8px;color:#6c7781;padding:0 7px}.components-menu-item__button,.components-menu-item__button.components-icon-button{width:100%;padding:8px 15px;text-align:left;color:#40464d;border:none;box-shadow:none}.components-menu-item__button.components-icon-button .components-menu-items__item-icon,.components-menu-item__button.components-icon-button .dashicon,.components-menu-item__button.components-icon-button>span>svg,.components-menu-item__button .components-menu-items__item-icon,.components-menu-item__button .dashicon,.components-menu-item__button>span>svg{margin-right:5px}.components-menu-item__button.components-icon-button .components-menu-items__item-icon,.components-menu-item__button .components-menu-items__item-icon{display:inline-block;flex:0 0 auto}.components-menu-item__button.components-icon-button:hover:not(:disabled):not([aria-disabled=true]),.components-menu-item__button:hover:not(:disabled):not([aria-disabled=true]){color:#191e23;border:none;box-shadow:none;background:#f3f4f5}.components-menu-item__button.components-icon-button:hover:not(:disabled):not([aria-disabled=true]) .components-menu-item__shortcut,.components-menu-item__button:hover:not(:disabled):not([aria-disabled=true]) .components-menu-item__shortcut{color:#40464d}.components-menu-item__button.components-icon-button:focus:not(:disabled):not([aria-disabled=true]),.components-menu-item__button:focus:not(:disabled):not([aria-disabled=true]){color:#191e23;border:none;box-shadow:none;outline-offset:-2px;outline:1px dotted #555d66}.components-menu-item__info-wrapper{display:flex;flex-direction:column}.components-menu-item__info{margin-top:4px;font-size:12px;color:#6c7781}.components-menu-item__shortcut{-ms-grid-row-align:center;align-self:center;color:#6c7781;margin-right:0;margin-left:auto;padding-left:8px;display:none}@media (min-width:480px){.components-menu-item__shortcut{display:inline}}.components-modal__screen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,.7);z-index:100000;animation:edit-post__fade-in-animation .2s ease-out 0s;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.components-modal__screen-overlay{animation-duration:1ms}}.components-modal__frame{position:absolute;top:0;right:0;bottom:0;left:0;box-sizing:border-box;margin:0;border:1px solid #e2e4e7;background:#fff;box-shadow:0 3px 30px rgba(25,30,35,.2);overflow:auto}@media (min-width:600px){.components-modal__frame{top:50%;right:auto;bottom:auto;left:50%;min-width:360px;max-width:calc(100% - 32px);max-height:calc(100% - 112px);transform:translate(-50%,-50%);animation:components-modal__appear-animation .1s ease-out;animation-fill-mode:forwards}}@media (min-width:600px) and (prefers-reduced-motion:reduce){.components-modal__frame{animation-duration:1ms}}@keyframes components-modal__appear-animation{0%{margin-top:32px}to{margin-top:0}}.components-modal__header{box-sizing:border-box;border-bottom:1px solid #e2e4e7;padding:0 24px;display:flex;flex-direction:row;justify-content:space-between;background:#fff;align-items:center;height:56px;position:-webkit-sticky;position:sticky;top:0;z-index:10;margin:0 -24px 24px}@supports (-ms-ime-align:auto){.components-modal__header{position:fixed;width:100%}}.components-modal__header .components-modal__header-heading{font-size:1rem;font-weight:600}.components-modal__header h1{line-height:1;margin:0}.components-modal__header .components-icon-button{position:relative;left:8px}.components-modal__header-heading-container{align-items:center;flex-grow:1;display:flex;flex-direction:row;justify-content:left}.components-modal__header-icon-container{display:inline-block}.components-modal__header-icon-container svg{max-width:36px;max-height:36px;padding:8px}.components-modal__content{box-sizing:border-box;height:100%;padding:0 24px 24px}@supports (-ms-ime-align:auto){.components-modal__content{padding-top:56px}}.components-base-control{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}.components-base-control .components-base-control__field{margin-bottom:8px}.components-panel__row .components-base-control .components-base-control__field{margin-bottom:inherit}.components-base-control .components-base-control__label{display:inline-block;margin-bottom:4px}.components-base-control .components-base-control__help{margin-top:-8px;font-style:italic}.components-base-control+.components-base-control{margin-bottom:16px}.PresetDateRangePicker_panel{padding:0 22px 11px}.PresetDateRangePicker_button{position:relative;height:100%;text-align:center;background:0 0;border:2px solid #00a699;color:#00a699;padding:4px 12px;margin-right:8px;font:inherit;font-weight:700;line-height:normal;overflow:visible;box-sizing:border-box;cursor:pointer}.PresetDateRangePicker_button:active{outline:0}.PresetDateRangePicker_button__selected{color:#fff;background:#00a699}.SingleDatePickerInput{display:inline-block;background-color:#fff}.SingleDatePickerInput__withBorder{border-radius:2px;border:1px solid #dbdbdb}.SingleDatePickerInput__rtl{direction:rtl}.SingleDatePickerInput__disabled{background-color:#f2f2f2}.SingleDatePickerInput__block{display:block}.SingleDatePickerInput__showClearDate{padding-right:30px}.SingleDatePickerInput_clearDate{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;cursor:pointer;padding:10px;margin:0 10px 0 5px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.SingleDatePickerInput_clearDate__default:focus,.SingleDatePickerInput_clearDate__default:hover{background:#dbdbdb;border-radius:50%}.SingleDatePickerInput_clearDate__small{padding:6px}.SingleDatePickerInput_clearDate__hide{visibility:hidden}.SingleDatePickerInput_clearDate_svg{fill:#82888a;height:12px;width:15px;vertical-align:middle}.SingleDatePickerInput_clearDate_svg__small{height:9px}.SingleDatePickerInput_calendarIcon{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;cursor:pointer;display:inline-block;vertical-align:middle;padding:10px;margin:0 5px 0 10px}.SingleDatePickerInput_calendarIcon_svg{fill:#82888a;height:15px;width:14px;vertical-align:middle}.SingleDatePicker{position:relative;display:inline-block}.SingleDatePicker__block{display:block}.SingleDatePicker_picker{z-index:1;background-color:#fff;position:absolute}.SingleDatePicker_picker__rtl{direction:rtl}.SingleDatePicker_picker__directionLeft{left:0}.SingleDatePicker_picker__directionRight{right:0}.SingleDatePicker_picker__portal{background-color:rgba(0,0,0,.3);position:fixed;top:0;left:0;height:100%;width:100%}.SingleDatePicker_picker__fullScreenPortal{background-color:#fff}.SingleDatePicker_closeButton{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;cursor:pointer;position:absolute;top:0;right:0;padding:15px;z-index:2}.SingleDatePicker_closeButton:focus,.SingleDatePicker_closeButton:hover{color:#b0b3b4;text-decoration:none}.SingleDatePicker_closeButton_svg{height:15px;width:15px;fill:#cacccd}.DayPickerKeyboardShortcuts_buttonReset{background:0 0;border:0;border-radius:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;cursor:pointer;font-size:14px}.DayPickerKeyboardShortcuts_buttonReset:active{outline:0}.DayPickerKeyboardShortcuts_show{width:22px;position:absolute;z-index:2}.DayPickerKeyboardShortcuts_show__bottomRight{border-top:26px solid transparent;border-right:33px solid #00a699;bottom:0;right:0}.DayPickerKeyboardShortcuts_show__bottomRight:hover{border-right:33px solid #008489}.DayPickerKeyboardShortcuts_show__topRight{border-bottom:26px solid transparent;border-right:33px solid #00a699;top:0;right:0}.DayPickerKeyboardShortcuts_show__topRight:hover{border-right:33px solid #008489}.DayPickerKeyboardShortcuts_show__topLeft{border-bottom:26px solid transparent;border-left:33px solid #00a699;top:0;left:0}.DayPickerKeyboardShortcuts_show__topLeft:hover{border-left:33px solid #008489}.DayPickerKeyboardShortcuts_showSpan{color:#fff;position:absolute}.DayPickerKeyboardShortcuts_showSpan__bottomRight{bottom:0;right:-28px}.DayPickerKeyboardShortcuts_showSpan__topRight{top:1px;right:-28px}.DayPickerKeyboardShortcuts_showSpan__topLeft{top:1px;left:-28px}.DayPickerKeyboardShortcuts_panel{overflow:auto;background:#fff;border:1px solid #dbdbdb;border-radius:2px;position:absolute;top:0;bottom:0;right:0;left:0;z-index:2;padding:22px;margin:33px}.DayPickerKeyboardShortcuts_title{font-size:16px;font-weight:700;margin:0}.DayPickerKeyboardShortcuts_list{list-style:none;padding:0;font-size:14px}.DayPickerKeyboardShortcuts_close{position:absolute;right:22px;top:22px;z-index:2}.DayPickerKeyboardShortcuts_close:active{outline:0}.DayPickerKeyboardShortcuts_closeSvg{height:15px;width:15px;fill:#cacccd}.DayPickerKeyboardShortcuts_closeSvg:focus,.DayPickerKeyboardShortcuts_closeSvg:hover{fill:#82888a}.CalendarDay{box-sizing:border-box;cursor:pointer;font-size:14px;text-align:center}.CalendarDay:active{outline:0}.CalendarDay__defaultCursor{cursor:default}.CalendarDay__default{border:1px solid #e4e7e7;color:#484848;background:#fff}.CalendarDay__default:hover{background:#e4e7e7;border:1px double #e4e7e7;color:inherit}.CalendarDay__hovered_offset{background:#f4f5f5;border:1px double #e4e7e7;color:inherit}.CalendarDay__outside{border:0;background:#fff;color:#484848}.CalendarDay__outside:hover{border:0}.CalendarDay__blocked_minimum_nights{background:#fff;border:1px solid #eceeee;color:#cacccd}.CalendarDay__blocked_minimum_nights:active,.CalendarDay__blocked_minimum_nights:hover{background:#fff;color:#cacccd}.CalendarDay__highlighted_calendar{background:#ffe8bc;color:#484848}.CalendarDay__highlighted_calendar:active,.CalendarDay__highlighted_calendar:hover{background:#ffce71;color:#484848}.CalendarDay__selected_span{background:#66e2da;border:1px solid #33dacd;color:#fff}.CalendarDay__selected_span:active,.CalendarDay__selected_span:hover{background:#33dacd;border:1px solid #33dacd;color:#fff}.CalendarDay__last_in_range{border-right:#00a699}.CalendarDay__selected,.CalendarDay__selected:active,.CalendarDay__selected:hover{background:#00a699;border:1px solid #00a699;color:#fff}.CalendarDay__hovered_span,.CalendarDay__hovered_span:hover{background:#b2f1ec;border:1px solid #80e8e0;color:#007a87}.CalendarDay__hovered_span:active{background:#80e8e0;border:1px solid #80e8e0;color:#007a87}.CalendarDay__blocked_calendar,.CalendarDay__blocked_calendar:active,.CalendarDay__blocked_calendar:hover{background:#cacccd;border:1px solid #cacccd;color:#82888a}.CalendarDay__blocked_out_of_range,.CalendarDay__blocked_out_of_range:active,.CalendarDay__blocked_out_of_range:hover{background:#fff;border:1px solid #e4e7e7;color:#cacccd}.CalendarMonth{background:#fff;text-align:center;vertical-align:top;-webkit-user-select:none;-ms-user-select:none;user-select:none}.CalendarMonth_table{border-collapse:collapse;border-spacing:0}.CalendarMonth_verticalSpacing{border-collapse:separate}.CalendarMonth_caption{color:#484848;font-size:18px;text-align:center;padding-top:22px;padding-bottom:37px;caption-side:top}.CalendarMonth_caption__verticalScrollable{padding-top:12px;padding-bottom:7px}.CalendarMonthGrid{background:#fff;text-align:left;z-index:0}.CalendarMonthGrid__animating{z-index:1}.CalendarMonthGrid__horizontal{position:absolute;left:9px}.CalendarMonthGrid__vertical{margin:0 auto}.CalendarMonthGrid__vertical_scrollable{margin:0 auto;overflow-y:scroll}.CalendarMonthGrid_month__horizontal{display:inline-block;vertical-align:top;min-height:100%}.CalendarMonthGrid_month__hideForAnimation{position:absolute;z-index:-1;opacity:0;pointer-events:none}.CalendarMonthGrid_month__hidden{visibility:hidden}.DayPickerNavigation{position:relative;z-index:2}.DayPickerNavigation__horizontal{height:0}.DayPickerNavigation__verticalDefault{position:absolute;width:100%;height:52px;bottom:0;left:0}.DayPickerNavigation__verticalScrollableDefault{position:relative}.DayPickerNavigation_button{cursor:pointer;-webkit-user-select:none;-ms-user-select:none;user-select:none;border:0;padding:0;margin:0}.DayPickerNavigation_button__default{border:1px solid #e4e7e7;background-color:#fff;color:#757575}.DayPickerNavigation_button__default:focus,.DayPickerNavigation_button__default:hover{border:1px solid #c4c4c4}.DayPickerNavigation_button__default:active{background:#f2f2f2}.DayPickerNavigation_button__horizontalDefault{position:absolute;top:18px;line-height:.78;border-radius:3px;padding:6px 9px}.DayPickerNavigation_leftButton__horizontalDefault{left:22px}.DayPickerNavigation_rightButton__horizontalDefault{right:22px}.DayPickerNavigation_button__verticalDefault{padding:5px;background:#fff;box-shadow:0 0 5px 2px rgba(0,0,0,.1);position:relative;display:inline-block;height:100%;width:50%}.DayPickerNavigation_nextButton__verticalDefault{border-left:0}.DayPickerNavigation_nextButton__verticalScrollableDefault{width:100%}.DayPickerNavigation_svg__horizontal{height:19px;width:19px;fill:#82888a;display:block}.DayPickerNavigation_svg__vertical{height:42px;width:42px;fill:#484848;display:block}.DayPicker{position:relative;text-align:left}.DayPicker,.DayPicker__horizontal{background:#fff}.DayPicker__verticalScrollable{height:100%}.DayPicker__hidden{visibility:hidden}.DayPicker__withBorder{box-shadow:0 2px 6px rgba(0,0,0,.05),0 0 0 1px rgba(0,0,0,.07);border-radius:3px}.DayPicker_portal__horizontal{box-shadow:none;position:absolute;left:50%;top:50%}.DayPicker_portal__vertical{position:static}.DayPicker_focusRegion{outline:0}.DayPicker_calendarInfo__horizontal,.DayPicker_wrapper__horizontal{display:inline-block;vertical-align:top}.DayPicker_weekHeaders{position:relative}.DayPicker_weekHeaders__horizontal{margin-left:9px}.DayPicker_weekHeader{color:#757575;position:absolute;top:62px;z-index:2;text-align:left}.DayPicker_weekHeader__vertical{left:50%}.DayPicker_weekHeader__verticalScrollable{top:0;display:table-row;border-bottom:1px solid #dbdbdb;background:#fff;margin-left:0;left:0;width:100%;text-align:center}.DayPicker_weekHeader_ul{list-style:none;margin:1px 0;padding-left:0;padding-right:0;font-size:14px}.DayPicker_weekHeader_li{display:inline-block;text-align:center}.DayPicker_transitionContainer{position:relative;overflow:hidden;border-radius:3px}.DayPicker_transitionContainer__horizontal{transition:height .2s ease-in-out}.DayPicker_transitionContainer__vertical{width:100%}.DayPicker_transitionContainer__verticalScrollable{padding-top:20px;height:100%;position:absolute;top:0;bottom:0;right:0;left:0;overflow-y:scroll}.DateInput{margin:0;padding:0;background:#fff;position:relative;display:inline-block;width:130px;vertical-align:middle}.DateInput__small{width:97px}.DateInput__block{width:100%}.DateInput__disabled{background:#f2f2f2;color:#dbdbdb}.DateInput_input{font-weight:200;font-size:19px;line-height:24px;color:#484848;background-color:#fff;width:100%;padding:11px 11px 9px;border:0;border-bottom:2px solid transparent;border-radius:0}.DateInput_input__small{font-size:15px;line-height:18px;letter-spacing:.2px;padding:7px 7px 5px}.DateInput_input__regular{font-weight:auto}.DateInput_input__readOnly{-webkit-user-select:none;-ms-user-select:none;user-select:none}.DateInput_input__focused{outline:0;background:#fff;border:0;border-bottom:2px solid #008489}.DateInput_input__disabled{background:#f2f2f2;font-style:italic}.DateInput_screenReaderMessage{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.DateInput_fang{position:absolute;width:20px;height:10px;left:22px;z-index:2}.DateInput_fangShape{fill:#fff}.DateInput_fangStroke{stroke:#dbdbdb;fill:transparent}.DateRangePickerInput{background-color:#fff;display:inline-block}.DateRangePickerInput__disabled{background:#f2f2f2}.DateRangePickerInput__withBorder{border-radius:2px;border:1px solid #dbdbdb}.DateRangePickerInput__rtl{direction:rtl}.DateRangePickerInput__block{display:block}.DateRangePickerInput__showClearDates{padding-right:30px}.DateRangePickerInput_arrow{display:inline-block;vertical-align:middle;color:#484848}.DateRangePickerInput_arrow_svg{vertical-align:middle;fill:#484848;height:24px;width:24px}.DateRangePickerInput_clearDates{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;cursor:pointer;padding:10px;margin:0 10px 0 5px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.DateRangePickerInput_clearDates__small{padding:6px}.DateRangePickerInput_clearDates_default:focus,.DateRangePickerInput_clearDates_default:hover{background:#dbdbdb;border-radius:50%}.DateRangePickerInput_clearDates__hide{visibility:hidden}.DateRangePickerInput_clearDates_svg{fill:#82888a;height:12px;width:15px;vertical-align:middle}.DateRangePickerInput_clearDates_svg__small{height:9px}.DateRangePickerInput_calendarIcon{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;cursor:pointer;display:inline-block;vertical-align:middle;padding:10px;margin:0 5px 0 10px}.DateRangePickerInput_calendarIcon_svg{fill:#82888a;height:15px;width:14px;vertical-align:middle}.DateRangePicker{position:relative;display:inline-block}.DateRangePicker__block{display:block}.DateRangePicker_picker{z-index:1;background-color:#fff;position:absolute}.DateRangePicker_picker__rtl{direction:rtl}.DateRangePicker_picker__directionLeft{left:0}.DateRangePicker_picker__directionRight{right:0}.DateRangePicker_picker__portal{background-color:rgba(0,0,0,.3);position:fixed;top:0;left:0;height:100%;width:100%}.DateRangePicker_picker__fullScreenPortal{background-color:#fff}.DateRangePicker_closeButton{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;cursor:pointer;position:absolute;top:0;right:0;padding:15px;z-index:2}.DateRangePicker_closeButton:focus,.DateRangePicker_closeButton:hover{color:#b0b3b4;text-decoration:none}.DateRangePicker_closeButton_svg{height:15px;width:15px;fill:#cacccd}.components-datetime,.components-datetime .components-datetime__calendar-help{padding:16px}.components-datetime .components-datetime__calendar-help h4{margin:0}.components-datetime .components-datetime__date-help-button{display:block;margin-left:auto}.components-datetime fieldset{border:0;padding:0;margin:0}.components-datetime input,.components-datetime select{box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:4px;border:1px solid #78848f}@media (prefers-reduced-motion:reduce){.components-datetime input,.components-datetime select{transition-duration:0s}}.components-datetime .components-button,.components-datetime input[type=number],.components-datetime select{height:30px;margin-top:0;margin-bottom:0}.components-datetime__date{min-height:236px;border-top:1px solid #e2e4e7}.components-datetime__date .CalendarMonthGrid{margin-left:-13px}.components-datetime__date .DayPickerNavigation_leftButton__horizontalDefault{left:0}.components-datetime__date .CalendarMonth_caption{font-size:13px}.components-datetime__date .CalendarDay{font-size:13px;border:1px solid transparent;border-radius:50%;text-align:center}.components-datetime__date .CalendarDay__selected{background:#0085ba}body.woocommerce-page .components-datetime__date .CalendarDay__selected{background:#7f54b3}.components-datetime__date .CalendarDay__selected:hover{background:#00719e}body.woocommerce-page .components-datetime__date .CalendarDay__selected:hover{background:#6c4798}.components-datetime__date .DayPickerNavigation_button__horizontalDefault{padding:2px 8px;top:20px}.components-datetime__date .DayPickerNavigation_button__horizontalDefault:focus{color:#191e23;border-color:#007cba;box-shadow:0 0 0 1px #007cba;outline:2px solid transparent}.components-datetime__date .DayPicker_weekHeader{top:50px}.components-datetime__date .DayPicker_weekHeader .DayPicker_weekHeader_ul{margin:1px 0;padding-left:0;padding-right:0}.components-datetime__date.is-description-visible .components-datetime__date-help-button,.components-datetime__date.is-description-visible .DayPicker{visibility:hidden}.components-datetime__time{padding-bottom:16px}.components-datetime__time fieldset{position:relative;margin-bottom:.5em}.components-datetime__time fieldset+fieldset{margin-bottom:0}.components-datetime__time .components-datetime__time-field-am-pm fieldset{margin-top:0}.components-datetime__time .components-datetime__time-wrapper{display:flex}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-separator{display:inline-block;padding:0 3px 0 0;color:#555d66}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-am-button{margin-left:8px;margin-right:-1px;border-radius:3px 0 0 3px}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-pm-button{margin-left:-1px;border-radius:0 3px 3px 0}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-am-button:focus,.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-pm-button:focus{position:relative;z-index:1}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-am-button.is-toggled,.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-pm-button.is-toggled{background:#edeff0;border-color:#86909b;box-shadow:inset 0 2px 5px -3px #555d66}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-am-button.is-toggled:focus,.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-pm-button.is-toggled:focus{box-shadow:inset 0 2px 5px -3px #555d66,0 0 0 1px #fff,0 0 0 3px #007cba}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field-time{direction:ltr}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field.am-pm button{font-size:11px;font-weight:600}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field select{margin-right:4px}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field select:focus{position:relative;z-index:1}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field input[type=number]{padding:2px;margin-right:4px;text-align:center;-moz-appearance:textfield}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field input[type=number]:focus{position:relative;z-index:1}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.components-datetime__time.is-12-hour .components-datetime__time-field-day input{margin:0 -4px 0 0!important;border-radius:4px 0 0 4px!important}.components-datetime__time.is-12-hour .components-datetime__time-field-year input{border-radius:0 4px 4px 0!important}.components-datetime__time-legend{font-weight:600;margin-top:.5em}.components-datetime__time-legend.invisible{position:absolute;top:-999em;left:-999em}.components-datetime__time-field-day-input,.components-datetime__time-field-hours-input,.components-datetime__time-field-minutes-input{width:35px}.components-datetime__time-field-year-input{width:55px}.components-datetime__time-field-month-select{max-width:145px}.components-popover .components-datetime__date{padding-left:4px}.components-drop-zone{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;visibility:hidden;opacity:0;transition:opacity .3s,background-color .3s,visibility 0s .3s;border:2px solid #0071a1;border-radius:2px}@media (prefers-reduced-motion:reduce){.components-drop-zone{transition-duration:0s}}.components-drop-zone.is-active{opacity:1;visibility:visible;transition:opacity .3s,background-color .3s}@media (prefers-reduced-motion:reduce){.components-drop-zone.is-active{transition-duration:0s}}.components-drop-zone.is-dragging-over-element{background-color:rgba(0,113,161,.8)}.components-drop-zone__content{position:absolute;top:50%;left:0;right:0;z-index:50;transform:translateY(-50%);width:100%;text-align:center;color:#fff;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.components-drop-zone__content{transition-duration:0s}}.components-drop-zone.is-dragging-over-element .components-drop-zone__content{transform:translateY(-50%) scale(1.05)}.components-drop-zone__content-icon,.components-drop-zone__content-text{display:block}.components-drop-zone__content-icon{margin:0 auto;line-height:0}.components-drop-zone__content-text{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.components-drop-zone__provider{height:100%}.components-form-file-upload .components-button.is-large{padding-left:6px}.woocommerce-layout{margin:0;padding:0}.woocommerce-layout__primary{margin:80px 0 0 40px;margin:80px 0 0 var(--large-gap)}@media (min-width:961px){.woocommerce-layout__primary{margin-top:100px}}@media (max-width:782px){.woocommerce-layout__primary{margin-top:60px}}.woocommerce-layout .woocommerce-layout__main{padding-right:40px;padding-right:var(--large-gap);max-width:100%}.woocommerce-admin-is-loading #adminmenumain,.woocommerce-admin-is-loading #wpadminbar,.woocommerce-admin-is-loading #wpbody-content,.woocommerce-admin-is-loading #wpcontent,.woocommerce-admin-is-loading #wpfooter,.woocommerce-admin-is-loading .components-modal__screen-overlay,.woocommerce-admin-is-loading .error,.woocommerce-admin-is-loading .notice,.woocommerce-admin-is-loading .update-nag,.woocommerce-admin-is-loading .updated,.woocommerce-admin-is-loading .woocommerce-layout__header,.woocommerce-admin-is-loading .woocommerce-message,.woocommerce-admin-is-loading .woocommerce-store-alerts,.woocommerce-page .update-nag{display:none}.woocommerce-admin-full-screen{background:#f6f7f7;color:#50575e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.woocommerce-admin-full-screen #wpwrap{top:0}.woocommerce-admin-full-screen #wpbody-content{min-height:100vh}.woocommerce-admin-full-screen #adminmenumain,.woocommerce-admin-full-screen #wpcontent>*,.woocommerce-admin-full-screen .error,.woocommerce-admin-full-screen .notice,.woocommerce-admin-full-screen .update-nag,.woocommerce-admin-full-screen .updated,.woocommerce-admin-full-screen .woocommerce-layout__header,.woocommerce-admin-full-screen .woocommerce-message,.woocommerce-admin-full-screen .woocommerce-store-alerts{display:none}.woocommerce-admin-full-screen #wpcontent{margin-left:0}.woocommerce-admin-full-screen #wpcontent>#wpbody{display:block}.woocommerce-onboarding .woocommerce-stepper .woocommerce-stepper__step .woocommerce-stepper__step-label{color:#2c3338}.woocommerce-onboarding .woocommerce-stepper .woocommerce-stepper__step.is-active .woocommerce-stepper__step-icon,.woocommerce-onboarding .woocommerce-stepper .woocommerce-stepper__step.is-complete .woocommerce-stepper__step-icon{background:#674399;color:#fff}.woocommerce-onboarding .woocommerce-stepper .woocommerce-stepper__step.is-active .woocommerce-stepper__step-label,.woocommerce-onboarding .woocommerce-stepper .woocommerce-stepper__step.is-complete .woocommerce-stepper__step-label{color:#1d2327}.woocommerce-onboarding .woocommerce-stepper .woocommerce-stepper__step .woocommerce-spinner{background:#674399}.woocommerce-onboarding .muriel-component{margin-top:16px;margin-bottom:16px}.woocommerce-onboarding .components-base-control.has-error{margin-bottom:32px!important;border-color:#d63638}.woocommerce-onboarding .components-base-control.has-error .components-base-control__help{top:100%;left:12px;position:absolute;margin-top:4px;font-size:12px;font-style:normal;color:#d63638}.woocommerce-onboarding .components-form-toggle{display:inline-block}.woocommerce-onboarding .components-form-toggle label{font-size:14px}.woocommerce-onboarding .components-form-toggle .components-base-control{display:inline-block}.woocommerce-onboarding .components-form-toggle .components-form-toggle__track{width:36px;max-width:36px;height:18px;max-height:18px}.woocommerce-onboarding .components-form-toggle .components-base-control__field{margin-bottom:0}.woocommerce-onboarding .components-form-toggle.is-checked .components-form-toggle__track{background-color:#674399;border-color:#674399}body.woocommerce-page .components-button.is-button.is-primary.is-busy:not(:disabled):focus{cursor:progress;background-image:linear-gradient(-45deg,#c9356e 28%,#8d254d 0,#8d254d 72%,#c9356e 0)!important}.woocommerce-page .components-modal__frame .components-button.is-button,.woocommerce-profile-wizard__body .components-button.is-button,.woocommerce-task-dashboard__container .components-button.is-button{height:48px;padding-left:25px;padding-right:25px;text-align:center;font-size:14px;line-height:36px;font-weight:500;align-items:center}.woocommerce-page .components-modal__frame .components-button.is-button:disabled,.woocommerce-profile-wizard__body .components-button.is-button:disabled,.woocommerce-task-dashboard__container .components-button.is-button:disabled{cursor:not-allowed}.components-modal__frame.woocommerce-cart-modal{width:600px;max-width:100%}.components-modal__frame.woocommerce-cart-modal .components-modal__header{border-bottom:0;margin-bottom:16px;margin-top:16px}.components-modal__frame.woocommerce-cart-modal .components-modal__header button{display:none}.components-modal__frame.woocommerce-cart-modal .components-modal__header-heading{font-style:normal;font-weight:400;font-size:24px;line-height:32px}.components-modal__frame.woocommerce-cart-modal .woocommerce-list{margin-top:4px}.components-modal__frame.woocommerce-cart-modal .woocommerce-list .woocommerce-list__item:first-child{border-top:1px solid #dcdcde}.components-modal__frame.woocommerce-cart-modal .woocommerce-list__item{border-bottom:1px solid #dcdcde}.components-modal__frame.woocommerce-cart-modal .woocommerce-cart-modal__help-text{font-size:16px;line-height:24px}.components-modal__frame.woocommerce-cart-modal .woocommerce-cart-modal__actions{text-align:right}.components-modal__frame.woocommerce-cart-modal .woocommerce-cart-modal__actions button.is-link{color:#c9356e;margin-right:16px;text-decoration:none;font-weight:600;font-size:14px}.components-modal__frame.woocommerce-cart-modal .woocommerce-cart-modal__actions button.is-primary{align-self:flex-end}.woocommerce-analytics__table-placeholder .woocommerce-card__body{padding:0}.woocommerce-analytics__table-placeholder .woocommerce-table__table{margin-bottom:0}.woocommerce-analytics__table-placeholder .woocommerce-table__table tr:last-child{border-bottom-style:none}.woocommerce-analytics__card{border-radius:0;border:1px solid #ccd0d4;box-shadow:none}.woocommerce-analytics__card:hover{box-shadow:none}@media (max-width:782px){.woocommerce-analytics__card{border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.woocommerce-analytics__card>.woocommerce-card__header{padding:13px 16px;border-bottom:1px solid #ccd0d4;border-radius:0}.woocommerce-analytics__card>.woocommerce-card__header>.woocommerce-card__title-wrapper>.woocommerce-card__title{padding:3px 0;font-size:15px;font-size:.9375rem;font-weight:600}.woocommerce-layout__header{background:#fff;display:flex;justify-content:space-between;flex-direction:row;box-sizing:border-box;border-bottom:1px solid #fff;padding:0;height:56px;position:fixed;width:100%;top:32px;z-index:1001}.woocommerce-layout__header.is-scrolled{box-shadow:0 8px 8px 0 rgba(85,93,102,.3)}@media (max-width:782px){.woocommerce-layout__header{flex-flow:row wrap;top:46px}}.woocommerce-layout__header .woocommerce-layout__header-breadcrumbs{font-size:13px;font-weight:400;padding:0 0 0 40px;padding:0 0 0 var(--large-gap);flex:1 auto;height:56px;line-height:56px;background:#fff}.woocommerce-layout__header .woocommerce-layout__header-breadcrumbs span+span:before{content:" / ";color:#555d66;margin:0 2px}.woocommerce-layout__header .woocommerce-layout__header-breadcrumbs a{color:#c9356e}.woocommerce-page #contextual-help-link-wrap,.woocommerce-page #screen-options-link-wrap{margin-top:-1px}.woocommerce-layout__activity-panel{display:flex;flex-direction:row;align-items:center;position:fixed;right:0;height:56px}@media (max-width:782px){.woocommerce-layout__activity-panel{position:relative;background:#fff;margin:0;padding:0;width:100vw;display:none;flex:1 100%}}@media (min-width:783px) and (max-width:960px){.woocommerce-layout__activity-panel{max-width:280px}}@media (min-width:1281px){.woocommerce-layout__activity-panel{max-width:400px}}.woocommerce-layout__activity-panel.is-mobile-open{display:flex}.woocommerce-layout__activity-panel-tabs{width:100%;display:flex;height:56px;justify-content:flex-end}.woocommerce-layout__activity-panel-tabs .dashicon,.woocommerce-layout__activity-panel-tabs .gridicon{width:100%}.woocommerce-layout__activity-panel-tabs svg{width:18px;height:18px}@media (min-width:961px){.woocommerce-layout__activity-panel-tabs svg{width:24px;height:24px}}.woocommerce-layout__activity-panel-tabs .components-icon-button{display:initial;text-indent:0;border-radius:0}.woocommerce-layout__activity-panel-tabs .components-icon-button.has-text svg{margin:0}.woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab{display:flex;flex-direction:column;justify-content:center;border:none;outline:none;cursor:pointer;background-color:#fff;max-width:-webkit-min-content;max-width:min-content;min-width:80px;width:100%;height:56px}.woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab:before{background-color:#007cba;bottom:0;content:"";height:0;opacity:0;transition-property:height,opacity;transition-duration:.3s;transition-timing-function:ease-in-out;left:0;position:absolute;right:0}body.woocommerce-page .woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab:before{background-color:#c9356e}.woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab.is-active{color:#32373c;box-shadow:none}.woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab.is-active:before{height:3px;opacity:1}.woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab.has-unread:after,.woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab.woocommerce-layout__activity-panel-tab-wordpress-notices:after{content:" ";position:absolute;padding:1px;background:#ca4a1f;border:2px solid #fff;width:4px;height:4px;display:inline-block;border-radius:50%;top:8px;left:50%}@media (min-width:783px) and (max-width:960px){.woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab.has-unread:after,.woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab.woocommerce-layout__activity-panel-tab-wordpress-notices:after{right:18px;left:auto;margin-left:0}}@media (min-width:961px){.woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab.has-unread:after,.woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab.woocommerce-layout__activity-panel-tab-wordpress-notices:after{right:28px;left:auto;margin-left:0}}.woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab.components-button:not(:disabled):not([aria-disabled=true]):hover,.woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab:hover{background-color:#f3f4f5;box-shadow:none}.woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab.components-button:not(:disabled):not([aria-disabled=true]):hover.has-unread:after,.woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab.components-button:not(:disabled):not([aria-disabled=true]):hover.woocommerce-layout__activity-panel-tab-wordpress-notices:after,.woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab:hover.has-unread:after,.woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab:hover.woocommerce-layout__activity-panel-tab-wordpress-notices:after{border-color:#f3f4f5}.woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab.components-button:not(:disabled):not([aria-disabled=true]):focus,.woocommerce-layout__activity-panel-tabs .woocommerce-layout__activity-panel-tab:focus{box-shadow:inset -1px -1px 0 #6c7781,inset 1px 1px 0 #6c7781}.woocommerce-layout__activity-panel-mobile-toggle{margin-right:10px;max-width:48px;height:56px;position:fixed;top:46px;right:0}@media (min-width:783px){.woocommerce-layout__activity-panel-mobile-toggle{display:none}}.wp-responsive-open .woocommerce-layout__activity-panel-mobile-toggle{display:none}.woocommerce-layout__activity-panel-toggle-bubble.has-unread:after{content:" ";position:absolute;padding:1px;background:#ca4a1f;border:2px solid #fff;width:4px;height:4px;display:inline-block;border-radius:50%;top:6px;right:4px}@keyframes tabSwitch{0%,to{transform:translateX(0)}50%{transform:translateX(100px)}}.woocommerce-layout__activity-panel-wrapper{height:calc(100vh - 158px);background:#f3f4f5;width:510px;transform:translateX(100%);transition-property:transform box-shadow;transition-duration:.3s;transition-timing-function:ease-in-out;position:fixed;right:0;top:158px;z-index:1000;overflow-x:hidden;overflow-y:auto}@media (max-width:782px){.woocommerce-layout__activity-panel-wrapper{width:100%}}@media screen and (prefers-reduced-motion:reduce){.woocommerce-layout__activity-panel-wrapper{transition-duration:1ms}}@media (min-width:783px){.woocommerce-layout__activity-panel-wrapper{height:calc(100vh - 88px);top:88px}}.woocommerce-layout__activity-panel-wrapper.is-open{transform:none;box-shadow:0 12px 12px 0 rgba(85,93,102,.3)}.woocommerce-layout__activity-panel-wrapper.is-switching{animation:tabSwitch;animation-duration:.3s}@media screen and (prefers-reduced-motion:reduce){.woocommerce-layout__activity-panel-wrapper.is-switching{animation:none}}.woocommerce-layout__activity-panel-wrapper .woocommerce-empty-content{padding-left:24px;padding-right:24px}.woocommerce-layout__activity-panel-avatar-flag-overlay{position:relative;top:-12px}.woocommerce-layout__activity-panel-avatar-flag-overlay .woocommerce-flag{position:relative;top:16px;border:2px solid #fff}.woocommerce-layout__notice-list-hide{display:none}.woocommerce-transient-notices{position:fixed;bottom:12px;left:0;z-index:99999}.woocommerce-transient-notices .components-snackbar-list__notice-container{margin-left:12px;margin-right:12px}.woocommerce-transient-notices .components-snackbar{margin:0 auto}.woocommerce-navigation{position:fixed;top:32px;left:0;width:160px;height:100%;background:#23282d}.woocommerce-navigation__menu-item{padding:8px 0}.has-woocommerce-navigation #adminmenuback,.has-woocommerce-navigation #adminmenuwrap{display:none!important}
\ No newline at end of file
diff --git a/dist/chunks/activity-panels-inbox.d778ee044369d27719e0.js b/dist/chunks/activity-panels-inbox.d778ee044369d27719e0.js
new file mode 100644
index 00000000000..4ad9b12287f
--- /dev/null
+++ b/dist/chunks/activity-panels-inbox.d778ee044369d27719e0.js
@@ -0,0 +1,1783 @@
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[6],{
+
+/***/ 747:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export ALLOWED_TAGS */
+/* unused harmony export ALLOWED_ATTR */
+/* harmony import */ var dompurify__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(758);
+/* harmony import */ var dompurify__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(dompurify__WEBPACK_IMPORTED_MODULE_0__);
+/**
+ * External dependencies
+ */
+
+var ALLOWED_TAGS = ['a', 'b', 'em', 'i', 'strong', 'p'];
+var ALLOWED_ATTR = ['target', 'href', 'rel', 'name', 'download'];
+/* harmony default export */ __webpack_exports__["a"] = (function (html) {
+ return {
+ __html: Object(dompurify__WEBPACK_IMPORTED_MODULE_0__["sanitize"])(html, {
+ ALLOWED_TAGS: ALLOWED_TAGS,
+ ALLOWED_ATTR: ALLOWED_ATTR
+ })
+ };
+});
+
+/***/ }),
+
+/***/ 748:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ activity_card_ActivityCard; });
+__webpack_require__.d(__webpack_exports__, "b", function() { return /* reexport */ placeholder; });
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js
+var classCallCheck = __webpack_require__(41);
+var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js
+var createClass = __webpack_require__(40);
+var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(44);
+var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(29);
+var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js
+var inherits = __webpack_require__(42);
+var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: ./node_modules/classnames/index.js
+var classnames = __webpack_require__(10);
+var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
+
+// EXTERNAL MODULE: ./node_modules/gridicons/dist/index.js
+var dist = __webpack_require__(66);
+var dist_default = /*#__PURE__*/__webpack_require__.n(dist);
+
+// EXTERNAL MODULE: external "moment"
+var external_moment_ = __webpack_require__(12);
+var external_moment_default = /*#__PURE__*/__webpack_require__.n(external_moment_);
+
+// EXTERNAL MODULE: ./node_modules/prop-types/index.js
+var prop_types = __webpack_require__(1);
+var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
+
+// EXTERNAL MODULE: ./client/header/activity-panel/activity-card/style.scss
+var style = __webpack_require__(756);
+
+// EXTERNAL MODULE: external {"this":["wc","components"]}
+var external_this_wc_components_ = __webpack_require__(63);
+
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__(2);
+
+// CONCATENATED MODULE: ./client/header/activity-panel/activity-card/placeholder.js
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+var placeholder_ActivityCardPlaceholder = /*#__PURE__*/function (_Component) {
+ inherits_default()(ActivityCardPlaceholder, _Component);
+
+ var _super = _createSuper(ActivityCardPlaceholder);
+
+ function ActivityCardPlaceholder() {
+ classCallCheck_default()(this, ActivityCardPlaceholder);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(ActivityCardPlaceholder, [{
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ className = _this$props.className,
+ hasAction = _this$props.hasAction,
+ hasDate = _this$props.hasDate,
+ hasSubtitle = _this$props.hasSubtitle,
+ lines = _this$props.lines;
+ var cardClassName = classnames_default()('woocommerce-activity-card is-loading', className);
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: cardClassName,
+ "aria-hidden": true
+ }, Object(external_this_wp_element_["createElement"])("span", {
+ className: "woocommerce-activity-card__icon"
+ }, Object(external_this_wp_element_["createElement"])("span", {
+ className: "is-placeholder"
+ })), Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-activity-card__header"
+ }, Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-activity-card__title is-placeholder"
+ }), hasSubtitle && Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-activity-card__subtitle is-placeholder"
+ }), hasDate && Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-activity-card__date"
+ }, Object(external_this_wp_element_["createElement"])("span", {
+ className: "is-placeholder"
+ }))), Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-activity-card__body"
+ }, Object(external_lodash_["range"])(lines).map(function (i) {
+ return Object(external_this_wp_element_["createElement"])("span", {
+ className: "is-placeholder",
+ key: i
+ });
+ })), hasAction && Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-activity-card__actions"
+ }, Object(external_this_wp_element_["createElement"])("span", {
+ className: "is-placeholder"
+ })));
+ }
+ }]);
+
+ return ActivityCardPlaceholder;
+}(external_this_wp_element_["Component"]);
+
+placeholder_ActivityCardPlaceholder.propTypes = {
+ className: prop_types_default.a.string,
+ hasAction: prop_types_default.a.bool,
+ hasDate: prop_types_default.a.bool,
+ hasSubtitle: prop_types_default.a.bool,
+ lines: prop_types_default.a.number
+};
+placeholder_ActivityCardPlaceholder.defaultProps = {
+ hasAction: false,
+ hasDate: false,
+ hasSubtitle: false,
+ lines: 1
+};
+/* harmony default export */ var placeholder = (placeholder_ActivityCardPlaceholder);
+// CONCATENATED MODULE: ./client/header/activity-panel/activity-card/index.js
+
+
+
+
+
+
+
+function activity_card_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (activity_card_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function activity_card_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var activity_card_ActivityCard = /*#__PURE__*/function (_Component) {
+ inherits_default()(ActivityCard, _Component);
+
+ var _super = activity_card_createSuper(ActivityCard);
+
+ function ActivityCard() {
+ classCallCheck_default()(this, ActivityCard);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(ActivityCard, [{
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ actions = _this$props.actions,
+ className = _this$props.className,
+ children = _this$props.children,
+ date = _this$props.date,
+ icon = _this$props.icon,
+ subtitle = _this$props.subtitle,
+ title = _this$props.title,
+ unread = _this$props.unread;
+ var cardClassName = classnames_default()('woocommerce-activity-card', className);
+ var actionsList = Array.isArray(actions) ? actions : [actions];
+ return Object(external_this_wp_element_["createElement"])("section", {
+ className: cardClassName
+ }, unread && Object(external_this_wp_element_["createElement"])("span", {
+ className: "woocommerce-activity-card__unread"
+ }), Object(external_this_wp_element_["createElement"])("span", {
+ className: "woocommerce-activity-card__icon",
+ "aria-hidden": true
+ }, icon), Object(external_this_wp_element_["createElement"])("header", {
+ className: "woocommerce-activity-card__header"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["H"], {
+ className: "woocommerce-activity-card__title"
+ }, title), subtitle && Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-activity-card__subtitle"
+ }, subtitle), date && Object(external_this_wp_element_["createElement"])("span", {
+ className: "woocommerce-activity-card__date"
+ }, external_moment_default.a.utc(date).fromNow())), Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Section"], {
+ className: "woocommerce-activity-card__body"
+ }, children), actions && Object(external_this_wp_element_["createElement"])("footer", {
+ className: "woocommerce-activity-card__actions"
+ }, actionsList.map(function (item, i) {
+ return Object(external_this_wp_element_["cloneElement"])(item, {
+ key: i
+ });
+ })));
+ }
+ }]);
+
+ return ActivityCard;
+}(external_this_wp_element_["Component"]);
+
+activity_card_ActivityCard.propTypes = {
+ actions: prop_types_default.a.oneOfType([prop_types_default.a.arrayOf(prop_types_default.a.element), prop_types_default.a.element]),
+ className: prop_types_default.a.string,
+ children: prop_types_default.a.node.isRequired,
+ date: prop_types_default.a.string,
+ icon: prop_types_default.a.node,
+ subtitle: prop_types_default.a.node,
+ title: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.node]).isRequired,
+ unread: prop_types_default.a.bool
+};
+activity_card_ActivityCard.defaultProps = {
+ icon: Object(external_this_wp_element_["createElement"])(dist_default.a, {
+ icon: "notice-outline",
+ size: 48
+ }),
+ unread: false
+};
+
+
+
+/***/ }),
+
+/***/ 754:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(41);
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(40);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(44);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(29);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(42);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__);
+/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(10);
+/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_6__);
+/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(1);
+/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_7__);
+/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(757);
+/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_8__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_9__);
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var ActivityHeader = /*#__PURE__*/function (_Component) {
+ _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(ActivityHeader, _Component);
+
+ var _super = _createSuper(ActivityHeader);
+
+ function ActivityHeader() {
+ _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, ActivityHeader);
+
+ return _super.apply(this, arguments);
+ }
+
+ _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(ActivityHeader, [{
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ title = _this$props.title,
+ className = _this$props.className,
+ menu = _this$props.menu;
+ var cardClassName = classnames__WEBPACK_IMPORTED_MODULE_6___default()('woocommerce-layout__activity-panel-header', className);
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])("div", {
+ className: cardClassName
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_9__["H"], {
+ className: "woocommerce-layout__activity-panel-header-title"
+ }, title), menu && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])("div", {
+ className: "woocommerce-layout__activity-panel-header-menu"
+ }, menu));
+ }
+ }]);
+
+ return ActivityHeader;
+}(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["Component"]);
+
+ActivityHeader.propTypes = {
+ className: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.string,
+ title: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.string.isRequired,
+ menu: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.shape({
+ type: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.oneOf([_woocommerce_components__WEBPACK_IMPORTED_MODULE_9__["EllipsisMenu"]])
+ })
+};
+/* harmony default export */ __webpack_exports__["a"] = (ActivityHeader);
+
+/***/ }),
+
+/***/ 756:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ }),
+
+/***/ 757:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ }),
+
+/***/ 887:
+/***/ (function(module, exports, __webpack_require__) {
+
+(function webpackUniversalModuleDefinition(root, factory) {
+ if(true)
+ module.exports = factory(__webpack_require__(14), __webpack_require__(87));
+ else {}
+})(this, function(__WEBPACK_EXTERNAL_MODULE__1__, __WEBPACK_EXTERNAL_MODULE__2__) {
+return /******/ (function(modules) { // webpackBootstrap
+/******/ // The module cache
+/******/ var installedModules = {};
+/******/
+/******/ // The require function
+/******/ function __webpack_require__(moduleId) {
+/******/
+/******/ // Check if module is in cache
+/******/ if(installedModules[moduleId]) {
+/******/ return installedModules[moduleId].exports;
+/******/ }
+/******/ // Create a new module (and put it into the cache)
+/******/ var module = installedModules[moduleId] = {
+/******/ i: moduleId,
+/******/ l: false,
+/******/ exports: {}
+/******/ };
+/******/
+/******/ // Execute the module function
+/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
+/******/
+/******/ // Flag the module as loaded
+/******/ module.l = true;
+/******/
+/******/ // Return the exports of the module
+/******/ return module.exports;
+/******/ }
+/******/
+/******/
+/******/ // expose the modules object (__webpack_modules__)
+/******/ __webpack_require__.m = modules;
+/******/
+/******/ // expose the module cache
+/******/ __webpack_require__.c = installedModules;
+/******/
+/******/ // define getter function for harmony exports
+/******/ __webpack_require__.d = function(exports, name, getter) {
+/******/ if(!__webpack_require__.o(exports, name)) {
+/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
+/******/ }
+/******/ };
+/******/
+/******/ // define __esModule on exports
+/******/ __webpack_require__.r = function(exports) {
+/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
+/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
+/******/ }
+/******/ Object.defineProperty(exports, '__esModule', { value: true });
+/******/ };
+/******/
+/******/ // create a fake namespace object
+/******/ // mode & 1: value is a module id, require it
+/******/ // mode & 2: merge all properties of value into the ns
+/******/ // mode & 4: return value when already ns object
+/******/ // mode & 8|1: behave like require
+/******/ __webpack_require__.t = function(value, mode) {
+/******/ if(mode & 1) value = __webpack_require__(value);
+/******/ if(mode & 8) return value;
+/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
+/******/ var ns = Object.create(null);
+/******/ __webpack_require__.r(ns);
+/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
+/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
+/******/ return ns;
+/******/ };
+/******/
+/******/ // getDefaultExport function for compatibility with non-harmony modules
+/******/ __webpack_require__.n = function(module) {
+/******/ var getter = module && module.__esModule ?
+/******/ function getDefault() { return module['default']; } :
+/******/ function getModuleExports() { return module; };
+/******/ __webpack_require__.d(getter, 'a', getter);
+/******/ return getter;
+/******/ };
+/******/
+/******/ // Object.prototype.hasOwnProperty.call
+/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
+/******/
+/******/ // __webpack_public_path__
+/******/ __webpack_require__.p = "";
+/******/
+/******/
+/******/ // Load entry module and return exports
+/******/ return __webpack_require__(__webpack_require__.s = 4);
+/******/ })
+/************************************************************************/
+/******/ ([
+/* 0 */
+/***/ (function(module, exports, __webpack_require__) {
+
+/**
+ * Copyright (c) 2013-present, Facebook, Inc.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+if (false) { var throwOnDirectAccess, ReactIs; } else {
+ // By explicitly using `prop-types` you are opting into new production behavior.
+ // http://fb.me/prop-types-in-prod
+ module.exports = __webpack_require__(5)();
+}
+
+
+/***/ }),
+/* 1 */
+/***/ (function(module, exports) {
+
+module.exports = __WEBPACK_EXTERNAL_MODULE__1__;
+
+/***/ }),
+/* 2 */
+/***/ (function(module, exports) {
+
+module.exports = __WEBPACK_EXTERNAL_MODULE__2__;
+
+/***/ }),
+/* 3 */
+/***/ (function(module, exports) {
+
+// Tell whether the rect is visible, given an offset
+//
+// return: boolean
+module.exports = function (offset, rect, containmentRect) {
+ var offsetDir = offset.direction;
+ var offsetVal = offset.value; // Rules for checking different kind of offsets. In example if the element is
+ // 90px below viewport and offsetTop is 100, it is considered visible.
+
+ switch (offsetDir) {
+ case 'top':
+ return containmentRect.top + offsetVal < rect.top && containmentRect.bottom > rect.bottom && containmentRect.left < rect.left && containmentRect.right > rect.right;
+
+ case 'left':
+ return containmentRect.left + offsetVal < rect.left && containmentRect.bottom > rect.bottom && containmentRect.top < rect.top && containmentRect.right > rect.right;
+
+ case 'bottom':
+ return containmentRect.bottom - offsetVal > rect.bottom && containmentRect.left < rect.left && containmentRect.right > rect.right && containmentRect.top < rect.top;
+
+ case 'right':
+ return containmentRect.right - offsetVal > rect.right && containmentRect.left < rect.left && containmentRect.top < rect.top && containmentRect.bottom > rect.bottom;
+ }
+};
+
+/***/ }),
+/* 4 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return VisibilitySensor; });
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1);
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2);
+/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(0);
+/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _lib_is_visible_with_offset__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3);
+/* harmony import */ var _lib_is_visible_with_offset__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_lib_is_visible_with_offset__WEBPACK_IMPORTED_MODULE_3__);
+
+
+function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
+
+function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
+
+function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
+
+function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
+
+function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
+
+function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
+
+function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+
+
+
+
+
+function normalizeRect(rect) {
+ if (rect.width === undefined) {
+ rect.width = rect.right - rect.left;
+ }
+
+ if (rect.height === undefined) {
+ rect.height = rect.bottom - rect.top;
+ }
+
+ return rect;
+}
+
+var VisibilitySensor =
+/*#__PURE__*/
+function (_React$Component) {
+ _inherits(VisibilitySensor, _React$Component);
+
+ function VisibilitySensor(props) {
+ var _this;
+
+ _classCallCheck(this, VisibilitySensor);
+
+ _this = _possibleConstructorReturn(this, _getPrototypeOf(VisibilitySensor).call(this, props));
+
+ _defineProperty(_assertThisInitialized(_this), "getContainer", function () {
+ return _this.props.containment || window;
+ });
+
+ _defineProperty(_assertThisInitialized(_this), "addEventListener", function (target, event, delay, throttle) {
+ if (!_this.debounceCheck) {
+ _this.debounceCheck = {};
+ }
+
+ var timeout;
+ var func;
+
+ var later = function later() {
+ timeout = null;
+
+ _this.check();
+ };
+
+ if (throttle > -1) {
+ func = function func() {
+ if (!timeout) {
+ timeout = setTimeout(later, throttle || 0);
+ }
+ };
+ } else {
+ func = function func() {
+ clearTimeout(timeout);
+ timeout = setTimeout(later, delay || 0);
+ };
+ }
+
+ var info = {
+ target: target,
+ fn: func,
+ getLastTimeout: function getLastTimeout() {
+ return timeout;
+ }
+ };
+ target.addEventListener(event, info.fn);
+ _this.debounceCheck[event] = info;
+ });
+
+ _defineProperty(_assertThisInitialized(_this), "startWatching", function () {
+ if (_this.debounceCheck || _this.interval) {
+ return;
+ }
+
+ if (_this.props.intervalCheck) {
+ _this.interval = setInterval(_this.check, _this.props.intervalDelay);
+ }
+
+ if (_this.props.scrollCheck) {
+ _this.addEventListener(_this.getContainer(), "scroll", _this.props.scrollDelay, _this.props.scrollThrottle);
+ }
+
+ if (_this.props.resizeCheck) {
+ _this.addEventListener(window, "resize", _this.props.resizeDelay, _this.props.resizeThrottle);
+ } // if dont need delayed call, check on load ( before the first interval fires )
+
+
+ !_this.props.delayedCall && _this.check();
+ });
+
+ _defineProperty(_assertThisInitialized(_this), "stopWatching", function () {
+ if (_this.debounceCheck) {
+ // clean up event listeners and their debounce callers
+ for (var debounceEvent in _this.debounceCheck) {
+ if (_this.debounceCheck.hasOwnProperty(debounceEvent)) {
+ var debounceInfo = _this.debounceCheck[debounceEvent];
+ clearTimeout(debounceInfo.getLastTimeout());
+ debounceInfo.target.removeEventListener(debounceEvent, debounceInfo.fn);
+ _this.debounceCheck[debounceEvent] = null;
+ }
+ }
+ }
+
+ _this.debounceCheck = null;
+
+ if (_this.interval) {
+ _this.interval = clearInterval(_this.interval);
+ }
+ });
+
+ _defineProperty(_assertThisInitialized(_this), "check", function () {
+ var el = _this.node;
+ var rect;
+ var containmentRect; // if the component has rendered to null, dont update visibility
+
+ if (!el) {
+ return _this.state;
+ }
+
+ rect = normalizeRect(_this.roundRectDown(el.getBoundingClientRect()));
+
+ if (_this.props.containment) {
+ var containmentDOMRect = _this.props.containment.getBoundingClientRect();
+
+ containmentRect = {
+ top: containmentDOMRect.top,
+ left: containmentDOMRect.left,
+ bottom: containmentDOMRect.bottom,
+ right: containmentDOMRect.right
+ };
+ } else {
+ containmentRect = {
+ top: 0,
+ left: 0,
+ bottom: window.innerHeight || document.documentElement.clientHeight,
+ right: window.innerWidth || document.documentElement.clientWidth
+ };
+ } // Check if visibility is wanted via offset?
+
+
+ var offset = _this.props.offset || {};
+ var hasValidOffset = _typeof(offset) === "object";
+
+ if (hasValidOffset) {
+ containmentRect.top += offset.top || 0;
+ containmentRect.left += offset.left || 0;
+ containmentRect.bottom -= offset.bottom || 0;
+ containmentRect.right -= offset.right || 0;
+ }
+
+ var visibilityRect = {
+ top: rect.top >= containmentRect.top,
+ left: rect.left >= containmentRect.left,
+ bottom: rect.bottom <= containmentRect.bottom,
+ right: rect.right <= containmentRect.right
+ }; // https://github.com/joshwnj/react-visibility-sensor/pull/114
+
+ var hasSize = rect.height > 0 && rect.width > 0;
+ var isVisible = hasSize && visibilityRect.top && visibilityRect.left && visibilityRect.bottom && visibilityRect.right; // check for partial visibility
+
+ if (hasSize && _this.props.partialVisibility) {
+ var partialVisible = rect.top <= containmentRect.bottom && rect.bottom >= containmentRect.top && rect.left <= containmentRect.right && rect.right >= containmentRect.left; // account for partial visibility on a single edge
+
+ if (typeof _this.props.partialVisibility === "string") {
+ partialVisible = visibilityRect[_this.props.partialVisibility];
+ } // if we have minimum top visibility set by props, lets check, if it meets the passed value
+ // so if for instance element is at least 200px in viewport, then show it.
+
+
+ isVisible = _this.props.minTopValue ? partialVisible && rect.top <= containmentRect.bottom - _this.props.minTopValue : partialVisible;
+ } // Deprecated options for calculating offset.
+
+
+ if (typeof offset.direction === "string" && typeof offset.value === "number") {
+ console.warn("[notice] offset.direction and offset.value have been deprecated. They still work for now, but will be removed in next major version. Please upgrade to the new syntax: { %s: %d }", offset.direction, offset.value);
+ isVisible = _lib_is_visible_with_offset__WEBPACK_IMPORTED_MODULE_3___default()(offset, rect, containmentRect);
+ }
+
+ var state = _this.state; // notify the parent when the value changes
+
+ if (_this.state.isVisible !== isVisible) {
+ state = {
+ isVisible: isVisible,
+ visibilityRect: visibilityRect
+ };
+
+ _this.setState(state);
+
+ if (_this.props.onChange) _this.props.onChange(isVisible);
+ }
+
+ return state;
+ });
+
+ _this.state = {
+ isVisible: null,
+ visibilityRect: {}
+ };
+ return _this;
+ }
+
+ _createClass(VisibilitySensor, [{
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ this.node = react_dom__WEBPACK_IMPORTED_MODULE_1___default.a.findDOMNode(this);
+
+ if (this.props.active) {
+ this.startWatching();
+ }
+ }
+ }, {
+ key: "componentWillUnmount",
+ value: function componentWillUnmount() {
+ this.stopWatching();
+ }
+ }, {
+ key: "componentDidUpdate",
+ value: function componentDidUpdate(prevProps) {
+ // re-register node in componentDidUpdate if children diffs [#103]
+ this.node = react_dom__WEBPACK_IMPORTED_MODULE_1___default.a.findDOMNode(this);
+
+ if (this.props.active && !prevProps.active) {
+ this.setState({
+ isVisible: null,
+ visibilityRect: {}
+ });
+ this.startWatching();
+ } else if (!this.props.active) {
+ this.stopWatching();
+ }
+ }
+ }, {
+ key: "roundRectDown",
+ value: function roundRectDown(rect) {
+ return {
+ top: Math.floor(rect.top),
+ left: Math.floor(rect.left),
+ bottom: Math.floor(rect.bottom),
+ right: Math.floor(rect.right)
+ };
+ }
+ /**
+ * Check if the element is within the visible viewport
+ */
+
+ }, {
+ key: "render",
+ value: function render() {
+ if (this.props.children instanceof Function) {
+ return this.props.children({
+ isVisible: this.state.isVisible,
+ visibilityRect: this.state.visibilityRect
+ });
+ }
+
+ return react__WEBPACK_IMPORTED_MODULE_0___default.a.Children.only(this.props.children);
+ }
+ }]);
+
+ return VisibilitySensor;
+}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component);
+
+_defineProperty(VisibilitySensor, "defaultProps", {
+ active: true,
+ partialVisibility: false,
+ minTopValue: 0,
+ scrollCheck: false,
+ scrollDelay: 250,
+ scrollThrottle: -1,
+ resizeCheck: false,
+ resizeDelay: 250,
+ resizeThrottle: -1,
+ intervalCheck: true,
+ intervalDelay: 100,
+ delayedCall: false,
+ offset: {},
+ containment: null,
+ children: react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", null)
+});
+
+_defineProperty(VisibilitySensor, "propTypes", {
+ onChange: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func,
+ active: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool,
+ partialVisibility: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool, prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.oneOf(["top", "right", "bottom", "left"])]),
+ delayedCall: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool,
+ offset: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.shape({
+ top: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number,
+ left: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number,
+ bottom: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number,
+ right: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number
+ }), // deprecated offset property
+ prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.shape({
+ direction: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.oneOf(["top", "right", "bottom", "left"]),
+ value: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number
+ })]),
+ scrollCheck: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool,
+ scrollDelay: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number,
+ scrollThrottle: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number,
+ resizeCheck: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool,
+ resizeDelay: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number,
+ resizeThrottle: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number,
+ intervalCheck: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool,
+ intervalDelay: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number,
+ containment: typeof window !== "undefined" ? prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.instanceOf(window.Element) : prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.any,
+ children: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.element, prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func]),
+ minTopValue: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number
+});
+
+
+
+/***/ }),
+/* 5 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+/**
+ * Copyright (c) 2013-present, Facebook, Inc.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+
+
+var ReactPropTypesSecret = __webpack_require__(6);
+
+function emptyFunction() {}
+function emptyFunctionWithReset() {}
+emptyFunctionWithReset.resetWarningCache = emptyFunction;
+
+module.exports = function() {
+ function shim(props, propName, componentName, location, propFullName, secret) {
+ if (secret === ReactPropTypesSecret) {
+ // It is still safe when called from React.
+ return;
+ }
+ var err = new Error(
+ 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
+ 'Use PropTypes.checkPropTypes() to call them. ' +
+ 'Read more at http://fb.me/use-check-prop-types'
+ );
+ err.name = 'Invariant Violation';
+ throw err;
+ };
+ shim.isRequired = shim;
+ function getShim() {
+ return shim;
+ };
+ // Important!
+ // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.
+ var ReactPropTypes = {
+ array: shim,
+ bool: shim,
+ func: shim,
+ number: shim,
+ object: shim,
+ string: shim,
+ symbol: shim,
+
+ any: shim,
+ arrayOf: getShim,
+ element: shim,
+ elementType: shim,
+ instanceOf: getShim,
+ node: shim,
+ objectOf: getShim,
+ oneOf: getShim,
+ oneOfType: getShim,
+ shape: getShim,
+ exact: getShim,
+
+ checkPropTypes: emptyFunctionWithReset,
+ resetWarningCache: emptyFunction
+ };
+
+ ReactPropTypes.PropTypes = ReactPropTypes;
+
+ return ReactPropTypes;
+};
+
+
+/***/ }),
+/* 6 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+/**
+ * Copyright (c) 2013-present, Facebook, Inc.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+
+
+var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
+
+module.exports = ReactPropTypesSecret;
+
+
+/***/ })
+/******/ ]);
+});
+
+/***/ }),
+
+/***/ 901:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(41);
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(40);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(44);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(29);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(42);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(3);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__);
+/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(10);
+/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_7__);
+/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(88);
+/* harmony import */ var gridicons__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(66);
+/* harmony import */ var gridicons__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(gridicons__WEBPACK_IMPORTED_MODULE_9__);
+/* harmony import */ var interpolate_components__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(35);
+/* harmony import */ var interpolate_components__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(interpolate_components__WEBPACK_IMPORTED_MODULE_10__);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_11__);
+/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(1);
+/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_12__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_13__);
+/* harmony import */ var _woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(26);
+/* harmony import */ var _activity_card__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(748);
+/* harmony import */ var _activity_header__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(754);
+/* harmony import */ var wc_api_constants__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(24);
+/* harmony import */ var lib_sanitize_html__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(747);
+/* harmony import */ var wc_api_with_select__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(101);
+/* harmony import */ var lib_tracks__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(79);
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+
+var ReviewsPanel = /*#__PURE__*/function (_Component) {
+ _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(ReviewsPanel, _Component);
+
+ var _super = _createSuper(ReviewsPanel);
+
+ function ReviewsPanel() {
+ var _this;
+
+ _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, ReviewsPanel);
+
+ _this = _super.call(this);
+ _this.mountTime = new Date().getTime();
+ return _this;
+ }
+
+ _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(ReviewsPanel, [{
+ key: "renderReview",
+ value: function renderReview(review, props) {
+ var lastRead = props.lastRead;
+ var product = review && review._embedded && review._embedded.up && review._embedded.up[0] || null;
+
+ if (Object(lodash__WEBPACK_IMPORTED_MODULE_11__["isNull"])(product)) {
+ return null;
+ }
+
+ var title = interpolate_components__WEBPACK_IMPORTED_MODULE_10___default()({
+ mixedString: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["sprintf"])(Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('{{productLink}}%s{{/productLink}} reviewed by {{authorLink}}%s{{/authorLink}}', 'woocommerce-admin'), product.name, review.reviewer),
+ components: {
+ productLink: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_13__["Link"], {
+ href: product.permalink,
+ type: "external"
+ }),
+ authorLink: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_13__["Link"], {
+ href: 'mailto:' + review.reviewer_email,
+ type: "external"
+ })
+ }
+ });
+ var subtitle = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["Fragment"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_13__["ReviewRating"], {
+ review: review
+ }), review.verified && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])("span", {
+ className: "woocommerce-review-activity-card__verified"
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(gridicons__WEBPACK_IMPORTED_MODULE_9___default.a, {
+ icon: "checkmark",
+ size: 18
+ }), Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('Verified customer', 'woocommerce-admin')));
+ var productImage = Object(lodash__WEBPACK_IMPORTED_MODULE_11__["get"])(product, ['images', 0]) || Object(lodash__WEBPACK_IMPORTED_MODULE_11__["get"])(product, ['image']);
+ var productImageClasses = classnames__WEBPACK_IMPORTED_MODULE_7___default()('woocommerce-review-activity-card__image-overlay__product', {
+ 'is-placeholder': !productImage || !productImage.src
+ });
+ var icon = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])("div", {
+ className: "woocommerce-review-activity-card__image-overlay"
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_13__["Gravatar"], {
+ user: review.reviewer_email,
+ size: 24
+ }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])("div", {
+ className: productImageClasses
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_13__["ProductImage"], {
+ product: product
+ })));
+ var manageReviewEvent = {
+ date: review.date_created_gmt,
+ status: review.status
+ };
+ var cardActions = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_8__[/* default */ "a"], {
+ isDefault: true,
+ onClick: function onClick() {
+ return Object(lib_tracks__WEBPACK_IMPORTED_MODULE_20__[/* recordEvent */ "b"])('review_manage_click', manageReviewEvent);
+ },
+ href: Object(_woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_14__[/* getAdminLink */ "f"])('comment.php?action=editcomment&c=' + review.id)
+ }, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('Manage', 'woocommerce-admin'));
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_activity_card__WEBPACK_IMPORTED_MODULE_15__[/* ActivityCard */ "a"], {
+ className: "woocommerce-review-activity-card",
+ key: review.id,
+ title: title,
+ subtitle: subtitle,
+ date: review.date_created_gmt,
+ icon: icon,
+ actions: cardActions,
+ unread: review.status === 'hold' || !lastRead || !review.date_created_gmt || new Date(review.date_created_gmt + 'Z').getTime() > lastRead
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])("span", {
+ dangerouslySetInnerHTML: Object(lib_sanitize_html__WEBPACK_IMPORTED_MODULE_18__[/* default */ "a"])(review.review)
+ }));
+ }
+ }, {
+ key: "renderEmptyMessage",
+ value: function renderEmptyMessage() {
+ var lastApprovedReviewTime = this.props.lastApprovedReviewTime;
+
+ var title = Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('You have no reviews to moderate', 'woocommerce-admin');
+
+ var buttonUrl = '';
+ var buttonTarget = '';
+ var buttonText = '';
+ var content = '';
+
+ if (lastApprovedReviewTime) {
+ var now = new Date();
+ var DAY = 24 * 60 * 60 * 1000;
+
+ if ((now.getTime() - lastApprovedReviewTime) / DAY > 30) {
+ buttonUrl = 'https://woocommerce.com/posts/reviews-woocommerce-best-practices/';
+ buttonTarget = '_blank';
+ buttonText = Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('Learn more', 'woocommerce-admin');
+ content = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["Fragment"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])("p", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])("We noticed that it's been a while since your products had any reviews.", 'woocommerce-admin')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])("p", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('Take some time to learn about best practices for collecting and using your reviews.', 'woocommerce-admin')));
+ } else {
+ buttonUrl = Object(_woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_14__[/* getAdminLink */ "f"])('edit-comments.php?comment_type=review');
+ buttonText = Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('View all Reviews', 'woocommerce-admin');
+ content = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])("p", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])(
+ /* eslint-disable max-len */
+ "Awesome, you've moderated all of your product reviews. How about responding to some of those negative reviews?", 'woocommerce-admin'
+ /* eslint-enable */
+ ));
+ }
+ } else {
+ buttonUrl = 'https://woocommerce.com/posts/reviews-woocommerce-best-practices/';
+ buttonTarget = '_blank';
+ buttonText = Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('Learn more', 'woocommerce-admin');
+ content = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["Fragment"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])("p", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])("Your customers haven't started reviewing your products.", 'woocommerce-admin')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])("p", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('Take some time to learn about best practices for collecting and using your reviews.', 'woocommerce-admin')));
+ }
+
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_activity_card__WEBPACK_IMPORTED_MODULE_15__[/* ActivityCard */ "a"], {
+ className: "woocommerce-empty-activity-card",
+ title: title,
+ icon: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(gridicons__WEBPACK_IMPORTED_MODULE_9___default.a, {
+ icon: "time",
+ size: 48
+ }),
+ actions: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_8__[/* default */ "a"], {
+ href: buttonUrl,
+ target: buttonTarget,
+ isDefault: true
+ }, buttonText)
+ }, content);
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this2 = this;
+
+ var _this$props = this.props,
+ isError = _this$props.isError,
+ isRequesting = _this$props.isRequesting,
+ reviews = _this$props.reviews;
+
+ if (isError) {
+ var _title = Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('There was an error getting your reviews. Please try again.', 'woocommerce-admin');
+
+ var actionLabel = Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('Reload', 'woocommerce-admin');
+
+ var actionCallback = function actionCallback() {
+ window.location.reload();
+ };
+
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["Fragment"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_13__["EmptyContent"], {
+ title: _title,
+ actionLabel: actionLabel,
+ actionURL: null,
+ actionCallback: actionCallback
+ }));
+ }
+
+ var title = isRequesting || reviews.length ? Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('Reviews', 'woocommerce-admin') : Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('No reviews to moderate', 'woocommerce-admin');
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["Fragment"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_activity_header__WEBPACK_IMPORTED_MODULE_16__[/* default */ "a"], {
+ title: title
+ }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_13__["Section"], null, isRequesting ? Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_activity_card__WEBPACK_IMPORTED_MODULE_15__[/* ActivityCardPlaceholder */ "b"], {
+ className: "woocommerce-review-activity-card",
+ hasAction: true,
+ hasDate: true,
+ lines: 2
+ }) : Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["Fragment"], null, reviews.length ? reviews.map(function (review) {
+ return _this2.renderReview(review, _this2.props);
+ }) : this.renderEmptyMessage())));
+ }
+ }]);
+
+ return ReviewsPanel;
+}(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["Component"]);
+
+ReviewsPanel.propTypes = {
+ reviews: prop_types__WEBPACK_IMPORTED_MODULE_12___default.a.array.isRequired,
+ isError: prop_types__WEBPACK_IMPORTED_MODULE_12___default.a.bool,
+ isRequesting: prop_types__WEBPACK_IMPORTED_MODULE_12___default.a.bool
+};
+ReviewsPanel.defaultProps = {
+ reviews: [],
+ isError: false,
+ isRequesting: false
+};
+/* harmony default export */ __webpack_exports__["default"] = (Object(wc_api_with_select__WEBPACK_IMPORTED_MODULE_19__[/* default */ "a"])(function (select, props) {
+ var hasUnapprovedReviews = props.hasUnapprovedReviews;
+
+ var _select = select('wc-api'),
+ getReviews = _select.getReviews,
+ getReviewsError = _select.getReviewsError,
+ isGetReviewsRequesting = _select.isGetReviewsRequesting;
+
+ var reviews = [];
+ var isError = false;
+ var isRequesting = false;
+ var lastApprovedReviewTime = null;
+
+ if (hasUnapprovedReviews) {
+ var reviewsQuery = {
+ page: 1,
+ per_page: wc_api_constants__WEBPACK_IMPORTED_MODULE_17__[/* QUERY_DEFAULTS */ "d"].pageSize,
+ status: 'hold',
+ _embed: 1
+ };
+ reviews = getReviews(reviewsQuery);
+ isError = Boolean(getReviewsError(reviewsQuery));
+ isRequesting = isGetReviewsRequesting(reviewsQuery);
+ } else {
+ var approvedReviewsQuery = {
+ page: 1,
+ per_page: 1,
+ status: 'approved',
+ _embed: 1
+ };
+ var approvedReviews = getReviews(approvedReviewsQuery);
+
+ if (approvedReviews.length) {
+ var lastApprovedReview = approvedReviews[0];
+
+ if (lastApprovedReview.date_created_gmt) {
+ var creationDate = new Date(lastApprovedReview.date_created_gmt);
+ lastApprovedReviewTime = creationDate.getTime();
+ }
+ }
+
+ isError = Boolean(getReviewsError(approvedReviewsQuery));
+ isRequesting = isGetReviewsRequesting(approvedReviewsQuery);
+ }
+
+ return {
+ reviews: reviews,
+ isError: isError,
+ isRequesting: isRequesting,
+ lastApprovedReviewTime: lastApprovedReviewTime
+ };
+})(ReviewsPanel));
+
+/***/ }),
+
+/***/ 908:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+// ESM COMPAT FLAG
+__webpack_require__.r(__webpack_exports__);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js
+var classCallCheck = __webpack_require__(41);
+var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js
+var createClass = __webpack_require__(40);
+var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(44);
+var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(29);
+var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js
+var inherits = __webpack_require__(42);
+var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: external {"this":["wp","i18n"]}
+var external_this_wp_i18n_ = __webpack_require__(3);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/compose/build-module/higher-order/compose.js
+var compose = __webpack_require__(256);
+
+// EXTERNAL MODULE: ./node_modules/gridicons/dist/index.js
+var dist = __webpack_require__(66);
+var dist_default = /*#__PURE__*/__webpack_require__.n(dist);
+
+// EXTERNAL MODULE: external {"this":["wp","data"]}
+var external_this_wp_data_ = __webpack_require__(19);
+
+// EXTERNAL MODULE: ./client/header/activity-panel/activity-card/index.js + 1 modules
+var activity_card = __webpack_require__(748);
+
+// EXTERNAL MODULE: ./client/header/activity-panel/activity-header/index.js
+var activity_header = __webpack_require__(754);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/assertThisInitialized.js
+var assertThisInitialized = __webpack_require__(59);
+var assertThisInitialized_default = /*#__PURE__*/__webpack_require__.n(assertThisInitialized);
+
+// EXTERNAL MODULE: ./node_modules/prop-types/index.js
+var prop_types = __webpack_require__(1);
+var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
+
+// EXTERNAL MODULE: ./node_modules/react-visibility-sensor/dist/visibility-sensor.js
+var visibility_sensor = __webpack_require__(887);
+var visibility_sensor_default = /*#__PURE__*/__webpack_require__.n(visibility_sensor);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/button/index.js
+var build_module_button = __webpack_require__(88);
+
+// EXTERNAL MODULE: ./client/settings/index.js
+var settings = __webpack_require__(26);
+
+// CONCATENATED MODULE: ./client/header/activity-panel/panels/inbox/action.js
+
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+var action_InboxNoteAction = /*#__PURE__*/function (_Component) {
+ inherits_default()(InboxNoteAction, _Component);
+
+ var _super = _createSuper(InboxNoteAction);
+
+ function InboxNoteAction(props) {
+ var _this;
+
+ classCallCheck_default()(this, InboxNoteAction);
+
+ _this = _super.call(this, props);
+ _this.state = {
+ inAction: false
+ };
+ _this.handleActionClick = _this.handleActionClick.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(InboxNoteAction, [{
+ key: "handleActionClick",
+ value: function handleActionClick(event) {
+ var _this$props = this.props,
+ action = _this$props.action,
+ noteId = _this$props.noteId,
+ triggerNoteAction = _this$props.triggerNoteAction;
+ var href = event.target.href || '';
+ var inAction = true;
+
+ if (href.length && !href.startsWith(settings["a" /* ADMIN_URL */])) {
+ event.preventDefault();
+ inAction = false; // link buttons shouldn't be "busy".
+
+ window.open(href, '_blank');
+ }
+
+ this.setState({
+ inAction: inAction
+ }, function () {
+ return triggerNoteAction(noteId, action.id);
+ });
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var action = this.props.action;
+ return Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isDefault: true,
+ isPrimary: action.primary,
+ isBusy: this.state.inAction,
+ disabled: this.state.inAction,
+ href: action.url || undefined,
+ onClick: this.handleActionClick
+ }, action.label);
+ }
+ }]);
+
+ return InboxNoteAction;
+}(external_this_wp_element_["Component"]);
+
+action_InboxNoteAction.propTypes = {
+ noteId: prop_types_default.a.number,
+ action: prop_types_default.a.shape({
+ id: prop_types_default.a.number.isRequired,
+ url: prop_types_default.a.string,
+ label: prop_types_default.a.string.isRequired,
+ primary: prop_types_default.a.bool.isRequired
+ })
+};
+/* harmony default export */ var inbox_action = (Object(compose["a" /* default */])(Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('wc-api'),
+ triggerNoteAction = _dispatch.triggerNoteAction;
+
+ return {
+ triggerNoteAction: triggerNoteAction
+ };
+}))(action_InboxNoteAction));
+// EXTERNAL MODULE: ./client/lib/sanitize-html/index.js
+var sanitize_html = __webpack_require__(747);
+
+// EXTERNAL MODULE: ./node_modules/classnames/index.js
+var classnames = __webpack_require__(10);
+var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
+
+// EXTERNAL MODULE: ./client/lib/tracks.js
+var tracks = __webpack_require__(79);
+
+// CONCATENATED MODULE: ./client/header/activity-panel/panels/inbox/card.js
+
+
+
+
+
+
+
+
+function card_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (card_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function card_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+var card_InboxNoteCard = /*#__PURE__*/function (_Component) {
+ inherits_default()(InboxNoteCard, _Component);
+
+ var _super = card_createSuper(InboxNoteCard);
+
+ function InboxNoteCard(props) {
+ var _this;
+
+ classCallCheck_default()(this, InboxNoteCard);
+
+ _this = _super.call(this, props);
+ _this.onVisible = _this.onVisible.bind(assertThisInitialized_default()(_this));
+ _this.hasBeenSeen = false;
+ return _this;
+ } // Trigger a view Tracks event when the note is seen.
+
+
+ createClass_default()(InboxNoteCard, [{
+ key: "onVisible",
+ value: function onVisible(isVisible) {
+ if (isVisible && !this.hasBeenSeen) {
+ var note = this.props.note;
+ Object(tracks["b" /* recordEvent */])('inbox_note_view', {
+ note_content: note.content,
+ note_name: note.name,
+ note_title: note.title,
+ note_type: note.type,
+ note_icon: note.icon
+ });
+ this.hasBeenSeen = true;
+ }
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ lastRead = _this$props.lastRead,
+ note = _this$props.note;
+
+ var getButtonsFromActions = function getButtonsFromActions() {
+ if (!note.actions) {
+ return [];
+ }
+
+ return note.actions.map(function (action) {
+ return Object(external_this_wp_element_["createElement"])(inbox_action, {
+ key: note.id,
+ noteId: note.id,
+ action: action
+ });
+ });
+ };
+
+ return Object(external_this_wp_element_["createElement"])(visibility_sensor_default.a, {
+ onChange: this.onVisible
+ }, Object(external_this_wp_element_["createElement"])(activity_card["a" /* ActivityCard */], {
+ className: classnames_default()('woocommerce-inbox-activity-card', {
+ actioned: note.status !== 'unactioned'
+ }),
+ title: note.title,
+ date: note.date_created,
+ icon: Object(external_this_wp_element_["createElement"])(dist_default.a, {
+ icon: note.icon,
+ size: 48
+ }),
+ unread: !lastRead || !note.date_created_gmt || new Date(note.date_created_gmt + 'Z').getTime() > lastRead,
+ actions: getButtonsFromActions(note)
+ }, Object(external_this_wp_element_["createElement"])("span", {
+ dangerouslySetInnerHTML: Object(sanitize_html["a" /* default */])(note.content)
+ })));
+ }
+ }]);
+
+ return InboxNoteCard;
+}(external_this_wp_element_["Component"]);
+
+card_InboxNoteCard.propTypes = {
+ note: prop_types_default.a.shape({
+ id: prop_types_default.a.number,
+ status: prop_types_default.a.string,
+ title: prop_types_default.a.string,
+ icon: prop_types_default.a.string,
+ content: prop_types_default.a.string,
+ date_created: prop_types_default.a.string,
+ date_created_gmt: prop_types_default.a.string,
+ actions: prop_types_default.a.arrayOf(prop_types_default.a.shape({
+ id: prop_types_default.a.number.isRequired,
+ url: prop_types_default.a.string,
+ label: prop_types_default.a.string.isRequired,
+ primary: prop_types_default.a.bool.isRequired
+ }))
+ }),
+ lastRead: prop_types_default.a.number
+};
+/* harmony default export */ var card = (card_InboxNoteCard);
+// EXTERNAL MODULE: external {"this":["wc","components"]}
+var external_this_wc_components_ = __webpack_require__(63);
+
+// EXTERNAL MODULE: ./client/wc-api/constants.js
+var constants = __webpack_require__(24);
+
+// EXTERNAL MODULE: ./client/wc-api/with-select.js
+var with_select = __webpack_require__(101);
+
+// CONCATENATED MODULE: ./client/header/activity-panel/panels/inbox/index.js
+
+
+
+
+
+
+
+function inbox_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (inbox_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function inbox_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+
+var inbox_InboxPanel = /*#__PURE__*/function (_Component) {
+ inherits_default()(InboxPanel, _Component);
+
+ var _super = inbox_createSuper(InboxPanel);
+
+ function InboxPanel(props) {
+ var _this;
+
+ classCallCheck_default()(this, InboxPanel);
+
+ _this = _super.call(this, props);
+ _this.mountTime = Date.now();
+ return _this;
+ }
+
+ createClass_default()(InboxPanel, [{
+ key: "componentWillUnmount",
+ value: function componentWillUnmount() {
+ var userDataFields = {
+ activity_panel_inbox_last_read: this.mountTime
+ };
+ this.props.updateCurrentUserData(userDataFields);
+ }
+ }, {
+ key: "renderEmptyCard",
+ value: function renderEmptyCard() {
+ return Object(external_this_wp_element_["createElement"])(activity_card["a" /* ActivityCard */], {
+ className: "woocommerce-empty-activity-card",
+ title: Object(external_this_wp_i18n_["__"])('Your inbox is empty', 'woocommerce-admin'),
+ icon: Object(external_this_wp_element_["createElement"])(dist_default.a, {
+ icon: "checkmark",
+ size: 48
+ })
+ }, Object(external_this_wp_i18n_["__"])('As things begin to happen in your store your inbox will start to fill up. ' + "You'll see things like achievements, new feature announcements, extension recommendations and more!", 'woocommerce-admin'));
+ }
+ }, {
+ key: "renderNotes",
+ value: function renderNotes() {
+ var _this$props = this.props,
+ lastRead = _this$props.lastRead,
+ notes = _this$props.notes;
+
+ if (Object.keys(notes).length === 0) {
+ return this.renderEmptyCard();
+ }
+
+ var notesArray = Object.keys(notes).map(function (key) {
+ return notes[key];
+ });
+ return notesArray.map(function (note) {
+ return Object(external_this_wp_element_["createElement"])(card, {
+ key: note.id,
+ note: note,
+ lastRead: lastRead
+ });
+ });
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props2 = this.props,
+ isError = _this$props2.isError,
+ isRequesting = _this$props2.isRequesting;
+
+ if (isError) {
+ var title = Object(external_this_wp_i18n_["__"])('There was an error getting your inbox. Please try again.', 'woocommerce-admin');
+
+ var actionLabel = Object(external_this_wp_i18n_["__"])('Reload', 'woocommerce-admin');
+
+ var actionCallback = function actionCallback() {
+ // @todo Add tracking for how often an error is displayed, and the reload action is clicked.
+ window.location.reload();
+ };
+
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["EmptyContent"], {
+ title: title,
+ actionLabel: actionLabel,
+ actionURL: null,
+ actionCallback: actionCallback
+ }));
+ }
+
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(activity_header["a" /* default */], {
+ title: Object(external_this_wp_i18n_["__"])('Inbox', 'woocommerce-admin')
+ }), Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Section"], null, isRequesting ? Object(external_this_wp_element_["createElement"])(activity_card["b" /* ActivityCardPlaceholder */], {
+ className: "woocommerce-inbox-activity-card",
+ hasAction: true,
+ hasDate: true,
+ lines: 2
+ }) : this.renderNotes()));
+ }
+ }]);
+
+ return InboxPanel;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var inbox = __webpack_exports__["default"] = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select) {
+ var _select = select('wc-api'),
+ getCurrentUserData = _select.getCurrentUserData,
+ getNotes = _select.getNotes,
+ getNotesError = _select.getNotesError,
+ isGetNotesRequesting = _select.isGetNotesRequesting;
+
+ var userData = getCurrentUserData();
+ var inboxQuery = {
+ page: 1,
+ per_page: constants["d" /* QUERY_DEFAULTS */].pageSize,
+ type: 'info,warning',
+ orderby: 'date',
+ order: 'desc',
+ status: 'unactioned',
+ _fields: ['id', 'name', 'title', 'content', 'type', 'icon', 'status', 'actions', 'date_created', 'date_created_gmt']
+ };
+ var notes = getNotes(inboxQuery);
+ var isError = Boolean(getNotesError(inboxQuery));
+ var isRequesting = isGetNotesRequesting(inboxQuery);
+ return {
+ notes: notes,
+ isError: isError,
+ isRequesting: isRequesting,
+ lastRead: userData.activity_panel_inbox_last_read
+ };
+}), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('wc-api'),
+ updateCurrentUserData = _dispatch.updateCurrentUserData;
+
+ return {
+ updateCurrentUserData: updateCurrentUserData
+ };
+}))(inbox_InboxPanel));
+
+/***/ })
+
+}]);
\ No newline at end of file
diff --git a/dist/chunks/activity-panels-inbox.d778ee044369d27719e0.min.js b/dist/chunks/activity-panels-inbox.d778ee044369d27719e0.min.js
new file mode 100644
index 00000000000..37596efdd88
--- /dev/null
+++ b/dist/chunks/activity-panels-inbox.d778ee044369d27719e0.min.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{747:function(e,t,n){"use strict";var r=n(758),o=["a","b","em","i","strong","p"],a=["target","href","rel","name","download"];t.a=function(e){return{__html:Object(r.sanitize)(e,{ALLOWED_TAGS:o,ALLOWED_ATTR:a})}}},748:function(e,t,n){"use strict";n.d(t,"a",(function(){return C})),n.d(t,"b",(function(){return k}));var r=n(41),o=n.n(r),a=n(40),i=n.n(a),c=n(44),s=n.n(c),l=n(29),u=n.n(l),m=n(42),p=n.n(m),f=n(0),d=n(10),b=n.n(d),h=n(66),v=n.n(h),y=n(12),g=n.n(y),_=n(1),w=n.n(_),O=(n(756),n(63)),j=n(2);function E(){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}}var R=function(e){p()(r,e);var t,n=(t=r,function(){var e,n=u()(t);if(E()){var r=u()(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return s()(this,e)});function r(){return o()(this,r),n.apply(this,arguments)}return i()(r,[{key:"render",value:function(){var e=this.props,t=e.className,n=e.hasAction,r=e.hasDate,o=e.hasSubtitle,a=e.lines,i=b()("woocommerce-activity-card is-loading",t);return Object(f.createElement)("div",{className:i,"aria-hidden":!0},Object(f.createElement)("span",{className:"woocommerce-activity-card__icon"},Object(f.createElement)("span",{className:"is-placeholder"})),Object(f.createElement)("div",{className:"woocommerce-activity-card__header"},Object(f.createElement)("div",{className:"woocommerce-activity-card__title is-placeholder"}),o&&Object(f.createElement)("div",{className:"woocommerce-activity-card__subtitle is-placeholder"}),r&&Object(f.createElement)("div",{className:"woocommerce-activity-card__date"},Object(f.createElement)("span",{className:"is-placeholder"}))),Object(f.createElement)("div",{className:"woocommerce-activity-card__body"},Object(j.range)(a).map((function(e){return Object(f.createElement)("span",{className:"is-placeholder",key:e})}))),n&&Object(f.createElement)("div",{className:"woocommerce-activity-card__actions"},Object(f.createElement)("span",{className:"is-placeholder"})))}}]),r}(f.Component);R.propTypes={className:w.a.string,hasAction:w.a.bool,hasDate:w.a.bool,hasSubtitle:w.a.bool,lines:w.a.number},R.defaultProps={hasAction:!1,hasDate:!1,hasSubtitle:!1,lines:1};var k=R;function T(){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}}var C=function(e){p()(r,e);var t,n=(t=r,function(){var e,n=u()(t);if(T()){var r=u()(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return s()(this,e)});function r(){return o()(this,r),n.apply(this,arguments)}return i()(r,[{key:"render",value:function(){var e=this.props,t=e.actions,n=e.className,r=e.children,o=e.date,a=e.icon,i=e.subtitle,c=e.title,s=e.unread,l=b()("woocommerce-activity-card",n),u=Array.isArray(t)?t:[t];return Object(f.createElement)("section",{className:l},s&&Object(f.createElement)("span",{className:"woocommerce-activity-card__unread"}),Object(f.createElement)("span",{className:"woocommerce-activity-card__icon","aria-hidden":!0},a),Object(f.createElement)("header",{className:"woocommerce-activity-card__header"},Object(f.createElement)(O.H,{className:"woocommerce-activity-card__title"},c),i&&Object(f.createElement)("div",{className:"woocommerce-activity-card__subtitle"},i),o&&Object(f.createElement)("span",{className:"woocommerce-activity-card__date"},g.a.utc(o).fromNow())),Object(f.createElement)(O.Section,{className:"woocommerce-activity-card__body"},r),t&&Object(f.createElement)("footer",{className:"woocommerce-activity-card__actions"},u.map((function(e,t){return Object(f.cloneElement)(e,{key:t})}))))}}]),r}(f.Component);C.propTypes={actions:w.a.oneOfType([w.a.arrayOf(w.a.element),w.a.element]),className:w.a.string,children:w.a.node.isRequired,date:w.a.string,icon:w.a.node,subtitle:w.a.node,title:w.a.oneOfType([w.a.string,w.a.node]).isRequired,unread:w.a.bool},C.defaultProps={icon:Object(f.createElement)(v.a,{icon:"notice-outline",size:48}),unread:!1}},754:function(e,t,n){"use strict";var r=n(41),o=n.n(r),a=n(40),i=n.n(a),c=n(44),s=n.n(c),l=n(29),u=n.n(l),m=n(42),p=n.n(m),f=n(0),d=n(10),b=n.n(d),h=n(1),v=n.n(h),y=(n(757),n(63));function g(){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}}var _=function(e){p()(r,e);var t,n=(t=r,function(){var e,n=u()(t);if(g()){var r=u()(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return s()(this,e)});function r(){return o()(this,r),n.apply(this,arguments)}return i()(r,[{key:"render",value:function(){var e=this.props,t=e.title,n=e.className,r=e.menu,o=b()("woocommerce-layout__activity-panel-header",n);return Object(f.createElement)("div",{className:o},Object(f.createElement)(y.H,{className:"woocommerce-layout__activity-panel-header-title"},t),r&&Object(f.createElement)("div",{className:"woocommerce-layout__activity-panel-header-menu"},r))}}]),r}(f.Component);_.propTypes={className:v.a.string,title:v.a.string.isRequired,menu:v.a.shape({type:v.a.oneOf([y.EllipsisMenu])})},t.a=_},756:function(e,t,n){},757:function(e,t,n){},887:function(e,t,n){var r;r=function(e,t){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=4)}([function(e,t,n){e.exports=n(5)()},function(t,n){t.exports=e},function(e,n){e.exports=t},function(e,t){e.exports=function(e,t,n){var r=e.direction,o=e.value;switch(r){case"top":return n.top+ot.bottom&&n.leftt.right;case"left":return n.left+ot.bottom&&n.topt.right;case"bottom":return n.bottom-o>t.bottom&&n.leftt.right&&n.topt.right&&n.leftt.bottom}}},function(e,t,n){"use strict";n.r(t),n.d(t,"default",(function(){return v}));var r=n(1),o=n.n(r),a=n(2),i=n.n(a),c=n(0),s=n.n(c),l=n(3),u=n.n(l);function m(e){return(m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function p(e,t){for(var n=0;n-1?function(){a||(a=setTimeout(i,o||0))}:function(){clearTimeout(a),a=setTimeout(i,r||0)},getLastTimeout:function(){return a}};e.addEventListener(t,c.fn),n.debounceCheck[t]=c})),h(d(n),"startWatching",(function(){n.debounceCheck||n.interval||(n.props.intervalCheck&&(n.interval=setInterval(n.check,n.props.intervalDelay)),n.props.scrollCheck&&n.addEventListener(n.getContainer(),"scroll",n.props.scrollDelay,n.props.scrollThrottle),n.props.resizeCheck&&n.addEventListener(window,"resize",n.props.resizeDelay,n.props.resizeThrottle),!n.props.delayedCall&&n.check())})),h(d(n),"stopWatching",(function(){if(n.debounceCheck)for(var e in n.debounceCheck)if(n.debounceCheck.hasOwnProperty(e)){var t=n.debounceCheck[e];clearTimeout(t.getLastTimeout()),t.target.removeEventListener(e,t.fn),n.debounceCheck[e]=null}n.debounceCheck=null,n.interval&&(n.interval=clearInterval(n.interval))})),h(d(n),"check",(function(){var e,t,r=n.node;if(!r)return n.state;if(e=function(e){return void 0===e.width&&(e.width=e.right-e.left),void 0===e.height&&(e.height=e.bottom-e.top),e}(n.roundRectDown(r.getBoundingClientRect())),n.props.containment){var o=n.props.containment.getBoundingClientRect();t={top:o.top,left:o.left,bottom:o.bottom,right:o.right}}else t={top:0,left:0,bottom:window.innerHeight||document.documentElement.clientHeight,right:window.innerWidth||document.documentElement.clientWidth};var a=n.props.offset||{};"object"===m(a)&&(t.top+=a.top||0,t.left+=a.left||0,t.bottom-=a.bottom||0,t.right-=a.right||0);var i={top:e.top>=t.top,left:e.left>=t.left,bottom:e.bottom<=t.bottom,right:e.right<=t.right},c=e.height>0&&e.width>0,s=c&&i.top&&i.left&&i.bottom&&i.right;if(c&&n.props.partialVisibility){var l=e.top<=t.bottom&&e.bottom>=t.top&&e.left<=t.right&&e.right>=t.left;"string"==typeof n.props.partialVisibility&&(l=i[n.props.partialVisibility]),s=n.props.minTopValue?l&&e.top<=t.bottom-n.props.minTopValue:l}"string"==typeof a.direction&&"number"==typeof a.value&&(console.warn("[notice] offset.direction and offset.value have been deprecated. They still work for now, but will be removed in next major version. Please upgrade to the new syntax: { %s: %d }",a.direction,a.value),s=u()(a,e,t));var p=n.state;return n.state.isVisible!==s&&(p={isVisible:s,visibilityRect:i},n.setState(p),n.props.onChange&&n.props.onChange(s)),p})),n.state={isVisible:null,visibilityRect:{}},n}var n,r,a;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&b(e,t)}(t,e),n=t,(r=[{key:"componentDidMount",value:function(){this.node=i.a.findDOMNode(this),this.props.active&&this.startWatching()}},{key:"componentWillUnmount",value:function(){this.stopWatching()}},{key:"componentDidUpdate",value:function(e){this.node=i.a.findDOMNode(this),this.props.active&&!e.active?(this.setState({isVisible:null,visibilityRect:{}}),this.startWatching()):this.props.active||this.stopWatching()}},{key:"roundRectDown",value:function(e){return{top:Math.floor(e.top),left:Math.floor(e.left),bottom:Math.floor(e.bottom),right:Math.floor(e.right)}}},{key:"render",value:function(){return this.props.children instanceof Function?this.props.children({isVisible:this.state.isVisible,visibilityRect:this.state.visibilityRect}):o.a.Children.only(this.props.children)}}])&&p(n.prototype,r),a&&p(n,a),t}(o.a.Component);h(v,"defaultProps",{active:!0,partialVisibility:!1,minTopValue:0,scrollCheck:!1,scrollDelay:250,scrollThrottle:-1,resizeCheck:!1,resizeDelay:250,resizeThrottle:-1,intervalCheck:!0,intervalDelay:100,delayedCall:!1,offset:{},containment:null,children:o.a.createElement("span",null)}),h(v,"propTypes",{onChange:s.a.func,active:s.a.bool,partialVisibility:s.a.oneOfType([s.a.bool,s.a.oneOf(["top","right","bottom","left"])]),delayedCall:s.a.bool,offset:s.a.oneOfType([s.a.shape({top:s.a.number,left:s.a.number,bottom:s.a.number,right:s.a.number}),s.a.shape({direction:s.a.oneOf(["top","right","bottom","left"]),value:s.a.number})]),scrollCheck:s.a.bool,scrollDelay:s.a.number,scrollThrottle:s.a.number,resizeCheck:s.a.bool,resizeDelay:s.a.number,resizeThrottle:s.a.number,intervalCheck:s.a.bool,intervalDelay:s.a.number,containment:"undefined"!=typeof window?s.a.instanceOf(window.Element):s.a.any,children:s.a.oneOfType([s.a.element,s.a.func]),minTopValue:s.a.number})},function(e,t,n){"use strict";var r=n(6);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,i){if(i!==r){var c=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name="Invariant Violation",c}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}])},e.exports=r(n(14),n(87))},901:function(e,t,n){"use strict";n.r(t);var r=n(41),o=n.n(r),a=n(40),i=n.n(a),c=n(44),s=n.n(c),l=n(29),u=n.n(l),m=n(42),p=n.n(m),f=n(0),d=n(3),b=n(10),h=n.n(b),v=n(88),y=n(66),g=n.n(y),_=n(35),w=n.n(_),O=n(2),j=n(1),E=n.n(j),R=n(63),k=n(26),T=n(748),C=n(754),D=n(24),N=n(747),S=n(101),x=n(79);function P(){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}}var L=function(e){p()(r,e);var t,n=(t=r,function(){var e,n=u()(t);if(P()){var r=u()(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return s()(this,e)});function r(){var e;return o()(this,r),(e=n.call(this)).mountTime=(new Date).getTime(),e}return i()(r,[{key:"renderReview",value:function(e,t){var n=t.lastRead,r=e&&e._embedded&&e._embedded.up&&e._embedded.up[0]||null;if(Object(O.isNull)(r))return null;var o=w()({mixedString:Object(d.sprintf)(Object(d.__)("{{productLink}}%s{{/productLink}} reviewed by {{authorLink}}%s{{/authorLink}}","woocommerce-admin"),r.name,e.reviewer),components:{productLink:Object(f.createElement)(R.Link,{href:r.permalink,type:"external"}),authorLink:Object(f.createElement)(R.Link,{href:"mailto:"+e.reviewer_email,type:"external"})}}),a=Object(f.createElement)(f.Fragment,null,Object(f.createElement)(R.ReviewRating,{review:e}),e.verified&&Object(f.createElement)("span",{className:"woocommerce-review-activity-card__verified"},Object(f.createElement)(g.a,{icon:"checkmark",size:18}),Object(d.__)("Verified customer","woocommerce-admin"))),i=Object(O.get)(r,["images",0])||Object(O.get)(r,["image"]),c=h()("woocommerce-review-activity-card__image-overlay__product",{"is-placeholder":!i||!i.src}),s=Object(f.createElement)("div",{className:"woocommerce-review-activity-card__image-overlay"},Object(f.createElement)(R.Gravatar,{user:e.reviewer_email,size:24}),Object(f.createElement)("div",{className:c},Object(f.createElement)(R.ProductImage,{product:r}))),l={date:e.date_created_gmt,status:e.status},u=Object(f.createElement)(v.a,{isDefault:!0,onClick:function(){return Object(x.b)("review_manage_click",l)},href:Object(k.f)("comment.php?action=editcomment&c="+e.id)},Object(d.__)("Manage","woocommerce-admin"));return Object(f.createElement)(T.a,{className:"woocommerce-review-activity-card",key:e.id,title:o,subtitle:a,date:e.date_created_gmt,icon:s,actions:u,unread:"hold"===e.status||!n||!e.date_created_gmt||new Date(e.date_created_gmt+"Z").getTime()>n},Object(f.createElement)("span",{dangerouslySetInnerHTML:Object(N.a)(e.review)}))}},{key:"renderEmptyMessage",value:function(){var e=this.props.lastApprovedReviewTime,t=Object(d.__)("You have no reviews to moderate","woocommerce-admin"),n="",r="",o="",a="";if(e){((new Date).getTime()-e)/864e5>30?(n="https://woocommerce.com/posts/reviews-woocommerce-best-practices/",r="_blank",o=Object(d.__)("Learn more","woocommerce-admin"),a=Object(f.createElement)(f.Fragment,null,Object(f.createElement)("p",null,Object(d.__)("We noticed that it's been a while since your products had any reviews.","woocommerce-admin")),Object(f.createElement)("p",null,Object(d.__)("Take some time to learn about best practices for collecting and using your reviews.","woocommerce-admin")))):(n=Object(k.f)("edit-comments.php?comment_type=review"),o=Object(d.__)("View all Reviews","woocommerce-admin"),a=Object(f.createElement)("p",null,Object(d.__)("Awesome, you've moderated all of your product reviews. How about responding to some of those negative reviews?","woocommerce-admin")))}else n="https://woocommerce.com/posts/reviews-woocommerce-best-practices/",r="_blank",o=Object(d.__)("Learn more","woocommerce-admin"),a=Object(f.createElement)(f.Fragment,null,Object(f.createElement)("p",null,Object(d.__)("Your customers haven't started reviewing your products.","woocommerce-admin")),Object(f.createElement)("p",null,Object(d.__)("Take some time to learn about best practices for collecting and using your reviews.","woocommerce-admin")));return Object(f.createElement)(T.a,{className:"woocommerce-empty-activity-card",title:t,icon:Object(f.createElement)(g.a,{icon:"time",size:48}),actions:Object(f.createElement)(v.a,{href:n,target:r,isDefault:!0},o)},a)}},{key:"render",value:function(){var e=this,t=this.props,n=t.isError,r=t.isRequesting,o=t.reviews;if(n){var a=Object(d.__)("There was an error getting your reviews. Please try again.","woocommerce-admin"),i=Object(d.__)("Reload","woocommerce-admin");return Object(f.createElement)(f.Fragment,null,Object(f.createElement)(R.EmptyContent,{title:a,actionLabel:i,actionURL:null,actionCallback:function(){window.location.reload()}}))}var c=r||o.length?Object(d.__)("Reviews","woocommerce-admin"):Object(d.__)("No reviews to moderate","woocommerce-admin");return Object(f.createElement)(f.Fragment,null,Object(f.createElement)(C.a,{title:c}),Object(f.createElement)(R.Section,null,r?Object(f.createElement)(T.b,{className:"woocommerce-review-activity-card",hasAction:!0,hasDate:!0,lines:2}):Object(f.createElement)(f.Fragment,null,o.length?o.map((function(t){return e.renderReview(t,e.props)})):this.renderEmptyMessage())))}}]),r}(f.Component);L.propTypes={reviews:E.a.array.isRequired,isError:E.a.bool,isRequesting:E.a.bool},L.defaultProps={reviews:[],isError:!1,isRequesting:!1},t.default=Object(S.a)((function(e,t){var n=t.hasUnapprovedReviews,r=e("wc-api"),o=r.getReviews,a=r.getReviewsError,i=r.isGetReviewsRequesting,c=[],s=!1,l=!1,u=null;if(n){var m={page:1,per_page:D.d.pageSize,status:"hold",_embed:1};c=o(m),s=Boolean(a(m)),l=i(m)}else{var p={page:1,per_page:1,status:"approved",_embed:1},f=o(p);if(f.length){var d=f[0];if(d.date_created_gmt)u=new Date(d.date_created_gmt).getTime()}s=Boolean(a(p)),l=i(p)}return{reviews:c,isError:s,isRequesting:l,lastApprovedReviewTime:u}}))(L)},908:function(e,t,n){"use strict";n.r(t);var r=n(41),o=n.n(r),a=n(40),i=n.n(a),c=n(44),s=n.n(c),l=n(29),u=n.n(l),m=n(42),p=n.n(m),f=n(0),d=n(3),b=n(256),h=n(66),v=n.n(h),y=n(19),g=n(748),_=n(754),w=n(59),O=n.n(w),j=n(1),E=n.n(j),R=n(887),k=n.n(R),T=n(88),C=n(26);function D(){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}}var N=function(e){p()(r,e);var t,n=(t=r,function(){var e,n=u()(t);if(D()){var r=u()(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return s()(this,e)});function r(e){var t;return o()(this,r),(t=n.call(this,e)).state={inAction:!1},t.handleActionClick=t.handleActionClick.bind(O()(t)),t}return i()(r,[{key:"handleActionClick",value:function(e){var t=this.props,n=t.action,r=t.noteId,o=t.triggerNoteAction,a=e.target.href||"",i=!0;a.length&&!a.startsWith(C.a)&&(e.preventDefault(),i=!1,window.open(a,"_blank")),this.setState({inAction:i},(function(){return o(r,n.id)}))}},{key:"render",value:function(){var e=this.props.action;return Object(f.createElement)(T.a,{isDefault:!0,isPrimary:e.primary,isBusy:this.state.inAction,disabled:this.state.inAction,href:e.url||void 0,onClick:this.handleActionClick},e.label)}}]),r}(f.Component);N.propTypes={noteId:E.a.number,action:E.a.shape({id:E.a.number.isRequired,url:E.a.string,label:E.a.string.isRequired,primary:E.a.bool.isRequired})};var S=Object(b.a)(Object(y.withDispatch)((function(e){return{triggerNoteAction:e("wc-api").triggerNoteAction}})))(N),x=n(747),P=n(10),L=n.n(P),A=n(79);function V(){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}}var q=function(e){p()(r,e);var t,n=(t=r,function(){var e,n=u()(t);if(V()){var r=u()(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return s()(this,e)});function r(e){var t;return o()(this,r),(t=n.call(this,e)).onVisible=t.onVisible.bind(O()(t)),t.hasBeenSeen=!1,t}return i()(r,[{key:"onVisible",value:function(e){if(e&&!this.hasBeenSeen){var t=this.props.note;Object(A.b)("inbox_note_view",{note_content:t.content,note_name:t.name,note_title:t.title,note_type:t.type,note_icon:t.icon}),this.hasBeenSeen=!0}}},{key:"render",value:function(){var e=this.props,t=e.lastRead,n=e.note;return Object(f.createElement)(k.a,{onChange:this.onVisible},Object(f.createElement)(g.a,{className:L()("woocommerce-inbox-activity-card",{actioned:"unactioned"!==n.status}),title:n.title,date:n.date_created,icon:Object(f.createElement)(v.a,{icon:n.icon,size:48}),unread:!t||!n.date_created_gmt||new Date(n.date_created_gmt+"Z").getTime()>t,actions:n.actions?n.actions.map((function(e){return Object(f.createElement)(S,{key:n.id,noteId:n.id,action:e})})):[]},Object(f.createElement)("span",{dangerouslySetInnerHTML:Object(x.a)(n.content)})))}}]),r}(f.Component);q.propTypes={note:E.a.shape({id:E.a.number,status:E.a.string,title:E.a.string,icon:E.a.string,content:E.a.string,date_created:E.a.string,date_created_gmt:E.a.string,actions:E.a.arrayOf(E.a.shape({id:E.a.number.isRequired,url:E.a.string,label:E.a.string.isRequired,primary:E.a.bool.isRequired}))}),lastRead:E.a.number};var z=q,M=n(63),W=n(24),I=n(101);function U(){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}}var B=function(e){p()(r,e);var t,n=(t=r,function(){var e,n=u()(t);if(U()){var r=u()(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return s()(this,e)});function r(e){var t;return o()(this,r),(t=n.call(this,e)).mountTime=Date.now(),t}return i()(r,[{key:"componentWillUnmount",value:function(){var e={activity_panel_inbox_last_read:this.mountTime};this.props.updateCurrentUserData(e)}},{key:"renderEmptyCard",value:function(){return Object(f.createElement)(g.a,{className:"woocommerce-empty-activity-card",title:Object(d.__)("Your inbox is empty","woocommerce-admin"),icon:Object(f.createElement)(v.a,{icon:"checkmark",size:48})},Object(d.__)("As things begin to happen in your store your inbox will start to fill up. You'll see things like achievements, new feature announcements, extension recommendations and more!","woocommerce-admin"))}},{key:"renderNotes",value:function(){var e=this.props,t=e.lastRead,n=e.notes;return 0===Object.keys(n).length?this.renderEmptyCard():Object.keys(n).map((function(e){return n[e]})).map((function(e){return Object(f.createElement)(z,{key:e.id,note:e,lastRead:t})}))}},{key:"render",value:function(){var e=this.props,t=e.isError,n=e.isRequesting;if(t){var r=Object(d.__)("There was an error getting your inbox. Please try again.","woocommerce-admin"),o=Object(d.__)("Reload","woocommerce-admin");return Object(f.createElement)(f.Fragment,null,Object(f.createElement)(M.EmptyContent,{title:r,actionLabel:o,actionURL:null,actionCallback:function(){window.location.reload()}}))}return Object(f.createElement)(f.Fragment,null,Object(f.createElement)(_.a,{title:Object(d.__)("Inbox","woocommerce-admin")}),Object(f.createElement)(M.Section,null,n?Object(f.createElement)(g.b,{className:"woocommerce-inbox-activity-card",hasAction:!0,hasDate:!0,lines:2}):this.renderNotes()))}}]),r}(f.Component);t.default=Object(b.a)(Object(I.a)((function(e){var t=e("wc-api"),n=t.getCurrentUserData,r=t.getNotes,o=t.getNotesError,a=t.isGetNotesRequesting,i=n(),c={page:1,per_page:W.d.pageSize,type:"info,warning",orderby:"date",order:"desc",status:"unactioned",_fields:["id","name","title","content","type","icon","status","actions","date_created","date_created_gmt"]};return{notes:r(c),isError:Boolean(o(c)),isRequesting:a(c),lastRead:i.activity_panel_inbox_last_read}})),Object(y.withDispatch)((function(e){return{updateCurrentUserData:e("wc-api").updateCurrentUserData}})))(B)}}]);
\ No newline at end of file
diff --git a/dist/chunks/activity-panels-orders.03bce387983e598295fa.js b/dist/chunks/activity-panels-orders.03bce387983e598295fa.js
new file mode 100644
index 00000000000..be7ee5b6161
--- /dev/null
+++ b/dist/chunks/activity-panels-orders.03bce387983e598295fa.js
@@ -0,0 +1,841 @@
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[7],{
+
+/***/ 748:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ activity_card_ActivityCard; });
+__webpack_require__.d(__webpack_exports__, "b", function() { return /* reexport */ placeholder; });
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js
+var classCallCheck = __webpack_require__(41);
+var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js
+var createClass = __webpack_require__(40);
+var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(44);
+var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(29);
+var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js
+var inherits = __webpack_require__(42);
+var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: ./node_modules/classnames/index.js
+var classnames = __webpack_require__(10);
+var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
+
+// EXTERNAL MODULE: ./node_modules/gridicons/dist/index.js
+var dist = __webpack_require__(66);
+var dist_default = /*#__PURE__*/__webpack_require__.n(dist);
+
+// EXTERNAL MODULE: external "moment"
+var external_moment_ = __webpack_require__(12);
+var external_moment_default = /*#__PURE__*/__webpack_require__.n(external_moment_);
+
+// EXTERNAL MODULE: ./node_modules/prop-types/index.js
+var prop_types = __webpack_require__(1);
+var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
+
+// EXTERNAL MODULE: ./client/header/activity-panel/activity-card/style.scss
+var style = __webpack_require__(756);
+
+// EXTERNAL MODULE: external {"this":["wc","components"]}
+var external_this_wc_components_ = __webpack_require__(63);
+
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__(2);
+
+// CONCATENATED MODULE: ./client/header/activity-panel/activity-card/placeholder.js
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+var placeholder_ActivityCardPlaceholder = /*#__PURE__*/function (_Component) {
+ inherits_default()(ActivityCardPlaceholder, _Component);
+
+ var _super = _createSuper(ActivityCardPlaceholder);
+
+ function ActivityCardPlaceholder() {
+ classCallCheck_default()(this, ActivityCardPlaceholder);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(ActivityCardPlaceholder, [{
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ className = _this$props.className,
+ hasAction = _this$props.hasAction,
+ hasDate = _this$props.hasDate,
+ hasSubtitle = _this$props.hasSubtitle,
+ lines = _this$props.lines;
+ var cardClassName = classnames_default()('woocommerce-activity-card is-loading', className);
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: cardClassName,
+ "aria-hidden": true
+ }, Object(external_this_wp_element_["createElement"])("span", {
+ className: "woocommerce-activity-card__icon"
+ }, Object(external_this_wp_element_["createElement"])("span", {
+ className: "is-placeholder"
+ })), Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-activity-card__header"
+ }, Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-activity-card__title is-placeholder"
+ }), hasSubtitle && Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-activity-card__subtitle is-placeholder"
+ }), hasDate && Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-activity-card__date"
+ }, Object(external_this_wp_element_["createElement"])("span", {
+ className: "is-placeholder"
+ }))), Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-activity-card__body"
+ }, Object(external_lodash_["range"])(lines).map(function (i) {
+ return Object(external_this_wp_element_["createElement"])("span", {
+ className: "is-placeholder",
+ key: i
+ });
+ })), hasAction && Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-activity-card__actions"
+ }, Object(external_this_wp_element_["createElement"])("span", {
+ className: "is-placeholder"
+ })));
+ }
+ }]);
+
+ return ActivityCardPlaceholder;
+}(external_this_wp_element_["Component"]);
+
+placeholder_ActivityCardPlaceholder.propTypes = {
+ className: prop_types_default.a.string,
+ hasAction: prop_types_default.a.bool,
+ hasDate: prop_types_default.a.bool,
+ hasSubtitle: prop_types_default.a.bool,
+ lines: prop_types_default.a.number
+};
+placeholder_ActivityCardPlaceholder.defaultProps = {
+ hasAction: false,
+ hasDate: false,
+ hasSubtitle: false,
+ lines: 1
+};
+/* harmony default export */ var placeholder = (placeholder_ActivityCardPlaceholder);
+// CONCATENATED MODULE: ./client/header/activity-panel/activity-card/index.js
+
+
+
+
+
+
+
+function activity_card_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (activity_card_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function activity_card_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var activity_card_ActivityCard = /*#__PURE__*/function (_Component) {
+ inherits_default()(ActivityCard, _Component);
+
+ var _super = activity_card_createSuper(ActivityCard);
+
+ function ActivityCard() {
+ classCallCheck_default()(this, ActivityCard);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(ActivityCard, [{
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ actions = _this$props.actions,
+ className = _this$props.className,
+ children = _this$props.children,
+ date = _this$props.date,
+ icon = _this$props.icon,
+ subtitle = _this$props.subtitle,
+ title = _this$props.title,
+ unread = _this$props.unread;
+ var cardClassName = classnames_default()('woocommerce-activity-card', className);
+ var actionsList = Array.isArray(actions) ? actions : [actions];
+ return Object(external_this_wp_element_["createElement"])("section", {
+ className: cardClassName
+ }, unread && Object(external_this_wp_element_["createElement"])("span", {
+ className: "woocommerce-activity-card__unread"
+ }), Object(external_this_wp_element_["createElement"])("span", {
+ className: "woocommerce-activity-card__icon",
+ "aria-hidden": true
+ }, icon), Object(external_this_wp_element_["createElement"])("header", {
+ className: "woocommerce-activity-card__header"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["H"], {
+ className: "woocommerce-activity-card__title"
+ }, title), subtitle && Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-activity-card__subtitle"
+ }, subtitle), date && Object(external_this_wp_element_["createElement"])("span", {
+ className: "woocommerce-activity-card__date"
+ }, external_moment_default.a.utc(date).fromNow())), Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Section"], {
+ className: "woocommerce-activity-card__body"
+ }, children), actions && Object(external_this_wp_element_["createElement"])("footer", {
+ className: "woocommerce-activity-card__actions"
+ }, actionsList.map(function (item, i) {
+ return Object(external_this_wp_element_["cloneElement"])(item, {
+ key: i
+ });
+ })));
+ }
+ }]);
+
+ return ActivityCard;
+}(external_this_wp_element_["Component"]);
+
+activity_card_ActivityCard.propTypes = {
+ actions: prop_types_default.a.oneOfType([prop_types_default.a.arrayOf(prop_types_default.a.element), prop_types_default.a.element]),
+ className: prop_types_default.a.string,
+ children: prop_types_default.a.node.isRequired,
+ date: prop_types_default.a.string,
+ icon: prop_types_default.a.node,
+ subtitle: prop_types_default.a.node,
+ title: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.node]).isRequired,
+ unread: prop_types_default.a.bool
+};
+activity_card_ActivityCard.defaultProps = {
+ icon: Object(external_this_wp_element_["createElement"])(dist_default.a, {
+ icon: "notice-outline",
+ size: 48
+ }),
+ unread: false
+};
+
+
+
+/***/ }),
+
+/***/ 754:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(41);
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(40);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(44);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(29);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(42);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__);
+/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(10);
+/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_6__);
+/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(1);
+/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_7__);
+/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(757);
+/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_8__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_9__);
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var ActivityHeader = /*#__PURE__*/function (_Component) {
+ _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(ActivityHeader, _Component);
+
+ var _super = _createSuper(ActivityHeader);
+
+ function ActivityHeader() {
+ _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, ActivityHeader);
+
+ return _super.apply(this, arguments);
+ }
+
+ _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(ActivityHeader, [{
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ title = _this$props.title,
+ className = _this$props.className,
+ menu = _this$props.menu;
+ var cardClassName = classnames__WEBPACK_IMPORTED_MODULE_6___default()('woocommerce-layout__activity-panel-header', className);
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])("div", {
+ className: cardClassName
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_9__["H"], {
+ className: "woocommerce-layout__activity-panel-header-title"
+ }, title), menu && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])("div", {
+ className: "woocommerce-layout__activity-panel-header-menu"
+ }, menu));
+ }
+ }]);
+
+ return ActivityHeader;
+}(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["Component"]);
+
+ActivityHeader.propTypes = {
+ className: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.string,
+ title: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.string.isRequired,
+ menu: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.shape({
+ type: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.oneOf([_woocommerce_components__WEBPACK_IMPORTED_MODULE_9__["EllipsisMenu"]])
+ })
+};
+/* harmony default export */ __webpack_exports__["a"] = (ActivityHeader);
+
+/***/ }),
+
+/***/ 756:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ }),
+
+/***/ 757:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ }),
+
+/***/ 888:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ }),
+
+/***/ 913:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+// ESM COMPAT FLAG
+__webpack_require__.r(__webpack_exports__);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js
+var classCallCheck = __webpack_require__(41);
+var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js
+var createClass = __webpack_require__(40);
+var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(44);
+var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(29);
+var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js
+var inherits = __webpack_require__(42);
+var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: external {"this":["wp","i18n"]}
+var external_this_wp_i18n_ = __webpack_require__(3);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/button/index.js
+var build_module_button = __webpack_require__(88);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/compose/build-module/higher-order/compose.js
+var compose = __webpack_require__(256);
+
+// EXTERNAL MODULE: ./node_modules/gridicons/dist/index.js
+var dist = __webpack_require__(66);
+var dist_default = /*#__PURE__*/__webpack_require__.n(dist);
+
+// EXTERNAL MODULE: ./node_modules/prop-types/index.js
+var prop_types = __webpack_require__(1);
+var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
+
+// EXTERNAL MODULE: ./node_modules/interpolate-components/lib/index.js
+var lib = __webpack_require__(35);
+var lib_default = /*#__PURE__*/__webpack_require__.n(lib);
+
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__(2);
+
+// EXTERNAL MODULE: external {"this":["wc","components"]}
+var external_this_wc_components_ = __webpack_require__(63);
+
+// EXTERNAL MODULE: external {"this":["wc","navigation"]}
+var external_this_wc_navigation_ = __webpack_require__(22);
+
+// EXTERNAL MODULE: ./client/settings/index.js
+var settings = __webpack_require__(26);
+
+// EXTERNAL MODULE: external {"this":["wc","data"]}
+var external_this_wc_data_ = __webpack_require__(51);
+
+// EXTERNAL MODULE: ./client/header/activity-panel/activity-card/index.js + 1 modules
+var activity_card = __webpack_require__(748);
+
+// EXTERNAL MODULE: ./client/header/activity-panel/activity-header/index.js
+var activity_header = __webpack_require__(754);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/extends.js
+var helpers_extends = __webpack_require__(105);
+var extends_default = /*#__PURE__*/__webpack_require__.n(helpers_extends);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectWithoutProperties.js
+var objectWithoutProperties = __webpack_require__(121);
+var objectWithoutProperties_default = /*#__PURE__*/__webpack_require__.n(objectWithoutProperties);
+
+// EXTERNAL MODULE: ./node_modules/classnames/index.js
+var classnames = __webpack_require__(10);
+var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
+
+// EXTERNAL MODULE: ./client/header/activity-panel/activity-outbound-link/style.scss
+var style = __webpack_require__(888);
+
+// CONCATENATED MODULE: ./client/header/activity-panel/activity-outbound-link/index.js
+
+
+
+
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var activity_outbound_link_ActivityOutboundLink = function ActivityOutboundLink(props) {
+ var href = props.href,
+ type = props.type,
+ className = props.className,
+ children = props.children,
+ restOfProps = objectWithoutProperties_default()(props, ["href", "type", "className", "children"]);
+
+ var classes = classnames_default()('woocommerce-layout__activity-panel-outbound-link', className);
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], extends_default()({
+ href: href,
+ type: type,
+ className: classes
+ }, restOfProps), children, Object(external_this_wp_element_["createElement"])(dist_default.a, {
+ icon: "arrow-right"
+ }));
+};
+
+activity_outbound_link_ActivityOutboundLink.propTypes = {
+ href: prop_types_default.a.string.isRequired,
+ type: prop_types_default.a.oneOf(['wp-admin', 'wc-admin', 'external']).isRequired,
+ className: prop_types_default.a.string
+};
+activity_outbound_link_ActivityOutboundLink.defaultProps = {
+ type: 'wp-admin'
+};
+/* harmony default export */ var activity_outbound_link = (activity_outbound_link_ActivityOutboundLink);
+// EXTERNAL MODULE: ./client/wc-api/constants.js
+var constants = __webpack_require__(24);
+
+// EXTERNAL MODULE: ./client/analytics/settings/config.js + 1 modules
+var config = __webpack_require__(263);
+
+// EXTERNAL MODULE: ./client/wc-api/with-select.js
+var with_select = __webpack_require__(101);
+
+// EXTERNAL MODULE: ./client/lib/currency-context.js
+var currency_context = __webpack_require__(203);
+
+// CONCATENATED MODULE: ./client/header/activity-panel/panels/orders.js
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+
+
+var orders_OrdersPanel = /*#__PURE__*/function (_Component) {
+ inherits_default()(OrdersPanel, _Component);
+
+ var _super = _createSuper(OrdersPanel);
+
+ function OrdersPanel() {
+ classCallCheck_default()(this, OrdersPanel);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(OrdersPanel, [{
+ key: "renderEmptyCard",
+ value: function renderEmptyCard() {
+ var hasNonActionableOrders = this.props.hasNonActionableOrders;
+
+ if (hasNonActionableOrders) {
+ return Object(external_this_wp_element_["createElement"])(activity_card["a" /* ActivityCard */], {
+ className: "woocommerce-empty-activity-card",
+ title: Object(external_this_wp_i18n_["__"])('You have no orders to fulfill', 'woocommerce-admin'),
+ icon: Object(external_this_wp_element_["createElement"])(dist_default.a, {
+ icon: "checkmark",
+ size: 48
+ })
+ }, Object(external_this_wp_i18n_["__"])("Good job, you've fulfilled all of your new orders!", 'woocommerce-admin'));
+ }
+
+ return Object(external_this_wp_element_["createElement"])(activity_card["a" /* ActivityCard */], {
+ className: "woocommerce-empty-activity-card",
+ title: Object(external_this_wp_i18n_["__"])('You have no orders to fulfill', 'woocommerce-admin'),
+ icon: Object(external_this_wp_element_["createElement"])(dist_default.a, {
+ icon: "time",
+ size: 48
+ }),
+ actions: Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ href: "https://docs.woocommerce.com/document/managing-orders/",
+ isDefault: true,
+ target: "_blank"
+ }, Object(external_this_wp_i18n_["__"])('Learn more', 'woocommerce-admin'))
+ }, Object(external_this_wp_i18n_["__"])("You're still waiting for your customers to make their first orders. " + 'While you wait why not learn how to manage orders?', 'woocommerce-admin'));
+ }
+ }, {
+ key: "renderOrders",
+ value: function renderOrders() {
+ var orders = this.props.orders;
+ var Currency = this.context;
+
+ if (orders.length === 0) {
+ return this.renderEmptyCard();
+ }
+
+ var getCustomerString = function getCustomerString(order) {
+ var extendedInfo = order.extended_info || {};
+
+ var _ref = extendedInfo.customer || {},
+ firstName = _ref.first_name,
+ lastName = _ref.last_name;
+
+ if (!firstName && !lastName) {
+ return '';
+ }
+
+ var name = [firstName, lastName].join(' ');
+ return Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])(
+ /* translators: describes who placed an order, e.g. Order #123 placed by John Doe */
+ 'placed by {{customerLink}}%(customerName)s{{/customerLink}}', 'woocommerce-admin'), {
+ customerName: name
+ });
+ };
+
+ var orderCardTitle = function orderCardTitle(order) {
+ var extendedInfo = order.extended_info,
+ orderId = order.order_id,
+ orderNumber = order.order_number;
+
+ var _ref2 = extendedInfo || {},
+ customer = _ref2.customer;
+
+ var customerUrl = customer.customer_id ? Object(external_this_wc_navigation_["getNewPath"])({}, '/analytics/customers', {
+ filter: 'single_customer',
+ customers: customer.customer_id
+ }) : null;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, lib_default()({
+ mixedString: Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('Order {{orderLink}}#%(orderNumber)s{{/orderLink}} %(customerString)s {{destinationFlag/}}', 'woocommerce-admin'), {
+ orderNumber: orderNumber,
+ customerString: getCustomerString(order)
+ }),
+ components: {
+ orderLink: Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: Object(settings["f" /* getAdminLink */])('post.php?action=edit&post=' + orderId),
+ type: "wp-admin"
+ }),
+ destinationFlag: customer.country ? Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Flag"], {
+ code: customer.country,
+ round: false
+ }) : null,
+ customerLink: customerUrl ? Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: customerUrl,
+ type: "wc-admin"
+ }) : Object(external_this_wp_element_["createElement"])("span", null)
+ }
+ }));
+ };
+
+ var cards = [];
+ orders.forEach(function (order) {
+ var extendedInfo = order.extended_info || {};
+ var productsCount = extendedInfo && extendedInfo.products ? extendedInfo.products.length : 0;
+ var total = order.total_sales;
+ cards.push(Object(external_this_wp_element_["createElement"])(activity_card["a" /* ActivityCard */], {
+ key: order.order_id,
+ className: "woocommerce-order-activity-card",
+ title: orderCardTitle(order),
+ date: order.date_created_gmt,
+ subtitle: Object(external_this_wp_element_["createElement"])("div", null, Object(external_this_wp_element_["createElement"])("span", null, Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["_n"])('%d product', '%d products', productsCount, 'woocommerce-admin'), productsCount)), Object(external_this_wp_element_["createElement"])("span", null, Currency.formatCurrency(total))),
+ actions: Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isDefault: true,
+ href: Object(settings["f" /* getAdminLink */])('post.php?action=edit&post=' + order.order_id)
+ }, Object(external_this_wp_i18n_["__"])('Begin fulfillment'))
+ }, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["OrderStatus"], {
+ order: order,
+ orderStatusMap: Object(settings["g" /* getSetting */])('orderStatuses', {})
+ })));
+ });
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, cards, Object(external_this_wp_element_["createElement"])(activity_outbound_link, {
+ href: 'edit.php?post_type=shop_order'
+ }, Object(external_this_wp_i18n_["__"])('Manage all orders', 'woocommerce-admin')));
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ orders = _this$props.orders,
+ isRequesting = _this$props.isRequesting,
+ isError = _this$props.isError,
+ orderStatuses = _this$props.orderStatuses;
+
+ if (isError) {
+ if (!orderStatuses.length) {
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["EmptyContent"], {
+ title: Object(external_this_wp_i18n_["__"])("You currently don't have any actionable statuses. " + 'To display orders here, select orders that require further review in settings.', 'woocommerce-admin'),
+ actionLabel: Object(external_this_wp_i18n_["__"])('Settings', 'woocommerce-admin'),
+ actionURL: Object(settings["f" /* getAdminLink */])('admin.php?page=wc-admin&path=/analytics/settings')
+ });
+ }
+
+ var _title = Object(external_this_wp_i18n_["__"])('There was an error getting your orders. Please try again.', 'woocommerce-admin');
+
+ var actionLabel = Object(external_this_wp_i18n_["__"])('Reload', 'woocommerce-admin');
+
+ var actionCallback = function actionCallback() {
+ // @todo Add tracking for how often an error is displayed, and the reload action is clicked.
+ window.location.reload();
+ };
+
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["EmptyContent"], {
+ title: _title,
+ actionLabel: actionLabel,
+ actionURL: null,
+ actionCallback: actionCallback
+ }));
+ }
+
+ var title = isRequesting || orders.length ? Object(external_this_wp_i18n_["__"])('Orders', 'woocommerce-admin') : Object(external_this_wp_i18n_["__"])('No orders to fulfill', 'woocommerce-admin');
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(activity_header["a" /* default */], {
+ title: title
+ }), Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Section"], null, isRequesting ? Object(external_this_wp_element_["createElement"])(activity_card["b" /* ActivityCardPlaceholder */], {
+ className: "woocommerce-order-activity-card",
+ hasAction: true,
+ hasDate: true,
+ lines: 2
+ }) : this.renderOrders()));
+ }
+ }]);
+
+ return OrdersPanel;
+}(external_this_wp_element_["Component"]);
+
+orders_OrdersPanel.propTypes = {
+ orders: prop_types_default.a.array.isRequired,
+ isError: prop_types_default.a.bool,
+ isRequesting: prop_types_default.a.bool
+};
+orders_OrdersPanel.defaultProps = {
+ orders: [],
+ isError: false,
+ isRequesting: false
+};
+orders_OrdersPanel.contextType = currency_context["a" /* CurrencyContext */];
+/* harmony default export */ var panels_orders = __webpack_exports__["default"] = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select, props) {
+ var hasActionableOrders = props.hasActionableOrders;
+
+ var _select = select('wc-api'),
+ getItems = _select.getItems,
+ getItemsTotalCount = _select.getItemsTotalCount,
+ getItemsError = _select.getItemsError,
+ isGetItemsRequesting = _select.isGetItemsRequesting,
+ getReportItems = _select.getReportItems,
+ getReportItemsError = _select.getReportItemsError,
+ isReportItemsRequesting = _select.isReportItemsRequesting;
+
+ var _select2 = select(external_this_wc_data_["SETTINGS_STORE_NAME"]),
+ getMutableSetting = _select2.getSetting;
+
+ var _getMutableSetting = getMutableSetting('wc_admin', 'wcAdminSettings', {}),
+ _getMutableSetting$wo = _getMutableSetting.woocommerce_actionable_order_statuses,
+ orderStatuses = _getMutableSetting$wo === void 0 ? config["a" /* DEFAULT_ACTIONABLE_STATUSES */] : _getMutableSetting$wo;
+
+ if (!orderStatuses.length) {
+ return {
+ orders: [],
+ isError: true,
+ isRequesting: false,
+ orderStatuses: orderStatuses
+ };
+ }
+
+ if (hasActionableOrders) {
+ // Query the core Orders endpoint for the most up-to-date statuses.
+ var actionableOrdersQuery = {
+ page: 1,
+ per_page: constants["d" /* QUERY_DEFAULTS */].pageSize,
+ status: orderStatuses,
+ _fields: ['id', 'date_created_gmt', 'status']
+ };
+ var actionableOrders = Array.from(getItems('orders', actionableOrdersQuery).values());
+ var isRequestingActionable = isGetItemsRequesting('orders', actionableOrdersQuery);
+
+ if (isRequestingActionable) {
+ return {
+ isError: Boolean(getItemsError('orders', actionableOrdersQuery)),
+ isRequesting: isRequestingActionable,
+ orderStatuses: orderStatuses
+ };
+ } // Retrieve the Order stats data from our reporting table.
+
+
+ var ordersQuery = {
+ page: 1,
+ per_page: constants["d" /* QUERY_DEFAULTS */].pageSize,
+ extended_info: true,
+ order_includes: Object(external_lodash_["map"])(actionableOrders, 'id'),
+ _fields: ['order_id', 'order_number', 'status', 'data_created_gmt', 'total_sales', 'extended_info.customer', 'extended_info.products']
+ };
+ var reportOrders = getReportItems('orders', ordersQuery).data;
+
+ var _isError = Boolean(getReportItemsError('orders', ordersQuery));
+
+ var _isRequesting = isReportItemsRequesting('orders', ordersQuery);
+
+ var orders = [];
+
+ if (reportOrders && reportOrders.length) {
+ // Merge the core endpoint data with our reporting table.
+ var actionableOrdersById = Object(external_lodash_["keyBy"])(actionableOrders, 'id');
+ orders = reportOrders.map(function (order) {
+ return Object(external_lodash_["merge"])({}, order, actionableOrdersById[order.order_id] || {});
+ });
+ }
+
+ return {
+ orders: orders,
+ isError: _isError,
+ isRequesting: _isRequesting,
+ orderStatuses: orderStatuses
+ };
+ } // Get a count of all orders for messaging purposes.
+ // @todo Add a property to settings api for this?
+
+
+ var allOrdersQuery = {
+ page: 1,
+ per_page: 1,
+ _fields: ['id']
+ };
+ getItems('orders', allOrdersQuery);
+ var totalNonActionableOrders = getItemsTotalCount('orders', allOrdersQuery);
+ var isError = Boolean(getItemsError('orders', allOrdersQuery));
+ var isRequesting = isGetItemsRequesting('orders', allOrdersQuery);
+ return {
+ hasNonActionableOrders: totalNonActionableOrders > 0,
+ isError: isError,
+ isRequesting: isRequesting,
+ orderStatuses: orderStatuses
+ };
+}))(orders_OrdersPanel));
+
+/***/ })
+
+}]);
\ No newline at end of file
diff --git a/dist/chunks/activity-panels-orders.03bce387983e598295fa.min.js b/dist/chunks/activity-panels-orders.03bce387983e598295fa.min.js
new file mode 100644
index 00000000000..5ec1780e2de
--- /dev/null
+++ b/dist/chunks/activity-panels-orders.03bce387983e598295fa.min.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{748:function(e,t,r){"use strict";r.d(t,"a",(function(){return k})),r.d(t,"b",(function(){return R}));var c=r(41),a=r.n(c),n=r(40),o=r.n(n),i=r(44),s=r.n(i),l=r(29),m=r.n(l),u=r(42),d=r.n(u),p=r(0),f=r(10),b=r.n(f),y=r(66),_=r.n(y),h=r(12),O=r.n(h),v=r(1),j=r.n(v),g=(r(756),r(63)),E=r(2);function w(){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}}var N=function(e){d()(c,e);var t,r=(t=c,function(){var e,r=m()(t);if(w()){var c=m()(this).constructor;e=Reflect.construct(r,arguments,c)}else e=r.apply(this,arguments);return s()(this,e)});function c(){return a()(this,c),r.apply(this,arguments)}return o()(c,[{key:"render",value:function(){var e=this.props,t=e.className,r=e.hasAction,c=e.hasDate,a=e.hasSubtitle,n=e.lines,o=b()("woocommerce-activity-card is-loading",t);return Object(p.createElement)("div",{className:o,"aria-hidden":!0},Object(p.createElement)("span",{className:"woocommerce-activity-card__icon"},Object(p.createElement)("span",{className:"is-placeholder"})),Object(p.createElement)("div",{className:"woocommerce-activity-card__header"},Object(p.createElement)("div",{className:"woocommerce-activity-card__title is-placeholder"}),a&&Object(p.createElement)("div",{className:"woocommerce-activity-card__subtitle is-placeholder"}),c&&Object(p.createElement)("div",{className:"woocommerce-activity-card__date"},Object(p.createElement)("span",{className:"is-placeholder"}))),Object(p.createElement)("div",{className:"woocommerce-activity-card__body"},Object(E.range)(n).map((function(e){return Object(p.createElement)("span",{className:"is-placeholder",key:e})}))),r&&Object(p.createElement)("div",{className:"woocommerce-activity-card__actions"},Object(p.createElement)("span",{className:"is-placeholder"})))}}]),c}(p.Component);N.propTypes={className:j.a.string,hasAction:j.a.bool,hasDate:j.a.bool,hasSubtitle:j.a.bool,lines:j.a.number},N.defaultProps={hasAction:!1,hasDate:!1,hasSubtitle:!1,lines:1};var R=N;function S(){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}}var k=function(e){d()(c,e);var t,r=(t=c,function(){var e,r=m()(t);if(S()){var c=m()(this).constructor;e=Reflect.construct(r,arguments,c)}else e=r.apply(this,arguments);return s()(this,e)});function c(){return a()(this,c),r.apply(this,arguments)}return o()(c,[{key:"render",value:function(){var e=this.props,t=e.actions,r=e.className,c=e.children,a=e.date,n=e.icon,o=e.subtitle,i=e.title,s=e.unread,l=b()("woocommerce-activity-card",r),m=Array.isArray(t)?t:[t];return Object(p.createElement)("section",{className:l},s&&Object(p.createElement)("span",{className:"woocommerce-activity-card__unread"}),Object(p.createElement)("span",{className:"woocommerce-activity-card__icon","aria-hidden":!0},n),Object(p.createElement)("header",{className:"woocommerce-activity-card__header"},Object(p.createElement)(g.H,{className:"woocommerce-activity-card__title"},i),o&&Object(p.createElement)("div",{className:"woocommerce-activity-card__subtitle"},o),a&&Object(p.createElement)("span",{className:"woocommerce-activity-card__date"},O.a.utc(a).fromNow())),Object(p.createElement)(g.Section,{className:"woocommerce-activity-card__body"},c),t&&Object(p.createElement)("footer",{className:"woocommerce-activity-card__actions"},m.map((function(e,t){return Object(p.cloneElement)(e,{key:t})}))))}}]),c}(p.Component);k.propTypes={actions:j.a.oneOfType([j.a.arrayOf(j.a.element),j.a.element]),className:j.a.string,children:j.a.node.isRequired,date:j.a.string,icon:j.a.node,subtitle:j.a.node,title:j.a.oneOfType([j.a.string,j.a.node]).isRequired,unread:j.a.bool},k.defaultProps={icon:Object(p.createElement)(_.a,{icon:"notice-outline",size:48}),unread:!1}},754:function(e,t,r){"use strict";var c=r(41),a=r.n(c),n=r(40),o=r.n(n),i=r(44),s=r.n(i),l=r(29),m=r.n(l),u=r(42),d=r.n(u),p=r(0),f=r(10),b=r.n(f),y=r(1),_=r.n(y),h=(r(757),r(63));function O(){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}}var v=function(e){d()(c,e);var t,r=(t=c,function(){var e,r=m()(t);if(O()){var c=m()(this).constructor;e=Reflect.construct(r,arguments,c)}else e=r.apply(this,arguments);return s()(this,e)});function c(){return a()(this,c),r.apply(this,arguments)}return o()(c,[{key:"render",value:function(){var e=this.props,t=e.title,r=e.className,c=e.menu,a=b()("woocommerce-layout__activity-panel-header",r);return Object(p.createElement)("div",{className:a},Object(p.createElement)(h.H,{className:"woocommerce-layout__activity-panel-header-title"},t),c&&Object(p.createElement)("div",{className:"woocommerce-layout__activity-panel-header-menu"},c))}}]),c}(p.Component);v.propTypes={className:_.a.string,title:_.a.string.isRequired,menu:_.a.shape({type:_.a.oneOf([h.EllipsisMenu])})},t.a=v},756:function(e,t,r){},757:function(e,t,r){},888:function(e,t,r){},913:function(e,t,r){"use strict";r.r(t);var c=r(41),a=r.n(c),n=r(40),o=r.n(n),i=r(44),s=r.n(i),l=r(29),m=r.n(l),u=r(42),d=r.n(u),p=r(0),f=r(3),b=r(88),y=r(256),_=r(66),h=r.n(_),O=r(1),v=r.n(O),j=r(35),g=r.n(j),E=r(2),w=r(63),N=r(22),R=r(26),S=r(51),k=r(748),q=r(754),x=r(105),D=r.n(x),L=r(121),T=r.n(L),A=r(10),C=r.n(A),P=(r(888),function(e){var t=e.href,r=e.type,c=e.className,a=e.children,n=T()(e,["href","type","className","children"]),o=C()("woocommerce-layout__activity-panel-outbound-link",c);return Object(p.createElement)(w.Link,D()({href:t,type:r,className:o},n),a,Object(p.createElement)(h.a,{icon:"arrow-right"}))});P.propTypes={href:v.a.string.isRequired,type:v.a.oneOf(["wp-admin","wc-admin","external"]).isRequired,className:v.a.string},P.defaultProps={type:"wp-admin"};var I=P,F=r(24),z=r(263),B=r(101),M=r(203);function Y(){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}}var G=function(e){d()(c,e);var t,r=(t=c,function(){var e,r=m()(t);if(Y()){var c=m()(this).constructor;e=Reflect.construct(r,arguments,c)}else e=r.apply(this,arguments);return s()(this,e)});function c(){return a()(this,c),r.apply(this,arguments)}return o()(c,[{key:"renderEmptyCard",value:function(){return this.props.hasNonActionableOrders?Object(p.createElement)(k.a,{className:"woocommerce-empty-activity-card",title:Object(f.__)("You have no orders to fulfill","woocommerce-admin"),icon:Object(p.createElement)(h.a,{icon:"checkmark",size:48})},Object(f.__)("Good job, you've fulfilled all of your new orders!","woocommerce-admin")):Object(p.createElement)(k.a,{className:"woocommerce-empty-activity-card",title:Object(f.__)("You have no orders to fulfill","woocommerce-admin"),icon:Object(p.createElement)(h.a,{icon:"time",size:48}),actions:Object(p.createElement)(b.a,{href:"https://docs.woocommerce.com/document/managing-orders/",isDefault:!0,target:"_blank"},Object(f.__)("Learn more","woocommerce-admin"))},Object(f.__)("You're still waiting for your customers to make their first orders. While you wait why not learn how to manage orders?","woocommerce-admin"))}},{key:"renderOrders",value:function(){var e=this.props.orders,t=this.context;if(0===e.length)return this.renderEmptyCard();var r=function(e){var t=(e.extended_info||{}).customer||{},r=t.first_name,c=t.last_name;if(!r&&!c)return"";var a=[r,c].join(" ");return Object(f.sprintf)(Object(f.__)("placed by {{customerLink}}%(customerName)s{{/customerLink}}","woocommerce-admin"),{customerName:a})},c=function(e){var t=e.extended_info,c=e.order_id,a=e.order_number,n=(t||{}).customer,o=n.customer_id?Object(N.getNewPath)({},"/analytics/customers",{filter:"single_customer",customers:n.customer_id}):null;return Object(p.createElement)(p.Fragment,null,g()({mixedString:Object(f.sprintf)(Object(f.__)("Order {{orderLink}}#%(orderNumber)s{{/orderLink}} %(customerString)s {{destinationFlag/}}","woocommerce-admin"),{orderNumber:a,customerString:r(e)}),components:{orderLink:Object(p.createElement)(w.Link,{href:Object(R.f)("post.php?action=edit&post="+c),type:"wp-admin"}),destinationFlag:n.country?Object(p.createElement)(w.Flag,{code:n.country,round:!1}):null,customerLink:o?Object(p.createElement)(w.Link,{href:o,type:"wc-admin"}):Object(p.createElement)("span",null)}}))},a=[];return e.forEach((function(e){var r=e.extended_info||{},n=r&&r.products?r.products.length:0,o=e.total_sales;a.push(Object(p.createElement)(k.a,{key:e.order_id,className:"woocommerce-order-activity-card",title:c(e),date:e.date_created_gmt,subtitle:Object(p.createElement)("div",null,Object(p.createElement)("span",null,Object(f.sprintf)(Object(f._n)("%d product","%d products",n,"woocommerce-admin"),n)),Object(p.createElement)("span",null,t.formatCurrency(o))),actions:Object(p.createElement)(b.a,{isDefault:!0,href:Object(R.f)("post.php?action=edit&post="+e.order_id)},Object(f.__)("Begin fulfillment"))},Object(p.createElement)(w.OrderStatus,{order:e,orderStatusMap:Object(R.g)("orderStatuses",{})})))})),Object(p.createElement)(p.Fragment,null,a,Object(p.createElement)(I,{href:"edit.php?post_type=shop_order"},Object(f.__)("Manage all orders","woocommerce-admin")))}},{key:"render",value:function(){var e=this.props,t=e.orders,r=e.isRequesting,c=e.isError,a=e.orderStatuses;if(c){if(!a.length)return Object(p.createElement)(w.EmptyContent,{title:Object(f.__)("You currently don't have any actionable statuses. To display orders here, select orders that require further review in settings.","woocommerce-admin"),actionLabel:Object(f.__)("Settings","woocommerce-admin"),actionURL:Object(R.f)("admin.php?page=wc-admin&path=/analytics/settings")});var n=Object(f.__)("There was an error getting your orders. Please try again.","woocommerce-admin"),o=Object(f.__)("Reload","woocommerce-admin");return Object(p.createElement)(p.Fragment,null,Object(p.createElement)(w.EmptyContent,{title:n,actionLabel:o,actionURL:null,actionCallback:function(){window.location.reload()}}))}var i=r||t.length?Object(f.__)("Orders","woocommerce-admin"):Object(f.__)("No orders to fulfill","woocommerce-admin");return Object(p.createElement)(p.Fragment,null,Object(p.createElement)(q.a,{title:i}),Object(p.createElement)(w.Section,null,r?Object(p.createElement)(k.b,{className:"woocommerce-order-activity-card",hasAction:!0,hasDate:!0,lines:2}):this.renderOrders()))}}]),c}(p.Component);G.propTypes={orders:v.a.array.isRequired,isError:v.a.bool,isRequesting:v.a.bool},G.defaultProps={orders:[],isError:!1,isRequesting:!1},G.contextType=M.a;t.default=Object(y.a)(Object(B.a)((function(e,t){var r=t.hasActionableOrders,c=e("wc-api"),a=c.getItems,n=c.getItemsTotalCount,o=c.getItemsError,i=c.isGetItemsRequesting,s=c.getReportItems,l=c.getReportItemsError,m=c.isReportItemsRequesting,u=(0,e(S.SETTINGS_STORE_NAME).getSetting)("wc_admin","wcAdminSettings",{}).woocommerce_actionable_order_statuses,d=void 0===u?z.a:u;if(!d.length)return{orders:[],isError:!0,isRequesting:!1,orderStatuses:d};if(r){var p={page:1,per_page:F.d.pageSize,status:d,_fields:["id","date_created_gmt","status"]},f=Array.from(a("orders",p).values()),b=i("orders",p);if(b)return{isError:Boolean(o("orders",p)),isRequesting:b,orderStatuses:d};var y={page:1,per_page:F.d.pageSize,extended_info:!0,order_includes:Object(E.map)(f,"id"),_fields:["order_id","order_number","status","data_created_gmt","total_sales","extended_info.customer","extended_info.products"]},_=s("orders",y).data,h=Boolean(l("orders",y)),O=m("orders",y),v=[];if(_&&_.length){var j=Object(E.keyBy)(f,"id");v=_.map((function(e){return Object(E.merge)({},e,j[e.order_id]||{})}))}return{orders:v,isError:h,isRequesting:O,orderStatuses:d}}var g={page:1,per_page:1,_fields:["id"]};return a("orders",g),{hasNonActionableOrders:n("orders",g)>0,isError:Boolean(o("orders",g)),isRequesting:i("orders",g),orderStatuses:d}})))(G)}}]);
\ No newline at end of file
diff --git a/dist/chunks/activity-panels-stock.4f4e0f926f920a653099.js b/dist/chunks/activity-panels-stock.4f4e0f926f920a653099.js
new file mode 100644
index 00000000000..423216cc88a
--- /dev/null
+++ b/dist/chunks/activity-panels-stock.4f4e0f926f920a653099.js
@@ -0,0 +1,962 @@
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[8],{
+
+/***/ 119:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectSpread.js
+var objectSpread = __webpack_require__(27);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
+var objectWithoutProperties = __webpack_require__(16);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/visually-hidden/utils.js
+
+
+
+/**
+ * Utility Functions
+ */
+
+/**
+ * renderAsRenderProps is used to wrap a component and convert
+ * the passed property "as" either a string or component, to the
+ * rendered tag if a string, or component.
+ *
+ * See VisuallyHidden hidden for example.
+ *
+ * @param {string|WPComponent} as A tag or component to render.
+ * @return {WPComponent} The rendered component.
+ */
+function renderAsRenderProps(_ref) {
+ var _ref$as = _ref.as,
+ Component = _ref$as === void 0 ? 'div' : _ref$as,
+ props = Object(objectWithoutProperties["a" /* default */])(_ref, ["as"]);
+
+ if (typeof props.children === 'function') {
+ return props.children(props);
+ }
+
+ return Object(external_this_wp_element_["createElement"])(Component, props);
+}
+
+
+//# sourceMappingURL=utils.js.map
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/visually-hidden/index.js
+
+
+
+/**
+ * Internal dependencies
+ */
+
+/**
+ * VisuallyHidden component to render text out non-visually
+ * for use in devices such as a screen reader.
+ */
+
+function VisuallyHidden(_ref) {
+ var _ref$as = _ref.as,
+ as = _ref$as === void 0 ? 'div' : _ref$as,
+ props = Object(objectWithoutProperties["a" /* default */])(_ref, ["as"]);
+
+ return renderAsRenderProps(Object(objectSpread["a" /* default */])({
+ as: as,
+ className: 'components-visually-hidden'
+ }, props));
+}
+
+/* harmony default export */ var visually_hidden = __webpack_exports__["a"] = (VisuallyHidden);
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 171:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10);
+/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _visually_hidden__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(119);
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+function BaseControl(_ref) {
+ var id = _ref.id,
+ label = _ref.label,
+ hideLabelFromVision = _ref.hideLabelFromVision,
+ help = _ref.help,
+ className = _ref.className,
+ children = _ref.children;
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
+ className: classnames__WEBPACK_IMPORTED_MODULE_1___default()('components-base-control', className)
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
+ className: "components-base-control__field"
+ }, label && id && (hideLabelFromVision ? Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_visually_hidden__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"], {
+ as: "label",
+ htmlFor: id
+ }, label) : Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("label", {
+ className: "components-base-control__label",
+ htmlFor: id
+ }, label)), label && !id && (hideLabelFromVision ? Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_visually_hidden__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"], {
+ as: "label"
+ }, label) : Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(BaseControl.VisualLabel, null, label)), children), !!help && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("p", {
+ id: id + '__help',
+ className: "components-base-control__help"
+ }, help));
+}
+
+BaseControl.VisualLabel = function (_ref2) {
+ var className = _ref2.className,
+ children = _ref2.children;
+ className = classnames__WEBPACK_IMPORTED_MODULE_1___default()('components-base-control__label', className);
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("span", {
+ className: className
+ }, children);
+};
+
+/* harmony default export */ __webpack_exports__["a"] = (BaseControl);
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 748:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ activity_card_ActivityCard; });
+__webpack_require__.d(__webpack_exports__, "b", function() { return /* reexport */ placeholder; });
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js
+var classCallCheck = __webpack_require__(41);
+var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js
+var createClass = __webpack_require__(40);
+var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(44);
+var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(29);
+var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js
+var inherits = __webpack_require__(42);
+var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: ./node_modules/classnames/index.js
+var classnames = __webpack_require__(10);
+var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
+
+// EXTERNAL MODULE: ./node_modules/gridicons/dist/index.js
+var dist = __webpack_require__(66);
+var dist_default = /*#__PURE__*/__webpack_require__.n(dist);
+
+// EXTERNAL MODULE: external "moment"
+var external_moment_ = __webpack_require__(12);
+var external_moment_default = /*#__PURE__*/__webpack_require__.n(external_moment_);
+
+// EXTERNAL MODULE: ./node_modules/prop-types/index.js
+var prop_types = __webpack_require__(1);
+var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
+
+// EXTERNAL MODULE: ./client/header/activity-panel/activity-card/style.scss
+var style = __webpack_require__(756);
+
+// EXTERNAL MODULE: external {"this":["wc","components"]}
+var external_this_wc_components_ = __webpack_require__(63);
+
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__(2);
+
+// CONCATENATED MODULE: ./client/header/activity-panel/activity-card/placeholder.js
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+var placeholder_ActivityCardPlaceholder = /*#__PURE__*/function (_Component) {
+ inherits_default()(ActivityCardPlaceholder, _Component);
+
+ var _super = _createSuper(ActivityCardPlaceholder);
+
+ function ActivityCardPlaceholder() {
+ classCallCheck_default()(this, ActivityCardPlaceholder);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(ActivityCardPlaceholder, [{
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ className = _this$props.className,
+ hasAction = _this$props.hasAction,
+ hasDate = _this$props.hasDate,
+ hasSubtitle = _this$props.hasSubtitle,
+ lines = _this$props.lines;
+ var cardClassName = classnames_default()('woocommerce-activity-card is-loading', className);
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: cardClassName,
+ "aria-hidden": true
+ }, Object(external_this_wp_element_["createElement"])("span", {
+ className: "woocommerce-activity-card__icon"
+ }, Object(external_this_wp_element_["createElement"])("span", {
+ className: "is-placeholder"
+ })), Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-activity-card__header"
+ }, Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-activity-card__title is-placeholder"
+ }), hasSubtitle && Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-activity-card__subtitle is-placeholder"
+ }), hasDate && Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-activity-card__date"
+ }, Object(external_this_wp_element_["createElement"])("span", {
+ className: "is-placeholder"
+ }))), Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-activity-card__body"
+ }, Object(external_lodash_["range"])(lines).map(function (i) {
+ return Object(external_this_wp_element_["createElement"])("span", {
+ className: "is-placeholder",
+ key: i
+ });
+ })), hasAction && Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-activity-card__actions"
+ }, Object(external_this_wp_element_["createElement"])("span", {
+ className: "is-placeholder"
+ })));
+ }
+ }]);
+
+ return ActivityCardPlaceholder;
+}(external_this_wp_element_["Component"]);
+
+placeholder_ActivityCardPlaceholder.propTypes = {
+ className: prop_types_default.a.string,
+ hasAction: prop_types_default.a.bool,
+ hasDate: prop_types_default.a.bool,
+ hasSubtitle: prop_types_default.a.bool,
+ lines: prop_types_default.a.number
+};
+placeholder_ActivityCardPlaceholder.defaultProps = {
+ hasAction: false,
+ hasDate: false,
+ hasSubtitle: false,
+ lines: 1
+};
+/* harmony default export */ var placeholder = (placeholder_ActivityCardPlaceholder);
+// CONCATENATED MODULE: ./client/header/activity-panel/activity-card/index.js
+
+
+
+
+
+
+
+function activity_card_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (activity_card_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function activity_card_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var activity_card_ActivityCard = /*#__PURE__*/function (_Component) {
+ inherits_default()(ActivityCard, _Component);
+
+ var _super = activity_card_createSuper(ActivityCard);
+
+ function ActivityCard() {
+ classCallCheck_default()(this, ActivityCard);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(ActivityCard, [{
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ actions = _this$props.actions,
+ className = _this$props.className,
+ children = _this$props.children,
+ date = _this$props.date,
+ icon = _this$props.icon,
+ subtitle = _this$props.subtitle,
+ title = _this$props.title,
+ unread = _this$props.unread;
+ var cardClassName = classnames_default()('woocommerce-activity-card', className);
+ var actionsList = Array.isArray(actions) ? actions : [actions];
+ return Object(external_this_wp_element_["createElement"])("section", {
+ className: cardClassName
+ }, unread && Object(external_this_wp_element_["createElement"])("span", {
+ className: "woocommerce-activity-card__unread"
+ }), Object(external_this_wp_element_["createElement"])("span", {
+ className: "woocommerce-activity-card__icon",
+ "aria-hidden": true
+ }, icon), Object(external_this_wp_element_["createElement"])("header", {
+ className: "woocommerce-activity-card__header"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["H"], {
+ className: "woocommerce-activity-card__title"
+ }, title), subtitle && Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-activity-card__subtitle"
+ }, subtitle), date && Object(external_this_wp_element_["createElement"])("span", {
+ className: "woocommerce-activity-card__date"
+ }, external_moment_default.a.utc(date).fromNow())), Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Section"], {
+ className: "woocommerce-activity-card__body"
+ }, children), actions && Object(external_this_wp_element_["createElement"])("footer", {
+ className: "woocommerce-activity-card__actions"
+ }, actionsList.map(function (item, i) {
+ return Object(external_this_wp_element_["cloneElement"])(item, {
+ key: i
+ });
+ })));
+ }
+ }]);
+
+ return ActivityCard;
+}(external_this_wp_element_["Component"]);
+
+activity_card_ActivityCard.propTypes = {
+ actions: prop_types_default.a.oneOfType([prop_types_default.a.arrayOf(prop_types_default.a.element), prop_types_default.a.element]),
+ className: prop_types_default.a.string,
+ children: prop_types_default.a.node.isRequired,
+ date: prop_types_default.a.string,
+ icon: prop_types_default.a.node,
+ subtitle: prop_types_default.a.node,
+ title: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.node]).isRequired,
+ unread: prop_types_default.a.bool
+};
+activity_card_ActivityCard.defaultProps = {
+ icon: Object(external_this_wp_element_["createElement"])(dist_default.a, {
+ icon: "notice-outline",
+ size: 48
+ }),
+ unread: false
+};
+
+
+
+/***/ }),
+
+/***/ 754:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(41);
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(40);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(44);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(29);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(42);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__);
+/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(10);
+/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_6__);
+/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(1);
+/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_7__);
+/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(757);
+/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_8__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_9__);
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var ActivityHeader = /*#__PURE__*/function (_Component) {
+ _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(ActivityHeader, _Component);
+
+ var _super = _createSuper(ActivityHeader);
+
+ function ActivityHeader() {
+ _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, ActivityHeader);
+
+ return _super.apply(this, arguments);
+ }
+
+ _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(ActivityHeader, [{
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ title = _this$props.title,
+ className = _this$props.className,
+ menu = _this$props.menu;
+ var cardClassName = classnames__WEBPACK_IMPORTED_MODULE_6___default()('woocommerce-layout__activity-panel-header', className);
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])("div", {
+ className: cardClassName
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_9__["H"], {
+ className: "woocommerce-layout__activity-panel-header-title"
+ }, title), menu && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])("div", {
+ className: "woocommerce-layout__activity-panel-header-menu"
+ }, menu));
+ }
+ }]);
+
+ return ActivityHeader;
+}(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["Component"]);
+
+ActivityHeader.propTypes = {
+ className: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.string,
+ title: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.string.isRequired,
+ menu: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.shape({
+ type: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.oneOf([_woocommerce_components__WEBPACK_IMPORTED_MODULE_9__["EllipsisMenu"]])
+ })
+};
+/* harmony default export */ __webpack_exports__["a"] = (ActivityHeader);
+
+/***/ }),
+
+/***/ 756:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ }),
+
+/***/ 757:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ }),
+
+/***/ 911:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+// ESM COMPAT FLAG
+__webpack_require__.r(__webpack_exports__);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js
+var classCallCheck = __webpack_require__(41);
+var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js
+var createClass = __webpack_require__(40);
+var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(44);
+var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(29);
+var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js
+var inherits = __webpack_require__(42);
+var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: external {"this":["wp","i18n"]}
+var external_this_wp_i18n_ = __webpack_require__(3);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/compose/build-module/higher-order/compose.js
+var compose = __webpack_require__(256);
+
+// EXTERNAL MODULE: ./node_modules/prop-types/index.js
+var prop_types = __webpack_require__(1);
+var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
+
+// EXTERNAL MODULE: external {"this":["wc","components"]}
+var external_this_wc_components_ = __webpack_require__(63);
+
+// EXTERNAL MODULE: ./client/header/activity-panel/activity-card/index.js + 1 modules
+var activity_card = __webpack_require__(748);
+
+// EXTERNAL MODULE: ./client/header/activity-panel/activity-header/index.js
+var activity_header = __webpack_require__(754);
+
+// EXTERNAL MODULE: ./node_modules/gridicons/dist/index.js
+var dist = __webpack_require__(66);
+var dist_default = /*#__PURE__*/__webpack_require__.n(dist);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/assertThisInitialized.js
+var assertThisInitialized = __webpack_require__(59);
+var assertThisInitialized_default = /*#__PURE__*/__webpack_require__.n(assertThisInitialized);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/button/index.js
+var build_module_button = __webpack_require__(88);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/base-control/index.js
+var base_control = __webpack_require__(171);
+
+// EXTERNAL MODULE: ./node_modules/classnames/index.js
+var classnames = __webpack_require__(10);
+var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/keycodes/build-module/index.js + 1 modules
+var build_module = __webpack_require__(18);
+
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__(2);
+
+// EXTERNAL MODULE: external {"this":["wp","data"]}
+var external_this_wp_data_ = __webpack_require__(19);
+
+// EXTERNAL MODULE: ./client/settings/index.js
+var settings = __webpack_require__(26);
+
+// CONCATENATED MODULE: ./client/header/activity-panel/panels/stock/card.js
+
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var card_ProductStockCard = /*#__PURE__*/function (_Component) {
+ inherits_default()(ProductStockCard, _Component);
+
+ var _super = _createSuper(ProductStockCard);
+
+ function ProductStockCard(props) {
+ var _this;
+
+ classCallCheck_default()(this, ProductStockCard);
+
+ _this = _super.call(this, props);
+ _this.state = {
+ quantity: props.product.stock_quantity,
+ editing: false,
+ edited: false
+ };
+ _this.beginEdit = _this.beginEdit.bind(assertThisInitialized_default()(_this));
+ _this.cancelEdit = _this.cancelEdit.bind(assertThisInitialized_default()(_this));
+ _this.onQuantityChange = _this.onQuantityChange.bind(assertThisInitialized_default()(_this));
+ _this.handleKeyDown = _this.handleKeyDown.bind(assertThisInitialized_default()(_this));
+ _this.onSubmit = _this.onSubmit.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(ProductStockCard, [{
+ key: "beginEdit",
+ value: function beginEdit() {
+ var _this2 = this;
+
+ var product = this.props.product;
+ this.setState({
+ editing: true,
+ quantity: product.stock_quantity
+ }, function () {
+ if (_this2.quantityInput) {
+ _this2.quantityInput.focus();
+ }
+ });
+ }
+ }, {
+ key: "cancelEdit",
+ value: function cancelEdit() {
+ var product = this.props.product;
+ this.setState({
+ editing: false,
+ quantity: product.stock_quantity
+ });
+ }
+ }, {
+ key: "handleKeyDown",
+ value: function handleKeyDown(event) {
+ if (event.keyCode === build_module["d" /* ESCAPE */]) {
+ this.cancelEdit();
+ }
+ }
+ }, {
+ key: "onQuantityChange",
+ value: function onQuantityChange(event) {
+ this.setState({
+ quantity: event.target.value
+ });
+ }
+ }, {
+ key: "onSubmit",
+ value: function onSubmit() {
+ var _this$props = this.props,
+ product = _this$props.product,
+ updateProductStock = _this$props.updateProductStock;
+ var quantity = this.state.quantity;
+ this.setState({
+ editing: false,
+ edited: true
+ });
+ updateProductStock(product, quantity);
+ }
+ }, {
+ key: "getActions",
+ value: function getActions() {
+ var editing = this.state.editing;
+
+ if (editing) {
+ return [Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ key: "save",
+ type: "submit",
+ isPrimary: true
+ }, Object(external_this_wp_i18n_["__"])('Save', 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ key: "cancel",
+ type: "reset"
+ }, Object(external_this_wp_i18n_["__"])('Cancel', 'woocommerce-admin'))];
+ }
+
+ return [Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ key: "update",
+ isDefault: true,
+ onClick: this.beginEdit
+ }, Object(external_this_wp_i18n_["__"])('Update stock', 'woocommerce-admin'))];
+ }
+ }, {
+ key: "getBody",
+ value: function getBody() {
+ var _this3 = this;
+
+ var product = this.props.product;
+ var _this$state = this.state,
+ editing = _this$state.editing,
+ quantity = _this$state.quantity;
+
+ if (editing) {
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(base_control["a" /* default */], {
+ className: "woocommerce-stock-activity-card__edit-quantity"
+ }, Object(external_this_wp_element_["createElement"])("input", {
+ className: "components-text-control__input",
+ type: "number",
+ value: quantity,
+ onKeyDown: this.handleKeyDown,
+ onChange: this.onQuantityChange,
+ ref: function ref(input) {
+ _this3.quantityInput = input;
+ }
+ })), Object(external_this_wp_element_["createElement"])("span", null, Object(external_this_wp_i18n_["__"])('in stock', 'woocommerce-admin')));
+ }
+
+ return Object(external_this_wp_element_["createElement"])("span", {
+ className: "woocommerce-stock-activity-card__stock-quantity"
+ }, Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('%d in stock', 'woocommerce-admin'), product.stock_quantity));
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var product = this.props.product;
+ var _this$state2 = this.state,
+ edited = _this$state2.edited,
+ editing = _this$state2.editing;
+ var notifyLowStockAmount = Object(settings["g" /* getSetting */])('notifyLowStockAmount', 0);
+ var lowStockAmount = Number.isFinite(product.low_stock_amount) ? product.low_stock_amount : notifyLowStockAmount;
+ var isLowStock = product.stock_quantity <= lowStockAmount; // Hide cards that are not in low stock and have not been edited.
+ // This allows clearing cards which are no longer in low stock after
+ // closing & opening the panel without having to make another request.
+
+ if (!isLowStock && !edited) {
+ return null;
+ }
+
+ var title = Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: 'post.php?action=edit&post=' + (product.parent_id || product.id),
+ type: "wp-admin"
+ }, product.name);
+ var subtitle = null;
+
+ if (product.type === 'variation') {
+ subtitle = Object.values(product.attributes).map(function (attr) {
+ return attr.option;
+ }).join(', ');
+ }
+
+ var productImage = Object(external_lodash_["get"])(product, ['images', 0]) || Object(external_lodash_["get"])(product, ['image']);
+ var productImageClasses = classnames_default()('woocommerce-stock-activity-card__image-overlay__product', {
+ 'is-placeholder': !productImage || !productImage.src
+ });
+ var icon = Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-stock-activity-card__image-overlay"
+ }, Object(external_this_wp_element_["createElement"])("div", {
+ className: productImageClasses
+ }, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["ProductImage"], {
+ product: product
+ })));
+ var activityCardClasses = classnames_default()('woocommerce-stock-activity-card', {
+ 'is-dimmed': !editing && !isLowStock
+ });
+ var activityCard = Object(external_this_wp_element_["createElement"])(activity_card["a" /* ActivityCard */], {
+ className: activityCardClasses,
+ title: title,
+ subtitle: subtitle,
+ icon: icon,
+ actions: this.getActions()
+ }, this.getBody());
+
+ if (editing) {
+ return Object(external_this_wp_element_["createElement"])("form", {
+ onReset: this.cancelEdit,
+ onSubmit: this.onSubmit
+ }, activityCard);
+ }
+
+ return activityCard;
+ }
+ }]);
+
+ return ProductStockCard;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var card = (Object(compose["a" /* default */])(Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('wc-api'),
+ updateProductStock = _dispatch.updateProductStock;
+
+ return {
+ updateProductStock: updateProductStock
+ };
+}))(card_ProductStockCard));
+// EXTERNAL MODULE: ./client/wc-api/constants.js
+var constants = __webpack_require__(24);
+
+// EXTERNAL MODULE: ./client/wc-api/with-select.js
+var with_select = __webpack_require__(101);
+
+// CONCATENATED MODULE: ./client/header/activity-panel/panels/stock/index.js
+
+
+
+
+
+
+
+function stock_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (stock_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function stock_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+
+var stock_StockPanel = /*#__PURE__*/function (_Component) {
+ inherits_default()(StockPanel, _Component);
+
+ var _super = stock_createSuper(StockPanel);
+
+ function StockPanel() {
+ classCallCheck_default()(this, StockPanel);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(StockPanel, [{
+ key: "renderEmptyCard",
+ value: function renderEmptyCard() {
+ return Object(external_this_wp_element_["createElement"])(activity_card["a" /* ActivityCard */], {
+ className: "woocommerce-empty-activity-card",
+ title: Object(external_this_wp_i18n_["__"])('Your stock is in good shape.', 'woocommerce-admin'),
+ icon: Object(external_this_wp_element_["createElement"])(dist_default.a, {
+ icon: "checkmark",
+ size: 48
+ })
+ }, Object(external_this_wp_i18n_["__"])('You currently have no products running low on stock.', 'woocommerce-admin'));
+ }
+ }, {
+ key: "renderProducts",
+ value: function renderProducts() {
+ var products = this.props.products;
+
+ if (products.length === 0) {
+ return this.renderEmptyCard();
+ }
+
+ return products.map(function (product) {
+ return Object(external_this_wp_element_["createElement"])(card, {
+ key: product.id,
+ product: product
+ });
+ });
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ isError = _this$props.isError,
+ isRequesting = _this$props.isRequesting,
+ products = _this$props.products;
+
+ if (isError) {
+ var _title = Object(external_this_wp_i18n_["__"])('There was an error getting your low stock products. Please try again.', 'woocommerce-admin');
+
+ var actionLabel = Object(external_this_wp_i18n_["__"])('Reload', 'woocommerce-admin');
+
+ var actionCallback = function actionCallback() {
+ // @todo Add tracking for how often an error is displayed, and the reload action is clicked.
+ window.location.reload();
+ };
+
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["EmptyContent"], {
+ title: _title,
+ actionLabel: actionLabel,
+ actionURL: null,
+ actionCallback: actionCallback
+ }));
+ }
+
+ var title = isRequesting || products.length > 0 ? Object(external_this_wp_i18n_["__"])('Stock', 'woocommerce-admin') : Object(external_this_wp_i18n_["__"])('No products with low stock', 'woocommerce-admin');
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(activity_header["a" /* default */], {
+ title: title
+ }), Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Section"], null, isRequesting ? Object(external_this_wp_element_["createElement"])(activity_card["b" /* ActivityCardPlaceholder */], {
+ className: "woocommerce-stock-activity-card",
+ hasAction: true,
+ lines: 1
+ }) : this.renderProducts()));
+ }
+ }]);
+
+ return StockPanel;
+}(external_this_wp_element_["Component"]);
+
+stock_StockPanel.propTypes = {
+ products: prop_types_default.a.array.isRequired,
+ isError: prop_types_default.a.bool,
+ isRequesting: prop_types_default.a.bool
+};
+stock_StockPanel.defaultProps = {
+ products: [],
+ isError: false,
+ isRequesting: false
+};
+/* harmony default export */ var stock = __webpack_exports__["default"] = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select) {
+ var _select = select('wc-api'),
+ getItems = _select.getItems,
+ getItemsError = _select.getItemsError,
+ isGetItemsRequesting = _select.isGetItemsRequesting;
+
+ var productsQuery = {
+ page: 1,
+ per_page: constants["d" /* QUERY_DEFAULTS */].pageSize,
+ low_in_stock: true,
+ status: 'publish'
+ };
+ var products = Array.from(getItems('products', productsQuery).values());
+ var isError = Boolean(getItemsError('products', productsQuery));
+ var isRequesting = isGetItemsRequesting('products', productsQuery);
+ return {
+ products: products,
+ isError: isError,
+ isRequesting: isRequesting
+ };
+}))(stock_StockPanel));
+
+/***/ })
+
+}]);
\ No newline at end of file
diff --git a/dist/chunks/activity-panels-stock.4f4e0f926f920a653099.min.js b/dist/chunks/activity-panels-stock.4f4e0f926f920a653099.min.js
new file mode 100644
index 00000000000..236bc132473
--- /dev/null
+++ b/dist/chunks/activity-panels-stock.4f4e0f926f920a653099.min.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{119:function(e,t,c){"use strict";var n=c(27),a=c(16),r=c(0);t.a=function(e){var t=e.as,c=void 0===t?"div":t,o=Object(a.a)(e,["as"]);return function(e){var t=e.as,c=void 0===t?"div":t,n=Object(a.a)(e,["as"]);return"function"==typeof n.children?n.children(n):Object(r.createElement)(c,n)}(Object(n.a)({as:c,className:"components-visually-hidden"},o))}},171:function(e,t,c){"use strict";var n=c(0),a=c(10),r=c.n(a),o=c(119);function i(e){var t=e.id,c=e.label,a=e.hideLabelFromVision,s=e.help,l=e.className,u=e.children;return Object(n.createElement)("div",{className:r()("components-base-control",l)},Object(n.createElement)("div",{className:"components-base-control__field"},c&&t&&(a?Object(n.createElement)(o.a,{as:"label",htmlFor:t},c):Object(n.createElement)("label",{className:"components-base-control__label",htmlFor:t},c)),c&&!t&&(a?Object(n.createElement)(o.a,{as:"label"},c):Object(n.createElement)(i.VisualLabel,null,c)),u),!!s&&Object(n.createElement)("p",{id:t+"__help",className:"components-base-control__help"},s))}i.VisualLabel=function(e){var t=e.className,c=e.children;return t=r()("components-base-control__label",t),Object(n.createElement)("span",{className:t},c)},t.a=i},748:function(e,t,c){"use strict";c.d(t,"a",(function(){return S})),c.d(t,"b",(function(){return N}));var n=c(41),a=c.n(n),r=c(40),o=c.n(r),i=c(44),s=c.n(i),l=c(29),u=c.n(l),m=c(42),d=c.n(m),p=c(0),f=c(10),y=c.n(f),b=c(66),h=c.n(b),v=c(12),_=c.n(v),O=c(1),j=c.n(O),E=(c(756),c(63)),w=c(2);function g(){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}}var k=function(e){d()(n,e);var t,c=(t=n,function(){var e,c=u()(t);if(g()){var n=u()(this).constructor;e=Reflect.construct(c,arguments,n)}else e=c.apply(this,arguments);return s()(this,e)});function n(){return a()(this,n),c.apply(this,arguments)}return o()(n,[{key:"render",value:function(){var e=this.props,t=e.className,c=e.hasAction,n=e.hasDate,a=e.hasSubtitle,r=e.lines,o=y()("woocommerce-activity-card is-loading",t);return Object(p.createElement)("div",{className:o,"aria-hidden":!0},Object(p.createElement)("span",{className:"woocommerce-activity-card__icon"},Object(p.createElement)("span",{className:"is-placeholder"})),Object(p.createElement)("div",{className:"woocommerce-activity-card__header"},Object(p.createElement)("div",{className:"woocommerce-activity-card__title is-placeholder"}),a&&Object(p.createElement)("div",{className:"woocommerce-activity-card__subtitle is-placeholder"}),n&&Object(p.createElement)("div",{className:"woocommerce-activity-card__date"},Object(p.createElement)("span",{className:"is-placeholder"}))),Object(p.createElement)("div",{className:"woocommerce-activity-card__body"},Object(w.range)(r).map((function(e){return Object(p.createElement)("span",{className:"is-placeholder",key:e})}))),c&&Object(p.createElement)("div",{className:"woocommerce-activity-card__actions"},Object(p.createElement)("span",{className:"is-placeholder"})))}}]),n}(p.Component);k.propTypes={className:j.a.string,hasAction:j.a.bool,hasDate:j.a.bool,hasSubtitle:j.a.bool,lines:j.a.number},k.defaultProps={hasAction:!1,hasDate:!1,hasSubtitle:!1,lines:1};var N=k;function R(){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}}var S=function(e){d()(n,e);var t,c=(t=n,function(){var e,c=u()(t);if(R()){var n=u()(this).constructor;e=Reflect.construct(c,arguments,n)}else e=c.apply(this,arguments);return s()(this,e)});function n(){return a()(this,n),c.apply(this,arguments)}return o()(n,[{key:"render",value:function(){var e=this.props,t=e.actions,c=e.className,n=e.children,a=e.date,r=e.icon,o=e.subtitle,i=e.title,s=e.unread,l=y()("woocommerce-activity-card",c),u=Array.isArray(t)?t:[t];return Object(p.createElement)("section",{className:l},s&&Object(p.createElement)("span",{className:"woocommerce-activity-card__unread"}),Object(p.createElement)("span",{className:"woocommerce-activity-card__icon","aria-hidden":!0},r),Object(p.createElement)("header",{className:"woocommerce-activity-card__header"},Object(p.createElement)(E.H,{className:"woocommerce-activity-card__title"},i),o&&Object(p.createElement)("div",{className:"woocommerce-activity-card__subtitle"},o),a&&Object(p.createElement)("span",{className:"woocommerce-activity-card__date"},_.a.utc(a).fromNow())),Object(p.createElement)(E.Section,{className:"woocommerce-activity-card__body"},n),t&&Object(p.createElement)("footer",{className:"woocommerce-activity-card__actions"},u.map((function(e,t){return Object(p.cloneElement)(e,{key:t})}))))}}]),n}(p.Component);S.propTypes={actions:j.a.oneOfType([j.a.arrayOf(j.a.element),j.a.element]),className:j.a.string,children:j.a.node.isRequired,date:j.a.string,icon:j.a.node,subtitle:j.a.node,title:j.a.oneOfType([j.a.string,j.a.node]).isRequired,unread:j.a.bool},S.defaultProps={icon:Object(p.createElement)(h.a,{icon:"notice-outline",size:48}),unread:!1}},754:function(e,t,c){"use strict";var n=c(41),a=c.n(n),r=c(40),o=c.n(r),i=c(44),s=c.n(i),l=c(29),u=c.n(l),m=c(42),d=c.n(m),p=c(0),f=c(10),y=c.n(f),b=c(1),h=c.n(b),v=(c(757),c(63));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}}var O=function(e){d()(n,e);var t,c=(t=n,function(){var e,c=u()(t);if(_()){var n=u()(this).constructor;e=Reflect.construct(c,arguments,n)}else e=c.apply(this,arguments);return s()(this,e)});function n(){return a()(this,n),c.apply(this,arguments)}return o()(n,[{key:"render",value:function(){var e=this.props,t=e.title,c=e.className,n=e.menu,a=y()("woocommerce-layout__activity-panel-header",c);return Object(p.createElement)("div",{className:a},Object(p.createElement)(v.H,{className:"woocommerce-layout__activity-panel-header-title"},t),n&&Object(p.createElement)("div",{className:"woocommerce-layout__activity-panel-header-menu"},n))}}]),n}(p.Component);O.propTypes={className:h.a.string,title:h.a.string.isRequired,menu:h.a.shape({type:h.a.oneOf([v.EllipsisMenu])})},t.a=O},756:function(e,t,c){},757:function(e,t,c){},911:function(e,t,c){"use strict";c.r(t);var n=c(41),a=c.n(n),r=c(40),o=c.n(r),i=c(44),s=c.n(i),l=c(29),u=c.n(l),m=c(42),d=c.n(m),p=c(0),f=c(3),y=c(256),b=c(1),h=c.n(b),v=c(63),_=c(748),O=c(754),j=c(66),E=c.n(j),w=c(59),g=c.n(w),k=c(88),N=c(171),R=c(10),S=c.n(R),q=c(18),D=c(2),C=c(19),P=c(26);function A(){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}}var F=function(e){d()(n,e);var t,c=(t=n,function(){var e,c=u()(t);if(A()){var n=u()(this).constructor;e=Reflect.construct(c,arguments,n)}else e=c.apply(this,arguments);return s()(this,e)});function n(e){var t;return a()(this,n),(t=c.call(this,e)).state={quantity:e.product.stock_quantity,editing:!1,edited:!1},t.beginEdit=t.beginEdit.bind(g()(t)),t.cancelEdit=t.cancelEdit.bind(g()(t)),t.onQuantityChange=t.onQuantityChange.bind(g()(t)),t.handleKeyDown=t.handleKeyDown.bind(g()(t)),t.onSubmit=t.onSubmit.bind(g()(t)),t}return o()(n,[{key:"beginEdit",value:function(){var e=this,t=this.props.product;this.setState({editing:!0,quantity:t.stock_quantity},(function(){e.quantityInput&&e.quantityInput.focus()}))}},{key:"cancelEdit",value:function(){var e=this.props.product;this.setState({editing:!1,quantity:e.stock_quantity})}},{key:"handleKeyDown",value:function(e){e.keyCode===q.d&&this.cancelEdit()}},{key:"onQuantityChange",value:function(e){this.setState({quantity:e.target.value})}},{key:"onSubmit",value:function(){var e=this.props,t=e.product,c=e.updateProductStock,n=this.state.quantity;this.setState({editing:!1,edited:!0}),c(t,n)}},{key:"getActions",value:function(){return this.state.editing?[Object(p.createElement)(k.a,{key:"save",type:"submit",isPrimary:!0},Object(f.__)("Save","woocommerce-admin")),Object(p.createElement)(k.a,{key:"cancel",type:"reset"},Object(f.__)("Cancel","woocommerce-admin"))]:[Object(p.createElement)(k.a,{key:"update",isDefault:!0,onClick:this.beginEdit},Object(f.__)("Update stock","woocommerce-admin"))]}},{key:"getBody",value:function(){var e=this,t=this.props.product,c=this.state,n=c.editing,a=c.quantity;return n?Object(p.createElement)(p.Fragment,null,Object(p.createElement)(N.a,{className:"woocommerce-stock-activity-card__edit-quantity"},Object(p.createElement)("input",{className:"components-text-control__input",type:"number",value:a,onKeyDown:this.handleKeyDown,onChange:this.onQuantityChange,ref:function(t){e.quantityInput=t}})),Object(p.createElement)("span",null,Object(f.__)("in stock","woocommerce-admin"))):Object(p.createElement)("span",{className:"woocommerce-stock-activity-card__stock-quantity"},Object(f.sprintf)(Object(f.__)("%d in stock","woocommerce-admin"),t.stock_quantity))}},{key:"render",value:function(){var e=this.props.product,t=this.state,c=t.edited,n=t.editing,a=Object(P.g)("notifyLowStockAmount",0),r=Number.isFinite(e.low_stock_amount)?e.low_stock_amount:a,o=e.stock_quantity<=r;if(!o&&!c)return null;var i=Object(p.createElement)(v.Link,{href:"post.php?action=edit&post="+(e.parent_id||e.id),type:"wp-admin"},e.name),s=null;"variation"===e.type&&(s=Object.values(e.attributes).map((function(e){return e.option})).join(", "));var l=Object(D.get)(e,["images",0])||Object(D.get)(e,["image"]),u=S()("woocommerce-stock-activity-card__image-overlay__product",{"is-placeholder":!l||!l.src}),m=Object(p.createElement)("div",{className:"woocommerce-stock-activity-card__image-overlay"},Object(p.createElement)("div",{className:u},Object(p.createElement)(v.ProductImage,{product:e}))),d=S()("woocommerce-stock-activity-card",{"is-dimmed":!n&&!o}),f=Object(p.createElement)(_.a,{className:d,title:i,subtitle:s,icon:m,actions:this.getActions()},this.getBody());return n?Object(p.createElement)("form",{onReset:this.cancelEdit,onSubmit:this.onSubmit},f):f}}]),n}(p.Component),I=Object(y.a)(Object(C.withDispatch)((function(e){return{updateProductStock:e("wc-api").updateProductStock}})))(F),L=c(24),T=c(101);function x(){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}}var K=function(e){d()(n,e);var t,c=(t=n,function(){var e,c=u()(t);if(x()){var n=u()(this).constructor;e=Reflect.construct(c,arguments,n)}else e=c.apply(this,arguments);return s()(this,e)});function n(){return a()(this,n),c.apply(this,arguments)}return o()(n,[{key:"renderEmptyCard",value:function(){return Object(p.createElement)(_.a,{className:"woocommerce-empty-activity-card",title:Object(f.__)("Your stock is in good shape.","woocommerce-admin"),icon:Object(p.createElement)(E.a,{icon:"checkmark",size:48})},Object(f.__)("You currently have no products running low on stock.","woocommerce-admin"))}},{key:"renderProducts",value:function(){var e=this.props.products;return 0===e.length?this.renderEmptyCard():e.map((function(e){return Object(p.createElement)(I,{key:e.id,product:e})}))}},{key:"render",value:function(){var e=this.props,t=e.isError,c=e.isRequesting,n=e.products;if(t){var a=Object(f.__)("There was an error getting your low stock products. Please try again.","woocommerce-admin"),r=Object(f.__)("Reload","woocommerce-admin");return Object(p.createElement)(p.Fragment,null,Object(p.createElement)(v.EmptyContent,{title:a,actionLabel:r,actionURL:null,actionCallback:function(){window.location.reload()}}))}var o=c||n.length>0?Object(f.__)("Stock","woocommerce-admin"):Object(f.__)("No products with low stock","woocommerce-admin");return Object(p.createElement)(p.Fragment,null,Object(p.createElement)(O.a,{title:o}),Object(p.createElement)(v.Section,null,c?Object(p.createElement)(_.b,{className:"woocommerce-stock-activity-card",hasAction:!0,lines:1}):this.renderProducts()))}}]),n}(p.Component);K.propTypes={products:h.a.array.isRequired,isError:h.a.bool,isRequesting:h.a.bool},K.defaultProps={products:[],isError:!1,isRequesting:!1};t.default=Object(y.a)(Object(T.a)((function(e){var t=e("wc-api"),c=t.getItems,n=t.getItemsError,a=t.isGetItemsRequesting,r={page:1,per_page:L.d.pageSize,low_in_stock:!0,status:"publish"};return{products:Array.from(c("products",r).values()),isError:Boolean(n("products",r)),isRequesting:a("products",r)}})))(K)}}]);
\ No newline at end of file
diff --git a/dist/chunks/analytics-report-categories.2fb0556451942bfbfa96.js b/dist/chunks/analytics-report-categories.2fb0556451942bfbfa96.js
new file mode 100644
index 00000000000..322fd125c28
--- /dev/null
+++ b/dist/chunks/analytics-report-categories.2fb0556451942bfbfa96.js
@@ -0,0 +1,543 @@
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[9],{
+
+/***/ 724:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+// ESM COMPAT FLAG
+__webpack_require__.r(__webpack_exports__);
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, "default", function() { return /* binding */ categories_CategoriesReport; });
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js
+var defineProperty = __webpack_require__(15);
+var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js
+var classCallCheck = __webpack_require__(41);
+var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js
+var createClass = __webpack_require__(40);
+var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(44);
+var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(29);
+var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js
+var inherits = __webpack_require__(42);
+var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: ./node_modules/prop-types/index.js
+var prop_types = __webpack_require__(1);
+var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
+
+// EXTERNAL MODULE: external {"this":["wp","i18n"]}
+var external_this_wp_i18n_ = __webpack_require__(3);
+
+// EXTERNAL MODULE: external {"this":["wp","hooks"]}
+var external_this_wp_hooks_ = __webpack_require__(48);
+
+// EXTERNAL MODULE: ./client/lib/async-requests/index.js
+var async_requests = __webpack_require__(739);
+
+// CONCATENATED MODULE: ./client/analytics/report/categories/config.js
+/**
+ * External dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+var CATEGORY_REPORT_CHARTS_FILTER = 'woocommerce_admin_categories_report_charts';
+var CATEGORY_REPORT_FILTERS_FILTER = 'woocommerce_admin_categories_report_filters';
+var CATEGORY_REPORT_ADVANCED_FILTERS_FILTER = 'woocommerce_admin_category_report_advanced_filters';
+var charts = Object(external_this_wp_hooks_["applyFilters"])(CATEGORY_REPORT_CHARTS_FILTER, [{
+ key: 'items_sold',
+ label: Object(external_this_wp_i18n_["__"])('Items Sold', 'woocommerce-admin'),
+ order: 'desc',
+ orderby: 'items_sold',
+ type: 'number'
+}, {
+ key: 'net_revenue',
+ label: Object(external_this_wp_i18n_["__"])('Net Sales', 'woocommerce-admin'),
+ order: 'desc',
+ orderby: 'net_revenue',
+ type: 'currency'
+}, {
+ key: 'orders_count',
+ label: Object(external_this_wp_i18n_["__"])('Orders', 'woocommerce-admin'),
+ order: 'desc',
+ orderby: 'orders_count',
+ type: 'number'
+}]);
+var config_filters = Object(external_this_wp_hooks_["applyFilters"])(CATEGORY_REPORT_FILTERS_FILTER, [{
+ label: Object(external_this_wp_i18n_["__"])('Show', 'woocommerce-admin'),
+ staticParams: [],
+ param: 'filter',
+ showFilters: function showFilters() {
+ return true;
+ },
+ filters: [{
+ label: Object(external_this_wp_i18n_["__"])('All Categories', 'woocommerce-admin'),
+ value: 'all'
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Single Category', 'woocommerce-admin'),
+ value: 'select_category',
+ chartMode: 'item-comparison',
+ subFilters: [{
+ component: 'Search',
+ value: 'single_category',
+ chartMode: 'item-comparison',
+ path: ['select_category'],
+ settings: {
+ type: 'categories',
+ param: 'categories',
+ getLabels: async_requests["a" /* getCategoryLabels */],
+ labels: {
+ placeholder: Object(external_this_wp_i18n_["__"])('Type to search for a category', 'woocommerce-admin'),
+ button: Object(external_this_wp_i18n_["__"])('Single Category', 'woocommerce-admin')
+ }
+ }
+ }]
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Comparison', 'woocommerce-admin'),
+ value: 'compare-categories',
+ chartMode: 'item-comparison',
+ settings: {
+ type: 'categories',
+ param: 'categories',
+ getLabels: async_requests["a" /* getCategoryLabels */],
+ labels: {
+ helpText: Object(external_this_wp_i18n_["__"])('Check at least two categories below to compare', 'woocommerce-admin'),
+ placeholder: Object(external_this_wp_i18n_["__"])('Search for categories to compare', 'woocommerce-admin'),
+ title: Object(external_this_wp_i18n_["__"])('Compare Categories', 'woocommerce-admin'),
+ update: Object(external_this_wp_i18n_["__"])('Compare', 'woocommerce-admin')
+ }
+ }
+ }]
+}]);
+var config_advancedFilters = Object(external_this_wp_hooks_["applyFilters"])(CATEGORY_REPORT_ADVANCED_FILTERS_FILTER, {});
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/assertThisInitialized.js
+var assertThisInitialized = __webpack_require__(59);
+var assertThisInitialized_default = /*#__PURE__*/__webpack_require__.n(assertThisInitialized);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/compose/build-module/higher-order/compose.js
+var compose = __webpack_require__(256);
+
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__(2);
+
+// EXTERNAL MODULE: external {"this":["wc","navigation"]}
+var external_this_wc_navigation_ = __webpack_require__(22);
+
+// EXTERNAL MODULE: external {"this":["wc","components"]}
+var external_this_wc_components_ = __webpack_require__(63);
+
+// EXTERNAL MODULE: external {"this":["wc","number"]}
+var external_this_wc_number_ = __webpack_require__(204);
+
+// EXTERNAL MODULE: ./client/analytics/report/categories/breadcrumbs.js
+var breadcrumbs = __webpack_require__(776);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-table/index.js + 2 modules
+var report_table = __webpack_require__(746);
+
+// EXTERNAL MODULE: ./client/wc-api/with-select.js
+var with_select = __webpack_require__(101);
+
+// EXTERNAL MODULE: ./client/lib/currency-context.js
+var currency_context = __webpack_require__(203);
+
+// CONCATENATED MODULE: ./client/analytics/report/categories/table.js
+
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+var table_CategoriesReportTable = /*#__PURE__*/function (_Component) {
+ inherits_default()(CategoriesReportTable, _Component);
+
+ var _super = _createSuper(CategoriesReportTable);
+
+ function CategoriesReportTable(props) {
+ var _this;
+
+ classCallCheck_default()(this, CategoriesReportTable);
+
+ _this = _super.call(this, props);
+ _this.getRowsContent = _this.getRowsContent.bind(assertThisInitialized_default()(_this));
+ _this.getSummary = _this.getSummary.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(CategoriesReportTable, [{
+ key: "getHeadersContent",
+ value: function getHeadersContent() {
+ return [{
+ label: Object(external_this_wp_i18n_["__"])('Category', 'woocommerce-admin'),
+ key: 'category',
+ required: true,
+ isSortable: true,
+ isLeftAligned: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Items Sold', 'woocommerce-admin'),
+ key: 'items_sold',
+ required: true,
+ defaultSort: true,
+ isSortable: true,
+ isNumeric: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Net Sales', 'woocommerce-admin'),
+ key: 'net_revenue',
+ isSortable: true,
+ isNumeric: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Products', 'woocommerce-admin'),
+ key: 'products_count',
+ isSortable: true,
+ isNumeric: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Orders', 'woocommerce-admin'),
+ key: 'orders_count',
+ isSortable: true,
+ isNumeric: true
+ }];
+ }
+ }, {
+ key: "getRowsContent",
+ value: function getRowsContent(categoryStats) {
+ var _this2 = this;
+
+ var _this$context = this.context,
+ renderCurrency = _this$context.render,
+ getCurrencyFormatDecimal = _this$context.formatDecimal,
+ getCurrency = _this$context.getCurrency;
+ var currency = getCurrency();
+ return Object(external_lodash_["map"])(categoryStats, function (categoryStat) {
+ var categoryId = categoryStat.category_id,
+ itemsSold = categoryStat.items_sold,
+ netRevenue = categoryStat.net_revenue,
+ productsCount = categoryStat.products_count,
+ ordersCount = categoryStat.orders_count;
+ var _this2$props = _this2.props,
+ categories = _this2$props.categories,
+ query = _this2$props.query;
+ var category = categories.get(categoryId);
+ var persistedQuery = Object(external_this_wc_navigation_["getPersistedQuery"])(query);
+ return [{
+ display: Object(external_this_wp_element_["createElement"])(breadcrumbs["a" /* default */], {
+ query: query,
+ category: category,
+ categories: categories
+ }),
+ value: category && category.name
+ }, {
+ display: Object(external_this_wc_number_["formatValue"])(currency, 'number', itemsSold),
+ value: itemsSold
+ }, {
+ display: renderCurrency(netRevenue),
+ value: getCurrencyFormatDecimal(netRevenue)
+ }, {
+ display: category && Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: Object(external_this_wc_navigation_["getNewPath"])(persistedQuery, '/analytics/categories', {
+ filter: 'single_category',
+ categories: category.id
+ }),
+ type: "wc-admin"
+ }, Object(external_this_wc_number_["formatValue"])(currency, 'number', productsCount)),
+ value: productsCount
+ }, {
+ display: Object(external_this_wc_number_["formatValue"])(currency, 'number', ordersCount),
+ value: ordersCount
+ }];
+ });
+ }
+ }, {
+ key: "getSummary",
+ value: function getSummary(totals) {
+ var totalResults = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
+ var _totals$items_sold = totals.items_sold,
+ itemsSold = _totals$items_sold === void 0 ? 0 : _totals$items_sold,
+ _totals$net_revenue = totals.net_revenue,
+ netRevenue = _totals$net_revenue === void 0 ? 0 : _totals$net_revenue,
+ _totals$orders_count = totals.orders_count,
+ ordersCount = _totals$orders_count === void 0 ? 0 : _totals$orders_count;
+ var _this$context2 = this.context,
+ formatCurrency = _this$context2.formatCurrency,
+ getCurrency = _this$context2.getCurrency;
+ var currency = getCurrency();
+ return [{
+ label: Object(external_this_wp_i18n_["_n"])('category', 'categories', totalResults, 'woocommerce-admin'),
+ value: Object(external_this_wc_number_["formatValue"])(currency, 'number', totalResults)
+ }, {
+ label: Object(external_this_wp_i18n_["_n"])('item sold', 'items sold', itemsSold, 'woocommerce-admin'),
+ value: Object(external_this_wc_number_["formatValue"])(currency, 'number', itemsSold)
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('net sales', 'woocommerce-admin'),
+ value: formatCurrency(netRevenue)
+ }, {
+ label: Object(external_this_wp_i18n_["_n"])('order', 'orders', ordersCount, 'woocommerce-admin'),
+ value: Object(external_this_wc_number_["formatValue"])(currency, 'number', ordersCount)
+ }];
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ advancedFilters = _this$props.advancedFilters,
+ filters = _this$props.filters,
+ isRequesting = _this$props.isRequesting,
+ query = _this$props.query;
+ var labels = {
+ helpText: Object(external_this_wp_i18n_["__"])('Check at least two categories below to compare', 'woocommerce-admin'),
+ placeholder: Object(external_this_wp_i18n_["__"])('Search by category name', 'woocommerce-admin')
+ };
+ return Object(external_this_wp_element_["createElement"])(report_table["a" /* default */], {
+ compareBy: "categories",
+ endpoint: "categories",
+ getHeadersContent: this.getHeadersContent,
+ getRowsContent: this.getRowsContent,
+ getSummary: this.getSummary,
+ summaryFields: ['items_sold', 'net_revenue', 'orders_count'],
+ isRequesting: isRequesting,
+ itemIdField: "category_id",
+ query: query,
+ searchBy: "categories",
+ labels: labels,
+ tableQuery: {
+ orderby: query.orderby || 'items_sold',
+ order: query.order || 'desc',
+ extended_info: true
+ },
+ title: Object(external_this_wp_i18n_["__"])('Categories', 'woocommerce-admin'),
+ columnPrefsKey: "categories_report_columns",
+ filters: filters,
+ advancedFilters: advancedFilters
+ });
+ }
+ }]);
+
+ return CategoriesReportTable;
+}(external_this_wp_element_["Component"]);
+
+table_CategoriesReportTable.contextType = currency_context["a" /* CurrencyContext */];
+/* harmony default export */ var table = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select, props) {
+ var isRequesting = props.isRequesting,
+ query = props.query;
+
+ if (isRequesting || query.search && !(query.categories && query.categories.length)) {
+ return {};
+ }
+
+ var _select = select('wc-api'),
+ getItems = _select.getItems,
+ getItemsError = _select.getItemsError,
+ isGetItemsRequesting = _select.isGetItemsRequesting;
+
+ var tableQuery = {
+ per_page: -1
+ };
+ var categories = getItems('categories', tableQuery);
+ var isCategoriesError = Boolean(getItemsError('categories', tableQuery));
+ var isCategoriesRequesting = isGetItemsRequesting('categories', tableQuery);
+ return {
+ categories: categories,
+ isError: isCategoriesError,
+ isRequesting: isCategoriesRequesting
+ };
+}))(table_CategoriesReportTable));
+// EXTERNAL MODULE: ./client/lib/get-selected-chart/index.js
+var get_selected_chart = __webpack_require__(743);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-chart/index.js + 1 modules
+var report_chart = __webpack_require__(741);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-summary/index.js
+var report_summary = __webpack_require__(744);
+
+// EXTERNAL MODULE: ./client/analytics/report/products/table.js
+var products_table = __webpack_require__(775);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-filters/index.js
+var report_filters = __webpack_require__(745);
+
+// CONCATENATED MODULE: ./client/analytics/report/categories/index.js
+
+
+
+
+
+
+
+
+function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+function categories_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (categories_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function categories_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+
+
+var categories_CategoriesReport = /*#__PURE__*/function (_Component) {
+ inherits_default()(CategoriesReport, _Component);
+
+ var _super = categories_createSuper(CategoriesReport);
+
+ function CategoriesReport() {
+ classCallCheck_default()(this, CategoriesReport);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(CategoriesReport, [{
+ key: "getChartMeta",
+ value: function getChartMeta() {
+ var query = this.props.query;
+ var isCompareView = query.filter === 'compare-categories' && query.categories && query.categories.split(',').length > 1;
+ var isSingleCategoryView = query.filter === 'single_category' && !!query.categories;
+ var mode = isCompareView || isSingleCategoryView ? 'item-comparison' : 'time-comparison';
+ var itemsLabel = isSingleCategoryView ? Object(external_this_wp_i18n_["__"])('%d products', 'woocommerce-admin') : Object(external_this_wp_i18n_["__"])('%d categories', 'woocommerce-admin');
+ return {
+ isSingleCategoryView: isSingleCategoryView,
+ itemsLabel: itemsLabel,
+ mode: mode
+ };
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ isRequesting = _this$props.isRequesting,
+ query = _this$props.query,
+ path = _this$props.path;
+
+ var _this$getChartMeta = this.getChartMeta(),
+ mode = _this$getChartMeta.mode,
+ itemsLabel = _this$getChartMeta.itemsLabel,
+ isSingleCategoryView = _this$getChartMeta.isSingleCategoryView;
+
+ var chartQuery = _objectSpread({}, query);
+
+ if (mode === 'item-comparison') {
+ chartQuery.segmentby = isSingleCategoryView ? 'product' : 'category';
+ }
+
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(report_filters["a" /* default */], {
+ query: query,
+ path: path,
+ filters: config_filters,
+ advancedFilters: config_advancedFilters,
+ report: "categories"
+ }), Object(external_this_wp_element_["createElement"])(report_summary["a" /* default */], {
+ charts: charts,
+ endpoint: "products",
+ isRequesting: isRequesting,
+ limitProperties: isSingleCategoryView ? ['products', 'categories'] : ['categories'],
+ query: chartQuery,
+ selectedChart: Object(get_selected_chart["a" /* default */])(query.chart, charts),
+ filters: config_filters,
+ advancedFilters: config_advancedFilters,
+ report: "categories"
+ }), Object(external_this_wp_element_["createElement"])(report_chart["a" /* default */], {
+ charts: charts,
+ filters: config_filters,
+ advancedFilters: config_advancedFilters,
+ mode: mode,
+ endpoint: "products",
+ limitProperties: isSingleCategoryView ? ['products', 'categories'] : ['categories'],
+ path: path,
+ query: chartQuery,
+ isRequesting: isRequesting,
+ itemsLabel: itemsLabel,
+ selectedChart: Object(get_selected_chart["a" /* default */])(query.chart, charts)
+ }), isSingleCategoryView ? Object(external_this_wp_element_["createElement"])(products_table["a" /* default */], {
+ isRequesting: isRequesting,
+ query: chartQuery,
+ baseSearchQuery: {
+ filter: 'single_category'
+ },
+ hideCompare: isSingleCategoryView,
+ filters: config_filters,
+ advancedFilters: config_advancedFilters
+ }) : Object(external_this_wp_element_["createElement"])(table, {
+ isRequesting: isRequesting,
+ query: query,
+ filters: config_filters,
+ advancedFilters: config_advancedFilters
+ }));
+ }
+ }]);
+
+ return CategoriesReport;
+}(external_this_wp_element_["Component"]);
+
+
+categories_CategoriesReport.propTypes = {
+ query: prop_types_default.a.object.isRequired,
+ path: prop_types_default.a.string.isRequired
+};
+
+/***/ })
+
+}]);
\ No newline at end of file
diff --git a/dist/chunks/analytics-report-categories.2fb0556451942bfbfa96.min.js b/dist/chunks/analytics-report-categories.2fb0556451942bfbfa96.min.js
new file mode 100644
index 00000000000..f338635ee4a
--- /dev/null
+++ b/dist/chunks/analytics-report-categories.2fb0556451942bfbfa96.min.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{724:function(e,t,r){"use strict";r.r(t),r.d(t,"default",(function(){return G}));var o=r(15),c=r.n(o),a=r(41),n=r.n(a),i=r(40),s=r.n(i),l=r(44),m=r.n(l),u=r(29),d=r.n(u),b=r(42),p=r.n(b),g=r(0),y=r(1),_=r.n(y),f=r(3),O=r(48),h=r(739),j=Object(O.applyFilters)("woocommerce_admin_categories_report_charts",[{key:"items_sold",label:Object(f.__)("Items Sold","woocommerce-admin"),order:"desc",orderby:"items_sold",type:"number"},{key:"net_revenue",label:Object(f.__)("Net Sales","woocommerce-admin"),order:"desc",orderby:"net_revenue",type:"currency"},{key:"orders_count",label:Object(f.__)("Orders","woocommerce-admin"),order:"desc",orderby:"orders_count",type:"number"}]),v=Object(O.applyFilters)("woocommerce_admin_categories_report_filters",[{label:Object(f.__)("Show","woocommerce-admin"),staticParams:[],param:"filter",showFilters:function(){return!0},filters:[{label:Object(f.__)("All Categories","woocommerce-admin"),value:"all"},{label:Object(f.__)("Single Category","woocommerce-admin"),value:"select_category",chartMode:"item-comparison",subFilters:[{component:"Search",value:"single_category",chartMode:"item-comparison",path:["select_category"],settings:{type:"categories",param:"categories",getLabels:h.a,labels:{placeholder:Object(f.__)("Type to search for a category","woocommerce-admin"),button:Object(f.__)("Single Category","woocommerce-admin")}}}]},{label:Object(f.__)("Comparison","woocommerce-admin"),value:"compare-categories",chartMode:"item-comparison",settings:{type:"categories",param:"categories",getLabels:h.a,labels:{helpText:Object(f.__)("Check at least two categories below to compare","woocommerce-admin"),placeholder:Object(f.__)("Search for categories to compare","woocommerce-admin"),title:Object(f.__)("Compare Categories","woocommerce-admin"),update:Object(f.__)("Compare","woocommerce-admin")}}}]}]),w=Object(O.applyFilters)("woocommerce_admin_category_report_advanced_filters",{}),C=r(59),S=r.n(C),q=r(256),R=r(2),k=r(22),P=r(63),F=r(204),E=r(776),D=r(746),x=r(101),V=r(203);function L(){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}}var N=function(e){p()(o,e);var t,r=(t=o,function(){var e,r=d()(t);if(L()){var o=d()(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return m()(this,e)});function o(e){var t;return n()(this,o),(t=r.call(this,e)).getRowsContent=t.getRowsContent.bind(S()(t)),t.getSummary=t.getSummary.bind(S()(t)),t}return s()(o,[{key:"getHeadersContent",value:function(){return[{label:Object(f.__)("Category","woocommerce-admin"),key:"category",required:!0,isSortable:!0,isLeftAligned:!0},{label:Object(f.__)("Items Sold","woocommerce-admin"),key:"items_sold",required:!0,defaultSort:!0,isSortable:!0,isNumeric:!0},{label:Object(f.__)("Net Sales","woocommerce-admin"),key:"net_revenue",isSortable:!0,isNumeric:!0},{label:Object(f.__)("Products","woocommerce-admin"),key:"products_count",isSortable:!0,isNumeric:!0},{label:Object(f.__)("Orders","woocommerce-admin"),key:"orders_count",isSortable:!0,isNumeric:!0}]}},{key:"getRowsContent",value:function(e){var t=this,r=this.context,o=r.render,c=r.formatDecimal,a=(0,r.getCurrency)();return Object(R.map)(e,(function(e){var r=e.category_id,n=e.items_sold,i=e.net_revenue,s=e.products_count,l=e.orders_count,m=t.props,u=m.categories,d=m.query,b=u.get(r),p=Object(k.getPersistedQuery)(d);return[{display:Object(g.createElement)(E.a,{query:d,category:b,categories:u}),value:b&&b.name},{display:Object(F.formatValue)(a,"number",n),value:n},{display:o(i),value:c(i)},{display:b&&Object(g.createElement)(P.Link,{href:Object(k.getNewPath)(p,"/analytics/categories",{filter:"single_category",categories:b.id}),type:"wc-admin"},Object(F.formatValue)(a,"number",s)),value:s},{display:Object(F.formatValue)(a,"number",l),value:l}]}))}},{key:"getSummary",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=e.items_sold,o=void 0===r?0:r,c=e.net_revenue,a=void 0===c?0:c,n=e.orders_count,i=void 0===n?0:n,s=this.context,l=s.formatCurrency,m=s.getCurrency,u=m();return[{label:Object(f._n)("category","categories",t,"woocommerce-admin"),value:Object(F.formatValue)(u,"number",t)},{label:Object(f._n)("item sold","items sold",o,"woocommerce-admin"),value:Object(F.formatValue)(u,"number",o)},{label:Object(f.__)("net sales","woocommerce-admin"),value:l(a)},{label:Object(f._n)("order","orders",i,"woocommerce-admin"),value:Object(F.formatValue)(u,"number",i)}]}},{key:"render",value:function(){var e=this.props,t=e.advancedFilters,r=e.filters,o=e.isRequesting,c=e.query,a={helpText:Object(f.__)("Check at least two categories below to compare","woocommerce-admin"),placeholder:Object(f.__)("Search by category name","woocommerce-admin")};return Object(g.createElement)(D.a,{compareBy:"categories",endpoint:"categories",getHeadersContent:this.getHeadersContent,getRowsContent:this.getRowsContent,getSummary:this.getSummary,summaryFields:["items_sold","net_revenue","orders_count"],isRequesting:o,itemIdField:"category_id",query:c,searchBy:"categories",labels:a,tableQuery:{orderby:c.orderby||"items_sold",order:c.order||"desc",extended_info:!0},title:Object(f.__)("Categories","woocommerce-admin"),columnPrefsKey:"categories_report_columns",filters:r,advancedFilters:t})}}]),o}(g.Component);N.contextType=V.a;var I=Object(q.a)(Object(x.a)((function(e,t){var r=t.isRequesting,o=t.query;if(r||o.search&&(!o.categories||!o.categories.length))return{};var c=e("wc-api"),a=c.getItems,n=c.getItemsError,i=c.isGetItemsRequesting,s={per_page:-1};return{categories:a("categories",s),isError:Boolean(n("categories",s)),isRequesting:i("categories",s)}})))(N),M=r(743),T=r(741),B=r(744),H=r(775),Q=r(745);function A(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function J(){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}}var G=function(e){p()(o,e);var t,r=(t=o,function(){var e,r=d()(t);if(J()){var o=d()(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return m()(this,e)});function o(){return n()(this,o),r.apply(this,arguments)}return s()(o,[{key:"getChartMeta",value:function(){var e=this.props.query,t="compare-categories"===e.filter&&e.categories&&e.categories.split(",").length>1,r="single_category"===e.filter&&!!e.categories,o=t||r?"item-comparison":"time-comparison";return{isSingleCategoryView:r,itemsLabel:r?Object(f.__)("%d products","woocommerce-admin"):Object(f.__)("%d categories","woocommerce-admin"),mode:o}}},{key:"render",value:function(){var e=this.props,t=e.isRequesting,r=e.query,o=e.path,a=this.getChartMeta(),n=a.mode,i=a.itemsLabel,s=a.isSingleCategoryView,l=function(e){for(var t=1;t wc_api_constants__WEBPACK_IMPORTED_MODULE_6__[/* MAX_PER_PAGE */ "b"]) {
+ var isFetching = true;
+ var isError = false;
+ var pagedData = [];
+ var totalPages = Math.ceil(stats.totalResults / wc_api_constants__WEBPACK_IMPORTED_MODULE_6__[/* MAX_PER_PAGE */ "b"]);
+ var pagesFetched = 1;
+
+ for (var i = 2; i <= totalPages; i++) {
+ var nextQuery = _objectSpread({}, requestQuery, {
+ page: i
+ });
+
+ var _data = getReportStats(endpoint, nextQuery);
+
+ if (isReportStatsRequesting(endpoint, nextQuery)) {
+ continue;
+ }
+
+ if (getReportStatsError(endpoint, nextQuery)) {
+ isError = true;
+ isFetching = false;
+ break;
+ }
+
+ pagedData.push(_data);
+ pagesFetched++;
+
+ if (pagesFetched === totalPages) {
+ isFetching = false;
+ break;
+ }
+ }
+
+ if (isFetching) {
+ return _objectSpread({}, response, {
+ isRequesting: true
+ });
+ } else if (isError) {
+ return _objectSpread({}, response, {
+ isError: true
+ });
+ }
+
+ Object(lodash__WEBPACK_IMPORTED_MODULE_2__["forEach"])(pagedData, function (_data) {
+ intervals = intervals.concat(_data.data.intervals);
+ });
+ }
+
+ return _objectSpread({}, response, {
+ data: {
+ totals: totals,
+ intervals: intervals
+ }
+ });
+}
+/**
+ * Returns a formatting function or string to be used by d3-format
+ *
+ * @param {string} type Type of number, 'currency', 'number', 'percent', 'average'
+ * @param {Function} formatCurrency format currency function
+ * @return {string|Function} returns a number format based on the type or an overriding formatting function
+ */
+
+function getTooltipValueFormat(type, formatCurrency) {
+ switch (type) {
+ case 'currency':
+ return formatCurrency;
+
+ case 'percent':
+ return '.0%';
+
+ case 'number':
+ return ',';
+
+ case 'average':
+ return ',.2r';
+
+ default:
+ return ',';
+ }
+}
+/**
+ * Returns query needed for a request to populate a table.
+ *
+ * @param {Object} options arguments
+ * @param {Object} options.query Query parameters in the url
+ * @param {Object} options.tableQuery Query parameters specific for that endpoint
+ * @param {string} options.defaultDateRange User specified default date range.
+ * @return {Object} Object Table data response
+ */
+
+function getReportTableQuery(options) {
+ var query = options.query,
+ _options$tableQuery = options.tableQuery,
+ tableQuery = _options$tableQuery === void 0 ? {} : _options$tableQuery;
+ var filterQuery = getFilterQuery(options);
+ var datesFromQuery = Object(lib_date__WEBPACK_IMPORTED_MODULE_4__[/* getCurrentDates */ "f"])(query, options.defaultDateRange);
+ var noIntervals = Object(lodash__WEBPACK_IMPORTED_MODULE_2__["includes"])(noIntervalEndpoints, options.endpoint);
+ return _objectSpread({
+ orderby: query.orderby || 'date',
+ order: query.order || 'desc',
+ after: noIntervals ? undefined : Object(lib_date__WEBPACK_IMPORTED_MODULE_4__[/* appendTimestamp */ "a"])(datesFromQuery.primary.after, 'start'),
+ before: noIntervals ? undefined : Object(lib_date__WEBPACK_IMPORTED_MODULE_4__[/* appendTimestamp */ "a"])(datesFromQuery.primary.before, 'end'),
+ page: query.paged || 1,
+ per_page: query.per_page || wc_api_constants__WEBPACK_IMPORTED_MODULE_6__[/* QUERY_DEFAULTS */ "d"].pageSize
+ }, filterQuery, {}, tableQuery);
+}
+/**
+ * Returns table data needed to render a report page.
+ *
+ * @param {Object} options arguments
+ * @param {string} options.endpoint Report API Endpoint
+ * @param {Object} options.query Query parameters in the url
+ * @param {Object} options.select Instance of @wordpress/select
+ * @param {Object} options.tableQuery Query parameters specific for that endpoint
+ * @param {string} options.defaultDateRange User specified default date range.
+ * @return {Object} Object Table data response
+ */
+
+function getReportTableData(options) {
+ var endpoint = options.endpoint,
+ select = options.select;
+
+ var _select3 = select('wc-api'),
+ getReportItems = _select3.getReportItems,
+ getReportItemsError = _select3.getReportItemsError,
+ isReportItemsRequesting = _select3.isReportItemsRequesting;
+
+ var tableQuery = _utils__WEBPACK_IMPORTED_MODULE_7__[/* getReportTableQuery */ "c"](options);
+ var response = {
+ query: tableQuery,
+ isRequesting: false,
+ isError: false,
+ items: {
+ data: [],
+ totalResults: 0
+ }
+ }; // Disable eslint rule requiring `items` to be defined below because the next two if statements
+ // depend on `getReportItems` to have been called.
+ // eslint-disable-next-line @wordpress/no-unused-vars-before-return
+
+ var items = getReportItems(endpoint, tableQuery);
+
+ if (isReportItemsRequesting(endpoint, tableQuery)) {
+ return _objectSpread({}, response, {
+ isRequesting: true
+ });
+ } else if (getReportItemsError(endpoint, tableQuery)) {
+ return _objectSpread({}, response, {
+ isError: true
+ });
+ }
+
+ return _objectSpread({}, response, {
+ items: items
+ });
+}
+
+/***/ }),
+
+/***/ 745:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15);
+/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(41);
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(40);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(59);
+/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(44);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(29);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(42);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__);
+/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(1);
+/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_9__);
+/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(19);
+/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_10__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_11__);
+/* harmony import */ var _woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(26);
+/* harmony import */ var _woocommerce_data__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(51);
+/* harmony import */ var _woocommerce_data__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_data__WEBPACK_IMPORTED_MODULE_13__);
+/* harmony import */ var lib_tracks__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(79);
+/* harmony import */ var lib_date__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(104);
+/* harmony import */ var lib_currency_context__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(203);
+
+
+
+
+
+
+
+
+
+function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+function _createSuper(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+var ReportFilters = /*#__PURE__*/function (_Component) {
+ _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default()(ReportFilters, _Component);
+
+ var _super = _createSuper(ReportFilters);
+
+ function ReportFilters() {
+ var _this;
+
+ _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, ReportFilters);
+
+ _this = _super.call(this);
+ _this.trackDateSelect = _this.trackDateSelect.bind(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_3___default()(_this));
+ _this.trackFilterSelect = _this.trackFilterSelect.bind(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_3___default()(_this));
+ _this.trackAdvancedFilterAction = _this.trackAdvancedFilterAction.bind(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_3___default()(_this));
+ return _this;
+ }
+
+ _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(ReportFilters, [{
+ key: "trackDateSelect",
+ value: function trackDateSelect(data) {
+ var report = this.props.report;
+ Object(lib_tracks__WEBPACK_IMPORTED_MODULE_14__[/* recordEvent */ "b"])('datepicker_update', _objectSpread({
+ report: report
+ }, Object(lodash__WEBPACK_IMPORTED_MODULE_9__["omitBy"])(data, lodash__WEBPACK_IMPORTED_MODULE_9__["isUndefined"])));
+ }
+ }, {
+ key: "trackFilterSelect",
+ value: function trackFilterSelect(data) {
+ var report = this.props.report;
+ Object(lib_tracks__WEBPACK_IMPORTED_MODULE_14__[/* recordEvent */ "b"])('analytics_filter', {
+ report: report,
+ filter: data.filter || 'all'
+ });
+ }
+ }, {
+ key: "trackAdvancedFilterAction",
+ value: function trackAdvancedFilterAction(action, data) {
+ var report = this.props.report;
+
+ switch (action) {
+ case 'add':
+ Object(lib_tracks__WEBPACK_IMPORTED_MODULE_14__[/* recordEvent */ "b"])('analytics_filters_add', {
+ report: report,
+ filter: data.key
+ });
+ break;
+
+ case 'remove':
+ Object(lib_tracks__WEBPACK_IMPORTED_MODULE_14__[/* recordEvent */ "b"])('analytics_filters_remove', {
+ report: report,
+ filter: data.key
+ });
+ break;
+
+ case 'filter':
+ var snakeCaseData = Object.keys(data).reduce(function (result, property) {
+ result[Object(lodash__WEBPACK_IMPORTED_MODULE_9__["snakeCase"])(property)] = data[property];
+ return result;
+ }, {});
+ Object(lib_tracks__WEBPACK_IMPORTED_MODULE_14__[/* recordEvent */ "b"])('analytics_filters_filter', {
+ report: report,
+ snakeCaseData: snakeCaseData
+ });
+ break;
+
+ case 'clear_all':
+ Object(lib_tracks__WEBPACK_IMPORTED_MODULE_14__[/* recordEvent */ "b"])('analytics_filters_clear_all', {
+ report: report
+ });
+ break;
+
+ case 'match':
+ Object(lib_tracks__WEBPACK_IMPORTED_MODULE_14__[/* recordEvent */ "b"])('analytics_filters_all_any', {
+ report: report,
+ value: data.match
+ });
+ break;
+ }
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ advancedFilters = _this$props.advancedFilters,
+ filters = _this$props.filters,
+ path = _this$props.path,
+ query = _this$props.query,
+ showDatePicker = _this$props.showDatePicker,
+ defaultDateRange = _this$props.defaultDateRange;
+
+ var _getDateParamsFromQue = Object(lib_date__WEBPACK_IMPORTED_MODULE_15__[/* getDateParamsFromQuery */ "h"])(query, defaultDateRange),
+ period = _getDateParamsFromQue.period,
+ compare = _getDateParamsFromQue.compare,
+ before = _getDateParamsFromQue.before,
+ after = _getDateParamsFromQue.after;
+
+ var _getCurrentDates = Object(lib_date__WEBPACK_IMPORTED_MODULE_15__[/* getCurrentDates */ "f"])(query, defaultDateRange),
+ primaryDate = _getCurrentDates.primary,
+ secondaryDate = _getCurrentDates.secondary;
+
+ var dateQuery = {
+ period: period,
+ compare: compare,
+ before: before,
+ after: after,
+ primaryDate: primaryDate,
+ secondaryDate: secondaryDate
+ };
+ var Currency = this.context;
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_11__["ReportFilters"], {
+ query: query,
+ siteLocale: _woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_12__[/* LOCALE */ "c"].siteLocale,
+ currency: Currency,
+ path: path,
+ filters: filters,
+ advancedFilters: advancedFilters,
+ showDatePicker: showDatePicker,
+ onDateSelect: this.trackDateSelect,
+ onFilterSelect: this.trackFilterSelect,
+ onAdvancedFilterAction: this.trackAdvancedFilterAction,
+ dateQuery: dateQuery,
+ isoDateFormat: lib_date__WEBPACK_IMPORTED_MODULE_15__[/* isoDateFormat */ "k"]
+ });
+ }
+ }]);
+
+ return ReportFilters;
+}(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__["Component"]);
+
+ReportFilters.contextType = lib_currency_context__WEBPACK_IMPORTED_MODULE_16__[/* CurrencyContext */ "a"];
+/* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_10__["withSelect"])(function (select) {
+ var _select$getSetting = select(_woocommerce_data__WEBPACK_IMPORTED_MODULE_13__["SETTINGS_STORE_NAME"]).getSetting('wc_admin', 'wcAdminSettings'),
+ defaultDateRange = _select$getSetting.woocommerce_default_date_range;
+
+ return {
+ defaultDateRange: defaultDateRange
+ };
+})(ReportFilters));
+ReportFilters.propTypes = {
+ /**
+ * Config option passed through to `AdvancedFilters`
+ */
+ advancedFilters: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.object,
+
+ /**
+ * Config option passed through to `FilterPicker` - if not used, `FilterPicker` is not displayed.
+ */
+ filters: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.array,
+
+ /**
+ * The `path` parameter supplied by React-Router
+ */
+ path: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string.isRequired,
+
+ /**
+ * The query string represented in object form
+ */
+ query: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.object,
+
+ /**
+ * Whether the date picker must be shown..
+ */
+ showDatePicker: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.bool,
+
+ /**
+ * The report where filter are placed.
+ */
+ report: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string.isRequired
+};
+
+/***/ }),
+
+/***/ 746:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/extends.js
+var helpers_extends = __webpack_require__(105);
+var extends_default = /*#__PURE__*/__webpack_require__.n(helpers_extends);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectWithoutProperties.js
+var objectWithoutProperties = __webpack_require__(121);
+var objectWithoutProperties_default = /*#__PURE__*/__webpack_require__.n(objectWithoutProperties);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/toConsumableArray.js
+var toConsumableArray = __webpack_require__(32);
+var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js
+var defineProperty = __webpack_require__(15);
+var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js
+var classCallCheck = __webpack_require__(41);
+var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js
+var createClass = __webpack_require__(40);
+var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/assertThisInitialized.js
+var assertThisInitialized = __webpack_require__(59);
+var assertThisInitialized_default = /*#__PURE__*/__webpack_require__.n(assertThisInitialized);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(44);
+var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(29);
+var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js
+var inherits = __webpack_require__(42);
+var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/checkbox-control/index.js
+var checkbox_control = __webpack_require__(760);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/icon-button/index.js
+var icon_button = __webpack_require__(85);
+
+// EXTERNAL MODULE: external {"this":["wp","hooks"]}
+var external_this_wp_hooks_ = __webpack_require__(48);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/compose/build-module/higher-order/compose.js
+var compose = __webpack_require__(256);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/dom/build-module/index.js + 2 modules
+var build_module = __webpack_require__(50);
+
+// EXTERNAL MODULE: external {"this":["wp","data"]}
+var external_this_wp_data_ = __webpack_require__(19);
+
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__(2);
+
+// EXTERNAL MODULE: external {"this":["wp","i18n"]}
+var external_this_wp_i18n_ = __webpack_require__(3);
+
+// EXTERNAL MODULE: ./node_modules/classnames/index.js
+var classnames = __webpack_require__(10);
+var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
+
+// EXTERNAL MODULE: ./node_modules/prop-types/index.js
+var prop_types = __webpack_require__(1);
+var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
+
+// EXTERNAL MODULE: external {"this":["wc","components"]}
+var external_this_wc_components_ = __webpack_require__(63);
+
+// CONCATENATED MODULE: ./client/analytics/components/report-table/download-icon.js
+
+/* harmony default export */ var download_icon = (function () {
+ return Object(external_this_wp_element_["createElement"])("svg", {
+ role: "img",
+ "aria-hidden": "true",
+ focusable: "false",
+ version: "1.1",
+ xmlns: "http://www.w3.org/2000/svg",
+ x: "0px",
+ y: "0px",
+ viewBox: "0 0 24 24"
+ }, Object(external_this_wp_element_["createElement"])("path", {
+ d: "M18,9c-0.009,0-0.017,0.002-0.025,0.003C17.72,5.646,14.922,3,11.5,3C7.91,3,5,5.91,5,9.5c0,0.524,0.069,1.031,0.186,1.519 C5.123,11.016,5.064,11,5,11c-2.209,0-4,1.791-4,4c0,1.202,0.541,2.267,1.38,3h18.593C22.196,17.089,23,15.643,23,14 C23,11.239,20.761,9,18,9z M12,16l-4-5h3V8h2v3h3L12,16z"
+ }));
+});
+// EXTERNAL MODULE: external {"this":["wc","navigation"]}
+var external_this_wc_navigation_ = __webpack_require__(22);
+
+// EXTERNAL MODULE: external {"this":["wc","csvExport"]}
+var external_this_wc_csvExport_ = __webpack_require__(719);
+
+// EXTERNAL MODULE: external {"this":["wc","data"]}
+var external_this_wc_data_ = __webpack_require__(51);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-error/index.js
+var report_error = __webpack_require__(261);
+
+// EXTERNAL MODULE: ./client/wc-api/reports/utils.js
+var utils = __webpack_require__(738);
+
+// EXTERNAL MODULE: ./client/wc-api/constants.js
+var constants = __webpack_require__(24);
+
+// EXTERNAL MODULE: ./client/wc-api/with-select.js
+var with_select = __webpack_require__(101);
+
+// CONCATENATED MODULE: ./client/analytics/components/report-table/utils.js
+
+
+function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+/**
+ * External dependencies
+ */
+
+function extendTableData(select, props, queriedTableData) {
+ var extendItemsMethodNames = props.extendItemsMethodNames,
+ itemIdField = props.itemIdField;
+ var itemsData = queriedTableData.items.data;
+
+ if (!Array.isArray(itemsData) || !itemsData.length || !extendItemsMethodNames || !itemIdField) {
+ return queriedTableData;
+ }
+
+ var _select = select('wc-api'),
+ getErrorMethod = _select[extendItemsMethodNames.getError],
+ isRequestingMethod = _select[extendItemsMethodNames.isRequesting],
+ loadMethod = _select[extendItemsMethodNames.load];
+
+ var extendQuery = {
+ include: itemsData.map(function (item) {
+ return item[itemIdField];
+ }).join(','),
+ per_page: itemsData.length
+ };
+ var extendedItems = loadMethod(extendQuery);
+ var isExtendedItemsRequesting = isRequestingMethod ? isRequestingMethod(extendQuery) : false;
+ var isExtendedItemsError = getErrorMethod ? getErrorMethod(extendQuery) : false;
+ var extendedItemsData = itemsData.map(function (item) {
+ var extendedItemData = Object(external_lodash_["first"])(extendedItems.filter(function (extendedItem) {
+ return item.id === extendedItem.id;
+ }));
+ return _objectSpread({}, item, {}, extendedItemData);
+ });
+ var isRequesting = queriedTableData.isRequesting || isExtendedItemsRequesting;
+ var isError = queriedTableData.isError || isExtendedItemsError;
+ return _objectSpread({}, queriedTableData, {
+ isRequesting: isRequesting,
+ isError: isError,
+ items: _objectSpread({}, queriedTableData.items, {
+ data: extendedItemsData
+ })
+ });
+}
+// EXTERNAL MODULE: ./client/lib/tracks.js
+var tracks = __webpack_require__(79);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-table/style.scss
+var style = __webpack_require__(884);
+
+// CONCATENATED MODULE: ./client/analytics/components/report-table/index.js
+
+
+
+
+
+
+
+
+
+
+
+
+function report_table_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function report_table_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { report_table_ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { report_table_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+function _createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+
+var TABLE_FILTER = 'woocommerce_admin_report_table';
+/**
+ * Component that extends `TableCard` to facilitate its usage in reports.
+ */
+
+var report_table_ReportTable = /*#__PURE__*/function (_Component) {
+ inherits_default()(ReportTable, _Component);
+
+ var _super = _createSuper(ReportTable);
+
+ function ReportTable(props) {
+ var _this;
+
+ classCallCheck_default()(this, ReportTable);
+
+ _this = _super.call(this, props);
+ var _this$props = _this.props,
+ query = _this$props.query,
+ compareBy = _this$props.compareBy;
+ var selectedRows = query.filter ? Object(external_this_wc_navigation_["getIdsFromQuery"])(query[compareBy]) : [];
+ _this.state = {
+ selectedRows: selectedRows
+ };
+ _this.onColumnsChange = _this.onColumnsChange.bind(assertThisInitialized_default()(_this));
+ _this.onPageChange = _this.onPageChange.bind(assertThisInitialized_default()(_this));
+ _this.onSort = _this.onSort.bind(assertThisInitialized_default()(_this));
+ _this.scrollPointRef = Object(external_this_wp_element_["createRef"])();
+ _this.trackTableSearch = _this.trackTableSearch.bind(assertThisInitialized_default()(_this));
+ _this.onClickDownload = _this.onClickDownload.bind(assertThisInitialized_default()(_this));
+ _this.onCompare = _this.onCompare.bind(assertThisInitialized_default()(_this));
+ _this.onSearchChange = _this.onSearchChange.bind(assertThisInitialized_default()(_this));
+ _this.selectRow = _this.selectRow.bind(assertThisInitialized_default()(_this));
+ _this.selectAllRows = _this.selectAllRows.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(ReportTable, [{
+ key: "componentDidUpdate",
+ value: function componentDidUpdate(_ref) {
+ var prevQuery = _ref.query;
+ var _this$props2 = this.props,
+ compareBy = _this$props2.compareBy,
+ query = _this$props2.query;
+
+ if (query.filter || prevQuery.filter) {
+ var prevIds = prevQuery.filter ? Object(external_this_wc_navigation_["getIdsFromQuery"])(prevQuery[compareBy]) : [];
+ var currentIds = query.filter ? Object(external_this_wc_navigation_["getIdsFromQuery"])(query[compareBy]) : [];
+
+ if (!Object(external_lodash_["isEqual"])(prevIds.sort(), currentIds.sort())) {
+ /* eslint-disable react/no-did-update-set-state */
+ this.setState({
+ selectedRows: currentIds
+ });
+ /* eslint-enable react/no-did-update-set-state */
+ }
+ }
+ }
+ }, {
+ key: "onColumnsChange",
+ value: function onColumnsChange(shownColumns, toggledColumn) {
+ var _this$props3 = this.props,
+ columnPrefsKey = _this$props3.columnPrefsKey,
+ endpoint = _this$props3.endpoint,
+ getHeadersContent = _this$props3.getHeadersContent,
+ updateCurrentUserData = _this$props3.updateCurrentUserData;
+ var columns = getHeadersContent().map(function (header) {
+ return header.key;
+ });
+ var hiddenColumns = columns.filter(function (column) {
+ return !shownColumns.includes(column);
+ });
+
+ if (columnPrefsKey) {
+ var userDataFields = defineProperty_default()({}, columnPrefsKey, hiddenColumns);
+
+ updateCurrentUserData(userDataFields);
+ }
+
+ if (toggledColumn) {
+ var eventProps = {
+ report: endpoint,
+ column: toggledColumn,
+ status: shownColumns.includes(toggledColumn) ? 'on' : 'off'
+ };
+ Object(tracks["b" /* recordEvent */])('analytics_table_header_toggle', eventProps);
+ }
+ }
+ }, {
+ key: "onPageChange",
+ value: function onPageChange(newPage, source) {
+ var endpoint = this.props.endpoint;
+ this.scrollPointRef.current.scrollIntoView();
+ var tableElement = this.scrollPointRef.current.nextSibling.querySelector('.woocommerce-table__table');
+ var focusableElements = build_module["a" /* focus */].focusable.find(tableElement);
+
+ if (focusableElements.length) {
+ focusableElements[0].focus();
+ }
+
+ if (source) {
+ if (source === 'goto') {
+ Object(tracks["b" /* recordEvent */])('analytics_table_go_to_page', {
+ report: endpoint,
+ page: newPage
+ });
+ } else {
+ Object(tracks["b" /* recordEvent */])('analytics_table_page_click', {
+ report: endpoint,
+ direction: source
+ });
+ }
+ }
+ }
+ }, {
+ key: "trackTableSearch",
+ value: function trackTableSearch() {
+ var endpoint = this.props.endpoint; // @todo: decide if this should only fire for new tokens (not any/all changes).
+
+ Object(tracks["b" /* recordEvent */])('analytics_table_filter', {
+ report: endpoint
+ });
+ }
+ }, {
+ key: "onSort",
+ value: function onSort(key, direction) {
+ Object(external_this_wc_navigation_["onQueryChange"])('sort')(key, direction);
+ var endpoint = this.props.endpoint;
+ var eventProps = {
+ report: endpoint,
+ column: key,
+ direction: direction
+ };
+ Object(tracks["b" /* recordEvent */])('analytics_table_sort', eventProps);
+ }
+ }, {
+ key: "filterShownHeaders",
+ value: function filterShownHeaders(headers, hiddenKeys) {
+ // If no user preferences, set visibilty based on column default.
+ if (!hiddenKeys) {
+ return headers.map(function (header) {
+ return report_table_objectSpread({}, header, {
+ visible: header.required || !header.hiddenByDefault
+ });
+ });
+ } // Set visibilty based on user preferences.
+
+
+ return headers.map(function (header) {
+ return report_table_objectSpread({}, header, {
+ visible: header.required || !hiddenKeys.includes(header.key)
+ });
+ });
+ }
+ }, {
+ key: "onClickDownload",
+ value: function onClickDownload() {
+ var _this$props4 = this.props,
+ endpoint = _this$props4.endpoint,
+ getHeadersContent = _this$props4.getHeadersContent,
+ getRowsContent = _this$props4.getRowsContent,
+ initiateReportExport = _this$props4.initiateReportExport,
+ query = _this$props4.query,
+ searchBy = _this$props4.searchBy,
+ tableData = _this$props4.tableData,
+ title = _this$props4.title;
+ var params = Object.assign({}, query);
+ var items = tableData.items,
+ reportQuery = tableData.query;
+ var data = items.data,
+ totalResults = items.totalResults;
+ var downloadType = 'browser'; // Delete unnecessary items from filename.
+
+ delete params.extended_info;
+
+ if (params.search) {
+ delete params[searchBy];
+ }
+
+ if (data && data.length === totalResults) {
+ Object(external_this_wc_csvExport_["downloadCSVFile"])(Object(external_this_wc_csvExport_["generateCSVFileName"])(title, params), Object(external_this_wc_csvExport_["generateCSVDataFromTable"])(getHeadersContent(), getRowsContent(data)));
+ } else {
+ downloadType = 'email';
+ initiateReportExport(endpoint, title, reportQuery);
+ }
+
+ Object(tracks["b" /* recordEvent */])('analytics_table_download', {
+ report: endpoint,
+ rows: totalResults,
+ downloadType: downloadType
+ });
+ }
+ }, {
+ key: "onCompare",
+ value: function onCompare() {
+ var _this$props5 = this.props,
+ compareBy = _this$props5.compareBy,
+ compareParam = _this$props5.compareParam;
+ var selectedRows = this.state.selectedRows;
+
+ if (compareBy) {
+ Object(external_this_wc_navigation_["onQueryChange"])('compare')(compareBy, compareParam, selectedRows.join(','));
+ }
+ }
+ }, {
+ key: "onSearchChange",
+ value: function onSearchChange(values) {
+ var _this$props6 = this.props,
+ baseSearchQuery = _this$props6.baseSearchQuery,
+ compareParam = _this$props6.compareParam,
+ searchBy = _this$props6.searchBy; // A comma is used as a separator between search terms, so we want to escape
+ // any comma they contain.
+
+ var labels = values.map(function (v) {
+ return v.label.replace(',', '%2C');
+ });
+
+ if (labels.length) {
+ var _objectSpread2;
+
+ Object(external_this_wc_navigation_["updateQueryString"])(report_table_objectSpread((_objectSpread2 = {
+ filter: undefined
+ }, defineProperty_default()(_objectSpread2, compareParam, undefined), defineProperty_default()(_objectSpread2, searchBy, undefined), _objectSpread2), baseSearchQuery, {
+ search: Object(external_lodash_["uniq"])(labels).join(',')
+ }));
+ } else {
+ Object(external_this_wc_navigation_["updateQueryString"])({
+ search: undefined
+ });
+ }
+
+ this.trackTableSearch();
+ }
+ }, {
+ key: "selectAllRows",
+ value: function selectAllRows(checked) {
+ var ids = this.props.ids;
+ this.setState({
+ selectedRows: checked ? ids : []
+ });
+ }
+ }, {
+ key: "selectRow",
+ value: function selectRow(i, checked) {
+ var ids = this.props.ids;
+
+ if (checked) {
+ this.setState(function (_ref2) {
+ var selectedRows = _ref2.selectedRows;
+ return {
+ selectedRows: Object(external_lodash_["uniq"])([ids[i]].concat(toConsumableArray_default()(selectedRows)))
+ };
+ });
+ } else {
+ this.setState(function (_ref3) {
+ var selectedRows = _ref3.selectedRows;
+ var index = selectedRows.indexOf(ids[i]);
+ return {
+ selectedRows: [].concat(toConsumableArray_default()(selectedRows.slice(0, index)), toConsumableArray_default()(selectedRows.slice(index + 1)))
+ };
+ });
+ }
+ }
+ }, {
+ key: "getCheckbox",
+ value: function getCheckbox(i) {
+ var _this$props$ids = this.props.ids,
+ ids = _this$props$ids === void 0 ? [] : _this$props$ids;
+ var selectedRows = this.state.selectedRows;
+ var isChecked = selectedRows.indexOf(ids[i]) !== -1;
+ return {
+ display: Object(external_this_wp_element_["createElement"])(checkbox_control["a" /* default */], {
+ onChange: Object(external_lodash_["partial"])(this.selectRow, i),
+ checked: isChecked
+ }),
+ value: false
+ };
+ }
+ }, {
+ key: "getAllCheckbox",
+ value: function getAllCheckbox() {
+ var _this$props$ids2 = this.props.ids,
+ ids = _this$props$ids2 === void 0 ? [] : _this$props$ids2;
+ var selectedRows = this.state.selectedRows;
+ var hasData = ids.length > 0;
+ var isAllChecked = hasData && ids.length === selectedRows.length;
+ return {
+ cellClassName: 'is-checkbox-column',
+ key: 'compare',
+ label: Object(external_this_wp_element_["createElement"])(checkbox_control["a" /* default */], {
+ onChange: this.selectAllRows,
+ "aria-label": Object(external_this_wp_i18n_["__"])('Select All'),
+ checked: isAllChecked,
+ disabled: !hasData
+ }),
+ required: true
+ };
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this2 = this;
+
+ var selectedRows = this.state.selectedRows;
+
+ var _this$props7 = this.props,
+ getHeadersContent = _this$props7.getHeadersContent,
+ getRowsContent = _this$props7.getRowsContent,
+ getSummary = _this$props7.getSummary,
+ isRequesting = _this$props7.isRequesting,
+ primaryData = _this$props7.primaryData,
+ tableData = _this$props7.tableData,
+ endpoint = _this$props7.endpoint,
+ itemIdField = _this$props7.itemIdField,
+ tableQuery = _this$props7.tableQuery,
+ userPrefColumns = _this$props7.userPrefColumns,
+ compareBy = _this$props7.compareBy,
+ searchBy = _this$props7.searchBy,
+ _this$props7$labels = _this$props7.labels,
+ labels = _this$props7$labels === void 0 ? {} : _this$props7$labels,
+ tableProps = objectWithoutProperties_default()(_this$props7, ["getHeadersContent", "getRowsContent", "getSummary", "isRequesting", "primaryData", "tableData", "endpoint", "itemIdField", "tableQuery", "userPrefColumns", "compareBy", "searchBy", "labels"]);
+
+ var items = tableData.items,
+ query = tableData.query;
+ var isError = tableData.isError || primaryData.isError;
+
+ if (isError) {
+ return Object(external_this_wp_element_["createElement"])(report_error["a" /* default */], {
+ isError: true
+ });
+ }
+
+ var isLoading = isRequesting || tableData.isRequesting || primaryData.isRequesting;
+ var totals = Object(external_lodash_["get"])(primaryData, ['data', 'totals'], {});
+ var totalResults = items.totalResults;
+ var downloadable = totalResults > 0; // Search words are in the query string, not the table query.
+
+ var searchWords = Object(external_this_wc_navigation_["getSearchWords"])(this.props.query);
+ var searchedLabels = searchWords.map(function (v) {
+ return {
+ key: v,
+ label: v
+ };
+ });
+ /**
+ * Filter report table.
+ *
+ * Enables manipulation of data used to create a report table.
+ *
+ * @param {Object} reportTableData - data used to create the table.
+ * @param {string} reportTableData.endpoint - table api endpoint.
+ * @param {Array} reportTableData.headers - table headers data.
+ * @param {Array} reportTableData.rows - table rows data.
+ * @param {Object} reportTableData.totals - total aggregates for request.
+ * @param {Array} reportTableData.summary - summary numbers data.
+ * @param {Object} reportTableData.items - response from api requerst.
+ */
+
+ var filteredTableProps = Object(external_this_wp_hooks_["applyFilters"])(TABLE_FILTER, {
+ endpoint: endpoint,
+ headers: getHeadersContent(),
+ rows: getRowsContent(items.data),
+ totals: totals,
+ summary: getSummary ? getSummary(totals, totalResults) : null,
+ items: items
+ });
+ var headers = filteredTableProps.headers,
+ rows = filteredTableProps.rows;
+ var summary = filteredTableProps.summary; // Add in selection for comparisons.
+
+ if (compareBy) {
+ rows = rows.map(function (row, i) {
+ return [_this2.getCheckbox(i)].concat(toConsumableArray_default()(row));
+ });
+ headers = [this.getAllCheckbox()].concat(toConsumableArray_default()(headers));
+ } // Hide any headers based on user prefs, if loaded.
+
+
+ var filteredHeaders = this.filterShownHeaders(headers, userPrefColumns);
+ var className = classnames_default()('woocommerce-report-table', {
+ 'has-compare': !!compareBy,
+ 'has-search': !!searchBy
+ });
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-report-table__scroll-point",
+ ref: this.scrollPointRef,
+ "aria-hidden": true
+ }), Object(external_this_wp_element_["createElement"])(external_this_wc_components_["TableCard"], extends_default()({
+ className: className,
+ actions: [compareBy && Object(external_this_wp_element_["createElement"])(external_this_wc_components_["CompareButton"], {
+ key: "compare",
+ className: "woocommerce-table__compare",
+ count: selectedRows.length,
+ helpText: labels.helpText || Object(external_this_wp_i18n_["__"])('Check at least two items below to compare', 'woocommerce-admin'),
+ onClick: this.onCompare,
+ disabled: !downloadable
+ }, labels.compareButton || Object(external_this_wp_i18n_["__"])('Compare', 'woocommerce-admin')), searchBy && Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Search"], {
+ allowFreeTextSearch: true,
+ inlineTags: true,
+ key: "search",
+ onChange: this.onSearchChange,
+ placeholder: labels.placeholder || Object(external_this_wp_i18n_["__"])('Search by item name', 'woocommerce-admin'),
+ selected: searchedLabels,
+ showClearButton: true,
+ type: searchBy,
+ disabled: !downloadable
+ }), downloadable && Object(external_this_wp_element_["createElement"])(icon_button["a" /* default */], {
+ key: "download",
+ className: "woocommerce-table__download-button",
+ disabled: isLoading,
+ onClick: this.onClickDownload,
+ isLink: true
+ }, Object(external_this_wp_element_["createElement"])(download_icon, null), Object(external_this_wp_element_["createElement"])("span", {
+ className: "woocommerce-table__download-button__label"
+ }, labels.downloadButton || Object(external_this_wp_i18n_["__"])('Download', 'woocommerce-admin')))],
+ headers: filteredHeaders,
+ isLoading: isLoading,
+ onQueryChange: external_this_wc_navigation_["onQueryChange"],
+ onColumnsChange: this.onColumnsChange,
+ onSort: this.onSort,
+ onPageChange: this.onPageChange,
+ rows: rows,
+ rowsPerPage: parseInt(query.per_page, 10) || constants["d" /* QUERY_DEFAULTS */].pageSize,
+ summary: summary,
+ totalRows: totalResults
+ }, tableProps)));
+ }
+ }]);
+
+ return ReportTable;
+}(external_this_wp_element_["Component"]);
+
+report_table_ReportTable.propTypes = {
+ /**
+ * Pass in query parameters to be included in the path when onSearch creates a new url.
+ */
+ baseSearchQuery: prop_types_default.a.object,
+
+ /**
+ * The string to use as a query parameter when comparing row items.
+ */
+ compareBy: prop_types_default.a.string,
+
+ /**
+ * Url query parameter compare function operates on
+ */
+ compareParam: prop_types_default.a.string,
+
+ /**
+ * The key for user preferences settings for column visibility.
+ */
+ columnPrefsKey: prop_types_default.a.string,
+
+ /**
+ * The endpoint to use in API calls to populate the table rows and summary.
+ * For example, if `taxes` is provided, data will be fetched from the report
+ * `taxes` endpoint (ie: `/wc-analytics/reports/taxes` and `/wc/v4/reports/taxes/stats`).
+ * If the provided endpoint doesn't exist, an error will be shown to the user
+ * with `ReportError`.
+ */
+ endpoint: prop_types_default.a.string,
+
+ /**
+ * Name of the methods available via `select( 'wc-api' )` that will be used to
+ * load more data for table items. If omitted, no call will be made and only
+ * the data returned by the reports endpoint will be used.
+ */
+ extendItemsMethodNames: prop_types_default.a.shape({
+ getError: prop_types_default.a.string,
+ isRequesting: prop_types_default.a.string,
+ load: prop_types_default.a.string
+ }),
+
+ /**
+ * A function that returns the headers object to build the table.
+ */
+ getHeadersContent: prop_types_default.a.func.isRequired,
+
+ /**
+ * A function that returns the rows array to build the table.
+ */
+ getRowsContent: prop_types_default.a.func.isRequired,
+
+ /**
+ * A function that returns the summary object to build the table.
+ */
+ getSummary: prop_types_default.a.func,
+
+ /**
+ * The name of the property in the item object which contains the id.
+ */
+ itemIdField: prop_types_default.a.string,
+
+ /**
+ * Custom labels for table header actions.
+ */
+ labels: prop_types_default.a.shape({
+ compareButton: prop_types_default.a.string,
+ downloadButton: prop_types_default.a.string,
+ helpText: prop_types_default.a.string,
+ placeholder: prop_types_default.a.string
+ }),
+
+ /**
+ * Primary data of that report. If it's not provided, it will be automatically
+ * loaded via the provided `endpoint`.
+ */
+ primaryData: prop_types_default.a.object,
+
+ /**
+ * The string to use as a query parameter when searching row items.
+ */
+ searchBy: prop_types_default.a.string,
+
+ /**
+ * List of fields used for summary numbers. (Reduces queries)
+ */
+ summaryFields: prop_types_default.a.arrayOf(prop_types_default.a.string),
+
+ /**
+ * Table data of that report. If it's not provided, it will be automatically
+ * loaded via the provided `endpoint`.
+ */
+ tableData: prop_types_default.a.object.isRequired,
+
+ /**
+ * Properties to be added to the query sent to the report table endpoint.
+ */
+ tableQuery: prop_types_default.a.object,
+
+ /**
+ * String to display as the title of the table.
+ */
+ title: prop_types_default.a.string.isRequired
+};
+report_table_ReportTable.defaultProps = {
+ primaryData: {},
+ tableData: {
+ items: {
+ data: [],
+ totalResults: 0
+ },
+ query: {}
+ },
+ tableQuery: {},
+ compareParam: 'filter',
+ downloadable: false,
+ onSearch: external_lodash_["noop"],
+ baseSearchQuery: {}
+};
+/* harmony default export */ var report_table = __webpack_exports__["a"] = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select, props) {
+ var endpoint = props.endpoint,
+ getSummary = props.getSummary,
+ isRequesting = props.isRequesting,
+ itemIdField = props.itemIdField,
+ query = props.query,
+ tableData = props.tableData,
+ tableQuery = props.tableQuery,
+ columnPrefsKey = props.columnPrefsKey,
+ filters = props.filters,
+ advancedFilters = props.advancedFilters,
+ summaryFields = props.summaryFields;
+ var userPrefColumns = [];
+
+ if (columnPrefsKey) {
+ var _select = select('wc-api'),
+ getCurrentUserData = _select.getCurrentUserData;
+
+ var userData = getCurrentUserData();
+ userPrefColumns = userData && userData[columnPrefsKey] ? userData[columnPrefsKey] : userPrefColumns;
+ }
+
+ if (isRequesting || query.search && !(query[endpoint] && query[endpoint].length)) {
+ return {
+ userPrefColumns: userPrefColumns
+ };
+ }
+
+ var _select$getSetting = select(external_this_wc_data_["SETTINGS_STORE_NAME"]).getSetting('wc_admin', 'wcAdminSettings'),
+ defaultDateRange = _select$getSetting.woocommerce_default_date_range; // Variations and Category charts are powered by the /reports/products/stats endpoint.
+
+
+ var chartEndpoint = ['variations', 'categories'].includes(endpoint) ? 'products' : endpoint;
+ var primaryData = getSummary ? Object(utils["a" /* getReportChartData */])({
+ endpoint: chartEndpoint,
+ dataType: 'primary',
+ query: query,
+ select: select,
+ filters: filters,
+ advancedFilters: advancedFilters,
+ tableQuery: tableQuery,
+ defaultDateRange: defaultDateRange,
+ fields: summaryFields
+ }) : {};
+ var queriedTableData = tableData || Object(utils["b" /* getReportTableData */])({
+ endpoint: endpoint,
+ query: query,
+ select: select,
+ tableQuery: tableQuery,
+ filters: filters,
+ advancedFilters: advancedFilters,
+ defaultDateRange: defaultDateRange
+ });
+ var extendedTableData = extendTableData(select, props, queriedTableData);
+ return {
+ primaryData: primaryData,
+ ids: itemIdField ? extendedTableData.items.data.map(function (item) {
+ return item[itemIdField];
+ }) : [],
+ tableData: extendedTableData,
+ query: report_table_objectSpread({}, tableQuery, {}, query),
+ userPrefColumns: userPrefColumns
+ };
+}), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('wc-api'),
+ initiateReportExport = _dispatch.initiateReportExport,
+ updateCurrentUserData = _dispatch.updateCurrentUserData;
+
+ return {
+ initiateReportExport: initiateReportExport,
+ updateCurrentUserData: updateCurrentUserData
+ };
+}))(report_table_ReportTable));
+
+/***/ }),
+
+/***/ 760:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11);
+/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(173);
+/* harmony import */ var _base_control__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(171);
+/* harmony import */ var _dashicon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(80);
+
+
+
+
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+function CheckboxControl(_ref) {
+ var label = _ref.label,
+ className = _ref.className,
+ heading = _ref.heading,
+ checked = _ref.checked,
+ help = _ref.help,
+ instanceId = _ref.instanceId,
+ onChange = _ref.onChange,
+ props = Object(_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(_ref, ["label", "className", "heading", "checked", "help", "instanceId", "onChange"]);
+
+ var id = "inspector-checkbox-control-".concat(instanceId);
+
+ var onChangeValue = function onChangeValue(event) {
+ return onChange(event.target.checked);
+ };
+
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_base_control__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"], {
+ label: heading,
+ id: id,
+ help: help,
+ className: className
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])("span", {
+ className: "components-checkbox-control__input-container"
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])("input", Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({
+ id: id,
+ className: "components-checkbox-control__input",
+ type: "checkbox",
+ value: "1",
+ onChange: onChangeValue,
+ checked: checked,
+ "aria-describedby": !!help ? id + '__help' : undefined
+ }, props)), checked ? Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_dashicon__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"], {
+ icon: "yes",
+ className: "components-checkbox-control__checked",
+ role: "presentation"
+ }) : null), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])("label", {
+ className: "components-checkbox-control__label",
+ htmlFor: id
+ }, label));
+}
+
+/* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])(CheckboxControl));
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 884:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ })
+
+}]);
\ No newline at end of file
diff --git a/dist/chunks/analytics-report-categories~analytics-report-coupons~analytics-report-customers~analytics-report-dow~99eefb40.461e5718e712fc637f8d.min.js b/dist/chunks/analytics-report-categories~analytics-report-coupons~analytics-report-customers~analytics-report-dow~99eefb40.461e5718e712fc637f8d.min.js
new file mode 100644
index 00000000000..f6cab420cb5
--- /dev/null
+++ b/dist/chunks/analytics-report-categories~analytics-report-coupons~analytics-report-customers~analytics-report-dow~99eefb40.461e5718e712fc637f8d.min.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{119:function(e,t,r){"use strict";var a=r(27),n=r(16),c=r(0);t.a=function(e){var t=e.as,r=void 0===t?"div":t,o=Object(n.a)(e,["as"]);return function(e){var t=e.as,r=void 0===t?"div":t,a=Object(n.a)(e,["as"]);return"function"==typeof a.children?a.children(a):Object(c.createElement)(r,a)}(Object(a.a)({as:r,className:"components-visually-hidden"},o))}},171:function(e,t,r){"use strict";var a=r(0),n=r(10),c=r.n(n),o=r(119);function i(e){var t=e.id,r=e.label,n=e.hideLabelFromVision,s=e.help,l=e.className,u=e.children;return Object(a.createElement)("div",{className:c()("components-base-control",l)},Object(a.createElement)("div",{className:"components-base-control__field"},r&&t&&(n?Object(a.createElement)(o.a,{as:"label",htmlFor:t},r):Object(a.createElement)("label",{className:"components-base-control__label",htmlFor:t},r)),r&&!t&&(n?Object(a.createElement)(o.a,{as:"label"},r):Object(a.createElement)(i.VisualLabel,null,r)),u),!!s&&Object(a.createElement)("p",{id:t+"__help",className:"components-base-control__help"},s))}i.VisualLabel=function(e){var t=e.className,r=e.children;return t=c()("components-base-control__label",t),Object(a.createElement)("span",{className:t},r)},t.a=i},173:function(e,t,r){"use strict";var a=r(11),n=r(0),c=r(53),o=new WeakMap;function i(e){return Object(n.useMemo)((function(){return function(e){var t=o.get(e)||0;return o.set(e,t+1),t}(e)}),[e])}t.a=Object(c.a)((function(e){return function(t){var r=i(e);return Object(n.createElement)(e,Object(a.a)({},t,{instanceId:r}))}}),"withInstanceId")},738:function(e,t,r){"use strict";r.d(t,"d",(function(){return O})),r.d(t,"a",(function(){return v})),r.d(t,"e",(function(){return j})),r.d(t,"c",(function(){return w})),r.d(t,"b",(function(){return k}));var a=r(15),n=r.n(a),c=r(749),o=r.n(c),i=r(2),s=r(12),l=r.n(s),u=r(104),d=r(22),p=r(24),b=r(738);function f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function m(e){for(var t=1;tp.b){for(var b=!0,f=!1,h=[],O=Math.ceil(l.totalResults/p.b),v=1,j=2;j<=O;j++){var w=m({},s,{page:j}),k=a(t,w);if(!c(t,w)){if(n(t,w)){f=!0,b=!1;break}if(h.push(k),++v===O){b=!1;break}}}if(b)return m({},o,{isRequesting:!0});if(f)return m({},o,{isError:!0});Object(i.forEach)(h,(function(e){d=d.concat(e.data.intervals)}))}return m({},o,{data:{totals:u,intervals:d}})}function j(e,t){switch(e){case"currency":return t;case"percent":return".0%";case"number":return",";case"average":return",.2r";default:return","}}function w(e){var t=e.query,r=e.tableQuery,a=void 0===r?{}:r,n=h(e),c=Object(u.f)(t,e.defaultDateRange),o=Object(i.includes)(y,e.endpoint);return m({orderby:t.orderby||"date",order:t.order||"desc",after:o?void 0:Object(u.a)(c.primary.after,"start"),before:o?void 0:Object(u.a)(c.primary.before,"end"),page:t.paged||1,per_page:t.per_page||p.d.pageSize},n,{},a)}function k(e){var t=e.endpoint,r=(0,e.select)("wc-api"),a=r.getReportItems,n=r.getReportItemsError,c=r.isReportItemsRequesting,o=b.c(e),i={query:o,isRequesting:!1,isError:!1,items:{data:[],totalResults:0}},s=a(t,o);return c(t,o)?m({},i,{isRequesting:!0}):n(t,o)?m({},i,{isError:!0}):m({},i,{items:s})}},745:function(e,t,r){"use strict";var a=r(15),n=r.n(a),c=r(41),o=r.n(c),i=r(40),s=r.n(i),l=r(59),u=r.n(l),d=r(44),p=r.n(d),b=r(29),f=r.n(b),m=r(42),h=r.n(m),y=r(0),g=r(1),O=r.n(g),v=r(2),j=r(19),w=r(63),k=r(26),_=r(51),R=r(79),C=r(104),S=r(203);function E(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function D(){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}}var P=function(e){h()(a,e);var t,r=(t=a,function(){var e,r=f()(t);if(D()){var a=f()(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return p()(this,e)});function a(){var e;return o()(this,a),(e=r.call(this)).trackDateSelect=e.trackDateSelect.bind(u()(e)),e.trackFilterSelect=e.trackFilterSelect.bind(u()(e)),e.trackAdvancedFilterAction=e.trackAdvancedFilterAction.bind(u()(e)),e}return s()(a,[{key:"trackDateSelect",value:function(e){var t=this.props.report;Object(R.b)("datepicker_update",function(e){for(var t=1;t0,n=a&&t.length===r.length;return{cellClassName:"is-checkbox-column",key:"compare",label:Object(k.createElement)(_.a,{onChange:this.selectAllRows,"aria-label":Object(q.__)("Select All"),checked:n,disabled:!a}),required:!0}}},{key:"render",value:function(){var e=this,t=this.state.selectedRows,r=this.props,a=r.getHeadersContent,c=r.getRowsContent,i=r.getSummary,l=r.isRequesting,u=r.primaryData,d=r.tableData,p=r.endpoint,b=(r.itemIdField,r.tableQuery,r.userPrefColumns),f=r.compareBy,m=r.searchBy,h=r.labels,y=void 0===h?{}:h,g=o()(r,["getHeadersContent","getRowsContent","getSummary","isRequesting","primaryData","tableData","endpoint","itemIdField","tableQuery","userPrefColumns","compareBy","searchBy","labels"]),O=d.items,v=d.query;if(d.isError||u.isError)return Object(k.createElement)(L.a,{isError:!0});var j=l||d.isRequesting||u.isRequesting,w=Object(P.get)(u,["data","totals"],{}),_=O.totalResults,S=_>0,E=Object(Q.getSearchWords)(this.props.query).map((function(e){return{key:e,label:e}})),D=Object(C.applyFilters)("woocommerce_admin_report_table",{endpoint:p,headers:a(),rows:c(O.data),totals:w,summary:i?i(w,_):null,items:O}),F=D.headers,N=D.rows,A=D.summary;f&&(N=N.map((function(t,r){return[e.getCheckbox(r)].concat(s()(t))})),F=[this.getAllCheckbox()].concat(s()(F)));var B=this.filterShownHeaders(F,b),M=x()("woocommerce-report-table",{"has-compare":!!f,"has-search":!!m});return Object(k.createElement)(k.Fragment,null,Object(k.createElement)("div",{className:"woocommerce-report-table__scroll-point",ref:this.scrollPointRef,"aria-hidden":!0}),Object(k.createElement)(T.TableCard,n()({className:M,actions:[f&&Object(k.createElement)(T.CompareButton,{key:"compare",className:"woocommerce-table__compare",count:t.length,helpText:y.helpText||Object(q.__)("Check at least two items below to compare","woocommerce-admin"),onClick:this.onCompare,disabled:!S},y.compareButton||Object(q.__)("Compare","woocommerce-admin")),m&&Object(k.createElement)(T.Search,{allowFreeTextSearch:!0,inlineTags:!0,key:"search",onChange:this.onSearchChange,placeholder:y.placeholder||Object(q.__)("Search by item name","woocommerce-admin"),selected:E,showClearButton:!0,type:m,disabled:!S}),S&&Object(k.createElement)(R.a,{key:"download",className:"woocommerce-table__download-button",disabled:j,onClick:this.onClickDownload,isLink:!0},Object(k.createElement)(I,null),Object(k.createElement)("span",{className:"woocommerce-table__download-button__label"},y.downloadButton||Object(q.__)("Download","woocommerce-admin")))],headers:B,isLoading:j,onQueryChange:Q.onQueryChange,onColumnsChange:this.onColumnsChange,onSort:this.onSort,onPageChange:this.onPageChange,rows:N,rowsPerPage:parseInt(v.per_page,10)||H.d.pageSize,summary:A,totalRows:_},g)))}}]),a}(k.Component);Y.propTypes={baseSearchQuery:A.a.object,compareBy:A.a.string,compareParam:A.a.string,columnPrefsKey:A.a.string,endpoint:A.a.string,extendItemsMethodNames:A.a.shape({getError:A.a.string,isRequesting:A.a.string,load:A.a.string}),getHeadersContent:A.a.func.isRequired,getRowsContent:A.a.func.isRequired,getSummary:A.a.func,itemIdField:A.a.string,labels:A.a.shape({compareButton:A.a.string,downloadButton:A.a.string,helpText:A.a.string,placeholder:A.a.string}),primaryData:A.a.object,searchBy:A.a.string,summaryFields:A.a.arrayOf(A.a.string),tableData:A.a.object.isRequired,tableQuery:A.a.object,title:A.a.string.isRequired},Y.defaultProps={primaryData:{},tableData:{items:{data:[],totalResults:0},query:{}},tableQuery:{},compareParam:"filter",downloadable:!1,onSearch:P.noop,baseSearchQuery:{}};t.a=Object(S.a)(Object(U.a)((function(e,t){var r=t.endpoint,a=t.getSummary,n=t.isRequesting,c=t.itemIdField,o=t.query,i=t.tableData,s=t.tableQuery,l=t.columnPrefsKey,u=t.filters,d=t.advancedFilters,p=t.summaryFields,b=[];if(l){var f=(0,e("wc-api").getCurrentUserData)();b=f&&f[l]?f[l]:b}if(n||o.search&&(!o[r]||!o[r].length))return{userPrefColumns:b};var m=e(M.SETTINGS_STORE_NAME).getSetting("wc_admin","wcAdminSettings").woocommerce_default_date_range,h=["variations","categories"].includes(r)?"products":r,y=a?Object(V.a)({endpoint:h,dataType:"primary",query:o,select:e,filters:u,advancedFilters:d,tableQuery:s,defaultDateRange:m,fields:p}):{},g=function(e,t,r){var a=t.extendItemsMethodNames,n=t.itemIdField,c=r.items.data;if(!(Array.isArray(c)&&c.length&&a&&n))return r;var o=e("wc-api"),i=o[a.getError],s=o[a.isRequesting],l=o[a.load],u={include:c.map((function(e){return e[n]})).join(","),per_page:c.length},d=l(u),p=!!s&&s(u),b=!!i&&i(u),f=c.map((function(e){var t=Object(P.first)(d.filter((function(t){return e.id===t.id})));return K({},e,{},t)}));return K({},r,{isRequesting:r.isRequesting||p,isError:r.isError||b,items:K({},r.items,{data:f})})}(e,t,i||Object(V.b)({endpoint:r,query:o,select:e,tableQuery:s,filters:u,advancedFilters:d,defaultDateRange:m}));return{primaryData:y,ids:c?g.items.data.map((function(e){return e[c]})):[],tableData:g,query:W({},s,{},o),userPrefColumns:b}})),Object(D.withDispatch)((function(e){var t=e("wc-api");return{initiateReportExport:t.initiateReportExport,updateCurrentUserData:t.updateCurrentUserData}})))(Y)},760:function(e,t,r){"use strict";var a=r(11),n=r(16),c=r(0),o=r(173),i=r(171),s=r(80);t.a=Object(o.a)((function(e){var t=e.label,r=e.className,o=e.heading,l=e.checked,u=e.help,d=e.instanceId,p=e.onChange,b=Object(n.a)(e,["label","className","heading","checked","help","instanceId","onChange"]),f="inspector-checkbox-control-".concat(d);return Object(c.createElement)(i.a,{label:o,id:f,help:u,className:r},Object(c.createElement)("span",{className:"components-checkbox-control__input-container"},Object(c.createElement)("input",Object(a.a)({id:f,className:"components-checkbox-control__input",type:"checkbox",value:"1",onChange:function(e){return p(e.target.checked)},checked:l,"aria-describedby":u?f+"__help":void 0},b)),l?Object(c.createElement)(s.a,{icon:"yes",className:"components-checkbox-control__checked",role:"presentation"}):null),Object(c.createElement)("label",{className:"components-checkbox-control__label",htmlFor:f},t))}))},884:function(e,t,r){}}]);
\ No newline at end of file
diff --git a/dist/chunks/analytics-report-categories~analytics-report-products.e31f660a92b0aaf484ea.js b/dist/chunks/analytics-report-categories~analytics-report-products.e31f660a92b0aaf484ea.js
new file mode 100644
index 00000000000..8edfaf6f8f2
--- /dev/null
+++ b/dist/chunks/analytics-report-categories~analytics-report-products.e31f660a92b0aaf484ea.js
@@ -0,0 +1,1532 @@
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[4],{
+
+/***/ 710:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Spinner; });
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+
+function Spinner() {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("span", {
+ className: "components-spinner"
+ });
+}
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 739:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return getRequestByIdString; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getCategoryLabels; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getCouponLabels; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return getCustomerLabels; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return getProductLabels; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return getTaxRateLabels; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return getVariationLabels; });
+/* harmony import */ var _wordpress_url__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(30);
+/* harmony import */ var _wordpress_url__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_url__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20);
+/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _woocommerce_navigation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(22);
+/* harmony import */ var _woocommerce_navigation__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var analytics_report_taxes_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(740);
+/* harmony import */ var wc_api_constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(24);
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+/**
+ * Get a function that accepts ids as they are found in url parameter and
+ * returns a promise with an optional method applied to results
+ *
+ * @param {string|Function} path - api path string or a function of the query returning api path string
+ * @param {Function} [handleData] - function applied to each iteration of data
+ * @return {Function} - a function of ids returning a promise
+ */
+
+function getRequestByIdString(path) {
+ var handleData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : lodash__WEBPACK_IMPORTED_MODULE_2__["identity"];
+ return function () {
+ var queryString = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
+ var query = arguments.length > 1 ? arguments[1] : undefined;
+ var pathString = typeof path === 'function' ? path(query) : path;
+ var idList = Object(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_3__["getIdsFromQuery"])(queryString);
+
+ if (idList.length < 1) {
+ return Promise.resolve([]);
+ }
+
+ var payload = {
+ include: idList.join(','),
+ per_page: idList.length
+ };
+ return _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_1___default()({
+ path: Object(_wordpress_url__WEBPACK_IMPORTED_MODULE_0__["addQueryArgs"])(pathString, payload)
+ }).then(function (data) {
+ return data.map(handleData);
+ });
+ };
+}
+var getCategoryLabels = getRequestByIdString(wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + '/products/categories', function (category) {
+ return {
+ key: category.id,
+ label: category.name
+ };
+});
+var getCouponLabels = getRequestByIdString(wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + '/coupons', function (coupon) {
+ return {
+ key: coupon.id,
+ label: coupon.code
+ };
+});
+var getCustomerLabels = getRequestByIdString(wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + '/customers', function (customer) {
+ return {
+ key: customer.id,
+ label: customer.name
+ };
+});
+var getProductLabels = getRequestByIdString(wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + '/products', function (product) {
+ return {
+ key: product.id,
+ label: product.name
+ };
+});
+var getTaxRateLabels = getRequestByIdString(wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + '/taxes', function (taxRate) {
+ return {
+ key: taxRate.id,
+ label: Object(analytics_report_taxes_utils__WEBPACK_IMPORTED_MODULE_4__[/* getTaxCode */ "a"])(taxRate)
+ };
+});
+var getVariationLabels = getRequestByIdString(function (query) {
+ return wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + "/products/".concat(query.products, "/variations");
+}, function (variation) {
+ return {
+ key: variation.id,
+ label: variation.attributes.reduce(function (desc, attribute, index, arr) {
+ return desc + "".concat(attribute.option).concat(arr.length === index + 1 ? '' : ', ');
+ }, '')
+ };
+});
+
+/***/ }),
+
+/***/ 740:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getTaxCode; });
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__);
+/**
+ * External dependencies
+ */
+
+function getTaxCode(tax) {
+ return [tax.country, tax.state, tax.name || Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('TAX', 'woocommerce-admin'), tax.priority].map(function (item) {
+ return item.toString().toUpperCase().trim();
+ }).filter(Boolean).join('-');
+}
+
+/***/ }),
+
+/***/ 741:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// UNUSED EXPORTS: ReportChart
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js
+var defineProperty = __webpack_require__(15);
+var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js
+var classCallCheck = __webpack_require__(41);
+var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js
+var createClass = __webpack_require__(40);
+var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(44);
+var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(29);
+var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js
+var inherits = __webpack_require__(42);
+var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: external {"this":["wp","i18n"]}
+var external_this_wp_i18n_ = __webpack_require__(3);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/compose/build-module/higher-order/compose.js
+var compose = __webpack_require__(256);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/date/build-module/index.js
+var build_module = __webpack_require__(172);
+
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__(2);
+
+// EXTERNAL MODULE: ./node_modules/prop-types/index.js
+var prop_types = __webpack_require__(1);
+var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
+
+// EXTERNAL MODULE: ./client/lib/date.js
+var date = __webpack_require__(104);
+
+// EXTERNAL MODULE: external {"this":["wc","components"]}
+var external_this_wc_components_ = __webpack_require__(63);
+
+// EXTERNAL MODULE: external {"this":["wc","data"]}
+var external_this_wc_data_ = __webpack_require__(51);
+
+// EXTERNAL MODULE: ./client/lib/currency-context.js
+var currency_context = __webpack_require__(203);
+
+// EXTERNAL MODULE: ./client/wc-api/reports/utils.js
+var utils = __webpack_require__(738);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-error/index.js
+var report_error = __webpack_require__(261);
+
+// EXTERNAL MODULE: ./client/wc-api/with-select.js
+var with_select = __webpack_require__(101);
+
+// EXTERNAL MODULE: external {"this":["wc","navigation"]}
+var external_this_wc_navigation_ = __webpack_require__(22);
+
+// CONCATENATED MODULE: ./client/analytics/components/report-chart/utils.js
+/**
+ * External dependencies
+ */
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+var DEFAULT_FILTER = 'all';
+function getSelectedFilter(filters, query) {
+ var selectedFilterArgs = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
+
+ if (!filters || filters.length === 0) {
+ return null;
+ }
+
+ var clonedFilters = filters.slice(0);
+ var filterConfig = clonedFilters.pop();
+
+ if (filterConfig.showFilters(query, selectedFilterArgs)) {
+ var allFilters = Object(external_this_wc_navigation_["flattenFilters"])(filterConfig.filters);
+ var value = query[filterConfig.param] || filterConfig.defaultValue || DEFAULT_FILTER;
+ return Object(external_lodash_["find"])(allFilters, {
+ value: value
+ });
+ }
+
+ return getSelectedFilter(clonedFilters, query, selectedFilterArgs);
+}
+function getChartMode(selectedFilter, query) {
+ if (selectedFilter && query) {
+ var selectedFilterParam = Object(external_lodash_["get"])(selectedFilter, ['settings', 'param']);
+
+ if (!selectedFilterParam || Object.keys(query).includes(selectedFilterParam)) {
+ return Object(external_lodash_["get"])(selectedFilter, ['chartMode']);
+ }
+ }
+
+ return null;
+}
+// CONCATENATED MODULE: ./client/analytics/components/report-chart/index.js
+
+
+
+
+
+
+
+
+function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+function _createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+/**
+ * Component that renders the chart in reports.
+ */
+
+var report_chart_ReportChart = /*#__PURE__*/function (_Component) {
+ inherits_default()(ReportChart, _Component);
+
+ var _super = _createSuper(ReportChart);
+
+ function ReportChart() {
+ classCallCheck_default()(this, ReportChart);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(ReportChart, [{
+ key: "shouldComponentUpdate",
+ value: function shouldComponentUpdate(nextProps) {
+ if (nextProps.isRequesting !== this.props.isRequesting || nextProps.primaryData.isRequesting !== this.props.primaryData.isRequesting || nextProps.secondaryData.isRequesting !== this.props.secondaryData.isRequesting || !Object(external_lodash_["isEqual"])(nextProps.query, this.props.query)) {
+ return true;
+ }
+
+ return false;
+ }
+ }, {
+ key: "getItemChartData",
+ value: function getItemChartData() {
+ var _this$props = this.props,
+ primaryData = _this$props.primaryData,
+ selectedChart = _this$props.selectedChart;
+ var chartData = primaryData.data.intervals.map(function (interval) {
+ var intervalData = {};
+ interval.subtotals.segments.forEach(function (segment) {
+ if (segment.segment_label) {
+ var label = intervalData[segment.segment_label] ? segment.segment_label + ' (#' + segment.segment_id + ')' : segment.segment_label;
+ intervalData[segment.segment_id] = {
+ label: label,
+ value: segment.subtotals[selectedChart.key] || 0
+ };
+ }
+ });
+ return _objectSpread({
+ date: Object(build_module["a" /* format */])('Y-m-d\\TH:i:s', interval.date_start)
+ }, intervalData);
+ });
+ return chartData;
+ }
+ }, {
+ key: "getTimeChartData",
+ value: function getTimeChartData() {
+ var _this$props2 = this.props,
+ query = _this$props2.query,
+ primaryData = _this$props2.primaryData,
+ secondaryData = _this$props2.secondaryData,
+ selectedChart = _this$props2.selectedChart,
+ defaultDateRange = _this$props2.defaultDateRange;
+ var currentInterval = Object(date["i" /* getIntervalForQuery */])(query);
+
+ var _getCurrentDates = Object(date["f" /* getCurrentDates */])(query, defaultDateRange),
+ primary = _getCurrentDates.primary,
+ secondary = _getCurrentDates.secondary;
+
+ var chartData = primaryData.data.intervals.map(function (interval, index) {
+ var secondaryDate = Object(date["j" /* getPreviousDate */])(interval.date_start, primary.after, secondary.after, query.compare, currentInterval);
+ var secondaryInterval = secondaryData.data.intervals[index];
+ return {
+ date: Object(build_module["a" /* format */])('Y-m-d\\TH:i:s', interval.date_start),
+ primary: {
+ label: "".concat(primary.label, " (").concat(primary.range, ")"),
+ labelDate: interval.date_start,
+ value: interval.subtotals[selectedChart.key] || 0
+ },
+ secondary: {
+ label: "".concat(secondary.label, " (").concat(secondary.range, ")"),
+ labelDate: secondaryDate.format('YYYY-MM-DD HH:mm:ss'),
+ value: secondaryInterval && secondaryInterval.subtotals[selectedChart.key] || 0
+ }
+ };
+ });
+ return chartData;
+ }
+ }, {
+ key: "getTimeChartTotals",
+ value: function getTimeChartTotals() {
+ var _this$props3 = this.props,
+ primaryData = _this$props3.primaryData,
+ secondaryData = _this$props3.secondaryData,
+ selectedChart = _this$props3.selectedChart;
+ return {
+ primary: Object(external_lodash_["get"])(primaryData, ['data', 'totals', selectedChart.key], null),
+ secondary: Object(external_lodash_["get"])(secondaryData, ['data', 'totals', selectedChart.key], null)
+ };
+ }
+ }, {
+ key: "renderChart",
+ value: function renderChart(mode, isRequesting, chartData, legendTotals) {
+ var _this$props4 = this.props,
+ emptySearchResults = _this$props4.emptySearchResults,
+ filterParam = _this$props4.filterParam,
+ interactiveLegend = _this$props4.interactiveLegend,
+ itemsLabel = _this$props4.itemsLabel,
+ legendPosition = _this$props4.legendPosition,
+ path = _this$props4.path,
+ query = _this$props4.query,
+ selectedChart = _this$props4.selectedChart,
+ showHeaderControls = _this$props4.showHeaderControls,
+ primaryData = _this$props4.primaryData;
+ var currentInterval = Object(date["i" /* getIntervalForQuery */])(query);
+ var allowedIntervals = Object(date["d" /* getAllowedIntervalsForQuery */])(query);
+ var formats = Object(date["g" /* getDateFormatsForInterval */])(currentInterval, primaryData.data.intervals.length);
+ var emptyMessage = emptySearchResults ? Object(external_this_wp_i18n_["__"])('No data for the current search', 'woocommerce-admin') : Object(external_this_wp_i18n_["__"])('No data for the selected date range', 'woocommerce-admin');
+ var _this$context = this.context,
+ formatCurrency = _this$context.formatCurrency,
+ getCurrency = _this$context.getCurrency;
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Chart"], {
+ allowedIntervals: allowedIntervals,
+ data: chartData,
+ dateParser: '%Y-%m-%dT%H:%M:%S',
+ emptyMessage: emptyMessage,
+ filterParam: filterParam,
+ interactiveLegend: interactiveLegend,
+ interval: currentInterval,
+ isRequesting: isRequesting,
+ itemsLabel: itemsLabel,
+ legendPosition: legendPosition,
+ legendTotals: legendTotals,
+ mode: mode,
+ path: path,
+ query: query,
+ screenReaderFormat: formats.screenReaderFormat,
+ showHeaderControls: showHeaderControls,
+ title: selectedChart.label,
+ tooltipLabelFormat: formats.tooltipLabelFormat,
+ tooltipTitle: mode === 'time-comparison' && selectedChart.label || null,
+ tooltipValueFormat: Object(utils["e" /* getTooltipValueFormat */])(selectedChart.type, formatCurrency),
+ chartType: Object(date["e" /* getChartTypeForQuery */])(query),
+ valueType: selectedChart.type,
+ xFormat: formats.xFormat,
+ x2Format: formats.x2Format,
+ currency: getCurrency()
+ });
+ }
+ }, {
+ key: "renderItemComparison",
+ value: function renderItemComparison() {
+ var _this$props5 = this.props,
+ isRequesting = _this$props5.isRequesting,
+ primaryData = _this$props5.primaryData;
+
+ if (primaryData.isError) {
+ return Object(external_this_wp_element_["createElement"])(report_error["a" /* default */], {
+ isError: true
+ });
+ }
+
+ var isChartRequesting = isRequesting || primaryData.isRequesting;
+ var chartData = this.getItemChartData();
+ return this.renderChart('item-comparison', isChartRequesting, chartData);
+ }
+ }, {
+ key: "renderTimeComparison",
+ value: function renderTimeComparison() {
+ var _this$props6 = this.props,
+ isRequesting = _this$props6.isRequesting,
+ primaryData = _this$props6.primaryData,
+ secondaryData = _this$props6.secondaryData;
+
+ if (!primaryData || primaryData.isError || secondaryData.isError) {
+ return Object(external_this_wp_element_["createElement"])(report_error["a" /* default */], {
+ isError: true
+ });
+ }
+
+ var isChartRequesting = isRequesting || primaryData.isRequesting || secondaryData.isRequesting;
+ var chartData = this.getTimeChartData();
+ var legendTotals = this.getTimeChartTotals();
+ return this.renderChart('time-comparison', isChartRequesting, chartData, legendTotals);
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var mode = this.props.mode;
+
+ if (mode === 'item-comparison') {
+ return this.renderItemComparison();
+ }
+
+ return this.renderTimeComparison();
+ }
+ }]);
+
+ return ReportChart;
+}(external_this_wp_element_["Component"]);
+report_chart_ReportChart.contextType = currency_context["a" /* CurrencyContext */];
+report_chart_ReportChart.propTypes = {
+ /**
+ * Filters available for that report.
+ */
+ filters: prop_types_default.a.array,
+
+ /**
+ * Whether there is an API call running.
+ */
+ isRequesting: prop_types_default.a.bool,
+
+ /**
+ * Label describing the legend items.
+ */
+ itemsLabel: prop_types_default.a.string,
+
+ /**
+ * Allows specifying properties different from the `endpoint` that will be used
+ * to limit the items when there is an active search.
+ */
+ limitProperties: prop_types_default.a.array,
+
+ /**
+ * `items-comparison` (default) or `time-comparison`, this is used to generate correct
+ * ARIA properties.
+ */
+ mode: prop_types_default.a.string,
+
+ /**
+ * Current path
+ */
+ path: prop_types_default.a.string.isRequired,
+
+ /**
+ * Primary data to display in the chart.
+ */
+ primaryData: prop_types_default.a.object,
+
+ /**
+ * The query string represented in object form.
+ */
+ query: prop_types_default.a.object.isRequired,
+
+ /**
+ * Secondary data to display in the chart.
+ */
+ secondaryData: prop_types_default.a.object,
+
+ /**
+ * Properties of the selected chart.
+ */
+ selectedChart: prop_types_default.a.shape({
+ /**
+ * Key of the selected chart.
+ */
+ key: prop_types_default.a.string.isRequired,
+
+ /**
+ * Chart label.
+ */
+ label: prop_types_default.a.string.isRequired,
+
+ /**
+ * Order query argument.
+ */
+ order: prop_types_default.a.oneOf(['asc', 'desc']),
+
+ /**
+ * Order by query argument.
+ */
+ orderby: prop_types_default.a.string,
+
+ /**
+ * Number type for formatting.
+ */
+ type: prop_types_default.a.oneOf(['average', 'number', 'currency']).isRequired
+ }).isRequired
+};
+report_chart_ReportChart.defaultProps = {
+ isRequesting: false,
+ primaryData: {
+ data: {
+ intervals: []
+ },
+ isError: false,
+ isRequesting: false
+ },
+ secondaryData: {
+ data: {
+ intervals: []
+ },
+ isError: false,
+ isRequesting: false
+ }
+};
+/* harmony default export */ var report_chart = __webpack_exports__["a"] = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select, props) {
+ var charts = props.charts,
+ endpoint = props.endpoint,
+ filters = props.filters,
+ isRequesting = props.isRequesting,
+ limitProperties = props.limitProperties,
+ query = props.query,
+ advancedFilters = props.advancedFilters;
+ var limitBy = limitProperties || [endpoint];
+ var selectedFilter = getSelectedFilter(filters, query);
+ var filterParam = Object(external_lodash_["get"])(selectedFilter, ['settings', 'param']);
+ var chartMode = props.mode || getChartMode(selectedFilter, query) || 'time-comparison';
+
+ var _select$getSetting = select(external_this_wc_data_["SETTINGS_STORE_NAME"]).getSetting('wc_admin', 'wcAdminSettings'),
+ defaultDateRange = _select$getSetting.woocommerce_default_date_range;
+
+ var newProps = {
+ mode: chartMode,
+ filterParam: filterParam,
+ defaultDateRange: defaultDateRange
+ };
+
+ if (isRequesting) {
+ return newProps;
+ }
+
+ var hasLimitByParam = limitBy.some(function (item) {
+ return query[item] && query[item].length;
+ });
+
+ if (query.search && !hasLimitByParam) {
+ return _objectSpread({}, newProps, {
+ emptySearchResults: true
+ });
+ }
+
+ var fields = charts && charts.map(function (chart) {
+ return chart.key;
+ });
+ var primaryData = Object(utils["a" /* getReportChartData */])({
+ endpoint: endpoint,
+ dataType: 'primary',
+ query: query,
+ select: select,
+ limitBy: limitBy,
+ filters: filters,
+ advancedFilters: advancedFilters,
+ defaultDateRange: defaultDateRange,
+ fields: fields
+ });
+
+ if (chartMode === 'item-comparison') {
+ return _objectSpread({}, newProps, {
+ primaryData: primaryData
+ });
+ }
+
+ var secondaryData = Object(utils["a" /* getReportChartData */])({
+ endpoint: endpoint,
+ dataType: 'secondary',
+ query: query,
+ select: select,
+ limitBy: limitBy,
+ filters: filters,
+ advancedFilters: advancedFilters,
+ defaultDateRange: defaultDateRange,
+ fields: fields
+ });
+ return _objectSpread({}, newProps, {
+ primaryData: primaryData,
+ secondaryData: secondaryData
+ });
+}))(report_chart_ReportChart));
+
+/***/ }),
+
+/***/ 743:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getSelectedChart; });
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__);
+/**
+ * External dependencies
+ */
+
+/**
+ * Takes a chart name returns the configuration for that chart from and array
+ * of charts. If the chart is not found it will return the first chart.
+ *
+ * @param {string} chartName - the name of the chart to get configuration for
+ * @param {Array} charts - list of charts for a particular report
+ * @return {Object} - chart configuration object
+ */
+
+function getSelectedChart(chartName) {
+ var charts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
+ var chart = Object(lodash__WEBPACK_IMPORTED_MODULE_0__["find"])(charts, {
+ key: chartName
+ });
+
+ if (chart) {
+ return chart;
+ }
+
+ return charts[0];
+}
+
+/***/ }),
+
+/***/ 744:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export ReportSummary */
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(41);
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(40);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(44);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(29);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(42);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(3);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(256);
+/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(1);
+/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);
+/* harmony import */ var lib_date__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(104);
+/* harmony import */ var _woocommerce_navigation__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(22);
+/* harmony import */ var _woocommerce_navigation__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_10__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_11__);
+/* harmony import */ var _woocommerce_number__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(204);
+/* harmony import */ var _woocommerce_number__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_number__WEBPACK_IMPORTED_MODULE_12__);
+/* harmony import */ var _woocommerce_data__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(51);
+/* harmony import */ var _woocommerce_data__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_data__WEBPACK_IMPORTED_MODULE_13__);
+/* harmony import */ var wc_api_reports_utils__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(738);
+/* harmony import */ var analytics_components_report_error__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(261);
+/* harmony import */ var wc_api_with_select__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(101);
+/* harmony import */ var lib_tracks__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(79);
+/* harmony import */ var lib_currency_context__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(203);
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+/**
+ * Component to render summary numbers in reports.
+ */
+
+var ReportSummary = /*#__PURE__*/function (_Component) {
+ _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(ReportSummary, _Component);
+
+ var _super = _createSuper(ReportSummary);
+
+ function ReportSummary() {
+ _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, ReportSummary);
+
+ return _super.apply(this, arguments);
+ }
+
+ _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(ReportSummary, [{
+ key: "formatVal",
+ value: function formatVal(val, type) {
+ var _this$context = this.context,
+ formatCurrency = _this$context.formatCurrency,
+ getCurrency = _this$context.getCurrency;
+ return type === 'currency' ? formatCurrency(val) : Object(_woocommerce_number__WEBPACK_IMPORTED_MODULE_12__["formatValue"])(getCurrency(), type, val);
+ }
+ }, {
+ key: "getValues",
+ value: function getValues(key, type) {
+ var _this$props = this.props,
+ emptySearchResults = _this$props.emptySearchResults,
+ summaryData = _this$props.summaryData;
+ var totals = summaryData.totals;
+ var primaryValue = emptySearchResults ? 0 : totals.primary[key];
+ var secondaryValue = emptySearchResults ? 0 : totals.secondary[key];
+ return {
+ delta: Object(_woocommerce_number__WEBPACK_IMPORTED_MODULE_12__["calculateDelta"])(primaryValue, secondaryValue),
+ prevValue: this.formatVal(secondaryValue, type),
+ value: this.formatVal(primaryValue, type)
+ };
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this = this;
+
+ var _this$props2 = this.props,
+ charts = _this$props2.charts,
+ isRequesting = _this$props2.isRequesting,
+ query = _this$props2.query,
+ selectedChart = _this$props2.selectedChart,
+ summaryData = _this$props2.summaryData,
+ endpoint = _this$props2.endpoint,
+ report = _this$props2.report,
+ defaultDateRange = _this$props2.defaultDateRange;
+ var isError = summaryData.isError,
+ isSummaryDataRequesting = summaryData.isRequesting;
+
+ if (isError) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(analytics_components_report_error__WEBPACK_IMPORTED_MODULE_15__[/* default */ "a"], {
+ isError: true
+ });
+ }
+
+ if (isRequesting || isSummaryDataRequesting) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_11__["SummaryListPlaceholder"], {
+ numberOfItems: charts.length
+ });
+ }
+
+ var _getDateParamsFromQue = Object(lib_date__WEBPACK_IMPORTED_MODULE_9__[/* getDateParamsFromQuery */ "h"])(query, defaultDateRange),
+ compare = _getDateParamsFromQue.compare;
+
+ var renderSummaryNumbers = function renderSummaryNumbers(_ref) {
+ var onToggle = _ref.onToggle;
+ return charts.map(function (chart) {
+ var key = chart.key,
+ order = chart.order,
+ orderby = chart.orderby,
+ label = chart.label,
+ type = chart.type;
+ var newPath = {
+ chart: key
+ };
+
+ if (orderby) {
+ newPath.orderby = orderby;
+ }
+
+ if (order) {
+ newPath.order = order;
+ }
+
+ var href = Object(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_10__["getNewPath"])(newPath);
+ var isSelected = selectedChart.key === key;
+
+ var _this$getValues = _this.getValues(key, type),
+ delta = _this$getValues.delta,
+ prevValue = _this$getValues.prevValue,
+ value = _this$getValues.value;
+
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_11__["SummaryNumber"], {
+ key: key,
+ delta: delta,
+ href: href,
+ label: label,
+ prevLabel: compare === 'previous_period' ? Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('Previous Period:', 'woocommerce-admin') : Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('Previous Year:', 'woocommerce-admin'),
+ prevValue: prevValue,
+ selected: isSelected,
+ value: value,
+ onLinkClickCallback: function onLinkClickCallback() {
+ // Wider than a certain breakpoint, there is no dropdown so avoid calling onToggle.
+ if (onToggle) {
+ onToggle();
+ }
+
+ Object(lib_tracks__WEBPACK_IMPORTED_MODULE_17__[/* recordEvent */ "b"])('analytics_chart_tab_click', {
+ report: report || endpoint,
+ key: key
+ });
+ }
+ });
+ });
+ };
+
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_11__["SummaryList"], null, renderSummaryNumbers);
+ }
+ }]);
+
+ return ReportSummary;
+}(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["Component"]);
+ReportSummary.propTypes = {
+ /**
+ * Properties of all the charts available for that report.
+ */
+ charts: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.array.isRequired,
+
+ /**
+ * The endpoint to use in API calls to populate the Summary Numbers.
+ * For example, if `taxes` is provided, data will be fetched from the report
+ * `taxes` endpoint (ie: `/wc-analytics/reports/taxes/stats`). If the provided endpoint
+ * doesn't exist, an error will be shown to the user with `ReportError`.
+ */
+ endpoint: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string.isRequired,
+
+ /**
+ * Allows specifying properties different from the `endpoint` that will be used
+ * to limit the items when there is an active search.
+ */
+ limitProperties: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.array,
+
+ /**
+ * The query string represented in object form.
+ */
+ query: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.object.isRequired,
+
+ /**
+ * Whether there is an API call running.
+ */
+ isRequesting: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.bool,
+
+ /**
+ * Properties of the selected chart.
+ */
+ selectedChart: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.shape({
+ /**
+ * Key of the selected chart.
+ */
+ key: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string.isRequired,
+
+ /**
+ * Chart label.
+ */
+ label: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string.isRequired,
+
+ /**
+ * Order query argument.
+ */
+ order: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.oneOf(['asc', 'desc']),
+
+ /**
+ * Order by query argument.
+ */
+ orderby: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string,
+
+ /**
+ * Number type for formatting.
+ */
+ type: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.oneOf(['average', 'number', 'currency']).isRequired
+ }).isRequired,
+
+ /**
+ * Data to display in the SummaryNumbers.
+ */
+ summaryData: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.object,
+
+ /**
+ * Report name, if different than the endpoint.
+ */
+ report: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string
+};
+ReportSummary.defaultProps = {
+ summaryData: {
+ totals: {
+ primary: {},
+ secondary: {}
+ },
+ isError: false,
+ isRequesting: false
+ }
+};
+ReportSummary.contextType = lib_currency_context__WEBPACK_IMPORTED_MODULE_18__[/* CurrencyContext */ "a"];
+/* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_7__[/* default */ "a"])(Object(wc_api_with_select__WEBPACK_IMPORTED_MODULE_16__[/* default */ "a"])(function (select, props) {
+ var charts = props.charts,
+ endpoint = props.endpoint,
+ isRequesting = props.isRequesting,
+ limitProperties = props.limitProperties,
+ query = props.query,
+ filters = props.filters,
+ advancedFilters = props.advancedFilters;
+ var limitBy = limitProperties || [endpoint];
+
+ if (isRequesting) {
+ return {};
+ }
+
+ var hasLimitByParam = limitBy.some(function (item) {
+ return query[item] && query[item].length;
+ });
+
+ if (query.search && !hasLimitByParam) {
+ return {
+ emptySearchResults: true
+ };
+ }
+
+ var fields = charts && charts.map(function (chart) {
+ return chart.key;
+ });
+
+ var _select$getSetting = select(_woocommerce_data__WEBPACK_IMPORTED_MODULE_13__["SETTINGS_STORE_NAME"]).getSetting('wc_admin', 'wcAdminSettings'),
+ defaultDateRange = _select$getSetting.woocommerce_default_date_range;
+
+ var summaryData = Object(wc_api_reports_utils__WEBPACK_IMPORTED_MODULE_14__[/* getSummaryNumbers */ "d"])({
+ endpoint: endpoint,
+ query: query,
+ select: select,
+ limitBy: limitBy,
+ filters: filters,
+ advancedFilters: advancedFilters,
+ defaultDateRange: defaultDateRange,
+ fields: fields
+ });
+ return {
+ summaryData: summaryData,
+ defaultDateRange: defaultDateRange
+ };
+}))(ReportSummary));
+
+/***/ }),
+
+/***/ 775:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(41);
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(40);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59);
+/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(44);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(29);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(42);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(3);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_7__);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(256);
+/* harmony import */ var _wordpress_html_entities__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(69);
+/* harmony import */ var _wordpress_html_entities__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_9__);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_10__);
+/* harmony import */ var _woocommerce_navigation__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(22);
+/* harmony import */ var _woocommerce_navigation__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_11__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_12__);
+/* harmony import */ var _woocommerce_number__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(204);
+/* harmony import */ var _woocommerce_number__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_number__WEBPACK_IMPORTED_MODULE_13__);
+/* harmony import */ var _woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(26);
+/* harmony import */ var _categories_breadcrumbs__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(776);
+/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(777);
+/* harmony import */ var analytics_components_report_table__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(746);
+/* harmony import */ var wc_api_with_select__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(101);
+/* harmony import */ var lib_currency_context__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(203);
+/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(885);
+/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_20__);
+
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+var manageStock = Object(_woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_14__[/* getSetting */ "g"])('manageStock', 'no');
+var stockStatuses = Object(_woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_14__[/* getSetting */ "g"])('stockStatuses', {});
+
+var ProductsReportTable = /*#__PURE__*/function (_Component) {
+ _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(ProductsReportTable, _Component);
+
+ var _super = _createSuper(ProductsReportTable);
+
+ function ProductsReportTable() {
+ var _this;
+
+ _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, ProductsReportTable);
+
+ _this = _super.call(this);
+ _this.getHeadersContent = _this.getHeadersContent.bind(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_2___default()(_this));
+ _this.getRowsContent = _this.getRowsContent.bind(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_2___default()(_this));
+ _this.getSummary = _this.getSummary.bind(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_2___default()(_this));
+ return _this;
+ }
+
+ _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(ProductsReportTable, [{
+ key: "getHeadersContent",
+ value: function getHeadersContent() {
+ return [{
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_7__["__"])('Product Title', 'woocommerce-admin'),
+ key: 'product_name',
+ required: true,
+ isLeftAligned: true,
+ isSortable: true
+ }, {
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_7__["__"])('SKU', 'woocommerce-admin'),
+ key: 'sku',
+ hiddenByDefault: true,
+ isSortable: true
+ }, {
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_7__["__"])('Items Sold', 'woocommerce-admin'),
+ key: 'items_sold',
+ required: true,
+ defaultSort: true,
+ isSortable: true,
+ isNumeric: true
+ }, {
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_7__["__"])('Net Sales', 'woocommerce-admin'),
+ screenReaderLabel: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_7__["__"])('Net Sales', 'woocommerce-admin'),
+ key: 'net_revenue',
+ required: true,
+ isSortable: true,
+ isNumeric: true
+ }, {
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_7__["__"])('Orders', 'woocommerce-admin'),
+ key: 'orders_count',
+ isSortable: true,
+ isNumeric: true
+ }, {
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_7__["__"])('Category', 'woocommerce-admin'),
+ key: 'product_cat'
+ }, {
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_7__["__"])('Variations', 'woocommerce-admin'),
+ key: 'variations',
+ isSortable: true
+ }, manageStock === 'yes' ? {
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_7__["__"])('Status', 'woocommerce-admin'),
+ key: 'stock_status'
+ } : null, manageStock === 'yes' ? {
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_7__["__"])('Stock', 'woocommerce-admin'),
+ key: 'stock',
+ isNumeric: true
+ } : null].filter(Boolean);
+ }
+ }, {
+ key: "getRowsContent",
+ value: function getRowsContent() {
+ var _this2 = this;
+
+ var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
+ var query = this.props.query;
+ var persistedQuery = Object(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_11__["getPersistedQuery"])(query);
+ var _this$context = this.context,
+ renderCurrency = _this$context.render,
+ getCurrencyFormatDecimal = _this$context.formatDecimal,
+ getCurrency = _this$context.getCurrency;
+ var currency = getCurrency();
+ return Object(lodash__WEBPACK_IMPORTED_MODULE_10__["map"])(data, function (row) {
+ var productId = row.product_id,
+ itemsSold = row.items_sold,
+ netRevenue = row.net_revenue,
+ ordersCount = row.orders_count;
+ var extendedInfo = row.extended_info || {};
+ var categoryIds = extendedInfo.category_ids,
+ lowStockAmount = extendedInfo.low_stock_amount,
+ extendedInfoManageStock = extendedInfo.manage_stock,
+ sku = extendedInfo.sku,
+ extendedInfoStockStatus = extendedInfo.stock_status,
+ stockQuantity = extendedInfo.stock_quantity,
+ _extendedInfo$variati = extendedInfo.variations,
+ variations = _extendedInfo$variati === void 0 ? [] : _extendedInfo$variati;
+ var name = Object(_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_9__["decodeEntities"])(extendedInfo.name);
+ var ordersLink = Object(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_11__["getNewPath"])(persistedQuery, '/analytics/orders', {
+ filter: 'advanced',
+ product_includes: productId
+ });
+ var productDetailLink = Object(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_11__["getNewPath"])(persistedQuery, '/analytics/products', {
+ filter: 'single_product',
+ products: productId
+ });
+ var categories = _this2.props.categories;
+ var productCategories = categoryIds && categoryIds.map(function (categoryId) {
+ return categories.get(categoryId);
+ }).filter(Boolean) || [];
+ var stockStatus = Object(_utils__WEBPACK_IMPORTED_MODULE_16__[/* isLowStock */ "a"])(extendedInfoStockStatus, stockQuantity, lowStockAmount) ? Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_12__["Link"], {
+ href: Object(_woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_14__[/* getAdminLink */ "f"])('post.php?action=edit&post=' + productId),
+ type: "wp-admin"
+ }, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_7__["_x"])('Low', 'Indication of a low quantity', 'woocommerce-admin')) : stockStatuses[extendedInfoStockStatus];
+ return [{
+ display: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_12__["Link"], {
+ href: productDetailLink,
+ type: "wc-admin"
+ }, name),
+ value: name
+ }, {
+ display: sku,
+ value: sku
+ }, {
+ display: Object(_woocommerce_number__WEBPACK_IMPORTED_MODULE_13__["formatValue"])(currency, 'number', itemsSold),
+ value: itemsSold
+ }, {
+ display: renderCurrency(netRevenue),
+ value: getCurrencyFormatDecimal(netRevenue)
+ }, {
+ display: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_12__["Link"], {
+ href: ordersLink,
+ type: "wc-admin"
+ }, ordersCount),
+ value: ordersCount
+ }, {
+ display: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["createElement"])("div", {
+ className: "woocommerce-table__product-categories"
+ }, productCategories[0] && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["createElement"])(_categories_breadcrumbs__WEBPACK_IMPORTED_MODULE_15__[/* default */ "a"], {
+ category: productCategories[0],
+ categories: categories
+ }), productCategories.length > 1 && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_12__["Tag"], {
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_7__["sprintf"])(Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_7__["_x"])('+%d more', 'categories', 'woocommerce-admin'), productCategories.length - 1),
+ popoverContents: productCategories.map(function (category) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["createElement"])(_categories_breadcrumbs__WEBPACK_IMPORTED_MODULE_15__[/* default */ "a"], {
+ category: category,
+ categories: categories,
+ key: category.id,
+ query: query
+ });
+ })
+ })),
+ value: productCategories.map(function (category) {
+ return category.name;
+ }).join(', ')
+ }, {
+ display: Object(_woocommerce_number__WEBPACK_IMPORTED_MODULE_13__["formatValue"])(currency, 'number', variations.length),
+ value: variations.length
+ }, manageStock === 'yes' ? {
+ display: extendedInfoManageStock ? stockStatus : Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_7__["__"])('N/A', 'woocommerce-admin'),
+ value: extendedInfoManageStock ? stockStatuses[extendedInfoStockStatus] : null
+ } : null, manageStock === 'yes' ? {
+ display: extendedInfoManageStock ? Object(_woocommerce_number__WEBPACK_IMPORTED_MODULE_13__["formatValue"])(currency, 'number', stockQuantity) : Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_7__["__"])('N/A', 'woocommerce-admin'),
+ value: stockQuantity
+ } : null].filter(Boolean);
+ });
+ }
+ }, {
+ key: "getSummary",
+ value: function getSummary(totals) {
+ var _totals$products_coun = totals.products_count,
+ productsCount = _totals$products_coun === void 0 ? 0 : _totals$products_coun,
+ _totals$items_sold = totals.items_sold,
+ itemsSold = _totals$items_sold === void 0 ? 0 : _totals$items_sold,
+ _totals$net_revenue = totals.net_revenue,
+ netRevenue = _totals$net_revenue === void 0 ? 0 : _totals$net_revenue,
+ _totals$orders_count = totals.orders_count,
+ ordersCount = _totals$orders_count === void 0 ? 0 : _totals$orders_count;
+ var _this$context2 = this.context,
+ formatCurrency = _this$context2.formatCurrency,
+ getCurrency = _this$context2.getCurrency;
+ var currency = getCurrency();
+ return [{
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_7__["_n"])('product', 'products', productsCount, 'woocommerce-admin'),
+ value: Object(_woocommerce_number__WEBPACK_IMPORTED_MODULE_13__["formatValue"])(currency, 'number', productsCount)
+ }, {
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_7__["_n"])('item sold', 'items sold', itemsSold, 'woocommerce-admin'),
+ value: Object(_woocommerce_number__WEBPACK_IMPORTED_MODULE_13__["formatValue"])(currency, 'number', itemsSold)
+ }, {
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_7__["__"])('net sales', 'woocommerce-admin'),
+ value: formatCurrency(netRevenue)
+ }, {
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_7__["_n"])('orders', 'orders', ordersCount, 'woocommerce-admin'),
+ value: Object(_woocommerce_number__WEBPACK_IMPORTED_MODULE_13__["formatValue"])(currency, 'number', ordersCount)
+ }];
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ advancedFilters = _this$props.advancedFilters,
+ baseSearchQuery = _this$props.baseSearchQuery,
+ filters = _this$props.filters,
+ hideCompare = _this$props.hideCompare,
+ isRequesting = _this$props.isRequesting,
+ query = _this$props.query;
+ var labels = {
+ helpText: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_7__["__"])('Check at least two products below to compare', 'woocommerce-admin'),
+ placeholder: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_7__["__"])('Search by product name or SKU', 'woocommerce-admin')
+ };
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["createElement"])(analytics_components_report_table__WEBPACK_IMPORTED_MODULE_17__[/* default */ "a"], {
+ compareBy: hideCompare ? undefined : 'products',
+ endpoint: "products",
+ getHeadersContent: this.getHeadersContent,
+ getRowsContent: this.getRowsContent,
+ getSummary: this.getSummary,
+ summaryFields: ['products_count', 'items_sold', 'net_revenue', 'orders_count'],
+ itemIdField: "product_id",
+ isRequesting: isRequesting,
+ labels: labels,
+ query: query,
+ searchBy: "products",
+ baseSearchQuery: baseSearchQuery,
+ tableQuery: {
+ orderby: query.orderby || 'items_sold',
+ order: query.order || 'desc',
+ extended_info: true,
+ segmentby: query.segmentby
+ },
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_7__["__"])('Products', 'woocommerce-admin'),
+ columnPrefsKey: "products_report_columns",
+ filters: filters,
+ advancedFilters: advancedFilters
+ });
+ }
+ }]);
+
+ return ProductsReportTable;
+}(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["Component"]);
+
+ProductsReportTable.contextType = lib_currency_context__WEBPACK_IMPORTED_MODULE_19__[/* CurrencyContext */ "a"];
+/* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_8__[/* default */ "a"])(Object(wc_api_with_select__WEBPACK_IMPORTED_MODULE_18__[/* default */ "a"])(function (select, props) {
+ var query = props.query,
+ isRequesting = props.isRequesting;
+
+ if (isRequesting || query.search && !(query.products && query.products.length)) {
+ return {};
+ }
+
+ var _select = select('wc-api'),
+ getItems = _select.getItems,
+ getItemsError = _select.getItemsError,
+ isGetItemsRequesting = _select.isGetItemsRequesting;
+
+ var tableQuery = {
+ per_page: -1
+ };
+ var categories = getItems('categories', tableQuery);
+ var isError = Boolean(getItemsError('categories', tableQuery));
+ var isLoading = isGetItemsRequesting('categories', tableQuery);
+ return {
+ categories: categories,
+ isError: isError,
+ isRequesting: isLoading
+ };
+}))(ProductsReportTable));
+
+/***/ }),
+
+/***/ 776:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return CategoryBreadcrumbs; });
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(41);
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(40);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(44);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(29);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(42);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_6__);
+/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(710);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_8__);
+/* harmony import */ var _woocommerce_navigation__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(22);
+/* harmony import */ var _woocommerce_navigation__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_9__);
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+var CategoryBreadcrumbs = /*#__PURE__*/function (_Component) {
+ _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(CategoryBreadcrumbs, _Component);
+
+ var _super = _createSuper(CategoryBreadcrumbs);
+
+ function CategoryBreadcrumbs() {
+ _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, CategoryBreadcrumbs);
+
+ return _super.apply(this, arguments);
+ }
+
+ _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(CategoryBreadcrumbs, [{
+ key: "getCategoryAncestorIds",
+ value: function getCategoryAncestorIds(category, categories) {
+ var ancestors = [];
+ var parent = category.parent;
+
+ while (parent) {
+ ancestors.unshift(parent);
+ parent = categories.get(parent).parent;
+ }
+
+ return ancestors;
+ }
+ }, {
+ key: "getCategoryAncestors",
+ value: function getCategoryAncestors(category, categories) {
+ var ancestorIds = this.getCategoryAncestorIds(category, categories);
+
+ if (!ancestorIds.length) {
+ return;
+ }
+
+ if (ancestorIds.length === 1) {
+ return categories.get(Object(lodash__WEBPACK_IMPORTED_MODULE_6__["first"])(ancestorIds)).name + ' › ';
+ }
+
+ if (ancestorIds.length === 2) {
+ return categories.get(Object(lodash__WEBPACK_IMPORTED_MODULE_6__["first"])(ancestorIds)).name + ' › ' + categories.get(Object(lodash__WEBPACK_IMPORTED_MODULE_6__["last"])(ancestorIds)).name + ' › ';
+ }
+
+ return categories.get(Object(lodash__WEBPACK_IMPORTED_MODULE_6__["first"])(ancestorIds)).name + ' … ' + categories.get(Object(lodash__WEBPACK_IMPORTED_MODULE_6__["last"])(ancestorIds)).name + ' › ';
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ categories = _this$props.categories,
+ category = _this$props.category,
+ query = _this$props.query;
+ var persistedQuery = Object(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_9__["getPersistedQuery"])(query);
+ return category ? Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])("div", {
+ className: "woocommerce-table__breadcrumbs"
+ }, this.getCategoryAncestors(category, categories), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_8__["Link"], {
+ href: Object(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_9__["getNewPath"])(persistedQuery, '/analytics/categories', {
+ filter: 'single_category',
+ categories: category.id
+ }),
+ type: "wc-admin"
+ }, category.name)) : Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_7__[/* default */ "a"], null);
+ }
+ }]);
+
+ return CategoryBreadcrumbs;
+}(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["Component"]);
+
+
+
+/***/ }),
+
+/***/ 777:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return isLowStock; });
+/**
+ * Determine if a product or variation is in low stock.
+ *
+ * @param {number} threshold - The number at which stock is determined to be low.
+ * @return {boolean} - Whether or not the stock is low.
+ */
+function isLowStock(status, quantity, threshold) {
+ if (!quantity) {
+ // Sites that don't do inventory tracking will always return false.
+ return false;
+ }
+
+ return status && quantity <= threshold === 'instock';
+}
+
+/***/ }),
+
+/***/ 885:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ })
+
+}]);
\ No newline at end of file
diff --git a/dist/chunks/analytics-report-categories~analytics-report-products.e31f660a92b0aaf484ea.min.js b/dist/chunks/analytics-report-categories~analytics-report-products.e31f660a92b0aaf484ea.min.js
new file mode 100644
index 00000000000..585049c37de
--- /dev/null
+++ b/dist/chunks/analytics-report-categories~analytics-report-products.e31f660a92b0aaf484ea.min.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{710:function(e,t,r){"use strict";r.d(t,"a",(function(){return n}));var a=r(0);function n(){return Object(a.createElement)("span",{className:"components-spinner"})}},739:function(e,t,r){"use strict";r.d(t,"e",(function(){return l})),r.d(t,"a",(function(){return d})),r.d(t,"b",(function(){return m})),r.d(t,"c",(function(){return f})),r.d(t,"d",(function(){return p})),r.d(t,"f",(function(){return y})),r.d(t,"g",(function(){return b}));var a=r(30),n=r(20),o=r.n(n),i=r(2),c=r(22),s=r(740),u=r(24);function l(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.identity;return function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=arguments.length>1?arguments[1]:void 0,i="function"==typeof e?e(n):e,s=Object(c.getIdsFromQuery)(r);if(s.length<1)return Promise.resolve([]);var u={include:s.join(","),per_page:s.length};return o()({path:Object(a.addQueryArgs)(i,u)}).then((function(e){return e.map(t)}))}}var d=l(u.c+"/products/categories",(function(e){return{key:e.id,label:e.name}})),m=l(u.c+"/coupons",(function(e){return{key:e.id,label:e.code}})),f=l(u.c+"/customers",(function(e){return{key:e.id,label:e.name}})),p=l(u.c+"/products",(function(e){return{key:e.id,label:e.name}})),y=l(u.c+"/taxes",(function(e){return{key:e.id,label:Object(s.a)(e)}})),b=l((function(e){return u.c+"/products/".concat(e.products,"/variations")}),(function(e){return{key:e.id,label:e.attributes.reduce((function(e,t,r,a){return e+"".concat(t.option).concat(a.length===r+1?"":", ")}),"")}}))},740:function(e,t,r){"use strict";r.d(t,"a",(function(){return n}));var a=r(3);function n(e){return[e.country,e.state,e.name||Object(a.__)("TAX","woocommerce-admin"),e.priority].map((function(e){return e.toString().toUpperCase().trim()})).filter(Boolean).join("-")}},741:function(e,t,r){"use strict";var a=r(15),n=r.n(a),o=r(41),i=r.n(o),c=r(40),s=r.n(c),u=r(44),l=r.n(u),d=r(29),m=r.n(d),f=r(42),p=r.n(f),y=r(0),b=r(3),g=r(256),h=r(172),v=r(2),O=r(1),j=r.n(O),_=r(104),R=r(63),k=r(51),w=r(203),q=r(738),C=r(261),D=r(101),S=r(22);function E(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function P(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:{};if(!t||0===t.length)return null;var n=t.slice(0),o=n.pop();if(o.showFilters(r,a)){var i=Object(S.flattenFilters)(o.filters),c=r[o.param]||o.defaultValue||"all";return Object(v.find)(i,{value:c})}return e(n,r,a)}(n,c),d=Object(v.get)(l,["settings","param"]),m=t.mode||function(e,t){if(e&&t){var r=Object(v.get)(e,["settings","param"]);if(!r||Object.keys(t).includes(r))return Object(v.get)(e,["chartMode"])}return null}(l,c)||"time-comparison",f=e(k.SETTINGS_STORE_NAME).getSetting("wc_admin","wcAdminSettings").woocommerce_default_date_range,p={mode:m,filterParam:d,defaultDateRange:f};if(o)return p;var y=u.some((function(e){return c[e]&&c[e].length}));if(c.search&&!y)return P({},p,{emptySearchResults:!0});var b=r&&r.map((function(e){return e.key})),g=Object(q.a)({endpoint:a,dataType:"primary",query:c,select:e,limitBy:u,filters:n,advancedFilters:s,defaultDateRange:f,fields:b});return P({},p,"item-comparison"===m?{primaryData:g}:{primaryData:g,secondaryData:Object(q.a)({endpoint:a,dataType:"secondary",query:c,select:e,limitBy:u,filters:n,advancedFilters:s,defaultDateRange:f,fields:b})})})))(N)},743:function(e,t,r){"use strict";r.d(t,"a",(function(){return n}));var a=r(2);function n(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=Object(a.find)(t,{key:e});return r||t[0]}},744:function(e,t,r){"use strict";var a=r(41),n=r.n(a),o=r(40),i=r.n(o),c=r(44),s=r.n(c),u=r(29),l=r.n(u),d=r(42),m=r.n(d),f=r(0),p=r(3),y=r(256),b=r(1),g=r.n(b),h=r(104),v=r(22),O=r(63),j=r(204),_=r(51),R=r(738),k=r(261),w=r(101),q=r(79),C=r(203);function D(){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}}var S=function(e){m()(a,e);var t,r=(t=a,function(){var e,r=l()(t);if(D()){var a=l()(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return s()(this,e)});function a(){return n()(this,a),r.apply(this,arguments)}return i()(a,[{key:"formatVal",value:function(e,t){var r=this.context,a=r.formatCurrency,n=r.getCurrency;return"currency"===t?a(e):Object(j.formatValue)(n(),t,e)}},{key:"getValues",value:function(e,t){var r=this.props,a=r.emptySearchResults,n=r.summaryData.totals,o=a?0:n.primary[e],i=a?0:n.secondary[e];return{delta:Object(j.calculateDelta)(o,i),prevValue:this.formatVal(i,t),value:this.formatVal(o,t)}}},{key:"render",value:function(){var e=this,t=this.props,r=t.charts,a=t.isRequesting,n=t.query,o=t.selectedChart,i=t.summaryData,c=t.endpoint,s=t.report,u=t.defaultDateRange,l=i.isError,d=i.isRequesting;if(l)return Object(f.createElement)(k.a,{isError:!0});if(a||d)return Object(f.createElement)(O.SummaryListPlaceholder,{numberOfItems:r.length});var m=Object(h.h)(n,u).compare;return Object(f.createElement)(O.SummaryList,null,(function(t){var a=t.onToggle;return r.map((function(t){var r=t.key,n=t.order,i=t.orderby,u=t.label,l=t.type,d={chart:r};i&&(d.orderby=i),n&&(d.order=n);var y=Object(v.getNewPath)(d),b=o.key===r,g=e.getValues(r,l),h=g.delta,j=g.prevValue,_=g.value;return Object(f.createElement)(O.SummaryNumber,{key:r,delta:h,href:y,label:u,prevLabel:"previous_period"===m?Object(p.__)("Previous Period:","woocommerce-admin"):Object(p.__)("Previous Year:","woocommerce-admin"),prevValue:j,selected:b,value:_,onLinkClickCallback:function(){a&&a(),Object(q.b)("analytics_chart_tab_click",{report:s||c,key:r})}})}))}))}}]),a}(f.Component);S.propTypes={charts:g.a.array.isRequired,endpoint:g.a.string.isRequired,limitProperties:g.a.array,query:g.a.object.isRequired,isRequesting:g.a.bool,selectedChart:g.a.shape({key:g.a.string.isRequired,label:g.a.string.isRequired,order:g.a.oneOf(["asc","desc"]),orderby:g.a.string,type:g.a.oneOf(["average","number","currency"]).isRequired}).isRequired,summaryData:g.a.object,report:g.a.string},S.defaultProps={summaryData:{totals:{primary:{},secondary:{}},isError:!1,isRequesting:!1}},S.contextType=C.a,t.a=Object(y.a)(Object(w.a)((function(e,t){var r=t.charts,a=t.endpoint,n=t.isRequesting,o=t.limitProperties,i=t.query,c=t.filters,s=t.advancedFilters,u=o||[a];if(n)return{};var l=u.some((function(e){return i[e]&&i[e].length}));if(i.search&&!l)return{emptySearchResults:!0};var d=r&&r.map((function(e){return e.key})),m=e(_.SETTINGS_STORE_NAME).getSetting("wc_admin","wcAdminSettings").woocommerce_default_date_range;return{summaryData:Object(R.d)({endpoint:a,query:i,select:e,limitBy:u,filters:c,advancedFilters:s,defaultDateRange:m,fields:d}),defaultDateRange:m}})))(S)},775:function(e,t,r){"use strict";var a=r(41),n=r.n(a),o=r(40),i=r.n(o),c=r(59),s=r.n(c),u=r(44),l=r.n(u),d=r(29),m=r.n(d),f=r(42),p=r.n(f),y=r(0),b=r(3),g=r(256),h=r(69),v=r(2),O=r(22),j=r(63),_=r(204),R=r(26),k=r(776),w=r(777),q=r(746),C=r(101),D=r(203);r(885);function S(){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}}var E=Object(R.g)("manageStock","no"),P=Object(R.g)("stockStatuses",{}),T=function(e){p()(a,e);var t,r=(t=a,function(){var e,r=m()(t);if(S()){var a=m()(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return l()(this,e)});function a(){var e;return n()(this,a),(e=r.call(this)).getHeadersContent=e.getHeadersContent.bind(s()(e)),e.getRowsContent=e.getRowsContent.bind(s()(e)),e.getSummary=e.getSummary.bind(s()(e)),e}return i()(a,[{key:"getHeadersContent",value:function(){return[{label:Object(b.__)("Product Title","woocommerce-admin"),key:"product_name",required:!0,isLeftAligned:!0,isSortable:!0},{label:Object(b.__)("SKU","woocommerce-admin"),key:"sku",hiddenByDefault:!0,isSortable:!0},{label:Object(b.__)("Items Sold","woocommerce-admin"),key:"items_sold",required:!0,defaultSort:!0,isSortable:!0,isNumeric:!0},{label:Object(b.__)("Net Sales","woocommerce-admin"),screenReaderLabel:Object(b.__)("Net Sales","woocommerce-admin"),key:"net_revenue",required:!0,isSortable:!0,isNumeric:!0},{label:Object(b.__)("Orders","woocommerce-admin"),key:"orders_count",isSortable:!0,isNumeric:!0},{label:Object(b.__)("Category","woocommerce-admin"),key:"product_cat"},{label:Object(b.__)("Variations","woocommerce-admin"),key:"variations",isSortable:!0},"yes"===E?{label:Object(b.__)("Status","woocommerce-admin"),key:"stock_status"}:null,"yes"===E?{label:Object(b.__)("Stock","woocommerce-admin"),key:"stock",isNumeric:!0}:null].filter(Boolean)}},{key:"getRowsContent",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=this.props.query,a=Object(O.getPersistedQuery)(r),n=this.context,o=n.render,i=n.formatDecimal,c=n.getCurrency,s=c();return Object(v.map)(t,(function(t){var n=t.product_id,c=t.items_sold,u=t.net_revenue,l=t.orders_count,d=t.extended_info||{},m=d.category_ids,f=d.low_stock_amount,p=d.manage_stock,g=d.sku,v=d.stock_status,q=d.stock_quantity,C=d.variations,D=void 0===C?[]:C,S=Object(h.decodeEntities)(d.name),T=Object(O.getNewPath)(a,"/analytics/orders",{filter:"advanced",product_includes:n}),N=Object(O.getNewPath)(a,"/analytics/products",{filter:"single_product",products:n}),x=e.props.categories,F=m&&m.map((function(e){return x.get(e)})).filter(Boolean)||[],L=Object(w.a)(v,q,f)?Object(y.createElement)(j.Link,{href:Object(R.f)("post.php?action=edit&post="+n),type:"wp-admin"},Object(b._x)("Low","Indication of a low quantity","woocommerce-admin")):P[v];return[{display:Object(y.createElement)(j.Link,{href:N,type:"wc-admin"},S),value:S},{display:g,value:g},{display:Object(_.formatValue)(s,"number",c),value:c},{display:o(u),value:i(u)},{display:Object(y.createElement)(j.Link,{href:T,type:"wc-admin"},l),value:l},{display:Object(y.createElement)("div",{className:"woocommerce-table__product-categories"},F[0]&&Object(y.createElement)(k.a,{category:F[0],categories:x}),F.length>1&&Object(y.createElement)(j.Tag,{label:Object(b.sprintf)(Object(b._x)("+%d more","categories","woocommerce-admin"),F.length-1),popoverContents:F.map((function(e){return Object(y.createElement)(k.a,{category:e,categories:x,key:e.id,query:r})}))})),value:F.map((function(e){return e.name})).join(", ")},{display:Object(_.formatValue)(s,"number",D.length),value:D.length},"yes"===E?{display:p?L:Object(b.__)("N/A","woocommerce-admin"),value:p?P[v]:null}:null,"yes"===E?{display:p?Object(_.formatValue)(s,"number",q):Object(b.__)("N/A","woocommerce-admin"),value:q}:null].filter(Boolean)}))}},{key:"getSummary",value:function(e){var t=e.products_count,r=void 0===t?0:t,a=e.items_sold,n=void 0===a?0:a,o=e.net_revenue,i=void 0===o?0:o,c=e.orders_count,s=void 0===c?0:c,u=this.context,l=u.formatCurrency,d=(0,u.getCurrency)();return[{label:Object(b._n)("product","products",r,"woocommerce-admin"),value:Object(_.formatValue)(d,"number",r)},{label:Object(b._n)("item sold","items sold",n,"woocommerce-admin"),value:Object(_.formatValue)(d,"number",n)},{label:Object(b.__)("net sales","woocommerce-admin"),value:l(i)},{label:Object(b._n)("orders","orders",s,"woocommerce-admin"),value:Object(_.formatValue)(d,"number",s)}]}},{key:"render",value:function(){var e=this.props,t=e.advancedFilters,r=e.baseSearchQuery,a=e.filters,n=e.hideCompare,o=e.isRequesting,i=e.query,c={helpText:Object(b.__)("Check at least two products below to compare","woocommerce-admin"),placeholder:Object(b.__)("Search by product name or SKU","woocommerce-admin")};return Object(y.createElement)(q.a,{compareBy:n?void 0:"products",endpoint:"products",getHeadersContent:this.getHeadersContent,getRowsContent:this.getRowsContent,getSummary:this.getSummary,summaryFields:["products_count","items_sold","net_revenue","orders_count"],itemIdField:"product_id",isRequesting:o,labels:c,query:i,searchBy:"products",baseSearchQuery:r,tableQuery:{orderby:i.orderby||"items_sold",order:i.order||"desc",extended_info:!0,segmentby:i.segmentby},title:Object(b.__)("Products","woocommerce-admin"),columnPrefsKey:"products_report_columns",filters:a,advancedFilters:t})}}]),a}(y.Component);T.contextType=D.a,t.a=Object(g.a)(Object(C.a)((function(e,t){var r=t.query;if(t.isRequesting||r.search&&(!r.products||!r.products.length))return{};var a=e("wc-api"),n=a.getItems,o=a.getItemsError,i=a.isGetItemsRequesting,c={per_page:-1};return{categories:n("categories",c),isError:Boolean(o("categories",c)),isRequesting:i("categories",c)}})))(T)},776:function(e,t,r){"use strict";r.d(t,"a",(function(){return v}));var a=r(41),n=r.n(a),o=r(40),i=r.n(o),c=r(44),s=r.n(c),u=r(29),l=r.n(u),d=r(42),m=r.n(d),f=r(0),p=r(2),y=r(710),b=r(63),g=r(22);function h(){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}}var v=function(e){m()(a,e);var t,r=(t=a,function(){var e,r=l()(t);if(h()){var a=l()(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return s()(this,e)});function a(){return n()(this,a),r.apply(this,arguments)}return i()(a,[{key:"getCategoryAncestorIds",value:function(e,t){for(var r=[],a=e.parent;a;)r.unshift(a),a=t.get(a).parent;return r}},{key:"getCategoryAncestors",value:function(e,t){var r=this.getCategoryAncestorIds(e,t);if(r.length)return 1===r.length?t.get(Object(p.first)(r)).name+" › ":2===r.length?t.get(Object(p.first)(r)).name+" › "+t.get(Object(p.last)(r)).name+" › ":t.get(Object(p.first)(r)).name+" … "+t.get(Object(p.last)(r)).name+" › "}},{key:"render",value:function(){var e=this.props,t=e.categories,r=e.category,a=e.query,n=Object(g.getPersistedQuery)(a);return r?Object(f.createElement)("div",{className:"woocommerce-table__breadcrumbs"},this.getCategoryAncestors(r,t),Object(f.createElement)(b.Link,{href:Object(g.getNewPath)(n,"/analytics/categories",{filter:"single_category",categories:r.id}),type:"wc-admin"},r.name)):Object(f.createElement)(y.a,null)}}]),a}(f.Component)},777:function(e,t,r){"use strict";function a(e,t,r){return!!t&&(e&&t<=r==="instock")}r.d(t,"a",(function(){return a}))},885:function(e,t,r){}}]);
\ No newline at end of file
diff --git a/dist/chunks/analytics-report-coupons.4c4c6b79fa3e16daf624.js b/dist/chunks/analytics-report-coupons.4c4c6b79fa3e16daf624.js
new file mode 100644
index 00000000000..f31c2b2b567
--- /dev/null
+++ b/dist/chunks/analytics-report-coupons.4c4c6b79fa3e16daf624.js
@@ -0,0 +1,1536 @@
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[10],{
+
+/***/ 729:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+// ESM COMPAT FLAG
+__webpack_require__.r(__webpack_exports__);
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, "default", function() { return /* binding */ coupons_CouponsReport; });
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js
+var defineProperty = __webpack_require__(15);
+var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js
+var classCallCheck = __webpack_require__(41);
+var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js
+var createClass = __webpack_require__(40);
+var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(44);
+var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(29);
+var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js
+var inherits = __webpack_require__(42);
+var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: ./node_modules/prop-types/index.js
+var prop_types = __webpack_require__(1);
+var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
+
+// EXTERNAL MODULE: external {"this":["wp","i18n"]}
+var external_this_wp_i18n_ = __webpack_require__(3);
+
+// EXTERNAL MODULE: ./client/analytics/report/coupons/config.js
+var config = __webpack_require__(765);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/assertThisInitialized.js
+var assertThisInitialized = __webpack_require__(59);
+var assertThisInitialized_default = /*#__PURE__*/__webpack_require__.n(assertThisInitialized);
+
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__(2);
+
+// EXTERNAL MODULE: external {"this":["wc","components"]}
+var external_this_wc_components_ = __webpack_require__(63);
+
+// EXTERNAL MODULE: ./client/lib/date.js
+var date = __webpack_require__(104);
+
+// EXTERNAL MODULE: external {"this":["wc","navigation"]}
+var external_this_wc_navigation_ = __webpack_require__(22);
+
+// EXTERNAL MODULE: external {"this":["wc","number"]}
+var external_this_wc_number_ = __webpack_require__(204);
+
+// EXTERNAL MODULE: ./client/settings/index.js
+var settings = __webpack_require__(26);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-table/index.js + 2 modules
+var report_table = __webpack_require__(746);
+
+// EXTERNAL MODULE: ./client/lib/currency-context.js
+var currency_context = __webpack_require__(203);
+
+// CONCATENATED MODULE: ./client/analytics/report/coupons/table.js
+
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var table_CouponsReportTable = /*#__PURE__*/function (_Component) {
+ inherits_default()(CouponsReportTable, _Component);
+
+ var _super = _createSuper(CouponsReportTable);
+
+ function CouponsReportTable() {
+ var _this;
+
+ classCallCheck_default()(this, CouponsReportTable);
+
+ _this = _super.call(this);
+ _this.getHeadersContent = _this.getHeadersContent.bind(assertThisInitialized_default()(_this));
+ _this.getRowsContent = _this.getRowsContent.bind(assertThisInitialized_default()(_this));
+ _this.getSummary = _this.getSummary.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(CouponsReportTable, [{
+ key: "getHeadersContent",
+ value: function getHeadersContent() {
+ return [{
+ label: Object(external_this_wp_i18n_["__"])('Coupon Code', 'woocommerce-admin'),
+ key: 'code',
+ required: true,
+ isLeftAligned: true,
+ isSortable: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Orders', 'woocommerce-admin'),
+ key: 'orders_count',
+ required: true,
+ defaultSort: true,
+ isSortable: true,
+ isNumeric: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Amount Discounted', 'woocommerce-admin'),
+ key: 'amount',
+ isSortable: true,
+ isNumeric: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Created', 'woocommerce-admin'),
+ key: 'created'
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Expires', 'woocommerce-admin'),
+ key: 'expires'
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Type', 'woocommerce-admin'),
+ key: 'type'
+ }];
+ }
+ }, {
+ key: "getRowsContent",
+ value: function getRowsContent(coupons) {
+ var _this2 = this;
+
+ var query = this.props.query;
+ var persistedQuery = Object(external_this_wc_navigation_["getPersistedQuery"])(query);
+ var dateFormat = Object(settings["g" /* getSetting */])('dateFormat', date["c" /* defaultTableDateFormat */]);
+ var _this$context = this.context,
+ formatCurrency = _this$context.formatCurrency,
+ getCurrencyFormatDecimal = _this$context.formatDecimal,
+ getCurrency = _this$context.getCurrency;
+ return Object(external_lodash_["map"])(coupons, function (coupon) {
+ var amount = coupon.amount,
+ couponId = coupon.coupon_id,
+ ordersCount = coupon.orders_count;
+ var extendedInfo = coupon.extended_info || {};
+ var code = extendedInfo.code,
+ dateCreated = extendedInfo.date_created,
+ dateExpires = extendedInfo.date_expires,
+ discountType = extendedInfo.discount_type;
+ var couponUrl = Object(external_this_wc_navigation_["getNewPath"])(persistedQuery, '/analytics/coupons', {
+ filter: 'single_coupon',
+ coupons: couponId
+ });
+ var couponLink = Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: couponUrl,
+ type: "wc-admin"
+ }, code);
+ var ordersUrl = Object(external_this_wc_navigation_["getNewPath"])(persistedQuery, '/analytics/orders', {
+ filter: 'advanced',
+ coupon_includes: couponId
+ });
+ var ordersLink = Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: ordersUrl,
+ type: "wc-admin"
+ }, Object(external_this_wc_number_["formatValue"])(getCurrency(), 'number', ordersCount));
+ return [{
+ display: couponLink,
+ value: code
+ }, {
+ display: ordersLink,
+ value: ordersCount
+ }, {
+ display: formatCurrency(amount),
+ value: getCurrencyFormatDecimal(amount)
+ }, {
+ display: Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Date"], {
+ date: dateCreated,
+ visibleFormat: dateFormat
+ }),
+ value: dateCreated
+ }, {
+ display: dateExpires ? Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Date"], {
+ date: dateExpires,
+ visibleFormat: dateFormat
+ }) : Object(external_this_wp_i18n_["__"])('N/A', 'woocommerce-admin'),
+ value: dateExpires
+ }, {
+ display: _this2.getCouponType(discountType),
+ value: discountType
+ }];
+ });
+ }
+ }, {
+ key: "getSummary",
+ value: function getSummary(totals) {
+ var _totals$coupons_count = totals.coupons_count,
+ couponsCount = _totals$coupons_count === void 0 ? 0 : _totals$coupons_count,
+ _totals$orders_count = totals.orders_count,
+ ordersCount = _totals$orders_count === void 0 ? 0 : _totals$orders_count,
+ _totals$amount = totals.amount,
+ amount = _totals$amount === void 0 ? 0 : _totals$amount;
+ var _this$context2 = this.context,
+ formatCurrency = _this$context2.formatCurrency,
+ getCurrency = _this$context2.getCurrency;
+ var currency = getCurrency();
+ return [{
+ label: Object(external_this_wp_i18n_["_n"])('coupon', 'coupons', couponsCount, 'woocommerce-admin'),
+ value: Object(external_this_wc_number_["formatValue"])(currency, 'number', couponsCount)
+ }, {
+ label: Object(external_this_wp_i18n_["_n"])('order', 'orders', ordersCount, 'woocommerce-admin'),
+ value: Object(external_this_wc_number_["formatValue"])(currency, 'number', ordersCount)
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('amount discounted', 'woocommerce-admin'),
+ value: formatCurrency(amount)
+ }];
+ }
+ }, {
+ key: "getCouponType",
+ value: function getCouponType(discountType) {
+ var couponTypes = {
+ percent: Object(external_this_wp_i18n_["__"])('Percentage', 'woocommerce-admin'),
+ fixed_cart: Object(external_this_wp_i18n_["__"])('Fixed cart', 'woocommerce-admin'),
+ fixed_product: Object(external_this_wp_i18n_["__"])('Fixed product', 'woocommerce-admin')
+ };
+ return couponTypes[discountType];
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ advancedFilters = _this$props.advancedFilters,
+ filters = _this$props.filters,
+ isRequesting = _this$props.isRequesting,
+ query = _this$props.query;
+ return Object(external_this_wp_element_["createElement"])(report_table["a" /* default */], {
+ compareBy: "coupons",
+ endpoint: "coupons",
+ getHeadersContent: this.getHeadersContent,
+ getRowsContent: this.getRowsContent,
+ getSummary: this.getSummary,
+ summaryFields: ['coupons_count', 'orders_count', 'amount'],
+ isRequesting: isRequesting,
+ itemIdField: "coupon_id",
+ query: query,
+ searchBy: "coupons",
+ tableQuery: {
+ orderby: query.orderby || 'orders_count',
+ order: query.order || 'desc',
+ extended_info: true
+ },
+ title: Object(external_this_wp_i18n_["__"])('Coupons', 'woocommerce-admin'),
+ columnPrefsKey: "coupons_report_columns",
+ filters: filters,
+ advancedFilters: advancedFilters
+ });
+ }
+ }]);
+
+ return CouponsReportTable;
+}(external_this_wp_element_["Component"]);
+
+table_CouponsReportTable.contextType = currency_context["a" /* CurrencyContext */];
+/* harmony default export */ var table = (table_CouponsReportTable);
+// EXTERNAL MODULE: ./client/lib/get-selected-chart/index.js
+var get_selected_chart = __webpack_require__(743);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-chart/index.js + 1 modules
+var report_chart = __webpack_require__(741);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-summary/index.js
+var report_summary = __webpack_require__(744);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-filters/index.js
+var report_filters = __webpack_require__(745);
+
+// CONCATENATED MODULE: ./client/analytics/report/coupons/index.js
+
+
+
+
+
+
+
+
+function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+function coupons_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (coupons_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function coupons_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+
+var coupons_CouponsReport = /*#__PURE__*/function (_Component) {
+ inherits_default()(CouponsReport, _Component);
+
+ var _super = coupons_createSuper(CouponsReport);
+
+ function CouponsReport() {
+ classCallCheck_default()(this, CouponsReport);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(CouponsReport, [{
+ key: "getChartMeta",
+ value: function getChartMeta() {
+ var query = this.props.query;
+ var isCompareView = query.filter === 'compare-coupons' && query.coupons && query.coupons.split(',').length > 1;
+ var mode = isCompareView ? 'item-comparison' : 'time-comparison';
+
+ var itemsLabel = Object(external_this_wp_i18n_["__"])('%d coupons', 'woocommerce-admin');
+
+ return {
+ itemsLabel: itemsLabel,
+ mode: mode
+ };
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ isRequesting = _this$props.isRequesting,
+ query = _this$props.query,
+ path = _this$props.path;
+
+ var _this$getChartMeta = this.getChartMeta(),
+ mode = _this$getChartMeta.mode,
+ itemsLabel = _this$getChartMeta.itemsLabel;
+
+ var chartQuery = _objectSpread({}, query);
+
+ if (mode === 'item-comparison') {
+ chartQuery.segmentby = 'coupon';
+ }
+
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(report_filters["a" /* default */], {
+ query: query,
+ path: path,
+ filters: config["c" /* filters */],
+ advancedFilters: config["a" /* advancedFilters */],
+ report: "coupons"
+ }), Object(external_this_wp_element_["createElement"])(report_summary["a" /* default */], {
+ charts: config["b" /* charts */],
+ endpoint: "coupons",
+ isRequesting: isRequesting,
+ query: chartQuery,
+ selectedChart: Object(get_selected_chart["a" /* default */])(query.chart, config["b" /* charts */]),
+ filters: config["c" /* filters */],
+ advancedFilters: config["a" /* advancedFilters */]
+ }), Object(external_this_wp_element_["createElement"])(report_chart["a" /* default */], {
+ charts: config["b" /* charts */],
+ filters: config["c" /* filters */],
+ advancedFilters: config["a" /* advancedFilters */],
+ mode: mode,
+ endpoint: "coupons",
+ path: path,
+ query: chartQuery,
+ isRequesting: isRequesting,
+ itemsLabel: itemsLabel,
+ selectedChart: Object(get_selected_chart["a" /* default */])(query.chart, config["b" /* charts */])
+ }), Object(external_this_wp_element_["createElement"])(table, {
+ isRequesting: isRequesting,
+ query: query,
+ filters: config["c" /* filters */],
+ advancedFilters: config["a" /* advancedFilters */]
+ }));
+ }
+ }]);
+
+ return CouponsReport;
+}(external_this_wp_element_["Component"]);
+
+
+coupons_CouponsReport.propTypes = {
+ query: prop_types_default.a.object.isRequired
+};
+
+/***/ }),
+
+/***/ 739:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return getRequestByIdString; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getCategoryLabels; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getCouponLabels; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return getCustomerLabels; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return getProductLabels; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return getTaxRateLabels; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return getVariationLabels; });
+/* harmony import */ var _wordpress_url__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(30);
+/* harmony import */ var _wordpress_url__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_url__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20);
+/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _woocommerce_navigation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(22);
+/* harmony import */ var _woocommerce_navigation__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var analytics_report_taxes_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(740);
+/* harmony import */ var wc_api_constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(24);
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+/**
+ * Get a function that accepts ids as they are found in url parameter and
+ * returns a promise with an optional method applied to results
+ *
+ * @param {string|Function} path - api path string or a function of the query returning api path string
+ * @param {Function} [handleData] - function applied to each iteration of data
+ * @return {Function} - a function of ids returning a promise
+ */
+
+function getRequestByIdString(path) {
+ var handleData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : lodash__WEBPACK_IMPORTED_MODULE_2__["identity"];
+ return function () {
+ var queryString = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
+ var query = arguments.length > 1 ? arguments[1] : undefined;
+ var pathString = typeof path === 'function' ? path(query) : path;
+ var idList = Object(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_3__["getIdsFromQuery"])(queryString);
+
+ if (idList.length < 1) {
+ return Promise.resolve([]);
+ }
+
+ var payload = {
+ include: idList.join(','),
+ per_page: idList.length
+ };
+ return _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_1___default()({
+ path: Object(_wordpress_url__WEBPACK_IMPORTED_MODULE_0__["addQueryArgs"])(pathString, payload)
+ }).then(function (data) {
+ return data.map(handleData);
+ });
+ };
+}
+var getCategoryLabels = getRequestByIdString(wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + '/products/categories', function (category) {
+ return {
+ key: category.id,
+ label: category.name
+ };
+});
+var getCouponLabels = getRequestByIdString(wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + '/coupons', function (coupon) {
+ return {
+ key: coupon.id,
+ label: coupon.code
+ };
+});
+var getCustomerLabels = getRequestByIdString(wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + '/customers', function (customer) {
+ return {
+ key: customer.id,
+ label: customer.name
+ };
+});
+var getProductLabels = getRequestByIdString(wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + '/products', function (product) {
+ return {
+ key: product.id,
+ label: product.name
+ };
+});
+var getTaxRateLabels = getRequestByIdString(wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + '/taxes', function (taxRate) {
+ return {
+ key: taxRate.id,
+ label: Object(analytics_report_taxes_utils__WEBPACK_IMPORTED_MODULE_4__[/* getTaxCode */ "a"])(taxRate)
+ };
+});
+var getVariationLabels = getRequestByIdString(function (query) {
+ return wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + "/products/".concat(query.products, "/variations");
+}, function (variation) {
+ return {
+ key: variation.id,
+ label: variation.attributes.reduce(function (desc, attribute, index, arr) {
+ return desc + "".concat(attribute.option).concat(arr.length === index + 1 ? '' : ', ');
+ }, '')
+ };
+});
+
+/***/ }),
+
+/***/ 740:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getTaxCode; });
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__);
+/**
+ * External dependencies
+ */
+
+function getTaxCode(tax) {
+ return [tax.country, tax.state, tax.name || Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('TAX', 'woocommerce-admin'), tax.priority].map(function (item) {
+ return item.toString().toUpperCase().trim();
+ }).filter(Boolean).join('-');
+}
+
+/***/ }),
+
+/***/ 741:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// UNUSED EXPORTS: ReportChart
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js
+var defineProperty = __webpack_require__(15);
+var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js
+var classCallCheck = __webpack_require__(41);
+var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js
+var createClass = __webpack_require__(40);
+var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(44);
+var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(29);
+var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js
+var inherits = __webpack_require__(42);
+var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: external {"this":["wp","i18n"]}
+var external_this_wp_i18n_ = __webpack_require__(3);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/compose/build-module/higher-order/compose.js
+var compose = __webpack_require__(256);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/date/build-module/index.js
+var build_module = __webpack_require__(172);
+
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__(2);
+
+// EXTERNAL MODULE: ./node_modules/prop-types/index.js
+var prop_types = __webpack_require__(1);
+var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
+
+// EXTERNAL MODULE: ./client/lib/date.js
+var date = __webpack_require__(104);
+
+// EXTERNAL MODULE: external {"this":["wc","components"]}
+var external_this_wc_components_ = __webpack_require__(63);
+
+// EXTERNAL MODULE: external {"this":["wc","data"]}
+var external_this_wc_data_ = __webpack_require__(51);
+
+// EXTERNAL MODULE: ./client/lib/currency-context.js
+var currency_context = __webpack_require__(203);
+
+// EXTERNAL MODULE: ./client/wc-api/reports/utils.js
+var utils = __webpack_require__(738);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-error/index.js
+var report_error = __webpack_require__(261);
+
+// EXTERNAL MODULE: ./client/wc-api/with-select.js
+var with_select = __webpack_require__(101);
+
+// EXTERNAL MODULE: external {"this":["wc","navigation"]}
+var external_this_wc_navigation_ = __webpack_require__(22);
+
+// CONCATENATED MODULE: ./client/analytics/components/report-chart/utils.js
+/**
+ * External dependencies
+ */
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+var DEFAULT_FILTER = 'all';
+function getSelectedFilter(filters, query) {
+ var selectedFilterArgs = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
+
+ if (!filters || filters.length === 0) {
+ return null;
+ }
+
+ var clonedFilters = filters.slice(0);
+ var filterConfig = clonedFilters.pop();
+
+ if (filterConfig.showFilters(query, selectedFilterArgs)) {
+ var allFilters = Object(external_this_wc_navigation_["flattenFilters"])(filterConfig.filters);
+ var value = query[filterConfig.param] || filterConfig.defaultValue || DEFAULT_FILTER;
+ return Object(external_lodash_["find"])(allFilters, {
+ value: value
+ });
+ }
+
+ return getSelectedFilter(clonedFilters, query, selectedFilterArgs);
+}
+function getChartMode(selectedFilter, query) {
+ if (selectedFilter && query) {
+ var selectedFilterParam = Object(external_lodash_["get"])(selectedFilter, ['settings', 'param']);
+
+ if (!selectedFilterParam || Object.keys(query).includes(selectedFilterParam)) {
+ return Object(external_lodash_["get"])(selectedFilter, ['chartMode']);
+ }
+ }
+
+ return null;
+}
+// CONCATENATED MODULE: ./client/analytics/components/report-chart/index.js
+
+
+
+
+
+
+
+
+function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+function _createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+/**
+ * Component that renders the chart in reports.
+ */
+
+var report_chart_ReportChart = /*#__PURE__*/function (_Component) {
+ inherits_default()(ReportChart, _Component);
+
+ var _super = _createSuper(ReportChart);
+
+ function ReportChart() {
+ classCallCheck_default()(this, ReportChart);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(ReportChart, [{
+ key: "shouldComponentUpdate",
+ value: function shouldComponentUpdate(nextProps) {
+ if (nextProps.isRequesting !== this.props.isRequesting || nextProps.primaryData.isRequesting !== this.props.primaryData.isRequesting || nextProps.secondaryData.isRequesting !== this.props.secondaryData.isRequesting || !Object(external_lodash_["isEqual"])(nextProps.query, this.props.query)) {
+ return true;
+ }
+
+ return false;
+ }
+ }, {
+ key: "getItemChartData",
+ value: function getItemChartData() {
+ var _this$props = this.props,
+ primaryData = _this$props.primaryData,
+ selectedChart = _this$props.selectedChart;
+ var chartData = primaryData.data.intervals.map(function (interval) {
+ var intervalData = {};
+ interval.subtotals.segments.forEach(function (segment) {
+ if (segment.segment_label) {
+ var label = intervalData[segment.segment_label] ? segment.segment_label + ' (#' + segment.segment_id + ')' : segment.segment_label;
+ intervalData[segment.segment_id] = {
+ label: label,
+ value: segment.subtotals[selectedChart.key] || 0
+ };
+ }
+ });
+ return _objectSpread({
+ date: Object(build_module["a" /* format */])('Y-m-d\\TH:i:s', interval.date_start)
+ }, intervalData);
+ });
+ return chartData;
+ }
+ }, {
+ key: "getTimeChartData",
+ value: function getTimeChartData() {
+ var _this$props2 = this.props,
+ query = _this$props2.query,
+ primaryData = _this$props2.primaryData,
+ secondaryData = _this$props2.secondaryData,
+ selectedChart = _this$props2.selectedChart,
+ defaultDateRange = _this$props2.defaultDateRange;
+ var currentInterval = Object(date["i" /* getIntervalForQuery */])(query);
+
+ var _getCurrentDates = Object(date["f" /* getCurrentDates */])(query, defaultDateRange),
+ primary = _getCurrentDates.primary,
+ secondary = _getCurrentDates.secondary;
+
+ var chartData = primaryData.data.intervals.map(function (interval, index) {
+ var secondaryDate = Object(date["j" /* getPreviousDate */])(interval.date_start, primary.after, secondary.after, query.compare, currentInterval);
+ var secondaryInterval = secondaryData.data.intervals[index];
+ return {
+ date: Object(build_module["a" /* format */])('Y-m-d\\TH:i:s', interval.date_start),
+ primary: {
+ label: "".concat(primary.label, " (").concat(primary.range, ")"),
+ labelDate: interval.date_start,
+ value: interval.subtotals[selectedChart.key] || 0
+ },
+ secondary: {
+ label: "".concat(secondary.label, " (").concat(secondary.range, ")"),
+ labelDate: secondaryDate.format('YYYY-MM-DD HH:mm:ss'),
+ value: secondaryInterval && secondaryInterval.subtotals[selectedChart.key] || 0
+ }
+ };
+ });
+ return chartData;
+ }
+ }, {
+ key: "getTimeChartTotals",
+ value: function getTimeChartTotals() {
+ var _this$props3 = this.props,
+ primaryData = _this$props3.primaryData,
+ secondaryData = _this$props3.secondaryData,
+ selectedChart = _this$props3.selectedChart;
+ return {
+ primary: Object(external_lodash_["get"])(primaryData, ['data', 'totals', selectedChart.key], null),
+ secondary: Object(external_lodash_["get"])(secondaryData, ['data', 'totals', selectedChart.key], null)
+ };
+ }
+ }, {
+ key: "renderChart",
+ value: function renderChart(mode, isRequesting, chartData, legendTotals) {
+ var _this$props4 = this.props,
+ emptySearchResults = _this$props4.emptySearchResults,
+ filterParam = _this$props4.filterParam,
+ interactiveLegend = _this$props4.interactiveLegend,
+ itemsLabel = _this$props4.itemsLabel,
+ legendPosition = _this$props4.legendPosition,
+ path = _this$props4.path,
+ query = _this$props4.query,
+ selectedChart = _this$props4.selectedChart,
+ showHeaderControls = _this$props4.showHeaderControls,
+ primaryData = _this$props4.primaryData;
+ var currentInterval = Object(date["i" /* getIntervalForQuery */])(query);
+ var allowedIntervals = Object(date["d" /* getAllowedIntervalsForQuery */])(query);
+ var formats = Object(date["g" /* getDateFormatsForInterval */])(currentInterval, primaryData.data.intervals.length);
+ var emptyMessage = emptySearchResults ? Object(external_this_wp_i18n_["__"])('No data for the current search', 'woocommerce-admin') : Object(external_this_wp_i18n_["__"])('No data for the selected date range', 'woocommerce-admin');
+ var _this$context = this.context,
+ formatCurrency = _this$context.formatCurrency,
+ getCurrency = _this$context.getCurrency;
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Chart"], {
+ allowedIntervals: allowedIntervals,
+ data: chartData,
+ dateParser: '%Y-%m-%dT%H:%M:%S',
+ emptyMessage: emptyMessage,
+ filterParam: filterParam,
+ interactiveLegend: interactiveLegend,
+ interval: currentInterval,
+ isRequesting: isRequesting,
+ itemsLabel: itemsLabel,
+ legendPosition: legendPosition,
+ legendTotals: legendTotals,
+ mode: mode,
+ path: path,
+ query: query,
+ screenReaderFormat: formats.screenReaderFormat,
+ showHeaderControls: showHeaderControls,
+ title: selectedChart.label,
+ tooltipLabelFormat: formats.tooltipLabelFormat,
+ tooltipTitle: mode === 'time-comparison' && selectedChart.label || null,
+ tooltipValueFormat: Object(utils["e" /* getTooltipValueFormat */])(selectedChart.type, formatCurrency),
+ chartType: Object(date["e" /* getChartTypeForQuery */])(query),
+ valueType: selectedChart.type,
+ xFormat: formats.xFormat,
+ x2Format: formats.x2Format,
+ currency: getCurrency()
+ });
+ }
+ }, {
+ key: "renderItemComparison",
+ value: function renderItemComparison() {
+ var _this$props5 = this.props,
+ isRequesting = _this$props5.isRequesting,
+ primaryData = _this$props5.primaryData;
+
+ if (primaryData.isError) {
+ return Object(external_this_wp_element_["createElement"])(report_error["a" /* default */], {
+ isError: true
+ });
+ }
+
+ var isChartRequesting = isRequesting || primaryData.isRequesting;
+ var chartData = this.getItemChartData();
+ return this.renderChart('item-comparison', isChartRequesting, chartData);
+ }
+ }, {
+ key: "renderTimeComparison",
+ value: function renderTimeComparison() {
+ var _this$props6 = this.props,
+ isRequesting = _this$props6.isRequesting,
+ primaryData = _this$props6.primaryData,
+ secondaryData = _this$props6.secondaryData;
+
+ if (!primaryData || primaryData.isError || secondaryData.isError) {
+ return Object(external_this_wp_element_["createElement"])(report_error["a" /* default */], {
+ isError: true
+ });
+ }
+
+ var isChartRequesting = isRequesting || primaryData.isRequesting || secondaryData.isRequesting;
+ var chartData = this.getTimeChartData();
+ var legendTotals = this.getTimeChartTotals();
+ return this.renderChart('time-comparison', isChartRequesting, chartData, legendTotals);
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var mode = this.props.mode;
+
+ if (mode === 'item-comparison') {
+ return this.renderItemComparison();
+ }
+
+ return this.renderTimeComparison();
+ }
+ }]);
+
+ return ReportChart;
+}(external_this_wp_element_["Component"]);
+report_chart_ReportChart.contextType = currency_context["a" /* CurrencyContext */];
+report_chart_ReportChart.propTypes = {
+ /**
+ * Filters available for that report.
+ */
+ filters: prop_types_default.a.array,
+
+ /**
+ * Whether there is an API call running.
+ */
+ isRequesting: prop_types_default.a.bool,
+
+ /**
+ * Label describing the legend items.
+ */
+ itemsLabel: prop_types_default.a.string,
+
+ /**
+ * Allows specifying properties different from the `endpoint` that will be used
+ * to limit the items when there is an active search.
+ */
+ limitProperties: prop_types_default.a.array,
+
+ /**
+ * `items-comparison` (default) or `time-comparison`, this is used to generate correct
+ * ARIA properties.
+ */
+ mode: prop_types_default.a.string,
+
+ /**
+ * Current path
+ */
+ path: prop_types_default.a.string.isRequired,
+
+ /**
+ * Primary data to display in the chart.
+ */
+ primaryData: prop_types_default.a.object,
+
+ /**
+ * The query string represented in object form.
+ */
+ query: prop_types_default.a.object.isRequired,
+
+ /**
+ * Secondary data to display in the chart.
+ */
+ secondaryData: prop_types_default.a.object,
+
+ /**
+ * Properties of the selected chart.
+ */
+ selectedChart: prop_types_default.a.shape({
+ /**
+ * Key of the selected chart.
+ */
+ key: prop_types_default.a.string.isRequired,
+
+ /**
+ * Chart label.
+ */
+ label: prop_types_default.a.string.isRequired,
+
+ /**
+ * Order query argument.
+ */
+ order: prop_types_default.a.oneOf(['asc', 'desc']),
+
+ /**
+ * Order by query argument.
+ */
+ orderby: prop_types_default.a.string,
+
+ /**
+ * Number type for formatting.
+ */
+ type: prop_types_default.a.oneOf(['average', 'number', 'currency']).isRequired
+ }).isRequired
+};
+report_chart_ReportChart.defaultProps = {
+ isRequesting: false,
+ primaryData: {
+ data: {
+ intervals: []
+ },
+ isError: false,
+ isRequesting: false
+ },
+ secondaryData: {
+ data: {
+ intervals: []
+ },
+ isError: false,
+ isRequesting: false
+ }
+};
+/* harmony default export */ var report_chart = __webpack_exports__["a"] = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select, props) {
+ var charts = props.charts,
+ endpoint = props.endpoint,
+ filters = props.filters,
+ isRequesting = props.isRequesting,
+ limitProperties = props.limitProperties,
+ query = props.query,
+ advancedFilters = props.advancedFilters;
+ var limitBy = limitProperties || [endpoint];
+ var selectedFilter = getSelectedFilter(filters, query);
+ var filterParam = Object(external_lodash_["get"])(selectedFilter, ['settings', 'param']);
+ var chartMode = props.mode || getChartMode(selectedFilter, query) || 'time-comparison';
+
+ var _select$getSetting = select(external_this_wc_data_["SETTINGS_STORE_NAME"]).getSetting('wc_admin', 'wcAdminSettings'),
+ defaultDateRange = _select$getSetting.woocommerce_default_date_range;
+
+ var newProps = {
+ mode: chartMode,
+ filterParam: filterParam,
+ defaultDateRange: defaultDateRange
+ };
+
+ if (isRequesting) {
+ return newProps;
+ }
+
+ var hasLimitByParam = limitBy.some(function (item) {
+ return query[item] && query[item].length;
+ });
+
+ if (query.search && !hasLimitByParam) {
+ return _objectSpread({}, newProps, {
+ emptySearchResults: true
+ });
+ }
+
+ var fields = charts && charts.map(function (chart) {
+ return chart.key;
+ });
+ var primaryData = Object(utils["a" /* getReportChartData */])({
+ endpoint: endpoint,
+ dataType: 'primary',
+ query: query,
+ select: select,
+ limitBy: limitBy,
+ filters: filters,
+ advancedFilters: advancedFilters,
+ defaultDateRange: defaultDateRange,
+ fields: fields
+ });
+
+ if (chartMode === 'item-comparison') {
+ return _objectSpread({}, newProps, {
+ primaryData: primaryData
+ });
+ }
+
+ var secondaryData = Object(utils["a" /* getReportChartData */])({
+ endpoint: endpoint,
+ dataType: 'secondary',
+ query: query,
+ select: select,
+ limitBy: limitBy,
+ filters: filters,
+ advancedFilters: advancedFilters,
+ defaultDateRange: defaultDateRange,
+ fields: fields
+ });
+ return _objectSpread({}, newProps, {
+ primaryData: primaryData,
+ secondaryData: secondaryData
+ });
+}))(report_chart_ReportChart));
+
+/***/ }),
+
+/***/ 743:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getSelectedChart; });
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__);
+/**
+ * External dependencies
+ */
+
+/**
+ * Takes a chart name returns the configuration for that chart from and array
+ * of charts. If the chart is not found it will return the first chart.
+ *
+ * @param {string} chartName - the name of the chart to get configuration for
+ * @param {Array} charts - list of charts for a particular report
+ * @return {Object} - chart configuration object
+ */
+
+function getSelectedChart(chartName) {
+ var charts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
+ var chart = Object(lodash__WEBPACK_IMPORTED_MODULE_0__["find"])(charts, {
+ key: chartName
+ });
+
+ if (chart) {
+ return chart;
+ }
+
+ return charts[0];
+}
+
+/***/ }),
+
+/***/ 744:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export ReportSummary */
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(41);
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(40);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(44);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(29);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(42);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(3);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(256);
+/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(1);
+/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);
+/* harmony import */ var lib_date__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(104);
+/* harmony import */ var _woocommerce_navigation__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(22);
+/* harmony import */ var _woocommerce_navigation__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_10__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_11__);
+/* harmony import */ var _woocommerce_number__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(204);
+/* harmony import */ var _woocommerce_number__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_number__WEBPACK_IMPORTED_MODULE_12__);
+/* harmony import */ var _woocommerce_data__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(51);
+/* harmony import */ var _woocommerce_data__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_data__WEBPACK_IMPORTED_MODULE_13__);
+/* harmony import */ var wc_api_reports_utils__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(738);
+/* harmony import */ var analytics_components_report_error__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(261);
+/* harmony import */ var wc_api_with_select__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(101);
+/* harmony import */ var lib_tracks__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(79);
+/* harmony import */ var lib_currency_context__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(203);
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+/**
+ * Component to render summary numbers in reports.
+ */
+
+var ReportSummary = /*#__PURE__*/function (_Component) {
+ _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(ReportSummary, _Component);
+
+ var _super = _createSuper(ReportSummary);
+
+ function ReportSummary() {
+ _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, ReportSummary);
+
+ return _super.apply(this, arguments);
+ }
+
+ _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(ReportSummary, [{
+ key: "formatVal",
+ value: function formatVal(val, type) {
+ var _this$context = this.context,
+ formatCurrency = _this$context.formatCurrency,
+ getCurrency = _this$context.getCurrency;
+ return type === 'currency' ? formatCurrency(val) : Object(_woocommerce_number__WEBPACK_IMPORTED_MODULE_12__["formatValue"])(getCurrency(), type, val);
+ }
+ }, {
+ key: "getValues",
+ value: function getValues(key, type) {
+ var _this$props = this.props,
+ emptySearchResults = _this$props.emptySearchResults,
+ summaryData = _this$props.summaryData;
+ var totals = summaryData.totals;
+ var primaryValue = emptySearchResults ? 0 : totals.primary[key];
+ var secondaryValue = emptySearchResults ? 0 : totals.secondary[key];
+ return {
+ delta: Object(_woocommerce_number__WEBPACK_IMPORTED_MODULE_12__["calculateDelta"])(primaryValue, secondaryValue),
+ prevValue: this.formatVal(secondaryValue, type),
+ value: this.formatVal(primaryValue, type)
+ };
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this = this;
+
+ var _this$props2 = this.props,
+ charts = _this$props2.charts,
+ isRequesting = _this$props2.isRequesting,
+ query = _this$props2.query,
+ selectedChart = _this$props2.selectedChart,
+ summaryData = _this$props2.summaryData,
+ endpoint = _this$props2.endpoint,
+ report = _this$props2.report,
+ defaultDateRange = _this$props2.defaultDateRange;
+ var isError = summaryData.isError,
+ isSummaryDataRequesting = summaryData.isRequesting;
+
+ if (isError) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(analytics_components_report_error__WEBPACK_IMPORTED_MODULE_15__[/* default */ "a"], {
+ isError: true
+ });
+ }
+
+ if (isRequesting || isSummaryDataRequesting) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_11__["SummaryListPlaceholder"], {
+ numberOfItems: charts.length
+ });
+ }
+
+ var _getDateParamsFromQue = Object(lib_date__WEBPACK_IMPORTED_MODULE_9__[/* getDateParamsFromQuery */ "h"])(query, defaultDateRange),
+ compare = _getDateParamsFromQue.compare;
+
+ var renderSummaryNumbers = function renderSummaryNumbers(_ref) {
+ var onToggle = _ref.onToggle;
+ return charts.map(function (chart) {
+ var key = chart.key,
+ order = chart.order,
+ orderby = chart.orderby,
+ label = chart.label,
+ type = chart.type;
+ var newPath = {
+ chart: key
+ };
+
+ if (orderby) {
+ newPath.orderby = orderby;
+ }
+
+ if (order) {
+ newPath.order = order;
+ }
+
+ var href = Object(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_10__["getNewPath"])(newPath);
+ var isSelected = selectedChart.key === key;
+
+ var _this$getValues = _this.getValues(key, type),
+ delta = _this$getValues.delta,
+ prevValue = _this$getValues.prevValue,
+ value = _this$getValues.value;
+
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_11__["SummaryNumber"], {
+ key: key,
+ delta: delta,
+ href: href,
+ label: label,
+ prevLabel: compare === 'previous_period' ? Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('Previous Period:', 'woocommerce-admin') : Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('Previous Year:', 'woocommerce-admin'),
+ prevValue: prevValue,
+ selected: isSelected,
+ value: value,
+ onLinkClickCallback: function onLinkClickCallback() {
+ // Wider than a certain breakpoint, there is no dropdown so avoid calling onToggle.
+ if (onToggle) {
+ onToggle();
+ }
+
+ Object(lib_tracks__WEBPACK_IMPORTED_MODULE_17__[/* recordEvent */ "b"])('analytics_chart_tab_click', {
+ report: report || endpoint,
+ key: key
+ });
+ }
+ });
+ });
+ };
+
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_11__["SummaryList"], null, renderSummaryNumbers);
+ }
+ }]);
+
+ return ReportSummary;
+}(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["Component"]);
+ReportSummary.propTypes = {
+ /**
+ * Properties of all the charts available for that report.
+ */
+ charts: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.array.isRequired,
+
+ /**
+ * The endpoint to use in API calls to populate the Summary Numbers.
+ * For example, if `taxes` is provided, data will be fetched from the report
+ * `taxes` endpoint (ie: `/wc-analytics/reports/taxes/stats`). If the provided endpoint
+ * doesn't exist, an error will be shown to the user with `ReportError`.
+ */
+ endpoint: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string.isRequired,
+
+ /**
+ * Allows specifying properties different from the `endpoint` that will be used
+ * to limit the items when there is an active search.
+ */
+ limitProperties: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.array,
+
+ /**
+ * The query string represented in object form.
+ */
+ query: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.object.isRequired,
+
+ /**
+ * Whether there is an API call running.
+ */
+ isRequesting: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.bool,
+
+ /**
+ * Properties of the selected chart.
+ */
+ selectedChart: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.shape({
+ /**
+ * Key of the selected chart.
+ */
+ key: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string.isRequired,
+
+ /**
+ * Chart label.
+ */
+ label: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string.isRequired,
+
+ /**
+ * Order query argument.
+ */
+ order: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.oneOf(['asc', 'desc']),
+
+ /**
+ * Order by query argument.
+ */
+ orderby: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string,
+
+ /**
+ * Number type for formatting.
+ */
+ type: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.oneOf(['average', 'number', 'currency']).isRequired
+ }).isRequired,
+
+ /**
+ * Data to display in the SummaryNumbers.
+ */
+ summaryData: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.object,
+
+ /**
+ * Report name, if different than the endpoint.
+ */
+ report: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string
+};
+ReportSummary.defaultProps = {
+ summaryData: {
+ totals: {
+ primary: {},
+ secondary: {}
+ },
+ isError: false,
+ isRequesting: false
+ }
+};
+ReportSummary.contextType = lib_currency_context__WEBPACK_IMPORTED_MODULE_18__[/* CurrencyContext */ "a"];
+/* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_7__[/* default */ "a"])(Object(wc_api_with_select__WEBPACK_IMPORTED_MODULE_16__[/* default */ "a"])(function (select, props) {
+ var charts = props.charts,
+ endpoint = props.endpoint,
+ isRequesting = props.isRequesting,
+ limitProperties = props.limitProperties,
+ query = props.query,
+ filters = props.filters,
+ advancedFilters = props.advancedFilters;
+ var limitBy = limitProperties || [endpoint];
+
+ if (isRequesting) {
+ return {};
+ }
+
+ var hasLimitByParam = limitBy.some(function (item) {
+ return query[item] && query[item].length;
+ });
+
+ if (query.search && !hasLimitByParam) {
+ return {
+ emptySearchResults: true
+ };
+ }
+
+ var fields = charts && charts.map(function (chart) {
+ return chart.key;
+ });
+
+ var _select$getSetting = select(_woocommerce_data__WEBPACK_IMPORTED_MODULE_13__["SETTINGS_STORE_NAME"]).getSetting('wc_admin', 'wcAdminSettings'),
+ defaultDateRange = _select$getSetting.woocommerce_default_date_range;
+
+ var summaryData = Object(wc_api_reports_utils__WEBPACK_IMPORTED_MODULE_14__[/* getSummaryNumbers */ "d"])({
+ endpoint: endpoint,
+ query: query,
+ select: select,
+ limitBy: limitBy,
+ filters: filters,
+ advancedFilters: advancedFilters,
+ defaultDateRange: defaultDateRange,
+ fields: fields
+ });
+ return {
+ summaryData: summaryData,
+ defaultDateRange: defaultDateRange
+ };
+}))(ReportSummary));
+
+/***/ }),
+
+/***/ 765:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return charts; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return filters; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return advancedFilters; });
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(48);
+/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var lib_async_requests__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(739);
+/**
+ * External dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+var COUPON_REPORT_CHARTS_FILTER = 'woocommerce_admin_coupons_report_charts';
+var COUPON_REPORT_FILTERS_FILTER = 'woocommerce_admin_coupons_report_filters';
+var COUPON_REPORT_ADVANCED_FILTERS_FILTER = 'woocommerce_admin_coupon_report_advanced_filters';
+var charts = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__["applyFilters"])(COUPON_REPORT_CHARTS_FILTER, [{
+ key: 'orders_count',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Discounted Orders', 'woocommerce-admin'),
+ order: 'desc',
+ orderby: 'orders_count',
+ type: 'number'
+}, {
+ key: 'amount',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Amount', 'woocommerce-admin'),
+ order: 'desc',
+ orderby: 'amount',
+ type: 'currency'
+}]);
+var filters = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__["applyFilters"])(COUPON_REPORT_FILTERS_FILTER, [{
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Show', 'woocommerce-admin'),
+ staticParams: [],
+ param: 'filter',
+ showFilters: function showFilters() {
+ return true;
+ },
+ filters: [{
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('All Coupons', 'woocommerce-admin'),
+ value: 'all'
+ }, {
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Single Coupon', 'woocommerce-admin'),
+ value: 'select_coupon',
+ chartMode: 'item-comparison',
+ subFilters: [{
+ component: 'Search',
+ value: 'single_coupon',
+ chartMode: 'item-comparison',
+ path: ['select_coupon'],
+ settings: {
+ type: 'coupons',
+ param: 'coupons',
+ getLabels: lib_async_requests__WEBPACK_IMPORTED_MODULE_2__[/* getCouponLabels */ "b"],
+ labels: {
+ placeholder: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Type to search for a coupon', 'woocommerce-admin'),
+ button: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Single Coupon', 'woocommerce-admin')
+ }
+ }
+ }]
+ }, {
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Comparison', 'woocommerce-admin'),
+ value: 'compare-coupons',
+ settings: {
+ type: 'coupons',
+ param: 'coupons',
+ getLabels: lib_async_requests__WEBPACK_IMPORTED_MODULE_2__[/* getCouponLabels */ "b"],
+ labels: {
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Compare Coupon Codes', 'woocommerce-admin'),
+ update: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Compare', 'woocommerce-admin'),
+ helpText: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Check at least two coupon codes below to compare', 'woocommerce-admin')
+ }
+ }
+ }]
+}]);
+var advancedFilters = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__["applyFilters"])(COUPON_REPORT_ADVANCED_FILTERS_FILTER, {});
+
+/***/ })
+
+}]);
\ No newline at end of file
diff --git a/dist/chunks/analytics-report-coupons.4c4c6b79fa3e16daf624.min.js b/dist/chunks/analytics-report-coupons.4c4c6b79fa3e16daf624.min.js
new file mode 100644
index 00000000000..113b51c600e
--- /dev/null
+++ b/dist/chunks/analytics-report-coupons.4c4c6b79fa3e16daf624.min.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{729:function(e,t,r){"use strict";r.r(t),r.d(t,"default",(function(){return A}));var n=r(15),a=r.n(n),o=r(41),c=r.n(o),i=r(40),s=r.n(i),u=r(44),l=r.n(u),m=r(29),d=r.n(m),p=r(42),f=r.n(p),y=r(0),b=r(1),g=r.n(b),h=r(3),v=r(765),O=r(59),j=r.n(O),_=r(2),R=r(63),w=r(104),q=r(22),C=r(204),D=r(26),k=r(746),P=r(203);function E(){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}}var S=function(e){f()(n,e);var t,r=(t=n,function(){var e,r=d()(t);if(E()){var n=d()(this).constructor;e=Reflect.construct(r,arguments,n)}else e=r.apply(this,arguments);return l()(this,e)});function n(){var e;return c()(this,n),(e=r.call(this)).getHeadersContent=e.getHeadersContent.bind(j()(e)),e.getRowsContent=e.getRowsContent.bind(j()(e)),e.getSummary=e.getSummary.bind(j()(e)),e}return s()(n,[{key:"getHeadersContent",value:function(){return[{label:Object(h.__)("Coupon Code","woocommerce-admin"),key:"code",required:!0,isLeftAligned:!0,isSortable:!0},{label:Object(h.__)("Orders","woocommerce-admin"),key:"orders_count",required:!0,defaultSort:!0,isSortable:!0,isNumeric:!0},{label:Object(h.__)("Amount Discounted","woocommerce-admin"),key:"amount",isSortable:!0,isNumeric:!0},{label:Object(h.__)("Created","woocommerce-admin"),key:"created"},{label:Object(h.__)("Expires","woocommerce-admin"),key:"expires"},{label:Object(h.__)("Type","woocommerce-admin"),key:"type"}]}},{key:"getRowsContent",value:function(e){var t=this,r=this.props.query,n=Object(q.getPersistedQuery)(r),a=Object(D.g)("dateFormat",w.c),o=this.context,c=o.formatCurrency,i=o.formatDecimal,s=o.getCurrency;return Object(_.map)(e,(function(e){var r=e.amount,o=e.coupon_id,u=e.orders_count,l=e.extended_info||{},m=l.code,d=l.date_created,p=l.date_expires,f=l.discount_type,b=Object(q.getNewPath)(n,"/analytics/coupons",{filter:"single_coupon",coupons:o}),g=Object(y.createElement)(R.Link,{href:b,type:"wc-admin"},m),v=Object(q.getNewPath)(n,"/analytics/orders",{filter:"advanced",coupon_includes:o});return[{display:g,value:m},{display:Object(y.createElement)(R.Link,{href:v,type:"wc-admin"},Object(C.formatValue)(s(),"number",u)),value:u},{display:c(r),value:i(r)},{display:Object(y.createElement)(R.Date,{date:d,visibleFormat:a}),value:d},{display:p?Object(y.createElement)(R.Date,{date:p,visibleFormat:a}):Object(h.__)("N/A","woocommerce-admin"),value:p},{display:t.getCouponType(f),value:f}]}))}},{key:"getSummary",value:function(e){var t=e.coupons_count,r=void 0===t?0:t,n=e.orders_count,a=void 0===n?0:n,o=e.amount,c=void 0===o?0:o,i=this.context,s=i.formatCurrency,u=(0,i.getCurrency)();return[{label:Object(h._n)("coupon","coupons",r,"woocommerce-admin"),value:Object(C.formatValue)(u,"number",r)},{label:Object(h._n)("order","orders",a,"woocommerce-admin"),value:Object(C.formatValue)(u,"number",a)},{label:Object(h.__)("amount discounted","woocommerce-admin"),value:s(c)}]}},{key:"getCouponType",value:function(e){return{percent:Object(h.__)("Percentage","woocommerce-admin"),fixed_cart:Object(h.__)("Fixed cart","woocommerce-admin"),fixed_product:Object(h.__)("Fixed product","woocommerce-admin")}[e]}},{key:"render",value:function(){var e=this.props,t=e.advancedFilters,r=e.filters,n=e.isRequesting,a=e.query;return Object(y.createElement)(k.a,{compareBy:"coupons",endpoint:"coupons",getHeadersContent:this.getHeadersContent,getRowsContent:this.getRowsContent,getSummary:this.getSummary,summaryFields:["coupons_count","orders_count","amount"],isRequesting:n,itemIdField:"coupon_id",query:a,searchBy:"coupons",tableQuery:{orderby:a.orderby||"orders_count",order:a.order||"desc",extended_info:!0},title:Object(h.__)("Coupons","woocommerce-admin"),columnPrefsKey:"coupons_report_columns",filters:r,advancedFilters:t})}}]),n}(y.Component);S.contextType=P.a;var F=S,T=r(743),x=r(741),L=r(744),V=r(745);function N(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 H(){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}}var A=function(e){f()(n,e);var t,r=(t=n,function(){var e,r=d()(t);if(H()){var n=d()(this).constructor;e=Reflect.construct(r,arguments,n)}else e=r.apply(this,arguments);return l()(this,e)});function n(){return c()(this,n),r.apply(this,arguments)}return s()(n,[{key:"getChartMeta",value:function(){var e=this.props.query,t="compare-coupons"===e.filter&&e.coupons&&e.coupons.split(",").length>1?"item-comparison":"time-comparison";return{itemsLabel:Object(h.__)("%d coupons","woocommerce-admin"),mode:t}}},{key:"render",value:function(){var e=this.props,t=e.isRequesting,r=e.query,n=e.path,o=this.getChartMeta(),c=o.mode,i=o.itemsLabel,s=function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:c.identity;return function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",a=arguments.length>1?arguments[1]:void 0,c="function"==typeof e?e(a):e,s=Object(i.getIdsFromQuery)(r);if(s.length<1)return Promise.resolve([]);var u={include:s.join(","),per_page:s.length};return o()({path:Object(n.addQueryArgs)(c,u)}).then((function(e){return e.map(t)}))}}var m=l(u.c+"/products/categories",(function(e){return{key:e.id,label:e.name}})),d=l(u.c+"/coupons",(function(e){return{key:e.id,label:e.code}})),p=l(u.c+"/customers",(function(e){return{key:e.id,label:e.name}})),f=l(u.c+"/products",(function(e){return{key:e.id,label:e.name}})),y=l(u.c+"/taxes",(function(e){return{key:e.id,label:Object(s.a)(e)}})),b=l((function(e){return u.c+"/products/".concat(e.products,"/variations")}),(function(e){return{key:e.id,label:e.attributes.reduce((function(e,t,r,n){return e+"".concat(t.option).concat(n.length===r+1?"":", ")}),"")}}))},740:function(e,t,r){"use strict";r.d(t,"a",(function(){return a}));var n=r(3);function a(e){return[e.country,e.state,e.name||Object(n.__)("TAX","woocommerce-admin"),e.priority].map((function(e){return e.toString().toUpperCase().trim()})).filter(Boolean).join("-")}},741:function(e,t,r){"use strict";var n=r(15),a=r.n(n),o=r(41),c=r.n(o),i=r(40),s=r.n(i),u=r(44),l=r.n(u),m=r(29),d=r.n(m),p=r(42),f=r.n(p),y=r(0),b=r(3),g=r(256),h=r(172),v=r(2),O=r(1),j=r.n(O),_=r(104),R=r(63),w=r(51),q=r(203),C=r(738),D=r(261),k=r(101),P=r(22);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}function S(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:{};if(!t||0===t.length)return null;var a=t.slice(0),o=a.pop();if(o.showFilters(r,n)){var c=Object(P.flattenFilters)(o.filters),i=r[o.param]||o.defaultValue||"all";return Object(v.find)(c,{value:i})}return e(a,r,n)}(a,i),m=Object(v.get)(l,["settings","param"]),d=t.mode||function(e,t){if(e&&t){var r=Object(v.get)(e,["settings","param"]);if(!r||Object.keys(t).includes(r))return Object(v.get)(e,["chartMode"])}return null}(l,i)||"time-comparison",p=e(w.SETTINGS_STORE_NAME).getSetting("wc_admin","wcAdminSettings").woocommerce_default_date_range,f={mode:d,filterParam:m,defaultDateRange:p};if(o)return f;var y=u.some((function(e){return i[e]&&i[e].length}));if(i.search&&!y)return S({},f,{emptySearchResults:!0});var b=r&&r.map((function(e){return e.key})),g=Object(C.a)({endpoint:n,dataType:"primary",query:i,select:e,limitBy:u,filters:a,advancedFilters:s,defaultDateRange:p,fields:b});return S({},f,"item-comparison"===d?{primaryData:g}:{primaryData:g,secondaryData:Object(C.a)({endpoint:n,dataType:"secondary",query:i,select:e,limitBy:u,filters:a,advancedFilters:s,defaultDateRange:p,fields:b})})})))(T)},743:function(e,t,r){"use strict";r.d(t,"a",(function(){return a}));var n=r(2);function a(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=Object(n.find)(t,{key:e});return r||t[0]}},744:function(e,t,r){"use strict";var n=r(41),a=r.n(n),o=r(40),c=r.n(o),i=r(44),s=r.n(i),u=r(29),l=r.n(u),m=r(42),d=r.n(m),p=r(0),f=r(3),y=r(256),b=r(1),g=r.n(b),h=r(104),v=r(22),O=r(63),j=r(204),_=r(51),R=r(738),w=r(261),q=r(101),C=r(79),D=r(203);function k(){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}}var P=function(e){d()(n,e);var t,r=(t=n,function(){var e,r=l()(t);if(k()){var n=l()(this).constructor;e=Reflect.construct(r,arguments,n)}else e=r.apply(this,arguments);return s()(this,e)});function n(){return a()(this,n),r.apply(this,arguments)}return c()(n,[{key:"formatVal",value:function(e,t){var r=this.context,n=r.formatCurrency,a=r.getCurrency;return"currency"===t?n(e):Object(j.formatValue)(a(),t,e)}},{key:"getValues",value:function(e,t){var r=this.props,n=r.emptySearchResults,a=r.summaryData.totals,o=n?0:a.primary[e],c=n?0:a.secondary[e];return{delta:Object(j.calculateDelta)(o,c),prevValue:this.formatVal(c,t),value:this.formatVal(o,t)}}},{key:"render",value:function(){var e=this,t=this.props,r=t.charts,n=t.isRequesting,a=t.query,o=t.selectedChart,c=t.summaryData,i=t.endpoint,s=t.report,u=t.defaultDateRange,l=c.isError,m=c.isRequesting;if(l)return Object(p.createElement)(w.a,{isError:!0});if(n||m)return Object(p.createElement)(O.SummaryListPlaceholder,{numberOfItems:r.length});var d=Object(h.h)(a,u).compare;return Object(p.createElement)(O.SummaryList,null,(function(t){var n=t.onToggle;return r.map((function(t){var r=t.key,a=t.order,c=t.orderby,u=t.label,l=t.type,m={chart:r};c&&(m.orderby=c),a&&(m.order=a);var y=Object(v.getNewPath)(m),b=o.key===r,g=e.getValues(r,l),h=g.delta,j=g.prevValue,_=g.value;return Object(p.createElement)(O.SummaryNumber,{key:r,delta:h,href:y,label:u,prevLabel:"previous_period"===d?Object(f.__)("Previous Period:","woocommerce-admin"):Object(f.__)("Previous Year:","woocommerce-admin"),prevValue:j,selected:b,value:_,onLinkClickCallback:function(){n&&n(),Object(C.b)("analytics_chart_tab_click",{report:s||i,key:r})}})}))}))}}]),n}(p.Component);P.propTypes={charts:g.a.array.isRequired,endpoint:g.a.string.isRequired,limitProperties:g.a.array,query:g.a.object.isRequired,isRequesting:g.a.bool,selectedChart:g.a.shape({key:g.a.string.isRequired,label:g.a.string.isRequired,order:g.a.oneOf(["asc","desc"]),orderby:g.a.string,type:g.a.oneOf(["average","number","currency"]).isRequired}).isRequired,summaryData:g.a.object,report:g.a.string},P.defaultProps={summaryData:{totals:{primary:{},secondary:{}},isError:!1,isRequesting:!1}},P.contextType=D.a,t.a=Object(y.a)(Object(q.a)((function(e,t){var r=t.charts,n=t.endpoint,a=t.isRequesting,o=t.limitProperties,c=t.query,i=t.filters,s=t.advancedFilters,u=o||[n];if(a)return{};var l=u.some((function(e){return c[e]&&c[e].length}));if(c.search&&!l)return{emptySearchResults:!0};var m=r&&r.map((function(e){return e.key})),d=e(_.SETTINGS_STORE_NAME).getSetting("wc_admin","wcAdminSettings").woocommerce_default_date_range;return{summaryData:Object(R.d)({endpoint:n,query:c,select:e,limitBy:u,filters:i,advancedFilters:s,defaultDateRange:d,fields:m}),defaultDateRange:d}})))(P)},765:function(e,t,r){"use strict";r.d(t,"b",(function(){return c})),r.d(t,"c",(function(){return i})),r.d(t,"a",(function(){return s}));var n=r(3),a=r(48),o=r(739),c=Object(a.applyFilters)("woocommerce_admin_coupons_report_charts",[{key:"orders_count",label:Object(n.__)("Discounted Orders","woocommerce-admin"),order:"desc",orderby:"orders_count",type:"number"},{key:"amount",label:Object(n.__)("Amount","woocommerce-admin"),order:"desc",orderby:"amount",type:"currency"}]),i=Object(a.applyFilters)("woocommerce_admin_coupons_report_filters",[{label:Object(n.__)("Show","woocommerce-admin"),staticParams:[],param:"filter",showFilters:function(){return!0},filters:[{label:Object(n.__)("All Coupons","woocommerce-admin"),value:"all"},{label:Object(n.__)("Single Coupon","woocommerce-admin"),value:"select_coupon",chartMode:"item-comparison",subFilters:[{component:"Search",value:"single_coupon",chartMode:"item-comparison",path:["select_coupon"],settings:{type:"coupons",param:"coupons",getLabels:o.b,labels:{placeholder:Object(n.__)("Type to search for a coupon","woocommerce-admin"),button:Object(n.__)("Single Coupon","woocommerce-admin")}}}]},{label:Object(n.__)("Comparison","woocommerce-admin"),value:"compare-coupons",settings:{type:"coupons",param:"coupons",getLabels:o.b,labels:{title:Object(n.__)("Compare Coupon Codes","woocommerce-admin"),update:Object(n.__)("Compare","woocommerce-admin"),helpText:Object(n.__)("Check at least two coupon codes below to compare","woocommerce-admin")}}}]}]),s=Object(a.applyFilters)("woocommerce_admin_coupon_report_advanced_filters",{})}}]);
\ No newline at end of file
diff --git a/dist/chunks/analytics-report-customers.37de523262b0df41ff86.js b/dist/chunks/analytics-report-customers.37de523262b0df41ff86.js
new file mode 100644
index 00000000000..802fd948b48
--- /dev/null
+++ b/dist/chunks/analytics-report-customers.37de523262b0df41ff86.js
@@ -0,0 +1,1015 @@
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[11],{
+
+/***/ 723:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+// ESM COMPAT FLAG
+__webpack_require__.r(__webpack_exports__);
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, "default", function() { return /* binding */ customers_CustomersReport; });
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js
+var defineProperty = __webpack_require__(15);
+var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js
+var classCallCheck = __webpack_require__(41);
+var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js
+var createClass = __webpack_require__(40);
+var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(44);
+var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(29);
+var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js
+var inherits = __webpack_require__(42);
+var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: ./node_modules/prop-types/index.js
+var prop_types = __webpack_require__(1);
+var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js
+var asyncToGenerator = __webpack_require__(46);
+var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
+
+// EXTERNAL MODULE: external {"this":["wp","i18n"]}
+var external_this_wp_i18n_ = __webpack_require__(3);
+
+// EXTERNAL MODULE: external {"this":["wp","htmlEntities"]}
+var external_this_wp_htmlEntities_ = __webpack_require__(69);
+
+// EXTERNAL MODULE: external {"this":["wp","hooks"]}
+var external_this_wp_hooks_ = __webpack_require__(48);
+
+// EXTERNAL MODULE: ./client/settings/index.js
+var settings = __webpack_require__(26);
+
+// EXTERNAL MODULE: ./client/lib/async-requests/index.js
+var async_requests = __webpack_require__(739);
+
+// EXTERNAL MODULE: ./client/wc-api/constants.js
+var constants = __webpack_require__(24);
+
+// CONCATENATED MODULE: ./client/analytics/report/customers/config.js
+
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+var _getSetting = Object(settings["g" /* getSetting */])('dataEndpoints', {
+ countries: {}
+}),
+ countries = _getSetting.countries;
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var CUSTOMERS_REPORT_FILTERS_FILTER = 'woocommerce_admin_customers_report_filters';
+var CUSTOMERS_REPORT_ADVANCED_FILTERS_FILTER = 'woocommerce_admin_customers_report_advanced_filters';
+var config_filters = Object(external_this_wp_hooks_["applyFilters"])(CUSTOMERS_REPORT_FILTERS_FILTER, [{
+ label: Object(external_this_wp_i18n_["__"])('Show', 'woocommerce-admin'),
+ staticParams: [],
+ param: 'filter',
+ showFilters: function showFilters() {
+ return true;
+ },
+ filters: [{
+ label: Object(external_this_wp_i18n_["__"])('All Customers', 'woocommerce-admin'),
+ value: 'all'
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Single Customer', 'woocommerce-admin'),
+ value: 'select_customer',
+ chartMode: 'item-comparison',
+ subFilters: [{
+ component: 'Search',
+ value: 'single_customer',
+ chartMode: 'item-comparison',
+ path: ['select_customer'],
+ settings: {
+ type: 'customers',
+ param: 'customers',
+ getLabels: async_requests["c" /* getCustomerLabels */],
+ labels: {
+ placeholder: Object(external_this_wp_i18n_["__"])('Type to search for a customer', 'woocommerce-admin'),
+ button: Object(external_this_wp_i18n_["__"])('Single Customer', 'woocommerce-admin')
+ }
+ }
+ }]
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Advanced Filters', 'woocommerce-admin'),
+ value: 'advanced'
+ }]
+}]);
+/*eslint-disable max-len*/
+
+var config_advancedFilters = Object(external_this_wp_hooks_["applyFilters"])(CUSTOMERS_REPORT_ADVANCED_FILTERS_FILTER, {
+ title: Object(external_this_wp_i18n_["_x"])('Customers Match {{select /}} Filters', 'A sentence describing filters for Customers. See screen shot for context: https://cloudup.com/cCsm3GeXJbE', 'woocommerce-admin'),
+ filters: {
+ name: {
+ labels: {
+ add: Object(external_this_wp_i18n_["__"])('Name', 'woocommerce-admin'),
+ placeholder: Object(external_this_wp_i18n_["__"])('Search', 'woocommerce-admin'),
+ remove: Object(external_this_wp_i18n_["__"])('Remove customer name filter', 'woocommerce-admin'),
+ rule: Object(external_this_wp_i18n_["__"])('Select a customer name filter match', 'woocommerce-admin'),
+
+ /* translators: A sentence describing a Product filter. See screen shot for context: https://cloudup.com/cCsm3GeXJbE */
+ title: Object(external_this_wp_i18n_["__"])('{{title}}Name{{/title}} {{rule /}} {{filter /}}', 'woocommerce-admin'),
+ filter: Object(external_this_wp_i18n_["__"])('Select customer name', 'woocommerce-admin')
+ },
+ rules: [{
+ value: 'includes',
+
+ /* translators: Sentence fragment, logical, "Includes" refers to customer names including a given name(s). Screenshot for context: https://cloudup.com/cCsm3GeXJbE */
+ label: Object(external_this_wp_i18n_["_x"])('Includes', 'customer names', 'woocommerce-admin')
+ }, {
+ value: 'excludes',
+
+ /* translators: Sentence fragment, logical, "Excludes" refers to customer names excluding a given name(s). Screenshot for context: https://cloudup.com/cCsm3GeXJbE */
+ label: Object(external_this_wp_i18n_["_x"])('Excludes', 'customer names', 'woocommerce-admin')
+ }],
+ input: {
+ component: 'Search',
+ type: 'customers',
+ getLabels: Object(async_requests["e" /* getRequestByIdString */])(constants["c" /* NAMESPACE */] + '/customers', function (customer) {
+ return {
+ id: customer.id,
+ label: customer.name
+ };
+ })
+ }
+ },
+ country: {
+ labels: {
+ add: Object(external_this_wp_i18n_["__"])('Country / Region', 'woocommerce-admin'),
+ placeholder: Object(external_this_wp_i18n_["__"])('Search', 'woocommerce-admin'),
+ remove: Object(external_this_wp_i18n_["__"])('Remove country / region filter', 'woocommerce-admin'),
+ rule: Object(external_this_wp_i18n_["__"])('Select a country / region filter match', 'woocommerce-admin'),
+
+ /* translators: A sentence describing a Product filter. See screen shot for context: https://cloudup.com/cCsm3GeXJbE */
+ title: Object(external_this_wp_i18n_["__"])('{{title}}Country / Region{{/title}} {{rule /}} {{filter /}}', 'woocommerce-admin'),
+ filter: Object(external_this_wp_i18n_["__"])('Select country / region', 'woocommerce-admin')
+ },
+ rules: [{
+ value: 'includes',
+
+ /* translators: Sentence fragment, logical, "Includes" refers to countries including a given country or countries. Screenshot for context: https://cloudup.com/cCsm3GeXJbE */
+ label: Object(external_this_wp_i18n_["_x"])('Includes', 'countries', 'woocommerce-admin')
+ }, {
+ value: 'excludes',
+
+ /* translators: Sentence fragment, logical, "Excludes" refers to countries excluding a given country or countries. Screenshot for context: https://cloudup.com/cCsm3GeXJbE */
+ label: Object(external_this_wp_i18n_["_x"])('Excludes', 'countries', 'woocommerce-admin')
+ }],
+ input: {
+ component: 'Search',
+ type: 'countries',
+ getLabels: function () {
+ var _getLabels = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee(value) {
+ var allLabels, labels;
+ return regeneratorRuntime.wrap(function _callee$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ allLabels = countries.map(function (country) {
+ return {
+ key: country.code,
+ label: Object(external_this_wp_htmlEntities_["decodeEntities"])(country.name)
+ };
+ });
+ labels = value.split(',');
+ _context.next = 4;
+ return allLabels.filter(function (label) {
+ return labels.includes(label.key);
+ });
+
+ case 4:
+ return _context.abrupt("return", _context.sent);
+
+ case 5:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, _callee);
+ }));
+
+ function getLabels(_x2) {
+ return _getLabels.apply(this, arguments);
+ }
+
+ return getLabels;
+ }()
+ }
+ },
+ username: {
+ labels: {
+ add: Object(external_this_wp_i18n_["__"])('Username', 'woocommerce-admin'),
+ placeholder: Object(external_this_wp_i18n_["__"])('Search customer username', 'woocommerce-admin'),
+ remove: Object(external_this_wp_i18n_["__"])('Remove customer username filter', 'woocommerce-admin'),
+ rule: Object(external_this_wp_i18n_["__"])('Select a customer username filter match', 'woocommerce-admin'),
+
+ /* translators: A sentence describing a customer username filter. See screen shot for context: https://cloudup.com/cCsm3GeXJbE */
+ title: Object(external_this_wp_i18n_["__"])('{{title}}Username{{/title}} {{rule /}} {{filter /}}', 'woocommerce-admin'),
+ filter: Object(external_this_wp_i18n_["__"])('Select customer username', 'woocommerce-admin')
+ },
+ rules: [{
+ value: 'includes',
+
+ /* translators: Sentence fragment, logical, "Includes" refers to customer usernames including a given username(s). Screenshot for context: https://cloudup.com/cCsm3GeXJbE */
+ label: Object(external_this_wp_i18n_["_x"])('Includes', 'customer usernames', 'woocommerce-admin')
+ }, {
+ value: 'excludes',
+
+ /* translators: Sentence fragment, logical, "Excludes" refers to customer usernames excluding a given username(s). Screenshot for context: https://cloudup.com/cCsm3GeXJbE */
+ label: Object(external_this_wp_i18n_["_x"])('Excludes', 'customer usernames', 'woocommerce-admin')
+ }],
+ input: {
+ component: 'Search',
+ type: 'usernames',
+ getLabels: async_requests["c" /* getCustomerLabels */]
+ }
+ },
+ email: {
+ labels: {
+ add: Object(external_this_wp_i18n_["__"])('Email', 'woocommerce-admin'),
+ placeholder: Object(external_this_wp_i18n_["__"])('Search customer email', 'woocommerce-admin'),
+ remove: Object(external_this_wp_i18n_["__"])('Remove customer email filter', 'woocommerce-admin'),
+ rule: Object(external_this_wp_i18n_["__"])('Select a customer email filter match', 'woocommerce-admin'),
+
+ /* translators: A sentence describing a customer email filter. See screen shot for context: https://cloudup.com/cCsm3GeXJbE */
+ title: Object(external_this_wp_i18n_["__"])('{{title}}Email{{/title}} {{rule /}} {{filter /}}', 'woocommerce-admin'),
+ filter: Object(external_this_wp_i18n_["__"])('Select customer email', 'woocommerce-admin')
+ },
+ rules: [{
+ value: 'includes',
+
+ /* translators: Sentence fragment, logical, "Includes" refers to customer emails including a given email(s). Screenshot for context: https://cloudup.com/cCsm3GeXJbE */
+ label: Object(external_this_wp_i18n_["_x"])('Includes', 'customer emails', 'woocommerce-admin')
+ }, {
+ value: 'excludes',
+
+ /* translators: Sentence fragment, logical, "Excludes" refers to customer emails excluding a given email(s). Screenshot for context: https://cloudup.com/cCsm3GeXJbE */
+ label: Object(external_this_wp_i18n_["_x"])('Excludes', 'customer emails', 'woocommerce-admin')
+ }],
+ input: {
+ component: 'Search',
+ type: 'emails',
+ getLabels: Object(async_requests["e" /* getRequestByIdString */])(constants["c" /* NAMESPACE */] + '/customers', function (customer) {
+ return {
+ id: customer.id,
+ label: customer.email
+ };
+ })
+ }
+ },
+ orders_count: {
+ labels: {
+ add: Object(external_this_wp_i18n_["__"])('No. of Orders', 'woocommerce-admin'),
+ remove: Object(external_this_wp_i18n_["__"])('Remove order filter', 'woocommerce-admin'),
+ rule: Object(external_this_wp_i18n_["__"])('Select an order count filter match', 'woocommerce-admin'),
+ title: Object(external_this_wp_i18n_["__"])('{{title}}No. of Orders{{/title}} {{rule /}} {{filter /}}', 'woocommerce-admin')
+ },
+ rules: [{
+ value: 'max',
+
+ /* translators: Sentence fragment, logical, "Less Than" refers to number of orders a customer has placed, less than a given amount. Screenshot for context: https://cloudup.com/cCsm3GeXJbE */
+ label: Object(external_this_wp_i18n_["_x"])('Less Than', 'number of orders', 'woocommerce-admin')
+ }, {
+ value: 'min',
+
+ /* translators: Sentence fragment, logical, "More Than" refers to number of orders a customer has placed, more than a given amount. Screenshot for context: https://cloudup.com/cCsm3GeXJbE */
+ label: Object(external_this_wp_i18n_["_x"])('More Than', 'number of orders', 'woocommerce-admin')
+ }, {
+ value: 'between',
+
+ /* translators: Sentence fragment, logical, "Between" refers to number of orders a customer has placed, between two given integers. Screenshot for context: https://cloudup.com/cCsm3GeXJbE */
+ label: Object(external_this_wp_i18n_["_x"])('Between', 'number of orders', 'woocommerce-admin')
+ }],
+ input: {
+ component: 'Number'
+ }
+ },
+ total_spend: {
+ labels: {
+ add: Object(external_this_wp_i18n_["__"])('Total Spend', 'woocommerce-admin'),
+ remove: Object(external_this_wp_i18n_["__"])('Remove total spend filter', 'woocommerce-admin'),
+ rule: Object(external_this_wp_i18n_["__"])('Select a total spend filter match', 'woocommerce-admin'),
+ title: Object(external_this_wp_i18n_["__"])('{{title}}Total Spend{{/title}} {{rule /}} {{filter /}}', 'woocommerce-admin')
+ },
+ rules: [{
+ value: 'max',
+
+ /* translators: Sentence fragment, logical, "Less Than" refers to total spending by a customer, less than a given amount. Screenshot for context: https://cloudup.com/cCsm3GeXJbE */
+ label: Object(external_this_wp_i18n_["_x"])('Less Than', 'total spend by customer', 'woocommerce-admin')
+ }, {
+ value: 'min',
+
+ /* translators: Sentence fragment, logical, "Less Than" refers to total spending by a customer, more than a given amount. Screenshot for context: https://cloudup.com/cCsm3GeXJbE */
+ label: Object(external_this_wp_i18n_["_x"])('More Than', 'total spend by customer', 'woocommerce-admin')
+ }, {
+ value: 'between',
+
+ /* translators: Sentence fragment, logical, "Between" refers to total spending by a customer, between two given amounts. Screenshot for context: https://cloudup.com/cCsm3GeXJbE */
+ label: Object(external_this_wp_i18n_["_x"])('Between', 'total spend by customer', 'woocommerce-admin')
+ }],
+ input: {
+ component: 'Currency'
+ }
+ },
+ avg_order_value: {
+ labels: {
+ add: Object(external_this_wp_i18n_["__"])('AOV', 'woocommerce-admin'),
+ remove: Object(external_this_wp_i18n_["__"])('Remove average order value filter', 'woocommerce-admin'),
+ rule: Object(external_this_wp_i18n_["__"])('Select an average order value filter match', 'woocommerce-admin'),
+ title: Object(external_this_wp_i18n_["__"])('{{title}}AOV{{/title}} {{rule /}} {{filter /}}', 'woocommerce-admin')
+ },
+ rules: [{
+ value: 'max',
+
+ /* translators: Sentence fragment, logical, "Less Than" refers to average order value of a customer, more than a given amount. Screenshot for context: https://cloudup.com/cCsm3GeXJbE */
+ label: Object(external_this_wp_i18n_["_x"])('Less Than', 'average order value of customer', 'woocommerce-admin')
+ }, {
+ value: 'min',
+
+ /* translators: Sentence fragment, logical, "Less Than" refers to average order value of a customer, less than a given amount. Screenshot for context: https://cloudup.com/cCsm3GeXJbE */
+ label: Object(external_this_wp_i18n_["_x"])('More Than', 'average order value of customer', 'woocommerce-admin')
+ }, {
+ value: 'between',
+
+ /* translators: Sentence fragment, logical, "Between" refers to average order value of a customer, between two given amounts. Screenshot for context: https://cloudup.com/cCsm3GeXJbE */
+ label: Object(external_this_wp_i18n_["_x"])('Between', 'average order value of customer', 'woocommerce-admin')
+ }],
+ input: {
+ component: 'Currency'
+ }
+ },
+ registered: {
+ labels: {
+ add: Object(external_this_wp_i18n_["__"])('Registered', 'woocommerce-admin'),
+ remove: Object(external_this_wp_i18n_["__"])('Remove registered filter', 'woocommerce-admin'),
+ rule: Object(external_this_wp_i18n_["__"])('Select a registered filter match', 'woocommerce-admin'),
+
+ /* translators: A sentence describing a Product filter. See screen shot for context: https://cloudup.com/cCsm3GeXJbE */
+ title: Object(external_this_wp_i18n_["__"])('{{title}}Registered{{/title}} {{rule /}} {{filter /}}', 'woocommerce-admin'),
+ filter: Object(external_this_wp_i18n_["__"])('Select registered date', 'woocommerce-admin')
+ },
+ rules: [{
+ value: 'before',
+
+ /* translators: Sentence fragment, logical, "Before" refers to customers registered before a given date. Screenshot for context: https://cloudup.com/cCsm3GeXJbE */
+ label: Object(external_this_wp_i18n_["_x"])('Before', 'date', 'woocommerce-admin')
+ }, {
+ value: 'after',
+
+ /* translators: Sentence fragment, logical, "after" refers to customers registered after a given date. Screenshot for context: https://cloudup.com/cCsm3GeXJbE */
+ label: Object(external_this_wp_i18n_["_x"])('After', 'date', 'woocommerce-admin')
+ }, {
+ value: 'between',
+
+ /* translators: Sentence fragment, logical, "Between" refers to average order value of a customer, between two given amounts. Screenshot for context: https://cloudup.com/cCsm3GeXJbE */
+ label: Object(external_this_wp_i18n_["_x"])('Between', 'date', 'woocommerce-admin')
+ }],
+ input: {
+ component: 'Date'
+ }
+ },
+ last_active: {
+ labels: {
+ add: Object(external_this_wp_i18n_["__"])('Last active', 'woocommerce-admin'),
+ remove: Object(external_this_wp_i18n_["__"])('Remove last active filter', 'woocommerce-admin'),
+ rule: Object(external_this_wp_i18n_["__"])('Select a last active filter match', 'woocommerce-admin'),
+
+ /* translators: A sentence describing a Product filter. See screen shot for context: https://cloudup.com/cCsm3GeXJbE */
+ title: Object(external_this_wp_i18n_["__"])('{{title}}Last active{{/title}} {{rule /}} {{filter /}}', 'woocommerce-admin'),
+ filter: Object(external_this_wp_i18n_["__"])('Select registered date', 'woocommerce-admin')
+ },
+ rules: [{
+ value: 'before',
+
+ /* translators: Sentence fragment, logical, "Before" refers to customers registered before a given date. Screenshot for context: https://cloudup.com/cCsm3GeXJbE */
+ label: Object(external_this_wp_i18n_["_x"])('Before', 'date', 'woocommerce-admin')
+ }, {
+ value: 'after',
+
+ /* translators: Sentence fragment, logical, "after" refers to customers registered after a given date. Screenshot for context: https://cloudup.com/cCsm3GeXJbE */
+ label: Object(external_this_wp_i18n_["_x"])('After', 'date', 'woocommerce-admin')
+ }, {
+ value: 'between',
+
+ /* translators: Sentence fragment, logical, "Between" refers to average order value of a customer, between two given amounts. Screenshot for context: https://cloudup.com/cCsm3GeXJbE */
+ label: Object(external_this_wp_i18n_["_x"])('Between', 'date', 'woocommerce-admin')
+ }],
+ input: {
+ component: 'Date'
+ }
+ }
+ }
+});
+/*eslint-enable max-len*/
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/assertThisInitialized.js
+var assertThisInitialized = __webpack_require__(59);
+var assertThisInitialized_default = /*#__PURE__*/__webpack_require__.n(assertThisInitialized);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/tooltip/index.js
+var tooltip = __webpack_require__(110);
+
+// EXTERNAL MODULE: external {"this":["wc","components"]}
+var external_this_wc_components_ = __webpack_require__(63);
+
+// EXTERNAL MODULE: external {"this":["wc","number"]}
+var external_this_wc_number_ = __webpack_require__(204);
+
+// EXTERNAL MODULE: ./client/lib/date.js
+var date = __webpack_require__(104);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-table/index.js + 2 modules
+var report_table = __webpack_require__(746);
+
+// EXTERNAL MODULE: ./client/lib/currency-context.js
+var currency_context = __webpack_require__(203);
+
+// CONCATENATED MODULE: ./client/analytics/report/customers/table.js
+
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+
+
+var table_getSetting = Object(settings["g" /* getSetting */])('dataEndpoints', {
+ countries: {}
+}),
+ table_countries = table_getSetting.countries;
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+var table_CustomersReportTable = /*#__PURE__*/function (_Component) {
+ inherits_default()(CustomersReportTable, _Component);
+
+ var _super = _createSuper(CustomersReportTable);
+
+ function CustomersReportTable() {
+ var _this;
+
+ classCallCheck_default()(this, CustomersReportTable);
+
+ _this = _super.call(this);
+ _this.getHeadersContent = _this.getHeadersContent.bind(assertThisInitialized_default()(_this));
+ _this.getRowsContent = _this.getRowsContent.bind(assertThisInitialized_default()(_this));
+ _this.getSummary = _this.getSummary.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(CustomersReportTable, [{
+ key: "getHeadersContent",
+ value: function getHeadersContent() {
+ return [{
+ label: Object(external_this_wp_i18n_["__"])('Name', 'woocommerce-admin'),
+ key: 'name',
+ required: true,
+ isLeftAligned: true,
+ isSortable: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Username', 'woocommerce-admin'),
+ key: 'username',
+ hiddenByDefault: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Last Active', 'woocommerce-admin'),
+ key: 'date_last_active',
+ defaultSort: true,
+ isSortable: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Sign Up', 'woocommerce-admin'),
+ key: 'date_registered',
+ isSortable: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Email', 'woocommerce-admin'),
+ key: 'email'
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Orders', 'woocommerce-admin'),
+ key: 'orders_count',
+ isSortable: true,
+ isNumeric: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Total Spend', 'woocommerce-admin'),
+ key: 'total_spend',
+ isSortable: true,
+ isNumeric: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('AOV', 'woocommerce-admin'),
+ screenReaderLabel: Object(external_this_wp_i18n_["__"])('Average Order Value', 'woocommerce-admin'),
+ key: 'avg_order_value',
+ isNumeric: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Country / Region', 'woocommerce-admin'),
+ key: 'country',
+ isSortable: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('City', 'woocommerce-admin'),
+ key: 'city',
+ hiddenByDefault: true,
+ isSortable: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Region', 'woocommerce-admin'),
+ key: 'state',
+ hiddenByDefault: true,
+ isSortable: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Postal Code', 'woocommerce-admin'),
+ key: 'postcode',
+ hiddenByDefault: true,
+ isSortable: true
+ }];
+ }
+ }, {
+ key: "getCountryName",
+ value: function getCountryName(code) {
+ return typeof table_countries[code] !== 'undefined' ? table_countries[code] : null;
+ }
+ }, {
+ key: "getRowsContent",
+ value: function getRowsContent(customers) {
+ var _this2 = this;
+
+ var dateFormat = Object(settings["g" /* getSetting */])('dateFormat', date["c" /* defaultTableDateFormat */]);
+ var _this$context = this.context,
+ formatCurrency = _this$context.formatCurrency,
+ getCurrencyFormatDecimal = _this$context.formatDecimal,
+ getCurrency = _this$context.getCurrency;
+ return customers.map(function (customer) {
+ var avgOrderValue = customer.avg_order_value,
+ dateLastActive = customer.date_last_active,
+ dateRegistered = customer.date_registered,
+ email = customer.email,
+ name = customer.name,
+ userId = customer.user_id,
+ ordersCount = customer.orders_count,
+ username = customer.username,
+ totalSpend = customer.total_spend,
+ postcode = customer.postcode,
+ city = customer.city,
+ state = customer.state,
+ country = customer.country;
+
+ var countryName = _this2.getCountryName(country);
+
+ var customerNameLink = userId ? Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: Object(settings["f" /* getAdminLink */])('user-edit.php?user_id=' + userId),
+ type: "wp-admin"
+ }, name) : name;
+ var dateLastActiveDisplay = dateLastActive ? Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Date"], {
+ date: dateLastActive,
+ visibleFormat: dateFormat
+ }) : '—';
+ var dateRegisteredDisplay = dateRegistered ? Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Date"], {
+ date: dateRegistered,
+ visibleFormat: dateFormat
+ }) : '—';
+ var countryDisplay = Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(tooltip["a" /* default */], {
+ text: countryName
+ }, Object(external_this_wp_element_["createElement"])("span", {
+ "aria-hidden": "true"
+ }, country)), Object(external_this_wp_element_["createElement"])("span", {
+ className: "screen-reader-text"
+ }, countryName));
+ return [{
+ display: customerNameLink,
+ value: name
+ }, {
+ display: username,
+ value: username
+ }, {
+ display: dateLastActiveDisplay,
+ value: dateLastActive
+ }, {
+ display: dateRegisteredDisplay,
+ value: dateRegistered
+ }, {
+ display: Object(external_this_wp_element_["createElement"])("a", {
+ href: 'mailto:' + email
+ }, email),
+ value: email
+ }, {
+ display: Object(external_this_wc_number_["formatValue"])(getCurrency(), 'number', ordersCount),
+ value: ordersCount
+ }, {
+ display: formatCurrency(totalSpend),
+ value: getCurrencyFormatDecimal(totalSpend)
+ }, {
+ display: formatCurrency(avgOrderValue),
+ value: getCurrencyFormatDecimal(avgOrderValue)
+ }, {
+ display: countryDisplay,
+ value: country
+ }, {
+ display: city,
+ value: city
+ }, {
+ display: state,
+ value: state
+ }, {
+ display: postcode,
+ value: postcode
+ }];
+ });
+ }
+ }, {
+ key: "getSummary",
+ value: function getSummary(totals) {
+ var _totals$customers_cou = totals.customers_count,
+ customersCount = _totals$customers_cou === void 0 ? 0 : _totals$customers_cou,
+ _totals$avg_orders_co = totals.avg_orders_count,
+ avgOrdersCount = _totals$avg_orders_co === void 0 ? 0 : _totals$avg_orders_co,
+ _totals$avg_total_spe = totals.avg_total_spend,
+ avgTotalSpend = _totals$avg_total_spe === void 0 ? 0 : _totals$avg_total_spe,
+ _totals$avg_avg_order = totals.avg_avg_order_value,
+ avgAvgOrderValue = _totals$avg_avg_order === void 0 ? 0 : _totals$avg_avg_order;
+ var _this$context2 = this.context,
+ formatCurrency = _this$context2.formatCurrency,
+ getCurrency = _this$context2.getCurrency;
+ var currency = getCurrency();
+ return [{
+ label: Object(external_this_wp_i18n_["_n"])('customer', 'customers', customersCount, 'woocommerce-admin'),
+ value: Object(external_this_wc_number_["formatValue"])(currency, 'number', customersCount)
+ }, {
+ label: Object(external_this_wp_i18n_["_n"])('average order', 'average orders', avgOrdersCount, 'woocommerce-admin'),
+ value: Object(external_this_wc_number_["formatValue"])(currency, 'number', avgOrdersCount)
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('average lifetime spend', 'woocommerce-admin'),
+ value: formatCurrency(avgTotalSpend)
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('average order value', 'woocommerce-admin'),
+ value: formatCurrency(avgAvgOrderValue)
+ }];
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ isRequesting = _this$props.isRequesting,
+ query = _this$props.query,
+ filters = _this$props.filters,
+ advancedFilters = _this$props.advancedFilters;
+ return Object(external_this_wp_element_["createElement"])(report_table["a" /* default */], {
+ endpoint: "customers",
+ getHeadersContent: this.getHeadersContent,
+ getRowsContent: this.getRowsContent,
+ getSummary: this.getSummary,
+ summaryFields: ['customers_count', 'avg_orders_count', 'avg_total_spend', 'avg_avg_order_value'],
+ isRequesting: isRequesting,
+ itemIdField: "id",
+ query: query,
+ labels: {
+ placeholder: Object(external_this_wp_i18n_["__"])('Search by customer name', 'woocommerce-admin')
+ },
+ searchBy: "customers",
+ title: Object(external_this_wp_i18n_["__"])('Customers', 'woocommerce-admin'),
+ columnPrefsKey: "customers_report_columns",
+ filters: filters,
+ advancedFilters: advancedFilters
+ });
+ }
+ }]);
+
+ return CustomersReportTable;
+}(external_this_wp_element_["Component"]);
+
+table_CustomersReportTable.contextType = currency_context["a" /* CurrencyContext */];
+/* harmony default export */ var table = (table_CustomersReportTable);
+// EXTERNAL MODULE: ./client/analytics/components/report-filters/index.js
+var report_filters = __webpack_require__(745);
+
+// CONCATENATED MODULE: ./client/analytics/report/customers/index.js
+
+
+
+
+
+
+
+
+function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+function customers_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (customers_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function customers_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+var customers_CustomersReport = /*#__PURE__*/function (_Component) {
+ inherits_default()(CustomersReport, _Component);
+
+ var _super = customers_createSuper(CustomersReport);
+
+ function CustomersReport() {
+ classCallCheck_default()(this, CustomersReport);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(CustomersReport, [{
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ isRequesting = _this$props.isRequesting,
+ query = _this$props.query,
+ path = _this$props.path;
+
+ var tableQuery = _objectSpread({
+ orderby: 'date_last_active',
+ order: 'desc'
+ }, query);
+
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(report_filters["a" /* default */], {
+ query: query,
+ path: path,
+ filters: config_filters,
+ showDatePicker: false,
+ advancedFilters: config_advancedFilters,
+ report: "customers"
+ }), Object(external_this_wp_element_["createElement"])(table, {
+ isRequesting: isRequesting,
+ query: tableQuery,
+ filters: config_filters,
+ advancedFilters: config_advancedFilters
+ }));
+ }
+ }]);
+
+ return CustomersReport;
+}(external_this_wp_element_["Component"]);
+
+
+customers_CustomersReport.propTypes = {
+ query: prop_types_default.a.object.isRequired
+};
+
+/***/ }),
+
+/***/ 739:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return getRequestByIdString; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getCategoryLabels; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getCouponLabels; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return getCustomerLabels; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return getProductLabels; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return getTaxRateLabels; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return getVariationLabels; });
+/* harmony import */ var _wordpress_url__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(30);
+/* harmony import */ var _wordpress_url__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_url__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20);
+/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _woocommerce_navigation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(22);
+/* harmony import */ var _woocommerce_navigation__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var analytics_report_taxes_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(740);
+/* harmony import */ var wc_api_constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(24);
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+/**
+ * Get a function that accepts ids as they are found in url parameter and
+ * returns a promise with an optional method applied to results
+ *
+ * @param {string|Function} path - api path string or a function of the query returning api path string
+ * @param {Function} [handleData] - function applied to each iteration of data
+ * @return {Function} - a function of ids returning a promise
+ */
+
+function getRequestByIdString(path) {
+ var handleData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : lodash__WEBPACK_IMPORTED_MODULE_2__["identity"];
+ return function () {
+ var queryString = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
+ var query = arguments.length > 1 ? arguments[1] : undefined;
+ var pathString = typeof path === 'function' ? path(query) : path;
+ var idList = Object(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_3__["getIdsFromQuery"])(queryString);
+
+ if (idList.length < 1) {
+ return Promise.resolve([]);
+ }
+
+ var payload = {
+ include: idList.join(','),
+ per_page: idList.length
+ };
+ return _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_1___default()({
+ path: Object(_wordpress_url__WEBPACK_IMPORTED_MODULE_0__["addQueryArgs"])(pathString, payload)
+ }).then(function (data) {
+ return data.map(handleData);
+ });
+ };
+}
+var getCategoryLabels = getRequestByIdString(wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + '/products/categories', function (category) {
+ return {
+ key: category.id,
+ label: category.name
+ };
+});
+var getCouponLabels = getRequestByIdString(wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + '/coupons', function (coupon) {
+ return {
+ key: coupon.id,
+ label: coupon.code
+ };
+});
+var getCustomerLabels = getRequestByIdString(wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + '/customers', function (customer) {
+ return {
+ key: customer.id,
+ label: customer.name
+ };
+});
+var getProductLabels = getRequestByIdString(wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + '/products', function (product) {
+ return {
+ key: product.id,
+ label: product.name
+ };
+});
+var getTaxRateLabels = getRequestByIdString(wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + '/taxes', function (taxRate) {
+ return {
+ key: taxRate.id,
+ label: Object(analytics_report_taxes_utils__WEBPACK_IMPORTED_MODULE_4__[/* getTaxCode */ "a"])(taxRate)
+ };
+});
+var getVariationLabels = getRequestByIdString(function (query) {
+ return wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + "/products/".concat(query.products, "/variations");
+}, function (variation) {
+ return {
+ key: variation.id,
+ label: variation.attributes.reduce(function (desc, attribute, index, arr) {
+ return desc + "".concat(attribute.option).concat(arr.length === index + 1 ? '' : ', ');
+ }, '')
+ };
+});
+
+/***/ }),
+
+/***/ 740:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getTaxCode; });
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__);
+/**
+ * External dependencies
+ */
+
+function getTaxCode(tax) {
+ return [tax.country, tax.state, tax.name || Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('TAX', 'woocommerce-admin'), tax.priority].map(function (item) {
+ return item.toString().toUpperCase().trim();
+ }).filter(Boolean).join('-');
+}
+
+/***/ }),
+
+/***/ 749:
+/***/ (function(module, exports, __webpack_require__) {
+
+var arrayWithHoles = __webpack_require__(750);
+
+var iterableToArrayLimit = __webpack_require__(751);
+
+var unsupportedIterableToArray = __webpack_require__(425);
+
+var nonIterableRest = __webpack_require__(752);
+
+function _slicedToArray(arr, i) {
+ return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();
+}
+
+module.exports = _slicedToArray;
+
+/***/ }),
+
+/***/ 750:
+/***/ (function(module, exports) {
+
+function _arrayWithHoles(arr) {
+ if (Array.isArray(arr)) return arr;
+}
+
+module.exports = _arrayWithHoles;
+
+/***/ }),
+
+/***/ 751:
+/***/ (function(module, exports) {
+
+function _iterableToArrayLimit(arr, i) {
+ if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
+ var _arr = [];
+ var _n = true;
+ var _d = false;
+ var _e = undefined;
+
+ try {
+ for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
+ _arr.push(_s.value);
+
+ if (i && _arr.length === i) break;
+ }
+ } catch (err) {
+ _d = true;
+ _e = err;
+ } finally {
+ try {
+ if (!_n && _i["return"] != null) _i["return"]();
+ } finally {
+ if (_d) throw _e;
+ }
+ }
+
+ return _arr;
+}
+
+module.exports = _iterableToArrayLimit;
+
+/***/ }),
+
+/***/ 752:
+/***/ (function(module, exports) {
+
+function _nonIterableRest() {
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+
+module.exports = _nonIterableRest;
+
+/***/ })
+
+}]);
\ No newline at end of file
diff --git a/dist/chunks/analytics-report-customers.37de523262b0df41ff86.min.js b/dist/chunks/analytics-report-customers.37de523262b0df41ff86.min.js
new file mode 100644
index 00000000000..4b7db07e33b
--- /dev/null
+++ b/dist/chunks/analytics-report-customers.37de523262b0df41ff86.min.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{723:function(e,t,r){"use strict";r.r(t),r.d(t,"default",(function(){return Q}));var o,c=r(15),a=r.n(c),n=r(41),m=r.n(n),l=r(40),i=r.n(l),u=r(44),s=r.n(u),d=r(29),b=r.n(d),_=r(42),f=r.n(_),p=r(0),v=r(1),O=r.n(v),j=r(46),y=r.n(j),w=r(3),g=r(69),h=r(48),S=r(26),x=r(739),R=r(24),C=Object(S.g)("dataEndpoints",{countries:{}}).countries,k=Object(h.applyFilters)("woocommerce_admin_customers_report_filters",[{label:Object(w.__)("Show","woocommerce-admin"),staticParams:[],param:"filter",showFilters:function(){return!0},filters:[{label:Object(w.__)("All Customers","woocommerce-admin"),value:"all"},{label:Object(w.__)("Single Customer","woocommerce-admin"),value:"select_customer",chartMode:"item-comparison",subFilters:[{component:"Search",value:"single_customer",chartMode:"item-comparison",path:["select_customer"],settings:{type:"customers",param:"customers",getLabels:x.c,labels:{placeholder:Object(w.__)("Type to search for a customer","woocommerce-admin"),button:Object(w.__)("Single Customer","woocommerce-admin")}}}]},{label:Object(w.__)("Advanced Filters","woocommerce-admin"),value:"advanced"}]}]),E=Object(h.applyFilters)("woocommerce_admin_customers_report_advanced_filters",{title:Object(w._x)("Customers Match {{select /}} Filters","A sentence describing filters for Customers. See screen shot for context: https://cloudup.com/cCsm3GeXJbE","woocommerce-admin"),filters:{name:{labels:{add:Object(w.__)("Name","woocommerce-admin"),placeholder:Object(w.__)("Search","woocommerce-admin"),remove:Object(w.__)("Remove customer name filter","woocommerce-admin"),rule:Object(w.__)("Select a customer name filter match","woocommerce-admin"),title:Object(w.__)("{{title}}Name{{/title}} {{rule /}} {{filter /}}","woocommerce-admin"),filter:Object(w.__)("Select customer name","woocommerce-admin")},rules:[{value:"includes",label:Object(w._x)("Includes","customer names","woocommerce-admin")},{value:"excludes",label:Object(w._x)("Excludes","customer names","woocommerce-admin")}],input:{component:"Search",type:"customers",getLabels:Object(x.e)(R.c+"/customers",(function(e){return{id:e.id,label:e.name}}))}},country:{labels:{add:Object(w.__)("Country / Region","woocommerce-admin"),placeholder:Object(w.__)("Search","woocommerce-admin"),remove:Object(w.__)("Remove country / region filter","woocommerce-admin"),rule:Object(w.__)("Select a country / region filter match","woocommerce-admin"),title:Object(w.__)("{{title}}Country / Region{{/title}} {{rule /}} {{filter /}}","woocommerce-admin"),filter:Object(w.__)("Select country / region","woocommerce-admin")},rules:[{value:"includes",label:Object(w._x)("Includes","countries","woocommerce-admin")},{value:"excludes",label:Object(w._x)("Excludes","countries","woocommerce-admin")}],input:{component:"Search",type:"countries",getLabels:(o=y()(regeneratorRuntime.mark((function e(t){var r,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=C.map((function(e){return{key:e.code,label:Object(g.decodeEntities)(e.name)}})),o=t.split(","),e.next=4,r.filter((function(e){return o.includes(e.key)}));case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e)}))),function(e){return o.apply(this,arguments)})}},username:{labels:{add:Object(w.__)("Username","woocommerce-admin"),placeholder:Object(w.__)("Search customer username","woocommerce-admin"),remove:Object(w.__)("Remove customer username filter","woocommerce-admin"),rule:Object(w.__)("Select a customer username filter match","woocommerce-admin"),title:Object(w.__)("{{title}}Username{{/title}} {{rule /}} {{filter /}}","woocommerce-admin"),filter:Object(w.__)("Select customer username","woocommerce-admin")},rules:[{value:"includes",label:Object(w._x)("Includes","customer usernames","woocommerce-admin")},{value:"excludes",label:Object(w._x)("Excludes","customer usernames","woocommerce-admin")}],input:{component:"Search",type:"usernames",getLabels:x.c}},email:{labels:{add:Object(w.__)("Email","woocommerce-admin"),placeholder:Object(w.__)("Search customer email","woocommerce-admin"),remove:Object(w.__)("Remove customer email filter","woocommerce-admin"),rule:Object(w.__)("Select a customer email filter match","woocommerce-admin"),title:Object(w.__)("{{title}}Email{{/title}} {{rule /}} {{filter /}}","woocommerce-admin"),filter:Object(w.__)("Select customer email","woocommerce-admin")},rules:[{value:"includes",label:Object(w._x)("Includes","customer emails","woocommerce-admin")},{value:"excludes",label:Object(w._x)("Excludes","customer emails","woocommerce-admin")}],input:{component:"Search",type:"emails",getLabels:Object(x.e)(R.c+"/customers",(function(e){return{id:e.id,label:e.email}}))}},orders_count:{labels:{add:Object(w.__)("No. of Orders","woocommerce-admin"),remove:Object(w.__)("Remove order filter","woocommerce-admin"),rule:Object(w.__)("Select an order count filter match","woocommerce-admin"),title:Object(w.__)("{{title}}No. of Orders{{/title}} {{rule /}} {{filter /}}","woocommerce-admin")},rules:[{value:"max",label:Object(w._x)("Less Than","number of orders","woocommerce-admin")},{value:"min",label:Object(w._x)("More Than","number of orders","woocommerce-admin")},{value:"between",label:Object(w._x)("Between","number of orders","woocommerce-admin")}],input:{component:"Number"}},total_spend:{labels:{add:Object(w.__)("Total Spend","woocommerce-admin"),remove:Object(w.__)("Remove total spend filter","woocommerce-admin"),rule:Object(w.__)("Select a total spend filter match","woocommerce-admin"),title:Object(w.__)("{{title}}Total Spend{{/title}} {{rule /}} {{filter /}}","woocommerce-admin")},rules:[{value:"max",label:Object(w._x)("Less Than","total spend by customer","woocommerce-admin")},{value:"min",label:Object(w._x)("More Than","total spend by customer","woocommerce-admin")},{value:"between",label:Object(w._x)("Between","total spend by customer","woocommerce-admin")}],input:{component:"Currency"}},avg_order_value:{labels:{add:Object(w.__)("AOV","woocommerce-admin"),remove:Object(w.__)("Remove average order value filter","woocommerce-admin"),rule:Object(w.__)("Select an average order value filter match","woocommerce-admin"),title:Object(w.__)("{{title}}AOV{{/title}} {{rule /}} {{filter /}}","woocommerce-admin")},rules:[{value:"max",label:Object(w._x)("Less Than","average order value of customer","woocommerce-admin")},{value:"min",label:Object(w._x)("More Than","average order value of customer","woocommerce-admin")},{value:"between",label:Object(w._x)("Between","average order value of customer","woocommerce-admin")}],input:{component:"Currency"}},registered:{labels:{add:Object(w.__)("Registered","woocommerce-admin"),remove:Object(w.__)("Remove registered filter","woocommerce-admin"),rule:Object(w.__)("Select a registered filter match","woocommerce-admin"),title:Object(w.__)("{{title}}Registered{{/title}} {{rule /}} {{filter /}}","woocommerce-admin"),filter:Object(w.__)("Select registered date","woocommerce-admin")},rules:[{value:"before",label:Object(w._x)("Before","date","woocommerce-admin")},{value:"after",label:Object(w._x)("After","date","woocommerce-admin")},{value:"between",label:Object(w._x)("Between","date","woocommerce-admin")}],input:{component:"Date"}},last_active:{labels:{add:Object(w.__)("Last active","woocommerce-admin"),remove:Object(w.__)("Remove last active filter","woocommerce-admin"),rule:Object(w.__)("Select a last active filter match","woocommerce-admin"),title:Object(w.__)("{{title}}Last active{{/title}} {{rule /}} {{filter /}}","woocommerce-admin"),filter:Object(w.__)("Select registered date","woocommerce-admin")},rules:[{value:"before",label:Object(w._x)("Before","date","woocommerce-admin")},{value:"after",label:Object(w._x)("After","date","woocommerce-admin")},{value:"between",label:Object(w._x)("Between","date","woocommerce-admin")}],input:{component:"Date"}}}}),D=r(59),F=r.n(D),A=r(110),P=r(63),L=r(204),T=r(104),B=r(746),q=r(203);function N(){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}}var I=Object(S.g)("dataEndpoints",{countries:{}}).countries,V=function(e){f()(o,e);var t,r=(t=o,function(){var e,r=b()(t);if(N()){var o=b()(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return s()(this,e)});function o(){var e;return m()(this,o),(e=r.call(this)).getHeadersContent=e.getHeadersContent.bind(F()(e)),e.getRowsContent=e.getRowsContent.bind(F()(e)),e.getSummary=e.getSummary.bind(F()(e)),e}return i()(o,[{key:"getHeadersContent",value:function(){return[{label:Object(w.__)("Name","woocommerce-admin"),key:"name",required:!0,isLeftAligned:!0,isSortable:!0},{label:Object(w.__)("Username","woocommerce-admin"),key:"username",hiddenByDefault:!0},{label:Object(w.__)("Last Active","woocommerce-admin"),key:"date_last_active",defaultSort:!0,isSortable:!0},{label:Object(w.__)("Sign Up","woocommerce-admin"),key:"date_registered",isSortable:!0},{label:Object(w.__)("Email","woocommerce-admin"),key:"email"},{label:Object(w.__)("Orders","woocommerce-admin"),key:"orders_count",isSortable:!0,isNumeric:!0},{label:Object(w.__)("Total Spend","woocommerce-admin"),key:"total_spend",isSortable:!0,isNumeric:!0},{label:Object(w.__)("AOV","woocommerce-admin"),screenReaderLabel:Object(w.__)("Average Order Value","woocommerce-admin"),key:"avg_order_value",isNumeric:!0},{label:Object(w.__)("Country / Region","woocommerce-admin"),key:"country",isSortable:!0},{label:Object(w.__)("City","woocommerce-admin"),key:"city",hiddenByDefault:!0,isSortable:!0},{label:Object(w.__)("Region","woocommerce-admin"),key:"state",hiddenByDefault:!0,isSortable:!0},{label:Object(w.__)("Postal Code","woocommerce-admin"),key:"postcode",hiddenByDefault:!0,isSortable:!0}]}},{key:"getCountryName",value:function(e){return void 0!==I[e]?I[e]:null}},{key:"getRowsContent",value:function(e){var t=this,r=Object(S.g)("dateFormat",T.c),o=this.context,c=o.formatCurrency,a=o.formatDecimal,n=o.getCurrency;return e.map((function(e){var o=e.avg_order_value,m=e.date_last_active,l=e.date_registered,i=e.email,u=e.name,s=e.user_id,d=e.orders_count,b=e.username,_=e.total_spend,f=e.postcode,v=e.city,O=e.state,j=e.country,y=t.getCountryName(j),w=s?Object(p.createElement)(P.Link,{href:Object(S.f)("user-edit.php?user_id="+s),type:"wp-admin"},u):u,g=m?Object(p.createElement)(P.Date,{date:m,visibleFormat:r}):"—",h=l?Object(p.createElement)(P.Date,{date:l,visibleFormat:r}):"—",x=Object(p.createElement)(p.Fragment,null,Object(p.createElement)(A.a,{text:y},Object(p.createElement)("span",{"aria-hidden":"true"},j)),Object(p.createElement)("span",{className:"screen-reader-text"},y));return[{display:w,value:u},{display:b,value:b},{display:g,value:m},{display:h,value:l},{display:Object(p.createElement)("a",{href:"mailto:"+i},i),value:i},{display:Object(L.formatValue)(n(),"number",d),value:d},{display:c(_),value:a(_)},{display:c(o),value:a(o)},{display:x,value:j},{display:v,value:v},{display:O,value:O},{display:f,value:f}]}))}},{key:"getSummary",value:function(e){var t=e.customers_count,r=void 0===t?0:t,o=e.avg_orders_count,c=void 0===o?0:o,a=e.avg_total_spend,n=void 0===a?0:a,m=e.avg_avg_order_value,l=void 0===m?0:m,i=this.context,u=i.formatCurrency,s=(0,i.getCurrency)();return[{label:Object(w._n)("customer","customers",r,"woocommerce-admin"),value:Object(L.formatValue)(s,"number",r)},{label:Object(w._n)("average order","average orders",c,"woocommerce-admin"),value:Object(L.formatValue)(s,"number",c)},{label:Object(w.__)("average lifetime spend","woocommerce-admin"),value:u(n)},{label:Object(w.__)("average order value","woocommerce-admin"),value:u(l)}]}},{key:"render",value:function(){var e=this.props,t=e.isRequesting,r=e.query,o=e.filters,c=e.advancedFilters;return Object(p.createElement)(B.a,{endpoint:"customers",getHeadersContent:this.getHeadersContent,getRowsContent:this.getRowsContent,getSummary:this.getSummary,summaryFields:["customers_count","avg_orders_count","avg_total_spend","avg_avg_order_value"],isRequesting:t,itemIdField:"id",query:r,labels:{placeholder:Object(w.__)("Search by customer name","woocommerce-admin")},searchBy:"customers",title:Object(w.__)("Customers","woocommerce-admin"),columnPrefsKey:"customers_report_columns",filters:o,advancedFilters:c})}}]),o}(p.Component);V.contextType=q.a;var M=V,H=r(745);function U(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function J(){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}}var Q=function(e){f()(o,e);var t,r=(t=o,function(){var e,r=b()(t);if(J()){var o=b()(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return s()(this,e)});function o(){return m()(this,o),r.apply(this,arguments)}return i()(o,[{key:"render",value:function(){var e=this.props,t=e.isRequesting,r=e.query,o=e.path,c=function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:n.identity;return function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",c=arguments.length>1?arguments[1]:void 0,n="function"==typeof e?e(c):e,l=Object(m.getIdsFromQuery)(r);if(l.length<1)return Promise.resolve([]);var i={include:l.join(","),per_page:l.length};return a()({path:Object(o.addQueryArgs)(n,i)}).then((function(e){return e.map(t)}))}}var s=u(i.c+"/products/categories",(function(e){return{key:e.id,label:e.name}})),d=u(i.c+"/coupons",(function(e){return{key:e.id,label:e.code}})),b=u(i.c+"/customers",(function(e){return{key:e.id,label:e.name}})),_=u(i.c+"/products",(function(e){return{key:e.id,label:e.name}})),f=u(i.c+"/taxes",(function(e){return{key:e.id,label:Object(l.a)(e)}})),p=u((function(e){return i.c+"/products/".concat(e.products,"/variations")}),(function(e){return{key:e.id,label:e.attributes.reduce((function(e,t,r,o){return e+"".concat(t.option).concat(o.length===r+1?"":", ")}),"")}}))},740:function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));var o=r(3);function c(e){return[e.country,e.state,e.name||Object(o.__)("TAX","woocommerce-admin"),e.priority].map((function(e){return e.toString().toUpperCase().trim()})).filter(Boolean).join("-")}},749:function(e,t,r){var o=r(750),c=r(751),a=r(425),n=r(752);e.exports=function(e,t){return o(e)||c(e,t)||a(e,t)||n()}},750:function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},751:function(e,t){e.exports=function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var r=[],o=!0,c=!1,a=void 0;try{for(var n,m=e[Symbol.iterator]();!(o=(n=m.next()).done)&&(r.push(n.value),!t||r.length!==t);o=!0);}catch(e){c=!0,a=e}finally{try{o||null==m.return||m.return()}finally{if(c)throw a}}return r}}},752:function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}}}]);
\ No newline at end of file
diff --git a/dist/chunks/analytics-report-downloads.7191d6b82a766d8772ee.js b/dist/chunks/analytics-report-downloads.7191d6b82a766d8772ee.js
new file mode 100644
index 00000000000..7e3615f4727
--- /dev/null
+++ b/dist/chunks/analytics-report-downloads.7191d6b82a766d8772ee.js
@@ -0,0 +1,1633 @@
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[12],{
+
+/***/ 727:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+// ESM COMPAT FLAG
+__webpack_require__.r(__webpack_exports__);
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, "default", function() { return /* binding */ downloads_DownloadsReport; });
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js
+var classCallCheck = __webpack_require__(41);
+var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js
+var createClass = __webpack_require__(40);
+var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(44);
+var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(29);
+var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js
+var inherits = __webpack_require__(42);
+var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: ./node_modules/prop-types/index.js
+var prop_types = __webpack_require__(1);
+var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
+
+// EXTERNAL MODULE: ./client/analytics/report/downloads/config.js
+var config = __webpack_require__(767);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/assertThisInitialized.js
+var assertThisInitialized = __webpack_require__(59);
+var assertThisInitialized_default = /*#__PURE__*/__webpack_require__.n(assertThisInitialized);
+
+// EXTERNAL MODULE: external {"this":["wp","i18n"]}
+var external_this_wp_i18n_ = __webpack_require__(3);
+
+// EXTERNAL MODULE: external {"this":["wp","data"]}
+var external_this_wp_data_ = __webpack_require__(19);
+
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__(2);
+
+// EXTERNAL MODULE: external "moment"
+var external_moment_ = __webpack_require__(12);
+var external_moment_default = /*#__PURE__*/__webpack_require__.n(external_moment_);
+
+// EXTERNAL MODULE: ./client/lib/date.js
+var lib_date = __webpack_require__(104);
+
+// EXTERNAL MODULE: external {"this":["wc","components"]}
+var external_this_wc_components_ = __webpack_require__(63);
+
+// EXTERNAL MODULE: external {"this":["wc","navigation"]}
+var external_this_wc_navigation_ = __webpack_require__(22);
+
+// EXTERNAL MODULE: external {"this":["wc","number"]}
+var external_this_wc_number_ = __webpack_require__(204);
+
+// EXTERNAL MODULE: ./client/settings/index.js
+var settings = __webpack_require__(26);
+
+// EXTERNAL MODULE: external {"this":["wc","data"]}
+var external_this_wc_data_ = __webpack_require__(51);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-table/index.js + 2 modules
+var report_table = __webpack_require__(746);
+
+// EXTERNAL MODULE: ./client/lib/currency-context.js
+var currency_context = __webpack_require__(203);
+
+// CONCATENATED MODULE: ./client/analytics/report/downloads/table.js
+
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var table_CouponsReportTable = /*#__PURE__*/function (_Component) {
+ inherits_default()(CouponsReportTable, _Component);
+
+ var _super = _createSuper(CouponsReportTable);
+
+ function CouponsReportTable() {
+ var _this;
+
+ classCallCheck_default()(this, CouponsReportTable);
+
+ _this = _super.call(this);
+ _this.getHeadersContent = _this.getHeadersContent.bind(assertThisInitialized_default()(_this));
+ _this.getRowsContent = _this.getRowsContent.bind(assertThisInitialized_default()(_this));
+ _this.getSummary = _this.getSummary.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(CouponsReportTable, [{
+ key: "getHeadersContent",
+ value: function getHeadersContent() {
+ return [{
+ label: Object(external_this_wp_i18n_["__"])('Date', 'woocommerce-admin'),
+ key: 'date',
+ defaultSort: true,
+ required: true,
+ isLeftAligned: true,
+ isSortable: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Product Title', 'woocommerce-admin'),
+ key: 'product',
+ isSortable: true,
+ required: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('File Name', 'woocommerce-admin'),
+ key: 'file_name'
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Order #', 'woocommerce-admin'),
+ screenReaderLabel: Object(external_this_wp_i18n_["__"])('Order Number', 'woocommerce-admin'),
+ key: 'order_number'
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Username', 'woocommerce-admin'),
+ key: 'user_id'
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('IP', 'woocommerce-admin'),
+ key: 'ip_address'
+ }];
+ }
+ }, {
+ key: "getRowsContent",
+ value: function getRowsContent(downloads) {
+ var query = this.props.query;
+ var persistedQuery = Object(external_this_wc_navigation_["getPersistedQuery"])(query);
+ var dateFormat = Object(settings["g" /* getSetting */])('dateFormat', lib_date["c" /* defaultTableDateFormat */]);
+ return Object(external_lodash_["map"])(downloads, function (download) {
+ var _embedded = download._embedded,
+ date = download.date,
+ fileName = download.file_name,
+ filePath = download.file_path,
+ ipAddress = download.ip_address,
+ orderId = download.order_id,
+ orderNumber = download.order_number,
+ productId = download.product_id,
+ username = download.username;
+ var productName = _embedded.product[0].name;
+ var productLink = Object(external_this_wc_navigation_["getNewPath"])(persistedQuery, '/analytics/products', {
+ filter: 'single_product',
+ products: productId
+ });
+ return [{
+ display: Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Date"], {
+ date: date,
+ visibleFormat: dateFormat
+ }),
+ value: date
+ }, {
+ display: Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: productLink,
+ type: "wc-admin"
+ }, productName),
+ value: productName
+ }, {
+ display: Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: filePath,
+ type: "external"
+ }, fileName),
+ value: fileName
+ }, {
+ display: Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: Object(settings["f" /* getAdminLink */])("post.php?post=".concat(orderId, "&action=edit")),
+ type: "wp-admin"
+ }, orderNumber),
+ value: orderNumber
+ }, {
+ display: username,
+ value: username
+ }, {
+ display: ipAddress,
+ value: ipAddress
+ }];
+ });
+ }
+ }, {
+ key: "getSummary",
+ value: function getSummary(totals) {
+ var _totals$download_coun = totals.download_count,
+ downloadCount = _totals$download_coun === void 0 ? 0 : _totals$download_coun;
+ var _this$props = this.props,
+ query = _this$props.query,
+ defaultDateRange = _this$props.defaultDateRange;
+ var dates = Object(lib_date["f" /* getCurrentDates */])(query, defaultDateRange);
+ var after = external_moment_default()(dates.primary.after);
+ var before = external_moment_default()(dates.primary.before);
+ var days = before.diff(after, 'days') + 1;
+ var currency = this.context.getCurrency();
+ return [{
+ label: Object(external_this_wp_i18n_["_n"])('day', 'days', days, 'woocommerce-admin'),
+ value: Object(external_this_wc_number_["formatValue"])(currency, 'number', days)
+ }, {
+ label: Object(external_this_wp_i18n_["_n"])('download', 'downloads', downloadCount, 'woocommerce-admin'),
+ value: Object(external_this_wc_number_["formatValue"])(currency, 'number', downloadCount)
+ }];
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props2 = this.props,
+ query = _this$props2.query,
+ filters = _this$props2.filters,
+ advancedFilters = _this$props2.advancedFilters;
+ return Object(external_this_wp_element_["createElement"])(report_table["a" /* default */], {
+ endpoint: "downloads",
+ getHeadersContent: this.getHeadersContent,
+ getRowsContent: this.getRowsContent,
+ getSummary: this.getSummary,
+ summaryFields: ['download_count'],
+ query: query,
+ tableQuery: {
+ _embed: true
+ },
+ title: Object(external_this_wp_i18n_["__"])('Downloads', 'woocommerce-admin'),
+ columnPrefsKey: "downloads_report_columns",
+ filters: filters,
+ advancedFilters: advancedFilters
+ });
+ }
+ }]);
+
+ return CouponsReportTable;
+}(external_this_wp_element_["Component"]);
+
+table_CouponsReportTable.contextType = currency_context["a" /* CurrencyContext */];
+/* harmony default export */ var table = (Object(external_this_wp_data_["withSelect"])(function (select) {
+ var _select$getSetting = select(external_this_wc_data_["SETTINGS_STORE_NAME"]).getSetting('wc_admin', 'wcAdminSettings'),
+ defaultDateRange = _select$getSetting.woocommerce_default_date_range;
+
+ return {
+ defaultDateRange: defaultDateRange
+ };
+})(table_CouponsReportTable));
+// EXTERNAL MODULE: ./client/lib/get-selected-chart/index.js
+var get_selected_chart = __webpack_require__(743);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-chart/index.js + 1 modules
+var report_chart = __webpack_require__(741);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-summary/index.js
+var report_summary = __webpack_require__(744);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-filters/index.js
+var report_filters = __webpack_require__(745);
+
+// CONCATENATED MODULE: ./client/analytics/report/downloads/index.js
+
+
+
+
+
+
+
+function downloads_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (downloads_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function downloads_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+
+var downloads_DownloadsReport = /*#__PURE__*/function (_Component) {
+ inherits_default()(DownloadsReport, _Component);
+
+ var _super = downloads_createSuper(DownloadsReport);
+
+ function DownloadsReport() {
+ classCallCheck_default()(this, DownloadsReport);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(DownloadsReport, [{
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ query = _this$props.query,
+ path = _this$props.path;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(report_filters["a" /* default */], {
+ query: query,
+ path: path,
+ filters: config["c" /* filters */],
+ advancedFilters: config["a" /* advancedFilters */],
+ report: "downloads"
+ }), Object(external_this_wp_element_["createElement"])(report_summary["a" /* default */], {
+ charts: config["b" /* charts */],
+ endpoint: "downloads",
+ query: query,
+ selectedChart: Object(get_selected_chart["a" /* default */])(query.chart, config["b" /* charts */]),
+ filters: config["c" /* filters */],
+ advancedFilters: config["a" /* advancedFilters */]
+ }), Object(external_this_wp_element_["createElement"])(report_chart["a" /* default */], {
+ charts: config["b" /* charts */],
+ endpoint: "downloads",
+ path: path,
+ query: query,
+ selectedChart: Object(get_selected_chart["a" /* default */])(query.chart, config["b" /* charts */]),
+ filters: config["c" /* filters */],
+ advancedFilters: config["a" /* advancedFilters */]
+ }), Object(external_this_wp_element_["createElement"])(table, {
+ query: query,
+ filters: config["c" /* filters */],
+ advancedFilters: config["a" /* advancedFilters */]
+ }));
+ }
+ }]);
+
+ return DownloadsReport;
+}(external_this_wp_element_["Component"]);
+
+
+downloads_DownloadsReport.propTypes = {
+ query: prop_types_default.a.object.isRequired
+};
+
+/***/ }),
+
+/***/ 739:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return getRequestByIdString; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getCategoryLabels; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getCouponLabels; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return getCustomerLabels; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return getProductLabels; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return getTaxRateLabels; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return getVariationLabels; });
+/* harmony import */ var _wordpress_url__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(30);
+/* harmony import */ var _wordpress_url__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_url__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20);
+/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _woocommerce_navigation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(22);
+/* harmony import */ var _woocommerce_navigation__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var analytics_report_taxes_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(740);
+/* harmony import */ var wc_api_constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(24);
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+/**
+ * Get a function that accepts ids as they are found in url parameter and
+ * returns a promise with an optional method applied to results
+ *
+ * @param {string|Function} path - api path string or a function of the query returning api path string
+ * @param {Function} [handleData] - function applied to each iteration of data
+ * @return {Function} - a function of ids returning a promise
+ */
+
+function getRequestByIdString(path) {
+ var handleData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : lodash__WEBPACK_IMPORTED_MODULE_2__["identity"];
+ return function () {
+ var queryString = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
+ var query = arguments.length > 1 ? arguments[1] : undefined;
+ var pathString = typeof path === 'function' ? path(query) : path;
+ var idList = Object(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_3__["getIdsFromQuery"])(queryString);
+
+ if (idList.length < 1) {
+ return Promise.resolve([]);
+ }
+
+ var payload = {
+ include: idList.join(','),
+ per_page: idList.length
+ };
+ return _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_1___default()({
+ path: Object(_wordpress_url__WEBPACK_IMPORTED_MODULE_0__["addQueryArgs"])(pathString, payload)
+ }).then(function (data) {
+ return data.map(handleData);
+ });
+ };
+}
+var getCategoryLabels = getRequestByIdString(wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + '/products/categories', function (category) {
+ return {
+ key: category.id,
+ label: category.name
+ };
+});
+var getCouponLabels = getRequestByIdString(wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + '/coupons', function (coupon) {
+ return {
+ key: coupon.id,
+ label: coupon.code
+ };
+});
+var getCustomerLabels = getRequestByIdString(wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + '/customers', function (customer) {
+ return {
+ key: customer.id,
+ label: customer.name
+ };
+});
+var getProductLabels = getRequestByIdString(wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + '/products', function (product) {
+ return {
+ key: product.id,
+ label: product.name
+ };
+});
+var getTaxRateLabels = getRequestByIdString(wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + '/taxes', function (taxRate) {
+ return {
+ key: taxRate.id,
+ label: Object(analytics_report_taxes_utils__WEBPACK_IMPORTED_MODULE_4__[/* getTaxCode */ "a"])(taxRate)
+ };
+});
+var getVariationLabels = getRequestByIdString(function (query) {
+ return wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + "/products/".concat(query.products, "/variations");
+}, function (variation) {
+ return {
+ key: variation.id,
+ label: variation.attributes.reduce(function (desc, attribute, index, arr) {
+ return desc + "".concat(attribute.option).concat(arr.length === index + 1 ? '' : ', ');
+ }, '')
+ };
+});
+
+/***/ }),
+
+/***/ 740:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getTaxCode; });
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__);
+/**
+ * External dependencies
+ */
+
+function getTaxCode(tax) {
+ return [tax.country, tax.state, tax.name || Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('TAX', 'woocommerce-admin'), tax.priority].map(function (item) {
+ return item.toString().toUpperCase().trim();
+ }).filter(Boolean).join('-');
+}
+
+/***/ }),
+
+/***/ 741:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// UNUSED EXPORTS: ReportChart
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js
+var defineProperty = __webpack_require__(15);
+var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js
+var classCallCheck = __webpack_require__(41);
+var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js
+var createClass = __webpack_require__(40);
+var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(44);
+var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(29);
+var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js
+var inherits = __webpack_require__(42);
+var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: external {"this":["wp","i18n"]}
+var external_this_wp_i18n_ = __webpack_require__(3);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/compose/build-module/higher-order/compose.js
+var compose = __webpack_require__(256);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/date/build-module/index.js
+var build_module = __webpack_require__(172);
+
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__(2);
+
+// EXTERNAL MODULE: ./node_modules/prop-types/index.js
+var prop_types = __webpack_require__(1);
+var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
+
+// EXTERNAL MODULE: ./client/lib/date.js
+var date = __webpack_require__(104);
+
+// EXTERNAL MODULE: external {"this":["wc","components"]}
+var external_this_wc_components_ = __webpack_require__(63);
+
+// EXTERNAL MODULE: external {"this":["wc","data"]}
+var external_this_wc_data_ = __webpack_require__(51);
+
+// EXTERNAL MODULE: ./client/lib/currency-context.js
+var currency_context = __webpack_require__(203);
+
+// EXTERNAL MODULE: ./client/wc-api/reports/utils.js
+var utils = __webpack_require__(738);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-error/index.js
+var report_error = __webpack_require__(261);
+
+// EXTERNAL MODULE: ./client/wc-api/with-select.js
+var with_select = __webpack_require__(101);
+
+// EXTERNAL MODULE: external {"this":["wc","navigation"]}
+var external_this_wc_navigation_ = __webpack_require__(22);
+
+// CONCATENATED MODULE: ./client/analytics/components/report-chart/utils.js
+/**
+ * External dependencies
+ */
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+var DEFAULT_FILTER = 'all';
+function getSelectedFilter(filters, query) {
+ var selectedFilterArgs = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
+
+ if (!filters || filters.length === 0) {
+ return null;
+ }
+
+ var clonedFilters = filters.slice(0);
+ var filterConfig = clonedFilters.pop();
+
+ if (filterConfig.showFilters(query, selectedFilterArgs)) {
+ var allFilters = Object(external_this_wc_navigation_["flattenFilters"])(filterConfig.filters);
+ var value = query[filterConfig.param] || filterConfig.defaultValue || DEFAULT_FILTER;
+ return Object(external_lodash_["find"])(allFilters, {
+ value: value
+ });
+ }
+
+ return getSelectedFilter(clonedFilters, query, selectedFilterArgs);
+}
+function getChartMode(selectedFilter, query) {
+ if (selectedFilter && query) {
+ var selectedFilterParam = Object(external_lodash_["get"])(selectedFilter, ['settings', 'param']);
+
+ if (!selectedFilterParam || Object.keys(query).includes(selectedFilterParam)) {
+ return Object(external_lodash_["get"])(selectedFilter, ['chartMode']);
+ }
+ }
+
+ return null;
+}
+// CONCATENATED MODULE: ./client/analytics/components/report-chart/index.js
+
+
+
+
+
+
+
+
+function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+function _createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+/**
+ * Component that renders the chart in reports.
+ */
+
+var report_chart_ReportChart = /*#__PURE__*/function (_Component) {
+ inherits_default()(ReportChart, _Component);
+
+ var _super = _createSuper(ReportChart);
+
+ function ReportChart() {
+ classCallCheck_default()(this, ReportChart);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(ReportChart, [{
+ key: "shouldComponentUpdate",
+ value: function shouldComponentUpdate(nextProps) {
+ if (nextProps.isRequesting !== this.props.isRequesting || nextProps.primaryData.isRequesting !== this.props.primaryData.isRequesting || nextProps.secondaryData.isRequesting !== this.props.secondaryData.isRequesting || !Object(external_lodash_["isEqual"])(nextProps.query, this.props.query)) {
+ return true;
+ }
+
+ return false;
+ }
+ }, {
+ key: "getItemChartData",
+ value: function getItemChartData() {
+ var _this$props = this.props,
+ primaryData = _this$props.primaryData,
+ selectedChart = _this$props.selectedChart;
+ var chartData = primaryData.data.intervals.map(function (interval) {
+ var intervalData = {};
+ interval.subtotals.segments.forEach(function (segment) {
+ if (segment.segment_label) {
+ var label = intervalData[segment.segment_label] ? segment.segment_label + ' (#' + segment.segment_id + ')' : segment.segment_label;
+ intervalData[segment.segment_id] = {
+ label: label,
+ value: segment.subtotals[selectedChart.key] || 0
+ };
+ }
+ });
+ return _objectSpread({
+ date: Object(build_module["a" /* format */])('Y-m-d\\TH:i:s', interval.date_start)
+ }, intervalData);
+ });
+ return chartData;
+ }
+ }, {
+ key: "getTimeChartData",
+ value: function getTimeChartData() {
+ var _this$props2 = this.props,
+ query = _this$props2.query,
+ primaryData = _this$props2.primaryData,
+ secondaryData = _this$props2.secondaryData,
+ selectedChart = _this$props2.selectedChart,
+ defaultDateRange = _this$props2.defaultDateRange;
+ var currentInterval = Object(date["i" /* getIntervalForQuery */])(query);
+
+ var _getCurrentDates = Object(date["f" /* getCurrentDates */])(query, defaultDateRange),
+ primary = _getCurrentDates.primary,
+ secondary = _getCurrentDates.secondary;
+
+ var chartData = primaryData.data.intervals.map(function (interval, index) {
+ var secondaryDate = Object(date["j" /* getPreviousDate */])(interval.date_start, primary.after, secondary.after, query.compare, currentInterval);
+ var secondaryInterval = secondaryData.data.intervals[index];
+ return {
+ date: Object(build_module["a" /* format */])('Y-m-d\\TH:i:s', interval.date_start),
+ primary: {
+ label: "".concat(primary.label, " (").concat(primary.range, ")"),
+ labelDate: interval.date_start,
+ value: interval.subtotals[selectedChart.key] || 0
+ },
+ secondary: {
+ label: "".concat(secondary.label, " (").concat(secondary.range, ")"),
+ labelDate: secondaryDate.format('YYYY-MM-DD HH:mm:ss'),
+ value: secondaryInterval && secondaryInterval.subtotals[selectedChart.key] || 0
+ }
+ };
+ });
+ return chartData;
+ }
+ }, {
+ key: "getTimeChartTotals",
+ value: function getTimeChartTotals() {
+ var _this$props3 = this.props,
+ primaryData = _this$props3.primaryData,
+ secondaryData = _this$props3.secondaryData,
+ selectedChart = _this$props3.selectedChart;
+ return {
+ primary: Object(external_lodash_["get"])(primaryData, ['data', 'totals', selectedChart.key], null),
+ secondary: Object(external_lodash_["get"])(secondaryData, ['data', 'totals', selectedChart.key], null)
+ };
+ }
+ }, {
+ key: "renderChart",
+ value: function renderChart(mode, isRequesting, chartData, legendTotals) {
+ var _this$props4 = this.props,
+ emptySearchResults = _this$props4.emptySearchResults,
+ filterParam = _this$props4.filterParam,
+ interactiveLegend = _this$props4.interactiveLegend,
+ itemsLabel = _this$props4.itemsLabel,
+ legendPosition = _this$props4.legendPosition,
+ path = _this$props4.path,
+ query = _this$props4.query,
+ selectedChart = _this$props4.selectedChart,
+ showHeaderControls = _this$props4.showHeaderControls,
+ primaryData = _this$props4.primaryData;
+ var currentInterval = Object(date["i" /* getIntervalForQuery */])(query);
+ var allowedIntervals = Object(date["d" /* getAllowedIntervalsForQuery */])(query);
+ var formats = Object(date["g" /* getDateFormatsForInterval */])(currentInterval, primaryData.data.intervals.length);
+ var emptyMessage = emptySearchResults ? Object(external_this_wp_i18n_["__"])('No data for the current search', 'woocommerce-admin') : Object(external_this_wp_i18n_["__"])('No data for the selected date range', 'woocommerce-admin');
+ var _this$context = this.context,
+ formatCurrency = _this$context.formatCurrency,
+ getCurrency = _this$context.getCurrency;
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Chart"], {
+ allowedIntervals: allowedIntervals,
+ data: chartData,
+ dateParser: '%Y-%m-%dT%H:%M:%S',
+ emptyMessage: emptyMessage,
+ filterParam: filterParam,
+ interactiveLegend: interactiveLegend,
+ interval: currentInterval,
+ isRequesting: isRequesting,
+ itemsLabel: itemsLabel,
+ legendPosition: legendPosition,
+ legendTotals: legendTotals,
+ mode: mode,
+ path: path,
+ query: query,
+ screenReaderFormat: formats.screenReaderFormat,
+ showHeaderControls: showHeaderControls,
+ title: selectedChart.label,
+ tooltipLabelFormat: formats.tooltipLabelFormat,
+ tooltipTitle: mode === 'time-comparison' && selectedChart.label || null,
+ tooltipValueFormat: Object(utils["e" /* getTooltipValueFormat */])(selectedChart.type, formatCurrency),
+ chartType: Object(date["e" /* getChartTypeForQuery */])(query),
+ valueType: selectedChart.type,
+ xFormat: formats.xFormat,
+ x2Format: formats.x2Format,
+ currency: getCurrency()
+ });
+ }
+ }, {
+ key: "renderItemComparison",
+ value: function renderItemComparison() {
+ var _this$props5 = this.props,
+ isRequesting = _this$props5.isRequesting,
+ primaryData = _this$props5.primaryData;
+
+ if (primaryData.isError) {
+ return Object(external_this_wp_element_["createElement"])(report_error["a" /* default */], {
+ isError: true
+ });
+ }
+
+ var isChartRequesting = isRequesting || primaryData.isRequesting;
+ var chartData = this.getItemChartData();
+ return this.renderChart('item-comparison', isChartRequesting, chartData);
+ }
+ }, {
+ key: "renderTimeComparison",
+ value: function renderTimeComparison() {
+ var _this$props6 = this.props,
+ isRequesting = _this$props6.isRequesting,
+ primaryData = _this$props6.primaryData,
+ secondaryData = _this$props6.secondaryData;
+
+ if (!primaryData || primaryData.isError || secondaryData.isError) {
+ return Object(external_this_wp_element_["createElement"])(report_error["a" /* default */], {
+ isError: true
+ });
+ }
+
+ var isChartRequesting = isRequesting || primaryData.isRequesting || secondaryData.isRequesting;
+ var chartData = this.getTimeChartData();
+ var legendTotals = this.getTimeChartTotals();
+ return this.renderChart('time-comparison', isChartRequesting, chartData, legendTotals);
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var mode = this.props.mode;
+
+ if (mode === 'item-comparison') {
+ return this.renderItemComparison();
+ }
+
+ return this.renderTimeComparison();
+ }
+ }]);
+
+ return ReportChart;
+}(external_this_wp_element_["Component"]);
+report_chart_ReportChart.contextType = currency_context["a" /* CurrencyContext */];
+report_chart_ReportChart.propTypes = {
+ /**
+ * Filters available for that report.
+ */
+ filters: prop_types_default.a.array,
+
+ /**
+ * Whether there is an API call running.
+ */
+ isRequesting: prop_types_default.a.bool,
+
+ /**
+ * Label describing the legend items.
+ */
+ itemsLabel: prop_types_default.a.string,
+
+ /**
+ * Allows specifying properties different from the `endpoint` that will be used
+ * to limit the items when there is an active search.
+ */
+ limitProperties: prop_types_default.a.array,
+
+ /**
+ * `items-comparison` (default) or `time-comparison`, this is used to generate correct
+ * ARIA properties.
+ */
+ mode: prop_types_default.a.string,
+
+ /**
+ * Current path
+ */
+ path: prop_types_default.a.string.isRequired,
+
+ /**
+ * Primary data to display in the chart.
+ */
+ primaryData: prop_types_default.a.object,
+
+ /**
+ * The query string represented in object form.
+ */
+ query: prop_types_default.a.object.isRequired,
+
+ /**
+ * Secondary data to display in the chart.
+ */
+ secondaryData: prop_types_default.a.object,
+
+ /**
+ * Properties of the selected chart.
+ */
+ selectedChart: prop_types_default.a.shape({
+ /**
+ * Key of the selected chart.
+ */
+ key: prop_types_default.a.string.isRequired,
+
+ /**
+ * Chart label.
+ */
+ label: prop_types_default.a.string.isRequired,
+
+ /**
+ * Order query argument.
+ */
+ order: prop_types_default.a.oneOf(['asc', 'desc']),
+
+ /**
+ * Order by query argument.
+ */
+ orderby: prop_types_default.a.string,
+
+ /**
+ * Number type for formatting.
+ */
+ type: prop_types_default.a.oneOf(['average', 'number', 'currency']).isRequired
+ }).isRequired
+};
+report_chart_ReportChart.defaultProps = {
+ isRequesting: false,
+ primaryData: {
+ data: {
+ intervals: []
+ },
+ isError: false,
+ isRequesting: false
+ },
+ secondaryData: {
+ data: {
+ intervals: []
+ },
+ isError: false,
+ isRequesting: false
+ }
+};
+/* harmony default export */ var report_chart = __webpack_exports__["a"] = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select, props) {
+ var charts = props.charts,
+ endpoint = props.endpoint,
+ filters = props.filters,
+ isRequesting = props.isRequesting,
+ limitProperties = props.limitProperties,
+ query = props.query,
+ advancedFilters = props.advancedFilters;
+ var limitBy = limitProperties || [endpoint];
+ var selectedFilter = getSelectedFilter(filters, query);
+ var filterParam = Object(external_lodash_["get"])(selectedFilter, ['settings', 'param']);
+ var chartMode = props.mode || getChartMode(selectedFilter, query) || 'time-comparison';
+
+ var _select$getSetting = select(external_this_wc_data_["SETTINGS_STORE_NAME"]).getSetting('wc_admin', 'wcAdminSettings'),
+ defaultDateRange = _select$getSetting.woocommerce_default_date_range;
+
+ var newProps = {
+ mode: chartMode,
+ filterParam: filterParam,
+ defaultDateRange: defaultDateRange
+ };
+
+ if (isRequesting) {
+ return newProps;
+ }
+
+ var hasLimitByParam = limitBy.some(function (item) {
+ return query[item] && query[item].length;
+ });
+
+ if (query.search && !hasLimitByParam) {
+ return _objectSpread({}, newProps, {
+ emptySearchResults: true
+ });
+ }
+
+ var fields = charts && charts.map(function (chart) {
+ return chart.key;
+ });
+ var primaryData = Object(utils["a" /* getReportChartData */])({
+ endpoint: endpoint,
+ dataType: 'primary',
+ query: query,
+ select: select,
+ limitBy: limitBy,
+ filters: filters,
+ advancedFilters: advancedFilters,
+ defaultDateRange: defaultDateRange,
+ fields: fields
+ });
+
+ if (chartMode === 'item-comparison') {
+ return _objectSpread({}, newProps, {
+ primaryData: primaryData
+ });
+ }
+
+ var secondaryData = Object(utils["a" /* getReportChartData */])({
+ endpoint: endpoint,
+ dataType: 'secondary',
+ query: query,
+ select: select,
+ limitBy: limitBy,
+ filters: filters,
+ advancedFilters: advancedFilters,
+ defaultDateRange: defaultDateRange,
+ fields: fields
+ });
+ return _objectSpread({}, newProps, {
+ primaryData: primaryData,
+ secondaryData: secondaryData
+ });
+}))(report_chart_ReportChart));
+
+/***/ }),
+
+/***/ 743:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getSelectedChart; });
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__);
+/**
+ * External dependencies
+ */
+
+/**
+ * Takes a chart name returns the configuration for that chart from and array
+ * of charts. If the chart is not found it will return the first chart.
+ *
+ * @param {string} chartName - the name of the chart to get configuration for
+ * @param {Array} charts - list of charts for a particular report
+ * @return {Object} - chart configuration object
+ */
+
+function getSelectedChart(chartName) {
+ var charts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
+ var chart = Object(lodash__WEBPACK_IMPORTED_MODULE_0__["find"])(charts, {
+ key: chartName
+ });
+
+ if (chart) {
+ return chart;
+ }
+
+ return charts[0];
+}
+
+/***/ }),
+
+/***/ 744:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export ReportSummary */
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(41);
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(40);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(44);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(29);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(42);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(3);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(256);
+/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(1);
+/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);
+/* harmony import */ var lib_date__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(104);
+/* harmony import */ var _woocommerce_navigation__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(22);
+/* harmony import */ var _woocommerce_navigation__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_10__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_11__);
+/* harmony import */ var _woocommerce_number__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(204);
+/* harmony import */ var _woocommerce_number__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_number__WEBPACK_IMPORTED_MODULE_12__);
+/* harmony import */ var _woocommerce_data__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(51);
+/* harmony import */ var _woocommerce_data__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_data__WEBPACK_IMPORTED_MODULE_13__);
+/* harmony import */ var wc_api_reports_utils__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(738);
+/* harmony import */ var analytics_components_report_error__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(261);
+/* harmony import */ var wc_api_with_select__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(101);
+/* harmony import */ var lib_tracks__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(79);
+/* harmony import */ var lib_currency_context__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(203);
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+/**
+ * Component to render summary numbers in reports.
+ */
+
+var ReportSummary = /*#__PURE__*/function (_Component) {
+ _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(ReportSummary, _Component);
+
+ var _super = _createSuper(ReportSummary);
+
+ function ReportSummary() {
+ _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, ReportSummary);
+
+ return _super.apply(this, arguments);
+ }
+
+ _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(ReportSummary, [{
+ key: "formatVal",
+ value: function formatVal(val, type) {
+ var _this$context = this.context,
+ formatCurrency = _this$context.formatCurrency,
+ getCurrency = _this$context.getCurrency;
+ return type === 'currency' ? formatCurrency(val) : Object(_woocommerce_number__WEBPACK_IMPORTED_MODULE_12__["formatValue"])(getCurrency(), type, val);
+ }
+ }, {
+ key: "getValues",
+ value: function getValues(key, type) {
+ var _this$props = this.props,
+ emptySearchResults = _this$props.emptySearchResults,
+ summaryData = _this$props.summaryData;
+ var totals = summaryData.totals;
+ var primaryValue = emptySearchResults ? 0 : totals.primary[key];
+ var secondaryValue = emptySearchResults ? 0 : totals.secondary[key];
+ return {
+ delta: Object(_woocommerce_number__WEBPACK_IMPORTED_MODULE_12__["calculateDelta"])(primaryValue, secondaryValue),
+ prevValue: this.formatVal(secondaryValue, type),
+ value: this.formatVal(primaryValue, type)
+ };
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this = this;
+
+ var _this$props2 = this.props,
+ charts = _this$props2.charts,
+ isRequesting = _this$props2.isRequesting,
+ query = _this$props2.query,
+ selectedChart = _this$props2.selectedChart,
+ summaryData = _this$props2.summaryData,
+ endpoint = _this$props2.endpoint,
+ report = _this$props2.report,
+ defaultDateRange = _this$props2.defaultDateRange;
+ var isError = summaryData.isError,
+ isSummaryDataRequesting = summaryData.isRequesting;
+
+ if (isError) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(analytics_components_report_error__WEBPACK_IMPORTED_MODULE_15__[/* default */ "a"], {
+ isError: true
+ });
+ }
+
+ if (isRequesting || isSummaryDataRequesting) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_11__["SummaryListPlaceholder"], {
+ numberOfItems: charts.length
+ });
+ }
+
+ var _getDateParamsFromQue = Object(lib_date__WEBPACK_IMPORTED_MODULE_9__[/* getDateParamsFromQuery */ "h"])(query, defaultDateRange),
+ compare = _getDateParamsFromQue.compare;
+
+ var renderSummaryNumbers = function renderSummaryNumbers(_ref) {
+ var onToggle = _ref.onToggle;
+ return charts.map(function (chart) {
+ var key = chart.key,
+ order = chart.order,
+ orderby = chart.orderby,
+ label = chart.label,
+ type = chart.type;
+ var newPath = {
+ chart: key
+ };
+
+ if (orderby) {
+ newPath.orderby = orderby;
+ }
+
+ if (order) {
+ newPath.order = order;
+ }
+
+ var href = Object(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_10__["getNewPath"])(newPath);
+ var isSelected = selectedChart.key === key;
+
+ var _this$getValues = _this.getValues(key, type),
+ delta = _this$getValues.delta,
+ prevValue = _this$getValues.prevValue,
+ value = _this$getValues.value;
+
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_11__["SummaryNumber"], {
+ key: key,
+ delta: delta,
+ href: href,
+ label: label,
+ prevLabel: compare === 'previous_period' ? Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('Previous Period:', 'woocommerce-admin') : Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('Previous Year:', 'woocommerce-admin'),
+ prevValue: prevValue,
+ selected: isSelected,
+ value: value,
+ onLinkClickCallback: function onLinkClickCallback() {
+ // Wider than a certain breakpoint, there is no dropdown so avoid calling onToggle.
+ if (onToggle) {
+ onToggle();
+ }
+
+ Object(lib_tracks__WEBPACK_IMPORTED_MODULE_17__[/* recordEvent */ "b"])('analytics_chart_tab_click', {
+ report: report || endpoint,
+ key: key
+ });
+ }
+ });
+ });
+ };
+
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_11__["SummaryList"], null, renderSummaryNumbers);
+ }
+ }]);
+
+ return ReportSummary;
+}(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["Component"]);
+ReportSummary.propTypes = {
+ /**
+ * Properties of all the charts available for that report.
+ */
+ charts: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.array.isRequired,
+
+ /**
+ * The endpoint to use in API calls to populate the Summary Numbers.
+ * For example, if `taxes` is provided, data will be fetched from the report
+ * `taxes` endpoint (ie: `/wc-analytics/reports/taxes/stats`). If the provided endpoint
+ * doesn't exist, an error will be shown to the user with `ReportError`.
+ */
+ endpoint: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string.isRequired,
+
+ /**
+ * Allows specifying properties different from the `endpoint` that will be used
+ * to limit the items when there is an active search.
+ */
+ limitProperties: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.array,
+
+ /**
+ * The query string represented in object form.
+ */
+ query: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.object.isRequired,
+
+ /**
+ * Whether there is an API call running.
+ */
+ isRequesting: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.bool,
+
+ /**
+ * Properties of the selected chart.
+ */
+ selectedChart: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.shape({
+ /**
+ * Key of the selected chart.
+ */
+ key: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string.isRequired,
+
+ /**
+ * Chart label.
+ */
+ label: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string.isRequired,
+
+ /**
+ * Order query argument.
+ */
+ order: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.oneOf(['asc', 'desc']),
+
+ /**
+ * Order by query argument.
+ */
+ orderby: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string,
+
+ /**
+ * Number type for formatting.
+ */
+ type: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.oneOf(['average', 'number', 'currency']).isRequired
+ }).isRequired,
+
+ /**
+ * Data to display in the SummaryNumbers.
+ */
+ summaryData: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.object,
+
+ /**
+ * Report name, if different than the endpoint.
+ */
+ report: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string
+};
+ReportSummary.defaultProps = {
+ summaryData: {
+ totals: {
+ primary: {},
+ secondary: {}
+ },
+ isError: false,
+ isRequesting: false
+ }
+};
+ReportSummary.contextType = lib_currency_context__WEBPACK_IMPORTED_MODULE_18__[/* CurrencyContext */ "a"];
+/* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_7__[/* default */ "a"])(Object(wc_api_with_select__WEBPACK_IMPORTED_MODULE_16__[/* default */ "a"])(function (select, props) {
+ var charts = props.charts,
+ endpoint = props.endpoint,
+ isRequesting = props.isRequesting,
+ limitProperties = props.limitProperties,
+ query = props.query,
+ filters = props.filters,
+ advancedFilters = props.advancedFilters;
+ var limitBy = limitProperties || [endpoint];
+
+ if (isRequesting) {
+ return {};
+ }
+
+ var hasLimitByParam = limitBy.some(function (item) {
+ return query[item] && query[item].length;
+ });
+
+ if (query.search && !hasLimitByParam) {
+ return {
+ emptySearchResults: true
+ };
+ }
+
+ var fields = charts && charts.map(function (chart) {
+ return chart.key;
+ });
+
+ var _select$getSetting = select(_woocommerce_data__WEBPACK_IMPORTED_MODULE_13__["SETTINGS_STORE_NAME"]).getSetting('wc_admin', 'wcAdminSettings'),
+ defaultDateRange = _select$getSetting.woocommerce_default_date_range;
+
+ var summaryData = Object(wc_api_reports_utils__WEBPACK_IMPORTED_MODULE_14__[/* getSummaryNumbers */ "d"])({
+ endpoint: endpoint,
+ query: query,
+ select: select,
+ limitBy: limitBy,
+ filters: filters,
+ advancedFilters: advancedFilters,
+ defaultDateRange: defaultDateRange,
+ fields: fields
+ });
+ return {
+ summaryData: summaryData,
+ defaultDateRange: defaultDateRange
+ };
+}))(ReportSummary));
+
+/***/ }),
+
+/***/ 767:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return charts; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return filters; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return advancedFilters; });
+/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(46);
+/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(48);
+/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var lib_async_requests__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(739);
+
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+var DOWLOADS_REPORT_CHARTS_FILTER = 'woocommerce_admin_downloads_report_charts';
+var DOWLOADS_REPORT_FILTERS_FILTER = 'woocommerce_admin_downloads_report_filters';
+var DOWLOADS_REPORT_ADVANCED_FILTERS_FILTER = 'woocommerce_admin_downloads_report_advanced_filters';
+var charts = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_2__["applyFilters"])(DOWLOADS_REPORT_CHARTS_FILTER, [{
+ key: 'download_count',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Downloads', 'woocommerce-admin'),
+ type: 'number'
+}]);
+var filters = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_2__["applyFilters"])(DOWLOADS_REPORT_FILTERS_FILTER, [{
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Show', 'woocommerce-admin'),
+ staticParams: [],
+ param: 'filter',
+ showFilters: function showFilters() {
+ return true;
+ },
+ filters: [{
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('All Downloads', 'woocommerce-admin'),
+ value: 'all'
+ }, {
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Advanced Filters', 'woocommerce-admin'),
+ value: 'advanced'
+ }]
+}]);
+/*eslint-disable max-len*/
+
+var advancedFilters = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_2__["applyFilters"])(DOWLOADS_REPORT_ADVANCED_FILTERS_FILTER, {
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["_x"])('Downloads Match {{select /}} Filters', 'A sentence describing filters for Downloads. See screen shot for context: https://cloudup.com/ccxhyH2mEDg', 'woocommerce-admin'),
+ filters: {
+ product: {
+ labels: {
+ add: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Product', 'woocommerce-admin'),
+ placeholder: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Search', 'woocommerce-admin'),
+ remove: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Remove product filter', 'woocommerce-admin'),
+ rule: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Select a product filter match', 'woocommerce-admin'),
+
+ /* translators: A sentence describing a Product filter. See screen shot for context: https://cloudup.com/ccxhyH2mEDg */
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('{{title}}Product{{/title}} {{rule /}} {{filter /}}', 'woocommerce-admin'),
+ filter: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Select product', 'woocommerce-admin')
+ },
+ rules: [{
+ value: 'includes',
+
+ /* translators: Sentence fragment, logical, "Includes" refers to products including a given product(s). Screenshot for context: https://cloudup.com/ccxhyH2mEDg */
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["_x"])('Includes', 'products', 'woocommerce-admin')
+ }, {
+ value: 'excludes',
+
+ /* translators: Sentence fragment, logical, "Excludes" refers to products excluding a products(s). Screenshot for context: https://cloudup.com/ccxhyH2mEDg */
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["_x"])('Excludes', 'products', 'woocommerce-admin')
+ }],
+ input: {
+ component: 'Search',
+ type: 'products',
+ getLabels: lib_async_requests__WEBPACK_IMPORTED_MODULE_3__[/* getProductLabels */ "d"]
+ }
+ },
+ customer: {
+ labels: {
+ add: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Username', 'woocommerce-admin'),
+ placeholder: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Search customer username', 'woocommerce-admin'),
+ remove: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Remove customer username filter', 'woocommerce-admin'),
+ rule: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Select a customer username filter match', 'woocommerce-admin'),
+
+ /* translators: A sentence describing a customer username filter. See screen shot for context: https://cloudup.com/ccxhyH2mEDg */
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('{{title}}Username{{/title}} {{rule /}} {{filter /}}', 'woocommerce-admin'),
+ filter: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Select customer username', 'woocommerce-admin')
+ },
+ rules: [{
+ value: 'includes',
+
+ /* translators: Sentence fragment, logical, "Includes" refers to customer usernames including a given username(s). Screenshot for context: https://cloudup.com/ccxhyH2mEDg */
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["_x"])('Includes', 'customer usernames', 'woocommerce-admin')
+ }, {
+ value: 'excludes',
+
+ /* translators: Sentence fragment, logical, "Excludes" refers to customer usernames excluding a given username(s). Screenshot for context: https://cloudup.com/ccxhyH2mEDg */
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["_x"])('Excludes', 'customer usernames', 'woocommerce-admin')
+ }],
+ input: {
+ component: 'Search',
+ type: 'usernames',
+ getLabels: lib_async_requests__WEBPACK_IMPORTED_MODULE_3__[/* getCustomerLabels */ "c"]
+ }
+ },
+ order: {
+ labels: {
+ add: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Order #', 'woocommerce-admin'),
+ placeholder: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Search order number', 'woocommerce-admin'),
+ remove: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Remove order number filter', 'woocommerce-admin'),
+ rule: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Select a order number filter match', 'woocommerce-admin'),
+
+ /* translators: A sentence describing a order number filter. See screen shot for context: https://cloudup.com/ccxhyH2mEDg */
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('{{title}}Order #{{/title}} {{rule /}} {{filter /}}', 'woocommerce-admin'),
+ filter: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Select order number', 'woocommerce-admin')
+ },
+ rules: [{
+ value: 'includes',
+
+ /* translators: Sentence fragment, logical, "Includes" refers to order numbers including a given order(s). Screenshot for context: https://cloudup.com/ccxhyH2mEDg */
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["_x"])('Includes', 'order numbers', 'woocommerce-admin')
+ }, {
+ value: 'excludes',
+
+ /* translators: Sentence fragment, logical, "Excludes" refers to order numbers excluding a given order(s). Screenshot for context: https://cloudup.com/ccxhyH2mEDg */
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["_x"])('Excludes', 'order numbers', 'woocommerce-admin')
+ }],
+ input: {
+ component: 'Search',
+ type: 'orders',
+ getLabels: function () {
+ var _getLabels = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0___default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee(value) {
+ var orderIds;
+ return regeneratorRuntime.wrap(function _callee$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ orderIds = value.split(',');
+ _context.next = 3;
+ return orderIds.map(function (orderId) {
+ return {
+ id: orderId,
+ label: '#' + orderId
+ };
+ });
+
+ case 3:
+ return _context.abrupt("return", _context.sent);
+
+ case 4:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, _callee);
+ }));
+
+ function getLabels(_x2) {
+ return _getLabels.apply(this, arguments);
+ }
+
+ return getLabels;
+ }()
+ }
+ },
+ ip_address: {
+ labels: {
+ add: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('IP Address', 'woocommerce-admin'),
+ placeholder: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Search IP address', 'woocommerce-admin'),
+ remove: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Remove IP address filter', 'woocommerce-admin'),
+ rule: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Select an IP address filter match', 'woocommerce-admin'),
+
+ /* translators: A sentence describing a order number filter. See screen shot for context: https://cloudup.com/ccxhyH2mEDg */
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('{{title}}IP Address{{/title}} {{rule /}} {{filter /}}', 'woocommerce-admin'),
+ filter: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Select IP address', 'woocommerce-admin')
+ },
+ rules: [{
+ value: 'includes',
+
+ /* translators: Sentence fragment, logical, "Includes" refers to IP addresses including a given address(s). Screenshot for context: https://cloudup.com/ccxhyH2mEDg */
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["_x"])('Includes', 'IP addresses', 'woocommerce-admin')
+ }, {
+ value: 'excludes',
+
+ /* translators: Sentence fragment, logical, "Excludes" refers to IP addresses excluding a given address(s). Screenshot for context: https://cloudup.com/ccxhyH2mEDg */
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["_x"])('Excludes', 'IP addresses', 'woocommerce-admin')
+ }],
+ input: {
+ component: 'Search',
+ type: 'downloadIps',
+ getLabels: function () {
+ var _getLabels2 = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0___default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(value) {
+ var ips;
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
+ while (1) {
+ switch (_context2.prev = _context2.next) {
+ case 0:
+ ips = value.split(',');
+ _context2.next = 3;
+ return ips.map(function (ip) {
+ return {
+ id: ip,
+ label: ip
+ };
+ });
+
+ case 3:
+ return _context2.abrupt("return", _context2.sent);
+
+ case 4:
+ case "end":
+ return _context2.stop();
+ }
+ }
+ }, _callee2);
+ }));
+
+ function getLabels(_x3) {
+ return _getLabels2.apply(this, arguments);
+ }
+
+ return getLabels;
+ }()
+ }
+ }
+ }
+});
+/*eslint-enable max-len*/
+
+/***/ })
+
+}]);
\ No newline at end of file
diff --git a/dist/chunks/analytics-report-downloads.7191d6b82a766d8772ee.min.js b/dist/chunks/analytics-report-downloads.7191d6b82a766d8772ee.min.js
new file mode 100644
index 00000000000..aef2a0b9743
--- /dev/null
+++ b/dist/chunks/analytics-report-downloads.7191d6b82a766d8772ee.min.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{727:function(e,t,r){"use strict";r.r(t),r.d(t,"default",(function(){return V}));var a=r(41),n=r.n(a),o=r(40),c=r.n(o),i=r(44),s=r.n(i),u=r(29),l=r.n(u),d=r(42),m=r.n(d),p=r(0),f=r(1),b=r.n(f),y=r(767),h=r(59),v=r.n(h),_=r(3),g=r(19),O=r(2),j=r(12),w=r.n(j),R=r(104),D=r(63),q=r(22),S=r(204),k=r(26),C=r(51),P=r(746),E=r(203);function x(){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}}var T=function(e){m()(a,e);var t,r=(t=a,function(){var e,r=l()(t);if(x()){var a=l()(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return s()(this,e)});function a(){var e;return n()(this,a),(e=r.call(this)).getHeadersContent=e.getHeadersContent.bind(v()(e)),e.getRowsContent=e.getRowsContent.bind(v()(e)),e.getSummary=e.getSummary.bind(v()(e)),e}return c()(a,[{key:"getHeadersContent",value:function(){return[{label:Object(_.__)("Date","woocommerce-admin"),key:"date",defaultSort:!0,required:!0,isLeftAligned:!0,isSortable:!0},{label:Object(_.__)("Product Title","woocommerce-admin"),key:"product",isSortable:!0,required:!0},{label:Object(_.__)("File Name","woocommerce-admin"),key:"file_name"},{label:Object(_.__)("Order #","woocommerce-admin"),screenReaderLabel:Object(_.__)("Order Number","woocommerce-admin"),key:"order_number"},{label:Object(_.__)("Username","woocommerce-admin"),key:"user_id"},{label:Object(_.__)("IP","woocommerce-admin"),key:"ip_address"}]}},{key:"getRowsContent",value:function(e){var t=this.props.query,r=Object(q.getPersistedQuery)(t),a=Object(k.g)("dateFormat",R.c);return Object(O.map)(e,(function(e){var t=e._embedded,n=e.date,o=e.file_name,c=e.file_path,i=e.ip_address,s=e.order_id,u=e.order_number,l=e.product_id,d=e.username,m=t.product[0].name,f=Object(q.getNewPath)(r,"/analytics/products",{filter:"single_product",products:l});return[{display:Object(p.createElement)(D.Date,{date:n,visibleFormat:a}),value:n},{display:Object(p.createElement)(D.Link,{href:f,type:"wc-admin"},m),value:m},{display:Object(p.createElement)(D.Link,{href:c,type:"external"},o),value:o},{display:Object(p.createElement)(D.Link,{href:Object(k.f)("post.php?post=".concat(s,"&action=edit")),type:"wp-admin"},u),value:u},{display:d,value:d},{display:i,value:i}]}))}},{key:"getSummary",value:function(e){var t=e.download_count,r=void 0===t?0:t,a=this.props,n=a.query,o=a.defaultDateRange,c=Object(R.f)(n,o),i=w()(c.primary.after),s=w()(c.primary.before).diff(i,"days")+1,u=this.context.getCurrency();return[{label:Object(_._n)("day","days",s,"woocommerce-admin"),value:Object(S.formatValue)(u,"number",s)},{label:Object(_._n)("download","downloads",r,"woocommerce-admin"),value:Object(S.formatValue)(u,"number",r)}]}},{key:"render",value:function(){var e=this.props,t=e.query,r=e.filters,a=e.advancedFilters;return Object(p.createElement)(P.a,{endpoint:"downloads",getHeadersContent:this.getHeadersContent,getRowsContent:this.getRowsContent,getSummary:this.getSummary,summaryFields:["download_count"],query:t,tableQuery:{_embed:!0},title:Object(_.__)("Downloads","woocommerce-admin"),columnPrefsKey:"downloads_report_columns",filters:r,advancedFilters:a})}}]),a}(p.Component);T.contextType=E.a;var F=Object(g.withSelect)((function(e){return{defaultDateRange:e(C.SETTINGS_STORE_NAME).getSetting("wc_admin","wcAdminSettings").woocommerce_default_date_range}}))(T),I=r(743),L=r(741),A=r(744),H=r(745);function N(){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}}var V=function(e){m()(a,e);var t,r=(t=a,function(){var e,r=l()(t);if(N()){var a=l()(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return s()(this,e)});function a(){return n()(this,a),r.apply(this,arguments)}return c()(a,[{key:"render",value:function(){var e=this.props,t=e.query,r=e.path;return Object(p.createElement)(p.Fragment,null,Object(p.createElement)(H.a,{query:t,path:r,filters:y.c,advancedFilters:y.a,report:"downloads"}),Object(p.createElement)(A.a,{charts:y.b,endpoint:"downloads",query:t,selectedChart:Object(I.a)(t.chart,y.b),filters:y.c,advancedFilters:y.a}),Object(p.createElement)(L.a,{charts:y.b,endpoint:"downloads",path:r,query:t,selectedChart:Object(I.a)(t.chart,y.b),filters:y.c,advancedFilters:y.a}),Object(p.createElement)(F,{query:t,filters:y.c,advancedFilters:y.a}))}}]),a}(p.Component);V.propTypes={query:b.a.object.isRequired}},739:function(e,t,r){"use strict";r.d(t,"e",(function(){return l})),r.d(t,"a",(function(){return d})),r.d(t,"b",(function(){return m})),r.d(t,"c",(function(){return p})),r.d(t,"d",(function(){return f})),r.d(t,"f",(function(){return b})),r.d(t,"g",(function(){return y}));var a=r(30),n=r(20),o=r.n(n),c=r(2),i=r(22),s=r(740),u=r(24);function l(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:c.identity;return function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=arguments.length>1?arguments[1]:void 0,c="function"==typeof e?e(n):e,s=Object(i.getIdsFromQuery)(r);if(s.length<1)return Promise.resolve([]);var u={include:s.join(","),per_page:s.length};return o()({path:Object(a.addQueryArgs)(c,u)}).then((function(e){return e.map(t)}))}}var d=l(u.c+"/products/categories",(function(e){return{key:e.id,label:e.name}})),m=l(u.c+"/coupons",(function(e){return{key:e.id,label:e.code}})),p=l(u.c+"/customers",(function(e){return{key:e.id,label:e.name}})),f=l(u.c+"/products",(function(e){return{key:e.id,label:e.name}})),b=l(u.c+"/taxes",(function(e){return{key:e.id,label:Object(s.a)(e)}})),y=l((function(e){return u.c+"/products/".concat(e.products,"/variations")}),(function(e){return{key:e.id,label:e.attributes.reduce((function(e,t,r,a){return e+"".concat(t.option).concat(a.length===r+1?"":", ")}),"")}}))},740:function(e,t,r){"use strict";r.d(t,"a",(function(){return n}));var a=r(3);function n(e){return[e.country,e.state,e.name||Object(a.__)("TAX","woocommerce-admin"),e.priority].map((function(e){return e.toString().toUpperCase().trim()})).filter(Boolean).join("-")}},741:function(e,t,r){"use strict";var a=r(15),n=r.n(a),o=r(41),c=r.n(o),i=r(40),s=r.n(i),u=r(44),l=r.n(u),d=r(29),m=r.n(d),p=r(42),f=r.n(p),b=r(0),y=r(3),h=r(256),v=r(172),_=r(2),g=r(1),O=r.n(g),j=r(104),w=r(63),R=r(51),D=r(203),q=r(738),S=r(261),k=r(101),C=r(22);function P(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function E(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:{};if(!t||0===t.length)return null;var n=t.slice(0),o=n.pop();if(o.showFilters(r,a)){var c=Object(C.flattenFilters)(o.filters),i=r[o.param]||o.defaultValue||"all";return Object(_.find)(c,{value:i})}return e(n,r,a)}(n,i),d=Object(_.get)(l,["settings","param"]),m=t.mode||function(e,t){if(e&&t){var r=Object(_.get)(e,["settings","param"]);if(!r||Object.keys(t).includes(r))return Object(_.get)(e,["chartMode"])}return null}(l,i)||"time-comparison",p=e(R.SETTINGS_STORE_NAME).getSetting("wc_admin","wcAdminSettings").woocommerce_default_date_range,f={mode:m,filterParam:d,defaultDateRange:p};if(o)return f;var b=u.some((function(e){return i[e]&&i[e].length}));if(i.search&&!b)return E({},f,{emptySearchResults:!0});var y=r&&r.map((function(e){return e.key})),h=Object(q.a)({endpoint:a,dataType:"primary",query:i,select:e,limitBy:u,filters:n,advancedFilters:s,defaultDateRange:p,fields:y});return E({},f,"item-comparison"===m?{primaryData:h}:{primaryData:h,secondaryData:Object(q.a)({endpoint:a,dataType:"secondary",query:i,select:e,limitBy:u,filters:n,advancedFilters:s,defaultDateRange:p,fields:y})})})))(T)},743:function(e,t,r){"use strict";r.d(t,"a",(function(){return n}));var a=r(2);function n(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=Object(a.find)(t,{key:e});return r||t[0]}},744:function(e,t,r){"use strict";var a=r(41),n=r.n(a),o=r(40),c=r.n(o),i=r(44),s=r.n(i),u=r(29),l=r.n(u),d=r(42),m=r.n(d),p=r(0),f=r(3),b=r(256),y=r(1),h=r.n(y),v=r(104),_=r(22),g=r(63),O=r(204),j=r(51),w=r(738),R=r(261),D=r(101),q=r(79),S=r(203);function k(){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}}var C=function(e){m()(a,e);var t,r=(t=a,function(){var e,r=l()(t);if(k()){var a=l()(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return s()(this,e)});function a(){return n()(this,a),r.apply(this,arguments)}return c()(a,[{key:"formatVal",value:function(e,t){var r=this.context,a=r.formatCurrency,n=r.getCurrency;return"currency"===t?a(e):Object(O.formatValue)(n(),t,e)}},{key:"getValues",value:function(e,t){var r=this.props,a=r.emptySearchResults,n=r.summaryData.totals,o=a?0:n.primary[e],c=a?0:n.secondary[e];return{delta:Object(O.calculateDelta)(o,c),prevValue:this.formatVal(c,t),value:this.formatVal(o,t)}}},{key:"render",value:function(){var e=this,t=this.props,r=t.charts,a=t.isRequesting,n=t.query,o=t.selectedChart,c=t.summaryData,i=t.endpoint,s=t.report,u=t.defaultDateRange,l=c.isError,d=c.isRequesting;if(l)return Object(p.createElement)(R.a,{isError:!0});if(a||d)return Object(p.createElement)(g.SummaryListPlaceholder,{numberOfItems:r.length});var m=Object(v.h)(n,u).compare;return Object(p.createElement)(g.SummaryList,null,(function(t){var a=t.onToggle;return r.map((function(t){var r=t.key,n=t.order,c=t.orderby,u=t.label,l=t.type,d={chart:r};c&&(d.orderby=c),n&&(d.order=n);var b=Object(_.getNewPath)(d),y=o.key===r,h=e.getValues(r,l),v=h.delta,O=h.prevValue,j=h.value;return Object(p.createElement)(g.SummaryNumber,{key:r,delta:v,href:b,label:u,prevLabel:"previous_period"===m?Object(f.__)("Previous Period:","woocommerce-admin"):Object(f.__)("Previous Year:","woocommerce-admin"),prevValue:O,selected:y,value:j,onLinkClickCallback:function(){a&&a(),Object(q.b)("analytics_chart_tab_click",{report:s||i,key:r})}})}))}))}}]),a}(p.Component);C.propTypes={charts:h.a.array.isRequired,endpoint:h.a.string.isRequired,limitProperties:h.a.array,query:h.a.object.isRequired,isRequesting:h.a.bool,selectedChart:h.a.shape({key:h.a.string.isRequired,label:h.a.string.isRequired,order:h.a.oneOf(["asc","desc"]),orderby:h.a.string,type:h.a.oneOf(["average","number","currency"]).isRequired}).isRequired,summaryData:h.a.object,report:h.a.string},C.defaultProps={summaryData:{totals:{primary:{},secondary:{}},isError:!1,isRequesting:!1}},C.contextType=S.a,t.a=Object(b.a)(Object(D.a)((function(e,t){var r=t.charts,a=t.endpoint,n=t.isRequesting,o=t.limitProperties,c=t.query,i=t.filters,s=t.advancedFilters,u=o||[a];if(n)return{};var l=u.some((function(e){return c[e]&&c[e].length}));if(c.search&&!l)return{emptySearchResults:!0};var d=r&&r.map((function(e){return e.key})),m=e(j.SETTINGS_STORE_NAME).getSetting("wc_admin","wcAdminSettings").woocommerce_default_date_range;return{summaryData:Object(w.d)({endpoint:a,query:c,select:e,limitBy:u,filters:i,advancedFilters:s,defaultDateRange:m,fields:d}),defaultDateRange:m}})))(C)},767:function(e,t,r){"use strict";r.d(t,"b",(function(){return l})),r.d(t,"c",(function(){return d})),r.d(t,"a",(function(){return m}));var a,n,o=r(46),c=r.n(o),i=r(3),s=r(48),u=r(739),l=Object(s.applyFilters)("woocommerce_admin_downloads_report_charts",[{key:"download_count",label:Object(i.__)("Downloads","woocommerce-admin"),type:"number"}]),d=Object(s.applyFilters)("woocommerce_admin_downloads_report_filters",[{label:Object(i.__)("Show","woocommerce-admin"),staticParams:[],param:"filter",showFilters:function(){return!0},filters:[{label:Object(i.__)("All Downloads","woocommerce-admin"),value:"all"},{label:Object(i.__)("Advanced Filters","woocommerce-admin"),value:"advanced"}]}]),m=Object(s.applyFilters)("woocommerce_admin_downloads_report_advanced_filters",{title:Object(i._x)("Downloads Match {{select /}} Filters","A sentence describing filters for Downloads. See screen shot for context: https://cloudup.com/ccxhyH2mEDg","woocommerce-admin"),filters:{product:{labels:{add:Object(i.__)("Product","woocommerce-admin"),placeholder:Object(i.__)("Search","woocommerce-admin"),remove:Object(i.__)("Remove product filter","woocommerce-admin"),rule:Object(i.__)("Select a product filter match","woocommerce-admin"),title:Object(i.__)("{{title}}Product{{/title}} {{rule /}} {{filter /}}","woocommerce-admin"),filter:Object(i.__)("Select product","woocommerce-admin")},rules:[{value:"includes",label:Object(i._x)("Includes","products","woocommerce-admin")},{value:"excludes",label:Object(i._x)("Excludes","products","woocommerce-admin")}],input:{component:"Search",type:"products",getLabels:u.d}},customer:{labels:{add:Object(i.__)("Username","woocommerce-admin"),placeholder:Object(i.__)("Search customer username","woocommerce-admin"),remove:Object(i.__)("Remove customer username filter","woocommerce-admin"),rule:Object(i.__)("Select a customer username filter match","woocommerce-admin"),title:Object(i.__)("{{title}}Username{{/title}} {{rule /}} {{filter /}}","woocommerce-admin"),filter:Object(i.__)("Select customer username","woocommerce-admin")},rules:[{value:"includes",label:Object(i._x)("Includes","customer usernames","woocommerce-admin")},{value:"excludes",label:Object(i._x)("Excludes","customer usernames","woocommerce-admin")}],input:{component:"Search",type:"usernames",getLabels:u.c}},order:{labels:{add:Object(i.__)("Order #","woocommerce-admin"),placeholder:Object(i.__)("Search order number","woocommerce-admin"),remove:Object(i.__)("Remove order number filter","woocommerce-admin"),rule:Object(i.__)("Select a order number filter match","woocommerce-admin"),title:Object(i.__)("{{title}}Order #{{/title}} {{rule /}} {{filter /}}","woocommerce-admin"),filter:Object(i.__)("Select order number","woocommerce-admin")},rules:[{value:"includes",label:Object(i._x)("Includes","order numbers","woocommerce-admin")},{value:"excludes",label:Object(i._x)("Excludes","order numbers","woocommerce-admin")}],input:{component:"Search",type:"orders",getLabels:(n=c()(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.split(","),e.next=3,r.map((function(e){return{id:e,label:"#"+e}}));case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})}},ip_address:{labels:{add:Object(i.__)("IP Address","woocommerce-admin"),placeholder:Object(i.__)("Search IP address","woocommerce-admin"),remove:Object(i.__)("Remove IP address filter","woocommerce-admin"),rule:Object(i.__)("Select an IP address filter match","woocommerce-admin"),title:Object(i.__)("{{title}}IP Address{{/title}} {{rule /}} {{filter /}}","woocommerce-admin"),filter:Object(i.__)("Select IP address","woocommerce-admin")},rules:[{value:"includes",label:Object(i._x)("Includes","IP addresses","woocommerce-admin")},{value:"excludes",label:Object(i._x)("Excludes","IP addresses","woocommerce-admin")}],input:{component:"Search",type:"downloadIps",getLabels:(a=c()(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.split(","),e.next=3,r.map((function(e){return{id:e,label:e}}));case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)}))),function(e){return a.apply(this,arguments)})}}}})}}]);
\ No newline at end of file
diff --git a/dist/chunks/analytics-report-orders.0b57ecec97f70fa238eb.js b/dist/chunks/analytics-report-orders.0b57ecec97f70fa238eb.js
new file mode 100644
index 00000000000..40ccee1dd9e
--- /dev/null
+++ b/dist/chunks/analytics-report-orders.0b57ecec97f70fa238eb.js
@@ -0,0 +1,1745 @@
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[13],{
+
+/***/ 730:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+// ESM COMPAT FLAG
+__webpack_require__.r(__webpack_exports__);
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, "default", function() { return /* binding */ orders_OrdersReport; });
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js
+var classCallCheck = __webpack_require__(41);
+var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js
+var createClass = __webpack_require__(40);
+var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(44);
+var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(29);
+var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js
+var inherits = __webpack_require__(42);
+var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: ./node_modules/prop-types/index.js
+var prop_types = __webpack_require__(1);
+var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
+
+// EXTERNAL MODULE: ./client/analytics/report/orders/config.js
+var config = __webpack_require__(764);
+
+// EXTERNAL MODULE: ./client/lib/get-selected-chart/index.js
+var get_selected_chart = __webpack_require__(743);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/assertThisInitialized.js
+var assertThisInitialized = __webpack_require__(59);
+var assertThisInitialized_default = /*#__PURE__*/__webpack_require__.n(assertThisInitialized);
+
+// EXTERNAL MODULE: external {"this":["wp","i18n"]}
+var external_this_wp_i18n_ = __webpack_require__(3);
+
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__(2);
+
+// EXTERNAL MODULE: external {"this":["wc","components"]}
+var external_this_wc_components_ = __webpack_require__(63);
+
+// EXTERNAL MODULE: external {"this":["wc","number"]}
+var external_this_wc_number_ = __webpack_require__(204);
+
+// EXTERNAL MODULE: ./client/settings/index.js
+var settings = __webpack_require__(26);
+
+// EXTERNAL MODULE: ./client/lib/date.js
+var date = __webpack_require__(104);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-table/index.js + 2 modules
+var report_table = __webpack_require__(746);
+
+// EXTERNAL MODULE: external {"this":["wc","navigation"]}
+var external_this_wc_navigation_ = __webpack_require__(22);
+
+// EXTERNAL MODULE: ./client/lib/currency-context.js
+var currency_context = __webpack_require__(203);
+
+// EXTERNAL MODULE: ./client/analytics/report/orders/style.scss
+var style = __webpack_require__(886);
+
+// CONCATENATED MODULE: ./client/analytics/report/orders/table.js
+
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+var table_OrdersReportTable = /*#__PURE__*/function (_Component) {
+ inherits_default()(OrdersReportTable, _Component);
+
+ var _super = _createSuper(OrdersReportTable);
+
+ function OrdersReportTable() {
+ var _this;
+
+ classCallCheck_default()(this, OrdersReportTable);
+
+ _this = _super.call(this);
+ _this.getHeadersContent = _this.getHeadersContent.bind(assertThisInitialized_default()(_this));
+ _this.getRowsContent = _this.getRowsContent.bind(assertThisInitialized_default()(_this));
+ _this.getSummary = _this.getSummary.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(OrdersReportTable, [{
+ key: "getHeadersContent",
+ value: function getHeadersContent() {
+ return [{
+ label: Object(external_this_wp_i18n_["__"])('Date', 'woocommerce-admin'),
+ key: 'date',
+ required: true,
+ defaultSort: true,
+ isLeftAligned: true,
+ isSortable: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Order #', 'woocommerce-admin'),
+ screenReaderLabel: Object(external_this_wp_i18n_["__"])('Order Number', 'woocommerce-admin'),
+ key: 'order_number',
+ required: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Status', 'woocommerce-admin'),
+ key: 'status',
+ required: false,
+ isSortable: false
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Customer', 'woocommerce-admin'),
+ key: 'customer_id',
+ required: false,
+ isSortable: false
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Product(s)', 'woocommerce-admin'),
+ screenReaderLabel: Object(external_this_wp_i18n_["__"])('Products', 'woocommerce-admin'),
+ key: 'products',
+ required: false,
+ isSortable: false
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Items Sold', 'woocommerce-admin'),
+ key: 'num_items_sold',
+ required: false,
+ isSortable: true,
+ isNumeric: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Coupon(s)', 'woocommerce-admin'),
+ screenReaderLabel: Object(external_this_wp_i18n_["__"])('Coupons', 'woocommerce-admin'),
+ key: 'coupons',
+ required: false,
+ isSortable: false
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Net Sales', 'woocommerce-admin'),
+ screenReaderLabel: Object(external_this_wp_i18n_["__"])('Net Sales', 'woocommerce-admin'),
+ key: 'net_total',
+ required: true,
+ isSortable: true,
+ isNumeric: true
+ }];
+ }
+ }, {
+ key: "getCustomerType",
+ value: function getCustomerType(customerType) {
+ switch (customerType) {
+ case 'new':
+ return Object(external_this_wp_i18n_["_x"])('New', 'customer type', 'woocommerce-admin');
+
+ case 'returning':
+ return Object(external_this_wp_i18n_["_x"])('Returning', 'customer type', 'woocommerce-admin');
+
+ default:
+ return Object(external_this_wp_i18n_["_x"])('N/A', 'customer type', 'woocommerce-admin');
+ }
+ }
+ }, {
+ key: "getRowsContent",
+ value: function getRowsContent(tableData) {
+ var _this2 = this;
+
+ var query = this.props.query;
+ var persistedQuery = Object(external_this_wc_navigation_["getPersistedQuery"])(query);
+ var dateFormat = Object(settings["g" /* getSetting */])('dateFormat', date["c" /* defaultTableDateFormat */]);
+ var _this$context = this.context,
+ renderCurrency = _this$context.render,
+ getCurrency = _this$context.getCurrency;
+ return Object(external_lodash_["map"])(tableData, function (row) {
+ var currency = row.currency,
+ customerType = row.customer_type,
+ dateCreated = row.date_created,
+ netTotal = row.net_total,
+ numItemsSold = row.num_items_sold,
+ orderId = row.order_id,
+ orderNumber = row.order_number,
+ parentId = row.parent_id,
+ status = row.status;
+ var extendedInfo = row.extended_info || {};
+ var coupons = extendedInfo.coupons,
+ products = extendedInfo.products;
+ var formattedProducts = products.sort(function (itemA, itemB) {
+ return itemB.quantity - itemA.quantity;
+ }).map(function (item) {
+ return {
+ label: item.name,
+ quantity: item.quantity,
+ href: Object(external_this_wc_navigation_["getNewPath"])(persistedQuery, '/analytics/products', {
+ filter: 'single_product',
+ products: item.id
+ })
+ };
+ });
+ var formattedCoupons = coupons.map(function (coupon) {
+ return {
+ label: coupon.code,
+ href: Object(external_this_wc_navigation_["getNewPath"])(persistedQuery, '/analytics/coupons', {
+ filter: 'single_coupon',
+ coupons: coupon.id
+ })
+ };
+ });
+ return [{
+ display: Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Date"], {
+ date: dateCreated,
+ visibleFormat: dateFormat
+ }),
+ value: dateCreated
+ }, {
+ display: Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: 'post.php?post=' + (parentId ? parentId : orderId) + '&action=edit' + (parentId ? '#order_refunds' : ''),
+ type: "wp-admin"
+ }, orderNumber),
+ value: orderNumber
+ }, {
+ display: Object(external_this_wp_element_["createElement"])(external_this_wc_components_["OrderStatus"], {
+ className: "woocommerce-orders-table__status",
+ order: {
+ status: status
+ },
+ orderStatusMap: Object(settings["g" /* getSetting */])('orderStatuses', {})
+ }),
+ value: status
+ }, {
+ display: _this2.getCustomerType(customerType),
+ value: customerType
+ }, {
+ display: _this2.renderList(formattedProducts.length ? [formattedProducts[0]] : [], formattedProducts.map(function (product) {
+ return {
+ label: Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('%s× %s', 'woocommerce-admin'), product.quantity, product.label),
+ href: product.href
+ };
+ })),
+ value: formattedProducts.map(function (_ref) {
+ var quantity = _ref.quantity,
+ label = _ref.label;
+ return Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('%s× %s', 'woocommerce-admin'), quantity, label);
+ }).join(', ')
+ }, {
+ display: Object(external_this_wc_number_["formatValue"])(getCurrency(), 'number', numItemsSold),
+ value: numItemsSold
+ }, {
+ display: _this2.renderList(formattedCoupons.length ? [formattedCoupons[0]] : [], formattedCoupons),
+ value: formattedCoupons.map(function (coupon) {
+ return coupon.label;
+ }).join(', ')
+ }, {
+ display: renderCurrency(netTotal, currency),
+ value: netTotal
+ }];
+ });
+ }
+ }, {
+ key: "getSummary",
+ value: function getSummary(totals) {
+ var _totals$orders_count = totals.orders_count,
+ ordersCount = _totals$orders_count === void 0 ? 0 : _totals$orders_count,
+ _totals$num_new_custo = totals.num_new_customers,
+ numNewCustomers = _totals$num_new_custo === void 0 ? 0 : _totals$num_new_custo,
+ _totals$num_returning = totals.num_returning_customers,
+ numReturningCustomers = _totals$num_returning === void 0 ? 0 : _totals$num_returning,
+ _totals$products = totals.products,
+ products = _totals$products === void 0 ? 0 : _totals$products,
+ _totals$num_items_sol = totals.num_items_sold,
+ numItemsSold = _totals$num_items_sol === void 0 ? 0 : _totals$num_items_sol,
+ _totals$coupons_count = totals.coupons_count,
+ couponsCount = _totals$coupons_count === void 0 ? 0 : _totals$coupons_count,
+ _totals$net_revenue = totals.net_revenue,
+ netRevenue = _totals$net_revenue === void 0 ? 0 : _totals$net_revenue;
+ var _this$context2 = this.context,
+ formatCurrency = _this$context2.formatCurrency,
+ getCurrency = _this$context2.getCurrency;
+ var currency = getCurrency();
+ return [{
+ label: Object(external_this_wp_i18n_["_n"])('order', 'orders', ordersCount, 'woocommerce-admin'),
+ value: Object(external_this_wc_number_["formatValue"])(currency, 'number', ordersCount)
+ }, {
+ label: Object(external_this_wp_i18n_["_n"])('new customer', 'new customers', numNewCustomers, 'woocommerce-admin'),
+ value: Object(external_this_wc_number_["formatValue"])(currency, 'number', numNewCustomers)
+ }, {
+ label: Object(external_this_wp_i18n_["_n"])('returning customer', 'returning customers', numReturningCustomers, 'woocommerce-admin'),
+ value: Object(external_this_wc_number_["formatValue"])(currency, 'number', numReturningCustomers)
+ }, {
+ label: Object(external_this_wp_i18n_["_n"])('product', 'products', products, 'woocommerce-admin'),
+ value: Object(external_this_wc_number_["formatValue"])(currency, 'number', products)
+ }, {
+ label: Object(external_this_wp_i18n_["_n"])('item sold', 'items sold', numItemsSold, 'woocommerce-admin'),
+ value: Object(external_this_wc_number_["formatValue"])(currency, 'number', numItemsSold)
+ }, {
+ label: Object(external_this_wp_i18n_["_n"])('coupon', 'coupons', couponsCount, 'woocommerce-admin'),
+ value: Object(external_this_wc_number_["formatValue"])(currency, 'number', couponsCount)
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('net sales', 'woocommerce-admin'),
+ value: formatCurrency(netRevenue)
+ }];
+ }
+ }, {
+ key: "renderLinks",
+ value: function renderLinks() {
+ var items = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
+ return items.map(function (item, i) {
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: item.href,
+ key: i,
+ type: "wc-admin"
+ }, item.label);
+ });
+ }
+ }, {
+ key: "renderList",
+ value: function renderList(visibleItems, popoverItems) {
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, this.renderLinks(visibleItems), popoverItems.length > 1 && Object(external_this_wp_element_["createElement"])(external_this_wc_components_["ViewMoreList"], {
+ items: this.renderLinks(popoverItems)
+ }));
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ query = _this$props.query,
+ filters = _this$props.filters,
+ advancedFilters = _this$props.advancedFilters;
+ return Object(external_this_wp_element_["createElement"])(report_table["a" /* default */], {
+ endpoint: "orders",
+ getHeadersContent: this.getHeadersContent,
+ getRowsContent: this.getRowsContent,
+ getSummary: this.getSummary,
+ summaryFields: ['orders_count', 'num_new_customers', 'num_returning_customers', 'products', 'num_items_sold', 'coupons_count', 'net_revenue'],
+ query: query,
+ tableQuery: {
+ extended_info: true
+ },
+ title: Object(external_this_wp_i18n_["__"])('Orders', 'woocommerce-admin'),
+ columnPrefsKey: "orders_report_columns",
+ filters: filters,
+ advancedFilters: advancedFilters
+ });
+ }
+ }]);
+
+ return OrdersReportTable;
+}(external_this_wp_element_["Component"]);
+
+table_OrdersReportTable.contextType = currency_context["a" /* CurrencyContext */];
+/* harmony default export */ var table = (table_OrdersReportTable);
+// EXTERNAL MODULE: ./client/analytics/components/report-chart/index.js + 1 modules
+var report_chart = __webpack_require__(741);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-summary/index.js
+var report_summary = __webpack_require__(744);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-filters/index.js
+var report_filters = __webpack_require__(745);
+
+// CONCATENATED MODULE: ./client/analytics/report/orders/index.js
+
+
+
+
+
+
+
+function orders_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (orders_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function orders_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+
+var orders_OrdersReport = /*#__PURE__*/function (_Component) {
+ inherits_default()(OrdersReport, _Component);
+
+ var _super = orders_createSuper(OrdersReport);
+
+ function OrdersReport() {
+ classCallCheck_default()(this, OrdersReport);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(OrdersReport, [{
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ path = _this$props.path,
+ query = _this$props.query;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(report_filters["a" /* default */], {
+ query: query,
+ path: path,
+ filters: config["c" /* filters */],
+ advancedFilters: config["a" /* advancedFilters */],
+ report: "orders"
+ }), Object(external_this_wp_element_["createElement"])(report_summary["a" /* default */], {
+ charts: config["b" /* charts */],
+ endpoint: "orders",
+ query: query,
+ selectedChart: Object(get_selected_chart["a" /* default */])(query.chart, config["b" /* charts */]),
+ filters: config["c" /* filters */],
+ advancedFilters: config["a" /* advancedFilters */]
+ }), Object(external_this_wp_element_["createElement"])(report_chart["a" /* default */], {
+ charts: config["b" /* charts */],
+ endpoint: "orders",
+ path: path,
+ query: query,
+ selectedChart: Object(get_selected_chart["a" /* default */])(query.chart, config["b" /* charts */]),
+ filters: config["c" /* filters */],
+ advancedFilters: config["a" /* advancedFilters */]
+ }), Object(external_this_wp_element_["createElement"])(table, {
+ query: query,
+ filters: config["c" /* filters */],
+ advancedFilters: config["a" /* advancedFilters */]
+ }));
+ }
+ }]);
+
+ return OrdersReport;
+}(external_this_wp_element_["Component"]);
+
+
+orders_OrdersReport.propTypes = {
+ path: prop_types_default.a.string.isRequired,
+ query: prop_types_default.a.object.isRequired
+};
+
+/***/ }),
+
+/***/ 739:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return getRequestByIdString; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getCategoryLabels; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getCouponLabels; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return getCustomerLabels; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return getProductLabels; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return getTaxRateLabels; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return getVariationLabels; });
+/* harmony import */ var _wordpress_url__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(30);
+/* harmony import */ var _wordpress_url__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_url__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20);
+/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _woocommerce_navigation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(22);
+/* harmony import */ var _woocommerce_navigation__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var analytics_report_taxes_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(740);
+/* harmony import */ var wc_api_constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(24);
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+/**
+ * Get a function that accepts ids as they are found in url parameter and
+ * returns a promise with an optional method applied to results
+ *
+ * @param {string|Function} path - api path string or a function of the query returning api path string
+ * @param {Function} [handleData] - function applied to each iteration of data
+ * @return {Function} - a function of ids returning a promise
+ */
+
+function getRequestByIdString(path) {
+ var handleData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : lodash__WEBPACK_IMPORTED_MODULE_2__["identity"];
+ return function () {
+ var queryString = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
+ var query = arguments.length > 1 ? arguments[1] : undefined;
+ var pathString = typeof path === 'function' ? path(query) : path;
+ var idList = Object(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_3__["getIdsFromQuery"])(queryString);
+
+ if (idList.length < 1) {
+ return Promise.resolve([]);
+ }
+
+ var payload = {
+ include: idList.join(','),
+ per_page: idList.length
+ };
+ return _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_1___default()({
+ path: Object(_wordpress_url__WEBPACK_IMPORTED_MODULE_0__["addQueryArgs"])(pathString, payload)
+ }).then(function (data) {
+ return data.map(handleData);
+ });
+ };
+}
+var getCategoryLabels = getRequestByIdString(wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + '/products/categories', function (category) {
+ return {
+ key: category.id,
+ label: category.name
+ };
+});
+var getCouponLabels = getRequestByIdString(wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + '/coupons', function (coupon) {
+ return {
+ key: coupon.id,
+ label: coupon.code
+ };
+});
+var getCustomerLabels = getRequestByIdString(wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + '/customers', function (customer) {
+ return {
+ key: customer.id,
+ label: customer.name
+ };
+});
+var getProductLabels = getRequestByIdString(wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + '/products', function (product) {
+ return {
+ key: product.id,
+ label: product.name
+ };
+});
+var getTaxRateLabels = getRequestByIdString(wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + '/taxes', function (taxRate) {
+ return {
+ key: taxRate.id,
+ label: Object(analytics_report_taxes_utils__WEBPACK_IMPORTED_MODULE_4__[/* getTaxCode */ "a"])(taxRate)
+ };
+});
+var getVariationLabels = getRequestByIdString(function (query) {
+ return wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + "/products/".concat(query.products, "/variations");
+}, function (variation) {
+ return {
+ key: variation.id,
+ label: variation.attributes.reduce(function (desc, attribute, index, arr) {
+ return desc + "".concat(attribute.option).concat(arr.length === index + 1 ? '' : ', ');
+ }, '')
+ };
+});
+
+/***/ }),
+
+/***/ 740:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getTaxCode; });
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__);
+/**
+ * External dependencies
+ */
+
+function getTaxCode(tax) {
+ return [tax.country, tax.state, tax.name || Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('TAX', 'woocommerce-admin'), tax.priority].map(function (item) {
+ return item.toString().toUpperCase().trim();
+ }).filter(Boolean).join('-');
+}
+
+/***/ }),
+
+/***/ 741:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// UNUSED EXPORTS: ReportChart
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js
+var defineProperty = __webpack_require__(15);
+var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js
+var classCallCheck = __webpack_require__(41);
+var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js
+var createClass = __webpack_require__(40);
+var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(44);
+var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(29);
+var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js
+var inherits = __webpack_require__(42);
+var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: external {"this":["wp","i18n"]}
+var external_this_wp_i18n_ = __webpack_require__(3);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/compose/build-module/higher-order/compose.js
+var compose = __webpack_require__(256);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/date/build-module/index.js
+var build_module = __webpack_require__(172);
+
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__(2);
+
+// EXTERNAL MODULE: ./node_modules/prop-types/index.js
+var prop_types = __webpack_require__(1);
+var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
+
+// EXTERNAL MODULE: ./client/lib/date.js
+var date = __webpack_require__(104);
+
+// EXTERNAL MODULE: external {"this":["wc","components"]}
+var external_this_wc_components_ = __webpack_require__(63);
+
+// EXTERNAL MODULE: external {"this":["wc","data"]}
+var external_this_wc_data_ = __webpack_require__(51);
+
+// EXTERNAL MODULE: ./client/lib/currency-context.js
+var currency_context = __webpack_require__(203);
+
+// EXTERNAL MODULE: ./client/wc-api/reports/utils.js
+var utils = __webpack_require__(738);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-error/index.js
+var report_error = __webpack_require__(261);
+
+// EXTERNAL MODULE: ./client/wc-api/with-select.js
+var with_select = __webpack_require__(101);
+
+// EXTERNAL MODULE: external {"this":["wc","navigation"]}
+var external_this_wc_navigation_ = __webpack_require__(22);
+
+// CONCATENATED MODULE: ./client/analytics/components/report-chart/utils.js
+/**
+ * External dependencies
+ */
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+var DEFAULT_FILTER = 'all';
+function getSelectedFilter(filters, query) {
+ var selectedFilterArgs = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
+
+ if (!filters || filters.length === 0) {
+ return null;
+ }
+
+ var clonedFilters = filters.slice(0);
+ var filterConfig = clonedFilters.pop();
+
+ if (filterConfig.showFilters(query, selectedFilterArgs)) {
+ var allFilters = Object(external_this_wc_navigation_["flattenFilters"])(filterConfig.filters);
+ var value = query[filterConfig.param] || filterConfig.defaultValue || DEFAULT_FILTER;
+ return Object(external_lodash_["find"])(allFilters, {
+ value: value
+ });
+ }
+
+ return getSelectedFilter(clonedFilters, query, selectedFilterArgs);
+}
+function getChartMode(selectedFilter, query) {
+ if (selectedFilter && query) {
+ var selectedFilterParam = Object(external_lodash_["get"])(selectedFilter, ['settings', 'param']);
+
+ if (!selectedFilterParam || Object.keys(query).includes(selectedFilterParam)) {
+ return Object(external_lodash_["get"])(selectedFilter, ['chartMode']);
+ }
+ }
+
+ return null;
+}
+// CONCATENATED MODULE: ./client/analytics/components/report-chart/index.js
+
+
+
+
+
+
+
+
+function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+function _createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+/**
+ * Component that renders the chart in reports.
+ */
+
+var report_chart_ReportChart = /*#__PURE__*/function (_Component) {
+ inherits_default()(ReportChart, _Component);
+
+ var _super = _createSuper(ReportChart);
+
+ function ReportChart() {
+ classCallCheck_default()(this, ReportChart);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(ReportChart, [{
+ key: "shouldComponentUpdate",
+ value: function shouldComponentUpdate(nextProps) {
+ if (nextProps.isRequesting !== this.props.isRequesting || nextProps.primaryData.isRequesting !== this.props.primaryData.isRequesting || nextProps.secondaryData.isRequesting !== this.props.secondaryData.isRequesting || !Object(external_lodash_["isEqual"])(nextProps.query, this.props.query)) {
+ return true;
+ }
+
+ return false;
+ }
+ }, {
+ key: "getItemChartData",
+ value: function getItemChartData() {
+ var _this$props = this.props,
+ primaryData = _this$props.primaryData,
+ selectedChart = _this$props.selectedChart;
+ var chartData = primaryData.data.intervals.map(function (interval) {
+ var intervalData = {};
+ interval.subtotals.segments.forEach(function (segment) {
+ if (segment.segment_label) {
+ var label = intervalData[segment.segment_label] ? segment.segment_label + ' (#' + segment.segment_id + ')' : segment.segment_label;
+ intervalData[segment.segment_id] = {
+ label: label,
+ value: segment.subtotals[selectedChart.key] || 0
+ };
+ }
+ });
+ return _objectSpread({
+ date: Object(build_module["a" /* format */])('Y-m-d\\TH:i:s', interval.date_start)
+ }, intervalData);
+ });
+ return chartData;
+ }
+ }, {
+ key: "getTimeChartData",
+ value: function getTimeChartData() {
+ var _this$props2 = this.props,
+ query = _this$props2.query,
+ primaryData = _this$props2.primaryData,
+ secondaryData = _this$props2.secondaryData,
+ selectedChart = _this$props2.selectedChart,
+ defaultDateRange = _this$props2.defaultDateRange;
+ var currentInterval = Object(date["i" /* getIntervalForQuery */])(query);
+
+ var _getCurrentDates = Object(date["f" /* getCurrentDates */])(query, defaultDateRange),
+ primary = _getCurrentDates.primary,
+ secondary = _getCurrentDates.secondary;
+
+ var chartData = primaryData.data.intervals.map(function (interval, index) {
+ var secondaryDate = Object(date["j" /* getPreviousDate */])(interval.date_start, primary.after, secondary.after, query.compare, currentInterval);
+ var secondaryInterval = secondaryData.data.intervals[index];
+ return {
+ date: Object(build_module["a" /* format */])('Y-m-d\\TH:i:s', interval.date_start),
+ primary: {
+ label: "".concat(primary.label, " (").concat(primary.range, ")"),
+ labelDate: interval.date_start,
+ value: interval.subtotals[selectedChart.key] || 0
+ },
+ secondary: {
+ label: "".concat(secondary.label, " (").concat(secondary.range, ")"),
+ labelDate: secondaryDate.format('YYYY-MM-DD HH:mm:ss'),
+ value: secondaryInterval && secondaryInterval.subtotals[selectedChart.key] || 0
+ }
+ };
+ });
+ return chartData;
+ }
+ }, {
+ key: "getTimeChartTotals",
+ value: function getTimeChartTotals() {
+ var _this$props3 = this.props,
+ primaryData = _this$props3.primaryData,
+ secondaryData = _this$props3.secondaryData,
+ selectedChart = _this$props3.selectedChart;
+ return {
+ primary: Object(external_lodash_["get"])(primaryData, ['data', 'totals', selectedChart.key], null),
+ secondary: Object(external_lodash_["get"])(secondaryData, ['data', 'totals', selectedChart.key], null)
+ };
+ }
+ }, {
+ key: "renderChart",
+ value: function renderChart(mode, isRequesting, chartData, legendTotals) {
+ var _this$props4 = this.props,
+ emptySearchResults = _this$props4.emptySearchResults,
+ filterParam = _this$props4.filterParam,
+ interactiveLegend = _this$props4.interactiveLegend,
+ itemsLabel = _this$props4.itemsLabel,
+ legendPosition = _this$props4.legendPosition,
+ path = _this$props4.path,
+ query = _this$props4.query,
+ selectedChart = _this$props4.selectedChart,
+ showHeaderControls = _this$props4.showHeaderControls,
+ primaryData = _this$props4.primaryData;
+ var currentInterval = Object(date["i" /* getIntervalForQuery */])(query);
+ var allowedIntervals = Object(date["d" /* getAllowedIntervalsForQuery */])(query);
+ var formats = Object(date["g" /* getDateFormatsForInterval */])(currentInterval, primaryData.data.intervals.length);
+ var emptyMessage = emptySearchResults ? Object(external_this_wp_i18n_["__"])('No data for the current search', 'woocommerce-admin') : Object(external_this_wp_i18n_["__"])('No data for the selected date range', 'woocommerce-admin');
+ var _this$context = this.context,
+ formatCurrency = _this$context.formatCurrency,
+ getCurrency = _this$context.getCurrency;
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Chart"], {
+ allowedIntervals: allowedIntervals,
+ data: chartData,
+ dateParser: '%Y-%m-%dT%H:%M:%S',
+ emptyMessage: emptyMessage,
+ filterParam: filterParam,
+ interactiveLegend: interactiveLegend,
+ interval: currentInterval,
+ isRequesting: isRequesting,
+ itemsLabel: itemsLabel,
+ legendPosition: legendPosition,
+ legendTotals: legendTotals,
+ mode: mode,
+ path: path,
+ query: query,
+ screenReaderFormat: formats.screenReaderFormat,
+ showHeaderControls: showHeaderControls,
+ title: selectedChart.label,
+ tooltipLabelFormat: formats.tooltipLabelFormat,
+ tooltipTitle: mode === 'time-comparison' && selectedChart.label || null,
+ tooltipValueFormat: Object(utils["e" /* getTooltipValueFormat */])(selectedChart.type, formatCurrency),
+ chartType: Object(date["e" /* getChartTypeForQuery */])(query),
+ valueType: selectedChart.type,
+ xFormat: formats.xFormat,
+ x2Format: formats.x2Format,
+ currency: getCurrency()
+ });
+ }
+ }, {
+ key: "renderItemComparison",
+ value: function renderItemComparison() {
+ var _this$props5 = this.props,
+ isRequesting = _this$props5.isRequesting,
+ primaryData = _this$props5.primaryData;
+
+ if (primaryData.isError) {
+ return Object(external_this_wp_element_["createElement"])(report_error["a" /* default */], {
+ isError: true
+ });
+ }
+
+ var isChartRequesting = isRequesting || primaryData.isRequesting;
+ var chartData = this.getItemChartData();
+ return this.renderChart('item-comparison', isChartRequesting, chartData);
+ }
+ }, {
+ key: "renderTimeComparison",
+ value: function renderTimeComparison() {
+ var _this$props6 = this.props,
+ isRequesting = _this$props6.isRequesting,
+ primaryData = _this$props6.primaryData,
+ secondaryData = _this$props6.secondaryData;
+
+ if (!primaryData || primaryData.isError || secondaryData.isError) {
+ return Object(external_this_wp_element_["createElement"])(report_error["a" /* default */], {
+ isError: true
+ });
+ }
+
+ var isChartRequesting = isRequesting || primaryData.isRequesting || secondaryData.isRequesting;
+ var chartData = this.getTimeChartData();
+ var legendTotals = this.getTimeChartTotals();
+ return this.renderChart('time-comparison', isChartRequesting, chartData, legendTotals);
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var mode = this.props.mode;
+
+ if (mode === 'item-comparison') {
+ return this.renderItemComparison();
+ }
+
+ return this.renderTimeComparison();
+ }
+ }]);
+
+ return ReportChart;
+}(external_this_wp_element_["Component"]);
+report_chart_ReportChart.contextType = currency_context["a" /* CurrencyContext */];
+report_chart_ReportChart.propTypes = {
+ /**
+ * Filters available for that report.
+ */
+ filters: prop_types_default.a.array,
+
+ /**
+ * Whether there is an API call running.
+ */
+ isRequesting: prop_types_default.a.bool,
+
+ /**
+ * Label describing the legend items.
+ */
+ itemsLabel: prop_types_default.a.string,
+
+ /**
+ * Allows specifying properties different from the `endpoint` that will be used
+ * to limit the items when there is an active search.
+ */
+ limitProperties: prop_types_default.a.array,
+
+ /**
+ * `items-comparison` (default) or `time-comparison`, this is used to generate correct
+ * ARIA properties.
+ */
+ mode: prop_types_default.a.string,
+
+ /**
+ * Current path
+ */
+ path: prop_types_default.a.string.isRequired,
+
+ /**
+ * Primary data to display in the chart.
+ */
+ primaryData: prop_types_default.a.object,
+
+ /**
+ * The query string represented in object form.
+ */
+ query: prop_types_default.a.object.isRequired,
+
+ /**
+ * Secondary data to display in the chart.
+ */
+ secondaryData: prop_types_default.a.object,
+
+ /**
+ * Properties of the selected chart.
+ */
+ selectedChart: prop_types_default.a.shape({
+ /**
+ * Key of the selected chart.
+ */
+ key: prop_types_default.a.string.isRequired,
+
+ /**
+ * Chart label.
+ */
+ label: prop_types_default.a.string.isRequired,
+
+ /**
+ * Order query argument.
+ */
+ order: prop_types_default.a.oneOf(['asc', 'desc']),
+
+ /**
+ * Order by query argument.
+ */
+ orderby: prop_types_default.a.string,
+
+ /**
+ * Number type for formatting.
+ */
+ type: prop_types_default.a.oneOf(['average', 'number', 'currency']).isRequired
+ }).isRequired
+};
+report_chart_ReportChart.defaultProps = {
+ isRequesting: false,
+ primaryData: {
+ data: {
+ intervals: []
+ },
+ isError: false,
+ isRequesting: false
+ },
+ secondaryData: {
+ data: {
+ intervals: []
+ },
+ isError: false,
+ isRequesting: false
+ }
+};
+/* harmony default export */ var report_chart = __webpack_exports__["a"] = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select, props) {
+ var charts = props.charts,
+ endpoint = props.endpoint,
+ filters = props.filters,
+ isRequesting = props.isRequesting,
+ limitProperties = props.limitProperties,
+ query = props.query,
+ advancedFilters = props.advancedFilters;
+ var limitBy = limitProperties || [endpoint];
+ var selectedFilter = getSelectedFilter(filters, query);
+ var filterParam = Object(external_lodash_["get"])(selectedFilter, ['settings', 'param']);
+ var chartMode = props.mode || getChartMode(selectedFilter, query) || 'time-comparison';
+
+ var _select$getSetting = select(external_this_wc_data_["SETTINGS_STORE_NAME"]).getSetting('wc_admin', 'wcAdminSettings'),
+ defaultDateRange = _select$getSetting.woocommerce_default_date_range;
+
+ var newProps = {
+ mode: chartMode,
+ filterParam: filterParam,
+ defaultDateRange: defaultDateRange
+ };
+
+ if (isRequesting) {
+ return newProps;
+ }
+
+ var hasLimitByParam = limitBy.some(function (item) {
+ return query[item] && query[item].length;
+ });
+
+ if (query.search && !hasLimitByParam) {
+ return _objectSpread({}, newProps, {
+ emptySearchResults: true
+ });
+ }
+
+ var fields = charts && charts.map(function (chart) {
+ return chart.key;
+ });
+ var primaryData = Object(utils["a" /* getReportChartData */])({
+ endpoint: endpoint,
+ dataType: 'primary',
+ query: query,
+ select: select,
+ limitBy: limitBy,
+ filters: filters,
+ advancedFilters: advancedFilters,
+ defaultDateRange: defaultDateRange,
+ fields: fields
+ });
+
+ if (chartMode === 'item-comparison') {
+ return _objectSpread({}, newProps, {
+ primaryData: primaryData
+ });
+ }
+
+ var secondaryData = Object(utils["a" /* getReportChartData */])({
+ endpoint: endpoint,
+ dataType: 'secondary',
+ query: query,
+ select: select,
+ limitBy: limitBy,
+ filters: filters,
+ advancedFilters: advancedFilters,
+ defaultDateRange: defaultDateRange,
+ fields: fields
+ });
+ return _objectSpread({}, newProps, {
+ primaryData: primaryData,
+ secondaryData: secondaryData
+ });
+}))(report_chart_ReportChart));
+
+/***/ }),
+
+/***/ 743:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getSelectedChart; });
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__);
+/**
+ * External dependencies
+ */
+
+/**
+ * Takes a chart name returns the configuration for that chart from and array
+ * of charts. If the chart is not found it will return the first chart.
+ *
+ * @param {string} chartName - the name of the chart to get configuration for
+ * @param {Array} charts - list of charts for a particular report
+ * @return {Object} - chart configuration object
+ */
+
+function getSelectedChart(chartName) {
+ var charts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
+ var chart = Object(lodash__WEBPACK_IMPORTED_MODULE_0__["find"])(charts, {
+ key: chartName
+ });
+
+ if (chart) {
+ return chart;
+ }
+
+ return charts[0];
+}
+
+/***/ }),
+
+/***/ 744:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export ReportSummary */
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(41);
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(40);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(44);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(29);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(42);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(3);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(256);
+/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(1);
+/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);
+/* harmony import */ var lib_date__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(104);
+/* harmony import */ var _woocommerce_navigation__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(22);
+/* harmony import */ var _woocommerce_navigation__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_10__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_11__);
+/* harmony import */ var _woocommerce_number__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(204);
+/* harmony import */ var _woocommerce_number__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_number__WEBPACK_IMPORTED_MODULE_12__);
+/* harmony import */ var _woocommerce_data__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(51);
+/* harmony import */ var _woocommerce_data__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_data__WEBPACK_IMPORTED_MODULE_13__);
+/* harmony import */ var wc_api_reports_utils__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(738);
+/* harmony import */ var analytics_components_report_error__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(261);
+/* harmony import */ var wc_api_with_select__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(101);
+/* harmony import */ var lib_tracks__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(79);
+/* harmony import */ var lib_currency_context__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(203);
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+/**
+ * Component to render summary numbers in reports.
+ */
+
+var ReportSummary = /*#__PURE__*/function (_Component) {
+ _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(ReportSummary, _Component);
+
+ var _super = _createSuper(ReportSummary);
+
+ function ReportSummary() {
+ _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, ReportSummary);
+
+ return _super.apply(this, arguments);
+ }
+
+ _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(ReportSummary, [{
+ key: "formatVal",
+ value: function formatVal(val, type) {
+ var _this$context = this.context,
+ formatCurrency = _this$context.formatCurrency,
+ getCurrency = _this$context.getCurrency;
+ return type === 'currency' ? formatCurrency(val) : Object(_woocommerce_number__WEBPACK_IMPORTED_MODULE_12__["formatValue"])(getCurrency(), type, val);
+ }
+ }, {
+ key: "getValues",
+ value: function getValues(key, type) {
+ var _this$props = this.props,
+ emptySearchResults = _this$props.emptySearchResults,
+ summaryData = _this$props.summaryData;
+ var totals = summaryData.totals;
+ var primaryValue = emptySearchResults ? 0 : totals.primary[key];
+ var secondaryValue = emptySearchResults ? 0 : totals.secondary[key];
+ return {
+ delta: Object(_woocommerce_number__WEBPACK_IMPORTED_MODULE_12__["calculateDelta"])(primaryValue, secondaryValue),
+ prevValue: this.formatVal(secondaryValue, type),
+ value: this.formatVal(primaryValue, type)
+ };
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this = this;
+
+ var _this$props2 = this.props,
+ charts = _this$props2.charts,
+ isRequesting = _this$props2.isRequesting,
+ query = _this$props2.query,
+ selectedChart = _this$props2.selectedChart,
+ summaryData = _this$props2.summaryData,
+ endpoint = _this$props2.endpoint,
+ report = _this$props2.report,
+ defaultDateRange = _this$props2.defaultDateRange;
+ var isError = summaryData.isError,
+ isSummaryDataRequesting = summaryData.isRequesting;
+
+ if (isError) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(analytics_components_report_error__WEBPACK_IMPORTED_MODULE_15__[/* default */ "a"], {
+ isError: true
+ });
+ }
+
+ if (isRequesting || isSummaryDataRequesting) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_11__["SummaryListPlaceholder"], {
+ numberOfItems: charts.length
+ });
+ }
+
+ var _getDateParamsFromQue = Object(lib_date__WEBPACK_IMPORTED_MODULE_9__[/* getDateParamsFromQuery */ "h"])(query, defaultDateRange),
+ compare = _getDateParamsFromQue.compare;
+
+ var renderSummaryNumbers = function renderSummaryNumbers(_ref) {
+ var onToggle = _ref.onToggle;
+ return charts.map(function (chart) {
+ var key = chart.key,
+ order = chart.order,
+ orderby = chart.orderby,
+ label = chart.label,
+ type = chart.type;
+ var newPath = {
+ chart: key
+ };
+
+ if (orderby) {
+ newPath.orderby = orderby;
+ }
+
+ if (order) {
+ newPath.order = order;
+ }
+
+ var href = Object(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_10__["getNewPath"])(newPath);
+ var isSelected = selectedChart.key === key;
+
+ var _this$getValues = _this.getValues(key, type),
+ delta = _this$getValues.delta,
+ prevValue = _this$getValues.prevValue,
+ value = _this$getValues.value;
+
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_11__["SummaryNumber"], {
+ key: key,
+ delta: delta,
+ href: href,
+ label: label,
+ prevLabel: compare === 'previous_period' ? Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('Previous Period:', 'woocommerce-admin') : Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('Previous Year:', 'woocommerce-admin'),
+ prevValue: prevValue,
+ selected: isSelected,
+ value: value,
+ onLinkClickCallback: function onLinkClickCallback() {
+ // Wider than a certain breakpoint, there is no dropdown so avoid calling onToggle.
+ if (onToggle) {
+ onToggle();
+ }
+
+ Object(lib_tracks__WEBPACK_IMPORTED_MODULE_17__[/* recordEvent */ "b"])('analytics_chart_tab_click', {
+ report: report || endpoint,
+ key: key
+ });
+ }
+ });
+ });
+ };
+
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_11__["SummaryList"], null, renderSummaryNumbers);
+ }
+ }]);
+
+ return ReportSummary;
+}(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["Component"]);
+ReportSummary.propTypes = {
+ /**
+ * Properties of all the charts available for that report.
+ */
+ charts: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.array.isRequired,
+
+ /**
+ * The endpoint to use in API calls to populate the Summary Numbers.
+ * For example, if `taxes` is provided, data will be fetched from the report
+ * `taxes` endpoint (ie: `/wc-analytics/reports/taxes/stats`). If the provided endpoint
+ * doesn't exist, an error will be shown to the user with `ReportError`.
+ */
+ endpoint: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string.isRequired,
+
+ /**
+ * Allows specifying properties different from the `endpoint` that will be used
+ * to limit the items when there is an active search.
+ */
+ limitProperties: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.array,
+
+ /**
+ * The query string represented in object form.
+ */
+ query: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.object.isRequired,
+
+ /**
+ * Whether there is an API call running.
+ */
+ isRequesting: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.bool,
+
+ /**
+ * Properties of the selected chart.
+ */
+ selectedChart: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.shape({
+ /**
+ * Key of the selected chart.
+ */
+ key: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string.isRequired,
+
+ /**
+ * Chart label.
+ */
+ label: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string.isRequired,
+
+ /**
+ * Order query argument.
+ */
+ order: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.oneOf(['asc', 'desc']),
+
+ /**
+ * Order by query argument.
+ */
+ orderby: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string,
+
+ /**
+ * Number type for formatting.
+ */
+ type: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.oneOf(['average', 'number', 'currency']).isRequired
+ }).isRequired,
+
+ /**
+ * Data to display in the SummaryNumbers.
+ */
+ summaryData: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.object,
+
+ /**
+ * Report name, if different than the endpoint.
+ */
+ report: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string
+};
+ReportSummary.defaultProps = {
+ summaryData: {
+ totals: {
+ primary: {},
+ secondary: {}
+ },
+ isError: false,
+ isRequesting: false
+ }
+};
+ReportSummary.contextType = lib_currency_context__WEBPACK_IMPORTED_MODULE_18__[/* CurrencyContext */ "a"];
+/* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_7__[/* default */ "a"])(Object(wc_api_with_select__WEBPACK_IMPORTED_MODULE_16__[/* default */ "a"])(function (select, props) {
+ var charts = props.charts,
+ endpoint = props.endpoint,
+ isRequesting = props.isRequesting,
+ limitProperties = props.limitProperties,
+ query = props.query,
+ filters = props.filters,
+ advancedFilters = props.advancedFilters;
+ var limitBy = limitProperties || [endpoint];
+
+ if (isRequesting) {
+ return {};
+ }
+
+ var hasLimitByParam = limitBy.some(function (item) {
+ return query[item] && query[item].length;
+ });
+
+ if (query.search && !hasLimitByParam) {
+ return {
+ emptySearchResults: true
+ };
+ }
+
+ var fields = charts && charts.map(function (chart) {
+ return chart.key;
+ });
+
+ var _select$getSetting = select(_woocommerce_data__WEBPACK_IMPORTED_MODULE_13__["SETTINGS_STORE_NAME"]).getSetting('wc_admin', 'wcAdminSettings'),
+ defaultDateRange = _select$getSetting.woocommerce_default_date_range;
+
+ var summaryData = Object(wc_api_reports_utils__WEBPACK_IMPORTED_MODULE_14__[/* getSummaryNumbers */ "d"])({
+ endpoint: endpoint,
+ query: query,
+ select: select,
+ limitBy: limitBy,
+ filters: filters,
+ advancedFilters: advancedFilters,
+ defaultDateRange: defaultDateRange,
+ fields: fields
+ });
+ return {
+ summaryData: summaryData,
+ defaultDateRange: defaultDateRange
+ };
+}))(ReportSummary));
+
+/***/ }),
+
+/***/ 764:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return charts; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return filters; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return advancedFilters; });
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(48);
+/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(26);
+/* harmony import */ var lib_async_requests__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(739);
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+var ORDERS_REPORT_CHARTS_FILTER = 'woocommerce_admin_orders_report_charts';
+var ORDERS_REPORT_FILTERS_FILTER = 'woocommerce_admin_orders_report_filters';
+var ORDERS_REPORT_ADVANCED_FILTERS_FILTER = 'woocommerce_admin_orders_report_advanced_filters';
+var charts = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__["applyFilters"])(ORDERS_REPORT_CHARTS_FILTER, [{
+ key: 'orders_count',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Orders', 'woocommerce-admin'),
+ type: 'number'
+}, {
+ key: 'net_revenue',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Net Sales', 'woocommerce-admin'),
+ order: 'desc',
+ orderby: 'net_total',
+ type: 'currency'
+}, {
+ key: 'avg_order_value',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Average Order Value', 'woocommerce-admin'),
+ type: 'currency'
+}, {
+ key: 'avg_items_per_order',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Average Items Per Order', 'woocommerce-admin'),
+ order: 'desc',
+ orderby: 'num_items_sold',
+ type: 'average'
+}]);
+var filters = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__["applyFilters"])(ORDERS_REPORT_FILTERS_FILTER, [{
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Show', 'woocommerce-admin'),
+ staticParams: ['chart'],
+ param: 'filter',
+ showFilters: function showFilters() {
+ return true;
+ },
+ filters: [{
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('All Orders', 'woocommerce-admin'),
+ value: 'all'
+ }, {
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Advanced Filters', 'woocommerce-admin'),
+ value: 'advanced'
+ }]
+}]);
+/*eslint-disable max-len*/
+
+var advancedFilters = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__["applyFilters"])(ORDERS_REPORT_ADVANCED_FILTERS_FILTER, {
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["_x"])('Orders Match {{select /}} Filters', 'A sentence describing filters for Orders. See screen shot for context: https://cloudup.com/cSsUY9VeCVJ', 'woocommerce-admin'),
+ filters: {
+ status: {
+ labels: {
+ add: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Order Status', 'woocommerce-admin'),
+ remove: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Remove order status filter', 'woocommerce-admin'),
+ rule: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Select an order status filter match', 'woocommerce-admin'),
+
+ /* translators: A sentence describing an Order Status filter. See screen shot for context: https://cloudup.com/cSsUY9VeCVJ */
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('{{title}}Order Status{{/title}} {{rule /}} {{filter /}}', 'woocommerce-admin'),
+ filter: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Select an order status', 'woocommerce-admin')
+ },
+ rules: [{
+ value: 'is',
+
+ /* translators: Sentence fragment, logical, "Is" refers to searching for orders matching a chosen order status. Screenshot for context: https://cloudup.com/cSsUY9VeCVJ */
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["_x"])('Is', 'order status', 'woocommerce-admin')
+ }, {
+ value: 'is_not',
+
+ /* translators: Sentence fragment, logical, "Is Not" refers to searching for orders that don\'t match a chosen order status. Screenshot for context: https://cloudup.com/cSsUY9VeCVJ */
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["_x"])('Is Not', 'order status', 'woocommerce-admin')
+ }],
+ input: {
+ component: 'SelectControl',
+ options: Object.keys(_woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_2__[/* ORDER_STATUSES */ "d"]).map(function (key) {
+ return {
+ value: key,
+ label: _woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_2__[/* ORDER_STATUSES */ "d"][key]
+ };
+ })
+ }
+ },
+ product: {
+ labels: {
+ add: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Products', 'woocommerce-admin'),
+ placeholder: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Search products', 'woocommerce-admin'),
+ remove: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Remove products filter', 'woocommerce-admin'),
+ rule: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Select a product filter match', 'woocommerce-admin'),
+
+ /* translators: A sentence describing a Product filter. See screen shot for context: https://cloudup.com/cSsUY9VeCVJ */
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('{{title}}Product{{/title}} {{rule /}} {{filter /}}', 'woocommerce-admin'),
+ filter: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Select products', 'woocommerce-admin')
+ },
+ rules: [{
+ value: 'includes',
+
+ /* translators: Sentence fragment, logical, "Includes" refers to orders including a given product(s). Screenshot for context: https://cloudup.com/cSsUY9VeCVJ */
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["_x"])('Includes', 'products', 'woocommerce-admin')
+ }, {
+ value: 'excludes',
+
+ /* translators: Sentence fragment, logical, "Excludes" refers to orders excluding a given product(s). Screenshot for context: https://cloudup.com/cSsUY9VeCVJ */
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["_x"])('Excludes', 'products', 'woocommerce-admin')
+ }],
+ input: {
+ component: 'Search',
+ type: 'products',
+ getLabels: lib_async_requests__WEBPACK_IMPORTED_MODULE_3__[/* getProductLabels */ "d"]
+ }
+ },
+ coupon: {
+ labels: {
+ add: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Coupon Codes', 'woocommerce-admin'),
+ placeholder: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Search coupons', 'woocommerce-admin'),
+ remove: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Remove coupon filter', 'woocommerce-admin'),
+ rule: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Select a coupon filter match', 'woocommerce-admin'),
+
+ /* translators: A sentence describing a Coupon filter. See screen shot for context: https://cloudup.com/cSsUY9VeCVJ */
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('{{title}}Coupon Code{{/title}} {{rule /}} {{filter /}}', 'woocommerce-admin'),
+ filter: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Select coupon codes', 'woocommerce-admin')
+ },
+ rules: [{
+ value: 'includes',
+
+ /* translators: Sentence fragment, logical, "Includes" refers to orders including a given coupon code(s). Screenshot for context: https://cloudup.com/cSsUY9VeCVJ */
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["_x"])('Includes', 'coupon code', 'woocommerce-admin')
+ }, {
+ value: 'excludes',
+
+ /* translators: Sentence fragment, logical, "Excludes" refers to orders excluding a given coupon code(s). Screenshot for context: https://cloudup.com/cSsUY9VeCVJ */
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["_x"])('Excludes', 'coupon code', 'woocommerce-admin')
+ }],
+ input: {
+ component: 'Search',
+ type: 'coupons',
+ getLabels: lib_async_requests__WEBPACK_IMPORTED_MODULE_3__[/* getCouponLabels */ "b"]
+ }
+ },
+ customer_type: {
+ labels: {
+ add: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Customer Type', 'woocommerce-admin'),
+ remove: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Remove customer filter', 'woocommerce-admin'),
+ rule: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Select a customer filter match', 'woocommerce-admin'),
+
+ /* translators: A sentence describing a Customer filter. See screen shot for context: https://cloudup.com/cSsUY9VeCVJ */
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('{{title}}Customer is{{/title}} {{filter /}}', 'woocommerce-admin'),
+ filter: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Select a customer type', 'woocommerce-admin')
+ },
+ input: {
+ component: 'SelectControl',
+ options: [{
+ value: 'new',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('New', 'woocommerce-admin')
+ }, {
+ value: 'returning',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Returning', 'woocommerce-admin')
+ }],
+ defaultOption: 'new'
+ }
+ },
+ refunds: {
+ labels: {
+ add: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Refunds', 'woocommerce-admin'),
+ remove: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Remove refunds filter', 'woocommerce-admin'),
+ rule: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Select a refund filter match', 'woocommerce-admin'),
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('{{title}}Refunds{{/title}} {{filter /}}', 'woocommerce-admin'),
+ filter: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Select a refund type', 'woocommerce-admin')
+ },
+ input: {
+ component: 'SelectControl',
+ options: [{
+ value: 'all',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('All', 'woocommerce-admin')
+ }, {
+ value: 'partial',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Partially refunded', 'woocommerce-admin')
+ }, {
+ value: 'full',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Fully refunded', 'woocommerce-admin')
+ }, {
+ value: 'none',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('None', 'woocommerce-admin')
+ }],
+ defaultOption: 'all'
+ }
+ },
+ tax_rate: {
+ labels: {
+ add: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Tax Rates', 'woocommerce-admin'),
+ placeholder: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Search tax rates', 'woocommerce-admin'),
+ remove: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Remove tax rate filter', 'woocommerce-admin'),
+ rule: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Select a tax rate filter match', 'woocommerce-admin'),
+
+ /* translators: A sentence describing a tax rate filter. See screen shot for context: https://cloudup.com/cSsUY9VeCVJ */
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('{{title}}Tax Rate{{/title}} {{rule /}} {{filter /}}', 'woocommerce-admin'),
+ filter: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Select tax rates', 'woocommerce-admin')
+ },
+ rules: [{
+ value: 'includes',
+
+ /* translators: Sentence fragment, logical, "Includes" refers to orders including a given tax rate(s). Screenshot for context: https://cloudup.com/cSsUY9VeCVJ */
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["_x"])('Includes', 'tax rate', 'woocommerce-admin')
+ }, {
+ value: 'excludes',
+
+ /* translators: Sentence fragment, logical, "Excludes" refers to orders excluding a given tax rate(s). Screenshot for context: https://cloudup.com/cSsUY9VeCVJ */
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["_x"])('Excludes', 'tax rate', 'woocommerce-admin')
+ }],
+ input: {
+ component: 'Search',
+ type: 'taxes',
+ getLabels: lib_async_requests__WEBPACK_IMPORTED_MODULE_3__[/* getTaxRateLabels */ "f"]
+ }
+ }
+ }
+});
+/*eslint-enable max-len*/
+
+/***/ }),
+
+/***/ 886:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ })
+
+}]);
\ No newline at end of file
diff --git a/dist/chunks/analytics-report-orders.0b57ecec97f70fa238eb.min.js b/dist/chunks/analytics-report-orders.0b57ecec97f70fa238eb.min.js
new file mode 100644
index 00000000000..74ed96d0fc1
--- /dev/null
+++ b/dist/chunks/analytics-report-orders.0b57ecec97f70fa238eb.min.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{730:function(e,t,r){"use strict";r.r(t),r.d(t,"default",(function(){return N}));var a=r(41),n=r.n(a),o=r(40),c=r.n(o),i=r(44),u=r.n(i),s=r(29),l=r.n(s),m=r(42),d=r.n(m),p=r(0),b=r(1),f=r.n(b),y=r(764),_=r(743),v=r(59),O=r.n(v),j=r(3),h=r(2),g=r(63),w=r(204),R=r(26),q=r(104),S=r(746),k=r(22),C=r(203);r(886);function D(){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}}var x=function(e){d()(a,e);var t,r=(t=a,function(){var e,r=l()(t);if(D()){var a=l()(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return u()(this,e)});function a(){var e;return n()(this,a),(e=r.call(this)).getHeadersContent=e.getHeadersContent.bind(O()(e)),e.getRowsContent=e.getRowsContent.bind(O()(e)),e.getSummary=e.getSummary.bind(O()(e)),e}return c()(a,[{key:"getHeadersContent",value:function(){return[{label:Object(j.__)("Date","woocommerce-admin"),key:"date",required:!0,defaultSort:!0,isLeftAligned:!0,isSortable:!0},{label:Object(j.__)("Order #","woocommerce-admin"),screenReaderLabel:Object(j.__)("Order Number","woocommerce-admin"),key:"order_number",required:!0},{label:Object(j.__)("Status","woocommerce-admin"),key:"status",required:!1,isSortable:!1},{label:Object(j.__)("Customer","woocommerce-admin"),key:"customer_id",required:!1,isSortable:!1},{label:Object(j.__)("Product(s)","woocommerce-admin"),screenReaderLabel:Object(j.__)("Products","woocommerce-admin"),key:"products",required:!1,isSortable:!1},{label:Object(j.__)("Items Sold","woocommerce-admin"),key:"num_items_sold",required:!1,isSortable:!0,isNumeric:!0},{label:Object(j.__)("Coupon(s)","woocommerce-admin"),screenReaderLabel:Object(j.__)("Coupons","woocommerce-admin"),key:"coupons",required:!1,isSortable:!1},{label:Object(j.__)("Net Sales","woocommerce-admin"),screenReaderLabel:Object(j.__)("Net Sales","woocommerce-admin"),key:"net_total",required:!0,isSortable:!0,isNumeric:!0}]}},{key:"getCustomerType",value:function(e){switch(e){case"new":return Object(j._x)("New","customer type","woocommerce-admin");case"returning":return Object(j._x)("Returning","customer type","woocommerce-admin");default:return Object(j._x)("N/A","customer type","woocommerce-admin")}}},{key:"getRowsContent",value:function(e){var t=this,r=this.props.query,a=Object(k.getPersistedQuery)(r),n=Object(R.g)("dateFormat",q.c),o=this.context,c=o.render,i=o.getCurrency;return Object(h.map)(e,(function(e){var r=e.currency,o=e.customer_type,u=e.date_created,s=e.net_total,l=e.num_items_sold,m=e.order_id,d=e.order_number,b=e.parent_id,f=e.status,y=e.extended_info||{},_=y.coupons,v=y.products.sort((function(e,t){return t.quantity-e.quantity})).map((function(e){return{label:e.name,quantity:e.quantity,href:Object(k.getNewPath)(a,"/analytics/products",{filter:"single_product",products:e.id})}})),O=_.map((function(e){return{label:e.code,href:Object(k.getNewPath)(a,"/analytics/coupons",{filter:"single_coupon",coupons:e.id})}}));return[{display:Object(p.createElement)(g.Date,{date:u,visibleFormat:n}),value:u},{display:Object(p.createElement)(g.Link,{href:"post.php?post="+(b||m)+"&action=edit"+(b?"#order_refunds":""),type:"wp-admin"},d),value:d},{display:Object(p.createElement)(g.OrderStatus,{className:"woocommerce-orders-table__status",order:{status:f},orderStatusMap:Object(R.g)("orderStatuses",{})}),value:f},{display:t.getCustomerType(o),value:o},{display:t.renderList(v.length?[v[0]]:[],v.map((function(e){return{label:Object(j.sprintf)(Object(j.__)("%s× %s","woocommerce-admin"),e.quantity,e.label),href:e.href}}))),value:v.map((function(e){var t=e.quantity,r=e.label;return Object(j.sprintf)(Object(j.__)("%s× %s","woocommerce-admin"),t,r)})).join(", ")},{display:Object(w.formatValue)(i(),"number",l),value:l},{display:t.renderList(O.length?[O[0]]:[],O),value:O.map((function(e){return e.label})).join(", ")},{display:c(s,r),value:s}]}))}},{key:"getSummary",value:function(e){var t=e.orders_count,r=void 0===t?0:t,a=e.num_new_customers,n=void 0===a?0:a,o=e.num_returning_customers,c=void 0===o?0:o,i=e.products,u=void 0===i?0:i,s=e.num_items_sold,l=void 0===s?0:s,m=e.coupons_count,d=void 0===m?0:m,p=e.net_revenue,b=void 0===p?0:p,f=this.context,y=f.formatCurrency,_=(0,f.getCurrency)();return[{label:Object(j._n)("order","orders",r,"woocommerce-admin"),value:Object(w.formatValue)(_,"number",r)},{label:Object(j._n)("new customer","new customers",n,"woocommerce-admin"),value:Object(w.formatValue)(_,"number",n)},{label:Object(j._n)("returning customer","returning customers",c,"woocommerce-admin"),value:Object(w.formatValue)(_,"number",c)},{label:Object(j._n)("product","products",u,"woocommerce-admin"),value:Object(w.formatValue)(_,"number",u)},{label:Object(j._n)("item sold","items sold",l,"woocommerce-admin"),value:Object(w.formatValue)(_,"number",l)},{label:Object(j._n)("coupon","coupons",d,"woocommerce-admin"),value:Object(w.formatValue)(_,"number",d)},{label:Object(j.__)("net sales","woocommerce-admin"),value:y(b)}]}},{key:"renderLinks",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.map((function(e,t){return Object(p.createElement)(g.Link,{href:e.href,key:t,type:"wc-admin"},e.label)}))}},{key:"renderList",value:function(e,t){return Object(p.createElement)(p.Fragment,null,this.renderLinks(e),t.length>1&&Object(p.createElement)(g.ViewMoreList,{items:this.renderLinks(t)}))}},{key:"render",value:function(){var e=this.props,t=e.query,r=e.filters,a=e.advancedFilters;return Object(p.createElement)(S.a,{endpoint:"orders",getHeadersContent:this.getHeadersContent,getRowsContent:this.getRowsContent,getSummary:this.getSummary,summaryFields:["orders_count","num_new_customers","num_returning_customers","products","num_items_sold","coupons_count","net_revenue"],query:t,tableQuery:{extended_info:!0},title:Object(j.__)("Orders","woocommerce-admin"),columnPrefsKey:"orders_report_columns",filters:r,advancedFilters:a})}}]),a}(p.Component);x.contextType=C.a;var E=x,P=r(741),T=r(744),F=r(745);function L(){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}}var N=function(e){d()(a,e);var t,r=(t=a,function(){var e,r=l()(t);if(L()){var a=l()(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return u()(this,e)});function a(){return n()(this,a),r.apply(this,arguments)}return c()(a,[{key:"render",value:function(){var e=this.props,t=e.path,r=e.query;return Object(p.createElement)(p.Fragment,null,Object(p.createElement)(F.a,{query:r,path:t,filters:y.c,advancedFilters:y.a,report:"orders"}),Object(p.createElement)(T.a,{charts:y.b,endpoint:"orders",query:r,selectedChart:Object(_.a)(r.chart,y.b),filters:y.c,advancedFilters:y.a}),Object(p.createElement)(P.a,{charts:y.b,endpoint:"orders",path:t,query:r,selectedChart:Object(_.a)(r.chart,y.b),filters:y.c,advancedFilters:y.a}),Object(p.createElement)(E,{query:r,filters:y.c,advancedFilters:y.a}))}}]),a}(p.Component);N.propTypes={path:f.a.string.isRequired,query:f.a.object.isRequired}},739:function(e,t,r){"use strict";r.d(t,"e",(function(){return l})),r.d(t,"a",(function(){return m})),r.d(t,"b",(function(){return d})),r.d(t,"c",(function(){return p})),r.d(t,"d",(function(){return b})),r.d(t,"f",(function(){return f})),r.d(t,"g",(function(){return y}));var a=r(30),n=r(20),o=r.n(n),c=r(2),i=r(22),u=r(740),s=r(24);function l(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:c.identity;return function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=arguments.length>1?arguments[1]:void 0,c="function"==typeof e?e(n):e,u=Object(i.getIdsFromQuery)(r);if(u.length<1)return Promise.resolve([]);var s={include:u.join(","),per_page:u.length};return o()({path:Object(a.addQueryArgs)(c,s)}).then((function(e){return e.map(t)}))}}var m=l(s.c+"/products/categories",(function(e){return{key:e.id,label:e.name}})),d=l(s.c+"/coupons",(function(e){return{key:e.id,label:e.code}})),p=l(s.c+"/customers",(function(e){return{key:e.id,label:e.name}})),b=l(s.c+"/products",(function(e){return{key:e.id,label:e.name}})),f=l(s.c+"/taxes",(function(e){return{key:e.id,label:Object(u.a)(e)}})),y=l((function(e){return s.c+"/products/".concat(e.products,"/variations")}),(function(e){return{key:e.id,label:e.attributes.reduce((function(e,t,r,a){return e+"".concat(t.option).concat(a.length===r+1?"":", ")}),"")}}))},740:function(e,t,r){"use strict";r.d(t,"a",(function(){return n}));var a=r(3);function n(e){return[e.country,e.state,e.name||Object(a.__)("TAX","woocommerce-admin"),e.priority].map((function(e){return e.toString().toUpperCase().trim()})).filter(Boolean).join("-")}},741:function(e,t,r){"use strict";var a=r(15),n=r.n(a),o=r(41),c=r.n(o),i=r(40),u=r.n(i),s=r(44),l=r.n(s),m=r(29),d=r.n(m),p=r(42),b=r.n(p),f=r(0),y=r(3),_=r(256),v=r(172),O=r(2),j=r(1),h=r.n(j),g=r(104),w=r(63),R=r(51),q=r(203),S=r(738),k=r(261),C=r(101),D=r(22);function x(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function E(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:{};if(!t||0===t.length)return null;var n=t.slice(0),o=n.pop();if(o.showFilters(r,a)){var c=Object(D.flattenFilters)(o.filters),i=r[o.param]||o.defaultValue||"all";return Object(O.find)(c,{value:i})}return e(n,r,a)}(n,i),m=Object(O.get)(l,["settings","param"]),d=t.mode||function(e,t){if(e&&t){var r=Object(O.get)(e,["settings","param"]);if(!r||Object.keys(t).includes(r))return Object(O.get)(e,["chartMode"])}return null}(l,i)||"time-comparison",p=e(R.SETTINGS_STORE_NAME).getSetting("wc_admin","wcAdminSettings").woocommerce_default_date_range,b={mode:d,filterParam:m,defaultDateRange:p};if(o)return b;var f=s.some((function(e){return i[e]&&i[e].length}));if(i.search&&!f)return E({},b,{emptySearchResults:!0});var y=r&&r.map((function(e){return e.key})),_=Object(S.a)({endpoint:a,dataType:"primary",query:i,select:e,limitBy:s,filters:n,advancedFilters:u,defaultDateRange:p,fields:y});return E({},b,"item-comparison"===d?{primaryData:_}:{primaryData:_,secondaryData:Object(S.a)({endpoint:a,dataType:"secondary",query:i,select:e,limitBy:s,filters:n,advancedFilters:u,defaultDateRange:p,fields:y})})})))(T)},743:function(e,t,r){"use strict";r.d(t,"a",(function(){return n}));var a=r(2);function n(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=Object(a.find)(t,{key:e});return r||t[0]}},744:function(e,t,r){"use strict";var a=r(41),n=r.n(a),o=r(40),c=r.n(o),i=r(44),u=r.n(i),s=r(29),l=r.n(s),m=r(42),d=r.n(m),p=r(0),b=r(3),f=r(256),y=r(1),_=r.n(y),v=r(104),O=r(22),j=r(63),h=r(204),g=r(51),w=r(738),R=r(261),q=r(101),S=r(79),k=r(203);function C(){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}}var D=function(e){d()(a,e);var t,r=(t=a,function(){var e,r=l()(t);if(C()){var a=l()(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return u()(this,e)});function a(){return n()(this,a),r.apply(this,arguments)}return c()(a,[{key:"formatVal",value:function(e,t){var r=this.context,a=r.formatCurrency,n=r.getCurrency;return"currency"===t?a(e):Object(h.formatValue)(n(),t,e)}},{key:"getValues",value:function(e,t){var r=this.props,a=r.emptySearchResults,n=r.summaryData.totals,o=a?0:n.primary[e],c=a?0:n.secondary[e];return{delta:Object(h.calculateDelta)(o,c),prevValue:this.formatVal(c,t),value:this.formatVal(o,t)}}},{key:"render",value:function(){var e=this,t=this.props,r=t.charts,a=t.isRequesting,n=t.query,o=t.selectedChart,c=t.summaryData,i=t.endpoint,u=t.report,s=t.defaultDateRange,l=c.isError,m=c.isRequesting;if(l)return Object(p.createElement)(R.a,{isError:!0});if(a||m)return Object(p.createElement)(j.SummaryListPlaceholder,{numberOfItems:r.length});var d=Object(v.h)(n,s).compare;return Object(p.createElement)(j.SummaryList,null,(function(t){var a=t.onToggle;return r.map((function(t){var r=t.key,n=t.order,c=t.orderby,s=t.label,l=t.type,m={chart:r};c&&(m.orderby=c),n&&(m.order=n);var f=Object(O.getNewPath)(m),y=o.key===r,_=e.getValues(r,l),v=_.delta,h=_.prevValue,g=_.value;return Object(p.createElement)(j.SummaryNumber,{key:r,delta:v,href:f,label:s,prevLabel:"previous_period"===d?Object(b.__)("Previous Period:","woocommerce-admin"):Object(b.__)("Previous Year:","woocommerce-admin"),prevValue:h,selected:y,value:g,onLinkClickCallback:function(){a&&a(),Object(S.b)("analytics_chart_tab_click",{report:u||i,key:r})}})}))}))}}]),a}(p.Component);D.propTypes={charts:_.a.array.isRequired,endpoint:_.a.string.isRequired,limitProperties:_.a.array,query:_.a.object.isRequired,isRequesting:_.a.bool,selectedChart:_.a.shape({key:_.a.string.isRequired,label:_.a.string.isRequired,order:_.a.oneOf(["asc","desc"]),orderby:_.a.string,type:_.a.oneOf(["average","number","currency"]).isRequired}).isRequired,summaryData:_.a.object,report:_.a.string},D.defaultProps={summaryData:{totals:{primary:{},secondary:{}},isError:!1,isRequesting:!1}},D.contextType=k.a,t.a=Object(f.a)(Object(q.a)((function(e,t){var r=t.charts,a=t.endpoint,n=t.isRequesting,o=t.limitProperties,c=t.query,i=t.filters,u=t.advancedFilters,s=o||[a];if(n)return{};var l=s.some((function(e){return c[e]&&c[e].length}));if(c.search&&!l)return{emptySearchResults:!0};var m=r&&r.map((function(e){return e.key})),d=e(g.SETTINGS_STORE_NAME).getSetting("wc_admin","wcAdminSettings").woocommerce_default_date_range;return{summaryData:Object(w.d)({endpoint:a,query:c,select:e,limitBy:s,filters:i,advancedFilters:u,defaultDateRange:d,fields:m}),defaultDateRange:d}})))(D)},764:function(e,t,r){"use strict";r.d(t,"b",(function(){return i})),r.d(t,"c",(function(){return u})),r.d(t,"a",(function(){return s}));var a=r(3),n=r(48),o=r(26),c=r(739),i=Object(n.applyFilters)("woocommerce_admin_orders_report_charts",[{key:"orders_count",label:Object(a.__)("Orders","woocommerce-admin"),type:"number"},{key:"net_revenue",label:Object(a.__)("Net Sales","woocommerce-admin"),order:"desc",orderby:"net_total",type:"currency"},{key:"avg_order_value",label:Object(a.__)("Average Order Value","woocommerce-admin"),type:"currency"},{key:"avg_items_per_order",label:Object(a.__)("Average Items Per Order","woocommerce-admin"),order:"desc",orderby:"num_items_sold",type:"average"}]),u=Object(n.applyFilters)("woocommerce_admin_orders_report_filters",[{label:Object(a.__)("Show","woocommerce-admin"),staticParams:["chart"],param:"filter",showFilters:function(){return!0},filters:[{label:Object(a.__)("All Orders","woocommerce-admin"),value:"all"},{label:Object(a.__)("Advanced Filters","woocommerce-admin"),value:"advanced"}]}]),s=Object(n.applyFilters)("woocommerce_admin_orders_report_advanced_filters",{title:Object(a._x)("Orders Match {{select /}} Filters","A sentence describing filters for Orders. See screen shot for context: https://cloudup.com/cSsUY9VeCVJ","woocommerce-admin"),filters:{status:{labels:{add:Object(a.__)("Order Status","woocommerce-admin"),remove:Object(a.__)("Remove order status filter","woocommerce-admin"),rule:Object(a.__)("Select an order status filter match","woocommerce-admin"),title:Object(a.__)("{{title}}Order Status{{/title}} {{rule /}} {{filter /}}","woocommerce-admin"),filter:Object(a.__)("Select an order status","woocommerce-admin")},rules:[{value:"is",label:Object(a._x)("Is","order status","woocommerce-admin")},{value:"is_not",label:Object(a._x)("Is Not","order status","woocommerce-admin")}],input:{component:"SelectControl",options:Object.keys(o.d).map((function(e){return{value:e,label:o.d[e]}}))}},product:{labels:{add:Object(a.__)("Products","woocommerce-admin"),placeholder:Object(a.__)("Search products","woocommerce-admin"),remove:Object(a.__)("Remove products filter","woocommerce-admin"),rule:Object(a.__)("Select a product filter match","woocommerce-admin"),title:Object(a.__)("{{title}}Product{{/title}} {{rule /}} {{filter /}}","woocommerce-admin"),filter:Object(a.__)("Select products","woocommerce-admin")},rules:[{value:"includes",label:Object(a._x)("Includes","products","woocommerce-admin")},{value:"excludes",label:Object(a._x)("Excludes","products","woocommerce-admin")}],input:{component:"Search",type:"products",getLabels:c.d}},coupon:{labels:{add:Object(a.__)("Coupon Codes","woocommerce-admin"),placeholder:Object(a.__)("Search coupons","woocommerce-admin"),remove:Object(a.__)("Remove coupon filter","woocommerce-admin"),rule:Object(a.__)("Select a coupon filter match","woocommerce-admin"),title:Object(a.__)("{{title}}Coupon Code{{/title}} {{rule /}} {{filter /}}","woocommerce-admin"),filter:Object(a.__)("Select coupon codes","woocommerce-admin")},rules:[{value:"includes",label:Object(a._x)("Includes","coupon code","woocommerce-admin")},{value:"excludes",label:Object(a._x)("Excludes","coupon code","woocommerce-admin")}],input:{component:"Search",type:"coupons",getLabels:c.b}},customer_type:{labels:{add:Object(a.__)("Customer Type","woocommerce-admin"),remove:Object(a.__)("Remove customer filter","woocommerce-admin"),rule:Object(a.__)("Select a customer filter match","woocommerce-admin"),title:Object(a.__)("{{title}}Customer is{{/title}} {{filter /}}","woocommerce-admin"),filter:Object(a.__)("Select a customer type","woocommerce-admin")},input:{component:"SelectControl",options:[{value:"new",label:Object(a.__)("New","woocommerce-admin")},{value:"returning",label:Object(a.__)("Returning","woocommerce-admin")}],defaultOption:"new"}},refunds:{labels:{add:Object(a.__)("Refunds","woocommerce-admin"),remove:Object(a.__)("Remove refunds filter","woocommerce-admin"),rule:Object(a.__)("Select a refund filter match","woocommerce-admin"),title:Object(a.__)("{{title}}Refunds{{/title}} {{filter /}}","woocommerce-admin"),filter:Object(a.__)("Select a refund type","woocommerce-admin")},input:{component:"SelectControl",options:[{value:"all",label:Object(a.__)("All","woocommerce-admin")},{value:"partial",label:Object(a.__)("Partially refunded","woocommerce-admin")},{value:"full",label:Object(a.__)("Fully refunded","woocommerce-admin")},{value:"none",label:Object(a.__)("None","woocommerce-admin")}],defaultOption:"all"}},tax_rate:{labels:{add:Object(a.__)("Tax Rates","woocommerce-admin"),placeholder:Object(a.__)("Search tax rates","woocommerce-admin"),remove:Object(a.__)("Remove tax rate filter","woocommerce-admin"),rule:Object(a.__)("Select a tax rate filter match","woocommerce-admin"),title:Object(a.__)("{{title}}Tax Rate{{/title}} {{rule /}} {{filter /}}","woocommerce-admin"),filter:Object(a.__)("Select tax rates","woocommerce-admin")},rules:[{value:"includes",label:Object(a._x)("Includes","tax rate","woocommerce-admin")},{value:"excludes",label:Object(a._x)("Excludes","tax rate","woocommerce-admin")}],input:{component:"Search",type:"taxes",getLabels:c.f}}}})},886:function(e,t,r){}}]);
\ No newline at end of file
diff --git a/dist/chunks/analytics-report-products.6b1a268333688c4b41a9.js b/dist/chunks/analytics-report-products.6b1a268333688c4b41a9.js
new file mode 100644
index 00000000000..3abda5aa0ab
--- /dev/null
+++ b/dist/chunks/analytics-report-products.6b1a268333688c4b41a9.js
@@ -0,0 +1,641 @@
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[14],{
+
+/***/ 731:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+// ESM COMPAT FLAG
+__webpack_require__.r(__webpack_exports__);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js
+var defineProperty = __webpack_require__(15);
+var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js
+var classCallCheck = __webpack_require__(41);
+var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js
+var createClass = __webpack_require__(40);
+var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(44);
+var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(29);
+var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js
+var inherits = __webpack_require__(42);
+var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: external {"this":["wp","i18n"]}
+var external_this_wp_i18n_ = __webpack_require__(3);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/compose/build-module/higher-order/compose.js
+var compose = __webpack_require__(256);
+
+// EXTERNAL MODULE: ./node_modules/prop-types/index.js
+var prop_types = __webpack_require__(1);
+var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
+
+// EXTERNAL MODULE: ./client/analytics/report/products/config.js
+var config = __webpack_require__(763);
+
+// EXTERNAL MODULE: ./client/lib/get-selected-chart/index.js
+var get_selected_chart = __webpack_require__(743);
+
+// EXTERNAL MODULE: ./client/analytics/report/products/table.js
+var table = __webpack_require__(775);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-chart/index.js + 1 modules
+var report_chart = __webpack_require__(741);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-error/index.js
+var report_error = __webpack_require__(261);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-summary/index.js
+var report_summary = __webpack_require__(744);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/assertThisInitialized.js
+var assertThisInitialized = __webpack_require__(59);
+var assertThisInitialized_default = /*#__PURE__*/__webpack_require__.n(assertThisInitialized);
+
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__(2);
+
+// EXTERNAL MODULE: external {"this":["wc","components"]}
+var external_this_wc_components_ = __webpack_require__(63);
+
+// EXTERNAL MODULE: external {"this":["wc","navigation"]}
+var external_this_wc_navigation_ = __webpack_require__(22);
+
+// EXTERNAL MODULE: external {"this":["wc","number"]}
+var external_this_wc_number_ = __webpack_require__(204);
+
+// EXTERNAL MODULE: ./client/settings/index.js
+var settings = __webpack_require__(26);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-table/index.js + 2 modules
+var report_table = __webpack_require__(746);
+
+// EXTERNAL MODULE: ./client/analytics/report/products/utils.js
+var utils = __webpack_require__(777);
+
+// EXTERNAL MODULE: ./client/lib/currency-context.js
+var currency_context = __webpack_require__(203);
+
+// CONCATENATED MODULE: ./client/analytics/report/products/table-variations.js
+
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var manageStock = Object(settings["g" /* getSetting */])('manageStock', 'no');
+var stockStatuses = Object(settings["g" /* getSetting */])('stockStatuses', {});
+
+var table_variations_VariationsReportTable = /*#__PURE__*/function (_Component) {
+ inherits_default()(VariationsReportTable, _Component);
+
+ var _super = _createSuper(VariationsReportTable);
+
+ function VariationsReportTable() {
+ var _this;
+
+ classCallCheck_default()(this, VariationsReportTable);
+
+ _this = _super.call(this);
+ _this.getHeadersContent = _this.getHeadersContent.bind(assertThisInitialized_default()(_this));
+ _this.getRowsContent = _this.getRowsContent.bind(assertThisInitialized_default()(_this));
+ _this.getSummary = _this.getSummary.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(VariationsReportTable, [{
+ key: "getHeadersContent",
+ value: function getHeadersContent() {
+ return [{
+ label: Object(external_this_wp_i18n_["__"])('Product / Variation Title', 'woocommerce-admin'),
+ key: 'name',
+ required: true,
+ isLeftAligned: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('SKU', 'woocommerce-admin'),
+ key: 'sku',
+ hiddenByDefault: true,
+ isSortable: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Items Sold', 'woocommerce-admin'),
+ key: 'items_sold',
+ required: true,
+ defaultSort: true,
+ isSortable: true,
+ isNumeric: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Net Sales', 'woocommerce-admin'),
+ screenReaderLabel: Object(external_this_wp_i18n_["__"])('Net Sales', 'woocommerce-admin'),
+ key: 'net_revenue',
+ required: true,
+ isSortable: true,
+ isNumeric: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Orders', 'woocommerce-admin'),
+ key: 'orders_count',
+ isSortable: true,
+ isNumeric: true
+ }, manageStock === 'yes' ? {
+ label: Object(external_this_wp_i18n_["__"])('Status', 'woocommerce-admin'),
+ key: 'stock_status'
+ } : null, manageStock === 'yes' ? {
+ label: Object(external_this_wp_i18n_["__"])('Stock', 'woocommerce-admin'),
+ key: 'stock',
+ isNumeric: true
+ } : null].filter(Boolean);
+ }
+ }, {
+ key: "getRowsContent",
+ value: function getRowsContent() {
+ var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
+ var query = this.props.query;
+ var persistedQuery = Object(external_this_wc_navigation_["getPersistedQuery"])(query);
+ var _this$context = this.context,
+ formatCurrency = _this$context.formatCurrency,
+ getCurrencyFormatDecimal = _this$context.formatDecimal,
+ getCurrency = _this$context.getCurrency;
+ return Object(external_lodash_["map"])(data, function (row) {
+ var itemsSold = row.items_sold,
+ netRevenue = row.net_revenue,
+ ordersCount = row.orders_count,
+ productId = row.product_id;
+ var extendedInfo = row.extended_info || {};
+ var stockStatus = extendedInfo.stock_status,
+ stockQuantity = extendedInfo.stock_quantity,
+ lowStockAmount = extendedInfo.low_stock_amount,
+ sku = extendedInfo.sku;
+ var name = Object(external_lodash_["get"])(row, ['extended_info', 'name'], '');
+ var ordersLink = Object(external_this_wc_navigation_["getNewPath"])(persistedQuery, '/analytics/orders', {
+ filter: 'advanced',
+ product_includes: query.products
+ });
+ var editPostLink = Object(settings["f" /* getAdminLink */])("post.php?post=".concat(productId, "&action=edit"));
+ return [{
+ display: Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: editPostLink,
+ type: "wp-admin"
+ }, name),
+ value: name
+ }, {
+ display: sku,
+ value: sku
+ }, {
+ display: Object(external_this_wc_number_["formatValue"])(getCurrency(), 'number', itemsSold),
+ value: itemsSold
+ }, {
+ display: formatCurrency(netRevenue),
+ value: getCurrencyFormatDecimal(netRevenue)
+ }, {
+ display: Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: ordersLink,
+ type: "wc-admin"
+ }, ordersCount),
+ value: ordersCount
+ }, manageStock === 'yes' ? {
+ display: Object(utils["a" /* isLowStock */])(stockStatus, stockQuantity, lowStockAmount) ? Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: editPostLink,
+ type: "wp-admin"
+ }, Object(external_this_wp_i18n_["_x"])('Low', 'Indication of a low quantity', 'woocommerce-admin')) : stockStatuses[stockStatus],
+ value: stockStatuses[stockStatus]
+ } : null, manageStock === 'yes' ? {
+ display: stockQuantity,
+ value: stockQuantity
+ } : null].filter(Boolean);
+ });
+ }
+ }, {
+ key: "getSummary",
+ value: function getSummary(totals) {
+ var _totals$variations_co = totals.variations_count,
+ variationsCount = _totals$variations_co === void 0 ? 0 : _totals$variations_co,
+ _totals$items_sold = totals.items_sold,
+ itemsSold = _totals$items_sold === void 0 ? 0 : _totals$items_sold,
+ _totals$net_revenue = totals.net_revenue,
+ netRevenue = _totals$net_revenue === void 0 ? 0 : _totals$net_revenue,
+ _totals$orders_count = totals.orders_count,
+ ordersCount = _totals$orders_count === void 0 ? 0 : _totals$orders_count;
+ var _this$context2 = this.context,
+ formatCurrency = _this$context2.formatCurrency,
+ getCurrency = _this$context2.getCurrency;
+ var currency = getCurrency();
+ return [{
+ label: Object(external_this_wp_i18n_["_n"])('variation sold', 'variations sold', variationsCount, 'woocommerce-admin'),
+ value: Object(external_this_wc_number_["formatValue"])(currency, 'number', variationsCount)
+ }, {
+ label: Object(external_this_wp_i18n_["_n"])('item sold', 'items sold', itemsSold, 'woocommerce-admin'),
+ value: Object(external_this_wc_number_["formatValue"])(currency, 'number', itemsSold)
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('net sales', 'woocommerce-admin'),
+ value: formatCurrency(netRevenue)
+ }, {
+ label: Object(external_this_wp_i18n_["_n"])('orders', 'orders', ordersCount, 'woocommerce-admin'),
+ value: Object(external_this_wc_number_["formatValue"])(currency, 'number', ordersCount)
+ }];
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ advancedFilters = _this$props.advancedFilters,
+ baseSearchQuery = _this$props.baseSearchQuery,
+ filters = _this$props.filters,
+ isRequesting = _this$props.isRequesting,
+ query = _this$props.query;
+ var labels = {
+ helpText: Object(external_this_wp_i18n_["__"])('Check at least two variations below to compare', 'woocommerce-admin'),
+ placeholder: Object(external_this_wp_i18n_["__"])('Search by variation name or SKU', 'woocommerce-admin')
+ };
+ return Object(external_this_wp_element_["createElement"])(report_table["a" /* default */], {
+ baseSearchQuery: baseSearchQuery,
+ compareBy: 'variations',
+ compareParam: 'filter-variations',
+ endpoint: "variations",
+ getHeadersContent: this.getHeadersContent,
+ getRowsContent: this.getRowsContent,
+ isRequesting: isRequesting,
+ itemIdField: "variation_id",
+ labels: labels,
+ query: query,
+ getSummary: this.getSummary,
+ summaryFields: ['variations_count', 'items_sold', 'net_revenue', 'orders_count'],
+ searchBy: "variations",
+ tableQuery: {
+ orderby: query.orderby || 'items_sold',
+ order: query.order || 'desc',
+ extended_info: true,
+ products: query.products,
+ variations: query.variations
+ },
+ title: Object(external_this_wp_i18n_["__"])('Variations', 'woocommerce-admin'),
+ columnPrefsKey: "variations_report_columns",
+ filters: filters,
+ advancedFilters: advancedFilters
+ });
+ }
+ }]);
+
+ return VariationsReportTable;
+}(external_this_wp_element_["Component"]);
+
+table_variations_VariationsReportTable.contextType = currency_context["a" /* CurrencyContext */];
+/* harmony default export */ var table_variations = (table_variations_VariationsReportTable);
+// EXTERNAL MODULE: ./client/wc-api/with-select.js
+var with_select = __webpack_require__(101);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-filters/index.js
+var report_filters = __webpack_require__(745);
+
+// CONCATENATED MODULE: ./client/analytics/report/products/index.js
+
+
+
+
+
+
+
+
+function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+function products_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (products_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function products_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+
+
+
+
+var products_ProductsReport = /*#__PURE__*/function (_Component) {
+ inherits_default()(ProductsReport, _Component);
+
+ var _super = products_createSuper(ProductsReport);
+
+ function ProductsReport() {
+ classCallCheck_default()(this, ProductsReport);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(ProductsReport, [{
+ key: "getChartMeta",
+ value: function getChartMeta() {
+ var _this$props = this.props,
+ query = _this$props.query,
+ isSingleProductView = _this$props.isSingleProductView,
+ isSingleProductVariable = _this$props.isSingleProductVariable;
+ var isCompareView = query.filter === 'compare-products' && query.products && query.products.split(',').length > 1;
+ var mode = isCompareView || isSingleProductView && isSingleProductVariable ? 'item-comparison' : 'time-comparison';
+ var compareObject = isSingleProductView && isSingleProductVariable ? 'variations' : 'products';
+ var label = isSingleProductView && isSingleProductVariable ? Object(external_this_wp_i18n_["__"])('%d variations', 'woocommerce-admin') : Object(external_this_wp_i18n_["__"])('%d products', 'woocommerce-admin');
+ return {
+ compareObject: compareObject,
+ itemsLabel: label,
+ mode: mode
+ };
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$getChartMeta = this.getChartMeta(),
+ compareObject = _this$getChartMeta.compareObject,
+ itemsLabel = _this$getChartMeta.itemsLabel,
+ mode = _this$getChartMeta.mode;
+
+ var _this$props2 = this.props,
+ path = _this$props2.path,
+ query = _this$props2.query,
+ isError = _this$props2.isError,
+ isRequesting = _this$props2.isRequesting,
+ isSingleProductVariable = _this$props2.isSingleProductVariable;
+
+ if (isError) {
+ return Object(external_this_wp_element_["createElement"])(report_error["a" /* default */], {
+ isError: true
+ });
+ }
+
+ var chartQuery = _objectSpread({}, query);
+
+ if (mode === 'item-comparison') {
+ chartQuery.segmentby = compareObject === 'products' ? 'product' : 'variation';
+ }
+
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(report_filters["a" /* default */], {
+ query: query,
+ path: path,
+ filters: config["c" /* filters */],
+ advancedFilters: config["a" /* advancedFilters */],
+ report: "products"
+ }), Object(external_this_wp_element_["createElement"])(report_summary["a" /* default */], {
+ mode: mode,
+ charts: config["b" /* charts */],
+ endpoint: "products",
+ isRequesting: isRequesting,
+ query: chartQuery,
+ selectedChart: Object(get_selected_chart["a" /* default */])(query.chart, config["b" /* charts */]),
+ filters: config["c" /* filters */],
+ advancedFilters: config["a" /* advancedFilters */]
+ }), Object(external_this_wp_element_["createElement"])(report_chart["a" /* default */], {
+ charts: config["b" /* charts */],
+ mode: mode,
+ filters: config["c" /* filters */],
+ advancedFilters: config["a" /* advancedFilters */],
+ endpoint: "products",
+ isRequesting: isRequesting,
+ itemsLabel: itemsLabel,
+ path: path,
+ query: chartQuery,
+ selectedChart: Object(get_selected_chart["a" /* default */])(chartQuery.chart, config["b" /* charts */])
+ }), isSingleProductVariable ? Object(external_this_wp_element_["createElement"])(table_variations, {
+ baseSearchQuery: {
+ filter: 'single_product'
+ },
+ isRequesting: isRequesting,
+ query: query,
+ filters: config["c" /* filters */],
+ advancedFilters: config["a" /* advancedFilters */]
+ }) : Object(external_this_wp_element_["createElement"])(table["a" /* default */], {
+ isRequesting: isRequesting,
+ query: query,
+ filters: config["c" /* filters */],
+ advancedFilters: config["a" /* advancedFilters */]
+ }));
+ }
+ }]);
+
+ return ProductsReport;
+}(external_this_wp_element_["Component"]);
+
+products_ProductsReport.propTypes = {
+ path: prop_types_default.a.string.isRequired,
+ query: prop_types_default.a.object.isRequired
+};
+/* harmony default export */ var products = __webpack_exports__["default"] = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select, props) {
+ var query = props.query,
+ isRequesting = props.isRequesting;
+ var isSingleProductView = !query.search && query.products && query.products.split(',').length === 1;
+
+ if (isRequesting) {
+ return {
+ query: _objectSpread({}, query),
+ isSingleProductView: isSingleProductView,
+ isRequesting: isRequesting
+ };
+ }
+
+ var _select = select('wc-api'),
+ getItems = _select.getItems,
+ isGetItemsRequesting = _select.isGetItemsRequesting,
+ getItemsError = _select.getItemsError;
+
+ if (isSingleProductView) {
+ var productId = parseInt(query.products, 10);
+ var includeArgs = {
+ include: productId
+ }; // TODO Look at similar usage to populate tags in the Search component.
+
+ var products = getItems('products', includeArgs);
+ var isVariable = products && products.get(productId) && products.get(productId).type === 'variable';
+ var isProductsRequesting = isGetItemsRequesting('products', includeArgs);
+ var isProductsError = Boolean(getItemsError('products', includeArgs));
+ return {
+ query: _objectSpread({}, query, {
+ 'is-variable': isVariable
+ }),
+ isSingleProductView: isSingleProductView,
+ isSingleProductVariable: isVariable,
+ isRequesting: isProductsRequesting,
+ isError: isProductsError
+ };
+ }
+
+ return {
+ query: query,
+ isSingleProductView: isSingleProductView
+ };
+}))(products_ProductsReport));
+
+/***/ }),
+
+/***/ 763:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return charts; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return filters; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return advancedFilters; });
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(48);
+/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var lib_async_requests__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(739);
+/**
+ * External dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+var PRODUCTS_REPORT_CHARTS_FILTER = 'woocommerce_admin_products_report_charts';
+var PRODUCTS_REPORT_FILTERS_FILTER = 'woocommerce_admin_products_report_filters';
+var PRODUCTS_REPORT_ADVANCED_FILTERS_FILTER = 'woocommerce_admin_products_report_advanced_filters';
+var charts = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__["applyFilters"])(PRODUCTS_REPORT_CHARTS_FILTER, [{
+ key: 'items_sold',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Items Sold', 'woocommerce-admin'),
+ order: 'desc',
+ orderby: 'items_sold',
+ type: 'number'
+}, {
+ key: 'net_revenue',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Net Sales', 'woocommerce-admin'),
+ order: 'desc',
+ orderby: 'net_revenue',
+ type: 'currency'
+}, {
+ key: 'orders_count',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Orders', 'woocommerce-admin'),
+ order: 'desc',
+ orderby: 'orders_count',
+ type: 'number'
+}]);
+var filterConfig = {
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Show', 'woocommerce-admin'),
+ staticParams: [],
+ param: 'filter',
+ showFilters: function showFilters() {
+ return true;
+ },
+ filters: [{
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('All Products', 'woocommerce-admin'),
+ value: 'all'
+ }, {
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Single Product', 'woocommerce-admin'),
+ value: 'select_product',
+ chartMode: 'item-comparison',
+ subFilters: [{
+ component: 'Search',
+ value: 'single_product',
+ chartMode: 'item-comparison',
+ path: ['select_product'],
+ settings: {
+ type: 'products',
+ param: 'products',
+ getLabels: lib_async_requests__WEBPACK_IMPORTED_MODULE_2__[/* getProductLabels */ "d"],
+ labels: {
+ placeholder: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Type to search for a product', 'woocommerce-admin'),
+ button: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Single Product', 'woocommerce-admin')
+ }
+ }
+ }]
+ }, {
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Comparison', 'woocommerce-admin'),
+ value: 'compare-products',
+ chartMode: 'item-comparison',
+ settings: {
+ type: 'products',
+ param: 'products',
+ getLabels: lib_async_requests__WEBPACK_IMPORTED_MODULE_2__[/* getProductLabels */ "d"],
+ labels: {
+ helpText: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Check at least two products below to compare', 'woocommerce-admin'),
+ placeholder: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Search for products to compare', 'woocommerce-admin'),
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Compare Products', 'woocommerce-admin'),
+ update: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Compare', 'woocommerce-admin')
+ }
+ }
+ }]
+};
+var variationsConfig = {
+ showFilters: function showFilters(query) {
+ return query.filter === 'single_product' && !!query.products && query['is-variable'];
+ },
+ staticParams: ['filter', 'products'],
+ param: 'filter-variations',
+ filters: [{
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('All Variations', 'woocommerce-admin'),
+ chartMode: 'item-comparison',
+ value: 'all'
+ }, {
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Comparison', 'woocommerce-admin'),
+ chartMode: 'item-comparison',
+ value: 'compare-variations',
+ settings: {
+ type: 'variations',
+ param: 'variations',
+ getLabels: lib_async_requests__WEBPACK_IMPORTED_MODULE_2__[/* getVariationLabels */ "g"],
+ labels: {
+ helpText: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Check at least two variations below to compare', 'woocommerce-admin'),
+ placeholder: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Search for variations to compare', 'woocommerce-admin'),
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Compare Variations', 'woocommerce-admin'),
+ update: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Compare', 'woocommerce-admin')
+ }
+ }
+ }]
+};
+var filters = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__["applyFilters"])(PRODUCTS_REPORT_FILTERS_FILTER, [filterConfig, variationsConfig]);
+var advancedFilters = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__["applyFilters"])(PRODUCTS_REPORT_ADVANCED_FILTERS_FILTER, {});
+
+/***/ })
+
+}]);
\ No newline at end of file
diff --git a/dist/chunks/analytics-report-products.6b1a268333688c4b41a9.min.js b/dist/chunks/analytics-report-products.6b1a268333688c4b41a9.min.js
new file mode 100644
index 00000000000..ff32106bb95
--- /dev/null
+++ b/dist/chunks/analytics-report-products.6b1a268333688c4b41a9.min.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{731:function(e,t,r){"use strict";r.r(t);var o=r(15),a=r.n(o),c=r(41),n=r.n(c),i=r(40),s=r.n(i),l=r(44),u=r.n(l),m=r(29),d=r.n(m),p=r(42),b=r.n(p),_=r(0),y=r(3),f=r(256),v=r(1),O=r.n(v),j=r(763),h=r(743),w=r(775),g=r(741),S=r(261),k=r(744),q=r(59),C=r.n(q),R=r(2),P=r(63),E=r(22),F=r(204),V=r(26),x=r(746),L=r(777),D=r(203);function I(){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}}var N=Object(V.g)("manageStock","no"),M=Object(V.g)("stockStatuses",{}),T=function(e){b()(o,e);var t,r=(t=o,function(){var e,r=d()(t);if(I()){var o=d()(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return u()(this,e)});function o(){var e;return n()(this,o),(e=r.call(this)).getHeadersContent=e.getHeadersContent.bind(C()(e)),e.getRowsContent=e.getRowsContent.bind(C()(e)),e.getSummary=e.getSummary.bind(C()(e)),e}return s()(o,[{key:"getHeadersContent",value:function(){return[{label:Object(y.__)("Product / Variation Title","woocommerce-admin"),key:"name",required:!0,isLeftAligned:!0},{label:Object(y.__)("SKU","woocommerce-admin"),key:"sku",hiddenByDefault:!0,isSortable:!0},{label:Object(y.__)("Items Sold","woocommerce-admin"),key:"items_sold",required:!0,defaultSort:!0,isSortable:!0,isNumeric:!0},{label:Object(y.__)("Net Sales","woocommerce-admin"),screenReaderLabel:Object(y.__)("Net Sales","woocommerce-admin"),key:"net_revenue",required:!0,isSortable:!0,isNumeric:!0},{label:Object(y.__)("Orders","woocommerce-admin"),key:"orders_count",isSortable:!0,isNumeric:!0},"yes"===N?{label:Object(y.__)("Status","woocommerce-admin"),key:"stock_status"}:null,"yes"===N?{label:Object(y.__)("Stock","woocommerce-admin"),key:"stock",isNumeric:!0}:null].filter(Boolean)}},{key:"getRowsContent",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=this.props.query,r=Object(E.getPersistedQuery)(t),o=this.context,a=o.formatCurrency,c=o.formatDecimal,n=o.getCurrency;return Object(R.map)(e,(function(e){var o=e.items_sold,i=e.net_revenue,s=e.orders_count,l=e.product_id,u=e.extended_info||{},m=u.stock_status,d=u.stock_quantity,p=u.low_stock_amount,b=u.sku,f=Object(R.get)(e,["extended_info","name"],""),v=Object(E.getNewPath)(r,"/analytics/orders",{filter:"advanced",product_includes:t.products}),O=Object(V.f)("post.php?post=".concat(l,"&action=edit"));return[{display:Object(_.createElement)(P.Link,{href:O,type:"wp-admin"},f),value:f},{display:b,value:b},{display:Object(F.formatValue)(n(),"number",o),value:o},{display:a(i),value:c(i)},{display:Object(_.createElement)(P.Link,{href:v,type:"wc-admin"},s),value:s},"yes"===N?{display:Object(L.a)(m,d,p)?Object(_.createElement)(P.Link,{href:O,type:"wp-admin"},Object(y._x)("Low","Indication of a low quantity","woocommerce-admin")):M[m],value:M[m]}:null,"yes"===N?{display:d,value:d}:null].filter(Boolean)}))}},{key:"getSummary",value:function(e){var t=e.variations_count,r=void 0===t?0:t,o=e.items_sold,a=void 0===o?0:o,c=e.net_revenue,n=void 0===c?0:c,i=e.orders_count,s=void 0===i?0:i,l=this.context,u=l.formatCurrency,m=(0,l.getCurrency)();return[{label:Object(y._n)("variation sold","variations sold",r,"woocommerce-admin"),value:Object(F.formatValue)(m,"number",r)},{label:Object(y._n)("item sold","items sold",a,"woocommerce-admin"),value:Object(F.formatValue)(m,"number",a)},{label:Object(y.__)("net sales","woocommerce-admin"),value:u(n)},{label:Object(y._n)("orders","orders",s,"woocommerce-admin"),value:Object(F.formatValue)(m,"number",s)}]}},{key:"render",value:function(){var e=this.props,t=e.advancedFilters,r=e.baseSearchQuery,o=e.filters,a=e.isRequesting,c=e.query,n={helpText:Object(y.__)("Check at least two variations below to compare","woocommerce-admin"),placeholder:Object(y.__)("Search by variation name or SKU","woocommerce-admin")};return Object(_.createElement)(x.a,{baseSearchQuery:r,compareBy:"variations",compareParam:"filter-variations",endpoint:"variations",getHeadersContent:this.getHeadersContent,getRowsContent:this.getRowsContent,isRequesting:a,itemIdField:"variation_id",labels:n,query:c,getSummary:this.getSummary,summaryFields:["variations_count","items_sold","net_revenue","orders_count"],searchBy:"variations",tableQuery:{orderby:c.orderby||"items_sold",order:c.order||"desc",extended_info:!0,products:c.products,variations:c.variations},title:Object(y.__)("Variations","woocommerce-admin"),columnPrefsKey:"variations_report_columns",filters:o,advancedFilters:t})}}]),o}(_.Component);T.contextType=D.a;var B=T,H=r(101),Q=r(745);function A(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function K(e){for(var t=1;t1||r&&o?"item-comparison":"time-comparison";return{compareObject:r&&o?"variations":"products",itemsLabel:r&&o?Object(y.__)("%d variations","woocommerce-admin"):Object(y.__)("%d products","woocommerce-admin"),mode:a}}},{key:"render",value:function(){var e=this.getChartMeta(),t=e.compareObject,r=e.itemsLabel,o=e.mode,a=this.props,c=a.path,n=a.query,i=a.isError,s=a.isRequesting,l=a.isSingleProductVariable;if(i)return Object(_.createElement)(S.a,{isError:!0});var u=K({},n);return"item-comparison"===o&&(u.segmentby="products"===t?"product":"variation"),Object(_.createElement)(_.Fragment,null,Object(_.createElement)(Q.a,{query:n,path:c,filters:j.c,advancedFilters:j.a,report:"products"}),Object(_.createElement)(k.a,{mode:o,charts:j.b,endpoint:"products",isRequesting:s,query:u,selectedChart:Object(h.a)(n.chart,j.b),filters:j.c,advancedFilters:j.a}),Object(_.createElement)(g.a,{charts:j.b,mode:o,filters:j.c,advancedFilters:j.a,endpoint:"products",isRequesting:s,itemsLabel:r,path:c,query:u,selectedChart:Object(h.a)(u.chart,j.b)}),l?Object(_.createElement)(B,{baseSearchQuery:{filter:"single_product"},isRequesting:s,query:n,filters:j.c,advancedFilters:j.a}):Object(_.createElement)(w.a,{isRequesting:s,query:n,filters:j.c,advancedFilters:j.a}))}}]),o}(_.Component);U.propTypes={path:O.a.string.isRequired,query:O.a.object.isRequired};t.default=Object(f.a)(Object(H.a)((function(e,t){var r=t.query,o=t.isRequesting,a=!r.search&&r.products&&1===r.products.split(",").length;if(o)return{query:K({},r),isSingleProductView:a,isRequesting:o};var c=e("wc-api"),n=c.getItems,i=c.isGetItemsRequesting,s=c.getItemsError;if(a){var l=parseInt(r.products,10),u={include:l},m=n("products",u),d=m&&m.get(l)&&"variable"===m.get(l).type,p=i("products",u),b=Boolean(s("products",u));return{query:K({},r,{"is-variable":d}),isSingleProductView:a,isSingleProductVariable:d,isRequesting:p,isError:b}}return{query:r,isSingleProductView:a}})))(U)},763:function(e,t,r){"use strict";r.d(t,"b",(function(){return n})),r.d(t,"c",(function(){return l})),r.d(t,"a",(function(){return u}));var o=r(3),a=r(48),c=r(739),n=Object(a.applyFilters)("woocommerce_admin_products_report_charts",[{key:"items_sold",label:Object(o.__)("Items Sold","woocommerce-admin"),order:"desc",orderby:"items_sold",type:"number"},{key:"net_revenue",label:Object(o.__)("Net Sales","woocommerce-admin"),order:"desc",orderby:"net_revenue",type:"currency"},{key:"orders_count",label:Object(o.__)("Orders","woocommerce-admin"),order:"desc",orderby:"orders_count",type:"number"}]),i={label:Object(o.__)("Show","woocommerce-admin"),staticParams:[],param:"filter",showFilters:function(){return!0},filters:[{label:Object(o.__)("All Products","woocommerce-admin"),value:"all"},{label:Object(o.__)("Single Product","woocommerce-admin"),value:"select_product",chartMode:"item-comparison",subFilters:[{component:"Search",value:"single_product",chartMode:"item-comparison",path:["select_product"],settings:{type:"products",param:"products",getLabels:c.d,labels:{placeholder:Object(o.__)("Type to search for a product","woocommerce-admin"),button:Object(o.__)("Single Product","woocommerce-admin")}}}]},{label:Object(o.__)("Comparison","woocommerce-admin"),value:"compare-products",chartMode:"item-comparison",settings:{type:"products",param:"products",getLabels:c.d,labels:{helpText:Object(o.__)("Check at least two products below to compare","woocommerce-admin"),placeholder:Object(o.__)("Search for products to compare","woocommerce-admin"),title:Object(o.__)("Compare Products","woocommerce-admin"),update:Object(o.__)("Compare","woocommerce-admin")}}}]},s={showFilters:function(e){return"single_product"===e.filter&&!!e.products&&e["is-variable"]},staticParams:["filter","products"],param:"filter-variations",filters:[{label:Object(o.__)("All Variations","woocommerce-admin"),chartMode:"item-comparison",value:"all"},{label:Object(o.__)("Comparison","woocommerce-admin"),chartMode:"item-comparison",value:"compare-variations",settings:{type:"variations",param:"variations",getLabels:c.g,labels:{helpText:Object(o.__)("Check at least two variations below to compare","woocommerce-admin"),placeholder:Object(o.__)("Search for variations to compare","woocommerce-admin"),title:Object(o.__)("Compare Variations","woocommerce-admin"),update:Object(o.__)("Compare","woocommerce-admin")}}}]},l=Object(a.applyFilters)("woocommerce_admin_products_report_filters",[i,s]),u=Object(a.applyFilters)("woocommerce_admin_products_report_advanced_filters",{})}}]);
\ No newline at end of file
diff --git a/dist/chunks/analytics-report-revenue.8c233563b2230669fb1f.js b/dist/chunks/analytics-report-revenue.8c233563b2230669fb1f.js
new file mode 100644
index 00000000000..dc68f547e2f
--- /dev/null
+++ b/dist/chunks/analytics-report-revenue.8c233563b2230669fb1f.js
@@ -0,0 +1,1444 @@
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[15],{
+
+/***/ 725:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+// ESM COMPAT FLAG
+__webpack_require__.r(__webpack_exports__);
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, "default", function() { return /* binding */ revenue_RevenueReport; });
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js
+var classCallCheck = __webpack_require__(41);
+var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js
+var createClass = __webpack_require__(40);
+var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(44);
+var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(29);
+var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js
+var inherits = __webpack_require__(42);
+var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: ./node_modules/prop-types/index.js
+var prop_types = __webpack_require__(1);
+var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
+
+// EXTERNAL MODULE: ./client/analytics/report/revenue/config.js
+var config = __webpack_require__(762);
+
+// EXTERNAL MODULE: ./client/lib/get-selected-chart/index.js
+var get_selected_chart = __webpack_require__(743);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-chart/index.js + 1 modules
+var report_chart = __webpack_require__(741);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-summary/index.js
+var report_summary = __webpack_require__(744);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/assertThisInitialized.js
+var assertThisInitialized = __webpack_require__(59);
+var assertThisInitialized_default = /*#__PURE__*/__webpack_require__.n(assertThisInitialized);
+
+// EXTERNAL MODULE: external {"this":["wp","i18n"]}
+var external_this_wp_i18n_ = __webpack_require__(3);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/date/build-module/index.js
+var build_module = __webpack_require__(172);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/compose/build-module/higher-order/compose.js
+var compose = __webpack_require__(256);
+
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__(2);
+
+// EXTERNAL MODULE: ./client/lib/date.js
+var date = __webpack_require__(104);
+
+// EXTERNAL MODULE: external {"this":["wc","components"]}
+var external_this_wc_components_ = __webpack_require__(63);
+
+// EXTERNAL MODULE: external {"this":["wc","number"]}
+var external_this_wc_number_ = __webpack_require__(204);
+
+// EXTERNAL MODULE: ./client/settings/index.js
+var settings = __webpack_require__(26);
+
+// EXTERNAL MODULE: external {"this":["wc","data"]}
+var external_this_wc_data_ = __webpack_require__(51);
+
+// EXTERNAL MODULE: ./client/wc-api/constants.js
+var constants = __webpack_require__(24);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-table/index.js + 2 modules
+var report_table = __webpack_require__(746);
+
+// EXTERNAL MODULE: ./client/wc-api/with-select.js
+var with_select = __webpack_require__(101);
+
+// EXTERNAL MODULE: ./client/wc-api/reports/utils.js
+var utils = __webpack_require__(738);
+
+// EXTERNAL MODULE: ./client/lib/currency-context.js
+var currency_context = __webpack_require__(203);
+
+// CONCATENATED MODULE: ./client/analytics/report/revenue/table.js
+
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+var table_RevenueReportTable = /*#__PURE__*/function (_Component) {
+ inherits_default()(RevenueReportTable, _Component);
+
+ var _super = _createSuper(RevenueReportTable);
+
+ function RevenueReportTable() {
+ var _this;
+
+ classCallCheck_default()(this, RevenueReportTable);
+
+ _this = _super.call(this);
+ _this.getHeadersContent = _this.getHeadersContent.bind(assertThisInitialized_default()(_this));
+ _this.getRowsContent = _this.getRowsContent.bind(assertThisInitialized_default()(_this));
+ _this.getSummary = _this.getSummary.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(RevenueReportTable, [{
+ key: "getHeadersContent",
+ value: function getHeadersContent() {
+ return [{
+ label: Object(external_this_wp_i18n_["__"])('Date', 'woocommerce-admin'),
+ key: 'date',
+ required: true,
+ defaultSort: true,
+ isLeftAligned: true,
+ isSortable: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Orders', 'woocommerce-admin'),
+ key: 'orders_count',
+ required: false,
+ isSortable: true,
+ isNumeric: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Gross Sales', 'woocommerce-admin'),
+ key: 'gross_sales',
+ required: false,
+ isSortable: true,
+ isNumeric: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Returns', 'woocommerce-admin'),
+ key: 'refunds',
+ required: false,
+ isSortable: true,
+ isNumeric: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Coupons', 'woocommerce-admin'),
+ key: 'coupons',
+ required: false,
+ isSortable: true,
+ isNumeric: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Net Sales', 'woocommerce-admin'),
+ key: 'net_revenue',
+ required: false,
+ isSortable: true,
+ isNumeric: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Taxes', 'woocommerce-admin'),
+ key: 'taxes',
+ required: false,
+ isSortable: true,
+ isNumeric: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Shipping', 'woocommerce-admin'),
+ key: 'shipping',
+ required: false,
+ isSortable: true,
+ isNumeric: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Total Sales', 'woocommerce-admin'),
+ key: 'total_sales',
+ required: true,
+ isSortable: true,
+ isNumeric: true
+ }];
+ }
+ }, {
+ key: "getRowsContent",
+ value: function getRowsContent() {
+ var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
+ var dateFormat = Object(settings["g" /* getSetting */])('dateFormat', date["c" /* defaultTableDateFormat */]);
+ var _this$context = this.context,
+ formatCurrency = _this$context.formatCurrency,
+ renderCurrency = _this$context.render,
+ getCurrencyFormatDecimal = _this$context.formatDecimal,
+ getCurrency = _this$context.getCurrency;
+ return data.map(function (row) {
+ var _row$subtotals = row.subtotals,
+ coupons = _row$subtotals.coupons,
+ grossSales = _row$subtotals.gross_sales,
+ totalSales = _row$subtotals.total_sales,
+ netRevenue = _row$subtotals.net_revenue,
+ ordersCount = _row$subtotals.orders_count,
+ refunds = _row$subtotals.refunds,
+ shipping = _row$subtotals.shipping,
+ taxes = _row$subtotals.taxes; // @todo How to create this per-report? Can use `w`, `year`, `m` to build time-specific order links
+ // we need to know which kind of report this is, and parse the `label` to get this row's date
+
+ var orderLink = Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: 'edit.php?post_type=shop_order&m=' + Object(build_module["a" /* format */])('Ymd', row.date_start),
+ type: "wp-admin"
+ }, Object(external_this_wc_number_["formatValue"])(getCurrency(), 'number', ordersCount));
+ return [{
+ display: Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Date"], {
+ date: row.date_start,
+ visibleFormat: dateFormat
+ }),
+ value: row.date_start
+ }, {
+ display: orderLink,
+ value: Number(ordersCount)
+ }, {
+ display: renderCurrency(grossSales),
+ value: getCurrencyFormatDecimal(grossSales)
+ }, {
+ display: formatCurrency(refunds),
+ value: getCurrencyFormatDecimal(refunds)
+ }, {
+ display: formatCurrency(coupons),
+ value: getCurrencyFormatDecimal(coupons)
+ }, {
+ display: renderCurrency(netRevenue),
+ value: getCurrencyFormatDecimal(netRevenue)
+ }, {
+ display: renderCurrency(taxes),
+ value: getCurrencyFormatDecimal(taxes)
+ }, {
+ display: renderCurrency(shipping),
+ value: getCurrencyFormatDecimal(shipping)
+ }, {
+ display: renderCurrency(totalSales),
+ value: getCurrencyFormatDecimal(totalSales)
+ }];
+ });
+ }
+ }, {
+ key: "getSummary",
+ value: function getSummary(totals) {
+ var totalResults = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
+ var _totals$orders_count = totals.orders_count,
+ ordersCount = _totals$orders_count === void 0 ? 0 : _totals$orders_count,
+ _totals$gross_sales = totals.gross_sales,
+ grossSales = _totals$gross_sales === void 0 ? 0 : _totals$gross_sales,
+ _totals$total_sales = totals.total_sales,
+ totalSales = _totals$total_sales === void 0 ? 0 : _totals$total_sales,
+ _totals$refunds = totals.refunds,
+ refunds = _totals$refunds === void 0 ? 0 : _totals$refunds,
+ _totals$coupons = totals.coupons,
+ coupons = _totals$coupons === void 0 ? 0 : _totals$coupons,
+ _totals$taxes = totals.taxes,
+ taxes = _totals$taxes === void 0 ? 0 : _totals$taxes,
+ _totals$shipping = totals.shipping,
+ shipping = _totals$shipping === void 0 ? 0 : _totals$shipping,
+ _totals$net_revenue = totals.net_revenue,
+ netRevenue = _totals$net_revenue === void 0 ? 0 : _totals$net_revenue;
+ var _this$context2 = this.context,
+ formatCurrency = _this$context2.formatCurrency,
+ getCurrency = _this$context2.getCurrency;
+ var currency = getCurrency();
+ return [{
+ label: Object(external_this_wp_i18n_["_n"])('day', 'days', totalResults, 'woocommerce-admin'),
+ value: Object(external_this_wc_number_["formatValue"])(currency, 'number', totalResults)
+ }, {
+ label: Object(external_this_wp_i18n_["_n"])('order', 'orders', ordersCount, 'woocommerce-admin'),
+ value: Object(external_this_wc_number_["formatValue"])(currency, 'number', ordersCount)
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('gross sales', 'woocommerce-admin'),
+ value: formatCurrency(grossSales)
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('returns', 'woocommerce-admin'),
+ value: formatCurrency(refunds)
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('coupons', 'woocommerce-admin'),
+ value: formatCurrency(coupons)
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('net sales', 'woocommerce-admin'),
+ value: formatCurrency(netRevenue)
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('taxes', 'woocommerce-admin'),
+ value: formatCurrency(taxes)
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('shipping', 'woocommerce-admin'),
+ value: formatCurrency(shipping)
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('total sales', 'woocommerce-admin'),
+ value: formatCurrency(totalSales)
+ }];
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ advancedFilters = _this$props.advancedFilters,
+ filters = _this$props.filters,
+ tableData = _this$props.tableData,
+ query = _this$props.query;
+ return Object(external_this_wp_element_["createElement"])(report_table["a" /* default */], {
+ endpoint: "revenue",
+ getHeadersContent: this.getHeadersContent,
+ getRowsContent: this.getRowsContent,
+ getSummary: this.getSummary,
+ summaryFields: ['orders_count', 'gross_sales', 'total_sales', 'refunds', 'coupons', 'taxes', 'shipping', 'net_revenue'],
+ query: query,
+ tableData: tableData,
+ title: Object(external_this_wp_i18n_["__"])('Revenue', 'woocommerce-admin'),
+ columnPrefsKey: "revenue_report_columns",
+ filters: filters,
+ advancedFilters: advancedFilters
+ });
+ }
+ }]);
+
+ return RevenueReportTable;
+}(external_this_wp_element_["Component"]);
+
+table_RevenueReportTable.contextType = currency_context["a" /* CurrencyContext */];
+/* harmony default export */ var table = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select, props) {
+ var query = props.query,
+ filters = props.filters,
+ advancedFilters = props.advancedFilters;
+
+ var _select$getSetting = select(external_this_wc_data_["SETTINGS_STORE_NAME"]).getSetting('wc_admin', 'wcAdminSettings'),
+ defaultDateRange = _select$getSetting.woocommerce_default_date_range;
+
+ var datesFromQuery = Object(date["f" /* getCurrentDates */])(query, defaultDateRange);
+
+ var _select = select('wc-api'),
+ getReportStats = _select.getReportStats,
+ getReportStatsError = _select.getReportStatsError,
+ isReportStatsRequesting = _select.isReportStatsRequesting; // @todo Support hour here when viewing a single day
+
+
+ var tableQuery = {
+ interval: 'day',
+ orderby: query.orderby || 'date',
+ order: query.order || 'desc',
+ page: query.paged || 1,
+ per_page: query.per_page || constants["d" /* QUERY_DEFAULTS */].pageSize,
+ after: Object(date["a" /* appendTimestamp */])(datesFromQuery.primary.after, 'start'),
+ before: Object(date["a" /* appendTimestamp */])(datesFromQuery.primary.before, 'end')
+ };
+ var filteredTableQuery = Object(utils["c" /* getReportTableQuery */])({
+ endpoint: 'revenue',
+ query: query,
+ select: select,
+ tableQuery: tableQuery,
+ filters: filters,
+ advancedFilters: advancedFilters
+ });
+ var revenueData = getReportStats('revenue', filteredTableQuery);
+ var isError = Boolean(getReportStatsError('revenue', filteredTableQuery));
+ var isRequesting = isReportStatsRequesting('revenue', filteredTableQuery);
+ return {
+ tableData: {
+ items: {
+ data: Object(external_lodash_["get"])(revenueData, ['data', 'intervals'], []),
+ totalResults: Object(external_lodash_["get"])(revenueData, ['totalResults'], 0)
+ },
+ isError: isError,
+ isRequesting: isRequesting,
+ query: tableQuery
+ }
+ };
+}))(table_RevenueReportTable));
+// EXTERNAL MODULE: ./client/analytics/components/report-filters/index.js
+var report_filters = __webpack_require__(745);
+
+// CONCATENATED MODULE: ./client/analytics/report/revenue/index.js
+
+
+
+
+
+
+
+function revenue_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (revenue_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function revenue_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+
+var revenue_RevenueReport = /*#__PURE__*/function (_Component) {
+ inherits_default()(RevenueReport, _Component);
+
+ var _super = revenue_createSuper(RevenueReport);
+
+ function RevenueReport() {
+ classCallCheck_default()(this, RevenueReport);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(RevenueReport, [{
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ path = _this$props.path,
+ query = _this$props.query;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(report_filters["a" /* default */], {
+ query: query,
+ path: path,
+ report: "revenue",
+ filters: config["c" /* filters */],
+ advancedFilters: config["a" /* advancedFilters */]
+ }), Object(external_this_wp_element_["createElement"])(report_summary["a" /* default */], {
+ charts: config["b" /* charts */],
+ endpoint: "revenue",
+ query: query,
+ selectedChart: Object(get_selected_chart["a" /* default */])(query.chart, config["b" /* charts */]),
+ filters: config["c" /* filters */],
+ advancedFilters: config["a" /* advancedFilters */]
+ }), Object(external_this_wp_element_["createElement"])(report_chart["a" /* default */], {
+ charts: config["b" /* charts */],
+ endpoint: "revenue",
+ path: path,
+ query: query,
+ selectedChart: Object(get_selected_chart["a" /* default */])(query.chart, config["b" /* charts */]),
+ filters: config["c" /* filters */],
+ advancedFilters: config["a" /* advancedFilters */]
+ }), Object(external_this_wp_element_["createElement"])(table, {
+ query: query,
+ filters: config["c" /* filters */],
+ advancedFilters: config["a" /* advancedFilters */]
+ }));
+ }
+ }]);
+
+ return RevenueReport;
+}(external_this_wp_element_["Component"]);
+
+
+revenue_RevenueReport.propTypes = {
+ path: prop_types_default.a.string.isRequired,
+ query: prop_types_default.a.object.isRequired
+};
+
+/***/ }),
+
+/***/ 741:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// UNUSED EXPORTS: ReportChart
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js
+var defineProperty = __webpack_require__(15);
+var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js
+var classCallCheck = __webpack_require__(41);
+var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js
+var createClass = __webpack_require__(40);
+var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(44);
+var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(29);
+var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js
+var inherits = __webpack_require__(42);
+var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: external {"this":["wp","i18n"]}
+var external_this_wp_i18n_ = __webpack_require__(3);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/compose/build-module/higher-order/compose.js
+var compose = __webpack_require__(256);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/date/build-module/index.js
+var build_module = __webpack_require__(172);
+
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__(2);
+
+// EXTERNAL MODULE: ./node_modules/prop-types/index.js
+var prop_types = __webpack_require__(1);
+var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
+
+// EXTERNAL MODULE: ./client/lib/date.js
+var date = __webpack_require__(104);
+
+// EXTERNAL MODULE: external {"this":["wc","components"]}
+var external_this_wc_components_ = __webpack_require__(63);
+
+// EXTERNAL MODULE: external {"this":["wc","data"]}
+var external_this_wc_data_ = __webpack_require__(51);
+
+// EXTERNAL MODULE: ./client/lib/currency-context.js
+var currency_context = __webpack_require__(203);
+
+// EXTERNAL MODULE: ./client/wc-api/reports/utils.js
+var utils = __webpack_require__(738);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-error/index.js
+var report_error = __webpack_require__(261);
+
+// EXTERNAL MODULE: ./client/wc-api/with-select.js
+var with_select = __webpack_require__(101);
+
+// EXTERNAL MODULE: external {"this":["wc","navigation"]}
+var external_this_wc_navigation_ = __webpack_require__(22);
+
+// CONCATENATED MODULE: ./client/analytics/components/report-chart/utils.js
+/**
+ * External dependencies
+ */
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+var DEFAULT_FILTER = 'all';
+function getSelectedFilter(filters, query) {
+ var selectedFilterArgs = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
+
+ if (!filters || filters.length === 0) {
+ return null;
+ }
+
+ var clonedFilters = filters.slice(0);
+ var filterConfig = clonedFilters.pop();
+
+ if (filterConfig.showFilters(query, selectedFilterArgs)) {
+ var allFilters = Object(external_this_wc_navigation_["flattenFilters"])(filterConfig.filters);
+ var value = query[filterConfig.param] || filterConfig.defaultValue || DEFAULT_FILTER;
+ return Object(external_lodash_["find"])(allFilters, {
+ value: value
+ });
+ }
+
+ return getSelectedFilter(clonedFilters, query, selectedFilterArgs);
+}
+function getChartMode(selectedFilter, query) {
+ if (selectedFilter && query) {
+ var selectedFilterParam = Object(external_lodash_["get"])(selectedFilter, ['settings', 'param']);
+
+ if (!selectedFilterParam || Object.keys(query).includes(selectedFilterParam)) {
+ return Object(external_lodash_["get"])(selectedFilter, ['chartMode']);
+ }
+ }
+
+ return null;
+}
+// CONCATENATED MODULE: ./client/analytics/components/report-chart/index.js
+
+
+
+
+
+
+
+
+function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+function _createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+/**
+ * Component that renders the chart in reports.
+ */
+
+var report_chart_ReportChart = /*#__PURE__*/function (_Component) {
+ inherits_default()(ReportChart, _Component);
+
+ var _super = _createSuper(ReportChart);
+
+ function ReportChart() {
+ classCallCheck_default()(this, ReportChart);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(ReportChart, [{
+ key: "shouldComponentUpdate",
+ value: function shouldComponentUpdate(nextProps) {
+ if (nextProps.isRequesting !== this.props.isRequesting || nextProps.primaryData.isRequesting !== this.props.primaryData.isRequesting || nextProps.secondaryData.isRequesting !== this.props.secondaryData.isRequesting || !Object(external_lodash_["isEqual"])(nextProps.query, this.props.query)) {
+ return true;
+ }
+
+ return false;
+ }
+ }, {
+ key: "getItemChartData",
+ value: function getItemChartData() {
+ var _this$props = this.props,
+ primaryData = _this$props.primaryData,
+ selectedChart = _this$props.selectedChart;
+ var chartData = primaryData.data.intervals.map(function (interval) {
+ var intervalData = {};
+ interval.subtotals.segments.forEach(function (segment) {
+ if (segment.segment_label) {
+ var label = intervalData[segment.segment_label] ? segment.segment_label + ' (#' + segment.segment_id + ')' : segment.segment_label;
+ intervalData[segment.segment_id] = {
+ label: label,
+ value: segment.subtotals[selectedChart.key] || 0
+ };
+ }
+ });
+ return _objectSpread({
+ date: Object(build_module["a" /* format */])('Y-m-d\\TH:i:s', interval.date_start)
+ }, intervalData);
+ });
+ return chartData;
+ }
+ }, {
+ key: "getTimeChartData",
+ value: function getTimeChartData() {
+ var _this$props2 = this.props,
+ query = _this$props2.query,
+ primaryData = _this$props2.primaryData,
+ secondaryData = _this$props2.secondaryData,
+ selectedChart = _this$props2.selectedChart,
+ defaultDateRange = _this$props2.defaultDateRange;
+ var currentInterval = Object(date["i" /* getIntervalForQuery */])(query);
+
+ var _getCurrentDates = Object(date["f" /* getCurrentDates */])(query, defaultDateRange),
+ primary = _getCurrentDates.primary,
+ secondary = _getCurrentDates.secondary;
+
+ var chartData = primaryData.data.intervals.map(function (interval, index) {
+ var secondaryDate = Object(date["j" /* getPreviousDate */])(interval.date_start, primary.after, secondary.after, query.compare, currentInterval);
+ var secondaryInterval = secondaryData.data.intervals[index];
+ return {
+ date: Object(build_module["a" /* format */])('Y-m-d\\TH:i:s', interval.date_start),
+ primary: {
+ label: "".concat(primary.label, " (").concat(primary.range, ")"),
+ labelDate: interval.date_start,
+ value: interval.subtotals[selectedChart.key] || 0
+ },
+ secondary: {
+ label: "".concat(secondary.label, " (").concat(secondary.range, ")"),
+ labelDate: secondaryDate.format('YYYY-MM-DD HH:mm:ss'),
+ value: secondaryInterval && secondaryInterval.subtotals[selectedChart.key] || 0
+ }
+ };
+ });
+ return chartData;
+ }
+ }, {
+ key: "getTimeChartTotals",
+ value: function getTimeChartTotals() {
+ var _this$props3 = this.props,
+ primaryData = _this$props3.primaryData,
+ secondaryData = _this$props3.secondaryData,
+ selectedChart = _this$props3.selectedChart;
+ return {
+ primary: Object(external_lodash_["get"])(primaryData, ['data', 'totals', selectedChart.key], null),
+ secondary: Object(external_lodash_["get"])(secondaryData, ['data', 'totals', selectedChart.key], null)
+ };
+ }
+ }, {
+ key: "renderChart",
+ value: function renderChart(mode, isRequesting, chartData, legendTotals) {
+ var _this$props4 = this.props,
+ emptySearchResults = _this$props4.emptySearchResults,
+ filterParam = _this$props4.filterParam,
+ interactiveLegend = _this$props4.interactiveLegend,
+ itemsLabel = _this$props4.itemsLabel,
+ legendPosition = _this$props4.legendPosition,
+ path = _this$props4.path,
+ query = _this$props4.query,
+ selectedChart = _this$props4.selectedChart,
+ showHeaderControls = _this$props4.showHeaderControls,
+ primaryData = _this$props4.primaryData;
+ var currentInterval = Object(date["i" /* getIntervalForQuery */])(query);
+ var allowedIntervals = Object(date["d" /* getAllowedIntervalsForQuery */])(query);
+ var formats = Object(date["g" /* getDateFormatsForInterval */])(currentInterval, primaryData.data.intervals.length);
+ var emptyMessage = emptySearchResults ? Object(external_this_wp_i18n_["__"])('No data for the current search', 'woocommerce-admin') : Object(external_this_wp_i18n_["__"])('No data for the selected date range', 'woocommerce-admin');
+ var _this$context = this.context,
+ formatCurrency = _this$context.formatCurrency,
+ getCurrency = _this$context.getCurrency;
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Chart"], {
+ allowedIntervals: allowedIntervals,
+ data: chartData,
+ dateParser: '%Y-%m-%dT%H:%M:%S',
+ emptyMessage: emptyMessage,
+ filterParam: filterParam,
+ interactiveLegend: interactiveLegend,
+ interval: currentInterval,
+ isRequesting: isRequesting,
+ itemsLabel: itemsLabel,
+ legendPosition: legendPosition,
+ legendTotals: legendTotals,
+ mode: mode,
+ path: path,
+ query: query,
+ screenReaderFormat: formats.screenReaderFormat,
+ showHeaderControls: showHeaderControls,
+ title: selectedChart.label,
+ tooltipLabelFormat: formats.tooltipLabelFormat,
+ tooltipTitle: mode === 'time-comparison' && selectedChart.label || null,
+ tooltipValueFormat: Object(utils["e" /* getTooltipValueFormat */])(selectedChart.type, formatCurrency),
+ chartType: Object(date["e" /* getChartTypeForQuery */])(query),
+ valueType: selectedChart.type,
+ xFormat: formats.xFormat,
+ x2Format: formats.x2Format,
+ currency: getCurrency()
+ });
+ }
+ }, {
+ key: "renderItemComparison",
+ value: function renderItemComparison() {
+ var _this$props5 = this.props,
+ isRequesting = _this$props5.isRequesting,
+ primaryData = _this$props5.primaryData;
+
+ if (primaryData.isError) {
+ return Object(external_this_wp_element_["createElement"])(report_error["a" /* default */], {
+ isError: true
+ });
+ }
+
+ var isChartRequesting = isRequesting || primaryData.isRequesting;
+ var chartData = this.getItemChartData();
+ return this.renderChart('item-comparison', isChartRequesting, chartData);
+ }
+ }, {
+ key: "renderTimeComparison",
+ value: function renderTimeComparison() {
+ var _this$props6 = this.props,
+ isRequesting = _this$props6.isRequesting,
+ primaryData = _this$props6.primaryData,
+ secondaryData = _this$props6.secondaryData;
+
+ if (!primaryData || primaryData.isError || secondaryData.isError) {
+ return Object(external_this_wp_element_["createElement"])(report_error["a" /* default */], {
+ isError: true
+ });
+ }
+
+ var isChartRequesting = isRequesting || primaryData.isRequesting || secondaryData.isRequesting;
+ var chartData = this.getTimeChartData();
+ var legendTotals = this.getTimeChartTotals();
+ return this.renderChart('time-comparison', isChartRequesting, chartData, legendTotals);
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var mode = this.props.mode;
+
+ if (mode === 'item-comparison') {
+ return this.renderItemComparison();
+ }
+
+ return this.renderTimeComparison();
+ }
+ }]);
+
+ return ReportChart;
+}(external_this_wp_element_["Component"]);
+report_chart_ReportChart.contextType = currency_context["a" /* CurrencyContext */];
+report_chart_ReportChart.propTypes = {
+ /**
+ * Filters available for that report.
+ */
+ filters: prop_types_default.a.array,
+
+ /**
+ * Whether there is an API call running.
+ */
+ isRequesting: prop_types_default.a.bool,
+
+ /**
+ * Label describing the legend items.
+ */
+ itemsLabel: prop_types_default.a.string,
+
+ /**
+ * Allows specifying properties different from the `endpoint` that will be used
+ * to limit the items when there is an active search.
+ */
+ limitProperties: prop_types_default.a.array,
+
+ /**
+ * `items-comparison` (default) or `time-comparison`, this is used to generate correct
+ * ARIA properties.
+ */
+ mode: prop_types_default.a.string,
+
+ /**
+ * Current path
+ */
+ path: prop_types_default.a.string.isRequired,
+
+ /**
+ * Primary data to display in the chart.
+ */
+ primaryData: prop_types_default.a.object,
+
+ /**
+ * The query string represented in object form.
+ */
+ query: prop_types_default.a.object.isRequired,
+
+ /**
+ * Secondary data to display in the chart.
+ */
+ secondaryData: prop_types_default.a.object,
+
+ /**
+ * Properties of the selected chart.
+ */
+ selectedChart: prop_types_default.a.shape({
+ /**
+ * Key of the selected chart.
+ */
+ key: prop_types_default.a.string.isRequired,
+
+ /**
+ * Chart label.
+ */
+ label: prop_types_default.a.string.isRequired,
+
+ /**
+ * Order query argument.
+ */
+ order: prop_types_default.a.oneOf(['asc', 'desc']),
+
+ /**
+ * Order by query argument.
+ */
+ orderby: prop_types_default.a.string,
+
+ /**
+ * Number type for formatting.
+ */
+ type: prop_types_default.a.oneOf(['average', 'number', 'currency']).isRequired
+ }).isRequired
+};
+report_chart_ReportChart.defaultProps = {
+ isRequesting: false,
+ primaryData: {
+ data: {
+ intervals: []
+ },
+ isError: false,
+ isRequesting: false
+ },
+ secondaryData: {
+ data: {
+ intervals: []
+ },
+ isError: false,
+ isRequesting: false
+ }
+};
+/* harmony default export */ var report_chart = __webpack_exports__["a"] = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select, props) {
+ var charts = props.charts,
+ endpoint = props.endpoint,
+ filters = props.filters,
+ isRequesting = props.isRequesting,
+ limitProperties = props.limitProperties,
+ query = props.query,
+ advancedFilters = props.advancedFilters;
+ var limitBy = limitProperties || [endpoint];
+ var selectedFilter = getSelectedFilter(filters, query);
+ var filterParam = Object(external_lodash_["get"])(selectedFilter, ['settings', 'param']);
+ var chartMode = props.mode || getChartMode(selectedFilter, query) || 'time-comparison';
+
+ var _select$getSetting = select(external_this_wc_data_["SETTINGS_STORE_NAME"]).getSetting('wc_admin', 'wcAdminSettings'),
+ defaultDateRange = _select$getSetting.woocommerce_default_date_range;
+
+ var newProps = {
+ mode: chartMode,
+ filterParam: filterParam,
+ defaultDateRange: defaultDateRange
+ };
+
+ if (isRequesting) {
+ return newProps;
+ }
+
+ var hasLimitByParam = limitBy.some(function (item) {
+ return query[item] && query[item].length;
+ });
+
+ if (query.search && !hasLimitByParam) {
+ return _objectSpread({}, newProps, {
+ emptySearchResults: true
+ });
+ }
+
+ var fields = charts && charts.map(function (chart) {
+ return chart.key;
+ });
+ var primaryData = Object(utils["a" /* getReportChartData */])({
+ endpoint: endpoint,
+ dataType: 'primary',
+ query: query,
+ select: select,
+ limitBy: limitBy,
+ filters: filters,
+ advancedFilters: advancedFilters,
+ defaultDateRange: defaultDateRange,
+ fields: fields
+ });
+
+ if (chartMode === 'item-comparison') {
+ return _objectSpread({}, newProps, {
+ primaryData: primaryData
+ });
+ }
+
+ var secondaryData = Object(utils["a" /* getReportChartData */])({
+ endpoint: endpoint,
+ dataType: 'secondary',
+ query: query,
+ select: select,
+ limitBy: limitBy,
+ filters: filters,
+ advancedFilters: advancedFilters,
+ defaultDateRange: defaultDateRange,
+ fields: fields
+ });
+ return _objectSpread({}, newProps, {
+ primaryData: primaryData,
+ secondaryData: secondaryData
+ });
+}))(report_chart_ReportChart));
+
+/***/ }),
+
+/***/ 743:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getSelectedChart; });
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__);
+/**
+ * External dependencies
+ */
+
+/**
+ * Takes a chart name returns the configuration for that chart from and array
+ * of charts. If the chart is not found it will return the first chart.
+ *
+ * @param {string} chartName - the name of the chart to get configuration for
+ * @param {Array} charts - list of charts for a particular report
+ * @return {Object} - chart configuration object
+ */
+
+function getSelectedChart(chartName) {
+ var charts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
+ var chart = Object(lodash__WEBPACK_IMPORTED_MODULE_0__["find"])(charts, {
+ key: chartName
+ });
+
+ if (chart) {
+ return chart;
+ }
+
+ return charts[0];
+}
+
+/***/ }),
+
+/***/ 744:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export ReportSummary */
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(41);
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(40);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(44);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(29);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(42);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(3);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(256);
+/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(1);
+/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);
+/* harmony import */ var lib_date__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(104);
+/* harmony import */ var _woocommerce_navigation__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(22);
+/* harmony import */ var _woocommerce_navigation__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_10__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_11__);
+/* harmony import */ var _woocommerce_number__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(204);
+/* harmony import */ var _woocommerce_number__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_number__WEBPACK_IMPORTED_MODULE_12__);
+/* harmony import */ var _woocommerce_data__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(51);
+/* harmony import */ var _woocommerce_data__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_data__WEBPACK_IMPORTED_MODULE_13__);
+/* harmony import */ var wc_api_reports_utils__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(738);
+/* harmony import */ var analytics_components_report_error__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(261);
+/* harmony import */ var wc_api_with_select__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(101);
+/* harmony import */ var lib_tracks__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(79);
+/* harmony import */ var lib_currency_context__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(203);
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+/**
+ * Component to render summary numbers in reports.
+ */
+
+var ReportSummary = /*#__PURE__*/function (_Component) {
+ _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(ReportSummary, _Component);
+
+ var _super = _createSuper(ReportSummary);
+
+ function ReportSummary() {
+ _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, ReportSummary);
+
+ return _super.apply(this, arguments);
+ }
+
+ _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(ReportSummary, [{
+ key: "formatVal",
+ value: function formatVal(val, type) {
+ var _this$context = this.context,
+ formatCurrency = _this$context.formatCurrency,
+ getCurrency = _this$context.getCurrency;
+ return type === 'currency' ? formatCurrency(val) : Object(_woocommerce_number__WEBPACK_IMPORTED_MODULE_12__["formatValue"])(getCurrency(), type, val);
+ }
+ }, {
+ key: "getValues",
+ value: function getValues(key, type) {
+ var _this$props = this.props,
+ emptySearchResults = _this$props.emptySearchResults,
+ summaryData = _this$props.summaryData;
+ var totals = summaryData.totals;
+ var primaryValue = emptySearchResults ? 0 : totals.primary[key];
+ var secondaryValue = emptySearchResults ? 0 : totals.secondary[key];
+ return {
+ delta: Object(_woocommerce_number__WEBPACK_IMPORTED_MODULE_12__["calculateDelta"])(primaryValue, secondaryValue),
+ prevValue: this.formatVal(secondaryValue, type),
+ value: this.formatVal(primaryValue, type)
+ };
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this = this;
+
+ var _this$props2 = this.props,
+ charts = _this$props2.charts,
+ isRequesting = _this$props2.isRequesting,
+ query = _this$props2.query,
+ selectedChart = _this$props2.selectedChart,
+ summaryData = _this$props2.summaryData,
+ endpoint = _this$props2.endpoint,
+ report = _this$props2.report,
+ defaultDateRange = _this$props2.defaultDateRange;
+ var isError = summaryData.isError,
+ isSummaryDataRequesting = summaryData.isRequesting;
+
+ if (isError) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(analytics_components_report_error__WEBPACK_IMPORTED_MODULE_15__[/* default */ "a"], {
+ isError: true
+ });
+ }
+
+ if (isRequesting || isSummaryDataRequesting) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_11__["SummaryListPlaceholder"], {
+ numberOfItems: charts.length
+ });
+ }
+
+ var _getDateParamsFromQue = Object(lib_date__WEBPACK_IMPORTED_MODULE_9__[/* getDateParamsFromQuery */ "h"])(query, defaultDateRange),
+ compare = _getDateParamsFromQue.compare;
+
+ var renderSummaryNumbers = function renderSummaryNumbers(_ref) {
+ var onToggle = _ref.onToggle;
+ return charts.map(function (chart) {
+ var key = chart.key,
+ order = chart.order,
+ orderby = chart.orderby,
+ label = chart.label,
+ type = chart.type;
+ var newPath = {
+ chart: key
+ };
+
+ if (orderby) {
+ newPath.orderby = orderby;
+ }
+
+ if (order) {
+ newPath.order = order;
+ }
+
+ var href = Object(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_10__["getNewPath"])(newPath);
+ var isSelected = selectedChart.key === key;
+
+ var _this$getValues = _this.getValues(key, type),
+ delta = _this$getValues.delta,
+ prevValue = _this$getValues.prevValue,
+ value = _this$getValues.value;
+
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_11__["SummaryNumber"], {
+ key: key,
+ delta: delta,
+ href: href,
+ label: label,
+ prevLabel: compare === 'previous_period' ? Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('Previous Period:', 'woocommerce-admin') : Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('Previous Year:', 'woocommerce-admin'),
+ prevValue: prevValue,
+ selected: isSelected,
+ value: value,
+ onLinkClickCallback: function onLinkClickCallback() {
+ // Wider than a certain breakpoint, there is no dropdown so avoid calling onToggle.
+ if (onToggle) {
+ onToggle();
+ }
+
+ Object(lib_tracks__WEBPACK_IMPORTED_MODULE_17__[/* recordEvent */ "b"])('analytics_chart_tab_click', {
+ report: report || endpoint,
+ key: key
+ });
+ }
+ });
+ });
+ };
+
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_11__["SummaryList"], null, renderSummaryNumbers);
+ }
+ }]);
+
+ return ReportSummary;
+}(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["Component"]);
+ReportSummary.propTypes = {
+ /**
+ * Properties of all the charts available for that report.
+ */
+ charts: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.array.isRequired,
+
+ /**
+ * The endpoint to use in API calls to populate the Summary Numbers.
+ * For example, if `taxes` is provided, data will be fetched from the report
+ * `taxes` endpoint (ie: `/wc-analytics/reports/taxes/stats`). If the provided endpoint
+ * doesn't exist, an error will be shown to the user with `ReportError`.
+ */
+ endpoint: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string.isRequired,
+
+ /**
+ * Allows specifying properties different from the `endpoint` that will be used
+ * to limit the items when there is an active search.
+ */
+ limitProperties: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.array,
+
+ /**
+ * The query string represented in object form.
+ */
+ query: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.object.isRequired,
+
+ /**
+ * Whether there is an API call running.
+ */
+ isRequesting: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.bool,
+
+ /**
+ * Properties of the selected chart.
+ */
+ selectedChart: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.shape({
+ /**
+ * Key of the selected chart.
+ */
+ key: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string.isRequired,
+
+ /**
+ * Chart label.
+ */
+ label: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string.isRequired,
+
+ /**
+ * Order query argument.
+ */
+ order: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.oneOf(['asc', 'desc']),
+
+ /**
+ * Order by query argument.
+ */
+ orderby: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string,
+
+ /**
+ * Number type for formatting.
+ */
+ type: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.oneOf(['average', 'number', 'currency']).isRequired
+ }).isRequired,
+
+ /**
+ * Data to display in the SummaryNumbers.
+ */
+ summaryData: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.object,
+
+ /**
+ * Report name, if different than the endpoint.
+ */
+ report: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string
+};
+ReportSummary.defaultProps = {
+ summaryData: {
+ totals: {
+ primary: {},
+ secondary: {}
+ },
+ isError: false,
+ isRequesting: false
+ }
+};
+ReportSummary.contextType = lib_currency_context__WEBPACK_IMPORTED_MODULE_18__[/* CurrencyContext */ "a"];
+/* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_7__[/* default */ "a"])(Object(wc_api_with_select__WEBPACK_IMPORTED_MODULE_16__[/* default */ "a"])(function (select, props) {
+ var charts = props.charts,
+ endpoint = props.endpoint,
+ isRequesting = props.isRequesting,
+ limitProperties = props.limitProperties,
+ query = props.query,
+ filters = props.filters,
+ advancedFilters = props.advancedFilters;
+ var limitBy = limitProperties || [endpoint];
+
+ if (isRequesting) {
+ return {};
+ }
+
+ var hasLimitByParam = limitBy.some(function (item) {
+ return query[item] && query[item].length;
+ });
+
+ if (query.search && !hasLimitByParam) {
+ return {
+ emptySearchResults: true
+ };
+ }
+
+ var fields = charts && charts.map(function (chart) {
+ return chart.key;
+ });
+
+ var _select$getSetting = select(_woocommerce_data__WEBPACK_IMPORTED_MODULE_13__["SETTINGS_STORE_NAME"]).getSetting('wc_admin', 'wcAdminSettings'),
+ defaultDateRange = _select$getSetting.woocommerce_default_date_range;
+
+ var summaryData = Object(wc_api_reports_utils__WEBPACK_IMPORTED_MODULE_14__[/* getSummaryNumbers */ "d"])({
+ endpoint: endpoint,
+ query: query,
+ select: select,
+ limitBy: limitBy,
+ filters: filters,
+ advancedFilters: advancedFilters,
+ defaultDateRange: defaultDateRange,
+ fields: fields
+ });
+ return {
+ summaryData: summaryData,
+ defaultDateRange: defaultDateRange
+ };
+}))(ReportSummary));
+
+/***/ }),
+
+/***/ 762:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return charts; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return filters; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return advancedFilters; });
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(48);
+/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__);
+/**
+ * External dependencies
+ */
+
+
+var REVENUE_REPORT_CHARTS_FILTER = 'woocommerce_admin_revenue_report_charts';
+var REVENUE_REPORT_FILTERS_FILTER = 'woocommerce_admin_revenue_report_filters';
+var REVENUE_REPORT_ADVANCED_FILTERS_FILTER = 'woocommerce_admin_revenue_report_advanced_filters';
+var charts = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__["applyFilters"])(REVENUE_REPORT_CHARTS_FILTER, [{
+ key: 'gross_sales',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Gross Sales', 'woocommerce-admin'),
+ order: 'desc',
+ orderby: 'gross_sales',
+ type: 'currency'
+}, {
+ key: 'refunds',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Returns', 'woocommerce-admin'),
+ order: 'desc',
+ orderby: 'refunds',
+ type: 'currency'
+}, {
+ key: 'coupons',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Coupons', 'woocommerce-admin'),
+ order: 'desc',
+ orderby: 'coupons',
+ type: 'currency'
+}, {
+ key: 'net_revenue',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Net Sales', 'woocommerce-admin'),
+ orderby: 'net_revenue',
+ type: 'currency'
+}, {
+ key: 'taxes',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Taxes', 'woocommerce-admin'),
+ order: 'desc',
+ orderby: 'taxes',
+ type: 'currency'
+}, {
+ key: 'shipping',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Shipping', 'woocommerce-admin'),
+ orderby: 'shipping',
+ type: 'currency'
+}, {
+ key: 'total_sales',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Total Sales', 'woocommerce-admin'),
+ order: 'desc',
+ orderby: 'total_sales',
+ type: 'currency'
+}]);
+var filters = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__["applyFilters"])(REVENUE_REPORT_FILTERS_FILTER, []);
+var advancedFilters = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__["applyFilters"])(REVENUE_REPORT_ADVANCED_FILTERS_FILTER, {});
+
+/***/ })
+
+}]);
\ No newline at end of file
diff --git a/dist/chunks/analytics-report-revenue.8c233563b2230669fb1f.min.js b/dist/chunks/analytics-report-revenue.8c233563b2230669fb1f.min.js
new file mode 100644
index 00000000000..94afdeb5038
--- /dev/null
+++ b/dist/chunks/analytics-report-revenue.8c233563b2230669fb1f.min.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{725:function(e,t,r){"use strict";r.r(t),r.d(t,"default",(function(){return M}));var a=r(41),n=r.n(a),o=r(40),i=r.n(o),s=r(44),c=r.n(s),u=r(29),l=r.n(u),d=r(42),m=r.n(d),p=r(0),y=r(1),b=r.n(y),f=r(762),v=r(743),g=r(741),h=r(744),_=r(59),O=r.n(_),j=r(3),R=r(172),q=r(256),w=r(2),D=r(104),S=r(63),k=r(204),C=r(26),E=r(51),T=r(24),F=r(746),P=r(101),x=r(738),N=r(203);function V(){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}}var L=function(e){m()(a,e);var t,r=(t=a,function(){var e,r=l()(t);if(V()){var a=l()(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return c()(this,e)});function a(){var e;return n()(this,a),(e=r.call(this)).getHeadersContent=e.getHeadersContent.bind(O()(e)),e.getRowsContent=e.getRowsContent.bind(O()(e)),e.getSummary=e.getSummary.bind(O()(e)),e}return i()(a,[{key:"getHeadersContent",value:function(){return[{label:Object(j.__)("Date","woocommerce-admin"),key:"date",required:!0,defaultSort:!0,isLeftAligned:!0,isSortable:!0},{label:Object(j.__)("Orders","woocommerce-admin"),key:"orders_count",required:!1,isSortable:!0,isNumeric:!0},{label:Object(j.__)("Gross Sales","woocommerce-admin"),key:"gross_sales",required:!1,isSortable:!0,isNumeric:!0},{label:Object(j.__)("Returns","woocommerce-admin"),key:"refunds",required:!1,isSortable:!0,isNumeric:!0},{label:Object(j.__)("Coupons","woocommerce-admin"),key:"coupons",required:!1,isSortable:!0,isNumeric:!0},{label:Object(j.__)("Net Sales","woocommerce-admin"),key:"net_revenue",required:!1,isSortable:!0,isNumeric:!0},{label:Object(j.__)("Taxes","woocommerce-admin"),key:"taxes",required:!1,isSortable:!0,isNumeric:!0},{label:Object(j.__)("Shipping","woocommerce-admin"),key:"shipping",required:!1,isSortable:!0,isNumeric:!0},{label:Object(j.__)("Total Sales","woocommerce-admin"),key:"total_sales",required:!0,isSortable:!0,isNumeric:!0}]}},{key:"getRowsContent",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=Object(C.g)("dateFormat",D.c),r=this.context,a=r.formatCurrency,n=r.render,o=r.formatDecimal,i=r.getCurrency;return e.map((function(e){var r=e.subtotals,s=r.coupons,c=r.gross_sales,u=r.total_sales,l=r.net_revenue,d=r.orders_count,m=r.refunds,y=r.shipping,b=r.taxes,f=Object(p.createElement)(S.Link,{href:"edit.php?post_type=shop_order&m="+Object(R.a)("Ymd",e.date_start),type:"wp-admin"},Object(k.formatValue)(i(),"number",d));return[{display:Object(p.createElement)(S.Date,{date:e.date_start,visibleFormat:t}),value:e.date_start},{display:f,value:Number(d)},{display:n(c),value:o(c)},{display:a(m),value:o(m)},{display:a(s),value:o(s)},{display:n(l),value:o(l)},{display:n(b),value:o(b)},{display:n(y),value:o(y)},{display:n(u),value:o(u)}]}))}},{key:"getSummary",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=e.orders_count,a=void 0===r?0:r,n=e.gross_sales,o=void 0===n?0:n,i=e.total_sales,s=void 0===i?0:i,c=e.refunds,u=void 0===c?0:c,l=e.coupons,d=void 0===l?0:l,m=e.taxes,p=void 0===m?0:m,y=e.shipping,b=void 0===y?0:y,f=e.net_revenue,v=void 0===f?0:f,g=this.context,h=g.formatCurrency,_=g.getCurrency,O=_();return[{label:Object(j._n)("day","days",t,"woocommerce-admin"),value:Object(k.formatValue)(O,"number",t)},{label:Object(j._n)("order","orders",a,"woocommerce-admin"),value:Object(k.formatValue)(O,"number",a)},{label:Object(j.__)("gross sales","woocommerce-admin"),value:h(o)},{label:Object(j.__)("returns","woocommerce-admin"),value:h(u)},{label:Object(j.__)("coupons","woocommerce-admin"),value:h(d)},{label:Object(j.__)("net sales","woocommerce-admin"),value:h(v)},{label:Object(j.__)("taxes","woocommerce-admin"),value:h(p)},{label:Object(j.__)("shipping","woocommerce-admin"),value:h(b)},{label:Object(j.__)("total sales","woocommerce-admin"),value:h(s)}]}},{key:"render",value:function(){var e=this.props,t=e.advancedFilters,r=e.filters,a=e.tableData,n=e.query;return Object(p.createElement)(F.a,{endpoint:"revenue",getHeadersContent:this.getHeadersContent,getRowsContent:this.getRowsContent,getSummary:this.getSummary,summaryFields:["orders_count","gross_sales","total_sales","refunds","coupons","taxes","shipping","net_revenue"],query:n,tableData:a,title:Object(j.__)("Revenue","woocommerce-admin"),columnPrefsKey:"revenue_report_columns",filters:r,advancedFilters:t})}}]),a}(p.Component);L.contextType=N.a;var H=Object(q.a)(Object(P.a)((function(e,t){var r=t.query,a=t.filters,n=t.advancedFilters,o=e(E.SETTINGS_STORE_NAME).getSetting("wc_admin","wcAdminSettings").woocommerce_default_date_range,i=Object(D.f)(r,o),s=e("wc-api"),c=s.getReportStats,u=s.getReportStatsError,l=s.isReportStatsRequesting,d={interval:"day",orderby:r.orderby||"date",order:r.order||"desc",page:r.paged||1,per_page:r.per_page||T.d.pageSize,after:Object(D.a)(i.primary.after,"start"),before:Object(D.a)(i.primary.before,"end")},m=Object(x.c)({endpoint:"revenue",query:r,select:e,tableQuery:d,filters:a,advancedFilters:n}),p=c("revenue",m),y=Boolean(u("revenue",m)),b=l("revenue",m);return{tableData:{items:{data:Object(w.get)(p,["data","intervals"],[]),totalResults:Object(w.get)(p,["totalResults"],0)},isError:y,isRequesting:b,query:d}}})))(L),I=r(745);function Y(){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}}var M=function(e){m()(a,e);var t,r=(t=a,function(){var e,r=l()(t);if(Y()){var a=l()(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return c()(this,e)});function a(){return n()(this,a),r.apply(this,arguments)}return i()(a,[{key:"render",value:function(){var e=this.props,t=e.path,r=e.query;return Object(p.createElement)(p.Fragment,null,Object(p.createElement)(I.a,{query:r,path:t,report:"revenue",filters:f.c,advancedFilters:f.a}),Object(p.createElement)(h.a,{charts:f.b,endpoint:"revenue",query:r,selectedChart:Object(v.a)(r.chart,f.b),filters:f.c,advancedFilters:f.a}),Object(p.createElement)(g.a,{charts:f.b,endpoint:"revenue",path:t,query:r,selectedChart:Object(v.a)(r.chart,f.b),filters:f.c,advancedFilters:f.a}),Object(p.createElement)(H,{query:r,filters:f.c,advancedFilters:f.a}))}}]),a}(p.Component);M.propTypes={path:b.a.string.isRequired,query:b.a.object.isRequired}},741:function(e,t,r){"use strict";var a=r(15),n=r.n(a),o=r(41),i=r.n(o),s=r(40),c=r.n(s),u=r(44),l=r.n(u),d=r(29),m=r.n(d),p=r(42),y=r.n(p),b=r(0),f=r(3),v=r(256),g=r(172),h=r(2),_=r(1),O=r.n(_),j=r(104),R=r(63),q=r(51),w=r(203),D=r(738),S=r(261),k=r(101),C=r(22);function E(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function T(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:{};if(!t||0===t.length)return null;var n=t.slice(0),o=n.pop();if(o.showFilters(r,a)){var i=Object(C.flattenFilters)(o.filters),s=r[o.param]||o.defaultValue||"all";return Object(h.find)(i,{value:s})}return e(n,r,a)}(n,s),d=Object(h.get)(l,["settings","param"]),m=t.mode||function(e,t){if(e&&t){var r=Object(h.get)(e,["settings","param"]);if(!r||Object.keys(t).includes(r))return Object(h.get)(e,["chartMode"])}return null}(l,s)||"time-comparison",p=e(q.SETTINGS_STORE_NAME).getSetting("wc_admin","wcAdminSettings").woocommerce_default_date_range,y={mode:m,filterParam:d,defaultDateRange:p};if(o)return y;var b=u.some((function(e){return s[e]&&s[e].length}));if(s.search&&!b)return T({},y,{emptySearchResults:!0});var f=r&&r.map((function(e){return e.key})),v=Object(D.a)({endpoint:a,dataType:"primary",query:s,select:e,limitBy:u,filters:n,advancedFilters:c,defaultDateRange:p,fields:f});return T({},y,"item-comparison"===m?{primaryData:v}:{primaryData:v,secondaryData:Object(D.a)({endpoint:a,dataType:"secondary",query:s,select:e,limitBy:u,filters:n,advancedFilters:c,defaultDateRange:p,fields:f})})})))(P)},743:function(e,t,r){"use strict";r.d(t,"a",(function(){return n}));var a=r(2);function n(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=Object(a.find)(t,{key:e});return r||t[0]}},744:function(e,t,r){"use strict";var a=r(41),n=r.n(a),o=r(40),i=r.n(o),s=r(44),c=r.n(s),u=r(29),l=r.n(u),d=r(42),m=r.n(d),p=r(0),y=r(3),b=r(256),f=r(1),v=r.n(f),g=r(104),h=r(22),_=r(63),O=r(204),j=r(51),R=r(738),q=r(261),w=r(101),D=r(79),S=r(203);function k(){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}}var C=function(e){m()(a,e);var t,r=(t=a,function(){var e,r=l()(t);if(k()){var a=l()(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return c()(this,e)});function a(){return n()(this,a),r.apply(this,arguments)}return i()(a,[{key:"formatVal",value:function(e,t){var r=this.context,a=r.formatCurrency,n=r.getCurrency;return"currency"===t?a(e):Object(O.formatValue)(n(),t,e)}},{key:"getValues",value:function(e,t){var r=this.props,a=r.emptySearchResults,n=r.summaryData.totals,o=a?0:n.primary[e],i=a?0:n.secondary[e];return{delta:Object(O.calculateDelta)(o,i),prevValue:this.formatVal(i,t),value:this.formatVal(o,t)}}},{key:"render",value:function(){var e=this,t=this.props,r=t.charts,a=t.isRequesting,n=t.query,o=t.selectedChart,i=t.summaryData,s=t.endpoint,c=t.report,u=t.defaultDateRange,l=i.isError,d=i.isRequesting;if(l)return Object(p.createElement)(q.a,{isError:!0});if(a||d)return Object(p.createElement)(_.SummaryListPlaceholder,{numberOfItems:r.length});var m=Object(g.h)(n,u).compare;return Object(p.createElement)(_.SummaryList,null,(function(t){var a=t.onToggle;return r.map((function(t){var r=t.key,n=t.order,i=t.orderby,u=t.label,l=t.type,d={chart:r};i&&(d.orderby=i),n&&(d.order=n);var b=Object(h.getNewPath)(d),f=o.key===r,v=e.getValues(r,l),g=v.delta,O=v.prevValue,j=v.value;return Object(p.createElement)(_.SummaryNumber,{key:r,delta:g,href:b,label:u,prevLabel:"previous_period"===m?Object(y.__)("Previous Period:","woocommerce-admin"):Object(y.__)("Previous Year:","woocommerce-admin"),prevValue:O,selected:f,value:j,onLinkClickCallback:function(){a&&a(),Object(D.b)("analytics_chart_tab_click",{report:c||s,key:r})}})}))}))}}]),a}(p.Component);C.propTypes={charts:v.a.array.isRequired,endpoint:v.a.string.isRequired,limitProperties:v.a.array,query:v.a.object.isRequired,isRequesting:v.a.bool,selectedChart:v.a.shape({key:v.a.string.isRequired,label:v.a.string.isRequired,order:v.a.oneOf(["asc","desc"]),orderby:v.a.string,type:v.a.oneOf(["average","number","currency"]).isRequired}).isRequired,summaryData:v.a.object,report:v.a.string},C.defaultProps={summaryData:{totals:{primary:{},secondary:{}},isError:!1,isRequesting:!1}},C.contextType=S.a,t.a=Object(b.a)(Object(w.a)((function(e,t){var r=t.charts,a=t.endpoint,n=t.isRequesting,o=t.limitProperties,i=t.query,s=t.filters,c=t.advancedFilters,u=o||[a];if(n)return{};var l=u.some((function(e){return i[e]&&i[e].length}));if(i.search&&!l)return{emptySearchResults:!0};var d=r&&r.map((function(e){return e.key})),m=e(j.SETTINGS_STORE_NAME).getSetting("wc_admin","wcAdminSettings").woocommerce_default_date_range;return{summaryData:Object(R.d)({endpoint:a,query:i,select:e,limitBy:u,filters:s,advancedFilters:c,defaultDateRange:m,fields:d}),defaultDateRange:m}})))(C)},762:function(e,t,r){"use strict";r.d(t,"b",(function(){return o})),r.d(t,"c",(function(){return i})),r.d(t,"a",(function(){return s}));var a=r(3),n=r(48),o=Object(n.applyFilters)("woocommerce_admin_revenue_report_charts",[{key:"gross_sales",label:Object(a.__)("Gross Sales","woocommerce-admin"),order:"desc",orderby:"gross_sales",type:"currency"},{key:"refunds",label:Object(a.__)("Returns","woocommerce-admin"),order:"desc",orderby:"refunds",type:"currency"},{key:"coupons",label:Object(a.__)("Coupons","woocommerce-admin"),order:"desc",orderby:"coupons",type:"currency"},{key:"net_revenue",label:Object(a.__)("Net Sales","woocommerce-admin"),orderby:"net_revenue",type:"currency"},{key:"taxes",label:Object(a.__)("Taxes","woocommerce-admin"),order:"desc",orderby:"taxes",type:"currency"},{key:"shipping",label:Object(a.__)("Shipping","woocommerce-admin"),orderby:"shipping",type:"currency"},{key:"total_sales",label:Object(a.__)("Total Sales","woocommerce-admin"),order:"desc",orderby:"total_sales",type:"currency"}]),i=Object(n.applyFilters)("woocommerce_admin_revenue_report_filters",[]),s=Object(n.applyFilters)("woocommerce_admin_revenue_report_advanced_filters",{})}}]);
\ No newline at end of file
diff --git a/dist/chunks/analytics-report-stock.01e7040b7f0e196e8129.js b/dist/chunks/analytics-report-stock.01e7040b7f0e196e8129.js
new file mode 100644
index 00000000000..aee8bdb551f
--- /dev/null
+++ b/dist/chunks/analytics-report-stock.01e7040b7f0e196e8129.js
@@ -0,0 +1,451 @@
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[16],{
+
+/***/ 722:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+// ESM COMPAT FLAG
+__webpack_require__.r(__webpack_exports__);
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, "default", function() { return /* binding */ stock_StockReport; });
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js
+var classCallCheck = __webpack_require__(41);
+var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js
+var createClass = __webpack_require__(40);
+var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(44);
+var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(29);
+var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js
+var inherits = __webpack_require__(42);
+var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: ./node_modules/prop-types/index.js
+var prop_types = __webpack_require__(1);
+var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
+
+// EXTERNAL MODULE: external {"this":["wp","i18n"]}
+var external_this_wp_i18n_ = __webpack_require__(3);
+
+// EXTERNAL MODULE: external {"this":["wp","hooks"]}
+var external_this_wp_hooks_ = __webpack_require__(48);
+
+// CONCATENATED MODULE: ./client/analytics/report/stock/config.js
+/**
+ * External dependencies
+ */
+
+
+var STOCK_REPORT_FILTERS_FILTER = 'woocommerce_admin_stock_report_filters';
+var STOCK_REPORT_ADVANCED_FILTERS_FILTER = 'woocommerce_admin_stock_report_advanced_filters';
+var showDatePicker = false;
+var config_filters = Object(external_this_wp_hooks_["applyFilters"])(STOCK_REPORT_FILTERS_FILTER, [{
+ label: Object(external_this_wp_i18n_["__"])('Show', 'woocommerce-admin'),
+ staticParams: [],
+ param: 'type',
+ showFilters: function showFilters() {
+ return true;
+ },
+ filters: [{
+ label: Object(external_this_wp_i18n_["__"])('All Products', 'woocommerce-admin'),
+ value: 'all'
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Out of Stock', 'woocommerce-admin'),
+ value: 'outofstock'
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Low Stock', 'woocommerce-admin'),
+ value: 'lowstock'
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('In Stock', 'woocommerce-admin'),
+ value: 'instock'
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('On Backorder', 'woocommerce-admin'),
+ value: 'onbackorder'
+ }]
+}]);
+var config_advancedFilters = Object(external_this_wp_hooks_["applyFilters"])(STOCK_REPORT_ADVANCED_FILTERS_FILTER, {});
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/assertThisInitialized.js
+var assertThisInitialized = __webpack_require__(59);
+var assertThisInitialized_default = /*#__PURE__*/__webpack_require__.n(assertThisInitialized);
+
+// EXTERNAL MODULE: external {"this":["wp","htmlEntities"]}
+var external_this_wp_htmlEntities_ = __webpack_require__(69);
+
+// EXTERNAL MODULE: external {"this":["wc","components"]}
+var external_this_wc_components_ = __webpack_require__(63);
+
+// EXTERNAL MODULE: external {"this":["wc","navigation"]}
+var external_this_wc_navigation_ = __webpack_require__(22);
+
+// EXTERNAL MODULE: external {"this":["wc","number"]}
+var external_this_wc_number_ = __webpack_require__(204);
+
+// EXTERNAL MODULE: ./client/settings/index.js
+var settings = __webpack_require__(26);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-table/index.js + 2 modules
+var report_table = __webpack_require__(746);
+
+// CONCATENATED MODULE: ./client/analytics/report/stock/utils.js
+/**
+ * Determine if a product or variation is in low stock.
+ *
+ * @param {number} threshold - The number at which stock is determined to be low.
+ * @return {boolean} - Whether or not the stock is low.
+ */
+function isLowStock(status, quantity, threshold) {
+ if (!quantity) {
+ // Sites that don't do inventory tracking will always return false.
+ return false;
+ }
+
+ return status && quantity <= threshold === 'instock';
+}
+// EXTERNAL MODULE: ./client/lib/currency-context.js
+var currency_context = __webpack_require__(203);
+
+// CONCATENATED MODULE: ./client/analytics/report/stock/table.js
+
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var stockStatuses = Object(settings["g" /* getSetting */])('stockStatuses', {});
+
+var table_StockReportTable = /*#__PURE__*/function (_Component) {
+ inherits_default()(StockReportTable, _Component);
+
+ var _super = _createSuper(StockReportTable);
+
+ function StockReportTable() {
+ var _this;
+
+ classCallCheck_default()(this, StockReportTable);
+
+ _this = _super.call(this);
+ _this.getHeadersContent = _this.getHeadersContent.bind(assertThisInitialized_default()(_this));
+ _this.getRowsContent = _this.getRowsContent.bind(assertThisInitialized_default()(_this));
+ _this.getSummary = _this.getSummary.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(StockReportTable, [{
+ key: "getHeadersContent",
+ value: function getHeadersContent() {
+ return [{
+ label: Object(external_this_wp_i18n_["__"])('Product / Variation', 'woocommerce-admin'),
+ key: 'title',
+ required: true,
+ isLeftAligned: true,
+ isSortable: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('SKU', 'woocommerce-admin'),
+ key: 'sku',
+ isSortable: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Status', 'woocommerce-admin'),
+ key: 'stock_status',
+ isSortable: true,
+ defaultSort: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Stock', 'woocommerce-admin'),
+ key: 'stock_quantity',
+ isSortable: true
+ }];
+ }
+ }, {
+ key: "getRowsContent",
+ value: function getRowsContent(products) {
+ var _this2 = this;
+
+ var query = this.props.query;
+ var persistedQuery = Object(external_this_wc_navigation_["getPersistedQuery"])(query);
+ return products.map(function (product) {
+ var id = product.id,
+ manageStock = product.manage_stock,
+ parentId = product.parent_id,
+ sku = product.sku,
+ stockQuantity = product.stock_quantity,
+ stockStatus = product.stock_status,
+ lowStockAmount = product.low_stock_amount;
+ var name = Object(external_this_wp_htmlEntities_["decodeEntities"])(product.name);
+ var productDetailLink = Object(external_this_wc_navigation_["getNewPath"])(persistedQuery, '/analytics/products', {
+ filter: 'single_product',
+ products: parentId || id
+ });
+ var nameLink = Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: productDetailLink,
+ type: "wc-admin"
+ }, name);
+ var editProductLink = Object(settings["f" /* getAdminLink */])('post.php?action=edit&post=' + (parentId || id));
+ var stockStatusLink = isLowStock(stockStatus, stockQuantity, lowStockAmount) ? Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: editProductLink,
+ type: "wp-admin"
+ }, Object(external_this_wp_i18n_["_x"])('Low', 'Indication of a low quantity', 'woocommerce-admin')) : Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: editProductLink,
+ type: "wp-admin"
+ }, stockStatuses[stockStatus]);
+ return [{
+ display: nameLink,
+ value: name
+ }, {
+ display: sku,
+ value: sku
+ }, {
+ display: stockStatusLink,
+ value: stockStatus
+ }, {
+ display: manageStock ? Object(external_this_wc_number_["formatValue"])(_this2.context.getCurrency(), 'number', stockQuantity) : Object(external_this_wp_i18n_["__"])('N/A', 'woocommerce-admin'),
+ value: stockQuantity
+ }];
+ });
+ }
+ }, {
+ key: "getSummary",
+ value: function getSummary(totals) {
+ var _totals$products = totals.products,
+ products = _totals$products === void 0 ? 0 : _totals$products,
+ _totals$outofstock = totals.outofstock,
+ outofstock = _totals$outofstock === void 0 ? 0 : _totals$outofstock,
+ _totals$lowstock = totals.lowstock,
+ lowstock = _totals$lowstock === void 0 ? 0 : _totals$lowstock,
+ _totals$instock = totals.instock,
+ instock = _totals$instock === void 0 ? 0 : _totals$instock,
+ _totals$onbackorder = totals.onbackorder,
+ onbackorder = _totals$onbackorder === void 0 ? 0 : _totals$onbackorder;
+ var currency = this.context.getCurrency();
+ return [{
+ label: Object(external_this_wp_i18n_["_n"])('product', 'products', products, 'woocommerce-admin'),
+ value: Object(external_this_wc_number_["formatValue"])(currency, 'number', products)
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('out of stock', outofstock, 'woocommerce-admin'),
+ value: Object(external_this_wc_number_["formatValue"])(currency, 'number', outofstock)
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('low stock', lowstock, 'woocommerce-admin'),
+ value: Object(external_this_wc_number_["formatValue"])('currency, number', lowstock)
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('on backorder', onbackorder, 'woocommerce-admin'),
+ value: Object(external_this_wc_number_["formatValue"])(currency, 'number', onbackorder)
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('in stock', instock, 'woocommerce-admin'),
+ value: Object(external_this_wc_number_["formatValue"])(currency, 'number', instock)
+ }];
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ advancedFilters = _this$props.advancedFilters,
+ filters = _this$props.filters,
+ query = _this$props.query;
+ return Object(external_this_wp_element_["createElement"])(report_table["a" /* default */], {
+ endpoint: "stock",
+ getHeadersContent: this.getHeadersContent,
+ getRowsContent: this.getRowsContent,
+ getSummary: this.getSummary,
+ summaryFields: ['products', 'outofstock', 'lowstock', 'instock', 'onbackorder'],
+ query: query,
+ tableQuery: {
+ orderby: query.orderby || 'stock_status',
+ order: query.order || 'asc',
+ type: query.type || 'all'
+ },
+ title: Object(external_this_wp_i18n_["__"])('Stock', 'woocommerce-admin'),
+ filters: filters,
+ advancedFilters: advancedFilters
+ });
+ }
+ }]);
+
+ return StockReportTable;
+}(external_this_wp_element_["Component"]);
+
+table_StockReportTable.contextType = currency_context["a" /* CurrencyContext */];
+/* harmony default export */ var table = (table_StockReportTable);
+// EXTERNAL MODULE: ./client/analytics/components/report-filters/index.js
+var report_filters = __webpack_require__(745);
+
+// CONCATENATED MODULE: ./client/analytics/report/stock/index.js
+
+
+
+
+
+
+
+function stock_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (stock_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function stock_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+var stock_StockReport = /*#__PURE__*/function (_Component) {
+ inherits_default()(StockReport, _Component);
+
+ var _super = stock_createSuper(StockReport);
+
+ function StockReport() {
+ classCallCheck_default()(this, StockReport);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(StockReport, [{
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ query = _this$props.query,
+ path = _this$props.path;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(report_filters["a" /* default */], {
+ query: query,
+ path: path,
+ showDatePicker: showDatePicker,
+ filters: config_filters,
+ advancedFilters: config_advancedFilters,
+ report: "stock"
+ }), Object(external_this_wp_element_["createElement"])(table, {
+ query: query,
+ filters: config_filters,
+ advancedFilters: config_advancedFilters
+ }));
+ }
+ }]);
+
+ return StockReport;
+}(external_this_wp_element_["Component"]);
+
+
+stock_StockReport.propTypes = {
+ query: prop_types_default.a.object.isRequired
+};
+
+/***/ }),
+
+/***/ 749:
+/***/ (function(module, exports, __webpack_require__) {
+
+var arrayWithHoles = __webpack_require__(750);
+
+var iterableToArrayLimit = __webpack_require__(751);
+
+var unsupportedIterableToArray = __webpack_require__(425);
+
+var nonIterableRest = __webpack_require__(752);
+
+function _slicedToArray(arr, i) {
+ return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();
+}
+
+module.exports = _slicedToArray;
+
+/***/ }),
+
+/***/ 750:
+/***/ (function(module, exports) {
+
+function _arrayWithHoles(arr) {
+ if (Array.isArray(arr)) return arr;
+}
+
+module.exports = _arrayWithHoles;
+
+/***/ }),
+
+/***/ 751:
+/***/ (function(module, exports) {
+
+function _iterableToArrayLimit(arr, i) {
+ if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
+ var _arr = [];
+ var _n = true;
+ var _d = false;
+ var _e = undefined;
+
+ try {
+ for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
+ _arr.push(_s.value);
+
+ if (i && _arr.length === i) break;
+ }
+ } catch (err) {
+ _d = true;
+ _e = err;
+ } finally {
+ try {
+ if (!_n && _i["return"] != null) _i["return"]();
+ } finally {
+ if (_d) throw _e;
+ }
+ }
+
+ return _arr;
+}
+
+module.exports = _iterableToArrayLimit;
+
+/***/ }),
+
+/***/ 752:
+/***/ (function(module, exports) {
+
+function _nonIterableRest() {
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+
+module.exports = _nonIterableRest;
+
+/***/ })
+
+}]);
\ No newline at end of file
diff --git a/dist/chunks/analytics-report-stock.01e7040b7f0e196e8129.min.js b/dist/chunks/analytics-report-stock.01e7040b7f0e196e8129.min.js
new file mode 100644
index 00000000000..3b91410d13d
--- /dev/null
+++ b/dist/chunks/analytics-report-stock.01e7040b7f0e196e8129.min.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{722:function(e,t,o){"use strict";o.r(t),o.d(t,"default",(function(){return A}));var r=o(41),n=o.n(r),c=o(40),a=o.n(c),i=o(44),u=o.n(i),l=o(29),s=o.n(l),m=o(42),d=o.n(m),f=o(0),b=o(1),p=o.n(b),y=o(3),v=o(48),_=Object(v.applyFilters)("woocommerce_admin_stock_report_filters",[{label:Object(y.__)("Show","woocommerce-admin"),staticParams:[],param:"type",showFilters:function(){return!0},filters:[{label:Object(y.__)("All Products","woocommerce-admin"),value:"all"},{label:Object(y.__)("Out of Stock","woocommerce-admin"),value:"outofstock"},{label:Object(y.__)("Low Stock","woocommerce-admin"),value:"lowstock"},{label:Object(y.__)("In Stock","woocommerce-admin"),value:"instock"},{label:Object(y.__)("On Backorder","woocommerce-admin"),value:"onbackorder"}]}]),k=Object(v.applyFilters)("woocommerce_admin_stock_report_advanced_filters",{}),w=o(59),j=o.n(w),O=o(69),h=o(63),g=o(22),S=o(204),R=o(26),C=o(746);var q=o(203);function x(){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}}var E=Object(R.g)("stockStatuses",{}),F=function(e){d()(r,e);var t,o=(t=r,function(){var e,o=s()(t);if(x()){var r=s()(this).constructor;e=Reflect.construct(o,arguments,r)}else e=o.apply(this,arguments);return u()(this,e)});function r(){var e;return n()(this,r),(e=o.call(this)).getHeadersContent=e.getHeadersContent.bind(j()(e)),e.getRowsContent=e.getRowsContent.bind(j()(e)),e.getSummary=e.getSummary.bind(j()(e)),e}return a()(r,[{key:"getHeadersContent",value:function(){return[{label:Object(y.__)("Product / Variation","woocommerce-admin"),key:"title",required:!0,isLeftAligned:!0,isSortable:!0},{label:Object(y.__)("SKU","woocommerce-admin"),key:"sku",isSortable:!0},{label:Object(y.__)("Status","woocommerce-admin"),key:"stock_status",isSortable:!0,defaultSort:!0},{label:Object(y.__)("Stock","woocommerce-admin"),key:"stock_quantity",isSortable:!0}]}},{key:"getRowsContent",value:function(e){var t=this,o=this.props.query,r=Object(g.getPersistedQuery)(o);return e.map((function(e){var o,n,c,a=e.id,i=e.manage_stock,u=e.parent_id,l=e.sku,s=e.stock_quantity,m=e.stock_status,d=e.low_stock_amount,b=Object(O.decodeEntities)(e.name),p=Object(g.getNewPath)(r,"/analytics/products",{filter:"single_product",products:u||a}),v=Object(f.createElement)(h.Link,{href:p,type:"wc-admin"},b),_=Object(R.f)("post.php?action=edit&post="+(u||a));return[{display:v,value:b},{display:l,value:l},{display:(o=m,c=d,(n=s)&&o&&n<=c==="instock"?Object(f.createElement)(h.Link,{href:_,type:"wp-admin"},Object(y._x)("Low","Indication of a low quantity","woocommerce-admin")):Object(f.createElement)(h.Link,{href:_,type:"wp-admin"},E[m])),value:m},{display:i?Object(S.formatValue)(t.context.getCurrency(),"number",s):Object(y.__)("N/A","woocommerce-admin"),value:s}]}))}},{key:"getSummary",value:function(e){var t=e.products,o=void 0===t?0:t,r=e.outofstock,n=void 0===r?0:r,c=e.lowstock,a=void 0===c?0:c,i=e.instock,u=void 0===i?0:i,l=e.onbackorder,s=void 0===l?0:l,m=this.context.getCurrency();return[{label:Object(y._n)("product","products",o,"woocommerce-admin"),value:Object(S.formatValue)(m,"number",o)},{label:Object(y.__)("out of stock",n,"woocommerce-admin"),value:Object(S.formatValue)(m,"number",n)},{label:Object(y.__)("low stock",a,"woocommerce-admin"),value:Object(S.formatValue)("currency, number",a)},{label:Object(y.__)("on backorder",s,"woocommerce-admin"),value:Object(S.formatValue)(m,"number",s)},{label:Object(y.__)("in stock",u,"woocommerce-admin"),value:Object(S.formatValue)(m,"number",u)}]}},{key:"render",value:function(){var e=this.props,t=e.advancedFilters,o=e.filters,r=e.query;return Object(f.createElement)(C.a,{endpoint:"stock",getHeadersContent:this.getHeadersContent,getRowsContent:this.getRowsContent,getSummary:this.getSummary,summaryFields:["products","outofstock","lowstock","instock","onbackorder"],query:r,tableQuery:{orderby:r.orderby||"stock_status",order:r.order||"asc",type:r.type||"all"},title:Object(y.__)("Stock","woocommerce-admin"),filters:o,advancedFilters:t})}}]),r}(f.Component);F.contextType=q.a;var P=F,V=o(745);function L(){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}}var A=function(e){d()(r,e);var t,o=(t=r,function(){var e,o=s()(t);if(L()){var r=s()(this).constructor;e=Reflect.construct(o,arguments,r)}else e=o.apply(this,arguments);return u()(this,e)});function r(){return n()(this,r),o.apply(this,arguments)}return a()(r,[{key:"render",value:function(){var e=this.props,t=e.query,o=e.path;return Object(f.createElement)(f.Fragment,null,Object(f.createElement)(V.a,{query:t,path:o,showDatePicker:!1,filters:_,advancedFilters:k,report:"stock"}),Object(f.createElement)(P,{query:t,filters:_,advancedFilters:k}))}}]),r}(f.Component);A.propTypes={query:p.a.object.isRequired}},749:function(e,t,o){var r=o(750),n=o(751),c=o(425),a=o(752);e.exports=function(e,t){return r(e)||n(e,t)||c(e,t)||a()}},750:function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},751:function(e,t){e.exports=function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var o=[],r=!0,n=!1,c=void 0;try{for(var a,i=e[Symbol.iterator]();!(r=(a=i.next()).done)&&(o.push(a.value),!t||o.length!==t);r=!0);}catch(e){n=!0,c=e}finally{try{r||null==i.return||i.return()}finally{if(n)throw c}}return o}}},752:function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}}}]);
\ No newline at end of file
diff --git a/dist/chunks/analytics-report-taxes.6ab663abefa97569bb56.js b/dist/chunks/analytics-report-taxes.6ab663abefa97569bb56.js
new file mode 100644
index 00000000000..9271c617827
--- /dev/null
+++ b/dist/chunks/analytics-report-taxes.6ab663abefa97569bb56.js
@@ -0,0 +1,1521 @@
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[17],{
+
+/***/ 728:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+// ESM COMPAT FLAG
+__webpack_require__.r(__webpack_exports__);
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, "default", function() { return /* binding */ taxes_TaxesReport; });
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js
+var defineProperty = __webpack_require__(15);
+var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js
+var classCallCheck = __webpack_require__(41);
+var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js
+var createClass = __webpack_require__(40);
+var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(44);
+var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(29);
+var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js
+var inherits = __webpack_require__(42);
+var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: ./node_modules/prop-types/index.js
+var prop_types = __webpack_require__(1);
+var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
+
+// EXTERNAL MODULE: external {"this":["wp","i18n"]}
+var external_this_wp_i18n_ = __webpack_require__(3);
+
+// EXTERNAL MODULE: ./client/analytics/report/taxes/config.js
+var config = __webpack_require__(766);
+
+// EXTERNAL MODULE: ./client/lib/get-selected-chart/index.js
+var get_selected_chart = __webpack_require__(743);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-chart/index.js + 1 modules
+var report_chart = __webpack_require__(741);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-summary/index.js
+var report_summary = __webpack_require__(744);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/assertThisInitialized.js
+var assertThisInitialized = __webpack_require__(59);
+var assertThisInitialized_default = /*#__PURE__*/__webpack_require__.n(assertThisInitialized);
+
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__(2);
+
+// EXTERNAL MODULE: external {"this":["wc","components"]}
+var external_this_wc_components_ = __webpack_require__(63);
+
+// EXTERNAL MODULE: external {"this":["wc","navigation"]}
+var external_this_wc_navigation_ = __webpack_require__(22);
+
+// EXTERNAL MODULE: ./client/analytics/report/taxes/utils.js
+var utils = __webpack_require__(740);
+
+// EXTERNAL MODULE: external {"this":["wc","number"]}
+var external_this_wc_number_ = __webpack_require__(204);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-table/index.js + 2 modules
+var report_table = __webpack_require__(746);
+
+// EXTERNAL MODULE: ./client/lib/currency-context.js
+var currency_context = __webpack_require__(203);
+
+// CONCATENATED MODULE: ./client/analytics/report/taxes/table.js
+
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var table_TaxesReportTable = /*#__PURE__*/function (_Component) {
+ inherits_default()(TaxesReportTable, _Component);
+
+ var _super = _createSuper(TaxesReportTable);
+
+ function TaxesReportTable() {
+ var _this;
+
+ classCallCheck_default()(this, TaxesReportTable);
+
+ _this = _super.call(this);
+ _this.getHeadersContent = _this.getHeadersContent.bind(assertThisInitialized_default()(_this));
+ _this.getRowsContent = _this.getRowsContent.bind(assertThisInitialized_default()(_this));
+ _this.getSummary = _this.getSummary.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(TaxesReportTable, [{
+ key: "getHeadersContent",
+ value: function getHeadersContent() {
+ return [{
+ label: Object(external_this_wp_i18n_["__"])('Tax Code', 'woocommerce-admin'),
+ key: 'tax_code',
+ required: true,
+ isLeftAligned: true,
+ isSortable: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Rate', 'woocommerce-admin'),
+ key: 'rate',
+ isSortable: true,
+ isNumeric: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Total Tax', 'woocommerce-admin'),
+ key: 'total_tax',
+ isSortable: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Order Tax', 'woocommerce-admin'),
+ key: 'order_tax',
+ isSortable: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Shipping Tax', 'woocommerce-admin'),
+ key: 'shipping_tax',
+ isSortable: true
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('Orders', 'woocommerce-admin'),
+ key: 'orders_count',
+ required: true,
+ defaultSort: true,
+ isSortable: true,
+ isNumeric: true
+ }];
+ }
+ }, {
+ key: "getRowsContent",
+ value: function getRowsContent(taxes) {
+ var _this2 = this;
+
+ var _this$context = this.context,
+ renderCurrency = _this$context.render,
+ getCurrencyFormatDecimal = _this$context.formatDecimal,
+ getCurrency = _this$context.getCurrency;
+ return Object(external_lodash_["map"])(taxes, function (tax) {
+ var query = _this2.props.query;
+ var orderTax = tax.order_tax,
+ ordersCount = tax.orders_count,
+ taxRate = tax.tax_rate,
+ taxRateId = tax.tax_rate_id,
+ totalTax = tax.total_tax,
+ shippingTax = tax.shipping_tax;
+ var taxCode = Object(utils["a" /* getTaxCode */])(tax);
+ var persistedQuery = Object(external_this_wc_navigation_["getPersistedQuery"])(query);
+ var ordersTaxLink = Object(external_this_wc_navigation_["getNewPath"])(persistedQuery, '/analytics/orders', {
+ filter: 'advanced',
+ tax_rate_includes: taxRateId
+ });
+ var taxLink = Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: ordersTaxLink,
+ type: "wc-admin"
+ }, taxCode);
+ return [{
+ display: taxLink,
+ value: taxCode
+ }, {
+ display: taxRate.toFixed(2) + '%',
+ value: taxRate
+ }, {
+ display: renderCurrency(totalTax),
+ value: getCurrencyFormatDecimal(totalTax)
+ }, {
+ display: renderCurrency(orderTax),
+ value: getCurrencyFormatDecimal(orderTax)
+ }, {
+ display: renderCurrency(shippingTax),
+ value: getCurrencyFormatDecimal(shippingTax)
+ }, {
+ display: Object(external_this_wc_number_["formatValue"])(getCurrency(), 'number', ordersCount),
+ value: ordersCount
+ }];
+ });
+ }
+ }, {
+ key: "getSummary",
+ value: function getSummary(totals) {
+ var _totals$tax_codes = totals.tax_codes,
+ taxesCodes = _totals$tax_codes === void 0 ? 0 : _totals$tax_codes,
+ _totals$total_tax = totals.total_tax,
+ totalTax = _totals$total_tax === void 0 ? 0 : _totals$total_tax,
+ _totals$order_tax = totals.order_tax,
+ orderTax = _totals$order_tax === void 0 ? 0 : _totals$order_tax,
+ _totals$shipping_tax = totals.shipping_tax,
+ shippingTax = _totals$shipping_tax === void 0 ? 0 : _totals$shipping_tax,
+ _totals$orders_count = totals.orders_count,
+ ordersCount = _totals$orders_count === void 0 ? 0 : _totals$orders_count;
+ var _this$context2 = this.context,
+ formatCurrency = _this$context2.formatCurrency,
+ getCurrency = _this$context2.getCurrency;
+ var currency = getCurrency();
+ return [{
+ label: Object(external_this_wp_i18n_["_n"])('tax code', 'tax codes', taxesCodes, 'woocommerce-admin'),
+ value: Object(external_this_wc_number_["formatValue"])(currency, 'number', taxesCodes)
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('total tax', 'woocommerce-admin'),
+ value: formatCurrency(totalTax)
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('order tax', 'woocommerce-admin'),
+ value: formatCurrency(orderTax)
+ }, {
+ label: Object(external_this_wp_i18n_["__"])('shipping tax', 'woocommerce-admin'),
+ value: formatCurrency(shippingTax)
+ }, {
+ label: Object(external_this_wp_i18n_["_n"])('order', 'orders', ordersCount, 'woocommerce-admin'),
+ value: Object(external_this_wc_number_["formatValue"])(currency, 'number', ordersCount)
+ }];
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ advancedFilters = _this$props.advancedFilters,
+ filters = _this$props.filters,
+ isRequesting = _this$props.isRequesting,
+ query = _this$props.query;
+ return Object(external_this_wp_element_["createElement"])(report_table["a" /* default */], {
+ compareBy: "taxes",
+ endpoint: "taxes",
+ getHeadersContent: this.getHeadersContent,
+ getRowsContent: this.getRowsContent,
+ getSummary: this.getSummary,
+ summaryFields: ['tax_codes', 'total_tax', 'order_tax', 'shipping_tax', 'orders_count'],
+ isRequesting: isRequesting,
+ itemIdField: "tax_rate_id",
+ query: query,
+ searchBy: "taxes",
+ tableQuery: {
+ orderby: query.orderby || 'tax_rate_id'
+ },
+ title: Object(external_this_wp_i18n_["__"])('Taxes', 'woocommerce-admin'),
+ columnPrefsKey: "taxes_report_columns",
+ filters: filters,
+ advancedFilters: advancedFilters
+ });
+ }
+ }]);
+
+ return TaxesReportTable;
+}(external_this_wp_element_["Component"]);
+
+table_TaxesReportTable.contextType = currency_context["a" /* CurrencyContext */];
+/* harmony default export */ var table = (table_TaxesReportTable);
+// EXTERNAL MODULE: ./client/analytics/components/report-filters/index.js
+var report_filters = __webpack_require__(745);
+
+// CONCATENATED MODULE: ./client/analytics/report/taxes/index.js
+
+
+
+
+
+
+
+
+function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+function taxes_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (taxes_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function taxes_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+
+var taxes_TaxesReport = /*#__PURE__*/function (_Component) {
+ inherits_default()(TaxesReport, _Component);
+
+ var _super = taxes_createSuper(TaxesReport);
+
+ function TaxesReport() {
+ classCallCheck_default()(this, TaxesReport);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(TaxesReport, [{
+ key: "getChartMeta",
+ value: function getChartMeta() {
+ var query = this.props.query;
+ var isCompareTaxView = query.filter === 'compare-taxes';
+ var mode = isCompareTaxView ? 'item-comparison' : 'time-comparison';
+
+ var itemsLabel = Object(external_this_wp_i18n_["__"])('%d taxes', 'woocommerce-admin');
+
+ return {
+ itemsLabel: itemsLabel,
+ mode: mode
+ };
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ isRequesting = _this$props.isRequesting,
+ query = _this$props.query,
+ path = _this$props.path;
+
+ var _this$getChartMeta = this.getChartMeta(),
+ mode = _this$getChartMeta.mode,
+ itemsLabel = _this$getChartMeta.itemsLabel;
+
+ var chartQuery = _objectSpread({}, query);
+
+ if (mode === 'item-comparison') {
+ chartQuery.segmentby = 'tax_rate_id';
+ }
+
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(report_filters["a" /* default */], {
+ query: query,
+ path: path,
+ filters: config["c" /* filters */],
+ advancedFilters: config["a" /* advancedFilters */],
+ report: "taxes"
+ }), Object(external_this_wp_element_["createElement"])(report_summary["a" /* default */], {
+ charts: config["b" /* charts */],
+ endpoint: "taxes",
+ isRequesting: isRequesting,
+ query: chartQuery,
+ selectedChart: Object(get_selected_chart["a" /* default */])(query.chart, config["b" /* charts */]),
+ filters: config["c" /* filters */],
+ advancedFilters: config["a" /* advancedFilters */]
+ }), Object(external_this_wp_element_["createElement"])(report_chart["a" /* default */], {
+ charts: config["b" /* charts */],
+ filters: config["c" /* filters */],
+ advancedFilters: config["a" /* advancedFilters */],
+ mode: mode,
+ endpoint: "taxes",
+ query: chartQuery,
+ path: path,
+ isRequesting: isRequesting,
+ itemsLabel: itemsLabel,
+ selectedChart: Object(get_selected_chart["a" /* default */])(query.chart, config["b" /* charts */])
+ }), Object(external_this_wp_element_["createElement"])(table, {
+ isRequesting: isRequesting,
+ query: query,
+ filters: config["c" /* filters */],
+ advancedFilters: config["a" /* advancedFilters */]
+ }));
+ }
+ }]);
+
+ return TaxesReport;
+}(external_this_wp_element_["Component"]);
+
+
+taxes_TaxesReport.propTypes = {
+ query: prop_types_default.a.object.isRequired
+};
+
+/***/ }),
+
+/***/ 739:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return getRequestByIdString; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getCategoryLabels; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getCouponLabels; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return getCustomerLabels; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return getProductLabels; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return getTaxRateLabels; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return getVariationLabels; });
+/* harmony import */ var _wordpress_url__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(30);
+/* harmony import */ var _wordpress_url__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_url__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20);
+/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _woocommerce_navigation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(22);
+/* harmony import */ var _woocommerce_navigation__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var analytics_report_taxes_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(740);
+/* harmony import */ var wc_api_constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(24);
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+/**
+ * Get a function that accepts ids as they are found in url parameter and
+ * returns a promise with an optional method applied to results
+ *
+ * @param {string|Function} path - api path string or a function of the query returning api path string
+ * @param {Function} [handleData] - function applied to each iteration of data
+ * @return {Function} - a function of ids returning a promise
+ */
+
+function getRequestByIdString(path) {
+ var handleData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : lodash__WEBPACK_IMPORTED_MODULE_2__["identity"];
+ return function () {
+ var queryString = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
+ var query = arguments.length > 1 ? arguments[1] : undefined;
+ var pathString = typeof path === 'function' ? path(query) : path;
+ var idList = Object(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_3__["getIdsFromQuery"])(queryString);
+
+ if (idList.length < 1) {
+ return Promise.resolve([]);
+ }
+
+ var payload = {
+ include: idList.join(','),
+ per_page: idList.length
+ };
+ return _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_1___default()({
+ path: Object(_wordpress_url__WEBPACK_IMPORTED_MODULE_0__["addQueryArgs"])(pathString, payload)
+ }).then(function (data) {
+ return data.map(handleData);
+ });
+ };
+}
+var getCategoryLabels = getRequestByIdString(wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + '/products/categories', function (category) {
+ return {
+ key: category.id,
+ label: category.name
+ };
+});
+var getCouponLabels = getRequestByIdString(wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + '/coupons', function (coupon) {
+ return {
+ key: coupon.id,
+ label: coupon.code
+ };
+});
+var getCustomerLabels = getRequestByIdString(wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + '/customers', function (customer) {
+ return {
+ key: customer.id,
+ label: customer.name
+ };
+});
+var getProductLabels = getRequestByIdString(wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + '/products', function (product) {
+ return {
+ key: product.id,
+ label: product.name
+ };
+});
+var getTaxRateLabels = getRequestByIdString(wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + '/taxes', function (taxRate) {
+ return {
+ key: taxRate.id,
+ label: Object(analytics_report_taxes_utils__WEBPACK_IMPORTED_MODULE_4__[/* getTaxCode */ "a"])(taxRate)
+ };
+});
+var getVariationLabels = getRequestByIdString(function (query) {
+ return wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + "/products/".concat(query.products, "/variations");
+}, function (variation) {
+ return {
+ key: variation.id,
+ label: variation.attributes.reduce(function (desc, attribute, index, arr) {
+ return desc + "".concat(attribute.option).concat(arr.length === index + 1 ? '' : ', ');
+ }, '')
+ };
+});
+
+/***/ }),
+
+/***/ 740:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getTaxCode; });
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__);
+/**
+ * External dependencies
+ */
+
+function getTaxCode(tax) {
+ return [tax.country, tax.state, tax.name || Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('TAX', 'woocommerce-admin'), tax.priority].map(function (item) {
+ return item.toString().toUpperCase().trim();
+ }).filter(Boolean).join('-');
+}
+
+/***/ }),
+
+/***/ 741:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// UNUSED EXPORTS: ReportChart
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js
+var defineProperty = __webpack_require__(15);
+var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js
+var classCallCheck = __webpack_require__(41);
+var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js
+var createClass = __webpack_require__(40);
+var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(44);
+var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(29);
+var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js
+var inherits = __webpack_require__(42);
+var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: external {"this":["wp","i18n"]}
+var external_this_wp_i18n_ = __webpack_require__(3);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/compose/build-module/higher-order/compose.js
+var compose = __webpack_require__(256);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/date/build-module/index.js
+var build_module = __webpack_require__(172);
+
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__(2);
+
+// EXTERNAL MODULE: ./node_modules/prop-types/index.js
+var prop_types = __webpack_require__(1);
+var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
+
+// EXTERNAL MODULE: ./client/lib/date.js
+var date = __webpack_require__(104);
+
+// EXTERNAL MODULE: external {"this":["wc","components"]}
+var external_this_wc_components_ = __webpack_require__(63);
+
+// EXTERNAL MODULE: external {"this":["wc","data"]}
+var external_this_wc_data_ = __webpack_require__(51);
+
+// EXTERNAL MODULE: ./client/lib/currency-context.js
+var currency_context = __webpack_require__(203);
+
+// EXTERNAL MODULE: ./client/wc-api/reports/utils.js
+var utils = __webpack_require__(738);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-error/index.js
+var report_error = __webpack_require__(261);
+
+// EXTERNAL MODULE: ./client/wc-api/with-select.js
+var with_select = __webpack_require__(101);
+
+// EXTERNAL MODULE: external {"this":["wc","navigation"]}
+var external_this_wc_navigation_ = __webpack_require__(22);
+
+// CONCATENATED MODULE: ./client/analytics/components/report-chart/utils.js
+/**
+ * External dependencies
+ */
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+var DEFAULT_FILTER = 'all';
+function getSelectedFilter(filters, query) {
+ var selectedFilterArgs = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
+
+ if (!filters || filters.length === 0) {
+ return null;
+ }
+
+ var clonedFilters = filters.slice(0);
+ var filterConfig = clonedFilters.pop();
+
+ if (filterConfig.showFilters(query, selectedFilterArgs)) {
+ var allFilters = Object(external_this_wc_navigation_["flattenFilters"])(filterConfig.filters);
+ var value = query[filterConfig.param] || filterConfig.defaultValue || DEFAULT_FILTER;
+ return Object(external_lodash_["find"])(allFilters, {
+ value: value
+ });
+ }
+
+ return getSelectedFilter(clonedFilters, query, selectedFilterArgs);
+}
+function getChartMode(selectedFilter, query) {
+ if (selectedFilter && query) {
+ var selectedFilterParam = Object(external_lodash_["get"])(selectedFilter, ['settings', 'param']);
+
+ if (!selectedFilterParam || Object.keys(query).includes(selectedFilterParam)) {
+ return Object(external_lodash_["get"])(selectedFilter, ['chartMode']);
+ }
+ }
+
+ return null;
+}
+// CONCATENATED MODULE: ./client/analytics/components/report-chart/index.js
+
+
+
+
+
+
+
+
+function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+function _createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+/**
+ * Component that renders the chart in reports.
+ */
+
+var report_chart_ReportChart = /*#__PURE__*/function (_Component) {
+ inherits_default()(ReportChart, _Component);
+
+ var _super = _createSuper(ReportChart);
+
+ function ReportChart() {
+ classCallCheck_default()(this, ReportChart);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(ReportChart, [{
+ key: "shouldComponentUpdate",
+ value: function shouldComponentUpdate(nextProps) {
+ if (nextProps.isRequesting !== this.props.isRequesting || nextProps.primaryData.isRequesting !== this.props.primaryData.isRequesting || nextProps.secondaryData.isRequesting !== this.props.secondaryData.isRequesting || !Object(external_lodash_["isEqual"])(nextProps.query, this.props.query)) {
+ return true;
+ }
+
+ return false;
+ }
+ }, {
+ key: "getItemChartData",
+ value: function getItemChartData() {
+ var _this$props = this.props,
+ primaryData = _this$props.primaryData,
+ selectedChart = _this$props.selectedChart;
+ var chartData = primaryData.data.intervals.map(function (interval) {
+ var intervalData = {};
+ interval.subtotals.segments.forEach(function (segment) {
+ if (segment.segment_label) {
+ var label = intervalData[segment.segment_label] ? segment.segment_label + ' (#' + segment.segment_id + ')' : segment.segment_label;
+ intervalData[segment.segment_id] = {
+ label: label,
+ value: segment.subtotals[selectedChart.key] || 0
+ };
+ }
+ });
+ return _objectSpread({
+ date: Object(build_module["a" /* format */])('Y-m-d\\TH:i:s', interval.date_start)
+ }, intervalData);
+ });
+ return chartData;
+ }
+ }, {
+ key: "getTimeChartData",
+ value: function getTimeChartData() {
+ var _this$props2 = this.props,
+ query = _this$props2.query,
+ primaryData = _this$props2.primaryData,
+ secondaryData = _this$props2.secondaryData,
+ selectedChart = _this$props2.selectedChart,
+ defaultDateRange = _this$props2.defaultDateRange;
+ var currentInterval = Object(date["i" /* getIntervalForQuery */])(query);
+
+ var _getCurrentDates = Object(date["f" /* getCurrentDates */])(query, defaultDateRange),
+ primary = _getCurrentDates.primary,
+ secondary = _getCurrentDates.secondary;
+
+ var chartData = primaryData.data.intervals.map(function (interval, index) {
+ var secondaryDate = Object(date["j" /* getPreviousDate */])(interval.date_start, primary.after, secondary.after, query.compare, currentInterval);
+ var secondaryInterval = secondaryData.data.intervals[index];
+ return {
+ date: Object(build_module["a" /* format */])('Y-m-d\\TH:i:s', interval.date_start),
+ primary: {
+ label: "".concat(primary.label, " (").concat(primary.range, ")"),
+ labelDate: interval.date_start,
+ value: interval.subtotals[selectedChart.key] || 0
+ },
+ secondary: {
+ label: "".concat(secondary.label, " (").concat(secondary.range, ")"),
+ labelDate: secondaryDate.format('YYYY-MM-DD HH:mm:ss'),
+ value: secondaryInterval && secondaryInterval.subtotals[selectedChart.key] || 0
+ }
+ };
+ });
+ return chartData;
+ }
+ }, {
+ key: "getTimeChartTotals",
+ value: function getTimeChartTotals() {
+ var _this$props3 = this.props,
+ primaryData = _this$props3.primaryData,
+ secondaryData = _this$props3.secondaryData,
+ selectedChart = _this$props3.selectedChart;
+ return {
+ primary: Object(external_lodash_["get"])(primaryData, ['data', 'totals', selectedChart.key], null),
+ secondary: Object(external_lodash_["get"])(secondaryData, ['data', 'totals', selectedChart.key], null)
+ };
+ }
+ }, {
+ key: "renderChart",
+ value: function renderChart(mode, isRequesting, chartData, legendTotals) {
+ var _this$props4 = this.props,
+ emptySearchResults = _this$props4.emptySearchResults,
+ filterParam = _this$props4.filterParam,
+ interactiveLegend = _this$props4.interactiveLegend,
+ itemsLabel = _this$props4.itemsLabel,
+ legendPosition = _this$props4.legendPosition,
+ path = _this$props4.path,
+ query = _this$props4.query,
+ selectedChart = _this$props4.selectedChart,
+ showHeaderControls = _this$props4.showHeaderControls,
+ primaryData = _this$props4.primaryData;
+ var currentInterval = Object(date["i" /* getIntervalForQuery */])(query);
+ var allowedIntervals = Object(date["d" /* getAllowedIntervalsForQuery */])(query);
+ var formats = Object(date["g" /* getDateFormatsForInterval */])(currentInterval, primaryData.data.intervals.length);
+ var emptyMessage = emptySearchResults ? Object(external_this_wp_i18n_["__"])('No data for the current search', 'woocommerce-admin') : Object(external_this_wp_i18n_["__"])('No data for the selected date range', 'woocommerce-admin');
+ var _this$context = this.context,
+ formatCurrency = _this$context.formatCurrency,
+ getCurrency = _this$context.getCurrency;
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Chart"], {
+ allowedIntervals: allowedIntervals,
+ data: chartData,
+ dateParser: '%Y-%m-%dT%H:%M:%S',
+ emptyMessage: emptyMessage,
+ filterParam: filterParam,
+ interactiveLegend: interactiveLegend,
+ interval: currentInterval,
+ isRequesting: isRequesting,
+ itemsLabel: itemsLabel,
+ legendPosition: legendPosition,
+ legendTotals: legendTotals,
+ mode: mode,
+ path: path,
+ query: query,
+ screenReaderFormat: formats.screenReaderFormat,
+ showHeaderControls: showHeaderControls,
+ title: selectedChart.label,
+ tooltipLabelFormat: formats.tooltipLabelFormat,
+ tooltipTitle: mode === 'time-comparison' && selectedChart.label || null,
+ tooltipValueFormat: Object(utils["e" /* getTooltipValueFormat */])(selectedChart.type, formatCurrency),
+ chartType: Object(date["e" /* getChartTypeForQuery */])(query),
+ valueType: selectedChart.type,
+ xFormat: formats.xFormat,
+ x2Format: formats.x2Format,
+ currency: getCurrency()
+ });
+ }
+ }, {
+ key: "renderItemComparison",
+ value: function renderItemComparison() {
+ var _this$props5 = this.props,
+ isRequesting = _this$props5.isRequesting,
+ primaryData = _this$props5.primaryData;
+
+ if (primaryData.isError) {
+ return Object(external_this_wp_element_["createElement"])(report_error["a" /* default */], {
+ isError: true
+ });
+ }
+
+ var isChartRequesting = isRequesting || primaryData.isRequesting;
+ var chartData = this.getItemChartData();
+ return this.renderChart('item-comparison', isChartRequesting, chartData);
+ }
+ }, {
+ key: "renderTimeComparison",
+ value: function renderTimeComparison() {
+ var _this$props6 = this.props,
+ isRequesting = _this$props6.isRequesting,
+ primaryData = _this$props6.primaryData,
+ secondaryData = _this$props6.secondaryData;
+
+ if (!primaryData || primaryData.isError || secondaryData.isError) {
+ return Object(external_this_wp_element_["createElement"])(report_error["a" /* default */], {
+ isError: true
+ });
+ }
+
+ var isChartRequesting = isRequesting || primaryData.isRequesting || secondaryData.isRequesting;
+ var chartData = this.getTimeChartData();
+ var legendTotals = this.getTimeChartTotals();
+ return this.renderChart('time-comparison', isChartRequesting, chartData, legendTotals);
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var mode = this.props.mode;
+
+ if (mode === 'item-comparison') {
+ return this.renderItemComparison();
+ }
+
+ return this.renderTimeComparison();
+ }
+ }]);
+
+ return ReportChart;
+}(external_this_wp_element_["Component"]);
+report_chart_ReportChart.contextType = currency_context["a" /* CurrencyContext */];
+report_chart_ReportChart.propTypes = {
+ /**
+ * Filters available for that report.
+ */
+ filters: prop_types_default.a.array,
+
+ /**
+ * Whether there is an API call running.
+ */
+ isRequesting: prop_types_default.a.bool,
+
+ /**
+ * Label describing the legend items.
+ */
+ itemsLabel: prop_types_default.a.string,
+
+ /**
+ * Allows specifying properties different from the `endpoint` that will be used
+ * to limit the items when there is an active search.
+ */
+ limitProperties: prop_types_default.a.array,
+
+ /**
+ * `items-comparison` (default) or `time-comparison`, this is used to generate correct
+ * ARIA properties.
+ */
+ mode: prop_types_default.a.string,
+
+ /**
+ * Current path
+ */
+ path: prop_types_default.a.string.isRequired,
+
+ /**
+ * Primary data to display in the chart.
+ */
+ primaryData: prop_types_default.a.object,
+
+ /**
+ * The query string represented in object form.
+ */
+ query: prop_types_default.a.object.isRequired,
+
+ /**
+ * Secondary data to display in the chart.
+ */
+ secondaryData: prop_types_default.a.object,
+
+ /**
+ * Properties of the selected chart.
+ */
+ selectedChart: prop_types_default.a.shape({
+ /**
+ * Key of the selected chart.
+ */
+ key: prop_types_default.a.string.isRequired,
+
+ /**
+ * Chart label.
+ */
+ label: prop_types_default.a.string.isRequired,
+
+ /**
+ * Order query argument.
+ */
+ order: prop_types_default.a.oneOf(['asc', 'desc']),
+
+ /**
+ * Order by query argument.
+ */
+ orderby: prop_types_default.a.string,
+
+ /**
+ * Number type for formatting.
+ */
+ type: prop_types_default.a.oneOf(['average', 'number', 'currency']).isRequired
+ }).isRequired
+};
+report_chart_ReportChart.defaultProps = {
+ isRequesting: false,
+ primaryData: {
+ data: {
+ intervals: []
+ },
+ isError: false,
+ isRequesting: false
+ },
+ secondaryData: {
+ data: {
+ intervals: []
+ },
+ isError: false,
+ isRequesting: false
+ }
+};
+/* harmony default export */ var report_chart = __webpack_exports__["a"] = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select, props) {
+ var charts = props.charts,
+ endpoint = props.endpoint,
+ filters = props.filters,
+ isRequesting = props.isRequesting,
+ limitProperties = props.limitProperties,
+ query = props.query,
+ advancedFilters = props.advancedFilters;
+ var limitBy = limitProperties || [endpoint];
+ var selectedFilter = getSelectedFilter(filters, query);
+ var filterParam = Object(external_lodash_["get"])(selectedFilter, ['settings', 'param']);
+ var chartMode = props.mode || getChartMode(selectedFilter, query) || 'time-comparison';
+
+ var _select$getSetting = select(external_this_wc_data_["SETTINGS_STORE_NAME"]).getSetting('wc_admin', 'wcAdminSettings'),
+ defaultDateRange = _select$getSetting.woocommerce_default_date_range;
+
+ var newProps = {
+ mode: chartMode,
+ filterParam: filterParam,
+ defaultDateRange: defaultDateRange
+ };
+
+ if (isRequesting) {
+ return newProps;
+ }
+
+ var hasLimitByParam = limitBy.some(function (item) {
+ return query[item] && query[item].length;
+ });
+
+ if (query.search && !hasLimitByParam) {
+ return _objectSpread({}, newProps, {
+ emptySearchResults: true
+ });
+ }
+
+ var fields = charts && charts.map(function (chart) {
+ return chart.key;
+ });
+ var primaryData = Object(utils["a" /* getReportChartData */])({
+ endpoint: endpoint,
+ dataType: 'primary',
+ query: query,
+ select: select,
+ limitBy: limitBy,
+ filters: filters,
+ advancedFilters: advancedFilters,
+ defaultDateRange: defaultDateRange,
+ fields: fields
+ });
+
+ if (chartMode === 'item-comparison') {
+ return _objectSpread({}, newProps, {
+ primaryData: primaryData
+ });
+ }
+
+ var secondaryData = Object(utils["a" /* getReportChartData */])({
+ endpoint: endpoint,
+ dataType: 'secondary',
+ query: query,
+ select: select,
+ limitBy: limitBy,
+ filters: filters,
+ advancedFilters: advancedFilters,
+ defaultDateRange: defaultDateRange,
+ fields: fields
+ });
+ return _objectSpread({}, newProps, {
+ primaryData: primaryData,
+ secondaryData: secondaryData
+ });
+}))(report_chart_ReportChart));
+
+/***/ }),
+
+/***/ 743:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getSelectedChart; });
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__);
+/**
+ * External dependencies
+ */
+
+/**
+ * Takes a chart name returns the configuration for that chart from and array
+ * of charts. If the chart is not found it will return the first chart.
+ *
+ * @param {string} chartName - the name of the chart to get configuration for
+ * @param {Array} charts - list of charts for a particular report
+ * @return {Object} - chart configuration object
+ */
+
+function getSelectedChart(chartName) {
+ var charts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
+ var chart = Object(lodash__WEBPACK_IMPORTED_MODULE_0__["find"])(charts, {
+ key: chartName
+ });
+
+ if (chart) {
+ return chart;
+ }
+
+ return charts[0];
+}
+
+/***/ }),
+
+/***/ 744:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export ReportSummary */
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(41);
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(40);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(44);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(29);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(42);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(3);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(256);
+/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(1);
+/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);
+/* harmony import */ var lib_date__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(104);
+/* harmony import */ var _woocommerce_navigation__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(22);
+/* harmony import */ var _woocommerce_navigation__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_10__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_11__);
+/* harmony import */ var _woocommerce_number__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(204);
+/* harmony import */ var _woocommerce_number__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_number__WEBPACK_IMPORTED_MODULE_12__);
+/* harmony import */ var _woocommerce_data__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(51);
+/* harmony import */ var _woocommerce_data__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_data__WEBPACK_IMPORTED_MODULE_13__);
+/* harmony import */ var wc_api_reports_utils__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(738);
+/* harmony import */ var analytics_components_report_error__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(261);
+/* harmony import */ var wc_api_with_select__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(101);
+/* harmony import */ var lib_tracks__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(79);
+/* harmony import */ var lib_currency_context__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(203);
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+/**
+ * Component to render summary numbers in reports.
+ */
+
+var ReportSummary = /*#__PURE__*/function (_Component) {
+ _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(ReportSummary, _Component);
+
+ var _super = _createSuper(ReportSummary);
+
+ function ReportSummary() {
+ _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, ReportSummary);
+
+ return _super.apply(this, arguments);
+ }
+
+ _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(ReportSummary, [{
+ key: "formatVal",
+ value: function formatVal(val, type) {
+ var _this$context = this.context,
+ formatCurrency = _this$context.formatCurrency,
+ getCurrency = _this$context.getCurrency;
+ return type === 'currency' ? formatCurrency(val) : Object(_woocommerce_number__WEBPACK_IMPORTED_MODULE_12__["formatValue"])(getCurrency(), type, val);
+ }
+ }, {
+ key: "getValues",
+ value: function getValues(key, type) {
+ var _this$props = this.props,
+ emptySearchResults = _this$props.emptySearchResults,
+ summaryData = _this$props.summaryData;
+ var totals = summaryData.totals;
+ var primaryValue = emptySearchResults ? 0 : totals.primary[key];
+ var secondaryValue = emptySearchResults ? 0 : totals.secondary[key];
+ return {
+ delta: Object(_woocommerce_number__WEBPACK_IMPORTED_MODULE_12__["calculateDelta"])(primaryValue, secondaryValue),
+ prevValue: this.formatVal(secondaryValue, type),
+ value: this.formatVal(primaryValue, type)
+ };
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this = this;
+
+ var _this$props2 = this.props,
+ charts = _this$props2.charts,
+ isRequesting = _this$props2.isRequesting,
+ query = _this$props2.query,
+ selectedChart = _this$props2.selectedChart,
+ summaryData = _this$props2.summaryData,
+ endpoint = _this$props2.endpoint,
+ report = _this$props2.report,
+ defaultDateRange = _this$props2.defaultDateRange;
+ var isError = summaryData.isError,
+ isSummaryDataRequesting = summaryData.isRequesting;
+
+ if (isError) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(analytics_components_report_error__WEBPACK_IMPORTED_MODULE_15__[/* default */ "a"], {
+ isError: true
+ });
+ }
+
+ if (isRequesting || isSummaryDataRequesting) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_11__["SummaryListPlaceholder"], {
+ numberOfItems: charts.length
+ });
+ }
+
+ var _getDateParamsFromQue = Object(lib_date__WEBPACK_IMPORTED_MODULE_9__[/* getDateParamsFromQuery */ "h"])(query, defaultDateRange),
+ compare = _getDateParamsFromQue.compare;
+
+ var renderSummaryNumbers = function renderSummaryNumbers(_ref) {
+ var onToggle = _ref.onToggle;
+ return charts.map(function (chart) {
+ var key = chart.key,
+ order = chart.order,
+ orderby = chart.orderby,
+ label = chart.label,
+ type = chart.type;
+ var newPath = {
+ chart: key
+ };
+
+ if (orderby) {
+ newPath.orderby = orderby;
+ }
+
+ if (order) {
+ newPath.order = order;
+ }
+
+ var href = Object(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_10__["getNewPath"])(newPath);
+ var isSelected = selectedChart.key === key;
+
+ var _this$getValues = _this.getValues(key, type),
+ delta = _this$getValues.delta,
+ prevValue = _this$getValues.prevValue,
+ value = _this$getValues.value;
+
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_11__["SummaryNumber"], {
+ key: key,
+ delta: delta,
+ href: href,
+ label: label,
+ prevLabel: compare === 'previous_period' ? Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('Previous Period:', 'woocommerce-admin') : Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('Previous Year:', 'woocommerce-admin'),
+ prevValue: prevValue,
+ selected: isSelected,
+ value: value,
+ onLinkClickCallback: function onLinkClickCallback() {
+ // Wider than a certain breakpoint, there is no dropdown so avoid calling onToggle.
+ if (onToggle) {
+ onToggle();
+ }
+
+ Object(lib_tracks__WEBPACK_IMPORTED_MODULE_17__[/* recordEvent */ "b"])('analytics_chart_tab_click', {
+ report: report || endpoint,
+ key: key
+ });
+ }
+ });
+ });
+ };
+
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_11__["SummaryList"], null, renderSummaryNumbers);
+ }
+ }]);
+
+ return ReportSummary;
+}(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["Component"]);
+ReportSummary.propTypes = {
+ /**
+ * Properties of all the charts available for that report.
+ */
+ charts: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.array.isRequired,
+
+ /**
+ * The endpoint to use in API calls to populate the Summary Numbers.
+ * For example, if `taxes` is provided, data will be fetched from the report
+ * `taxes` endpoint (ie: `/wc-analytics/reports/taxes/stats`). If the provided endpoint
+ * doesn't exist, an error will be shown to the user with `ReportError`.
+ */
+ endpoint: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string.isRequired,
+
+ /**
+ * Allows specifying properties different from the `endpoint` that will be used
+ * to limit the items when there is an active search.
+ */
+ limitProperties: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.array,
+
+ /**
+ * The query string represented in object form.
+ */
+ query: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.object.isRequired,
+
+ /**
+ * Whether there is an API call running.
+ */
+ isRequesting: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.bool,
+
+ /**
+ * Properties of the selected chart.
+ */
+ selectedChart: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.shape({
+ /**
+ * Key of the selected chart.
+ */
+ key: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string.isRequired,
+
+ /**
+ * Chart label.
+ */
+ label: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string.isRequired,
+
+ /**
+ * Order query argument.
+ */
+ order: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.oneOf(['asc', 'desc']),
+
+ /**
+ * Order by query argument.
+ */
+ orderby: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string,
+
+ /**
+ * Number type for formatting.
+ */
+ type: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.oneOf(['average', 'number', 'currency']).isRequired
+ }).isRequired,
+
+ /**
+ * Data to display in the SummaryNumbers.
+ */
+ summaryData: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.object,
+
+ /**
+ * Report name, if different than the endpoint.
+ */
+ report: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string
+};
+ReportSummary.defaultProps = {
+ summaryData: {
+ totals: {
+ primary: {},
+ secondary: {}
+ },
+ isError: false,
+ isRequesting: false
+ }
+};
+ReportSummary.contextType = lib_currency_context__WEBPACK_IMPORTED_MODULE_18__[/* CurrencyContext */ "a"];
+/* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_7__[/* default */ "a"])(Object(wc_api_with_select__WEBPACK_IMPORTED_MODULE_16__[/* default */ "a"])(function (select, props) {
+ var charts = props.charts,
+ endpoint = props.endpoint,
+ isRequesting = props.isRequesting,
+ limitProperties = props.limitProperties,
+ query = props.query,
+ filters = props.filters,
+ advancedFilters = props.advancedFilters;
+ var limitBy = limitProperties || [endpoint];
+
+ if (isRequesting) {
+ return {};
+ }
+
+ var hasLimitByParam = limitBy.some(function (item) {
+ return query[item] && query[item].length;
+ });
+
+ if (query.search && !hasLimitByParam) {
+ return {
+ emptySearchResults: true
+ };
+ }
+
+ var fields = charts && charts.map(function (chart) {
+ return chart.key;
+ });
+
+ var _select$getSetting = select(_woocommerce_data__WEBPACK_IMPORTED_MODULE_13__["SETTINGS_STORE_NAME"]).getSetting('wc_admin', 'wcAdminSettings'),
+ defaultDateRange = _select$getSetting.woocommerce_default_date_range;
+
+ var summaryData = Object(wc_api_reports_utils__WEBPACK_IMPORTED_MODULE_14__[/* getSummaryNumbers */ "d"])({
+ endpoint: endpoint,
+ query: query,
+ select: select,
+ limitBy: limitBy,
+ filters: filters,
+ advancedFilters: advancedFilters,
+ defaultDateRange: defaultDateRange,
+ fields: fields
+ });
+ return {
+ summaryData: summaryData,
+ defaultDateRange: defaultDateRange
+ };
+}))(ReportSummary));
+
+/***/ }),
+
+/***/ 766:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return charts; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return filters; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return advancedFilters; });
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(48);
+/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var lib_async_requests__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(739);
+/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(740);
+/* harmony import */ var wc_api_constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(24);
+/**
+ * External dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var TAXES_REPORT_CHARTS_FILTER = 'woocommerce_admin_taxes_report_charts';
+var TAXES_REPORT_FILTERS_FILTER = 'woocommerce_admin_taxes_report_filters';
+var TAXES_REPORT_ADVANCED_FILTERS_FILTER = 'woocommerce_admin_taxes_report_advanced_filters';
+var charts = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__["applyFilters"])(TAXES_REPORT_CHARTS_FILTER, [{
+ key: 'total_tax',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Total Tax', 'woocommerce-admin'),
+ order: 'desc',
+ orderby: 'total_tax',
+ type: 'currency'
+}, {
+ key: 'order_tax',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Order Tax', 'woocommerce-admin'),
+ order: 'desc',
+ orderby: 'order_tax',
+ type: 'currency'
+}, {
+ key: 'shipping_tax',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Shipping Tax', 'woocommerce-admin'),
+ order: 'desc',
+ orderby: 'shipping_tax',
+ type: 'currency'
+}, {
+ key: 'orders_count',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Orders', 'woocommerce-admin'),
+ order: 'desc',
+ orderby: 'orders_count',
+ type: 'number'
+}]);
+var filters = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__["applyFilters"])(TAXES_REPORT_FILTERS_FILTER, [{
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Show', 'woocommerce-admin'),
+ staticParams: ['chart'],
+ param: 'filter',
+ showFilters: function showFilters() {
+ return true;
+ },
+ filters: [{
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('All Taxes', 'woocommerce-admin'),
+ value: 'all'
+ }, {
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Comparison', 'woocommerce-admin'),
+ value: 'compare-taxes',
+ chartMode: 'item-comparison',
+ settings: {
+ type: 'taxes',
+ param: 'taxes',
+ getLabels: Object(lib_async_requests__WEBPACK_IMPORTED_MODULE_2__[/* getRequestByIdString */ "e"])(wc_api_constants__WEBPACK_IMPORTED_MODULE_4__[/* NAMESPACE */ "c"] + '/taxes', function (tax) {
+ return {
+ id: tax.id,
+ label: Object(_utils__WEBPACK_IMPORTED_MODULE_3__[/* getTaxCode */ "a"])(tax)
+ };
+ }),
+ labels: {
+ helpText: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Check at least two tax codes below to compare', 'woocommerce-admin'),
+ placeholder: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Search for tax codes to compare', 'woocommerce-admin'),
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Compare Tax Codes', 'woocommerce-admin'),
+ update: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Compare', 'woocommerce-admin')
+ }
+ }
+ }]
+}]);
+var advancedFilters = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__["applyFilters"])(TAXES_REPORT_ADVANCED_FILTERS_FILTER, {});
+
+/***/ })
+
+}]);
\ No newline at end of file
diff --git a/dist/chunks/analytics-report-taxes.6ab663abefa97569bb56.min.js b/dist/chunks/analytics-report-taxes.6ab663abefa97569bb56.min.js
new file mode 100644
index 00000000000..b15a136a54f
--- /dev/null
+++ b/dist/chunks/analytics-report-taxes.6ab663abefa97569bb56.min.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{728:function(e,t,r){"use strict";r.r(t),r.d(t,"default",(function(){return N}));var a=r(15),n=r.n(a),o=r(41),i=r.n(o),c=r(40),s=r.n(c),u=r(44),l=r.n(u),d=r(29),m=r.n(d),p=r(42),f=r.n(p),y=r(0),b=r(1),h=r.n(b),g=r(3),v=r(766),O=r(743),_=r(741),j=r(744),R=r(59),x=r.n(R),w=r(2),q=r(63),k=r(22),C=r(740),D=r(204),T=r(746),S=r(203);function P(){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}}var E=function(e){f()(a,e);var t,r=(t=a,function(){var e,r=m()(t);if(P()){var a=m()(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return l()(this,e)});function a(){var e;return i()(this,a),(e=r.call(this)).getHeadersContent=e.getHeadersContent.bind(x()(e)),e.getRowsContent=e.getRowsContent.bind(x()(e)),e.getSummary=e.getSummary.bind(x()(e)),e}return s()(a,[{key:"getHeadersContent",value:function(){return[{label:Object(g.__)("Tax Code","woocommerce-admin"),key:"tax_code",required:!0,isLeftAligned:!0,isSortable:!0},{label:Object(g.__)("Rate","woocommerce-admin"),key:"rate",isSortable:!0,isNumeric:!0},{label:Object(g.__)("Total Tax","woocommerce-admin"),key:"total_tax",isSortable:!0},{label:Object(g.__)("Order Tax","woocommerce-admin"),key:"order_tax",isSortable:!0},{label:Object(g.__)("Shipping Tax","woocommerce-admin"),key:"shipping_tax",isSortable:!0},{label:Object(g.__)("Orders","woocommerce-admin"),key:"orders_count",required:!0,defaultSort:!0,isSortable:!0,isNumeric:!0}]}},{key:"getRowsContent",value:function(e){var t=this,r=this.context,a=r.render,n=r.formatDecimal,o=r.getCurrency;return Object(w.map)(e,(function(e){var r=t.props.query,i=e.order_tax,c=e.orders_count,s=e.tax_rate,u=e.tax_rate_id,l=e.total_tax,d=e.shipping_tax,m=Object(C.a)(e),p=Object(k.getPersistedQuery)(r),f=Object(k.getNewPath)(p,"/analytics/orders",{filter:"advanced",tax_rate_includes:u});return[{display:Object(y.createElement)(q.Link,{href:f,type:"wc-admin"},m),value:m},{display:s.toFixed(2)+"%",value:s},{display:a(l),value:n(l)},{display:a(i),value:n(i)},{display:a(d),value:n(d)},{display:Object(D.formatValue)(o(),"number",c),value:c}]}))}},{key:"getSummary",value:function(e){var t=e.tax_codes,r=void 0===t?0:t,a=e.total_tax,n=void 0===a?0:a,o=e.order_tax,i=void 0===o?0:o,c=e.shipping_tax,s=void 0===c?0:c,u=e.orders_count,l=void 0===u?0:u,d=this.context,m=d.formatCurrency,p=(0,d.getCurrency)();return[{label:Object(g._n)("tax code","tax codes",r,"woocommerce-admin"),value:Object(D.formatValue)(p,"number",r)},{label:Object(g.__)("total tax","woocommerce-admin"),value:m(n)},{label:Object(g.__)("order tax","woocommerce-admin"),value:m(i)},{label:Object(g.__)("shipping tax","woocommerce-admin"),value:m(s)},{label:Object(g._n)("order","orders",l,"woocommerce-admin"),value:Object(D.formatValue)(p,"number",l)}]}},{key:"render",value:function(){var e=this.props,t=e.advancedFilters,r=e.filters,a=e.isRequesting,n=e.query;return Object(y.createElement)(T.a,{compareBy:"taxes",endpoint:"taxes",getHeadersContent:this.getHeadersContent,getRowsContent:this.getRowsContent,getSummary:this.getSummary,summaryFields:["tax_codes","total_tax","order_tax","shipping_tax","orders_count"],isRequesting:a,itemIdField:"tax_rate_id",query:n,searchBy:"taxes",tableQuery:{orderby:n.orderby||"tax_rate_id"},title:Object(g.__)("Taxes","woocommerce-admin"),columnPrefsKey:"taxes_report_columns",filters:r,advancedFilters:t})}}]),a}(y.Component);E.contextType=S.a;var F=E,L=r(745);function V(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function H(){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}}var N=function(e){f()(a,e);var t,r=(t=a,function(){var e,r=m()(t);if(H()){var a=m()(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return l()(this,e)});function a(){return i()(this,a),r.apply(this,arguments)}return s()(a,[{key:"getChartMeta",value:function(){var e="compare-taxes"===this.props.query.filter?"item-comparison":"time-comparison";return{itemsLabel:Object(g.__)("%d taxes","woocommerce-admin"),mode:e}}},{key:"render",value:function(){var e=this.props,t=e.isRequesting,r=e.query,a=e.path,o=this.getChartMeta(),i=o.mode,c=o.itemsLabel,s=function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:i.identity;return function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=arguments.length>1?arguments[1]:void 0,i="function"==typeof e?e(n):e,s=Object(c.getIdsFromQuery)(r);if(s.length<1)return Promise.resolve([]);var u={include:s.join(","),per_page:s.length};return o()({path:Object(a.addQueryArgs)(i,u)}).then((function(e){return e.map(t)}))}}var d=l(u.c+"/products/categories",(function(e){return{key:e.id,label:e.name}})),m=l(u.c+"/coupons",(function(e){return{key:e.id,label:e.code}})),p=l(u.c+"/customers",(function(e){return{key:e.id,label:e.name}})),f=l(u.c+"/products",(function(e){return{key:e.id,label:e.name}})),y=l(u.c+"/taxes",(function(e){return{key:e.id,label:Object(s.a)(e)}})),b=l((function(e){return u.c+"/products/".concat(e.products,"/variations")}),(function(e){return{key:e.id,label:e.attributes.reduce((function(e,t,r,a){return e+"".concat(t.option).concat(a.length===r+1?"":", ")}),"")}}))},740:function(e,t,r){"use strict";r.d(t,"a",(function(){return n}));var a=r(3);function n(e){return[e.country,e.state,e.name||Object(a.__)("TAX","woocommerce-admin"),e.priority].map((function(e){return e.toString().toUpperCase().trim()})).filter(Boolean).join("-")}},741:function(e,t,r){"use strict";var a=r(15),n=r.n(a),o=r(41),i=r.n(o),c=r(40),s=r.n(c),u=r(44),l=r.n(u),d=r(29),m=r.n(d),p=r(42),f=r.n(p),y=r(0),b=r(3),h=r(256),g=r(172),v=r(2),O=r(1),_=r.n(O),j=r(104),R=r(63),x=r(51),w=r(203),q=r(738),k=r(261),C=r(101),D=r(22);function T(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function S(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:{};if(!t||0===t.length)return null;var n=t.slice(0),o=n.pop();if(o.showFilters(r,a)){var i=Object(D.flattenFilters)(o.filters),c=r[o.param]||o.defaultValue||"all";return Object(v.find)(i,{value:c})}return e(n,r,a)}(n,c),d=Object(v.get)(l,["settings","param"]),m=t.mode||function(e,t){if(e&&t){var r=Object(v.get)(e,["settings","param"]);if(!r||Object.keys(t).includes(r))return Object(v.get)(e,["chartMode"])}return null}(l,c)||"time-comparison",p=e(x.SETTINGS_STORE_NAME).getSetting("wc_admin","wcAdminSettings").woocommerce_default_date_range,f={mode:m,filterParam:d,defaultDateRange:p};if(o)return f;var y=u.some((function(e){return c[e]&&c[e].length}));if(c.search&&!y)return S({},f,{emptySearchResults:!0});var b=r&&r.map((function(e){return e.key})),h=Object(q.a)({endpoint:a,dataType:"primary",query:c,select:e,limitBy:u,filters:n,advancedFilters:s,defaultDateRange:p,fields:b});return S({},f,"item-comparison"===m?{primaryData:h}:{primaryData:h,secondaryData:Object(q.a)({endpoint:a,dataType:"secondary",query:c,select:e,limitBy:u,filters:n,advancedFilters:s,defaultDateRange:p,fields:b})})})))(E)},743:function(e,t,r){"use strict";r.d(t,"a",(function(){return n}));var a=r(2);function n(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=Object(a.find)(t,{key:e});return r||t[0]}},744:function(e,t,r){"use strict";var a=r(41),n=r.n(a),o=r(40),i=r.n(o),c=r(44),s=r.n(c),u=r(29),l=r.n(u),d=r(42),m=r.n(d),p=r(0),f=r(3),y=r(256),b=r(1),h=r.n(b),g=r(104),v=r(22),O=r(63),_=r(204),j=r(51),R=r(738),x=r(261),w=r(101),q=r(79),k=r(203);function C(){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}}var D=function(e){m()(a,e);var t,r=(t=a,function(){var e,r=l()(t);if(C()){var a=l()(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return s()(this,e)});function a(){return n()(this,a),r.apply(this,arguments)}return i()(a,[{key:"formatVal",value:function(e,t){var r=this.context,a=r.formatCurrency,n=r.getCurrency;return"currency"===t?a(e):Object(_.formatValue)(n(),t,e)}},{key:"getValues",value:function(e,t){var r=this.props,a=r.emptySearchResults,n=r.summaryData.totals,o=a?0:n.primary[e],i=a?0:n.secondary[e];return{delta:Object(_.calculateDelta)(o,i),prevValue:this.formatVal(i,t),value:this.formatVal(o,t)}}},{key:"render",value:function(){var e=this,t=this.props,r=t.charts,a=t.isRequesting,n=t.query,o=t.selectedChart,i=t.summaryData,c=t.endpoint,s=t.report,u=t.defaultDateRange,l=i.isError,d=i.isRequesting;if(l)return Object(p.createElement)(x.a,{isError:!0});if(a||d)return Object(p.createElement)(O.SummaryListPlaceholder,{numberOfItems:r.length});var m=Object(g.h)(n,u).compare;return Object(p.createElement)(O.SummaryList,null,(function(t){var a=t.onToggle;return r.map((function(t){var r=t.key,n=t.order,i=t.orderby,u=t.label,l=t.type,d={chart:r};i&&(d.orderby=i),n&&(d.order=n);var y=Object(v.getNewPath)(d),b=o.key===r,h=e.getValues(r,l),g=h.delta,_=h.prevValue,j=h.value;return Object(p.createElement)(O.SummaryNumber,{key:r,delta:g,href:y,label:u,prevLabel:"previous_period"===m?Object(f.__)("Previous Period:","woocommerce-admin"):Object(f.__)("Previous Year:","woocommerce-admin"),prevValue:_,selected:b,value:j,onLinkClickCallback:function(){a&&a(),Object(q.b)("analytics_chart_tab_click",{report:s||c,key:r})}})}))}))}}]),a}(p.Component);D.propTypes={charts:h.a.array.isRequired,endpoint:h.a.string.isRequired,limitProperties:h.a.array,query:h.a.object.isRequired,isRequesting:h.a.bool,selectedChart:h.a.shape({key:h.a.string.isRequired,label:h.a.string.isRequired,order:h.a.oneOf(["asc","desc"]),orderby:h.a.string,type:h.a.oneOf(["average","number","currency"]).isRequired}).isRequired,summaryData:h.a.object,report:h.a.string},D.defaultProps={summaryData:{totals:{primary:{},secondary:{}},isError:!1,isRequesting:!1}},D.contextType=k.a,t.a=Object(y.a)(Object(w.a)((function(e,t){var r=t.charts,a=t.endpoint,n=t.isRequesting,o=t.limitProperties,i=t.query,c=t.filters,s=t.advancedFilters,u=o||[a];if(n)return{};var l=u.some((function(e){return i[e]&&i[e].length}));if(i.search&&!l)return{emptySearchResults:!0};var d=r&&r.map((function(e){return e.key})),m=e(j.SETTINGS_STORE_NAME).getSetting("wc_admin","wcAdminSettings").woocommerce_default_date_range;return{summaryData:Object(R.d)({endpoint:a,query:i,select:e,limitBy:u,filters:c,advancedFilters:s,defaultDateRange:m,fields:d}),defaultDateRange:m}})))(D)},766:function(e,t,r){"use strict";r.d(t,"b",(function(){return s})),r.d(t,"c",(function(){return u})),r.d(t,"a",(function(){return l}));var a=r(3),n=r(48),o=r(739),i=r(740),c=r(24),s=Object(n.applyFilters)("woocommerce_admin_taxes_report_charts",[{key:"total_tax",label:Object(a.__)("Total Tax","woocommerce-admin"),order:"desc",orderby:"total_tax",type:"currency"},{key:"order_tax",label:Object(a.__)("Order Tax","woocommerce-admin"),order:"desc",orderby:"order_tax",type:"currency"},{key:"shipping_tax",label:Object(a.__)("Shipping Tax","woocommerce-admin"),order:"desc",orderby:"shipping_tax",type:"currency"},{key:"orders_count",label:Object(a.__)("Orders","woocommerce-admin"),order:"desc",orderby:"orders_count",type:"number"}]),u=Object(n.applyFilters)("woocommerce_admin_taxes_report_filters",[{label:Object(a.__)("Show","woocommerce-admin"),staticParams:["chart"],param:"filter",showFilters:function(){return!0},filters:[{label:Object(a.__)("All Taxes","woocommerce-admin"),value:"all"},{label:Object(a.__)("Comparison","woocommerce-admin"),value:"compare-taxes",chartMode:"item-comparison",settings:{type:"taxes",param:"taxes",getLabels:Object(o.e)(c.c+"/taxes",(function(e){return{id:e.id,label:Object(i.a)(e)}})),labels:{helpText:Object(a.__)("Check at least two tax codes below to compare","woocommerce-admin"),placeholder:Object(a.__)("Search for tax codes to compare","woocommerce-admin"),title:Object(a.__)("Compare Tax Codes","woocommerce-admin"),update:Object(a.__)("Compare","woocommerce-admin")}}}]}]),l=Object(n.applyFilters)("woocommerce_admin_taxes_report_advanced_filters",{})}}]);
\ No newline at end of file
diff --git a/dist/chunks/analytics-settings.5be0a529e94eb8e85ea7.js b/dist/chunks/analytics-settings.5be0a529e94eb8e85ea7.js
new file mode 100644
index 00000000000..8aa3509d278
--- /dev/null
+++ b/dist/chunks/analytics-settings.5be0a529e94eb8e85ea7.js
@@ -0,0 +1,1838 @@
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[18],{
+
+/***/ 119:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectSpread.js
+var objectSpread = __webpack_require__(27);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
+var objectWithoutProperties = __webpack_require__(16);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/visually-hidden/utils.js
+
+
+
+/**
+ * Utility Functions
+ */
+
+/**
+ * renderAsRenderProps is used to wrap a component and convert
+ * the passed property "as" either a string or component, to the
+ * rendered tag if a string, or component.
+ *
+ * See VisuallyHidden hidden for example.
+ *
+ * @param {string|WPComponent} as A tag or component to render.
+ * @return {WPComponent} The rendered component.
+ */
+function renderAsRenderProps(_ref) {
+ var _ref$as = _ref.as,
+ Component = _ref$as === void 0 ? 'div' : _ref$as,
+ props = Object(objectWithoutProperties["a" /* default */])(_ref, ["as"]);
+
+ if (typeof props.children === 'function') {
+ return props.children(props);
+ }
+
+ return Object(external_this_wp_element_["createElement"])(Component, props);
+}
+
+
+//# sourceMappingURL=utils.js.map
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/visually-hidden/index.js
+
+
+
+/**
+ * Internal dependencies
+ */
+
+/**
+ * VisuallyHidden component to render text out non-visually
+ * for use in devices such as a screen reader.
+ */
+
+function VisuallyHidden(_ref) {
+ var _ref$as = _ref.as,
+ as = _ref$as === void 0 ? 'div' : _ref$as,
+ props = Object(objectWithoutProperties["a" /* default */])(_ref, ["as"]);
+
+ return renderAsRenderProps(Object(objectSpread["a" /* default */])({
+ as: as,
+ className: 'components-visually-hidden'
+ }, props));
+}
+
+/* harmony default export */ var visually_hidden = __webpack_exports__["a"] = (VisuallyHidden);
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 171:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10);
+/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _visually_hidden__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(119);
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+function BaseControl(_ref) {
+ var id = _ref.id,
+ label = _ref.label,
+ hideLabelFromVision = _ref.hideLabelFromVision,
+ help = _ref.help,
+ className = _ref.className,
+ children = _ref.children;
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
+ className: classnames__WEBPACK_IMPORTED_MODULE_1___default()('components-base-control', className)
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
+ className: "components-base-control__field"
+ }, label && id && (hideLabelFromVision ? Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_visually_hidden__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"], {
+ as: "label",
+ htmlFor: id
+ }, label) : Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("label", {
+ className: "components-base-control__label",
+ htmlFor: id
+ }, label)), label && !id && (hideLabelFromVision ? Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_visually_hidden__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"], {
+ as: "label"
+ }, label) : Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(BaseControl.VisualLabel, null, label)), children), !!help && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("p", {
+ id: id + '__help',
+ className: "components-base-control__help"
+ }, help));
+}
+
+BaseControl.VisualLabel = function (_ref2) {
+ var className = _ref2.className,
+ children = _ref2.children;
+ className = classnames__WEBPACK_IMPORTED_MODULE_1___default()('components-base-control__label', className);
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("span", {
+ className: className
+ }, children);
+};
+
+/* harmony default export */ __webpack_exports__["a"] = (BaseControl);
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 173:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
+var esm_extends = __webpack_require__(11);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/compose/build-module/utils/create-higher-order-component/index.js
+var create_higher_order_component = __webpack_require__(53);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/compose/build-module/hooks/use-instance-id/index.js
+/**
+ * WordPress dependencies
+ */
+
+var instanceMap = new WeakMap();
+/**
+ * Creates a new id for a given object.
+ *
+ * @param {Object} object Object reference to create an id for.
+ */
+
+function createId(object) {
+ var instances = instanceMap.get(object) || 0;
+ instanceMap.set(object, instances + 1);
+ return instances;
+}
+/**
+ * Provides a unique instance ID.
+ *
+ * @param {Object} object Object reference to create an id for.
+ */
+
+
+function useInstanceId(object) {
+ return Object(external_this_wp_element_["useMemo"])(function () {
+ return createId(object);
+ }, [object]);
+}
+//# sourceMappingURL=index.js.map
+// CONCATENATED MODULE: ./node_modules/@wordpress/compose/build-module/higher-order/with-instance-id/index.js
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+/**
+ * A Higher Order Component used to be provide a unique instance ID by
+ * component.
+ *
+ * @param {WPComponent} WrappedComponent The wrapped component.
+ *
+ * @return {WPComponent} Component with an instanceId prop.
+ */
+
+/* harmony default export */ var with_instance_id = __webpack_exports__["a"] = (Object(create_higher_order_component["a" /* default */])(function (WrappedComponent) {
+ return function (props) {
+ var instanceId = useInstanceId(WrappedComponent);
+ return Object(external_this_wp_element_["createElement"])(WrappedComponent, Object(esm_extends["a" /* default */])({}, props, {
+ instanceId: instanceId
+ }));
+ };
+}, 'withInstanceId'));
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 709:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11);
+/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(17);
+/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_4__);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(173);
+/* harmony import */ var _base_control__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(171);
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+function SelectControl(_ref) {
+ var help = _ref.help,
+ instanceId = _ref.instanceId,
+ label = _ref.label,
+ _ref$multiple = _ref.multiple,
+ multiple = _ref$multiple === void 0 ? false : _ref$multiple,
+ onChange = _ref.onChange,
+ _ref$options = _ref.options,
+ options = _ref$options === void 0 ? [] : _ref$options,
+ className = _ref.className,
+ hideLabelFromVision = _ref.hideLabelFromVision,
+ props = Object(_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(_ref, ["help", "instanceId", "label", "multiple", "onChange", "options", "className", "hideLabelFromVision"]);
+
+ var id = "inspector-select-control-".concat(instanceId);
+
+ var onChangeValue = function onChangeValue(event) {
+ if (multiple) {
+ var selectedOptions = Object(_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(event.target.options).filter(function (_ref2) {
+ var selected = _ref2.selected;
+ return selected;
+ });
+
+ var newValues = selectedOptions.map(function (_ref3) {
+ var value = _ref3.value;
+ return value;
+ });
+ onChange(newValues);
+ return;
+ }
+
+ onChange(event.target.value);
+ }; // Disable reason: A select with an onchange throws a warning
+
+ /* eslint-disable jsx-a11y/no-onchange */
+
+
+ return !Object(lodash__WEBPACK_IMPORTED_MODULE_4__["isEmpty"])(options) && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])(_base_control__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"], {
+ label: label,
+ hideLabelFromVision: hideLabelFromVision,
+ id: id,
+ help: help,
+ className: className
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])("select", Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({
+ id: id,
+ className: "components-select-control__input",
+ onChange: onChangeValue,
+ "aria-describedby": !!help ? "".concat(id, "__help") : undefined,
+ multiple: multiple
+ }, props), options.map(function (option, index) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])("option", {
+ key: "".concat(option.label, "-").concat(option.value, "-").concat(index),
+ value: option.value,
+ disabled: option.disabled
+ }, option.label);
+ })));
+ /* eslint-enable jsx-a11y/no-onchange */
+}
+
+/* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])(SelectControl));
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 710:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Spinner; });
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+
+function Spinner() {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("span", {
+ className: "components-spinner"
+ });
+}
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 716:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11);
+/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7);
+/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6);
+/* harmony import */ var _babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8);
+/* harmony import */ var _babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4);
+/* harmony import */ var _babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5);
+/* harmony import */ var _babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(9);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_8__);
+/* harmony import */ var _wordpress_a11y__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(169);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(53);
+
+
+
+
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+/**
+ * A Higher Order Component used to be provide a unique instance ID by
+ * component.
+ *
+ * @param {WPComponent} WrappedComponent The wrapped component.
+ *
+ * @return {WPComponent} The component to be rendered.
+ */
+
+/* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_10__[/* default */ "a"])(function (WrappedComponent) {
+ return (
+ /*#__PURE__*/
+ function (_Component) {
+ Object(_babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"])(_class, _Component);
+
+ function _class() {
+ var _this;
+
+ Object(_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(this, _class);
+
+ _this = Object(_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])(this, Object(_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"])(_class).apply(this, arguments));
+ _this.debouncedSpeak = Object(lodash__WEBPACK_IMPORTED_MODULE_8__["debounce"])(_this.speak.bind(Object(_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])(_this)), 500);
+ return _this;
+ }
+
+ Object(_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(_class, [{
+ key: "speak",
+ value: function speak(message) {
+ var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'polite';
+
+ Object(_wordpress_a11y__WEBPACK_IMPORTED_MODULE_9__[/* speak */ "a"])(message, type);
+ }
+ }, {
+ key: "componentWillUnmount",
+ value: function componentWillUnmount() {
+ this.debouncedSpeak.cancel();
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__["createElement"])(WrappedComponent, Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({}, this.props, {
+ speak: this.speak,
+ debouncedSpeak: this.debouncedSpeak
+ }));
+ }
+ }]);
+
+ return _class;
+ }(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__["Component"])
+ );
+}, 'withSpokenMessages'));
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 760:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11);
+/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(173);
+/* harmony import */ var _base_control__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(171);
+/* harmony import */ var _dashicon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(80);
+
+
+
+
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+function CheckboxControl(_ref) {
+ var label = _ref.label,
+ className = _ref.className,
+ heading = _ref.heading,
+ checked = _ref.checked,
+ help = _ref.help,
+ instanceId = _ref.instanceId,
+ onChange = _ref.onChange,
+ props = Object(_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(_ref, ["label", "className", "heading", "checked", "help", "instanceId", "onChange"]);
+
+ var id = "inspector-checkbox-control-".concat(instanceId);
+
+ var onChangeValue = function onChangeValue(event) {
+ return onChange(event.target.checked);
+ };
+
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_base_control__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"], {
+ label: heading,
+ id: id,
+ help: help,
+ className: className
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])("span", {
+ className: "components-checkbox-control__input-container"
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])("input", Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({
+ id: id,
+ className: "components-checkbox-control__input",
+ type: "checkbox",
+ value: "1",
+ onChange: onChangeValue,
+ checked: checked,
+ "aria-describedby": !!help ? id + '__help' : undefined
+ }, props)), checked ? Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_dashicon__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"], {
+ icon: "yes",
+ className: "components-checkbox-control__checked",
+ role: "presentation"
+ }) : null), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])("label", {
+ className: "components-checkbox-control__label",
+ htmlFor: id
+ }, label));
+}
+
+/* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])(CheckboxControl));
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 779:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ }),
+
+/***/ 780:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ }),
+
+/***/ 781:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ }),
+
+/***/ 905:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+// ESM COMPAT FLAG
+__webpack_require__.r(__webpack_exports__);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/extends.js
+var helpers_extends = __webpack_require__(105);
+var extends_default = /*#__PURE__*/__webpack_require__.n(helpers_extends);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/toConsumableArray.js
+var toConsumableArray = __webpack_require__(32);
+var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js
+var defineProperty = __webpack_require__(15);
+var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: external {"this":["wp","i18n"]}
+var external_this_wp_i18n_ = __webpack_require__(3);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/button/index.js
+var build_module_button = __webpack_require__(88);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/compose/build-module/higher-order/compose.js
+var compose = __webpack_require__(256);
+
+// EXTERNAL MODULE: external {"this":["wp","data"]}
+var external_this_wp_data_ = __webpack_require__(19);
+
+// EXTERNAL MODULE: external {"this":["wc","components"]}
+var external_this_wc_components_ = __webpack_require__(63);
+
+// EXTERNAL MODULE: external {"this":["wc","data"]}
+var external_this_wc_data_ = __webpack_require__(51);
+
+// EXTERNAL MODULE: ./client/analytics/settings/index.scss
+var settings = __webpack_require__(779);
+
+// EXTERNAL MODULE: ./client/analytics/settings/config.js + 1 modules
+var config = __webpack_require__(263);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js
+var classCallCheck = __webpack_require__(41);
+var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js
+var createClass = __webpack_require__(40);
+var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(44);
+var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(29);
+var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js
+var inherits = __webpack_require__(42);
+var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
+
+// EXTERNAL MODULE: ./node_modules/prop-types/index.js
+var prop_types = __webpack_require__(1);
+var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
+
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__(2);
+
+// EXTERNAL MODULE: ./client/analytics/settings/setting.scss
+var settings_setting = __webpack_require__(780);
+
+// CONCATENATED MODULE: ./client/analytics/settings/setting.js
+
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var setting_Setting = /*#__PURE__*/function (_Component) {
+ inherits_default()(Setting, _Component);
+
+ var _super = _createSuper(Setting);
+
+ function Setting(props) {
+ var _this;
+
+ classCallCheck_default()(this, Setting);
+
+ _this = _super.call(this, props);
+
+ _this.renderInput = function () {
+ var _this$props = _this.props,
+ handleChange = _this$props.handleChange,
+ name = _this$props.name,
+ inputText = _this$props.inputText,
+ inputType = _this$props.inputType,
+ options = _this$props.options,
+ value = _this$props.value,
+ component = _this$props.component;
+ var disabled = _this.state.disabled;
+
+ switch (inputType) {
+ case 'checkboxGroup':
+ return options.map(function (optionGroup) {
+ return optionGroup.options.length > 0 && Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-setting__options-group",
+ key: optionGroup.key,
+ "aria-labelledby": name + '-label'
+ }, optionGroup.label && Object(external_this_wp_element_["createElement"])("span", {
+ className: "woocommerce-setting__options-group-label"
+ }, optionGroup.label), _this.renderCheckboxOptions(optionGroup.options));
+ });
+
+ case 'checkbox':
+ return _this.renderCheckboxOptions(options);
+
+ case 'button':
+ return Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isDefault: true,
+ onClick: _this.handleInputCallback,
+ disabled: disabled
+ }, inputText);
+
+ case 'component':
+ var SettingComponent = component;
+ return Object(external_this_wp_element_["createElement"])(SettingComponent, extends_default()({
+ value: value,
+ onChange: handleChange
+ }, _this.props));
+
+ case 'text':
+ default:
+ var id = Object(external_lodash_["uniqueId"])(name);
+ return Object(external_this_wp_element_["createElement"])("input", {
+ id: id,
+ type: "text",
+ name: name,
+ onChange: handleChange,
+ value: value,
+ placeholder: inputText,
+ disabled: disabled
+ });
+ }
+ };
+
+ _this.handleInputCallback = function () {
+ var _this$props2 = _this.props,
+ createNotice = _this$props2.createNotice,
+ callback = _this$props2.callback;
+
+ if (typeof callback !== 'function') {
+ return;
+ }
+
+ return new Promise(function (resolve, reject) {
+ _this.setState({
+ disabled: true
+ });
+
+ callback(resolve, reject, createNotice);
+ }).then(function () {
+ _this.setState({
+ disabled: false
+ });
+ }).catch(function () {
+ _this.setState({
+ disabled: false
+ });
+ });
+ };
+
+ _this.state = {
+ disabled: false
+ };
+ return _this;
+ }
+
+ createClass_default()(Setting, [{
+ key: "renderCheckboxOptions",
+ value: function renderCheckboxOptions(options) {
+ var _this$props3 = this.props,
+ handleChange = _this$props3.handleChange,
+ name = _this$props3.name,
+ value = _this$props3.value;
+ var disabled = this.state.disabled;
+ return options.map(function (option) {
+ var id = Object(external_lodash_["uniqueId"])(name + '-' + option.value);
+ return Object(external_this_wp_element_["createElement"])("label", {
+ htmlFor: id,
+ key: option.value
+ }, Object(external_this_wp_element_["createElement"])("input", {
+ id: id,
+ type: "checkbox",
+ name: name,
+ onChange: handleChange,
+ "aria-label": option.description,
+ checked: value && value.includes(option.value),
+ value: option.value,
+ disabled: disabled
+ }), option.label);
+ });
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props4 = this.props,
+ helpText = _this$props4.helpText,
+ label = _this$props4.label,
+ name = _this$props4.name;
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-setting"
+ }, Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-setting__label",
+ id: name + '-label'
+ }, label), Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-setting__input"
+ }, this.renderInput(), helpText && Object(external_this_wp_element_["createElement"])("span", {
+ className: "woocommerce-setting__help"
+ }, helpText)));
+ }
+ }]);
+
+ return Setting;
+}(external_this_wp_element_["Component"]);
+
+setting_Setting.propTypes = {
+ /**
+ * A callback that is fired after actionable items, such as buttons.
+ */
+ callback: prop_types_default.a.func,
+
+ /**
+ * Function assigned to the onChange of all inputs.
+ */
+ handleChange: prop_types_default.a.func.isRequired,
+
+ /**
+ * Optional help text displayed underneath the setting.
+ */
+ helpText: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.array]),
+
+ /**
+ * Text used as placeholder or button text in the input area.
+ */
+ inputText: prop_types_default.a.string,
+
+ /**
+ * Type of input to use; defaults to a text input.
+ */
+ inputType: prop_types_default.a.oneOf(['button', 'checkbox', 'checkboxGroup', 'text', 'component']),
+
+ /**
+ * Label used for describing the setting.
+ */
+ label: prop_types_default.a.string.isRequired,
+
+ /**
+ * Setting slug applied to input names.
+ */
+ name: prop_types_default.a.string.isRequired,
+
+ /**
+ * Array of options used for when the `inputType` allows multiple selections.
+ */
+ options: prop_types_default.a.arrayOf(prop_types_default.a.shape({
+ /**
+ * Input value for this option.
+ */
+ value: prop_types_default.a.string,
+
+ /**
+ * Label for this option or above a group for a group `inputType`.
+ */
+ label: prop_types_default.a.string,
+
+ /**
+ * Description used for screen readers.
+ */
+ description: prop_types_default.a.string,
+
+ /**
+ * Key used for a group `inputType`.
+ */
+ key: prop_types_default.a.string,
+
+ /**
+ * Nested options for a group `inputType`.
+ */
+ options: prop_types_default.a.array
+ })),
+
+ /**
+ * The string value used for the input or array of items if the input allows multiselection.
+ */
+ value: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.array])
+};
+/* harmony default export */ var analytics_settings_setting = (Object(compose["a" /* default */])(Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('core/notices'),
+ createNotice = _dispatch.createNotice;
+
+ return {
+ createNotice: createNotice
+ };
+}))(setting_Setting));
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/assertThisInitialized.js
+var assertThisInitialized = __webpack_require__(59);
+var assertThisInitialized_default = /*#__PURE__*/__webpack_require__.n(assertThisInitialized);
+
+// EXTERNAL MODULE: external {"this":["wp","url"]}
+var external_this_wp_url_ = __webpack_require__(30);
+
+// EXTERNAL MODULE: external {"this":["wp","apiFetch"]}
+var external_this_wp_apiFetch_ = __webpack_require__(20);
+var external_this_wp_apiFetch_default = /*#__PURE__*/__webpack_require__.n(external_this_wp_apiFetch_);
+
+// EXTERNAL MODULE: external "moment"
+var external_moment_ = __webpack_require__(12);
+var external_moment_default = /*#__PURE__*/__webpack_require__.n(external_moment_);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/higher-order/with-spoken-messages/index.js
+var with_spoken_messages = __webpack_require__(716);
+
+// CONCATENATED MODULE: ./client/analytics/settings/historical-data/utils.js
+/**
+ * External dependencies
+ */
+
+
+var utils_formatParams = function formatParams(dateFormat, period, skipChecked) {
+ var params = {};
+
+ if (skipChecked) {
+ params.skip_existing = true;
+ }
+
+ if (period.label !== 'all') {
+ if (period.label === 'custom') {
+ var daysDifference = external_moment_default()().diff(external_moment_default()(period.date, dateFormat), 'days', true);
+ params.days = Math.floor(daysDifference);
+ } else {
+ params.days = parseInt(period.label, 10);
+ }
+ }
+
+ return params;
+};
+var utils_getStatus = function getStatus(_ref) {
+ var customersProgress = _ref.customersProgress,
+ customersTotal = _ref.customersTotal,
+ inProgress = _ref.inProgress,
+ ordersProgress = _ref.ordersProgress,
+ ordersTotal = _ref.ordersTotal;
+
+ if (inProgress) {
+ if (Object(external_lodash_["isNil"])(customersProgress) || Object(external_lodash_["isNil"])(ordersProgress) || Object(external_lodash_["isNil"])(customersTotal) || Object(external_lodash_["isNil"])(ordersTotal)) {
+ return 'initializing';
+ }
+
+ if (customersProgress < customersTotal) {
+ return 'customers';
+ }
+
+ if (ordersProgress < ordersTotal) {
+ return 'orders';
+ }
+
+ return 'finalizing';
+ }
+
+ if (customersTotal > 0 || ordersTotal > 0) {
+ if (customersProgress === customersTotal && ordersProgress === ordersTotal) {
+ return 'finished';
+ }
+
+ return 'ready';
+ }
+
+ return 'nothing';
+};
+// EXTERNAL MODULE: ./node_modules/@fresh-data/framework/es/index.js + 8 modules
+var es = __webpack_require__(170);
+
+// EXTERNAL MODULE: ./client/wc-api/constants.js
+var constants = __webpack_require__(24);
+
+// CONCATENATED MODULE: ./client/analytics/settings/historical-data/actions.js
+
+
+/**
+ * External dependencies
+ */
+
+
+
+
+function HistoricalDataActions(_ref) {
+ var importDate = _ref.importDate,
+ onDeletePreviousData = _ref.onDeletePreviousData,
+ onReimportData = _ref.onReimportData,
+ onStartImport = _ref.onStartImport,
+ onStopImport = _ref.onStopImport,
+ status = _ref.status;
+
+ var getActions = function getActions() {
+ var importDisabled = status !== 'ready'; // An import is currently in progress
+
+ if (['initializing', 'customers', 'orders', 'finalizing'].includes(status)) {
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ className: "woocommerce-settings-historical-data__action-button",
+ isPrimary: true,
+ onClick: onStopImport
+ }, Object(external_this_wp_i18n_["__"])('Stop Import', 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-setting__help woocommerce-settings-historical-data__action-help"
+ }, Object(external_this_wp_i18n_["__"])('Imported data will not be lost if the import is stopped.', 'woocommerce-admin'), Object(external_this_wp_element_["createElement"])("br", null), Object(external_this_wp_i18n_["__"])('Navigating away from this page will not affect the import.', 'woocommerce-admin')));
+ }
+
+ if (['ready', 'nothing'].includes(status)) {
+ if (importDate) {
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isPrimary: true,
+ onClick: onStartImport,
+ disabled: importDisabled
+ }, Object(external_this_wp_i18n_["__"])('Start', 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isDefault: true,
+ onClick: onDeletePreviousData
+ }, Object(external_this_wp_i18n_["__"])('Delete Previously Imported Data', 'woocommerce-admin')));
+ }
+
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isPrimary: true,
+ onClick: onStartImport,
+ disabled: importDisabled
+ }, Object(external_this_wp_i18n_["__"])('Start', 'woocommerce-admin')));
+ } // Has imported all possible data
+
+
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isDefault: true,
+ onClick: onReimportData
+ }, Object(external_this_wp_i18n_["__"])('Re-import Data', 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isDefault: true,
+ onClick: onDeletePreviousData
+ }, Object(external_this_wp_i18n_["__"])('Delete Previously Imported Data', 'woocommerce-admin')));
+ };
+
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-settings__actions woocommerce-settings-historical-data__actions"
+ }, getActions());
+}
+
+/* harmony default export */ var actions = (HistoricalDataActions);
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/select-control/index.js
+var select_control = __webpack_require__(709);
+
+// EXTERNAL MODULE: ./client/lib/date.js
+var lib_date = __webpack_require__(104);
+
+// CONCATENATED MODULE: ./client/analytics/settings/historical-data/period-selector.js
+
+
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+function HistoricalDataPeriodSelector(_ref) {
+ var dateFormat = _ref.dateFormat,
+ disabled = _ref.disabled,
+ onDateChange = _ref.onDateChange,
+ onPeriodChange = _ref.onPeriodChange,
+ value = _ref.value;
+
+ var onSelectChange = function onSelectChange(val) {
+ onPeriodChange(val);
+ };
+
+ var onDatePickerChange = function onDatePickerChange(val) {
+ if (val.date && val.date.isValid) {
+ onDateChange(val.date.format(dateFormat));
+ } else {
+ onDateChange(val.text);
+ }
+ };
+
+ var getDatePickerError = function getDatePickerError(momentDate) {
+ if (!momentDate.isValid() || value.date.length !== dateFormat.length) {
+ return lib_date["b" /* dateValidationMessages */].invalid;
+ }
+
+ if (momentDate.isAfter(new Date(), 'day')) {
+ return lib_date["b" /* dateValidationMessages */].future;
+ }
+
+ return null;
+ };
+
+ var getDatePicker = function getDatePicker() {
+ var momentDate = external_moment_default()(value.date, dateFormat);
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-settings-historical-data__column"
+ }, Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-settings-historical-data__column-label"
+ }, Object(external_this_wp_i18n_["__"])('Beginning on', 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])(external_this_wc_components_["DatePicker"], {
+ date: momentDate.isValid() ? momentDate.toDate() : null,
+ dateFormat: dateFormat,
+ disabled: disabled,
+ error: getDatePickerError(momentDate),
+ isInvalidDate: function isInvalidDate(date) {
+ return external_moment_default()(date).isAfter(new Date(), 'day');
+ },
+ onUpdate: onDatePickerChange,
+ text: value.date
+ }));
+ };
+
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-settings-historical-data__columns"
+ }, Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-settings-historical-data__column"
+ }, Object(external_this_wp_element_["createElement"])(select_control["a" /* default */], {
+ label: Object(external_this_wp_i18n_["__"])('Import Historical Data', 'woocommerce-admin'),
+ value: value.label,
+ disabled: disabled,
+ onChange: onSelectChange,
+ options: [{
+ label: 'All',
+ value: 'all'
+ }, {
+ label: 'Last 365 days',
+ value: '365'
+ }, {
+ label: 'Last 90 days',
+ value: '90'
+ }, {
+ label: 'Last 30 days',
+ value: '30'
+ }, {
+ label: 'Last 7 days',
+ value: '7'
+ }, {
+ label: 'Last 24 hours',
+ value: '1'
+ }, {
+ label: 'Custom',
+ value: 'custom'
+ }]
+ })), value.label === 'custom' && getDatePicker());
+}
+
+/* harmony default export */ var period_selector = (HistoricalDataPeriodSelector);
+// CONCATENATED MODULE: ./client/analytics/settings/historical-data/progress.js
+
+
+/**
+ * External dependencies
+ */
+
+
+
+function HistoricalDataProgress(_ref) {
+ var label = _ref.label,
+ progress = _ref.progress,
+ total = _ref.total;
+ var labelText = Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('Imported %(label)s', 'woocommerce-admin'), {
+ label: label
+ });
+ var labelCounters = !Object(external_lodash_["isNil"])(total) ? Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('%(progress)s of %(total)s', 'woocommerce-admin'), {
+ progress: progress || 0,
+ total: total
+ }) : null;
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-settings-historical-data__progress"
+ }, Object(external_this_wp_element_["createElement"])("span", {
+ className: "woocommerce-settings-historical-data__progress-label"
+ }, labelText), labelCounters && Object(external_this_wp_element_["createElement"])("span", {
+ className: "woocommerce-settings-historical-data__progress-label"
+ }, labelCounters), Object(external_this_wp_element_["createElement"])("progress", {
+ className: "woocommerce-settings-historical-data__progress-bar",
+ max: total,
+ value: progress || 0
+ }));
+}
+
+/* harmony default export */ var historical_data_progress = (HistoricalDataProgress);
+// EXTERNAL MODULE: external {"this":["wp","hooks"]}
+var external_this_wp_hooks_ = __webpack_require__(48);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/spinner/index.js
+var spinner = __webpack_require__(710);
+
+// CONCATENATED MODULE: ./client/analytics/settings/historical-data/status.js
+
+
+/**
+ * External dependencies
+ */
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+var HISTORICAL_DATA_STATUS_FILTER = 'woocommerce_admin_import_status';
+
+function HistoricalDataStatus(_ref) {
+ var importDate = _ref.importDate,
+ status = _ref.status;
+ var statusLabels = Object(external_this_wp_hooks_["applyFilters"])(HISTORICAL_DATA_STATUS_FILTER, {
+ nothing: Object(external_this_wp_i18n_["__"])('Nothing To Import', 'woocommerce-admin'),
+ ready: Object(external_this_wp_i18n_["__"])('Ready To Import', 'woocommerce-admin'),
+ initializing: [Object(external_this_wp_i18n_["__"])('Initializing', 'woocommerce-admin'), Object(external_this_wp_element_["createElement"])(spinner["a" /* default */], {
+ key: "spinner"
+ })],
+ customers: [Object(external_this_wp_i18n_["__"])('Importing Customers', 'woocommerce-admin'), Object(external_this_wp_element_["createElement"])(spinner["a" /* default */], {
+ key: "spinner"
+ })],
+ orders: [Object(external_this_wp_i18n_["__"])('Importing Orders', 'woocommerce-admin'), Object(external_this_wp_element_["createElement"])(spinner["a" /* default */], {
+ key: "spinner"
+ })],
+ finalizing: [Object(external_this_wp_i18n_["__"])('Finalizing', 'woocommerce-admin'), Object(external_this_wp_element_["createElement"])(spinner["a" /* default */], {
+ key: "spinner"
+ })],
+ finished: importDate === -1 ? Object(external_this_wp_i18n_["__"])('All historical data imported', 'woocommerce-admin') : Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('Historical data from %s onward imported', 'woocommerce-admin'), // @todo The date formatting should be localized ( 'll' ), but this is currently broken in Gutenberg.
+ // See https://github.com/WordPress/gutenberg/issues/12626 for details.
+ external_moment_default()(importDate).format('YYYY-MM-DD'))
+ });
+ return Object(external_this_wp_element_["createElement"])("span", {
+ className: "woocommerce-settings-historical-data__status"
+ }, Object(external_this_wp_i18n_["__"])('Status:', 'woocommerce-admin') + ' ', statusLabels[status]);
+}
+
+/* harmony default export */ var historical_data_status = (Object(external_this_wc_components_["useFilters"])(HISTORICAL_DATA_STATUS_FILTER)(HistoricalDataStatus));
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/checkbox-control/index.js
+var checkbox_control = __webpack_require__(760);
+
+// CONCATENATED MODULE: ./client/analytics/settings/historical-data/skip-checkbox.js
+
+
+/**
+ * External dependencies
+ */
+
+
+
+function HistoricalDataSkipCheckbox(_ref) {
+ var checked = _ref.checked,
+ disabled = _ref.disabled,
+ onChange = _ref.onChange;
+ return Object(external_this_wp_element_["createElement"])(checkbox_control["a" /* default */], {
+ className: "woocommerce-settings-historical-data__skip-checkbox",
+ checked: checked,
+ disabled: disabled,
+ label: Object(external_this_wp_i18n_["__"])('Skip previously imported customers and orders', 'woocommerce-admin'),
+ onChange: onChange
+ });
+}
+
+/* harmony default export */ var skip_checkbox = (HistoricalDataSkipCheckbox);
+// EXTERNAL MODULE: ./client/wc-api/with-select.js
+var with_select = __webpack_require__(101);
+
+// EXTERNAL MODULE: ./client/analytics/settings/historical-data/style.scss
+var style = __webpack_require__(781);
+
+// CONCATENATED MODULE: ./client/analytics/settings/historical-data/layout.js
+
+
+
+
+
+
+
+function layout_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (layout_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function layout_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+
+
+
+
+var layout_HistoricalDataLayout = /*#__PURE__*/function (_Component) {
+ inherits_default()(HistoricalDataLayout, _Component);
+
+ var _super = layout_createSuper(HistoricalDataLayout);
+
+ function HistoricalDataLayout() {
+ classCallCheck_default()(this, HistoricalDataLayout);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(HistoricalDataLayout, [{
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ customersProgress = _this$props.customersProgress,
+ customersTotal = _this$props.customersTotal,
+ dateFormat = _this$props.dateFormat,
+ importDate = _this$props.importDate,
+ inProgress = _this$props.inProgress,
+ onPeriodChange = _this$props.onPeriodChange,
+ onDateChange = _this$props.onDateChange,
+ onSkipChange = _this$props.onSkipChange,
+ onDeletePreviousData = _this$props.onDeletePreviousData,
+ onReimportData = _this$props.onReimportData,
+ onStartImport = _this$props.onStartImport,
+ onStopImport = _this$props.onStopImport,
+ ordersProgress = _this$props.ordersProgress,
+ ordersTotal = _this$props.ordersTotal,
+ period = _this$props.period,
+ skipChecked = _this$props.skipChecked;
+ var status = utils_getStatus({
+ customersProgress: customersProgress,
+ customersTotal: customersTotal,
+ inProgress: inProgress,
+ ordersProgress: ordersProgress,
+ ordersTotal: ordersTotal
+ });
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["SectionHeader"], {
+ title: Object(external_this_wp_i18n_["__"])('Import Historical Data', 'woocommerce-admin')
+ }), Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-settings__wrapper"
+ }, Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-setting"
+ }, Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-setting__input"
+ }, Object(external_this_wp_element_["createElement"])("span", {
+ className: "woocommerce-setting__help"
+ }, Object(external_this_wp_i18n_["__"])('This tool populates historical analytics data by processing customers ' + 'and orders created prior to activating WooCommerce Admin.', 'woocommerce-admin')), status !== 'finished' && Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(period_selector, {
+ dateFormat: dateFormat,
+ disabled: inProgress,
+ onPeriodChange: onPeriodChange,
+ onDateChange: onDateChange,
+ value: period
+ }), Object(external_this_wp_element_["createElement"])(skip_checkbox, {
+ disabled: inProgress,
+ checked: skipChecked,
+ onChange: onSkipChange
+ }), Object(external_this_wp_element_["createElement"])(historical_data_progress, {
+ label: Object(external_this_wp_i18n_["__"])('Registered Customers', 'woocommerce-admin'),
+ progress: customersProgress,
+ total: customersTotal
+ }), Object(external_this_wp_element_["createElement"])(historical_data_progress, {
+ label: Object(external_this_wp_i18n_["__"])('Orders and Refunds', 'woocommerce-admin'),
+ progress: ordersProgress,
+ total: ordersTotal
+ })), Object(external_this_wp_element_["createElement"])(historical_data_status, {
+ importDate: importDate,
+ status: status
+ })))), Object(external_this_wp_element_["createElement"])(actions, {
+ importDate: importDate,
+ onDeletePreviousData: onDeletePreviousData,
+ onReimportData: onReimportData,
+ onStartImport: onStartImport,
+ onStopImport: onStopImport,
+ status: status
+ }));
+ }
+ }]);
+
+ return HistoricalDataLayout;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var layout = (Object(with_select["a" /* default */])(function (select, props) {
+ var _select = select('wc-api'),
+ getImportStatus = _select.getImportStatus,
+ isGetImportStatusRequesting = _select.isGetImportStatusRequesting,
+ getImportTotals = _select.getImportTotals;
+
+ var activeImport = props.activeImport,
+ dateFormat = props.dateFormat,
+ lastImportStartTimestamp = props.lastImportStartTimestamp,
+ lastImportStopTimestamp = props.lastImportStopTimestamp,
+ onImportStarted = props.onImportStarted,
+ onImportFinished = props.onImportFinished,
+ period = props.period,
+ skipChecked = props.skipChecked;
+ var inProgress = typeof lastImportStartTimestamp !== 'undefined' && typeof lastImportStopTimestamp === 'undefined' || lastImportStartTimestamp > lastImportStopTimestamp;
+ var params = utils_formatParams(dateFormat, period, skipChecked); // Use timestamp to invalidate previous totals when the import finished/stopped
+
+ var _getImportTotals = getImportTotals(params, lastImportStopTimestamp),
+ customers = _getImportTotals.customers,
+ orders = _getImportTotals.orders;
+
+ var requirement = inProgress ? {
+ freshness: 3 * es["c" /* SECOND */],
+ timeout: 3 * es["c" /* SECOND */]
+ } : constants["a" /* DEFAULT_REQUIREMENT */]; // Use timestamp to invalidate previous status when a new import starts
+
+ var _getImportStatus = getImportStatus(lastImportStartTimestamp, requirement),
+ customersStatus = _getImportStatus.customers,
+ importDate = _getImportStatus.imported_from,
+ isImporting = _getImportStatus.is_importing,
+ ordersStatus = _getImportStatus.orders;
+
+ var _ref = customersStatus || {},
+ customersProgress = _ref.imported,
+ customersTotal = _ref.total;
+
+ var _ref2 = ordersStatus || {},
+ ordersProgress = _ref2.imported,
+ ordersTotal = _ref2.total;
+
+ var isStatusLoading = isGetImportStatusRequesting(lastImportStartTimestamp);
+ var hasImportStarted = Boolean(!lastImportStartTimestamp && !isStatusLoading && !inProgress && isImporting === true);
+
+ if (hasImportStarted) {
+ onImportStarted();
+ }
+
+ var hasImportFinished = Boolean(!isStatusLoading && inProgress && isImporting === false && (customersProgress === customersTotal && customersTotal > 0 || ordersProgress === ordersTotal && ordersTotal > 0));
+
+ if (hasImportFinished) {
+ onImportFinished();
+ }
+
+ if (!activeImport) {
+ return {
+ customersTotal: customers,
+ importDate: importDate,
+ ordersTotal: orders
+ };
+ }
+
+ return {
+ customersProgress: customersProgress,
+ customersTotal: Object(external_lodash_["isNil"])(customersTotal) ? customers : customersTotal,
+ importDate: importDate,
+ inProgress: inProgress,
+ ordersProgress: ordersProgress,
+ ordersTotal: Object(external_lodash_["isNil"])(ordersTotal) ? orders : ordersTotal
+ };
+})(layout_HistoricalDataLayout));
+// EXTERNAL MODULE: ./client/lib/tracks.js
+var tracks = __webpack_require__(79);
+
+// CONCATENATED MODULE: ./client/analytics/settings/historical-data/index.js
+
+
+
+
+
+
+
+
+
+function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+function historical_data_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (historical_data_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function historical_data_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+var historical_data_HistoricalData = /*#__PURE__*/function (_Component) {
+ inherits_default()(HistoricalData, _Component);
+
+ var _super = historical_data_createSuper(HistoricalData);
+
+ function HistoricalData() {
+ var _this;
+
+ classCallCheck_default()(this, HistoricalData);
+
+ _this = _super.apply(this, arguments);
+ _this.dateFormat = Object(external_this_wp_i18n_["__"])('MM/DD/YYYY', 'woocommerce-admin');
+ _this.state = {
+ // Whether there is an active import (which might have been stopped)
+ // that matches the period and skipChecked settings
+ activeImport: null,
+ lastImportStartTimestamp: 0,
+ lastImportStopTimestamp: 0,
+ period: {
+ date: external_moment_default()().format(_this.dateFormat),
+ label: 'all'
+ },
+ skipChecked: true
+ };
+ _this.makeQuery = _this.makeQuery.bind(assertThisInitialized_default()(_this));
+ _this.onImportFinished = _this.onImportFinished.bind(assertThisInitialized_default()(_this));
+ _this.onImportStarted = _this.onImportStarted.bind(assertThisInitialized_default()(_this));
+ _this.onDeletePreviousData = _this.onDeletePreviousData.bind(assertThisInitialized_default()(_this));
+ _this.onReimportData = _this.onReimportData.bind(assertThisInitialized_default()(_this));
+ _this.onStartImport = _this.onStartImport.bind(assertThisInitialized_default()(_this));
+ _this.onStopImport = _this.onStopImport.bind(assertThisInitialized_default()(_this));
+ _this.onDateChange = _this.onDateChange.bind(assertThisInitialized_default()(_this));
+ _this.onPeriodChange = _this.onPeriodChange.bind(assertThisInitialized_default()(_this));
+ _this.onSkipChange = _this.onSkipChange.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(HistoricalData, [{
+ key: "makeQuery",
+ value: function makeQuery(path, errorMessage) {
+ var _this2 = this;
+
+ var createNotice = this.props.createNotice;
+ external_this_wp_apiFetch_default()({
+ path: path,
+ method: 'POST'
+ }).then(function (response) {
+ if (response.status === 'success') {
+ createNotice('success', response.message);
+ } else {
+ createNotice('error', errorMessage);
+
+ _this2.setState({
+ activeImport: false,
+ lastImportStopTimestamp: Date.now()
+ });
+ }
+ }).catch(function (error) {
+ if (error && error.message) {
+ createNotice('error', error.message);
+
+ _this2.setState({
+ activeImport: false,
+ lastImportStopTimestamp: Date.now()
+ });
+ }
+ });
+ }
+ }, {
+ key: "onImportFinished",
+ value: function onImportFinished() {
+ var debouncedSpeak = this.props.debouncedSpeak;
+ debouncedSpeak('Import complete');
+ this.setState({
+ lastImportStopTimestamp: Date.now()
+ });
+ }
+ }, {
+ key: "onImportStarted",
+ value: function onImportStarted() {
+ var _this$props = this.props,
+ notes = _this$props.notes,
+ updateNote = _this$props.updateNote;
+ var historicalDataNote = notes.find(function (note) {
+ return note.name === 'wc-admin-historical-data';
+ });
+
+ if (historicalDataNote) {
+ updateNote(historicalDataNote.id, {
+ status: 'actioned'
+ });
+ }
+
+ this.setState({
+ activeImport: true,
+ lastImportStartTimestamp: Date.now()
+ });
+ }
+ }, {
+ key: "onDeletePreviousData",
+ value: function onDeletePreviousData() {
+ var path = '/wc-analytics/reports/import/delete';
+
+ var errorMessage = Object(external_this_wp_i18n_["__"])('There was a problem deleting your previous data.', 'woocommerce-admin');
+
+ this.makeQuery(path, errorMessage);
+ this.setState({
+ activeImport: false
+ });
+ Object(tracks["b" /* recordEvent */])('analytics_import_delete_previous');
+ }
+ }, {
+ key: "onReimportData",
+ value: function onReimportData() {
+ this.setState({
+ activeImport: false
+ });
+ }
+ }, {
+ key: "onStartImport",
+ value: function onStartImport() {
+ var _this$state = this.state,
+ period = _this$state.period,
+ skipChecked = _this$state.skipChecked;
+ var path = Object(external_this_wp_url_["addQueryArgs"])('/wc-analytics/reports/import', utils_formatParams(this.dateFormat, period, skipChecked));
+
+ var errorMessage = Object(external_this_wp_i18n_["__"])('There was a problem rebuilding your report data.', 'woocommerce-admin');
+
+ this.makeQuery(path, errorMessage);
+ this.onImportStarted();
+ }
+ }, {
+ key: "onStopImport",
+ value: function onStopImport() {
+ this.setState({
+ lastImportStopTimestamp: Date.now()
+ });
+ var path = '/wc-analytics/reports/import/cancel';
+
+ var errorMessage = Object(external_this_wp_i18n_["__"])('There was a problem stopping your current import.', 'woocommerce-admin');
+
+ this.makeQuery(path, errorMessage);
+ }
+ }, {
+ key: "onPeriodChange",
+ value: function onPeriodChange(val) {
+ this.setState({
+ activeImport: false,
+ period: _objectSpread({}, this.state.period, {
+ label: val
+ })
+ });
+ }
+ }, {
+ key: "onDateChange",
+ value: function onDateChange(val) {
+ this.setState({
+ activeImport: false,
+ period: {
+ date: val,
+ label: 'custom'
+ }
+ });
+ }
+ }, {
+ key: "onSkipChange",
+ value: function onSkipChange(val) {
+ this.setState({
+ activeImport: false,
+ skipChecked: val
+ });
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$state2 = this.state,
+ activeImport = _this$state2.activeImport,
+ lastImportStartTimestamp = _this$state2.lastImportStartTimestamp,
+ lastImportStopTimestamp = _this$state2.lastImportStopTimestamp,
+ period = _this$state2.period,
+ skipChecked = _this$state2.skipChecked;
+ return Object(external_this_wp_element_["createElement"])(layout, {
+ activeImport: activeImport,
+ dateFormat: this.dateFormat,
+ onImportFinished: this.onImportFinished,
+ onImportStarted: this.onImportStarted,
+ lastImportStartTimestamp: lastImportStartTimestamp,
+ lastImportStopTimestamp: lastImportStopTimestamp,
+ onPeriodChange: this.onPeriodChange,
+ onDateChange: this.onDateChange,
+ onSkipChange: this.onSkipChange,
+ onDeletePreviousData: this.onDeletePreviousData,
+ onReimportData: this.onReimportData,
+ onStartImport: this.onStartImport,
+ onStopImport: this.onStopImport,
+ period: period,
+ skipChecked: skipChecked
+ });
+ }
+ }]);
+
+ return HistoricalData;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var historical_data = (Object(compose["a" /* default */])([Object(with_select["a" /* default */])(function (select) {
+ var _select = select('wc-api'),
+ getNotes = _select.getNotes;
+
+ var notesQuery = {
+ page: 1,
+ per_page: constants["d" /* QUERY_DEFAULTS */].pageSize,
+ type: 'update',
+ status: 'unactioned'
+ };
+ var notes = getNotes(notesQuery);
+ return {
+ notes: notes
+ };
+}), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('wc-api'),
+ updateNote = _dispatch.updateNote;
+
+ return {
+ updateNote: updateNote
+ };
+}), with_spoken_messages["a" /* default */]])(historical_data_HistoricalData));
+// CONCATENATED MODULE: ./client/analytics/settings/index.js
+
+
+
+
+
+function settings_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function settings_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { settings_ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { settings_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+var SETTINGS_FILTER = 'woocommerce_admin_analytics_settings';
+
+var settings_Settings = function Settings(_ref) {
+ var createNotice = _ref.createNotice,
+ query = _ref.query;
+
+ var _useSettings = Object(external_this_wc_data_["useSettings"])('wc_admin', ['wcAdminSettings']),
+ settingsError = _useSettings.settingsError,
+ isRequesting = _useSettings.isRequesting,
+ isDirty = _useSettings.isDirty,
+ persistSettings = _useSettings.persistSettings,
+ updateAndPersistSettings = _useSettings.updateAndPersistSettings,
+ updateSettings = _useSettings.updateSettings,
+ wcAdminSettings = _useSettings.wcAdminSettings;
+
+ var hasSaved = Object(external_this_wp_element_["useRef"])(false);
+ Object(external_this_wp_element_["useEffect"])(function () {
+ function warnIfUnsavedChanges(event) {
+ if (isDirty) {
+ event.returnValue = Object(external_this_wp_i18n_["__"])('You have unsaved changes. If you proceed, they will be lost.', 'woocommerce-admin');
+ return event.returnValue;
+ }
+ }
+
+ window.addEventListener('beforeunload', warnIfUnsavedChanges);
+ return function () {
+ return window.removeEventListener('beforeunload', warnIfUnsavedChanges);
+ };
+ }, [isDirty]);
+ Object(external_this_wp_element_["useEffect"])(function () {
+ if (isRequesting) {
+ hasSaved.current = true;
+ return;
+ }
+
+ if (!isRequesting && hasSaved.current) {
+ if (!settingsError) {
+ createNotice('success', Object(external_this_wp_i18n_["__"])('Your settings have been successfully saved.', 'woocommerce-admin'));
+ } else {
+ createNotice('error', Object(external_this_wp_i18n_["__"])('There was an error saving your settings. Please try again.', 'woocommerce-admin'));
+ }
+
+ hasSaved.current = false;
+ }
+ }, [isRequesting, settingsError, createNotice]);
+
+ var resetDefaults = function resetDefaults() {
+ if ( // eslint-disable-next-line no-alert
+ window.confirm(Object(external_this_wp_i18n_["__"])('Are you sure you want to reset all settings to default values?', 'woocommerce-admin'))) {
+ var resetSettings = Object.keys(config["b" /* config */]).reduce(function (result, setting) {
+ result[setting] = config["b" /* config */][setting].defaultValue;
+ return result;
+ }, {});
+ updateAndPersistSettings('wcAdminSettings', resetSettings);
+ Object(tracks["b" /* recordEvent */])('analytics_settings_reset_defaults');
+ }
+ };
+
+ var saveChanges = function saveChanges() {
+ persistSettings();
+ Object(tracks["b" /* recordEvent */])('analytics_settings_save', wcAdminSettings); // On save, reset persisted query properties of Nav Menu links to default
+
+ query.period = undefined;
+ query.compare = undefined;
+ query.before = undefined;
+ query.after = undefined;
+ query.interval = undefined;
+ query.type = undefined;
+ window.wpNavMenuUrlUpdate(query);
+ };
+
+ var handleInputChange = function handleInputChange(e) {
+ var _e$target = e.target,
+ checked = _e$target.checked,
+ name = _e$target.name,
+ type = _e$target.type,
+ value = _e$target.value;
+
+ var nextSettings = settings_objectSpread({}, wcAdminSettings);
+
+ if (type === 'checkbox') {
+ if (checked) {
+ nextSettings[name] = [].concat(toConsumableArray_default()(nextSettings[name]), [value]);
+ } else {
+ nextSettings[name] = nextSettings[name].filter(function (v) {
+ return v !== value;
+ });
+ }
+ } else {
+ nextSettings[name] = value;
+ }
+
+ updateSettings('wcAdminSettings', nextSettings);
+ };
+
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["SectionHeader"], {
+ title: Object(external_this_wp_i18n_["__"])('Analytics Settings', 'woocommerce-admin')
+ }), Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-settings__wrapper"
+ }, Object.keys(config["b" /* config */]).map(function (setting) {
+ return Object(external_this_wp_element_["createElement"])(analytics_settings_setting, extends_default()({
+ handleChange: handleInputChange,
+ value: wcAdminSettings[setting],
+ key: setting,
+ name: setting
+ }, config["b" /* config */][setting]));
+ }), Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-settings__actions"
+ }, Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isDefault: true,
+ onClick: resetDefaults
+ }, Object(external_this_wp_i18n_["__"])('Reset Defaults', 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isPrimary: true,
+ isBusy: isRequesting,
+ onClick: saveChanges
+ }, Object(external_this_wp_i18n_["__"])('Save Settings', 'woocommerce-admin')))), query.import === 'true' ? Object(external_this_wp_element_["createElement"])(external_this_wc_components_["ScrollTo"], {
+ offset: "-56"
+ }, Object(external_this_wp_element_["createElement"])(historical_data, {
+ createNotice: createNotice
+ })) : Object(external_this_wp_element_["createElement"])(historical_data, {
+ createNotice: createNotice
+ }));
+};
+
+/* harmony default export */ var analytics_settings = __webpack_exports__["default"] = (Object(compose["a" /* default */])(Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('core/notices'),
+ createNotice = _dispatch.createNotice;
+
+ return {
+ createNotice: createNotice
+ };
+}))(Object(external_this_wc_components_["useFilters"])(SETTINGS_FILTER)(settings_Settings)));
+
+/***/ })
+
+}]);
\ No newline at end of file
diff --git a/dist/chunks/analytics-settings.5be0a529e94eb8e85ea7.min.js b/dist/chunks/analytics-settings.5be0a529e94eb8e85ea7.min.js
new file mode 100644
index 00000000000..fc7c9b77efc
--- /dev/null
+++ b/dist/chunks/analytics-settings.5be0a529e94eb8e85ea7.min.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{119:function(e,t,a){"use strict";var n=a(27),o=a(16),r=a(0);t.a=function(e){var t=e.as,a=void 0===t?"div":t,c=Object(o.a)(e,["as"]);return function(e){var t=e.as,a=void 0===t?"div":t,n=Object(o.a)(e,["as"]);return"function"==typeof n.children?n.children(n):Object(r.createElement)(a,n)}(Object(n.a)({as:a,className:"components-visually-hidden"},c))}},171:function(e,t,a){"use strict";var n=a(0),o=a(10),r=a.n(o),c=a(119);function i(e){var t=e.id,a=e.label,o=e.hideLabelFromVision,s=e.help,l=e.className,m=e.children;return Object(n.createElement)("div",{className:r()("components-base-control",l)},Object(n.createElement)("div",{className:"components-base-control__field"},a&&t&&(o?Object(n.createElement)(c.a,{as:"label",htmlFor:t},a):Object(n.createElement)("label",{className:"components-base-control__label",htmlFor:t},a)),a&&!t&&(o?Object(n.createElement)(c.a,{as:"label"},a):Object(n.createElement)(i.VisualLabel,null,a)),m),!!s&&Object(n.createElement)("p",{id:t+"__help",className:"components-base-control__help"},s))}i.VisualLabel=function(e){var t=e.className,a=e.children;return t=r()("components-base-control__label",t),Object(n.createElement)("span",{className:t},a)},t.a=i},173:function(e,t,a){"use strict";var n=a(11),o=a(0),r=a(53),c=new WeakMap;function i(e){return Object(o.useMemo)((function(){return function(e){var t=c.get(e)||0;return c.set(e,t+1),t}(e)}),[e])}t.a=Object(r.a)((function(e){return function(t){var a=i(e);return Object(o.createElement)(e,Object(n.a)({},t,{instanceId:a}))}}),"withInstanceId")},709:function(e,t,a){"use strict";var n=a(11),o=a(17),r=a(16),c=a(0),i=a(2),s=a(173),l=a(171);t.a=Object(s.a)((function(e){var t=e.help,a=e.instanceId,s=e.label,m=e.multiple,u=void 0!==m&&m,p=e.onChange,d=e.options,b=void 0===d?[]:d,h=e.className,f=e.hideLabelFromVision,O=Object(r.a)(e,["help","instanceId","label","multiple","onChange","options","className","hideLabelFromVision"]),j="inspector-select-control-".concat(a);return!Object(i.isEmpty)(b)&&Object(c.createElement)(l.a,{label:s,hideLabelFromVision:f,id:j,help:t,className:h},Object(c.createElement)("select",Object(n.a)({id:j,className:"components-select-control__input",onChange:function(e){if(u){var t=Object(o.a)(e.target.options).filter((function(e){return e.selected})).map((function(e){return e.value}));p(t)}else p(e.target.value)},"aria-describedby":t?"".concat(j,"__help"):void 0,multiple:u},O),b.map((function(e,t){return Object(c.createElement)("option",{key:"".concat(e.label,"-").concat(e.value,"-").concat(t),value:e.value,disabled:e.disabled},e.label)}))))}))},710:function(e,t,a){"use strict";a.d(t,"a",(function(){return o}));var n=a(0);function o(){return Object(n.createElement)("span",{className:"components-spinner"})}},716:function(e,t,a){"use strict";var n=a(11),o=a(7),r=a(6),c=a(8),i=a(4),s=a(5),l=a(9),m=a(0),u=a(2),p=a(169),d=a(53);t.a=Object(d.a)((function(e){return function(t){function a(){var e;return Object(o.a)(this,a),(e=Object(c.a)(this,Object(i.a)(a).apply(this,arguments))).debouncedSpeak=Object(u.debounce)(e.speak.bind(Object(s.a)(e)),500),e}return Object(l.a)(a,t),Object(r.a)(a,[{key:"speak",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"polite";Object(p.a)(e,t)}},{key:"componentWillUnmount",value:function(){this.debouncedSpeak.cancel()}},{key:"render",value:function(){return Object(m.createElement)(e,Object(n.a)({},this.props,{speak:this.speak,debouncedSpeak:this.debouncedSpeak}))}}]),a}(m.Component)}),"withSpokenMessages")},760:function(e,t,a){"use strict";var n=a(11),o=a(16),r=a(0),c=a(173),i=a(171),s=a(80);t.a=Object(c.a)((function(e){var t=e.label,a=e.className,c=e.heading,l=e.checked,m=e.help,u=e.instanceId,p=e.onChange,d=Object(o.a)(e,["label","className","heading","checked","help","instanceId","onChange"]),b="inspector-checkbox-control-".concat(u);return Object(r.createElement)(i.a,{label:c,id:b,help:m,className:a},Object(r.createElement)("span",{className:"components-checkbox-control__input-container"},Object(r.createElement)("input",Object(n.a)({id:b,className:"components-checkbox-control__input",type:"checkbox",value:"1",onChange:function(e){return p(e.target.checked)},checked:l,"aria-describedby":m?b+"__help":void 0},d)),l?Object(r.createElement)(s.a,{icon:"yes",className:"components-checkbox-control__checked",role:"presentation"}):null),Object(r.createElement)("label",{className:"components-checkbox-control__label",htmlFor:b},t))}))},779:function(e,t,a){},780:function(e,t,a){},781:function(e,t,a){},905:function(e,t,a){"use strict";a.r(t);var n=a(105),o=a.n(n),r=a(32),c=a.n(r),i=a(15),s=a.n(i),l=a(0),m=a(3),u=a(88),p=a(256),d=a(19),b=a(63),h=a(51),f=(a(779),a(263)),O=a(41),j=a.n(O),v=a(40),g=a.n(v),_=a(44),y=a.n(_),w=a(29),k=a.n(w),E=a(42),S=a.n(E),I=a(1),D=a.n(I),C=a(2);a(780);function N(){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}}var P=function(e){S()(n,e);var t,a=(t=n,function(){var e,a=k()(t);if(N()){var n=k()(this).constructor;e=Reflect.construct(a,arguments,n)}else e=a.apply(this,arguments);return y()(this,e)});function n(e){var t;return j()(this,n),(t=a.call(this,e)).renderInput=function(){var e=t.props,a=e.handleChange,n=e.name,r=e.inputText,c=e.inputType,i=e.options,s=e.value,m=e.component,p=t.state.disabled;switch(c){case"checkboxGroup":return i.map((function(e){return e.options.length>0&&Object(l.createElement)("div",{className:"woocommerce-setting__options-group",key:e.key,"aria-labelledby":n+"-label"},e.label&&Object(l.createElement)("span",{className:"woocommerce-setting__options-group-label"},e.label),t.renderCheckboxOptions(e.options))}));case"checkbox":return t.renderCheckboxOptions(i);case"button":return Object(l.createElement)(u.a,{isDefault:!0,onClick:t.handleInputCallback,disabled:p},r);case"component":var d=m;return Object(l.createElement)(d,o()({value:s,onChange:a},t.props));case"text":default:var b=Object(C.uniqueId)(n);return Object(l.createElement)("input",{id:b,type:"text",name:n,onChange:a,value:s,placeholder:r,disabled:p})}},t.handleInputCallback=function(){var e=t.props,a=e.createNotice,n=e.callback;if("function"==typeof n)return new Promise((function(e,o){t.setState({disabled:!0}),n(e,o,a)})).then((function(){t.setState({disabled:!1})})).catch((function(){t.setState({disabled:!1})}))},t.state={disabled:!1},t}return g()(n,[{key:"renderCheckboxOptions",value:function(e){var t=this.props,a=t.handleChange,n=t.name,o=t.value,r=this.state.disabled;return e.map((function(e){var t=Object(C.uniqueId)(n+"-"+e.value);return Object(l.createElement)("label",{htmlFor:t,key:e.value},Object(l.createElement)("input",{id:t,type:"checkbox",name:n,onChange:a,"aria-label":e.description,checked:o&&o.includes(e.value),value:e.value,disabled:r}),e.label)}))}},{key:"render",value:function(){var e=this.props,t=e.helpText,a=e.label,n=e.name;return Object(l.createElement)("div",{className:"woocommerce-setting"},Object(l.createElement)("div",{className:"woocommerce-setting__label",id:n+"-label"},a),Object(l.createElement)("div",{className:"woocommerce-setting__input"},this.renderInput(),t&&Object(l.createElement)("span",{className:"woocommerce-setting__help"},t)))}}]),n}(l.Component);P.propTypes={callback:D.a.func,handleChange:D.a.func.isRequired,helpText:D.a.oneOfType([D.a.string,D.a.array]),inputText:D.a.string,inputType:D.a.oneOf(["button","checkbox","checkboxGroup","text","component"]),label:D.a.string.isRequired,name:D.a.string.isRequired,options:D.a.arrayOf(D.a.shape({value:D.a.string,label:D.a.string,description:D.a.string,key:D.a.string,options:D.a.array})),value:D.a.oneOfType([D.a.string,D.a.array])};var T=Object(p.a)(Object(d.withDispatch)((function(e){return{createNotice:e("core/notices").createNotice}})))(P),F=a(59),R=a.n(F),x=a(30),A=a(20),L=a.n(A),V=a(12),Y=a.n(V),z=a(716),M=function(e,t,a){var n={};if(a&&(n.skip_existing=!0),"all"!==t.label)if("custom"===t.label){var o=Y()().diff(Y()(t.date,e),"days",!0);n.days=Math.floor(o)}else n.days=parseInt(t.label,10);return n},q=a(170),Q=a(24);var H=function(e){var t,a=e.importDate,n=e.onDeletePreviousData,o=e.onReimportData,r=e.onStartImport,c=e.onStopImport,i=e.status;return Object(l.createElement)("div",{className:"woocommerce-settings__actions woocommerce-settings-historical-data__actions"},(t="ready"!==i,["initializing","customers","orders","finalizing"].includes(i)?Object(l.createElement)(l.Fragment,null,Object(l.createElement)(u.a,{className:"woocommerce-settings-historical-data__action-button",isPrimary:!0,onClick:c},Object(m.__)("Stop Import","woocommerce-admin")),Object(l.createElement)("div",{className:"woocommerce-setting__help woocommerce-settings-historical-data__action-help"},Object(m.__)("Imported data will not be lost if the import is stopped.","woocommerce-admin"),Object(l.createElement)("br",null),Object(m.__)("Navigating away from this page will not affect the import.","woocommerce-admin"))):["ready","nothing"].includes(i)?a?Object(l.createElement)(l.Fragment,null,Object(l.createElement)(u.a,{isPrimary:!0,onClick:r,disabled:t},Object(m.__)("Start","woocommerce-admin")),Object(l.createElement)(u.a,{isDefault:!0,onClick:n},Object(m.__)("Delete Previously Imported Data","woocommerce-admin"))):Object(l.createElement)(l.Fragment,null,Object(l.createElement)(u.a,{isPrimary:!0,onClick:r,disabled:t},Object(m.__)("Start","woocommerce-admin"))):Object(l.createElement)(l.Fragment,null,Object(l.createElement)(u.a,{isDefault:!0,onClick:o},Object(m.__)("Re-import Data","woocommerce-admin")),Object(l.createElement)(u.a,{isDefault:!0,onClick:n},Object(m.__)("Delete Previously Imported Data","woocommerce-admin")))))},B=a(709),U=a(104);var G=function(e){var t,a=e.dateFormat,n=e.disabled,o=e.onDateChange,r=e.onPeriodChange,c=e.value,i=function(e){e.date&&e.date.isValid?o(e.date.format(a)):o(e.text)},s=function(e){return e.isValid()&&c.date.length===a.length?e.isAfter(new Date,"day")?U.b.future:null:U.b.invalid};return Object(l.createElement)("div",{className:"woocommerce-settings-historical-data__columns"},Object(l.createElement)("div",{className:"woocommerce-settings-historical-data__column"},Object(l.createElement)(B.a,{label:Object(m.__)("Import Historical Data","woocommerce-admin"),value:c.label,disabled:n,onChange:function(e){r(e)},options:[{label:"All",value:"all"},{label:"Last 365 days",value:"365"},{label:"Last 90 days",value:"90"},{label:"Last 30 days",value:"30"},{label:"Last 7 days",value:"7"},{label:"Last 24 hours",value:"1"},{label:"Custom",value:"custom"}]})),"custom"===c.label&&(t=Y()(c.date,a),Object(l.createElement)("div",{className:"woocommerce-settings-historical-data__column"},Object(l.createElement)("div",{className:"woocommerce-settings-historical-data__column-label"},Object(m.__)("Beginning on","woocommerce-admin")),Object(l.createElement)(b.DatePicker,{date:t.isValid()?t.toDate():null,dateFormat:a,disabled:n,error:s(t),isInvalidDate:function(e){return Y()(e).isAfter(new Date,"day")},onUpdate:i,text:c.date}))))};var W=function(e){var t=e.label,a=e.progress,n=e.total,o=Object(m.sprintf)(Object(m.__)("Imported %(label)s","woocommerce-admin"),{label:t}),r=Object(C.isNil)(n)?null:Object(m.sprintf)(Object(m.__)("%(progress)s of %(total)s","woocommerce-admin"),{progress:a||0,total:n});return Object(l.createElement)("div",{className:"woocommerce-settings-historical-data__progress"},Object(l.createElement)("span",{className:"woocommerce-settings-historical-data__progress-label"},o),r&&Object(l.createElement)("span",{className:"woocommerce-settings-historical-data__progress-label"},r),Object(l.createElement)("progress",{className:"woocommerce-settings-historical-data__progress-bar",max:n,value:a||0}))},J=a(48),K=a(710);var X=Object(b.useFilters)("woocommerce_admin_import_status")((function(e){var t=e.importDate,a=e.status,n=Object(J.applyFilters)("woocommerce_admin_import_status",{nothing:Object(m.__)("Nothing To Import","woocommerce-admin"),ready:Object(m.__)("Ready To Import","woocommerce-admin"),initializing:[Object(m.__)("Initializing","woocommerce-admin"),Object(l.createElement)(K.a,{key:"spinner"})],customers:[Object(m.__)("Importing Customers","woocommerce-admin"),Object(l.createElement)(K.a,{key:"spinner"})],orders:[Object(m.__)("Importing Orders","woocommerce-admin"),Object(l.createElement)(K.a,{key:"spinner"})],finalizing:[Object(m.__)("Finalizing","woocommerce-admin"),Object(l.createElement)(K.a,{key:"spinner"})],finished:-1===t?Object(m.__)("All historical data imported","woocommerce-admin"):Object(m.sprintf)(Object(m.__)("Historical data from %s onward imported","woocommerce-admin"),Y()(t).format("YYYY-MM-DD"))});return Object(l.createElement)("span",{className:"woocommerce-settings-historical-data__status"},Object(m.__)("Status:","woocommerce-admin")+" ",n[a])})),Z=a(760);var $=function(e){var t=e.checked,a=e.disabled,n=e.onChange;return Object(l.createElement)(Z.a,{className:"woocommerce-settings-historical-data__skip-checkbox",checked:t,disabled:a,label:Object(m.__)("Skip previously imported customers and orders","woocommerce-admin"),onChange:n})},ee=a(101);a(781);function te(){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}}var ae=function(e){S()(n,e);var t,a=(t=n,function(){var e,a=k()(t);if(te()){var n=k()(this).constructor;e=Reflect.construct(a,arguments,n)}else e=a.apply(this,arguments);return y()(this,e)});function n(){return j()(this,n),a.apply(this,arguments)}return g()(n,[{key:"render",value:function(){var e=this.props,t=e.customersProgress,a=e.customersTotal,n=e.dateFormat,o=e.importDate,r=e.inProgress,c=e.onPeriodChange,i=e.onDateChange,s=e.onSkipChange,u=e.onDeletePreviousData,p=e.onReimportData,d=e.onStartImport,h=e.onStopImport,f=e.ordersProgress,O=e.ordersTotal,j=e.period,v=e.skipChecked,g=function(e){var t=e.customersProgress,a=e.customersTotal,n=e.inProgress,o=e.ordersProgress,r=e.ordersTotal;return n?Object(C.isNil)(t)||Object(C.isNil)(o)||Object(C.isNil)(a)||Object(C.isNil)(r)?"initializing":t0||r>0?t===a&&o===r?"finished":"ready":"nothing"}({customersProgress:t,customersTotal:a,inProgress:r,ordersProgress:f,ordersTotal:O});return Object(l.createElement)(l.Fragment,null,Object(l.createElement)(b.SectionHeader,{title:Object(m.__)("Import Historical Data","woocommerce-admin")}),Object(l.createElement)("div",{className:"woocommerce-settings__wrapper"},Object(l.createElement)("div",{className:"woocommerce-setting"},Object(l.createElement)("div",{className:"woocommerce-setting__input"},Object(l.createElement)("span",{className:"woocommerce-setting__help"},Object(m.__)("This tool populates historical analytics data by processing customers and orders created prior to activating WooCommerce Admin.","woocommerce-admin")),"finished"!==g&&Object(l.createElement)(l.Fragment,null,Object(l.createElement)(G,{dateFormat:n,disabled:r,onPeriodChange:c,onDateChange:i,value:j}),Object(l.createElement)($,{disabled:r,checked:v,onChange:s}),Object(l.createElement)(W,{label:Object(m.__)("Registered Customers","woocommerce-admin"),progress:t,total:a}),Object(l.createElement)(W,{label:Object(m.__)("Orders and Refunds","woocommerce-admin"),progress:f,total:O})),Object(l.createElement)(X,{importDate:o,status:g})))),Object(l.createElement)(H,{importDate:o,onDeletePreviousData:u,onReimportData:p,onStartImport:d,onStopImport:h,status:g}))}}]),n}(l.Component),ne=Object(ee.a)((function(e,t){var a=e("wc-api"),n=a.getImportStatus,o=a.isGetImportStatusRequesting,r=a.getImportTotals,c=t.activeImport,i=t.dateFormat,s=t.lastImportStartTimestamp,l=t.lastImportStopTimestamp,m=t.onImportStarted,u=t.onImportFinished,p=t.period,d=t.skipChecked,b=void 0!==s&&void 0===l||s>l,h=r(M(i,p,d),l),f=h.customers,O=h.orders,j=n(s,b?{freshness:3*q.c,timeout:3*q.c}:Q.a),v=j.customers,g=j.imported_from,_=j.is_importing,y=j.orders,w=v||{},k=w.imported,E=w.total,S=y||{},I=S.imported,D=S.total,N=o(s);return Boolean(!s&&!N&&!b&&!0===_)&&m(),Boolean(!N&&b&&!1===_&&(k===E&&E>0||I===D&&D>0))&&u(),c?{customersProgress:k,customersTotal:Object(C.isNil)(E)?f:E,importDate:g,inProgress:b,ordersProgress:I,ordersTotal:Object(C.isNil)(D)?O:D}:{customersTotal:f,importDate:g,ordersTotal:O}}))(ae),oe=a(79);function re(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function ce(e){for(var t=1;t 0 ? 'down' : 'up'
+ };
+ Object(tracks["b" /* recordEvent */])('dash_section_order_change', eventProps);
+ } else {
+ // No, lets try the next one.
+ this.onMove(index, change + change);
+ }
+ }
+ }, {
+ key: "renderAddMore",
+ value: function renderAddMore() {
+ var _this5 = this;
+
+ var sections = this.state.sections;
+ var hiddenSections = sections.filter(function (section) {
+ return section.isVisible === false;
+ });
+
+ if (hiddenSections.length === 0) {
+ return null;
+ }
+
+ return Object(external_this_wp_element_["createElement"])(dropdown["a" /* default */], {
+ position: "top center",
+ className: "woocommerce-dashboard-section__add-more",
+ renderToggle: function renderToggle(_ref) {
+ var onToggle = _ref.onToggle,
+ isOpen = _ref.isOpen;
+ return Object(external_this_wp_element_["createElement"])(icon_button["a" /* default */], {
+ onClick: onToggle,
+ icon: "plus-alt",
+ title: Object(external_this_wp_i18n_["__"])('Add more sections', 'woocommerce-admin'),
+ "aria-expanded": isOpen
+ });
+ },
+ renderContent: function renderContent(_ref2) {
+ var onToggle = _ref2.onToggle;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["H"], null, Object(external_this_wp_i18n_["__"])('Dashboard Sections', 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-dashboard-section__add-more-choices"
+ }, hiddenSections.map(function (section) {
+ return Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ key: section.key,
+ onClick: _this5.toggleVisibility(section.key, onToggle),
+ className: "woocommerce-dashboard-section__add-more-btn",
+ title: Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('Add %s section', 'woocommerce-admin'), section.title)
+ }, Object(external_this_wp_element_["createElement"])(icon["a" /* default */], {
+ icon: section.icon,
+ size: 30
+ }), Object(external_this_wp_element_["createElement"])("span", {
+ className: "woocommerce-dashboard-section__add-more-btn-title"
+ }, section.title));
+ })));
+ }
+ });
+ }
+ }, {
+ key: "renderDashboardReports",
+ value: function renderDashboardReports() {
+ var _this6 = this;
+
+ var _this$props = this.props,
+ query = _this$props.query,
+ path = _this$props.path,
+ defaultDateRange = _this$props.defaultDateRange;
+ var sections = this.state.sections;
+
+ var _getDateParamsFromQue = Object(date["h" /* getDateParamsFromQuery */])(query, defaultDateRange),
+ period = _getDateParamsFromQue.period,
+ compare = _getDateParamsFromQue.compare,
+ before = _getDateParamsFromQue.before,
+ after = _getDateParamsFromQue.after;
+
+ var _getCurrentDates = Object(date["f" /* getCurrentDates */])(query, defaultDateRange),
+ primaryDate = _getCurrentDates.primary,
+ secondaryDate = _getCurrentDates.secondary;
+
+ var dateQuery = {
+ period: period,
+ compare: compare,
+ before: before,
+ after: after,
+ primaryDate: primaryDate,
+ secondaryDate: secondaryDate
+ };
+ var visibleSectionKeys = sections.filter(function (section) {
+ return section.isVisible;
+ }).map(function (section) {
+ return section.key;
+ });
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(report_filters["a" /* default */], {
+ report: "dashboard",
+ query: query,
+ path: path,
+ dateQuery: dateQuery,
+ isoDateFormat: date["k" /* isoDateFormat */],
+ filters: filters
+ }), sections.map(function (section, index) {
+ if (section.isVisible) {
+ return Object(external_this_wp_element_["createElement"])(section_Section, {
+ component: section.component,
+ hiddenBlocks: section.hiddenBlocks,
+ key: section.key,
+ onChangeHiddenBlocks: _this6.onChangeHiddenBlocks(section.key),
+ onTitleUpdate: _this6.onSectionTitleUpdate(section.key),
+ path: path,
+ query: query,
+ title: section.title,
+ onMove: Object(external_lodash_["partial"])(_this6.onMove, index),
+ onRemove: _this6.toggleVisibility(section.key),
+ isFirst: section.key === visibleSectionKeys[0],
+ isLast: section.key === visibleSectionKeys[visibleSectionKeys.length - 1]
+ });
+ }
+
+ return null;
+ }), this.renderAddMore());
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props2 = this.props,
+ query = _this$props2.query,
+ taskListHidden = _this$props2.taskListHidden,
+ taskListComplete = _this$props2.taskListComplete;
+ var isTaskListEnabled = Object(utils["e" /* isOnboardingEnabled */])() && !taskListHidden;
+ var isDashboardShown = !isTaskListEnabled || !query.task && taskListComplete;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, isTaskListEnabled && Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Suspense"], {
+ fallback: Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Spinner"], null)
+ }, Object(external_this_wp_element_["createElement"])(TaskList, {
+ query: query,
+ inline: isDashboardShown
+ })), isDashboardShown && this.renderDashboardReports());
+ }
+ }]);
+
+ return CustomizableDashboard;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var customizable = __webpack_exports__["default"] = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select) {
+ var _select = select('wc-api'),
+ getCurrentUserData = _select.getCurrentUserData,
+ isGetProfileItemsRequesting = _select.isGetProfileItemsRequesting,
+ getOptions = _select.getOptions,
+ isGetOptionsRequesting = _select.isGetOptionsRequesting;
+
+ var userData = getCurrentUserData();
+
+ var _select$getSetting = select(external_this_wc_data_["SETTINGS_STORE_NAME"]).getSetting('wc_admin', 'wcAdminSettings'),
+ defaultDateRange = _select$getSetting.woocommerce_default_date_range;
+
+ var withSelectData = {
+ userPrefSections: userData.dashboard_sections,
+ defaultDateRange: defaultDateRange,
+ requesting: false
+ };
+
+ if (Object(utils["e" /* isOnboardingEnabled */])()) {
+ var options = getOptions(['woocommerce_task_list_complete', 'woocommerce_task_list_hidden']);
+ withSelectData.taskListHidden = Object(external_lodash_["get"])(options, ['woocommerce_task_list_hidden'], 'no') === 'yes';
+ withSelectData.taskListComplete = Object(external_lodash_["get"])(options, ['woocommerce_task_list_complete'], false);
+ withSelectData.requesting = withSelectData.requesting || isGetProfileItemsRequesting();
+ withSelectData.requesting = withSelectData.requesting || isGetOptionsRequesting(['woocommerce_task_list_payments', 'woocommerce_task_list_hidden']);
+ }
+
+ return withSelectData;
+}), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('wc-api'),
+ updateCurrentUserData = _dispatch.updateCurrentUserData;
+
+ return {
+ updateCurrentUserData: updateCurrentUserData
+ };
+}))(customizable_CustomizableDashboard));
+
+/***/ })
+
+}]);
\ No newline at end of file
diff --git a/dist/chunks/customizable-dashboard.6f12fadc21b5ed6566aa.min.js b/dist/chunks/customizable-dashboard.6f12fadc21b5ed6566aa.min.js
new file mode 100644
index 00000000000..a7f47ff6bf2
--- /dev/null
+++ b/dist/chunks/customizable-dashboard.6f12fadc21b5ed6566aa.min.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{119:function(e,t,n){"use strict";var r=n(27),o=n(16),c=n(0);t.a=function(e){var t=e.as,n=void 0===t?"div":t,a=Object(o.a)(e,["as"]);return function(e){var t=e.as,n=void 0===t?"div":t,r=Object(o.a)(e,["as"]);return"function"==typeof r.children?r.children(r):Object(c.createElement)(n,r)}(Object(r.a)({as:n,className:"components-visually-hidden"},a))}},171:function(e,t,n){"use strict";var r=n(0),o=n(10),c=n.n(o),a=n(119);function i(e){var t=e.id,n=e.label,o=e.hideLabelFromVision,s=e.help,l=e.className,u=e.children;return Object(r.createElement)("div",{className:c()("components-base-control",l)},Object(r.createElement)("div",{className:"components-base-control__field"},n&&t&&(o?Object(r.createElement)(a.a,{as:"label",htmlFor:t},n):Object(r.createElement)("label",{className:"components-base-control__label",htmlFor:t},n)),n&&!t&&(o?Object(r.createElement)(a.a,{as:"label"},n):Object(r.createElement)(i.VisualLabel,null,n)),u),!!s&&Object(r.createElement)("p",{id:t+"__help",className:"components-base-control__help"},s))}i.VisualLabel=function(e){var t=e.className,n=e.children;return t=c()("components-base-control__label",t),Object(r.createElement)("span",{className:t},n)},t.a=i},173:function(e,t,n){"use strict";var r=n(11),o=n(0),c=n(53),a=new WeakMap;function i(e){return Object(o.useMemo)((function(){return function(e){var t=a.get(e)||0;return a.set(e,t+1),t}(e)}),[e])}t.a=Object(c.a)((function(e){return function(t){var n=i(e);return Object(o.createElement)(e,Object(r.a)({},t,{instanceId:n}))}}),"withInstanceId")},711:function(e,t,n){"use strict";var r=n(11),o=n(7),c=n(6),a=n(8),i=n(4),s=n(5),l=n(9),u=n(0),d=n(10),p=n.n(d),b=n(92),f=function(e){function t(){var e;return Object(o.a)(this,t),(e=Object(a.a)(this,Object(i.a)(t).apply(this,arguments))).toggle=e.toggle.bind(Object(s.a)(e)),e.close=e.close.bind(Object(s.a)(e)),e.closeIfFocusOutside=e.closeIfFocusOutside.bind(Object(s.a)(e)),e.containerRef=Object(u.createRef)(),e.state={isOpen:!1},e}return Object(l.a)(t,e),Object(c.a)(t,[{key:"componentWillUnmount",value:function(){var e=this.state.isOpen,t=this.props.onToggle;e&&t&&t(!1)}},{key:"componentDidUpdate",value:function(e,t){var n=this.state.isOpen,r=this.props.onToggle;t.isOpen!==n&&r&&r(n)}},{key:"toggle",value:function(){this.setState((function(e){return{isOpen:!e.isOpen}}))}},{key:"closeIfFocusOutside",value:function(){this.containerRef.current.contains(document.activeElement)||document.activeElement.closest('[role="dialog"]')||this.close()}},{key:"close",value:function(){this.props.onClose&&this.props.onClose(),this.setState({isOpen:!1})}},{key:"render",value:function(){var e=this.state.isOpen,t=this.props,n=t.renderContent,o=t.renderToggle,c=t.position,a=void 0===c?"bottom":c,i=t.className,s=t.contentClassName,l=t.expandOnMobile,d=t.headerTitle,f=t.focusOnMount,m=t.popoverProps,h={isOpen:e,onToggle:this.toggle,onClose:this.close};return Object(u.createElement)("div",{className:p()("components-dropdown",i),ref:this.containerRef},o(h),e&&Object(u.createElement)(b.a,Object(r.a)({className:s,position:a,onClose:this.close,onFocusOutside:this.closeIfFocusOutside,expandOnMobile:l,headerTitle:d,focusOnMount:f},m),n(h)))}}]),t}(u.Component);t.a=f},712:function(e,t,n){"use strict";var r=n(11),o=n(16),c=n(0),a=n(173),i=n(171);t.a=Object(a.a)((function(e){var t=e.label,n=e.hideLabelFromVision,a=e.value,s=e.help,l=e.className,u=e.instanceId,d=e.onChange,p=e.type,b=void 0===p?"text":p,f=Object(o.a)(e,["label","hideLabelFromVision","value","help","className","instanceId","onChange","type"]),m="inspector-text-control-".concat(u);return Object(c.createElement)(i.a,{label:t,hideLabelFromVision:n,id:m,help:s,className:l},Object(c.createElement)("input",Object(r.a)({className:"components-text-control__input",type:b,id:m,value:a,onChange:function(e){return d(e.target.value)},"aria-describedby":s?m+"__help":void 0},f)))}))},745:function(e,t,n){"use strict";var r=n(15),o=n.n(r),c=n(41),a=n.n(c),i=n(40),s=n.n(i),l=n(59),u=n.n(l),d=n(44),p=n.n(d),b=n(29),f=n.n(b),m=n(42),h=n.n(m),v=n(0),O=n(1),y=n.n(O),_=n(2),j=n(19),k=n(63),g=n(26),w=n(51),E=n(79),S=n(104),D=n(203);function R(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function T(){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}}var C=function(e){h()(r,e);var t,n=(t=r,function(){var e,n=f()(t);if(T()){var r=f()(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return p()(this,e)});function r(){var e;return a()(this,r),(e=n.call(this)).trackDateSelect=e.trackDateSelect.bind(u()(e)),e.trackFilterSelect=e.trackFilterSelect.bind(u()(e)),e.trackAdvancedFilterAction=e.trackAdvancedFilterAction.bind(u()(e)),e}return s()(r,[{key:"trackDateSelect",value:function(e){var t=this.props.report;Object(E.b)("datepicker_update",function(e){for(var t=1;t0?"down":"up"};Object(G.b)("dash_section_order_change",c)}else this.onMove(e,t+t)}},{key:"renderAddMore",value:function(){var e=this,t=this.state.sections.filter((function(e){return!1===e.isVisible}));return 0===t.length?null:Object(y.createElement)(g.a,{position:"top center",className:"woocommerce-dashboard-section__add-more",renderToggle:function(e){var t=e.onToggle,n=e.isOpen;return Object(y.createElement)(w.a,{onClick:t,icon:"plus-alt",title:Object(_.__)("Add more sections","woocommerce-admin"),"aria-expanded":n})},renderContent:function(n){var r=n.onToggle;return Object(y.createElement)(y.Fragment,null,Object(y.createElement)(T.H,null,Object(_.__)("Dashboard Sections","woocommerce-admin")),Object(y.createElement)("div",{className:"woocommerce-dashboard-section__add-more-choices"},t.map((function(t){return Object(y.createElement)(E.a,{key:t.key,onClick:e.toggleVisibility(t.key,r),className:"woocommerce-dashboard-section__add-more-btn",title:Object(_.sprintf)(Object(_.__)("Add %s section","woocommerce-admin"),t.title)},Object(y.createElement)(S.a,{icon:t.icon,size:30}),Object(y.createElement)("span",{className:"woocommerce-dashboard-section__add-more-btn-title"},t.title))}))))}})}},{key:"renderDashboardReports",value:function(){var e=this,t=this.props,n=t.query,r=t.path,o=t.defaultDateRange,c=this.state.sections,a=Object(J.h)(n,o),i=a.period,s=a.compare,l=a.before,u=a.after,d=Object(J.f)(n,o),p={period:i,compare:s,before:l,after:u,primaryDate:d.primary,secondaryDate:d.secondary},b=c.filter((function(e){return e.isVisible})).map((function(e){return e.key}));return Object(y.createElement)(y.Fragment,null,Object(y.createElement)(Q.a,{report:"dashboard",query:n,path:r,dateQuery:p,isoDateFormat:J.k,filters:$}),c.map((function(t,o){return t.isVisible?Object(y.createElement)(H,{component:t.component,hiddenBlocks:t.hiddenBlocks,key:t.key,onChangeHiddenBlocks:e.onChangeHiddenBlocks(t.key),onTitleUpdate:e.onSectionTitleUpdate(t.key),path:r,query:n,title:t.title,onMove:Object(k.partial)(e.onMove,o),onRemove:e.toggleVisibility(t.key),isFirst:t.key===b[0],isLast:t.key===b[b.length-1]}):null})),this.renderAddMore())}},{key:"render",value:function(){var e=this.props,t=e.query,n=e.taskListHidden,r=e.taskListComplete,o=Object(W.e)()&&!n,c=!o||!t.task&&r;return Object(y.createElement)(y.Fragment,null,o&&Object(y.createElement)(y.Suspense,{fallback:Object(y.createElement)(T.Spinner,null)},Object(y.createElement)(Z,{query:t,inline:c})),c&&this.renderDashboardReports())}}]),r}(y.Component);t.default=Object(j.a)(Object(z.a)((function(e){var t=e("wc-api"),n=t.getCurrentUserData,r=t.isGetProfileItemsRequesting,o=t.getOptions,c=t.isGetOptionsRequesting,a=n(),i=e(C.SETTINGS_STORE_NAME).getSetting("wc_admin","wcAdminSettings").woocommerce_default_date_range,s={userPrefSections:a.dashboard_sections,defaultDateRange:i,requesting:!1};if(Object(W.e)()){var l=o(["woocommerce_task_list_complete","woocommerce_task_list_hidden"]);s.taskListHidden="yes"===Object(k.get)(l,["woocommerce_task_list_hidden"],"no"),s.taskListComplete=Object(k.get)(l,["woocommerce_task_list_complete"],!1),s.requesting=s.requesting||r(),s.requesting=s.requesting||c(["woocommerce_task_list_payments","woocommerce_task_list_hidden"])}return s})),Object(D.withDispatch)((function(e){return{updateCurrentUserData:e("wc-api").updateCurrentUserData}})))(ee)}}]);
\ No newline at end of file
diff --git a/dist/chunks/dashboard-charts.9eb2d5d4d569e8cb81a3.js b/dist/chunks/dashboard-charts.9eb2d5d4d569e8cb81a3.js
new file mode 100644
index 00000000000..eadd7002e25
--- /dev/null
+++ b/dist/chunks/dashboard-charts.9eb2d5d4d569e8cb81a3.js
@@ -0,0 +1,2729 @@
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[25],{
+
+/***/ 709:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11);
+/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(17);
+/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_4__);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(173);
+/* harmony import */ var _base_control__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(171);
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+function SelectControl(_ref) {
+ var help = _ref.help,
+ instanceId = _ref.instanceId,
+ label = _ref.label,
+ _ref$multiple = _ref.multiple,
+ multiple = _ref$multiple === void 0 ? false : _ref$multiple,
+ onChange = _ref.onChange,
+ _ref$options = _ref.options,
+ options = _ref$options === void 0 ? [] : _ref$options,
+ className = _ref.className,
+ hideLabelFromVision = _ref.hideLabelFromVision,
+ props = Object(_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(_ref, ["help", "instanceId", "label", "multiple", "onChange", "options", "className", "hideLabelFromVision"]);
+
+ var id = "inspector-select-control-".concat(instanceId);
+
+ var onChangeValue = function onChangeValue(event) {
+ if (multiple) {
+ var selectedOptions = Object(_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(event.target.options).filter(function (_ref2) {
+ var selected = _ref2.selected;
+ return selected;
+ });
+
+ var newValues = selectedOptions.map(function (_ref3) {
+ var value = _ref3.value;
+ return value;
+ });
+ onChange(newValues);
+ return;
+ }
+
+ onChange(event.target.value);
+ }; // Disable reason: A select with an onchange throws a warning
+
+ /* eslint-disable jsx-a11y/no-onchange */
+
+
+ return !Object(lodash__WEBPACK_IMPORTED_MODULE_4__["isEmpty"])(options) && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])(_base_control__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"], {
+ label: label,
+ hideLabelFromVision: hideLabelFromVision,
+ id: id,
+ help: help,
+ className: className
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])("select", Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({
+ id: id,
+ className: "components-select-control__input",
+ onChange: onChangeValue,
+ "aria-describedby": !!help ? "".concat(id, "__help") : undefined,
+ multiple: multiple
+ }, props), options.map(function (option, index) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])("option", {
+ key: "".concat(option.label, "-").concat(option.value, "-").concat(index),
+ value: option.value,
+ disabled: option.disabled
+ }, option.label);
+ })));
+ /* eslint-enable jsx-a11y/no-onchange */
+}
+
+/* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])(SelectControl));
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 738:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export getFilterQuery */
+/* unused harmony export timeStampFilterDates */
+/* unused harmony export getQueryFromConfig */
+/* unused harmony export isReportDataEmpty */
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return getSummaryNumbers; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getReportChartData; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return getTooltipValueFormat; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return getReportTableQuery; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getReportTableData; });
+/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15);
+/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(749);
+/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(12);
+/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var lib_date__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(104);
+/* harmony import */ var _woocommerce_navigation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(22);
+/* harmony import */ var _woocommerce_navigation__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_5__);
+/* harmony import */ var wc_api_constants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(24);
+/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(738);
+
+
+
+function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+/**
+ * Add filters and advanced filters values to a query object.
+ *
+ * @param {Object} options arguments
+ * @param {string} options.endpoint Report API Endpoint
+ * @param {Object} options.query Query parameters in the url
+ * @param {Array} options.limitBy Properties used to limit the results. It will be used in the API call to send the IDs.
+ * @param {Array} [options.filters] config filters
+ * @param {Object} [options.advancedFilters] config advanced filters
+ * @return {Object} A query object with the values from filters and advanced fitlters applied.
+ */
+
+function getFilterQuery(options) {
+ var endpoint = options.endpoint,
+ query = options.query,
+ limitBy = options.limitBy,
+ _options$filters = options.filters,
+ filters = _options$filters === void 0 ? [] : _options$filters,
+ _options$advancedFilt = options.advancedFilters,
+ advancedFilters = _options$advancedFilt === void 0 ? {} : _options$advancedFilt;
+
+ if (query.search) {
+ var limitProperties = limitBy || [endpoint];
+ return limitProperties.reduce(function (result, limitProperty) {
+ result[limitProperty] = query[limitProperty];
+ return result;
+ }, {});
+ }
+
+ return filters.map(function (filter) {
+ return getQueryFromConfig(filter, advancedFilters, query);
+ }).reduce(function (result, configQuery) {
+ return Object.assign(result, configQuery);
+ }, {});
+} // Some stats endpoints don't have interval data, so they can ignore after/before params and omit that part of the response.
+
+var noIntervalEndpoints = ['stock', 'customers'];
+/**
+ * Add timestamp to advanced filter parameters involving date. The api
+ * expects a timestamp for these values similar to `before` and `after`.
+ *
+ * @param {Object} config - advancedFilters config object.
+ * @param {Object} activeFilter - an active filter.
+ * @return {Object} - an active filter with timestamp added to date values.
+ */
+
+function timeStampFilterDates(config, activeFilter) {
+ var advancedFilterConfig = config.filters[activeFilter.key];
+
+ if (Object(lodash__WEBPACK_IMPORTED_MODULE_2__["get"])(advancedFilterConfig, ['input', 'component']) !== 'Date') {
+ return activeFilter;
+ }
+
+ var rule = activeFilter.rule,
+ value = activeFilter.value;
+ var timeOfDayMap = {
+ after: 'start',
+ before: 'end'
+ }; // If the value is an array, it signifies "between" values which must have a timestamp
+ // appended to each value.
+
+ if (Array.isArray(value)) {
+ var _value = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1___default()(value, 2),
+ after = _value[0],
+ before = _value[1];
+
+ return Object.assign({}, activeFilter, {
+ value: [Object(lib_date__WEBPACK_IMPORTED_MODULE_4__[/* appendTimestamp */ "a"])(moment__WEBPACK_IMPORTED_MODULE_3___default()(after), timeOfDayMap.after), Object(lib_date__WEBPACK_IMPORTED_MODULE_4__[/* appendTimestamp */ "a"])(moment__WEBPACK_IMPORTED_MODULE_3___default()(before), timeOfDayMap.before)]
+ });
+ }
+
+ return Object.assign({}, activeFilter, {
+ value: Object(lib_date__WEBPACK_IMPORTED_MODULE_4__[/* appendTimestamp */ "a"])(moment__WEBPACK_IMPORTED_MODULE_3___default()(value), timeOfDayMap[rule])
+ });
+}
+function getQueryFromConfig(config, advancedFilters, query) {
+ var queryValue = query[config.param];
+
+ if (!queryValue) {
+ return {};
+ }
+
+ if (queryValue === 'advanced') {
+ var activeFilters = Object(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_5__["getActiveFiltersFromQuery"])(query, advancedFilters.filters);
+
+ if (activeFilters.length === 0) {
+ return {};
+ }
+
+ return activeFilters.map(function (filter) {
+ return timeStampFilterDates(advancedFilters, filter);
+ }).reduce(function (result, activeFilter) {
+ var key = activeFilter.key,
+ rule = activeFilter.rule,
+ value = activeFilter.value;
+ result[Object(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_5__["getUrlKey"])(key, rule)] = value;
+ return result;
+ }, {
+ match: query.match || 'all'
+ });
+ }
+
+ var filter = Object(lodash__WEBPACK_IMPORTED_MODULE_2__["find"])(Object(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_5__["flattenFilters"])(config.filters), {
+ value: queryValue
+ });
+
+ if (!filter) {
+ return {};
+ }
+
+ if (filter.settings && filter.settings.param) {
+ var param = filter.settings.param;
+
+ if (query[param]) {
+ return _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()({}, param, query[param]);
+ }
+
+ return {};
+ }
+
+ return _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()({}, config.param, queryValue);
+}
+/**
+ * Returns true if a report object is empty.
+ *
+ * @param {Object} report Report to check
+ * @param {string} endpoint Endpoint slug
+ * @return {boolean} True if report is data is empty.
+ */
+
+function isReportDataEmpty(report, endpoint) {
+ if (!report) {
+ return true;
+ }
+
+ if (!report.data) {
+ return true;
+ }
+
+ if (!report.data.totals || Object(lodash__WEBPACK_IMPORTED_MODULE_2__["isNull"])(report.data.totals)) {
+ return true;
+ }
+
+ var checkIntervals = !Object(lodash__WEBPACK_IMPORTED_MODULE_2__["includes"])(noIntervalEndpoints, endpoint);
+
+ if (checkIntervals && (!report.data.intervals || report.data.intervals.length === 0)) {
+ return true;
+ }
+
+ return false;
+}
+/**
+ * Constructs and returns a query associated with a Report data request.
+ *
+ * @param {Object} options arguments
+ * @param {string} options.endpoint Report API Endpoint
+ * @param {string} options.dataType 'primary' or 'secondary'.
+ * @param {Object} options.query Query parameters in the url.
+ * @param {Array} options.limitBy Properties used to limit the results. It will be used in the API call to send the IDs.
+ * @param {string} options.defaultDateRange User specified default date range.
+ * @return {Object} data request query parameters.
+ */
+
+function getRequestQuery(options) {
+ var endpoint = options.endpoint,
+ dataType = options.dataType,
+ query = options.query,
+ fields = options.fields;
+ var datesFromQuery = Object(lib_date__WEBPACK_IMPORTED_MODULE_4__[/* getCurrentDates */ "f"])(query, options.defaultDateRange);
+ var interval = Object(lib_date__WEBPACK_IMPORTED_MODULE_4__[/* getIntervalForQuery */ "i"])(query);
+ var filterQuery = getFilterQuery(options);
+ var end = datesFromQuery[dataType].before;
+ var noIntervals = Object(lodash__WEBPACK_IMPORTED_MODULE_2__["includes"])(noIntervalEndpoints, endpoint);
+ return noIntervals ? _objectSpread({}, filterQuery, {
+ fields: fields
+ }) : _objectSpread({
+ order: 'asc',
+ interval: interval,
+ per_page: wc_api_constants__WEBPACK_IMPORTED_MODULE_6__[/* MAX_PER_PAGE */ "b"],
+ after: Object(lib_date__WEBPACK_IMPORTED_MODULE_4__[/* appendTimestamp */ "a"])(datesFromQuery[dataType].after, 'start'),
+ before: Object(lib_date__WEBPACK_IMPORTED_MODULE_4__[/* appendTimestamp */ "a"])(end, 'end'),
+ segmentby: query.segmentby,
+ fields: fields
+ }, filterQuery);
+}
+/**
+ * Returns summary number totals needed to render a report page.
+ *
+ * @param {Object} options arguments
+ * @param {string} options.endpoint Report API Endpoint
+ * @param {Object} options.query Query parameters in the url
+ * @param {Object} options.select Instance of @wordpress/select
+ * @param {Array} options.limitBy Properties used to limit the results. It will be used in the API call to send the IDs.
+ * @param {string} options.defaultDateRange User specified default date range.
+ * @return {Object} Object containing summary number responses.
+ */
+
+
+function getSummaryNumbers(options) {
+ var endpoint = options.endpoint,
+ select = options.select;
+
+ var _select = select('wc-api'),
+ getReportStats = _select.getReportStats,
+ getReportStatsError = _select.getReportStatsError,
+ isReportStatsRequesting = _select.isReportStatsRequesting;
+
+ var response = {
+ isRequesting: false,
+ isError: false,
+ totals: {
+ primary: null,
+ secondary: null
+ }
+ };
+ var primaryQuery = getRequestQuery(_objectSpread({}, options, {
+ dataType: 'primary'
+ })); // Disable eslint rule requiring `getReportStats` to be defined below because the next two statements
+ // depend on `getReportStats` to have been called.
+ // eslint-disable-next-line @wordpress/no-unused-vars-before-return
+
+ var primary = getReportStats(endpoint, primaryQuery);
+
+ if (isReportStatsRequesting(endpoint, primaryQuery)) {
+ return _objectSpread({}, response, {
+ isRequesting: true
+ });
+ } else if (getReportStatsError(endpoint, primaryQuery)) {
+ return _objectSpread({}, response, {
+ isError: true
+ });
+ }
+
+ var primaryTotals = primary && primary.data && primary.data.totals || null;
+ var secondaryQuery = getRequestQuery(_objectSpread({}, options, {
+ dataType: 'secondary'
+ })); // Disable eslint rule requiring `getReportStats` to be defined below because the next two statements
+ // depend on `getReportStats` to have been called.
+ // eslint-disable-next-line @wordpress/no-unused-vars-before-return
+
+ var secondary = getReportStats(endpoint, secondaryQuery);
+
+ if (isReportStatsRequesting(endpoint, secondaryQuery)) {
+ return _objectSpread({}, response, {
+ isRequesting: true
+ });
+ } else if (getReportStatsError(endpoint, secondaryQuery)) {
+ return _objectSpread({}, response, {
+ isError: true
+ });
+ }
+
+ var secondaryTotals = secondary && secondary.data && secondary.data.totals || null;
+ return _objectSpread({}, response, {
+ totals: {
+ primary: primaryTotals,
+ secondary: secondaryTotals
+ }
+ });
+}
+/**
+ * Returns all of the data needed to render a chart with summary numbers on a report page.
+ *
+ * @param {Object} options arguments
+ * @param {string} options.endpoint Report API Endpoint
+ * @param {string} options.dataType 'primary' or 'secondary'
+ * @param {Object} options.query Query parameters in the url
+ * @param {Object} options.select Instance of @wordpress/select
+ * @param {Array} options.limitBy Properties used to limit the results. It will be used in the API call to send the IDs.
+ * @param {string} options.defaultDateRange User specified default date range.
+ * @return {Object} Object containing API request information (response, fetching, and error details)
+ */
+
+function getReportChartData(options) {
+ var endpoint = options.endpoint,
+ select = options.select;
+
+ var _select2 = select('wc-api'),
+ getReportStats = _select2.getReportStats,
+ getReportStatsError = _select2.getReportStatsError,
+ isReportStatsRequesting = _select2.isReportStatsRequesting;
+
+ var response = {
+ isEmpty: false,
+ isError: false,
+ isRequesting: false,
+ data: {
+ totals: {},
+ intervals: []
+ }
+ };
+ var requestQuery = getRequestQuery(options); // Disable eslint rule requiring `stats` to be defined below because the next two if statements
+ // depend on `getReportStats` to have been called.
+ // eslint-disable-next-line @wordpress/no-unused-vars-before-return
+
+ var stats = getReportStats(endpoint, requestQuery);
+
+ if (isReportStatsRequesting(endpoint, requestQuery)) {
+ return _objectSpread({}, response, {
+ isRequesting: true
+ });
+ }
+
+ if (getReportStatsError(endpoint, requestQuery)) {
+ return _objectSpread({}, response, {
+ isError: true
+ });
+ }
+
+ if (isReportDataEmpty(stats, endpoint)) {
+ return _objectSpread({}, response, {
+ isEmpty: true
+ });
+ }
+
+ var totals = stats && stats.data && stats.data.totals || null;
+ var intervals = stats && stats.data && stats.data.intervals || []; // If we have more than 100 results for this time period,
+ // we need to make additional requests to complete the response.
+
+ if (stats.totalResults > wc_api_constants__WEBPACK_IMPORTED_MODULE_6__[/* MAX_PER_PAGE */ "b"]) {
+ var isFetching = true;
+ var isError = false;
+ var pagedData = [];
+ var totalPages = Math.ceil(stats.totalResults / wc_api_constants__WEBPACK_IMPORTED_MODULE_6__[/* MAX_PER_PAGE */ "b"]);
+ var pagesFetched = 1;
+
+ for (var i = 2; i <= totalPages; i++) {
+ var nextQuery = _objectSpread({}, requestQuery, {
+ page: i
+ });
+
+ var _data = getReportStats(endpoint, nextQuery);
+
+ if (isReportStatsRequesting(endpoint, nextQuery)) {
+ continue;
+ }
+
+ if (getReportStatsError(endpoint, nextQuery)) {
+ isError = true;
+ isFetching = false;
+ break;
+ }
+
+ pagedData.push(_data);
+ pagesFetched++;
+
+ if (pagesFetched === totalPages) {
+ isFetching = false;
+ break;
+ }
+ }
+
+ if (isFetching) {
+ return _objectSpread({}, response, {
+ isRequesting: true
+ });
+ } else if (isError) {
+ return _objectSpread({}, response, {
+ isError: true
+ });
+ }
+
+ Object(lodash__WEBPACK_IMPORTED_MODULE_2__["forEach"])(pagedData, function (_data) {
+ intervals = intervals.concat(_data.data.intervals);
+ });
+ }
+
+ return _objectSpread({}, response, {
+ data: {
+ totals: totals,
+ intervals: intervals
+ }
+ });
+}
+/**
+ * Returns a formatting function or string to be used by d3-format
+ *
+ * @param {string} type Type of number, 'currency', 'number', 'percent', 'average'
+ * @param {Function} formatCurrency format currency function
+ * @return {string|Function} returns a number format based on the type or an overriding formatting function
+ */
+
+function getTooltipValueFormat(type, formatCurrency) {
+ switch (type) {
+ case 'currency':
+ return formatCurrency;
+
+ case 'percent':
+ return '.0%';
+
+ case 'number':
+ return ',';
+
+ case 'average':
+ return ',.2r';
+
+ default:
+ return ',';
+ }
+}
+/**
+ * Returns query needed for a request to populate a table.
+ *
+ * @param {Object} options arguments
+ * @param {Object} options.query Query parameters in the url
+ * @param {Object} options.tableQuery Query parameters specific for that endpoint
+ * @param {string} options.defaultDateRange User specified default date range.
+ * @return {Object} Object Table data response
+ */
+
+function getReportTableQuery(options) {
+ var query = options.query,
+ _options$tableQuery = options.tableQuery,
+ tableQuery = _options$tableQuery === void 0 ? {} : _options$tableQuery;
+ var filterQuery = getFilterQuery(options);
+ var datesFromQuery = Object(lib_date__WEBPACK_IMPORTED_MODULE_4__[/* getCurrentDates */ "f"])(query, options.defaultDateRange);
+ var noIntervals = Object(lodash__WEBPACK_IMPORTED_MODULE_2__["includes"])(noIntervalEndpoints, options.endpoint);
+ return _objectSpread({
+ orderby: query.orderby || 'date',
+ order: query.order || 'desc',
+ after: noIntervals ? undefined : Object(lib_date__WEBPACK_IMPORTED_MODULE_4__[/* appendTimestamp */ "a"])(datesFromQuery.primary.after, 'start'),
+ before: noIntervals ? undefined : Object(lib_date__WEBPACK_IMPORTED_MODULE_4__[/* appendTimestamp */ "a"])(datesFromQuery.primary.before, 'end'),
+ page: query.paged || 1,
+ per_page: query.per_page || wc_api_constants__WEBPACK_IMPORTED_MODULE_6__[/* QUERY_DEFAULTS */ "d"].pageSize
+ }, filterQuery, {}, tableQuery);
+}
+/**
+ * Returns table data needed to render a report page.
+ *
+ * @param {Object} options arguments
+ * @param {string} options.endpoint Report API Endpoint
+ * @param {Object} options.query Query parameters in the url
+ * @param {Object} options.select Instance of @wordpress/select
+ * @param {Object} options.tableQuery Query parameters specific for that endpoint
+ * @param {string} options.defaultDateRange User specified default date range.
+ * @return {Object} Object Table data response
+ */
+
+function getReportTableData(options) {
+ var endpoint = options.endpoint,
+ select = options.select;
+
+ var _select3 = select('wc-api'),
+ getReportItems = _select3.getReportItems,
+ getReportItemsError = _select3.getReportItemsError,
+ isReportItemsRequesting = _select3.isReportItemsRequesting;
+
+ var tableQuery = _utils__WEBPACK_IMPORTED_MODULE_7__[/* getReportTableQuery */ "c"](options);
+ var response = {
+ query: tableQuery,
+ isRequesting: false,
+ isError: false,
+ items: {
+ data: [],
+ totalResults: 0
+ }
+ }; // Disable eslint rule requiring `items` to be defined below because the next two if statements
+ // depend on `getReportItems` to have been called.
+ // eslint-disable-next-line @wordpress/no-unused-vars-before-return
+
+ var items = getReportItems(endpoint, tableQuery);
+
+ if (isReportItemsRequesting(endpoint, tableQuery)) {
+ return _objectSpread({}, response, {
+ isRequesting: true
+ });
+ } else if (getReportItemsError(endpoint, tableQuery)) {
+ return _objectSpread({}, response, {
+ isError: true
+ });
+ }
+
+ return _objectSpread({}, response, {
+ items: items
+ });
+}
+
+/***/ }),
+
+/***/ 739:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return getRequestByIdString; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getCategoryLabels; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getCouponLabels; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return getCustomerLabels; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return getProductLabels; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return getTaxRateLabels; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return getVariationLabels; });
+/* harmony import */ var _wordpress_url__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(30);
+/* harmony import */ var _wordpress_url__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_url__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20);
+/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _woocommerce_navigation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(22);
+/* harmony import */ var _woocommerce_navigation__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var analytics_report_taxes_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(740);
+/* harmony import */ var wc_api_constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(24);
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+/**
+ * Get a function that accepts ids as they are found in url parameter and
+ * returns a promise with an optional method applied to results
+ *
+ * @param {string|Function} path - api path string or a function of the query returning api path string
+ * @param {Function} [handleData] - function applied to each iteration of data
+ * @return {Function} - a function of ids returning a promise
+ */
+
+function getRequestByIdString(path) {
+ var handleData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : lodash__WEBPACK_IMPORTED_MODULE_2__["identity"];
+ return function () {
+ var queryString = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
+ var query = arguments.length > 1 ? arguments[1] : undefined;
+ var pathString = typeof path === 'function' ? path(query) : path;
+ var idList = Object(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_3__["getIdsFromQuery"])(queryString);
+
+ if (idList.length < 1) {
+ return Promise.resolve([]);
+ }
+
+ var payload = {
+ include: idList.join(','),
+ per_page: idList.length
+ };
+ return _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_1___default()({
+ path: Object(_wordpress_url__WEBPACK_IMPORTED_MODULE_0__["addQueryArgs"])(pathString, payload)
+ }).then(function (data) {
+ return data.map(handleData);
+ });
+ };
+}
+var getCategoryLabels = getRequestByIdString(wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + '/products/categories', function (category) {
+ return {
+ key: category.id,
+ label: category.name
+ };
+});
+var getCouponLabels = getRequestByIdString(wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + '/coupons', function (coupon) {
+ return {
+ key: coupon.id,
+ label: coupon.code
+ };
+});
+var getCustomerLabels = getRequestByIdString(wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + '/customers', function (customer) {
+ return {
+ key: customer.id,
+ label: customer.name
+ };
+});
+var getProductLabels = getRequestByIdString(wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + '/products', function (product) {
+ return {
+ key: product.id,
+ label: product.name
+ };
+});
+var getTaxRateLabels = getRequestByIdString(wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + '/taxes', function (taxRate) {
+ return {
+ key: taxRate.id,
+ label: Object(analytics_report_taxes_utils__WEBPACK_IMPORTED_MODULE_4__[/* getTaxCode */ "a"])(taxRate)
+ };
+});
+var getVariationLabels = getRequestByIdString(function (query) {
+ return wc_api_constants__WEBPACK_IMPORTED_MODULE_5__[/* NAMESPACE */ "c"] + "/products/".concat(query.products, "/variations");
+}, function (variation) {
+ return {
+ key: variation.id,
+ label: variation.attributes.reduce(function (desc, attribute, index, arr) {
+ return desc + "".concat(attribute.option).concat(arr.length === index + 1 ? '' : ', ');
+ }, '')
+ };
+});
+
+/***/ }),
+
+/***/ 740:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getTaxCode; });
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__);
+/**
+ * External dependencies
+ */
+
+function getTaxCode(tax) {
+ return [tax.country, tax.state, tax.name || Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('TAX', 'woocommerce-admin'), tax.priority].map(function (item) {
+ return item.toString().toUpperCase().trim();
+ }).filter(Boolean).join('-');
+}
+
+/***/ }),
+
+/***/ 741:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// UNUSED EXPORTS: ReportChart
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js
+var defineProperty = __webpack_require__(15);
+var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js
+var classCallCheck = __webpack_require__(41);
+var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js
+var createClass = __webpack_require__(40);
+var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(44);
+var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(29);
+var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js
+var inherits = __webpack_require__(42);
+var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: external {"this":["wp","i18n"]}
+var external_this_wp_i18n_ = __webpack_require__(3);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/compose/build-module/higher-order/compose.js
+var compose = __webpack_require__(256);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/date/build-module/index.js
+var build_module = __webpack_require__(172);
+
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__(2);
+
+// EXTERNAL MODULE: ./node_modules/prop-types/index.js
+var prop_types = __webpack_require__(1);
+var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
+
+// EXTERNAL MODULE: ./client/lib/date.js
+var date = __webpack_require__(104);
+
+// EXTERNAL MODULE: external {"this":["wc","components"]}
+var external_this_wc_components_ = __webpack_require__(63);
+
+// EXTERNAL MODULE: external {"this":["wc","data"]}
+var external_this_wc_data_ = __webpack_require__(51);
+
+// EXTERNAL MODULE: ./client/lib/currency-context.js
+var currency_context = __webpack_require__(203);
+
+// EXTERNAL MODULE: ./client/wc-api/reports/utils.js
+var utils = __webpack_require__(738);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-error/index.js
+var report_error = __webpack_require__(261);
+
+// EXTERNAL MODULE: ./client/wc-api/with-select.js
+var with_select = __webpack_require__(101);
+
+// EXTERNAL MODULE: external {"this":["wc","navigation"]}
+var external_this_wc_navigation_ = __webpack_require__(22);
+
+// CONCATENATED MODULE: ./client/analytics/components/report-chart/utils.js
+/**
+ * External dependencies
+ */
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+var DEFAULT_FILTER = 'all';
+function getSelectedFilter(filters, query) {
+ var selectedFilterArgs = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
+
+ if (!filters || filters.length === 0) {
+ return null;
+ }
+
+ var clonedFilters = filters.slice(0);
+ var filterConfig = clonedFilters.pop();
+
+ if (filterConfig.showFilters(query, selectedFilterArgs)) {
+ var allFilters = Object(external_this_wc_navigation_["flattenFilters"])(filterConfig.filters);
+ var value = query[filterConfig.param] || filterConfig.defaultValue || DEFAULT_FILTER;
+ return Object(external_lodash_["find"])(allFilters, {
+ value: value
+ });
+ }
+
+ return getSelectedFilter(clonedFilters, query, selectedFilterArgs);
+}
+function getChartMode(selectedFilter, query) {
+ if (selectedFilter && query) {
+ var selectedFilterParam = Object(external_lodash_["get"])(selectedFilter, ['settings', 'param']);
+
+ if (!selectedFilterParam || Object.keys(query).includes(selectedFilterParam)) {
+ return Object(external_lodash_["get"])(selectedFilter, ['chartMode']);
+ }
+ }
+
+ return null;
+}
+// CONCATENATED MODULE: ./client/analytics/components/report-chart/index.js
+
+
+
+
+
+
+
+
+function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+function _createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+/**
+ * Component that renders the chart in reports.
+ */
+
+var report_chart_ReportChart = /*#__PURE__*/function (_Component) {
+ inherits_default()(ReportChart, _Component);
+
+ var _super = _createSuper(ReportChart);
+
+ function ReportChart() {
+ classCallCheck_default()(this, ReportChart);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(ReportChart, [{
+ key: "shouldComponentUpdate",
+ value: function shouldComponentUpdate(nextProps) {
+ if (nextProps.isRequesting !== this.props.isRequesting || nextProps.primaryData.isRequesting !== this.props.primaryData.isRequesting || nextProps.secondaryData.isRequesting !== this.props.secondaryData.isRequesting || !Object(external_lodash_["isEqual"])(nextProps.query, this.props.query)) {
+ return true;
+ }
+
+ return false;
+ }
+ }, {
+ key: "getItemChartData",
+ value: function getItemChartData() {
+ var _this$props = this.props,
+ primaryData = _this$props.primaryData,
+ selectedChart = _this$props.selectedChart;
+ var chartData = primaryData.data.intervals.map(function (interval) {
+ var intervalData = {};
+ interval.subtotals.segments.forEach(function (segment) {
+ if (segment.segment_label) {
+ var label = intervalData[segment.segment_label] ? segment.segment_label + ' (#' + segment.segment_id + ')' : segment.segment_label;
+ intervalData[segment.segment_id] = {
+ label: label,
+ value: segment.subtotals[selectedChart.key] || 0
+ };
+ }
+ });
+ return _objectSpread({
+ date: Object(build_module["a" /* format */])('Y-m-d\\TH:i:s', interval.date_start)
+ }, intervalData);
+ });
+ return chartData;
+ }
+ }, {
+ key: "getTimeChartData",
+ value: function getTimeChartData() {
+ var _this$props2 = this.props,
+ query = _this$props2.query,
+ primaryData = _this$props2.primaryData,
+ secondaryData = _this$props2.secondaryData,
+ selectedChart = _this$props2.selectedChart,
+ defaultDateRange = _this$props2.defaultDateRange;
+ var currentInterval = Object(date["i" /* getIntervalForQuery */])(query);
+
+ var _getCurrentDates = Object(date["f" /* getCurrentDates */])(query, defaultDateRange),
+ primary = _getCurrentDates.primary,
+ secondary = _getCurrentDates.secondary;
+
+ var chartData = primaryData.data.intervals.map(function (interval, index) {
+ var secondaryDate = Object(date["j" /* getPreviousDate */])(interval.date_start, primary.after, secondary.after, query.compare, currentInterval);
+ var secondaryInterval = secondaryData.data.intervals[index];
+ return {
+ date: Object(build_module["a" /* format */])('Y-m-d\\TH:i:s', interval.date_start),
+ primary: {
+ label: "".concat(primary.label, " (").concat(primary.range, ")"),
+ labelDate: interval.date_start,
+ value: interval.subtotals[selectedChart.key] || 0
+ },
+ secondary: {
+ label: "".concat(secondary.label, " (").concat(secondary.range, ")"),
+ labelDate: secondaryDate.format('YYYY-MM-DD HH:mm:ss'),
+ value: secondaryInterval && secondaryInterval.subtotals[selectedChart.key] || 0
+ }
+ };
+ });
+ return chartData;
+ }
+ }, {
+ key: "getTimeChartTotals",
+ value: function getTimeChartTotals() {
+ var _this$props3 = this.props,
+ primaryData = _this$props3.primaryData,
+ secondaryData = _this$props3.secondaryData,
+ selectedChart = _this$props3.selectedChart;
+ return {
+ primary: Object(external_lodash_["get"])(primaryData, ['data', 'totals', selectedChart.key], null),
+ secondary: Object(external_lodash_["get"])(secondaryData, ['data', 'totals', selectedChart.key], null)
+ };
+ }
+ }, {
+ key: "renderChart",
+ value: function renderChart(mode, isRequesting, chartData, legendTotals) {
+ var _this$props4 = this.props,
+ emptySearchResults = _this$props4.emptySearchResults,
+ filterParam = _this$props4.filterParam,
+ interactiveLegend = _this$props4.interactiveLegend,
+ itemsLabel = _this$props4.itemsLabel,
+ legendPosition = _this$props4.legendPosition,
+ path = _this$props4.path,
+ query = _this$props4.query,
+ selectedChart = _this$props4.selectedChart,
+ showHeaderControls = _this$props4.showHeaderControls,
+ primaryData = _this$props4.primaryData;
+ var currentInterval = Object(date["i" /* getIntervalForQuery */])(query);
+ var allowedIntervals = Object(date["d" /* getAllowedIntervalsForQuery */])(query);
+ var formats = Object(date["g" /* getDateFormatsForInterval */])(currentInterval, primaryData.data.intervals.length);
+ var emptyMessage = emptySearchResults ? Object(external_this_wp_i18n_["__"])('No data for the current search', 'woocommerce-admin') : Object(external_this_wp_i18n_["__"])('No data for the selected date range', 'woocommerce-admin');
+ var _this$context = this.context,
+ formatCurrency = _this$context.formatCurrency,
+ getCurrency = _this$context.getCurrency;
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Chart"], {
+ allowedIntervals: allowedIntervals,
+ data: chartData,
+ dateParser: '%Y-%m-%dT%H:%M:%S',
+ emptyMessage: emptyMessage,
+ filterParam: filterParam,
+ interactiveLegend: interactiveLegend,
+ interval: currentInterval,
+ isRequesting: isRequesting,
+ itemsLabel: itemsLabel,
+ legendPosition: legendPosition,
+ legendTotals: legendTotals,
+ mode: mode,
+ path: path,
+ query: query,
+ screenReaderFormat: formats.screenReaderFormat,
+ showHeaderControls: showHeaderControls,
+ title: selectedChart.label,
+ tooltipLabelFormat: formats.tooltipLabelFormat,
+ tooltipTitle: mode === 'time-comparison' && selectedChart.label || null,
+ tooltipValueFormat: Object(utils["e" /* getTooltipValueFormat */])(selectedChart.type, formatCurrency),
+ chartType: Object(date["e" /* getChartTypeForQuery */])(query),
+ valueType: selectedChart.type,
+ xFormat: formats.xFormat,
+ x2Format: formats.x2Format,
+ currency: getCurrency()
+ });
+ }
+ }, {
+ key: "renderItemComparison",
+ value: function renderItemComparison() {
+ var _this$props5 = this.props,
+ isRequesting = _this$props5.isRequesting,
+ primaryData = _this$props5.primaryData;
+
+ if (primaryData.isError) {
+ return Object(external_this_wp_element_["createElement"])(report_error["a" /* default */], {
+ isError: true
+ });
+ }
+
+ var isChartRequesting = isRequesting || primaryData.isRequesting;
+ var chartData = this.getItemChartData();
+ return this.renderChart('item-comparison', isChartRequesting, chartData);
+ }
+ }, {
+ key: "renderTimeComparison",
+ value: function renderTimeComparison() {
+ var _this$props6 = this.props,
+ isRequesting = _this$props6.isRequesting,
+ primaryData = _this$props6.primaryData,
+ secondaryData = _this$props6.secondaryData;
+
+ if (!primaryData || primaryData.isError || secondaryData.isError) {
+ return Object(external_this_wp_element_["createElement"])(report_error["a" /* default */], {
+ isError: true
+ });
+ }
+
+ var isChartRequesting = isRequesting || primaryData.isRequesting || secondaryData.isRequesting;
+ var chartData = this.getTimeChartData();
+ var legendTotals = this.getTimeChartTotals();
+ return this.renderChart('time-comparison', isChartRequesting, chartData, legendTotals);
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var mode = this.props.mode;
+
+ if (mode === 'item-comparison') {
+ return this.renderItemComparison();
+ }
+
+ return this.renderTimeComparison();
+ }
+ }]);
+
+ return ReportChart;
+}(external_this_wp_element_["Component"]);
+report_chart_ReportChart.contextType = currency_context["a" /* CurrencyContext */];
+report_chart_ReportChart.propTypes = {
+ /**
+ * Filters available for that report.
+ */
+ filters: prop_types_default.a.array,
+
+ /**
+ * Whether there is an API call running.
+ */
+ isRequesting: prop_types_default.a.bool,
+
+ /**
+ * Label describing the legend items.
+ */
+ itemsLabel: prop_types_default.a.string,
+
+ /**
+ * Allows specifying properties different from the `endpoint` that will be used
+ * to limit the items when there is an active search.
+ */
+ limitProperties: prop_types_default.a.array,
+
+ /**
+ * `items-comparison` (default) or `time-comparison`, this is used to generate correct
+ * ARIA properties.
+ */
+ mode: prop_types_default.a.string,
+
+ /**
+ * Current path
+ */
+ path: prop_types_default.a.string.isRequired,
+
+ /**
+ * Primary data to display in the chart.
+ */
+ primaryData: prop_types_default.a.object,
+
+ /**
+ * The query string represented in object form.
+ */
+ query: prop_types_default.a.object.isRequired,
+
+ /**
+ * Secondary data to display in the chart.
+ */
+ secondaryData: prop_types_default.a.object,
+
+ /**
+ * Properties of the selected chart.
+ */
+ selectedChart: prop_types_default.a.shape({
+ /**
+ * Key of the selected chart.
+ */
+ key: prop_types_default.a.string.isRequired,
+
+ /**
+ * Chart label.
+ */
+ label: prop_types_default.a.string.isRequired,
+
+ /**
+ * Order query argument.
+ */
+ order: prop_types_default.a.oneOf(['asc', 'desc']),
+
+ /**
+ * Order by query argument.
+ */
+ orderby: prop_types_default.a.string,
+
+ /**
+ * Number type for formatting.
+ */
+ type: prop_types_default.a.oneOf(['average', 'number', 'currency']).isRequired
+ }).isRequired
+};
+report_chart_ReportChart.defaultProps = {
+ isRequesting: false,
+ primaryData: {
+ data: {
+ intervals: []
+ },
+ isError: false,
+ isRequesting: false
+ },
+ secondaryData: {
+ data: {
+ intervals: []
+ },
+ isError: false,
+ isRequesting: false
+ }
+};
+/* harmony default export */ var report_chart = __webpack_exports__["a"] = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select, props) {
+ var charts = props.charts,
+ endpoint = props.endpoint,
+ filters = props.filters,
+ isRequesting = props.isRequesting,
+ limitProperties = props.limitProperties,
+ query = props.query,
+ advancedFilters = props.advancedFilters;
+ var limitBy = limitProperties || [endpoint];
+ var selectedFilter = getSelectedFilter(filters, query);
+ var filterParam = Object(external_lodash_["get"])(selectedFilter, ['settings', 'param']);
+ var chartMode = props.mode || getChartMode(selectedFilter, query) || 'time-comparison';
+
+ var _select$getSetting = select(external_this_wc_data_["SETTINGS_STORE_NAME"]).getSetting('wc_admin', 'wcAdminSettings'),
+ defaultDateRange = _select$getSetting.woocommerce_default_date_range;
+
+ var newProps = {
+ mode: chartMode,
+ filterParam: filterParam,
+ defaultDateRange: defaultDateRange
+ };
+
+ if (isRequesting) {
+ return newProps;
+ }
+
+ var hasLimitByParam = limitBy.some(function (item) {
+ return query[item] && query[item].length;
+ });
+
+ if (query.search && !hasLimitByParam) {
+ return _objectSpread({}, newProps, {
+ emptySearchResults: true
+ });
+ }
+
+ var fields = charts && charts.map(function (chart) {
+ return chart.key;
+ });
+ var primaryData = Object(utils["a" /* getReportChartData */])({
+ endpoint: endpoint,
+ dataType: 'primary',
+ query: query,
+ select: select,
+ limitBy: limitBy,
+ filters: filters,
+ advancedFilters: advancedFilters,
+ defaultDateRange: defaultDateRange,
+ fields: fields
+ });
+
+ if (chartMode === 'item-comparison') {
+ return _objectSpread({}, newProps, {
+ primaryData: primaryData
+ });
+ }
+
+ var secondaryData = Object(utils["a" /* getReportChartData */])({
+ endpoint: endpoint,
+ dataType: 'secondary',
+ query: query,
+ select: select,
+ limitBy: limitBy,
+ filters: filters,
+ advancedFilters: advancedFilters,
+ defaultDateRange: defaultDateRange,
+ fields: fields
+ });
+ return _objectSpread({}, newProps, {
+ primaryData: primaryData,
+ secondaryData: secondaryData
+ });
+}))(report_chart_ReportChart));
+
+/***/ }),
+
+/***/ 762:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return charts; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return filters; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return advancedFilters; });
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(48);
+/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__);
+/**
+ * External dependencies
+ */
+
+
+var REVENUE_REPORT_CHARTS_FILTER = 'woocommerce_admin_revenue_report_charts';
+var REVENUE_REPORT_FILTERS_FILTER = 'woocommerce_admin_revenue_report_filters';
+var REVENUE_REPORT_ADVANCED_FILTERS_FILTER = 'woocommerce_admin_revenue_report_advanced_filters';
+var charts = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__["applyFilters"])(REVENUE_REPORT_CHARTS_FILTER, [{
+ key: 'gross_sales',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Gross Sales', 'woocommerce-admin'),
+ order: 'desc',
+ orderby: 'gross_sales',
+ type: 'currency'
+}, {
+ key: 'refunds',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Returns', 'woocommerce-admin'),
+ order: 'desc',
+ orderby: 'refunds',
+ type: 'currency'
+}, {
+ key: 'coupons',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Coupons', 'woocommerce-admin'),
+ order: 'desc',
+ orderby: 'coupons',
+ type: 'currency'
+}, {
+ key: 'net_revenue',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Net Sales', 'woocommerce-admin'),
+ orderby: 'net_revenue',
+ type: 'currency'
+}, {
+ key: 'taxes',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Taxes', 'woocommerce-admin'),
+ order: 'desc',
+ orderby: 'taxes',
+ type: 'currency'
+}, {
+ key: 'shipping',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Shipping', 'woocommerce-admin'),
+ orderby: 'shipping',
+ type: 'currency'
+}, {
+ key: 'total_sales',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Total Sales', 'woocommerce-admin'),
+ order: 'desc',
+ orderby: 'total_sales',
+ type: 'currency'
+}]);
+var filters = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__["applyFilters"])(REVENUE_REPORT_FILTERS_FILTER, []);
+var advancedFilters = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__["applyFilters"])(REVENUE_REPORT_ADVANCED_FILTERS_FILTER, {});
+
+/***/ }),
+
+/***/ 763:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return charts; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return filters; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return advancedFilters; });
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(48);
+/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var lib_async_requests__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(739);
+/**
+ * External dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+var PRODUCTS_REPORT_CHARTS_FILTER = 'woocommerce_admin_products_report_charts';
+var PRODUCTS_REPORT_FILTERS_FILTER = 'woocommerce_admin_products_report_filters';
+var PRODUCTS_REPORT_ADVANCED_FILTERS_FILTER = 'woocommerce_admin_products_report_advanced_filters';
+var charts = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__["applyFilters"])(PRODUCTS_REPORT_CHARTS_FILTER, [{
+ key: 'items_sold',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Items Sold', 'woocommerce-admin'),
+ order: 'desc',
+ orderby: 'items_sold',
+ type: 'number'
+}, {
+ key: 'net_revenue',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Net Sales', 'woocommerce-admin'),
+ order: 'desc',
+ orderby: 'net_revenue',
+ type: 'currency'
+}, {
+ key: 'orders_count',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Orders', 'woocommerce-admin'),
+ order: 'desc',
+ orderby: 'orders_count',
+ type: 'number'
+}]);
+var filterConfig = {
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Show', 'woocommerce-admin'),
+ staticParams: [],
+ param: 'filter',
+ showFilters: function showFilters() {
+ return true;
+ },
+ filters: [{
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('All Products', 'woocommerce-admin'),
+ value: 'all'
+ }, {
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Single Product', 'woocommerce-admin'),
+ value: 'select_product',
+ chartMode: 'item-comparison',
+ subFilters: [{
+ component: 'Search',
+ value: 'single_product',
+ chartMode: 'item-comparison',
+ path: ['select_product'],
+ settings: {
+ type: 'products',
+ param: 'products',
+ getLabels: lib_async_requests__WEBPACK_IMPORTED_MODULE_2__[/* getProductLabels */ "d"],
+ labels: {
+ placeholder: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Type to search for a product', 'woocommerce-admin'),
+ button: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Single Product', 'woocommerce-admin')
+ }
+ }
+ }]
+ }, {
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Comparison', 'woocommerce-admin'),
+ value: 'compare-products',
+ chartMode: 'item-comparison',
+ settings: {
+ type: 'products',
+ param: 'products',
+ getLabels: lib_async_requests__WEBPACK_IMPORTED_MODULE_2__[/* getProductLabels */ "d"],
+ labels: {
+ helpText: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Check at least two products below to compare', 'woocommerce-admin'),
+ placeholder: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Search for products to compare', 'woocommerce-admin'),
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Compare Products', 'woocommerce-admin'),
+ update: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Compare', 'woocommerce-admin')
+ }
+ }
+ }]
+};
+var variationsConfig = {
+ showFilters: function showFilters(query) {
+ return query.filter === 'single_product' && !!query.products && query['is-variable'];
+ },
+ staticParams: ['filter', 'products'],
+ param: 'filter-variations',
+ filters: [{
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('All Variations', 'woocommerce-admin'),
+ chartMode: 'item-comparison',
+ value: 'all'
+ }, {
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Comparison', 'woocommerce-admin'),
+ chartMode: 'item-comparison',
+ value: 'compare-variations',
+ settings: {
+ type: 'variations',
+ param: 'variations',
+ getLabels: lib_async_requests__WEBPACK_IMPORTED_MODULE_2__[/* getVariationLabels */ "g"],
+ labels: {
+ helpText: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Check at least two variations below to compare', 'woocommerce-admin'),
+ placeholder: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Search for variations to compare', 'woocommerce-admin'),
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Compare Variations', 'woocommerce-admin'),
+ update: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Compare', 'woocommerce-admin')
+ }
+ }
+ }]
+};
+var filters = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__["applyFilters"])(PRODUCTS_REPORT_FILTERS_FILTER, [filterConfig, variationsConfig]);
+var advancedFilters = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__["applyFilters"])(PRODUCTS_REPORT_ADVANCED_FILTERS_FILTER, {});
+
+/***/ }),
+
+/***/ 764:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return charts; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return filters; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return advancedFilters; });
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(48);
+/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(26);
+/* harmony import */ var lib_async_requests__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(739);
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+var ORDERS_REPORT_CHARTS_FILTER = 'woocommerce_admin_orders_report_charts';
+var ORDERS_REPORT_FILTERS_FILTER = 'woocommerce_admin_orders_report_filters';
+var ORDERS_REPORT_ADVANCED_FILTERS_FILTER = 'woocommerce_admin_orders_report_advanced_filters';
+var charts = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__["applyFilters"])(ORDERS_REPORT_CHARTS_FILTER, [{
+ key: 'orders_count',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Orders', 'woocommerce-admin'),
+ type: 'number'
+}, {
+ key: 'net_revenue',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Net Sales', 'woocommerce-admin'),
+ order: 'desc',
+ orderby: 'net_total',
+ type: 'currency'
+}, {
+ key: 'avg_order_value',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Average Order Value', 'woocommerce-admin'),
+ type: 'currency'
+}, {
+ key: 'avg_items_per_order',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Average Items Per Order', 'woocommerce-admin'),
+ order: 'desc',
+ orderby: 'num_items_sold',
+ type: 'average'
+}]);
+var filters = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__["applyFilters"])(ORDERS_REPORT_FILTERS_FILTER, [{
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Show', 'woocommerce-admin'),
+ staticParams: ['chart'],
+ param: 'filter',
+ showFilters: function showFilters() {
+ return true;
+ },
+ filters: [{
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('All Orders', 'woocommerce-admin'),
+ value: 'all'
+ }, {
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Advanced Filters', 'woocommerce-admin'),
+ value: 'advanced'
+ }]
+}]);
+/*eslint-disable max-len*/
+
+var advancedFilters = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__["applyFilters"])(ORDERS_REPORT_ADVANCED_FILTERS_FILTER, {
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["_x"])('Orders Match {{select /}} Filters', 'A sentence describing filters for Orders. See screen shot for context: https://cloudup.com/cSsUY9VeCVJ', 'woocommerce-admin'),
+ filters: {
+ status: {
+ labels: {
+ add: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Order Status', 'woocommerce-admin'),
+ remove: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Remove order status filter', 'woocommerce-admin'),
+ rule: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Select an order status filter match', 'woocommerce-admin'),
+
+ /* translators: A sentence describing an Order Status filter. See screen shot for context: https://cloudup.com/cSsUY9VeCVJ */
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('{{title}}Order Status{{/title}} {{rule /}} {{filter /}}', 'woocommerce-admin'),
+ filter: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Select an order status', 'woocommerce-admin')
+ },
+ rules: [{
+ value: 'is',
+
+ /* translators: Sentence fragment, logical, "Is" refers to searching for orders matching a chosen order status. Screenshot for context: https://cloudup.com/cSsUY9VeCVJ */
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["_x"])('Is', 'order status', 'woocommerce-admin')
+ }, {
+ value: 'is_not',
+
+ /* translators: Sentence fragment, logical, "Is Not" refers to searching for orders that don\'t match a chosen order status. Screenshot for context: https://cloudup.com/cSsUY9VeCVJ */
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["_x"])('Is Not', 'order status', 'woocommerce-admin')
+ }],
+ input: {
+ component: 'SelectControl',
+ options: Object.keys(_woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_2__[/* ORDER_STATUSES */ "d"]).map(function (key) {
+ return {
+ value: key,
+ label: _woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_2__[/* ORDER_STATUSES */ "d"][key]
+ };
+ })
+ }
+ },
+ product: {
+ labels: {
+ add: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Products', 'woocommerce-admin'),
+ placeholder: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Search products', 'woocommerce-admin'),
+ remove: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Remove products filter', 'woocommerce-admin'),
+ rule: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Select a product filter match', 'woocommerce-admin'),
+
+ /* translators: A sentence describing a Product filter. See screen shot for context: https://cloudup.com/cSsUY9VeCVJ */
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('{{title}}Product{{/title}} {{rule /}} {{filter /}}', 'woocommerce-admin'),
+ filter: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Select products', 'woocommerce-admin')
+ },
+ rules: [{
+ value: 'includes',
+
+ /* translators: Sentence fragment, logical, "Includes" refers to orders including a given product(s). Screenshot for context: https://cloudup.com/cSsUY9VeCVJ */
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["_x"])('Includes', 'products', 'woocommerce-admin')
+ }, {
+ value: 'excludes',
+
+ /* translators: Sentence fragment, logical, "Excludes" refers to orders excluding a given product(s). Screenshot for context: https://cloudup.com/cSsUY9VeCVJ */
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["_x"])('Excludes', 'products', 'woocommerce-admin')
+ }],
+ input: {
+ component: 'Search',
+ type: 'products',
+ getLabels: lib_async_requests__WEBPACK_IMPORTED_MODULE_3__[/* getProductLabels */ "d"]
+ }
+ },
+ coupon: {
+ labels: {
+ add: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Coupon Codes', 'woocommerce-admin'),
+ placeholder: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Search coupons', 'woocommerce-admin'),
+ remove: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Remove coupon filter', 'woocommerce-admin'),
+ rule: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Select a coupon filter match', 'woocommerce-admin'),
+
+ /* translators: A sentence describing a Coupon filter. See screen shot for context: https://cloudup.com/cSsUY9VeCVJ */
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('{{title}}Coupon Code{{/title}} {{rule /}} {{filter /}}', 'woocommerce-admin'),
+ filter: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Select coupon codes', 'woocommerce-admin')
+ },
+ rules: [{
+ value: 'includes',
+
+ /* translators: Sentence fragment, logical, "Includes" refers to orders including a given coupon code(s). Screenshot for context: https://cloudup.com/cSsUY9VeCVJ */
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["_x"])('Includes', 'coupon code', 'woocommerce-admin')
+ }, {
+ value: 'excludes',
+
+ /* translators: Sentence fragment, logical, "Excludes" refers to orders excluding a given coupon code(s). Screenshot for context: https://cloudup.com/cSsUY9VeCVJ */
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["_x"])('Excludes', 'coupon code', 'woocommerce-admin')
+ }],
+ input: {
+ component: 'Search',
+ type: 'coupons',
+ getLabels: lib_async_requests__WEBPACK_IMPORTED_MODULE_3__[/* getCouponLabels */ "b"]
+ }
+ },
+ customer_type: {
+ labels: {
+ add: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Customer Type', 'woocommerce-admin'),
+ remove: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Remove customer filter', 'woocommerce-admin'),
+ rule: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Select a customer filter match', 'woocommerce-admin'),
+
+ /* translators: A sentence describing a Customer filter. See screen shot for context: https://cloudup.com/cSsUY9VeCVJ */
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('{{title}}Customer is{{/title}} {{filter /}}', 'woocommerce-admin'),
+ filter: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Select a customer type', 'woocommerce-admin')
+ },
+ input: {
+ component: 'SelectControl',
+ options: [{
+ value: 'new',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('New', 'woocommerce-admin')
+ }, {
+ value: 'returning',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Returning', 'woocommerce-admin')
+ }],
+ defaultOption: 'new'
+ }
+ },
+ refunds: {
+ labels: {
+ add: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Refunds', 'woocommerce-admin'),
+ remove: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Remove refunds filter', 'woocommerce-admin'),
+ rule: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Select a refund filter match', 'woocommerce-admin'),
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('{{title}}Refunds{{/title}} {{filter /}}', 'woocommerce-admin'),
+ filter: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Select a refund type', 'woocommerce-admin')
+ },
+ input: {
+ component: 'SelectControl',
+ options: [{
+ value: 'all',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('All', 'woocommerce-admin')
+ }, {
+ value: 'partial',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Partially refunded', 'woocommerce-admin')
+ }, {
+ value: 'full',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Fully refunded', 'woocommerce-admin')
+ }, {
+ value: 'none',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('None', 'woocommerce-admin')
+ }],
+ defaultOption: 'all'
+ }
+ },
+ tax_rate: {
+ labels: {
+ add: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Tax Rates', 'woocommerce-admin'),
+ placeholder: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Search tax rates', 'woocommerce-admin'),
+ remove: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Remove tax rate filter', 'woocommerce-admin'),
+ rule: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Select a tax rate filter match', 'woocommerce-admin'),
+
+ /* translators: A sentence describing a tax rate filter. See screen shot for context: https://cloudup.com/cSsUY9VeCVJ */
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('{{title}}Tax Rate{{/title}} {{rule /}} {{filter /}}', 'woocommerce-admin'),
+ filter: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Select tax rates', 'woocommerce-admin')
+ },
+ rules: [{
+ value: 'includes',
+
+ /* translators: Sentence fragment, logical, "Includes" refers to orders including a given tax rate(s). Screenshot for context: https://cloudup.com/cSsUY9VeCVJ */
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["_x"])('Includes', 'tax rate', 'woocommerce-admin')
+ }, {
+ value: 'excludes',
+
+ /* translators: Sentence fragment, logical, "Excludes" refers to orders excluding a given tax rate(s). Screenshot for context: https://cloudup.com/cSsUY9VeCVJ */
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["_x"])('Excludes', 'tax rate', 'woocommerce-admin')
+ }],
+ input: {
+ component: 'Search',
+ type: 'taxes',
+ getLabels: lib_async_requests__WEBPACK_IMPORTED_MODULE_3__[/* getTaxRateLabels */ "f"]
+ }
+ }
+ }
+});
+/*eslint-enable max-len*/
+
+/***/ }),
+
+/***/ 765:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return charts; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return filters; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return advancedFilters; });
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(48);
+/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var lib_async_requests__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(739);
+/**
+ * External dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+var COUPON_REPORT_CHARTS_FILTER = 'woocommerce_admin_coupons_report_charts';
+var COUPON_REPORT_FILTERS_FILTER = 'woocommerce_admin_coupons_report_filters';
+var COUPON_REPORT_ADVANCED_FILTERS_FILTER = 'woocommerce_admin_coupon_report_advanced_filters';
+var charts = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__["applyFilters"])(COUPON_REPORT_CHARTS_FILTER, [{
+ key: 'orders_count',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Discounted Orders', 'woocommerce-admin'),
+ order: 'desc',
+ orderby: 'orders_count',
+ type: 'number'
+}, {
+ key: 'amount',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Amount', 'woocommerce-admin'),
+ order: 'desc',
+ orderby: 'amount',
+ type: 'currency'
+}]);
+var filters = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__["applyFilters"])(COUPON_REPORT_FILTERS_FILTER, [{
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Show', 'woocommerce-admin'),
+ staticParams: [],
+ param: 'filter',
+ showFilters: function showFilters() {
+ return true;
+ },
+ filters: [{
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('All Coupons', 'woocommerce-admin'),
+ value: 'all'
+ }, {
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Single Coupon', 'woocommerce-admin'),
+ value: 'select_coupon',
+ chartMode: 'item-comparison',
+ subFilters: [{
+ component: 'Search',
+ value: 'single_coupon',
+ chartMode: 'item-comparison',
+ path: ['select_coupon'],
+ settings: {
+ type: 'coupons',
+ param: 'coupons',
+ getLabels: lib_async_requests__WEBPACK_IMPORTED_MODULE_2__[/* getCouponLabels */ "b"],
+ labels: {
+ placeholder: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Type to search for a coupon', 'woocommerce-admin'),
+ button: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Single Coupon', 'woocommerce-admin')
+ }
+ }
+ }]
+ }, {
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Comparison', 'woocommerce-admin'),
+ value: 'compare-coupons',
+ settings: {
+ type: 'coupons',
+ param: 'coupons',
+ getLabels: lib_async_requests__WEBPACK_IMPORTED_MODULE_2__[/* getCouponLabels */ "b"],
+ labels: {
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Compare Coupon Codes', 'woocommerce-admin'),
+ update: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Compare', 'woocommerce-admin'),
+ helpText: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Check at least two coupon codes below to compare', 'woocommerce-admin')
+ }
+ }
+ }]
+}]);
+var advancedFilters = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__["applyFilters"])(COUPON_REPORT_ADVANCED_FILTERS_FILTER, {});
+
+/***/ }),
+
+/***/ 766:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return charts; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return filters; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return advancedFilters; });
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(48);
+/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var lib_async_requests__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(739);
+/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(740);
+/* harmony import */ var wc_api_constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(24);
+/**
+ * External dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var TAXES_REPORT_CHARTS_FILTER = 'woocommerce_admin_taxes_report_charts';
+var TAXES_REPORT_FILTERS_FILTER = 'woocommerce_admin_taxes_report_filters';
+var TAXES_REPORT_ADVANCED_FILTERS_FILTER = 'woocommerce_admin_taxes_report_advanced_filters';
+var charts = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__["applyFilters"])(TAXES_REPORT_CHARTS_FILTER, [{
+ key: 'total_tax',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Total Tax', 'woocommerce-admin'),
+ order: 'desc',
+ orderby: 'total_tax',
+ type: 'currency'
+}, {
+ key: 'order_tax',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Order Tax', 'woocommerce-admin'),
+ order: 'desc',
+ orderby: 'order_tax',
+ type: 'currency'
+}, {
+ key: 'shipping_tax',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Shipping Tax', 'woocommerce-admin'),
+ order: 'desc',
+ orderby: 'shipping_tax',
+ type: 'currency'
+}, {
+ key: 'orders_count',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Orders', 'woocommerce-admin'),
+ order: 'desc',
+ orderby: 'orders_count',
+ type: 'number'
+}]);
+var filters = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__["applyFilters"])(TAXES_REPORT_FILTERS_FILTER, [{
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Show', 'woocommerce-admin'),
+ staticParams: ['chart'],
+ param: 'filter',
+ showFilters: function showFilters() {
+ return true;
+ },
+ filters: [{
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('All Taxes', 'woocommerce-admin'),
+ value: 'all'
+ }, {
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Comparison', 'woocommerce-admin'),
+ value: 'compare-taxes',
+ chartMode: 'item-comparison',
+ settings: {
+ type: 'taxes',
+ param: 'taxes',
+ getLabels: Object(lib_async_requests__WEBPACK_IMPORTED_MODULE_2__[/* getRequestByIdString */ "e"])(wc_api_constants__WEBPACK_IMPORTED_MODULE_4__[/* NAMESPACE */ "c"] + '/taxes', function (tax) {
+ return {
+ id: tax.id,
+ label: Object(_utils__WEBPACK_IMPORTED_MODULE_3__[/* getTaxCode */ "a"])(tax)
+ };
+ }),
+ labels: {
+ helpText: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Check at least two tax codes below to compare', 'woocommerce-admin'),
+ placeholder: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Search for tax codes to compare', 'woocommerce-admin'),
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Compare Tax Codes', 'woocommerce-admin'),
+ update: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Compare', 'woocommerce-admin')
+ }
+ }
+ }]
+}]);
+var advancedFilters = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__["applyFilters"])(TAXES_REPORT_ADVANCED_FILTERS_FILTER, {});
+
+/***/ }),
+
+/***/ 767:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return charts; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return filters; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return advancedFilters; });
+/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(46);
+/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(48);
+/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var lib_async_requests__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(739);
+
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+var DOWLOADS_REPORT_CHARTS_FILTER = 'woocommerce_admin_downloads_report_charts';
+var DOWLOADS_REPORT_FILTERS_FILTER = 'woocommerce_admin_downloads_report_filters';
+var DOWLOADS_REPORT_ADVANCED_FILTERS_FILTER = 'woocommerce_admin_downloads_report_advanced_filters';
+var charts = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_2__["applyFilters"])(DOWLOADS_REPORT_CHARTS_FILTER, [{
+ key: 'download_count',
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Downloads', 'woocommerce-admin'),
+ type: 'number'
+}]);
+var filters = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_2__["applyFilters"])(DOWLOADS_REPORT_FILTERS_FILTER, [{
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Show', 'woocommerce-admin'),
+ staticParams: [],
+ param: 'filter',
+ showFilters: function showFilters() {
+ return true;
+ },
+ filters: [{
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('All Downloads', 'woocommerce-admin'),
+ value: 'all'
+ }, {
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Advanced Filters', 'woocommerce-admin'),
+ value: 'advanced'
+ }]
+}]);
+/*eslint-disable max-len*/
+
+var advancedFilters = Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_2__["applyFilters"])(DOWLOADS_REPORT_ADVANCED_FILTERS_FILTER, {
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["_x"])('Downloads Match {{select /}} Filters', 'A sentence describing filters for Downloads. See screen shot for context: https://cloudup.com/ccxhyH2mEDg', 'woocommerce-admin'),
+ filters: {
+ product: {
+ labels: {
+ add: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Product', 'woocommerce-admin'),
+ placeholder: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Search', 'woocommerce-admin'),
+ remove: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Remove product filter', 'woocommerce-admin'),
+ rule: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Select a product filter match', 'woocommerce-admin'),
+
+ /* translators: A sentence describing a Product filter. See screen shot for context: https://cloudup.com/ccxhyH2mEDg */
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('{{title}}Product{{/title}} {{rule /}} {{filter /}}', 'woocommerce-admin'),
+ filter: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Select product', 'woocommerce-admin')
+ },
+ rules: [{
+ value: 'includes',
+
+ /* translators: Sentence fragment, logical, "Includes" refers to products including a given product(s). Screenshot for context: https://cloudup.com/ccxhyH2mEDg */
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["_x"])('Includes', 'products', 'woocommerce-admin')
+ }, {
+ value: 'excludes',
+
+ /* translators: Sentence fragment, logical, "Excludes" refers to products excluding a products(s). Screenshot for context: https://cloudup.com/ccxhyH2mEDg */
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["_x"])('Excludes', 'products', 'woocommerce-admin')
+ }],
+ input: {
+ component: 'Search',
+ type: 'products',
+ getLabels: lib_async_requests__WEBPACK_IMPORTED_MODULE_3__[/* getProductLabels */ "d"]
+ }
+ },
+ customer: {
+ labels: {
+ add: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Username', 'woocommerce-admin'),
+ placeholder: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Search customer username', 'woocommerce-admin'),
+ remove: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Remove customer username filter', 'woocommerce-admin'),
+ rule: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Select a customer username filter match', 'woocommerce-admin'),
+
+ /* translators: A sentence describing a customer username filter. See screen shot for context: https://cloudup.com/ccxhyH2mEDg */
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('{{title}}Username{{/title}} {{rule /}} {{filter /}}', 'woocommerce-admin'),
+ filter: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Select customer username', 'woocommerce-admin')
+ },
+ rules: [{
+ value: 'includes',
+
+ /* translators: Sentence fragment, logical, "Includes" refers to customer usernames including a given username(s). Screenshot for context: https://cloudup.com/ccxhyH2mEDg */
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["_x"])('Includes', 'customer usernames', 'woocommerce-admin')
+ }, {
+ value: 'excludes',
+
+ /* translators: Sentence fragment, logical, "Excludes" refers to customer usernames excluding a given username(s). Screenshot for context: https://cloudup.com/ccxhyH2mEDg */
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["_x"])('Excludes', 'customer usernames', 'woocommerce-admin')
+ }],
+ input: {
+ component: 'Search',
+ type: 'usernames',
+ getLabels: lib_async_requests__WEBPACK_IMPORTED_MODULE_3__[/* getCustomerLabels */ "c"]
+ }
+ },
+ order: {
+ labels: {
+ add: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Order #', 'woocommerce-admin'),
+ placeholder: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Search order number', 'woocommerce-admin'),
+ remove: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Remove order number filter', 'woocommerce-admin'),
+ rule: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Select a order number filter match', 'woocommerce-admin'),
+
+ /* translators: A sentence describing a order number filter. See screen shot for context: https://cloudup.com/ccxhyH2mEDg */
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('{{title}}Order #{{/title}} {{rule /}} {{filter /}}', 'woocommerce-admin'),
+ filter: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Select order number', 'woocommerce-admin')
+ },
+ rules: [{
+ value: 'includes',
+
+ /* translators: Sentence fragment, logical, "Includes" refers to order numbers including a given order(s). Screenshot for context: https://cloudup.com/ccxhyH2mEDg */
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["_x"])('Includes', 'order numbers', 'woocommerce-admin')
+ }, {
+ value: 'excludes',
+
+ /* translators: Sentence fragment, logical, "Excludes" refers to order numbers excluding a given order(s). Screenshot for context: https://cloudup.com/ccxhyH2mEDg */
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["_x"])('Excludes', 'order numbers', 'woocommerce-admin')
+ }],
+ input: {
+ component: 'Search',
+ type: 'orders',
+ getLabels: function () {
+ var _getLabels = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0___default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee(value) {
+ var orderIds;
+ return regeneratorRuntime.wrap(function _callee$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ orderIds = value.split(',');
+ _context.next = 3;
+ return orderIds.map(function (orderId) {
+ return {
+ id: orderId,
+ label: '#' + orderId
+ };
+ });
+
+ case 3:
+ return _context.abrupt("return", _context.sent);
+
+ case 4:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, _callee);
+ }));
+
+ function getLabels(_x2) {
+ return _getLabels.apply(this, arguments);
+ }
+
+ return getLabels;
+ }()
+ }
+ },
+ ip_address: {
+ labels: {
+ add: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('IP Address', 'woocommerce-admin'),
+ placeholder: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Search IP address', 'woocommerce-admin'),
+ remove: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Remove IP address filter', 'woocommerce-admin'),
+ rule: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Select an IP address filter match', 'woocommerce-admin'),
+
+ /* translators: A sentence describing a order number filter. See screen shot for context: https://cloudup.com/ccxhyH2mEDg */
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('{{title}}IP Address{{/title}} {{rule /}} {{filter /}}', 'woocommerce-admin'),
+ filter: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Select IP address', 'woocommerce-admin')
+ },
+ rules: [{
+ value: 'includes',
+
+ /* translators: Sentence fragment, logical, "Includes" refers to IP addresses including a given address(s). Screenshot for context: https://cloudup.com/ccxhyH2mEDg */
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["_x"])('Includes', 'IP addresses', 'woocommerce-admin')
+ }, {
+ value: 'excludes',
+
+ /* translators: Sentence fragment, logical, "Excludes" refers to IP addresses excluding a given address(s). Screenshot for context: https://cloudup.com/ccxhyH2mEDg */
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["_x"])('Excludes', 'IP addresses', 'woocommerce-admin')
+ }],
+ input: {
+ component: 'Search',
+ type: 'downloadIps',
+ getLabels: function () {
+ var _getLabels2 = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0___default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(value) {
+ var ips;
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
+ while (1) {
+ switch (_context2.prev = _context2.next) {
+ case 0:
+ ips = value.split(',');
+ _context2.next = 3;
+ return ips.map(function (ip) {
+ return {
+ id: ip,
+ label: ip
+ };
+ });
+
+ case 3:
+ return _context2.abrupt("return", _context2.sent);
+
+ case 4:
+ case "end":
+ return _context2.stop();
+ }
+ }
+ }, _callee2);
+ }));
+
+ function getLabels(_x3) {
+ return _getLabels2.apply(this, arguments);
+ }
+
+ return getLabels;
+ }()
+ }
+ }
+ }
+});
+/*eslint-enable max-len*/
+
+/***/ }),
+
+/***/ 892:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ }),
+
+/***/ 893:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ }),
+
+/***/ 909:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+// ESM COMPAT FLAG
+__webpack_require__.r(__webpack_exports__);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js
+var defineProperty = __webpack_require__(15);
+var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js
+var classCallCheck = __webpack_require__(41);
+var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js
+var createClass = __webpack_require__(40);
+var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(44);
+var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(29);
+var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js
+var inherits = __webpack_require__(42);
+var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: external {"this":["wp","i18n"]}
+var external_this_wp_i18n_ = __webpack_require__(3);
+
+// EXTERNAL MODULE: ./node_modules/classnames/index.js
+var classnames = __webpack_require__(10);
+var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/compose/build-module/higher-order/compose.js
+var compose = __webpack_require__(256);
+
+// EXTERNAL MODULE: ./node_modules/gridicons/dist/index.js
+var dist = __webpack_require__(66);
+var dist_default = /*#__PURE__*/__webpack_require__.n(dist);
+
+// EXTERNAL MODULE: ./node_modules/prop-types/index.js
+var prop_types = __webpack_require__(1);
+var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/select-control/index.js
+var select_control = __webpack_require__(709);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/navigable-container/menu.js + 1 modules
+var menu = __webpack_require__(424);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/icon-button/index.js
+var icon_button = __webpack_require__(85);
+
+// EXTERNAL MODULE: external {"this":["wp","data"]}
+var external_this_wp_data_ = __webpack_require__(19);
+
+// EXTERNAL MODULE: external {"this":["wc","components"]}
+var external_this_wc_components_ = __webpack_require__(63);
+
+// EXTERNAL MODULE: ./client/lib/date.js
+var date = __webpack_require__(104);
+
+// EXTERNAL MODULE: external {"this":["wc","navigation"]}
+var external_this_wc_navigation_ = __webpack_require__(22);
+
+// EXTERNAL MODULE: ./client/settings/index.js
+var settings = __webpack_require__(26);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-chart/index.js + 1 modules
+var report_chart = __webpack_require__(741);
+
+// EXTERNAL MODULE: ./client/dashboard/dashboard-charts/block.scss
+var block = __webpack_require__(892);
+
+// CONCATENATED MODULE: ./client/dashboard/dashboard-charts/block.js
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var block_ChartBlock = /*#__PURE__*/function (_Component) {
+ inherits_default()(ChartBlock, _Component);
+
+ var _super = _createSuper(ChartBlock);
+
+ function ChartBlock() {
+ var _temp, _this;
+
+ classCallCheck_default()(this, ChartBlock);
+
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
+ args[_key] = arguments[_key];
+ }
+
+ return possibleConstructorReturn_default()(_this, (_temp = _this = _super.call.apply(_super, [this].concat(args)), _this.handleChartClick = function () {
+ var selectedChart = _this.props.selectedChart;
+ Object(external_this_wc_navigation_["getHistory"])().push(_this.getChartPath(selectedChart));
+ }, _temp));
+ }
+
+ createClass_default()(ChartBlock, [{
+ key: "getChartPath",
+ value: function getChartPath(chart) {
+ return Object(external_this_wc_navigation_["getNewPath"])({
+ chart: chart.key
+ }, '/analytics/' + chart.endpoint, Object(external_this_wc_navigation_["getPersistedQuery"])());
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ charts = _this$props.charts,
+ endpoint = _this$props.endpoint,
+ path = _this$props.path,
+ query = _this$props.query,
+ selectedChart = _this$props.selectedChart;
+
+ if (!selectedChart) {
+ return null;
+ }
+
+ return Object(external_this_wp_element_["createElement"])("div", {
+ role: "presentation",
+ className: "woocommerce-dashboard__chart-block-wrapper",
+ onClick: this.handleChartClick
+ }, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Card"], {
+ className: "woocommerce-dashboard__chart-block woocommerce-analytics__card",
+ title: selectedChart.label
+ }, Object(external_this_wp_element_["createElement"])("a", {
+ className: "screen-reader-text",
+ href: Object(settings["f" /* getAdminLink */])(this.getChartPath(selectedChart))
+ },
+ /* translators: %s is the chart type */
+ Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('%s Report', 'woocommerce-admin'), selectedChart.label)), Object(external_this_wp_element_["createElement"])(report_chart["a" /* default */], {
+ charts: charts,
+ endpoint: endpoint,
+ query: query,
+ interactiveLegend: false,
+ legendPosition: "bottom",
+ path: path,
+ selectedChart: selectedChart,
+ showHeaderControls: false
+ })));
+ }
+ }]);
+
+ return ChartBlock;
+}(external_this_wp_element_["Component"]);
+
+block_ChartBlock.propTypes = {
+ charts: prop_types_default.a.array,
+ endpoint: prop_types_default.a.string.isRequired,
+ path: prop_types_default.a.string.isRequired,
+ query: prop_types_default.a.object.isRequired,
+ selectedChart: prop_types_default.a.object.isRequired
+};
+/* harmony default export */ var dashboard_charts_block = (block_ChartBlock);
+// EXTERNAL MODULE: external {"this":["wp","hooks"]}
+var external_this_wp_hooks_ = __webpack_require__(48);
+
+// EXTERNAL MODULE: ./client/analytics/report/orders/config.js
+var config = __webpack_require__(764);
+
+// EXTERNAL MODULE: ./client/analytics/report/products/config.js
+var products_config = __webpack_require__(763);
+
+// EXTERNAL MODULE: ./client/analytics/report/revenue/config.js
+var revenue_config = __webpack_require__(762);
+
+// EXTERNAL MODULE: ./client/analytics/report/coupons/config.js
+var coupons_config = __webpack_require__(765);
+
+// EXTERNAL MODULE: ./client/analytics/report/taxes/config.js
+var taxes_config = __webpack_require__(766);
+
+// EXTERNAL MODULE: ./client/analytics/report/downloads/config.js
+var downloads_config = __webpack_require__(767);
+
+// CONCATENATED MODULE: ./client/dashboard/dashboard-charts/config.js
+
+
+function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+var DASHBOARD_CHARTS_FILTER = 'woocommerce_admin_dashboard_charts_filter';
+var config_charts = {
+ revenue: revenue_config["b" /* charts */],
+ orders: config["b" /* charts */],
+ products: products_config["b" /* charts */],
+ coupons: coupons_config["b" /* charts */],
+ taxes: taxes_config["b" /* charts */],
+ downloads: downloads_config["b" /* charts */]
+};
+var defaultCharts = [{
+ label: Object(external_this_wp_i18n_["__"])('Total Sales', 'woocommerce-admin'),
+ report: 'revenue',
+ key: 'total_sales'
+}, {
+ label: Object(external_this_wp_i18n_["__"])('Net Sales', 'woocommerce-admin'),
+ report: 'revenue',
+ key: 'net_revenue'
+}, {
+ label: Object(external_this_wp_i18n_["__"])('Orders', 'woocommerce-admin'),
+ report: 'orders',
+ key: 'orders_count'
+}, {
+ label: Object(external_this_wp_i18n_["__"])('Average Order Value', 'woocommerce-admin'),
+ report: 'orders',
+ key: 'avg_order_value'
+}, {
+ label: Object(external_this_wp_i18n_["__"])('Items Sold', 'woocommerce-admin'),
+ report: 'products',
+ key: 'items_sold'
+}, {
+ label: Object(external_this_wp_i18n_["__"])('Returns', 'woocommerce-admin'),
+ report: 'revenue',
+ key: 'refunds'
+}, {
+ label: Object(external_this_wp_i18n_["__"])('Discounted Orders', 'woocommerce-admin'),
+ report: 'coupons',
+ key: 'orders_count'
+}, {
+ label: Object(external_this_wp_i18n_["__"])('Gross discounted', 'woocommerce-admin'),
+ report: 'coupons',
+ key: 'amount'
+}, {
+ label: Object(external_this_wp_i18n_["__"])('Total Tax', 'woocommerce-admin'),
+ report: 'taxes',
+ key: 'total_tax'
+}, {
+ label: Object(external_this_wp_i18n_["__"])('Order Tax', 'woocommerce-admin'),
+ report: 'taxes',
+ key: 'order_tax'
+}, {
+ label: Object(external_this_wp_i18n_["__"])('Shipping Tax', 'woocommerce-admin'),
+ report: 'taxes',
+ key: 'shipping_tax'
+}, {
+ label: Object(external_this_wp_i18n_["__"])('Shipping', 'woocommerce-admin'),
+ report: 'revenue',
+ key: 'shipping'
+}, {
+ label: Object(external_this_wp_i18n_["__"])('Downloads', 'woocommerce-admin'),
+ report: 'downloads',
+ key: 'download_count'
+}];
+var uniqCharts = Object(external_this_wp_hooks_["applyFilters"])(DASHBOARD_CHARTS_FILTER, defaultCharts.map(function (chartDef) {
+ return _objectSpread({}, config_charts[chartDef.report].find(function (chart) {
+ return chart.key === chartDef.key;
+ }), {
+ label: chartDef.label,
+ endpoint: chartDef.report
+ });
+}));
+// EXTERNAL MODULE: ./client/wc-api/with-select.js
+var with_select = __webpack_require__(101);
+
+// EXTERNAL MODULE: ./client/lib/tracks.js
+var tracks = __webpack_require__(79);
+
+// EXTERNAL MODULE: ./client/dashboard/dashboard-charts/style.scss
+var style = __webpack_require__(893);
+
+// CONCATENATED MODULE: ./client/dashboard/dashboard-charts/index.js
+
+
+
+
+
+
+
+
+function dashboard_charts_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function dashboard_charts_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { dashboard_charts_ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { dashboard_charts_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+function dashboard_charts_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (dashboard_charts_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function dashboard_charts_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+var dashboard_charts_DashboardCharts = /*#__PURE__*/function (_Component) {
+ inherits_default()(DashboardCharts, _Component);
+
+ var _super = dashboard_charts_createSuper(DashboardCharts);
+
+ function DashboardCharts(props) {
+ var _this;
+
+ classCallCheck_default()(this, DashboardCharts);
+
+ _this = _super.apply(this, arguments);
+
+ _this.setInterval = function (interval) {
+ _this.setState({
+ interval: interval
+ }, function () {
+ var userDataFields = {
+ dashboard_chart_interval: _this.state.interval
+ };
+
+ _this.props.updateCurrentUserData(userDataFields);
+
+ Object(tracks["b" /* recordEvent */])('dash_charts_interval', {
+ interval: interval
+ });
+ });
+ };
+
+ _this.state = {
+ chartType: props.userPrefChartType || 'line',
+ interval: props.userPrefChartInterval || 'day'
+ };
+ return _this;
+ }
+
+ createClass_default()(DashboardCharts, [{
+ key: "handleTypeToggle",
+ value: function handleTypeToggle(chartType) {
+ var _this2 = this;
+
+ return function () {
+ _this2.setState({
+ chartType: chartType
+ });
+
+ var userDataFields = {
+ dashboard_chart_type: chartType
+ };
+
+ _this2.props.updateCurrentUserData(userDataFields);
+
+ Object(tracks["b" /* recordEvent */])('dash_charts_type_toggle', {
+ chart_type: chartType
+ });
+ };
+ }
+ }, {
+ key: "renderMenu",
+ value: function renderMenu() {
+ var _this$props = this.props,
+ hiddenBlocks = _this$props.hiddenBlocks,
+ isFirst = _this$props.isFirst,
+ isLast = _this$props.isLast,
+ onMove = _this$props.onMove,
+ onRemove = _this$props.onRemove,
+ onTitleBlur = _this$props.onTitleBlur,
+ onTitleChange = _this$props.onTitleChange,
+ onToggleHiddenBlock = _this$props.onToggleHiddenBlock,
+ titleInput = _this$props.titleInput,
+ Controls = _this$props.controls;
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["EllipsisMenu"], {
+ label: Object(external_this_wp_i18n_["__"])('Choose which charts to display', 'woocommerce-admin'),
+ renderContent: function renderContent(_ref) {
+ var onToggle = _ref.onToggle;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["MenuTitle"], null, Object(external_this_wp_i18n_["__"])('Charts', 'woocommerce-admin')), uniqCharts.map(function (chart) {
+ var key = chart.endpoint + '_' + chart.key;
+ var checked = !hiddenBlocks.includes(key);
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["MenuItem"], {
+ checked: checked,
+ isCheckbox: true,
+ isClickable: true,
+ key: chart.endpoint + '_' + chart.key,
+ onInvoke: function onInvoke() {
+ onToggleHiddenBlock(key)();
+ Object(tracks["b" /* recordEvent */])('dash_charts_chart_toggle', {
+ status: checked ? 'off' : 'on',
+ key: key
+ });
+ }
+ }, chart.label);
+ }), true && Object(external_this_wp_element_["createElement"])(Controls, {
+ onToggle: onToggle,
+ onMove: onMove,
+ onRemove: onRemove,
+ isFirst: isFirst,
+ isLast: isLast,
+ onTitleBlur: onTitleBlur,
+ onTitleChange: onTitleChange,
+ titleInput: titleInput
+ }));
+ }
+ });
+ }
+ }, {
+ key: "renderIntervalSelector",
+ value: function renderIntervalSelector() {
+ var allowedIntervals = Object(date["d" /* getAllowedIntervalsForQuery */])(this.props.query);
+
+ if (!allowedIntervals || allowedIntervals.length < 1) {
+ return null;
+ }
+
+ var intervalLabels = {
+ hour: Object(external_this_wp_i18n_["__"])('By hour', 'woocommerce-admin'),
+ day: Object(external_this_wp_i18n_["__"])('By day', 'woocommerce-admin'),
+ week: Object(external_this_wp_i18n_["__"])('By week', 'woocommerce-admin'),
+ month: Object(external_this_wp_i18n_["__"])('By month', 'woocommerce-admin'),
+ quarter: Object(external_this_wp_i18n_["__"])('By quarter', 'woocommerce-admin'),
+ year: Object(external_this_wp_i18n_["__"])('By year', 'woocommerce-admin')
+ };
+ return Object(external_this_wp_element_["createElement"])(select_control["a" /* default */], {
+ className: "woocommerce-chart__interval-select",
+ value: this.state.interval,
+ options: allowedIntervals.map(function (allowedInterval) {
+ return {
+ value: allowedInterval,
+ label: intervalLabels[allowedInterval]
+ };
+ }),
+ onChange: this.setInterval
+ });
+ }
+ }, {
+ key: "renderChartBlocks",
+ value: function renderChartBlocks(query) {
+ var _this$props2 = this.props,
+ hiddenBlocks = _this$props2.hiddenBlocks,
+ path = _this$props2.path; // Reduce the API response to only the necessary stat fields
+ // by supplying all charts common to each endpoint.
+
+ var chartsByEndpoint = uniqCharts.reduce(function (byEndpoint, chart) {
+ if (typeof byEndpoint[chart.endpoint] === 'undefined') {
+ byEndpoint[chart.endpoint] = [];
+ }
+
+ byEndpoint[chart.endpoint].push(chart);
+ return byEndpoint;
+ }, {});
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-dashboard__columns"
+ }, uniqCharts.map(function (chart) {
+ return hiddenBlocks.includes(chart.endpoint + '_' + chart.key) ? null : Object(external_this_wp_element_["createElement"])(dashboard_charts_block, {
+ charts: chartsByEndpoint[chart.endpoint],
+ endpoint: chart.endpoint,
+ key: chart.endpoint + '_' + chart.key,
+ path: path,
+ query: query,
+ selectedChart: chart
+ });
+ }));
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var title = this.props.title;
+ var _this$state = this.state,
+ chartType = _this$state.chartType,
+ interval = _this$state.interval;
+
+ var query = dashboard_charts_objectSpread({}, this.props.query, {
+ chartType: chartType,
+ interval: interval
+ });
+
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-dashboard__dashboard-charts"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["SectionHeader"], {
+ title: title || Object(external_this_wp_i18n_["__"])('Charts', 'woocommerce-admin'),
+ menu: this.renderMenu(),
+ className: 'has-interval-select'
+ }, this.renderIntervalSelector(), Object(external_this_wp_element_["createElement"])(menu["a" /* default */], {
+ className: "woocommerce-chart__types",
+ orientation: "horizontal",
+ role: "menubar"
+ }, Object(external_this_wp_element_["createElement"])(icon_button["a" /* default */], {
+ className: classnames_default()('woocommerce-chart__type-button', {
+ 'woocommerce-chart__type-button-selected': !query.chartType || query.chartType === 'line'
+ }),
+ icon: Object(external_this_wp_element_["createElement"])(dist_default.a, {
+ icon: "line-graph"
+ }),
+ title: Object(external_this_wp_i18n_["__"])('Line chart', 'woocommerce-admin'),
+ "aria-checked": query.chartType === 'line',
+ role: "menuitemradio",
+ tabIndex: query.chartType === 'line' ? 0 : -1,
+ onClick: this.handleTypeToggle('line')
+ }), Object(external_this_wp_element_["createElement"])(icon_button["a" /* default */], {
+ className: classnames_default()('woocommerce-chart__type-button', {
+ 'woocommerce-chart__type-button-selected': query.chartType === 'bar'
+ }),
+ icon: Object(external_this_wp_element_["createElement"])(dist_default.a, {
+ icon: "stats-alt"
+ }),
+ title: Object(external_this_wp_i18n_["__"])('Bar chart', 'woocommerce-admin'),
+ "aria-checked": query.chartType === 'bar',
+ role: "menuitemradio",
+ tabIndex: query.chartType === 'bar' ? 0 : -1,
+ onClick: this.handleTypeToggle('bar')
+ }))), this.renderChartBlocks(query)));
+ }
+ }]);
+
+ return DashboardCharts;
+}(external_this_wp_element_["Component"]);
+
+dashboard_charts_DashboardCharts.propTypes = {
+ path: prop_types_default.a.string.isRequired,
+ query: prop_types_default.a.object.isRequired
+};
+/* harmony default export */ var dashboard_charts = __webpack_exports__["default"] = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select) {
+ var _select = select('wc-api'),
+ getCurrentUserData = _select.getCurrentUserData;
+
+ var userData = getCurrentUserData();
+ return {
+ userPrefChartType: userData.dashboard_chart_type,
+ userPrefChartInterval: userData.dashboard_chart_interval
+ };
+}), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('wc-api'),
+ updateCurrentUserData = _dispatch.updateCurrentUserData;
+
+ return {
+ updateCurrentUserData: updateCurrentUserData
+ };
+}))(dashboard_charts_DashboardCharts));
+
+/***/ })
+
+}]);
\ No newline at end of file
diff --git a/dist/chunks/dashboard-charts.9eb2d5d4d569e8cb81a3.min.js b/dist/chunks/dashboard-charts.9eb2d5d4d569e8cb81a3.min.js
new file mode 100644
index 00000000000..7bd59fb1196
--- /dev/null
+++ b/dist/chunks/dashboard-charts.9eb2d5d4d569e8cb81a3.min.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{709:function(e,t,r){"use strict";var o=r(11),a=r(17),c=r(16),n=r(0),i=r(2),l=r(173),s=r(171);t.a=Object(l.a)((function(e){var t=e.help,r=e.instanceId,l=e.label,m=e.multiple,u=void 0!==m&&m,d=e.onChange,p=e.options,b=void 0===p?[]:p,_=e.className,f=e.hideLabelFromVision,y=Object(c.a)(e,["help","instanceId","label","multiple","onChange","options","className","hideLabelFromVision"]),O="inspector-select-control-".concat(r);return!Object(i.isEmpty)(b)&&Object(n.createElement)(s.a,{label:l,hideLabelFromVision:f,id:O,help:t,className:_},Object(n.createElement)("select",Object(o.a)({id:O,className:"components-select-control__input",onChange:function(e){if(u){var t=Object(a.a)(e.target.options).filter((function(e){return e.selected})).map((function(e){return e.value}));d(t)}else d(e.target.value)},"aria-describedby":t?"".concat(O,"__help"):void 0,multiple:u},y),b.map((function(e,t){return Object(n.createElement)("option",{key:"".concat(e.label,"-").concat(e.value,"-").concat(t),value:e.value,disabled:e.disabled},e.label)}))))}))},738:function(e,t,r){"use strict";r.d(t,"d",(function(){return h})),r.d(t,"a",(function(){return j})),r.d(t,"e",(function(){return v})),r.d(t,"c",(function(){return w})),r.d(t,"b",(function(){return g}));var o=r(15),a=r.n(o),c=r(749),n=r.n(c),i=r(2),l=r(12),s=r.n(l),m=r(104),u=r(22),d=r(24),p=r(738);function b(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function _(e){for(var t=1;td.b){for(var p=!0,b=!1,f=[],h=Math.ceil(s.totalResults/d.b),j=1,v=2;v<=h;v++){var w=_({},l,{page:v}),g=o(t,w);if(!c(t,w)){if(a(t,w)){b=!0,p=!1;break}if(f.push(g),++j===h){p=!1;break}}}if(p)return _({},n,{isRequesting:!0});if(b)return _({},n,{isError:!0});Object(i.forEach)(f,(function(e){u=u.concat(e.data.intervals)}))}return _({},n,{data:{totals:m,intervals:u}})}function v(e,t){switch(e){case"currency":return t;case"percent":return".0%";case"number":return",";case"average":return",.2r";default:return","}}function w(e){var t=e.query,r=e.tableQuery,o=void 0===r?{}:r,a=f(e),c=Object(m.f)(t,e.defaultDateRange),n=Object(i.includes)(y,e.endpoint);return _({orderby:t.orderby||"date",order:t.order||"desc",after:n?void 0:Object(m.a)(c.primary.after,"start"),before:n?void 0:Object(m.a)(c.primary.before,"end"),page:t.paged||1,per_page:t.per_page||d.d.pageSize},a,{},o)}function g(e){var t=e.endpoint,r=(0,e.select)("wc-api"),o=r.getReportItems,a=r.getReportItemsError,c=r.isReportItemsRequesting,n=p.c(e),i={query:n,isRequesting:!1,isError:!1,items:{data:[],totalResults:0}},l=o(t,n);return c(t,n)?_({},i,{isRequesting:!0}):a(t,n)?_({},i,{isError:!0}):_({},i,{items:l})}},739:function(e,t,r){"use strict";r.d(t,"e",(function(){return m})),r.d(t,"a",(function(){return u})),r.d(t,"b",(function(){return d})),r.d(t,"c",(function(){return p})),r.d(t,"d",(function(){return b})),r.d(t,"f",(function(){return _})),r.d(t,"g",(function(){return f}));var o=r(30),a=r(20),c=r.n(a),n=r(2),i=r(22),l=r(740),s=r(24);function m(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.identity;return function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",a=arguments.length>1?arguments[1]:void 0,n="function"==typeof e?e(a):e,l=Object(i.getIdsFromQuery)(r);if(l.length<1)return Promise.resolve([]);var s={include:l.join(","),per_page:l.length};return c()({path:Object(o.addQueryArgs)(n,s)}).then((function(e){return e.map(t)}))}}var u=m(s.c+"/products/categories",(function(e){return{key:e.id,label:e.name}})),d=m(s.c+"/coupons",(function(e){return{key:e.id,label:e.code}})),p=m(s.c+"/customers",(function(e){return{key:e.id,label:e.name}})),b=m(s.c+"/products",(function(e){return{key:e.id,label:e.name}})),_=m(s.c+"/taxes",(function(e){return{key:e.id,label:Object(l.a)(e)}})),f=m((function(e){return s.c+"/products/".concat(e.products,"/variations")}),(function(e){return{key:e.id,label:e.attributes.reduce((function(e,t,r,o){return e+"".concat(t.option).concat(o.length===r+1?"":", ")}),"")}}))},740:function(e,t,r){"use strict";r.d(t,"a",(function(){return a}));var o=r(3);function a(e){return[e.country,e.state,e.name||Object(o.__)("TAX","woocommerce-admin"),e.priority].map((function(e){return e.toString().toUpperCase().trim()})).filter(Boolean).join("-")}},741:function(e,t,r){"use strict";var o=r(15),a=r.n(o),c=r(41),n=r.n(c),i=r(40),l=r.n(i),s=r(44),m=r.n(s),u=r(29),d=r.n(u),p=r(42),b=r.n(p),_=r(0),f=r(3),y=r(256),O=r(172),h=r(2),j=r(1),v=r.n(j),w=r(104),g=r(63),k=r(51),R=r(203),C=r(738),S=r(261),x=r(101),P=r(22);function T(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function D(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:{};if(!t||0===t.length)return null;var a=t.slice(0),c=a.pop();if(c.showFilters(r,o)){var n=Object(P.flattenFilters)(c.filters),i=r[c.param]||c.defaultValue||"all";return Object(h.find)(n,{value:i})}return e(a,r,o)}(a,i),u=Object(h.get)(m,["settings","param"]),d=t.mode||function(e,t){if(e&&t){var r=Object(h.get)(e,["settings","param"]);if(!r||Object.keys(t).includes(r))return Object(h.get)(e,["chartMode"])}return null}(m,i)||"time-comparison",p=e(k.SETTINGS_STORE_NAME).getSetting("wc_admin","wcAdminSettings").woocommerce_default_date_range,b={mode:d,filterParam:u,defaultDateRange:p};if(c)return b;var _=s.some((function(e){return i[e]&&i[e].length}));if(i.search&&!_)return D({},b,{emptySearchResults:!0});var f=r&&r.map((function(e){return e.key})),y=Object(C.a)({endpoint:o,dataType:"primary",query:i,select:e,limitBy:s,filters:a,advancedFilters:l,defaultDateRange:p,fields:f});return D({},b,"item-comparison"===d?{primaryData:y}:{primaryData:y,secondaryData:Object(C.a)({endpoint:o,dataType:"secondary",query:i,select:e,limitBy:s,filters:a,advancedFilters:l,defaultDateRange:p,fields:f})})})))(q)},762:function(e,t,r){"use strict";r.d(t,"b",(function(){return c})),r.d(t,"c",(function(){return n})),r.d(t,"a",(function(){return i}));var o=r(3),a=r(48),c=Object(a.applyFilters)("woocommerce_admin_revenue_report_charts",[{key:"gross_sales",label:Object(o.__)("Gross Sales","woocommerce-admin"),order:"desc",orderby:"gross_sales",type:"currency"},{key:"refunds",label:Object(o.__)("Returns","woocommerce-admin"),order:"desc",orderby:"refunds",type:"currency"},{key:"coupons",label:Object(o.__)("Coupons","woocommerce-admin"),order:"desc",orderby:"coupons",type:"currency"},{key:"net_revenue",label:Object(o.__)("Net Sales","woocommerce-admin"),orderby:"net_revenue",type:"currency"},{key:"taxes",label:Object(o.__)("Taxes","woocommerce-admin"),order:"desc",orderby:"taxes",type:"currency"},{key:"shipping",label:Object(o.__)("Shipping","woocommerce-admin"),orderby:"shipping",type:"currency"},{key:"total_sales",label:Object(o.__)("Total Sales","woocommerce-admin"),order:"desc",orderby:"total_sales",type:"currency"}]),n=Object(a.applyFilters)("woocommerce_admin_revenue_report_filters",[]),i=Object(a.applyFilters)("woocommerce_admin_revenue_report_advanced_filters",{})},763:function(e,t,r){"use strict";r.d(t,"b",(function(){return n})),r.d(t,"c",(function(){return s})),r.d(t,"a",(function(){return m}));var o=r(3),a=r(48),c=r(739),n=Object(a.applyFilters)("woocommerce_admin_products_report_charts",[{key:"items_sold",label:Object(o.__)("Items Sold","woocommerce-admin"),order:"desc",orderby:"items_sold",type:"number"},{key:"net_revenue",label:Object(o.__)("Net Sales","woocommerce-admin"),order:"desc",orderby:"net_revenue",type:"currency"},{key:"orders_count",label:Object(o.__)("Orders","woocommerce-admin"),order:"desc",orderby:"orders_count",type:"number"}]),i={label:Object(o.__)("Show","woocommerce-admin"),staticParams:[],param:"filter",showFilters:function(){return!0},filters:[{label:Object(o.__)("All Products","woocommerce-admin"),value:"all"},{label:Object(o.__)("Single Product","woocommerce-admin"),value:"select_product",chartMode:"item-comparison",subFilters:[{component:"Search",value:"single_product",chartMode:"item-comparison",path:["select_product"],settings:{type:"products",param:"products",getLabels:c.d,labels:{placeholder:Object(o.__)("Type to search for a product","woocommerce-admin"),button:Object(o.__)("Single Product","woocommerce-admin")}}}]},{label:Object(o.__)("Comparison","woocommerce-admin"),value:"compare-products",chartMode:"item-comparison",settings:{type:"products",param:"products",getLabels:c.d,labels:{helpText:Object(o.__)("Check at least two products below to compare","woocommerce-admin"),placeholder:Object(o.__)("Search for products to compare","woocommerce-admin"),title:Object(o.__)("Compare Products","woocommerce-admin"),update:Object(o.__)("Compare","woocommerce-admin")}}}]},l={showFilters:function(e){return"single_product"===e.filter&&!!e.products&&e["is-variable"]},staticParams:["filter","products"],param:"filter-variations",filters:[{label:Object(o.__)("All Variations","woocommerce-admin"),chartMode:"item-comparison",value:"all"},{label:Object(o.__)("Comparison","woocommerce-admin"),chartMode:"item-comparison",value:"compare-variations",settings:{type:"variations",param:"variations",getLabels:c.g,labels:{helpText:Object(o.__)("Check at least two variations below to compare","woocommerce-admin"),placeholder:Object(o.__)("Search for variations to compare","woocommerce-admin"),title:Object(o.__)("Compare Variations","woocommerce-admin"),update:Object(o.__)("Compare","woocommerce-admin")}}}]},s=Object(a.applyFilters)("woocommerce_admin_products_report_filters",[i,l]),m=Object(a.applyFilters)("woocommerce_admin_products_report_advanced_filters",{})},764:function(e,t,r){"use strict";r.d(t,"b",(function(){return i})),r.d(t,"c",(function(){return l})),r.d(t,"a",(function(){return s}));var o=r(3),a=r(48),c=r(26),n=r(739),i=Object(a.applyFilters)("woocommerce_admin_orders_report_charts",[{key:"orders_count",label:Object(o.__)("Orders","woocommerce-admin"),type:"number"},{key:"net_revenue",label:Object(o.__)("Net Sales","woocommerce-admin"),order:"desc",orderby:"net_total",type:"currency"},{key:"avg_order_value",label:Object(o.__)("Average Order Value","woocommerce-admin"),type:"currency"},{key:"avg_items_per_order",label:Object(o.__)("Average Items Per Order","woocommerce-admin"),order:"desc",orderby:"num_items_sold",type:"average"}]),l=Object(a.applyFilters)("woocommerce_admin_orders_report_filters",[{label:Object(o.__)("Show","woocommerce-admin"),staticParams:["chart"],param:"filter",showFilters:function(){return!0},filters:[{label:Object(o.__)("All Orders","woocommerce-admin"),value:"all"},{label:Object(o.__)("Advanced Filters","woocommerce-admin"),value:"advanced"}]}]),s=Object(a.applyFilters)("woocommerce_admin_orders_report_advanced_filters",{title:Object(o._x)("Orders Match {{select /}} Filters","A sentence describing filters for Orders. See screen shot for context: https://cloudup.com/cSsUY9VeCVJ","woocommerce-admin"),filters:{status:{labels:{add:Object(o.__)("Order Status","woocommerce-admin"),remove:Object(o.__)("Remove order status filter","woocommerce-admin"),rule:Object(o.__)("Select an order status filter match","woocommerce-admin"),title:Object(o.__)("{{title}}Order Status{{/title}} {{rule /}} {{filter /}}","woocommerce-admin"),filter:Object(o.__)("Select an order status","woocommerce-admin")},rules:[{value:"is",label:Object(o._x)("Is","order status","woocommerce-admin")},{value:"is_not",label:Object(o._x)("Is Not","order status","woocommerce-admin")}],input:{component:"SelectControl",options:Object.keys(c.d).map((function(e){return{value:e,label:c.d[e]}}))}},product:{labels:{add:Object(o.__)("Products","woocommerce-admin"),placeholder:Object(o.__)("Search products","woocommerce-admin"),remove:Object(o.__)("Remove products filter","woocommerce-admin"),rule:Object(o.__)("Select a product filter match","woocommerce-admin"),title:Object(o.__)("{{title}}Product{{/title}} {{rule /}} {{filter /}}","woocommerce-admin"),filter:Object(o.__)("Select products","woocommerce-admin")},rules:[{value:"includes",label:Object(o._x)("Includes","products","woocommerce-admin")},{value:"excludes",label:Object(o._x)("Excludes","products","woocommerce-admin")}],input:{component:"Search",type:"products",getLabels:n.d}},coupon:{labels:{add:Object(o.__)("Coupon Codes","woocommerce-admin"),placeholder:Object(o.__)("Search coupons","woocommerce-admin"),remove:Object(o.__)("Remove coupon filter","woocommerce-admin"),rule:Object(o.__)("Select a coupon filter match","woocommerce-admin"),title:Object(o.__)("{{title}}Coupon Code{{/title}} {{rule /}} {{filter /}}","woocommerce-admin"),filter:Object(o.__)("Select coupon codes","woocommerce-admin")},rules:[{value:"includes",label:Object(o._x)("Includes","coupon code","woocommerce-admin")},{value:"excludes",label:Object(o._x)("Excludes","coupon code","woocommerce-admin")}],input:{component:"Search",type:"coupons",getLabels:n.b}},customer_type:{labels:{add:Object(o.__)("Customer Type","woocommerce-admin"),remove:Object(o.__)("Remove customer filter","woocommerce-admin"),rule:Object(o.__)("Select a customer filter match","woocommerce-admin"),title:Object(o.__)("{{title}}Customer is{{/title}} {{filter /}}","woocommerce-admin"),filter:Object(o.__)("Select a customer type","woocommerce-admin")},input:{component:"SelectControl",options:[{value:"new",label:Object(o.__)("New","woocommerce-admin")},{value:"returning",label:Object(o.__)("Returning","woocommerce-admin")}],defaultOption:"new"}},refunds:{labels:{add:Object(o.__)("Refunds","woocommerce-admin"),remove:Object(o.__)("Remove refunds filter","woocommerce-admin"),rule:Object(o.__)("Select a refund filter match","woocommerce-admin"),title:Object(o.__)("{{title}}Refunds{{/title}} {{filter /}}","woocommerce-admin"),filter:Object(o.__)("Select a refund type","woocommerce-admin")},input:{component:"SelectControl",options:[{value:"all",label:Object(o.__)("All","woocommerce-admin")},{value:"partial",label:Object(o.__)("Partially refunded","woocommerce-admin")},{value:"full",label:Object(o.__)("Fully refunded","woocommerce-admin")},{value:"none",label:Object(o.__)("None","woocommerce-admin")}],defaultOption:"all"}},tax_rate:{labels:{add:Object(o.__)("Tax Rates","woocommerce-admin"),placeholder:Object(o.__)("Search tax rates","woocommerce-admin"),remove:Object(o.__)("Remove tax rate filter","woocommerce-admin"),rule:Object(o.__)("Select a tax rate filter match","woocommerce-admin"),title:Object(o.__)("{{title}}Tax Rate{{/title}} {{rule /}} {{filter /}}","woocommerce-admin"),filter:Object(o.__)("Select tax rates","woocommerce-admin")},rules:[{value:"includes",label:Object(o._x)("Includes","tax rate","woocommerce-admin")},{value:"excludes",label:Object(o._x)("Excludes","tax rate","woocommerce-admin")}],input:{component:"Search",type:"taxes",getLabels:n.f}}}})},765:function(e,t,r){"use strict";r.d(t,"b",(function(){return n})),r.d(t,"c",(function(){return i})),r.d(t,"a",(function(){return l}));var o=r(3),a=r(48),c=r(739),n=Object(a.applyFilters)("woocommerce_admin_coupons_report_charts",[{key:"orders_count",label:Object(o.__)("Discounted Orders","woocommerce-admin"),order:"desc",orderby:"orders_count",type:"number"},{key:"amount",label:Object(o.__)("Amount","woocommerce-admin"),order:"desc",orderby:"amount",type:"currency"}]),i=Object(a.applyFilters)("woocommerce_admin_coupons_report_filters",[{label:Object(o.__)("Show","woocommerce-admin"),staticParams:[],param:"filter",showFilters:function(){return!0},filters:[{label:Object(o.__)("All Coupons","woocommerce-admin"),value:"all"},{label:Object(o.__)("Single Coupon","woocommerce-admin"),value:"select_coupon",chartMode:"item-comparison",subFilters:[{component:"Search",value:"single_coupon",chartMode:"item-comparison",path:["select_coupon"],settings:{type:"coupons",param:"coupons",getLabels:c.b,labels:{placeholder:Object(o.__)("Type to search for a coupon","woocommerce-admin"),button:Object(o.__)("Single Coupon","woocommerce-admin")}}}]},{label:Object(o.__)("Comparison","woocommerce-admin"),value:"compare-coupons",settings:{type:"coupons",param:"coupons",getLabels:c.b,labels:{title:Object(o.__)("Compare Coupon Codes","woocommerce-admin"),update:Object(o.__)("Compare","woocommerce-admin"),helpText:Object(o.__)("Check at least two coupon codes below to compare","woocommerce-admin")}}}]}]),l=Object(a.applyFilters)("woocommerce_admin_coupon_report_advanced_filters",{})},766:function(e,t,r){"use strict";r.d(t,"b",(function(){return l})),r.d(t,"c",(function(){return s})),r.d(t,"a",(function(){return m}));var o=r(3),a=r(48),c=r(739),n=r(740),i=r(24),l=Object(a.applyFilters)("woocommerce_admin_taxes_report_charts",[{key:"total_tax",label:Object(o.__)("Total Tax","woocommerce-admin"),order:"desc",orderby:"total_tax",type:"currency"},{key:"order_tax",label:Object(o.__)("Order Tax","woocommerce-admin"),order:"desc",orderby:"order_tax",type:"currency"},{key:"shipping_tax",label:Object(o.__)("Shipping Tax","woocommerce-admin"),order:"desc",orderby:"shipping_tax",type:"currency"},{key:"orders_count",label:Object(o.__)("Orders","woocommerce-admin"),order:"desc",orderby:"orders_count",type:"number"}]),s=Object(a.applyFilters)("woocommerce_admin_taxes_report_filters",[{label:Object(o.__)("Show","woocommerce-admin"),staticParams:["chart"],param:"filter",showFilters:function(){return!0},filters:[{label:Object(o.__)("All Taxes","woocommerce-admin"),value:"all"},{label:Object(o.__)("Comparison","woocommerce-admin"),value:"compare-taxes",chartMode:"item-comparison",settings:{type:"taxes",param:"taxes",getLabels:Object(c.e)(i.c+"/taxes",(function(e){return{id:e.id,label:Object(n.a)(e)}})),labels:{helpText:Object(o.__)("Check at least two tax codes below to compare","woocommerce-admin"),placeholder:Object(o.__)("Search for tax codes to compare","woocommerce-admin"),title:Object(o.__)("Compare Tax Codes","woocommerce-admin"),update:Object(o.__)("Compare","woocommerce-admin")}}}]}]),m=Object(a.applyFilters)("woocommerce_admin_taxes_report_advanced_filters",{})},767:function(e,t,r){"use strict";r.d(t,"b",(function(){return m})),r.d(t,"c",(function(){return u})),r.d(t,"a",(function(){return d}));var o,a,c=r(46),n=r.n(c),i=r(3),l=r(48),s=r(739),m=Object(l.applyFilters)("woocommerce_admin_downloads_report_charts",[{key:"download_count",label:Object(i.__)("Downloads","woocommerce-admin"),type:"number"}]),u=Object(l.applyFilters)("woocommerce_admin_downloads_report_filters",[{label:Object(i.__)("Show","woocommerce-admin"),staticParams:[],param:"filter",showFilters:function(){return!0},filters:[{label:Object(i.__)("All Downloads","woocommerce-admin"),value:"all"},{label:Object(i.__)("Advanced Filters","woocommerce-admin"),value:"advanced"}]}]),d=Object(l.applyFilters)("woocommerce_admin_downloads_report_advanced_filters",{title:Object(i._x)("Downloads Match {{select /}} Filters","A sentence describing filters for Downloads. See screen shot for context: https://cloudup.com/ccxhyH2mEDg","woocommerce-admin"),filters:{product:{labels:{add:Object(i.__)("Product","woocommerce-admin"),placeholder:Object(i.__)("Search","woocommerce-admin"),remove:Object(i.__)("Remove product filter","woocommerce-admin"),rule:Object(i.__)("Select a product filter match","woocommerce-admin"),title:Object(i.__)("{{title}}Product{{/title}} {{rule /}} {{filter /}}","woocommerce-admin"),filter:Object(i.__)("Select product","woocommerce-admin")},rules:[{value:"includes",label:Object(i._x)("Includes","products","woocommerce-admin")},{value:"excludes",label:Object(i._x)("Excludes","products","woocommerce-admin")}],input:{component:"Search",type:"products",getLabels:s.d}},customer:{labels:{add:Object(i.__)("Username","woocommerce-admin"),placeholder:Object(i.__)("Search customer username","woocommerce-admin"),remove:Object(i.__)("Remove customer username filter","woocommerce-admin"),rule:Object(i.__)("Select a customer username filter match","woocommerce-admin"),title:Object(i.__)("{{title}}Username{{/title}} {{rule /}} {{filter /}}","woocommerce-admin"),filter:Object(i.__)("Select customer username","woocommerce-admin")},rules:[{value:"includes",label:Object(i._x)("Includes","customer usernames","woocommerce-admin")},{value:"excludes",label:Object(i._x)("Excludes","customer usernames","woocommerce-admin")}],input:{component:"Search",type:"usernames",getLabels:s.c}},order:{labels:{add:Object(i.__)("Order #","woocommerce-admin"),placeholder:Object(i.__)("Search order number","woocommerce-admin"),remove:Object(i.__)("Remove order number filter","woocommerce-admin"),rule:Object(i.__)("Select a order number filter match","woocommerce-admin"),title:Object(i.__)("{{title}}Order #{{/title}} {{rule /}} {{filter /}}","woocommerce-admin"),filter:Object(i.__)("Select order number","woocommerce-admin")},rules:[{value:"includes",label:Object(i._x)("Includes","order numbers","woocommerce-admin")},{value:"excludes",label:Object(i._x)("Excludes","order numbers","woocommerce-admin")}],input:{component:"Search",type:"orders",getLabels:(a=n()(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.split(","),e.next=3,r.map((function(e){return{id:e,label:"#"+e}}));case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)}))),function(e){return a.apply(this,arguments)})}},ip_address:{labels:{add:Object(i.__)("IP Address","woocommerce-admin"),placeholder:Object(i.__)("Search IP address","woocommerce-admin"),remove:Object(i.__)("Remove IP address filter","woocommerce-admin"),rule:Object(i.__)("Select an IP address filter match","woocommerce-admin"),title:Object(i.__)("{{title}}IP Address{{/title}} {{rule /}} {{filter /}}","woocommerce-admin"),filter:Object(i.__)("Select IP address","woocommerce-admin")},rules:[{value:"includes",label:Object(i._x)("Includes","IP addresses","woocommerce-admin")},{value:"excludes",label:Object(i._x)("Excludes","IP addresses","woocommerce-admin")}],input:{component:"Search",type:"downloadIps",getLabels:(o=n()(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.split(","),e.next=3,r.map((function(e){return{id:e,label:e}}));case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)}))),function(e){return o.apply(this,arguments)})}}}})},892:function(e,t,r){},893:function(e,t,r){},909:function(e,t,r){"use strict";r.r(t);var o=r(15),a=r.n(o),c=r(41),n=r.n(c),i=r(40),l=r.n(i),s=r(44),m=r.n(s),u=r(29),d=r.n(u),p=r(42),b=r.n(p),_=r(0),f=r(3),y=r(10),O=r.n(y),h=r(256),j=r(66),v=r.n(j),w=r(1),g=r.n(w),k=r(709),R=r(424),C=r(85),S=r(19),x=r(63),P=r(104),T=r(22),D=r(26),E=r(741);r(892);function q(){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}}var F=function(e){b()(o,e);var t,r=(t=o,function(){var e,r=d()(t);if(q()){var o=d()(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return m()(this,e)});function o(){var e,t;n()(this,o);for(var a=arguments.length,c=new Array(a),i=0;i 1 && arguments[1] !== undefined ? arguments[1] : false;
+ var onboarding = Object(_woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_2__[/* getSetting */ "g"])('onboarding', {}); // The population of onboarding.productTypes only happens if the task list should be shown
+ // so bail early if it isn't present.
+
+ if (!onboarding.productTypes) {
+ return productIds;
+ }
+
+ var productIds = [];
+ var plugins = Object(_woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_2__[/* getSetting */ "g"])('plugins', {});
+ var productTypes = profileItems.product_types || [];
+ productTypes.forEach(function (productType) {
+ if (onboarding.productTypes[productType] && onboarding.productTypes[productType].product && (includeInstalledItems || !plugins.installedPlugins.includes(onboarding.productTypes[productType].slug))) {
+ productIds.push(onboarding.productTypes[productType].product);
+ }
+ });
+ var theme = onboarding.themes.find(function (themeData) {
+ return themeData.slug === profileItems.theme;
+ });
+
+ if (theme && theme.id && getPriceValue(theme.price) > 0 && (includeInstalledItems || !theme.is_installed)) {
+ productIds.push(theme.id);
+ }
+
+ return productIds;
+}
+/**
+ * Get the value of a price from a string, removing any non-numeric characters.
+ *
+ * @param {string} string Price string.
+ * @return {number} Number value.
+ */
+
+function getPriceValue(string) {
+ return Number(Object(_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_0__["decodeEntities"])(string).replace(/[^0-9.-]+/g, ''));
+}
+/**
+ * Returns if the onboarding feature of WooCommerce Admin should be enabled.
+ *
+ * While we preform an a/b test of onboarding, the feature will be enabled within the plugin build,
+ * but only if the user recieved the test/opted in.
+ *
+ * @return {boolean} True if the onboarding is enabled.
+ */
+
+function isOnboardingEnabled() {
+ if (false) {}
+
+ return Object(_woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_2__[/* getSetting */ "g"])('onboardingEnabled', false);
+}
+
+/***/ }),
+
+/***/ 769:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ }),
+
+/***/ 899:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(41);
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(40);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(44);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(29);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(42);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(256);
+/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(769);
+/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_7__);
+/* harmony import */ var wc_api_with_select__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(101);
+/* harmony import */ var dashboard_utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(742);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_10__);
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+var CustomizableDashboard = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["lazy"])(function () {
+ return __webpack_require__.e(/* import() | customizable-dashboard */ 23).then(__webpack_require__.bind(null, 898));
+});
+var ProfileWizard = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["lazy"])(function () {
+ return Promise.all(/* import() | profile-wizard */[__webpack_require__.e(2), __webpack_require__.e(5), __webpack_require__.e(40)]).then(__webpack_require__.bind(null, 897));
+});
+
+var Dashboard = /*#__PURE__*/function (_Component) {
+ _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(Dashboard, _Component);
+
+ var _super = _createSuper(Dashboard);
+
+ function Dashboard() {
+ _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, Dashboard);
+
+ return _super.apply(this, arguments);
+ }
+
+ _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(Dashboard, [{
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ path = _this$props.path,
+ profileItems = _this$props.profileItems,
+ query = _this$props.query;
+
+ if (Object(dashboard_utils__WEBPACK_IMPORTED_MODULE_9__[/* isOnboardingEnabled */ "e"])() && !profileItems.completed && !false) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["Suspense"], {
+ fallback: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_10__["Spinner"], null)
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(ProfileWizard, {
+ query: query
+ }));
+ }
+
+ if (true) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["Suspense"], {
+ fallback: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_10__["Spinner"], null)
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(CustomizableDashboard, {
+ query: query,
+ path: path
+ }));
+ }
+
+ return null;
+ }
+ }]);
+
+ return Dashboard;
+}(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["Component"]);
+
+/* harmony default export */ __webpack_exports__["default"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"])(Object(wc_api_with_select__WEBPACK_IMPORTED_MODULE_8__[/* default */ "a"])(function (select) {
+ if (!Object(dashboard_utils__WEBPACK_IMPORTED_MODULE_9__[/* isOnboardingEnabled */ "e"])()) {
+ return;
+ }
+
+ var _select = select('wc-api'),
+ getProfileItems = _select.getProfileItems;
+
+ var profileItems = getProfileItems();
+ return {
+ profileItems: profileItems
+ };
+}))(Dashboard));
+
+/***/ })
+
+}]);
\ No newline at end of file
diff --git a/dist/chunks/dashboard.35da37d6f7f5a413e7f7.min.js b/dist/chunks/dashboard.35da37d6f7f5a413e7f7.min.js
new file mode 100644
index 00000000000..aad0964470e
--- /dev/null
+++ b/dist/chunks/dashboard.35da37d6f7f5a413e7f7.min.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{742:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return o})),n.d(t,"d",(function(){return l})),n.d(t,"c",(function(){return s})),n.d(t,"e",(function(){return a}));var r=n(69),u=n(2),c=n(26);function i(e){return e?e.split(":")[0]:null}function o(e){var t=i(e);return Object(u.without)(Object(c.g)("onboarding",{euCountries:[]}).euCountries,"GB").includes(t)&&(t="EU"),t}function l(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=Object(c.g)("onboarding",{});if(!n.productTypes)return r;var r=[],u=Object(c.g)("plugins",{}),i=e.product_types||[];i.forEach((function(e){n.productTypes[e]&&n.productTypes[e].product&&(t||!u.installedPlugins.includes(n.productTypes[e].slug))&&r.push(n.productTypes[e].product)}));var o=n.themes.find((function(t){return t.slug===e.theme}));return o&&o.id&&s(o.price)>0&&(t||!o.is_installed)&&r.push(o.id),r}function s(e){return Number(Object(r.decodeEntities)(e).replace(/[^0-9.-]+/g,""))}function a(){return Object(c.g)("onboardingEnabled",!1)}},769:function(e,t,n){},899:function(e,t,n){"use strict";n.r(t);var r=n(41),u=n.n(r),c=n(40),i=n.n(c),o=n(44),l=n.n(o),s=n(29),a=n.n(s),f=n(42),p=n.n(f),d=n(0),b=n(256),h=(n(769),n(101)),y=n(742),j=n(63);function O(){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}}var m=Object(d.lazy)((function(){return n.e(23).then(n.bind(null,898))})),g=Object(d.lazy)((function(){return Promise.all([n.e(2),n.e(5),n.e(40)]).then(n.bind(null,897))})),v=function(e){p()(r,e);var t,n=(t=r,function(){var e,n=a()(t);if(O()){var r=a()(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return l()(this,e)});function r(){return u()(this,r),n.apply(this,arguments)}return i()(r,[{key:"render",value:function(){var e=this.props,t=e.path,n=e.profileItems,r=e.query;return Object(y.e)()&&!n.completed?Object(d.createElement)(d.Suspense,{fallback:Object(d.createElement)(j.Spinner,null)},Object(d.createElement)(g,{query:r})):Object(d.createElement)(d.Suspense,{fallback:Object(d.createElement)(j.Spinner,null)},Object(d.createElement)(m,{query:r,path:t}))}}]),r}(d.Component);t.default=Object(b.a)(Object(h.a)((function(e){if(Object(y.e)())return{profileItems:(0,e("wc-api").getProfileItems)()}})))(v)}}]);
\ No newline at end of file
diff --git a/dist/chunks/devdocs.6fe086c6992ba41e679a.js b/dist/chunks/devdocs.6fe086c6992ba41e679a.js
new file mode 100644
index 00000000000..c5131a051cd
--- /dev/null
+++ b/dist/chunks/devdocs.6fe086c6992ba41e679a.js
@@ -0,0 +1,3519 @@
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[28],{
+
+/***/ 782:
+/***/ (function(module, exports, __webpack_require__) {
+
+var map = {
+ "./advanced-filters/docs/example": 783,
+ "./animation-slider/docs/example": 784,
+ "./calendar/docs/example": 785,
+ "./card/docs/example": 786,
+ "./chart/docs/example": 787,
+ "./compare-filter/docs/example": 788,
+ "./count/docs/example": 789,
+ "./date-range-filter-picker/docs/example": 790,
+ "./date/docs/example": 791,
+ "./dropdown-button/docs/example": 792,
+ "./ellipsis-menu/docs/example": 793,
+ "./empty-content/docs/example": 794,
+ "./filter-picker/docs/example": 795,
+ "./filters/docs/example": 796,
+ "./flag/docs/example": 797,
+ "./form/docs/example": 798,
+ "./gravatar/docs/example": 799,
+ "./image-upload/docs/example": 800,
+ "./link/docs/example": 801,
+ "./list/docs/example": 802,
+ "./order-status/docs/example": 803,
+ "./pagination/docs/example": 804,
+ "./product-image/docs/example": 805,
+ "./rating/docs/example": 806,
+ "./scroll-to/docs/example": 807,
+ "./search-list-control/docs/example": 808,
+ "./search/docs/example": 809,
+ "./section-header/docs/example": 810,
+ "./section/docs/example": 811,
+ "./segmented-selection/docs/example": 812,
+ "./select-control/docs/example": 813,
+ "./spinner/docs/example": 814,
+ "./split-button/docs/example": 815,
+ "./stepper/docs/example": 816,
+ "./summary/docs/example": 817,
+ "./table/docs/example": 818,
+ "./tag/docs/example": 819,
+ "./text-control-with-affixes/docs/example": 820,
+ "./text-control/docs/example": 821,
+ "./view-more-list/docs/example": 822,
+ "./web-preview/docs/example": 823
+};
+
+
+function webpackContext(req) {
+ var id = webpackContextResolve(req);
+ return __webpack_require__(id);
+}
+function webpackContextResolve(req) {
+ if(!__webpack_require__.o(map, req)) {
+ var e = new Error("Cannot find module '" + req + "'");
+ e.code = 'MODULE_NOT_FOUND';
+ throw e;
+ }
+ return map[req];
+}
+webpackContext.keys = function webpackContextKeys() {
+ return Object.keys(map);
+};
+webpackContext.resolve = webpackContextResolve;
+module.exports = webpackContext;
+webpackContext.id = 782;
+
+/***/ }),
+
+/***/ 783:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _woocommerce_currency__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(137);
+/* harmony import */ var _woocommerce_currency__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_currency__WEBPACK_IMPORTED_MODULE_2__);
+
+
+/**
+ * Internal dependencies
+ */
+
+
+var ORDER_STATUSES = {
+ cancelled: 'Cancelled',
+ completed: 'Completed',
+ failed: 'Failed',
+ 'on-hold': 'On hold',
+ pending: 'Pending payment',
+ processing: 'Processing',
+ refunded: 'Refunded'
+};
+var siteLocale = 'en_US';
+var siteCurrency = new _woocommerce_currency__WEBPACK_IMPORTED_MODULE_2___default.a(); // pass site currency settings.
+
+var path = new URL(document.location).searchParams.get('path') || '/devdocs';
+var query = {
+ component: 'advanced-filters'
+};
+var advancedFilters = {
+ title: 'Orders Match {{select /}} Filters',
+ filters: {
+ status: {
+ labels: {
+ add: 'Order Status',
+ remove: 'Remove order status filter',
+ rule: 'Select an order status filter match',
+ title: '{{title}}Order Status{{/title}} {{rule /}} {{filter /}}',
+ filter: 'Select an order status'
+ },
+ rules: [{
+ value: 'is',
+ label: 'Is'
+ }, {
+ value: 'is_not',
+ label: 'Is Not'
+ }],
+ input: {
+ component: 'SelectControl',
+ options: Object.keys(ORDER_STATUSES).map(function (key) {
+ return {
+ value: key,
+ label: ORDER_STATUSES[key]
+ };
+ })
+ }
+ },
+ product: {
+ labels: {
+ add: 'Products',
+ placeholder: 'Search products',
+ remove: 'Remove products filter',
+ rule: 'Select a product filter match',
+ title: '{{title}}Product{{/title}} {{rule /}} {{filter /}}',
+ filter: 'Select products'
+ },
+ rules: [{
+ value: 'includes',
+ label: 'Includes'
+ }, {
+ value: 'excludes',
+ label: 'Excludes'
+ }],
+ input: {
+ component: 'Search',
+ type: 'products',
+ getLabels: function getLabels() {
+ return Promise.resolve([]);
+ }
+ }
+ },
+ customer: {
+ labels: {
+ add: 'Customer Type',
+ remove: 'Remove customer filter',
+ rule: 'Select a customer filter match',
+ title: '{{title}}Customer is{{/title}} {{filter /}}',
+ filter: 'Select a customer type'
+ },
+ input: {
+ component: 'SelectControl',
+ options: [{
+ value: 'new',
+ label: 'New'
+ }, {
+ value: 'returning',
+ label: 'Returning'
+ }],
+ defaultOption: 'new'
+ }
+ },
+ quantity: {
+ labels: {
+ add: 'Item Quantity',
+ remove: 'Remove item quantity filter',
+ rule: 'Select an item quantity filter match',
+ title: '{{title}}Item Quantity is{{/title}} {{rule /}} {{filter /}}'
+ },
+ rules: [{
+ value: 'lessthan',
+ label: 'Less Than'
+ }, {
+ value: 'morethan',
+ label: 'More Than'
+ }, {
+ value: 'between',
+ label: 'Between'
+ }],
+ input: {
+ component: 'Number'
+ }
+ },
+ subtotal: {
+ labels: {
+ add: 'Subtotal',
+ remove: 'Remove subtotal filter',
+ rule: 'Select a subtotal filter match',
+ title: '{{title}}Subtotal is{{/title}} {{rule /}} {{filter /}}'
+ },
+ rules: [{
+ value: 'lessthan',
+ label: 'Less Than'
+ }, {
+ value: 'morethan',
+ label: 'More Than'
+ }, {
+ value: 'between',
+ label: 'Between'
+ }],
+ input: {
+ component: 'Number',
+ type: 'currency'
+ }
+ }
+ }
+};
+/* harmony default export */ __webpack_exports__["default"] = (function () {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["AdvancedFilters"], {
+ siteLocale: siteLocale,
+ path: path,
+ query: query,
+ filterTitle: "Orders",
+ config: advancedFilters,
+ currency: siteCurrency
+ });
+});
+
+/***/ }),
+
+/***/ 784:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return MyAnimationSlider; });
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(41);
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(40);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59);
+/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(44);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(29);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(42);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_7__);
+
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * Internal dependencies
+ */
+
+/**
+ * External dependencies
+ */
+
+
+
+var MyAnimationSlider = /*#__PURE__*/function (_Component) {
+ _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(MyAnimationSlider, _Component);
+
+ var _super = _createSuper(MyAnimationSlider);
+
+ function MyAnimationSlider() {
+ var _this;
+
+ _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, MyAnimationSlider);
+
+ _this = _super.call(this);
+ _this.state = {
+ pages: [44, 55, 66, 77, 88],
+ page: 0,
+ animate: null
+ };
+ _this.forward = _this.forward.bind(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_2___default()(_this));
+ _this.back = _this.back.bind(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_2___default()(_this));
+ return _this;
+ }
+
+ _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(MyAnimationSlider, [{
+ key: "forward",
+ value: function forward() {
+ this.setState(function (state) {
+ return {
+ page: state.page + 1,
+ animate: 'left'
+ };
+ });
+ }
+ }, {
+ key: "back",
+ value: function back() {
+ this.setState(function (state) {
+ return {
+ page: state.page - 1,
+ animate: 'right'
+ };
+ });
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$state = this.state,
+ page = _this$state.page,
+ pages = _this$state.pages,
+ animate = _this$state.animate;
+ var style = {
+ margin: '16px 0',
+ padding: '8px 16px',
+ color: 'white',
+ fontWeight: 'bold',
+ backgroundColor: '#246EB9'
+ };
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["createElement"])("div", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_7__["AnimationSlider"], {
+ animationKey: page,
+ animate: animate
+ }, function () {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["createElement"])("div", {
+ style: style
+ }, pages[page]);
+ }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["createElement"])("button", {
+ onClick: this.back,
+ disabled: page === 0
+ }, "Back"), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["createElement"])("button", {
+ onClick: this.forward,
+ disabled: page === pages.length - 1
+ }, "Forward"));
+ }
+ }]);
+
+ return MyAnimationSlider;
+}(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["Component"]);
+
+
+
+/***/ }),
+
+/***/ 785:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(12);
+/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(715);
+
+
+/**
+ * Internal dependencies
+ */
+
+/**
+ * External dependencies
+ */
+
+
+
+var dateFormat = 'MM/DD/YYYY';
+/* harmony default export */ __webpack_exports__["default"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])({
+ after: null,
+ afterText: '',
+ before: null,
+ beforeText: '',
+ afterError: null,
+ beforeError: null,
+ focusedInput: 'startDate'
+})(function (_ref) {
+ var after = _ref.after,
+ afterText = _ref.afterText,
+ before = _ref.before,
+ beforeText = _ref.beforeText,
+ afterError = _ref.afterError,
+ focusedInput = _ref.focusedInput,
+ setState = _ref.setState;
+
+ function onRangeUpdate(update) {
+ setState(update);
+ }
+
+ function onDatePickerUpdate(_ref2) {
+ var date = _ref2.date,
+ text = _ref2.text,
+ error = _ref2.error;
+ setState({
+ after: date,
+ afterText: text,
+ afterError: error
+ });
+ }
+
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["H"], null, "Date Range Picker"), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["Section"], {
+ component: false
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["DateRange"], {
+ after: after,
+ afterText: afterText,
+ before: before,
+ beforeText: beforeText,
+ onUpdate: onRangeUpdate,
+ shortDateFormat: dateFormat,
+ focusedInput: focusedInput,
+ isInvalidDate: function isInvalidDate(date) {
+ return moment__WEBPACK_IMPORTED_MODULE_2___default()().isBefore(moment__WEBPACK_IMPORTED_MODULE_2___default()(date), 'date');
+ }
+ })), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["H"], null, "Date Picker"), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["Section"], {
+ component: false
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["DatePicker"], {
+ date: after,
+ text: afterText,
+ error: afterError,
+ onUpdate: onDatePickerUpdate,
+ dateFormat: dateFormat,
+ isInvalidDate: function isInvalidDate(date) {
+ return moment__WEBPACK_IMPORTED_MODULE_2___default()(date).day() === 1;
+ }
+ })));
+}));
+
+/***/ }),
+
+/***/ 786:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__);
+
+
+/**
+ * Internal dependencies
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function () {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["Card"], {
+ title: "Store Performance",
+ description: "Key performance metrics"
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("p", null, "Your stuff in a Card.")), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["Card"], {
+ title: "Inactive Card",
+ isInactive: true
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("p", null, "This Card is grayed out and has no box-shadow.")));
+});
+
+/***/ }),
+
+/***/ 787:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__);
+
+
+/**
+ * Internal dependencies
+ */
+
+var data = [{
+ date: '2018-05-30T00:00:00',
+ Hoodie: {
+ label: 'Hoodie',
+ value: 21599
+ },
+ Sunglasses: {
+ label: 'Sunglasses',
+ value: 38537
+ },
+ Cap: {
+ label: 'Cap',
+ value: 106010
+ }
+}, {
+ date: '2018-05-31T00:00:00',
+ Hoodie: {
+ label: 'Hoodie',
+ value: 14205
+ },
+ Sunglasses: {
+ label: 'Sunglasses',
+ value: 24721
+ },
+ Cap: {
+ label: 'Cap',
+ value: 70131
+ }
+}, {
+ date: '2018-06-01T00:00:00',
+ Hoodie: {
+ label: 'Hoodie',
+ value: 10581
+ },
+ Sunglasses: {
+ label: 'Sunglasses',
+ value: 19991
+ },
+ Cap: {
+ label: 'Cap',
+ value: 53552
+ }
+}, {
+ date: '2018-06-02T00:00:00',
+ Hoodie: {
+ label: 'Hoodie',
+ value: 9250
+ },
+ Sunglasses: {
+ label: 'Sunglasses',
+ value: 16072
+ },
+ Cap: {
+ label: 'Cap',
+ value: 47821
+ }
+}];
+/* harmony default export */ __webpack_exports__["default"] = (function () {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["Chart"], {
+ data: data,
+ title: "Example Chart",
+ layout: "item-comparison"
+ }));
+});
+
+/***/ }),
+
+/***/ 788:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(105);
+/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_2__);
+
+
+
+/**
+ * Internal dependencies
+ */
+
+var path = new URL(document.location).searchParams.get('path') || '/devdocs';
+var query = {};
+var compareFilter = {
+ type: 'products',
+ param: 'product',
+ getLabels: function getLabels() {
+ return Promise.resolve([]);
+ },
+ labels: {
+ helpText: 'Select at least two products to compare',
+ placeholder: 'Search for products to compare',
+ title: 'Compare Products',
+ update: 'Compare'
+ }
+};
+/* harmony default export */ __webpack_exports__["default"] = (function () {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_2__["CompareFilter"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({
+ path: path,
+ query: query
+ }, compareFilter));
+});
+
+/***/ }),
+
+/***/ 789:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__);
+
+
+/**
+ * Internal dependencies
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function () {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["Count"], {
+ count: 33
+ });
+});
+
+/***/ }),
+
+/***/ 790:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _woocommerce_date__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(23);
+/* harmony import */ var _woocommerce_date__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_date__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_3__);
+
+
+/**
+ * Internal dependencies
+ */
+
+
+/**
+ * External dependencies
+ */
+
+
+var query = {};
+var defaultDateRange = 'period=month&compare=previous_year';
+var storeGetDateParamsFromQuery = Object(lodash__WEBPACK_IMPORTED_MODULE_3__["partialRight"])(_woocommerce_date__WEBPACK_IMPORTED_MODULE_2__["getDateParamsFromQuery"], defaultDateRange);
+var storeGetCurrentDates = Object(lodash__WEBPACK_IMPORTED_MODULE_3__["partialRight"])(_woocommerce_date__WEBPACK_IMPORTED_MODULE_2__["getCurrentDates"], defaultDateRange);
+
+var _storeGetDateParamsFr = storeGetDateParamsFromQuery(query),
+ period = _storeGetDateParamsFr.period,
+ compare = _storeGetDateParamsFr.compare,
+ before = _storeGetDateParamsFr.before,
+ after = _storeGetDateParamsFr.after;
+
+var _storeGetCurrentDates = storeGetCurrentDates(query),
+ primaryDate = _storeGetCurrentDates.primary,
+ secondaryDate = _storeGetCurrentDates.secondary;
+
+var dateQuery = {
+ period: period,
+ compare: compare,
+ before: before,
+ after: after,
+ primaryDate: primaryDate,
+ secondaryDate: secondaryDate
+};
+/* harmony default export */ __webpack_exports__["default"] = (function () {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["DateRangeFilterPicker"], {
+ key: "daterange",
+ query: query,
+ onRangeSelect: function onRangeSelect() {},
+ dateQuery: dateQuery,
+ isoDateFormat: _woocommerce_date__WEBPACK_IMPORTED_MODULE_2__["isoDateFormat"]
+ });
+});
+
+/***/ }),
+
+/***/ 791:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__);
+
+
+/**
+ * Internal dependencies
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function () {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["Date"], {
+ date: "2019-01-01"
+ });
+});
+
+/***/ }),
+
+/***/ 792:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(711);
+
+
+/**
+ * Internal dependencies
+ */
+
+/**
+ * External dependencies
+ */
+
+
+/* harmony default export */ __webpack_exports__["default"] = (function () {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"], {
+ renderToggle: function renderToggle(_ref) {
+ var isOpen = _ref.isOpen,
+ onToggle = _ref.onToggle;
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["DropdownButton"], {
+ onClick: onToggle,
+ isOpen: isOpen,
+ labels: ['All Products Sold']
+ });
+ },
+ renderContent: function renderContent() {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("p", null, "Dropdown content here");
+ }
+ });
+});
+
+/***/ }),
+
+/***/ 793:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(715);
+/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(109);
+
+
+/**
+ * Internal dependencies
+ */
+
+/**
+ * External dependencies
+ */
+
+
+
+
+/* harmony default export */ __webpack_exports__["default"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])({
+ showCustomers: true,
+ showOrders: true
+})(function (_ref) {
+ var setState = _ref.setState,
+ showCustomers = _ref.showCustomers,
+ showOrders = _ref.showOrders;
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["EllipsisMenu"], {
+ label: "Choose which analytics to display",
+ renderContent: function renderContent(_ref2) {
+ var onToggle = _ref2.onToggle;
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["MenuTitle"], null, "Display Stats"), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["MenuItem"], {
+ isCheckbox: true,
+ isClickable: true,
+ checked: showCustomers,
+ onInvoke: function onInvoke() {
+ return setState({
+ showCustomers: !showCustomers
+ });
+ }
+ }, "Show Customers"), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["MenuItem"], {
+ isCheckbox: true,
+ isClickable: true,
+ checked: showOrders,
+ onInvoke: function onInvoke() {
+ return setState({
+ showOrders: !showOrders
+ });
+ }
+ }, "Show Orders"), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["MenuItem"], {
+ isClickable: true,
+ onInvoke: onToggle
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"], {
+ icon: "no-alt"
+ }), "Close Menu"));
+ }
+ });
+}));
+
+/***/ }),
+
+/***/ 794:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__);
+
+
+/**
+ * Internal dependencies
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function () {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["EmptyContent"], {
+ title: "Nothing here",
+ message: "Some descriptive text",
+ actionLabel: "Reload page",
+ actionURL: "#"
+ });
+});
+
+/***/ }),
+
+/***/ 795:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__);
+
+
+/**
+ * Internal dependencies
+ */
+
+var path = new URL(document.location).searchParams.get('path') || '/devdocs';
+var query = {
+ meal: 'breakfast'
+};
+var config = {
+ label: 'Meal',
+ staticParams: [],
+ param: 'meal',
+ showFilters: function showFilters() {
+ return true;
+ },
+ filters: [{
+ label: 'Breakfast',
+ value: 'breakfast'
+ }, {
+ label: 'Lunch',
+ value: 'lunch',
+ subFilters: [{
+ label: 'Meat',
+ value: 'meat',
+ path: ['lunch']
+ }, {
+ label: 'Vegan',
+ value: 'vegan',
+ path: ['lunch']
+ }, {
+ label: 'Pescatarian',
+ value: 'fish',
+ path: ['lunch'],
+ subFilters: [{
+ label: 'Snapper',
+ value: 'snapper',
+ path: ['lunch', 'fish']
+ }, {
+ label: 'Cod',
+ value: 'cod',
+ path: ['lunch', 'fish']
+ }, // Specify a custom component to render (Work in Progress)
+ {
+ label: 'Other',
+ value: 'other_fish',
+ path: ['lunch', 'fish'],
+ component: 'OtherFish'
+ }]
+ }]
+ }, {
+ label: 'Dinner',
+ value: 'dinner'
+ }]
+};
+/* harmony default export */ __webpack_exports__["default"] = (function () {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["FilterPicker"], {
+ config: config,
+ path: path,
+ query: query
+ });
+});
+
+/***/ }),
+
+/***/ 796:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(105);
+/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _woocommerce_date__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(23);
+/* harmony import */ var _woocommerce_date__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_date__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_4__);
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+/**
+ * External dependencies
+ */
+
+
+var ORDER_STATUSES = {
+ cancelled: 'Cancelled',
+ completed: 'Completed',
+ failed: 'Failed',
+ 'on-hold': 'On hold',
+ pending: 'Pending payment',
+ processing: 'Processing',
+ refunded: 'Refunded'
+}; // Fetch store default date range and compose with date utility functions.
+
+var defaultDateRange = 'period=month&compare=previous_year';
+var storeGetDateParamsFromQuery = Object(lodash__WEBPACK_IMPORTED_MODULE_4__["partialRight"])(_woocommerce_date__WEBPACK_IMPORTED_MODULE_3__["getDateParamsFromQuery"], defaultDateRange);
+var storeGetCurrentDates = Object(lodash__WEBPACK_IMPORTED_MODULE_4__["partialRight"])(_woocommerce_date__WEBPACK_IMPORTED_MODULE_3__["getCurrentDates"], defaultDateRange); // Package date utilities for filter picker component.
+
+var storeDate = {
+ getDateParamsFromQuery: storeGetDateParamsFromQuery,
+ getCurrentDates: storeGetCurrentDates,
+ isoDateFormat: _woocommerce_date__WEBPACK_IMPORTED_MODULE_3__["isoDateFormat"]
+};
+var siteLocale = 'en_US';
+var path = '';
+var query = {};
+var filters = [{
+ label: 'Show',
+ staticParams: ['chart'],
+ param: 'filter',
+ showFilters: function showFilters() {
+ return true;
+ },
+ filters: [{
+ label: 'All Orders',
+ value: 'all'
+ }, {
+ label: 'Advanced Filters',
+ value: 'advanced'
+ }]
+}];
+var advancedFilters = {
+ title: 'Orders Match {{select /}} Filters',
+ filters: {
+ status: {
+ labels: {
+ add: 'Order Status',
+ remove: 'Remove order status filter',
+ rule: 'Select an order status filter match',
+ title: 'Order Status {{rule /}} {{filter /}}',
+ filter: 'Select an order status'
+ },
+ rules: [{
+ value: 'is',
+ label: 'Is'
+ }, {
+ value: 'is_not',
+ label: 'Is Not'
+ }],
+ input: {
+ component: 'SelectControl',
+ options: Object.keys(ORDER_STATUSES).map(function (key) {
+ return {
+ value: key,
+ label: ORDER_STATUSES[key]
+ };
+ })
+ }
+ },
+ product: {
+ labels: {
+ add: 'Products',
+ placeholder: 'Search products',
+ remove: 'Remove products filter',
+ rule: 'Select a product filter match',
+ title: 'Product {{rule /}} {{filter /}}',
+ filter: 'Select products'
+ },
+ rules: [{
+ value: 'includes',
+ label: 'Includes'
+ }, {
+ value: 'excludes',
+ label: 'Excludes'
+ }],
+ input: {
+ component: 'Search',
+ type: 'products',
+ getLabels: function getLabels() {
+ return Promise.resolve([]);
+ }
+ }
+ },
+ customer: {
+ labels: {
+ add: 'Customer Type',
+ remove: 'Remove customer filter',
+ rule: 'Select a customer filter match',
+ title: 'Customer is {{filter /}}',
+ filter: 'Select a customer type'
+ },
+ input: {
+ component: 'SelectControl',
+ options: [{
+ value: 'new',
+ label: 'New'
+ }, {
+ value: 'returning',
+ label: 'Returning'
+ }],
+ defaultOption: 'new'
+ }
+ },
+ quantity: {
+ labels: {
+ add: 'Item Quantity',
+ remove: 'Remove item quantity filter',
+ rule: 'Select an item quantity filter match',
+ title: 'Item Quantity is {{rule /}} {{filter /}}'
+ },
+ rules: [{
+ value: 'lessthan',
+ label: 'Less Than'
+ }, {
+ value: 'morethan',
+ label: 'More Than'
+ }, {
+ value: 'between',
+ label: 'Between'
+ }],
+ input: {
+ component: 'Number'
+ }
+ },
+ subtotal: {
+ labels: {
+ add: 'Subtotal',
+ remove: 'Remove subtotal filter',
+ rule: 'Select a subtotal filter match',
+ title: 'Subtotal is {{rule /}} {{filter /}}'
+ },
+ rules: [{
+ value: 'lessthan',
+ label: 'Less Than'
+ }, {
+ value: 'morethan',
+ label: 'More Than'
+ }, {
+ value: 'between',
+ label: 'Between'
+ }],
+ input: {
+ component: 'Number',
+ type: 'currency'
+ }
+ }
+ }
+};
+var compareFilter = {
+ type: 'products',
+ param: 'product',
+ getLabels: function getLabels() {
+ return Promise.resolve([]);
+ },
+ labels: {
+ helpText: 'Select at least two products to compare',
+ placeholder: 'Search for products to compare',
+ title: 'Compare Products',
+ update: 'Compare'
+ }
+};
+/* harmony default export */ __webpack_exports__["default"] = (function () {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])("div", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_2__["H"], null, "Date picker only"), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_2__["Section"], {
+ component: false
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_2__["ReportFilters"], {
+ path: path,
+ query: query,
+ storeDate: storeDate
+ })), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_2__["H"], null, "Date picker & more filters"), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_2__["Section"], {
+ component: false
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_2__["ReportFilters"], {
+ filters: filters,
+ path: path,
+ query: query,
+ storeDate: storeDate
+ })), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_2__["H"], null, "Advanced Filters"), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_2__["Section"], {
+ component: false
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_2__["AdvancedFilters"], {
+ siteLocale: siteLocale,
+ path: path,
+ query: query,
+ filterTitle: "Orders",
+ config: advancedFilters
+ })), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_2__["H"], null, "Compare Filter"), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_2__["Section"], {
+ component: false
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_2__["CompareFilter"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({
+ path: path,
+ query: query
+ }, compareFilter))));
+});
+
+/***/ }),
+
+/***/ 797:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__);
+
+
+/**
+ * Internal dependencies
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function () {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["H"], null, "Default (inherits parent font size)"), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["Section"], {
+ component: false
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["Flag"], {
+ code: "VU"
+ })), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["H"], null, "Large"), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["Section"], {
+ component: false
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["Flag"], {
+ code: "VU",
+ size: 48
+ })), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["H"], null, "Invalid Country Code"), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["Section"], {
+ component: false
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["Flag"], {
+ code: "invalid country code"
+ })));
+});
+
+/***/ }),
+
+/***/ 798:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(105);
+/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(712);
+/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(709);
+/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(760);
+/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(900);
+/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(88);
+
+
+
+/**
+ * Internal dependencies
+ */
+
+/**
+ * External dependencies
+ */
+
+
+
+var validate = function validate(values) {
+ var errors = {};
+
+ if (!values.firstName) {
+ errors.firstName = 'First name is required';
+ }
+
+ if (values.lastName.length < 3) {
+ errors.lastName = 'Last name must be at least 3 characters';
+ }
+
+ return errors;
+}; // eslint-disable-next-line no-console
+
+
+var onSubmitCallback = function onSubmitCallback(values) {
+ return console.log(values);
+};
+
+var initialValues = {
+ firstName: '',
+ lastName: '',
+ select: '3',
+ checkbox: true,
+ radio: '2'
+};
+/* harmony default export */ __webpack_exports__["default"] = (function () {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_2__["Form"], {
+ validate: validate,
+ onSubmitCallback: onSubmitCallback,
+ initialValues: initialValues
+ }, function (_ref) {
+ var getInputProps = _ref.getInputProps,
+ values = _ref.values,
+ errors = _ref.errors,
+ handleSubmit = _ref.handleSubmit;
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])("div", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({
+ label: 'First Name'
+ }, getInputProps('firstName'))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({
+ label: 'Last Name'
+ }, getInputProps('lastName'))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({
+ label: "Select",
+ options: [{
+ label: 'Option 1',
+ value: '1'
+ }, {
+ label: 'Option 2',
+ value: '2'
+ }, {
+ label: 'Option 3',
+ value: '3'
+ }]
+ }, getInputProps('select'))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({
+ label: "Checkbox"
+ }, getInputProps('checkbox'))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({
+ label: "Radio",
+ options: [{
+ label: 'Option 1',
+ value: '1'
+ }, {
+ label: 'Option 2',
+ value: '2'
+ }, {
+ label: 'Option 3',
+ value: '3'
+ }]
+ }, getInputProps('radio'))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_7__[/* default */ "a"], {
+ isPrimary: true,
+ onClick: handleSubmit,
+ disabled: Object.keys(errors).length
+ }, "Submit"), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])("br", null), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])("br", null), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])("h3", null, "Return data:"), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])("pre", null, "Values: ", JSON.stringify(values), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])("br", null), "Errors: ", JSON.stringify(errors)));
+ });
+});
+
+/***/ }),
+
+/***/ 799:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__);
+
+
+/**
+ * Internal dependencies
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function () {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["Gravatar"], {
+ user: "email@example.org",
+ size: 48
+ });
+});
+
+/***/ }),
+
+/***/ 800:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(715);
+
+
+/**
+ * Internal dependencies
+ */
+
+/**
+ * External dependencies
+ */
+
+
+/* harmony default export */ __webpack_exports__["default"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])({
+ image: null
+})(function (_ref) {
+ var setState = _ref.setState,
+ logo = _ref.logo;
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["ImageUpload"], {
+ image: logo,
+ onChange: function onChange(image) {
+ return setState({
+ logo: image
+ });
+ }
+ });
+}));
+
+/***/ }),
+
+/***/ 801:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__);
+
+
+/**
+ * Internal dependencies
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function () {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["Link"], {
+ href: "edit.php?post_type=shop_coupon",
+ type: "wp-admin"
+ }, "Coupons");
+});
+
+/***/ }),
+
+/***/ 802:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var gridicons__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(66);
+/* harmony import */ var gridicons__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(gridicons__WEBPACK_IMPORTED_MODULE_2__);
+
+
+/* eslint-disable no-alert */
+
+/**
+ * Internal dependencies
+ */
+
+/**
+ * External dependencies
+ */
+
+
+var listItems = [{
+ title: 'List item title',
+ content: 'List item description text'
+}, {
+ before: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(gridicons__WEBPACK_IMPORTED_MODULE_2___default.a, {
+ icon: "star"
+ }),
+ title: 'List item with before icon',
+ content: 'List item description text'
+}, {
+ before: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(gridicons__WEBPACK_IMPORTED_MODULE_2___default.a, {
+ icon: "star"
+ }),
+ after: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(gridicons__WEBPACK_IMPORTED_MODULE_2___default.a, {
+ icon: "chevron-right"
+ }),
+ title: 'List item with before and after icons',
+ content: 'List item description text'
+}, {
+ title: 'Clickable list item',
+ content: 'List item description text',
+ // eslint-disable-next-line no-undef
+ onClick: function onClick() {
+ return alert('List item clicked');
+ }
+}];
+/* harmony default export */ __webpack_exports__["default"] = (function () {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["List"], {
+ items: listItems
+ }));
+});
+
+/***/ }),
+
+/***/ 803:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__);
+
+
+/**
+ * Internal dependencies
+ */
+
+/**
+ * External dependencies
+ */
+
+
+var orderStatusMap = {
+ processing: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Processing Order'),
+ pending: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Pending Order'),
+ completed: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Completed Order')
+};
+/* harmony default export */ __webpack_exports__["default"] = (function () {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["OrderStatus"], {
+ order: {
+ status: 'processing'
+ },
+ orderStatusMap: orderStatusMap
+ }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["OrderStatus"], {
+ order: {
+ status: 'pending'
+ },
+ orderStatusMap: orderStatusMap
+ }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["OrderStatus"], {
+ order: {
+ status: 'completed'
+ },
+ orderStatusMap: orderStatusMap
+ }));
+});
+
+/***/ }),
+
+/***/ 804:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(715);
+
+
+/**
+ * Internal dependencies
+ */
+
+/**
+ * External dependencies
+ */
+
+
+/* harmony default export */ __webpack_exports__["default"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])({
+ page: 2,
+ perPage: 50
+})(function (_ref) {
+ var page = _ref.page,
+ perPage = _ref.perPage,
+ setState = _ref.setState;
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["Pagination"], {
+ page: page,
+ perPage: perPage,
+ total: 500,
+ onPageChange: function onPageChange(newPage) {
+ return setState({
+ page: newPage
+ });
+ },
+ onPerPageChange: function onPerPageChange(newPerPage) {
+ return setState({
+ perPage: newPerPage
+ });
+ }
+ });
+}));
+
+/***/ }),
+
+/***/ 805:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__);
+
+
+/**
+ * Internal dependencies
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function () {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["ProductImage"], {
+ product: null
+ }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["ProductImage"], {
+ product: {
+ images: []
+ }
+ }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["ProductImage"], {
+ product: {
+ images: [{
+ src: 'https://cldup.com/6L9h56D9Bw.jpg'
+ }]
+ }
+ }));
+});
+
+/***/ }),
+
+/***/ 806:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__);
+
+
+/**
+ * Internal dependencies
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function () {
+ var product = {
+ average_rating: 3.5
+ };
+ var review = {
+ rating: 5
+ };
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["Rating"], {
+ rating: 4,
+ totalStars: 5
+ })), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["Rating"], {
+ rating: 2.5,
+ totalStars: 6
+ })), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["ProductRating"], {
+ product: product
+ })), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["ReviewRating"], {
+ review: review
+ })));
+});
+
+/***/ }),
+
+/***/ 807:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__);
+
+
+/**
+ * Internal dependencies
+ */
+
+
+var MyScrollTo = function MyScrollTo() {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["ScrollTo"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", null, "Have the web browser automatically scroll to this component on page render."));
+}; // The ScrollTo Component will trigger scrolling if rendered on the main docs page.
+
+
+/* harmony default export */ __webpack_exports__["default"] = (MyScrollTo);
+
+/***/ }),
+
+/***/ 808:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(715);
+
+
+/**
+ * Internal dependencies
+ */
+
+/**
+ * External dependencies
+ */
+
+
+/* harmony default export */ __webpack_exports__["default"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])({
+ selected: [],
+ loading: true
+})(function (_ref) {
+ var selected = _ref.selected,
+ loading = _ref.loading,
+ setState = _ref.setState;
+ var list = [{
+ id: 1,
+ name: 'Apricots'
+ }, {
+ id: 2,
+ name: 'Clementine'
+ }, {
+ id: 3,
+ name: 'Elderberry'
+ }, {
+ id: 4,
+ name: 'Guava'
+ }, {
+ id: 5,
+ name: 'Lychee'
+ }, {
+ id: 6,
+ name: 'Mulberry'
+ }];
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("button", {
+ onClick: function onClick() {
+ return setState({
+ loading: !loading
+ });
+ }
+ }, "Toggle loading state"), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["SearchListControl"], {
+ list: list,
+ isLoading: loading,
+ selected: selected,
+ onChange: function onChange(items) {
+ return setState({
+ selected: items
+ });
+ }
+ }));
+}));
+
+/***/ }),
+
+/***/ 809:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(715);
+
+
+/**
+ * Internal dependencies
+ */
+
+/**
+ * External dependencies
+ */
+
+
+/* harmony default export */ __webpack_exports__["default"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])({
+ selected: [],
+ inlineSelected: []
+})(function (_ref) {
+ var selected = _ref.selected,
+ inlineSelected = _ref.inlineSelected,
+ setState = _ref.setState;
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["H"], null, "Tags Below Input"), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["Section"], {
+ component: false
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["Search"], {
+ type: "products",
+ placeholder: "Search for a product",
+ selected: selected,
+ onChange: function onChange(items) {
+ return setState({
+ selected: items
+ });
+ }
+ })), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["H"], null, "Tags Inline with Input"), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["Section"], {
+ component: false
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["Search"], {
+ type: "products",
+ placeholder: "Search for a product",
+ selected: inlineSelected,
+ onChange: function onChange(items) {
+ return setState({
+ inlineSelected: items
+ });
+ },
+ inlineTags: true
+ })));
+}));
+
+/***/ }),
+
+/***/ 810:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__);
+
+
+/**
+ * Internal dependencies
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function () {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["SectionHeader"], {
+ title: 'Store Performance'
+ });
+});
+
+/***/ }),
+
+/***/ 811:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__);
+
+
+/**
+ * Internal dependencies
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function () {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["H"], null, "Header using a contextual level (h3)"), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["Section"], {
+ component: "article"
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("p", null, "This is an article component wrapper."), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["H"], null, "Another header with contextual level (h4)"), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["Section"], {
+ component: false
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("p", null, "There is no wrapper component here."), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["H"], null, "This is an h5"))));
+});
+
+/***/ }),
+
+/***/ 812:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(715);
+
+
+/**
+ * Internal dependencies
+ */
+
+/**
+ * External dependencies
+ */
+
+
+var name = 'number';
+/* harmony default export */ __webpack_exports__["default"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])({
+ selected: 'two'
+})(function (_ref) {
+ var selected = _ref.selected,
+ setState = _ref.setState;
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["SegmentedSelection"], {
+ options: [{
+ value: 'one',
+ label: 'One'
+ }, {
+ value: 'two',
+ label: 'Two'
+ }, {
+ value: 'three',
+ label: 'Three'
+ }, {
+ value: 'four',
+ label: 'Four'
+ }],
+ selected: selected,
+ legend: "Select a number",
+ onSelect: function onSelect(data) {
+ return setState({
+ selected: data[name]
+ });
+ },
+ name: name
+ });
+}));
+
+/***/ }),
+
+/***/ 813:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(715);
+
+
+/**
+ * Internal dependencies
+ */
+
+/**
+ * External dependencies
+ */
+
+
+var options = [{
+ key: 'apple',
+ label: 'Apple',
+ value: {
+ id: 'apple'
+ }
+}, {
+ key: 'apricot',
+ label: 'Apricot',
+ value: {
+ id: 'apricot'
+ }
+}, {
+ key: 'banana',
+ label: 'Banana',
+ keywords: ['best', 'fruit'],
+ value: {
+ id: 'banana'
+ }
+}, {
+ key: 'blueberry',
+ label: 'Blueberry',
+ value: {
+ id: 'blueberry'
+ }
+}, {
+ key: 'cherry',
+ label: 'Cherry',
+ value: {
+ id: 'cherry'
+ }
+}, {
+ key: 'cantaloupe',
+ label: 'Cantaloupe',
+ value: {
+ id: 'cantaloupe'
+ }
+}, {
+ key: 'dragonfruit',
+ label: 'Dragon Fruit',
+ value: {
+ id: 'dragonfruit'
+ }
+}, {
+ key: 'elderberry',
+ label: 'Elderberry',
+ value: {
+ id: 'elderberry'
+ }
+}];
+/* harmony default export */ __webpack_exports__["default"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])({
+ simpleSelected: [],
+ simpleMultipleSelected: [],
+ singleSelected: [],
+ singleSelectedShowAll: [],
+ multipleSelected: [],
+ inlineSelected: []
+})(function (_ref) {
+ var simpleSelected = _ref.simpleSelected,
+ simpleMultipleSelected = _ref.simpleMultipleSelected,
+ singleSelected = _ref.singleSelected,
+ singleSelectedShowAll = _ref.singleSelectedShowAll,
+ multipleSelected = _ref.multipleSelected,
+ inlineSelected = _ref.inlineSelected,
+ setState = _ref.setState;
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["SelectControl"], {
+ label: "Simple single value",
+ onChange: function onChange(selected) {
+ return setState({
+ simpleSelected: selected
+ });
+ },
+ options: options,
+ placeholder: "Start typing to filter options...",
+ selected: simpleSelected
+ }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("br", null), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["SelectControl"], {
+ label: "Multiple values",
+ multiple: true,
+ onChange: function onChange(selected) {
+ return setState({
+ simpleMultipleSelected: selected
+ });
+ },
+ options: options,
+ placeholder: "Start typing to filter options...",
+ selected: simpleMultipleSelected
+ }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("br", null), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["SelectControl"], {
+ label: "Single value searchable",
+ isSearchable: true,
+ onChange: function onChange(selected) {
+ return setState({
+ singleSelected: selected
+ });
+ },
+ options: options,
+ placeholder: "Start typing to filter options...",
+ selected: singleSelected
+ }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("br", null), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["SelectControl"], {
+ label: "Single value searchable with options on refocus",
+ isSearchable: true,
+ onChange: function onChange(selected) {
+ return setState({
+ singleSelectedShowAll: selected
+ });
+ },
+ options: options,
+ placeholder: "Start typing to filter options...",
+ selected: singleSelectedShowAll,
+ showAllOnFocus: true
+ }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("br", null), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["SelectControl"], {
+ label: "Inline tags searchable",
+ isSearchable: true,
+ multiple: true,
+ inlineTags: true,
+ onChange: function onChange(selected) {
+ return setState({
+ inlineSelected: selected
+ });
+ },
+ options: options,
+ placeholder: "Start typing to filter options...",
+ selected: inlineSelected
+ }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("br", null), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["SelectControl"], {
+ hideBeforeSearch: true,
+ isSearchable: true,
+ label: "Hidden options before search",
+ multiple: true,
+ onChange: function onChange(selected) {
+ return setState({
+ multipleSelected: selected
+ });
+ },
+ options: options,
+ placeholder: "Start typing to filter options...",
+ selected: multipleSelected,
+ showClearButton: true
+ }));
+}));
+
+/***/ }),
+
+/***/ 814:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__);
+
+
+/**
+ * Internal dependencies
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function () {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["Spinner"], null));
+});
+
+/***/ }),
+
+/***/ 815:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var gridicons__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(66);
+/* harmony import */ var gridicons__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(gridicons__WEBPACK_IMPORTED_MODULE_2__);
+
+
+/* eslint-disable no-undef */
+
+/* eslint-disable no-alert */
+
+/**
+ * Internal dependencies
+ */
+
+/**
+ * External dependencies
+ */
+
+
+/* harmony default export */ __webpack_exports__["default"] = (function () {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["SplitButton"], {
+ isPrimary: true,
+ mainLabel: "Primary Button",
+ menuLabel: "Select an action",
+ onClick: function onClick() {
+ return alert('Primary Main Action clicked');
+ },
+ controls: [{
+ label: 'Up',
+ onClick: function onClick() {
+ return alert('Primary Up clicked');
+ }
+ }, {
+ label: 'Right',
+ onClick: function onClick() {
+ return alert('Primary Right clicked');
+ }
+ }, {
+ label: 'Down',
+ icon: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(gridicons__WEBPACK_IMPORTED_MODULE_2___default.a, {
+ icon: "arrow-down"
+ }),
+ onClick: function onClick() {
+ return alert('Primary Down clicked');
+ }
+ }, {
+ label: 'Left',
+ icon: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(gridicons__WEBPACK_IMPORTED_MODULE_2___default.a, {
+ icon: "arrow-left"
+ }),
+ onClick: function onClick() {
+ return alert('Primary Left clicked');
+ }
+ }]
+ }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["SplitButton"], {
+ mainIcon: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(gridicons__WEBPACK_IMPORTED_MODULE_2___default.a, {
+ icon: "pencil"
+ }),
+ menuLabel: "Select an action",
+ onClick: function onClick() {
+ return alert('Icon Only Action clicked');
+ },
+ controls: [{
+ label: 'Up',
+ icon: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(gridicons__WEBPACK_IMPORTED_MODULE_2___default.a, {
+ icon: "arrow-up"
+ }),
+ onClick: function onClick() {
+ return alert('Icon Only Up clicked');
+ }
+ }, {
+ label: 'Right',
+ onClick: function onClick() {
+ return alert('Icon Only Right clicked');
+ }
+ }, {
+ label: 'Down',
+ icon: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(gridicons__WEBPACK_IMPORTED_MODULE_2___default.a, {
+ icon: "arrow-down"
+ }),
+ onClick: function onClick() {
+ return alert('Icon Only Down clicked');
+ }
+ }, {
+ label: 'Left',
+ icon: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(gridicons__WEBPACK_IMPORTED_MODULE_2___default.a, {
+ icon: "arrow-left"
+ }),
+ onClick: function onClick() {
+ return alert('Icon Only Left clicked');
+ }
+ }]
+ }));
+});
+
+/***/ }),
+
+/***/ 816:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(715);
+
+
+/**
+ * Internal dependencies
+ */
+
+/**
+ * External dependencies
+ */
+
+
+/* harmony default export */ __webpack_exports__["default"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])({
+ currentStep: 'first',
+ isComplete: false,
+ isPending: false
+})(function (_ref) {
+ var currentStep = _ref.currentStep,
+ isComplete = _ref.isComplete,
+ isPending = _ref.isPending,
+ setState = _ref.setState;
+
+ var goToStep = function goToStep(key) {
+ setState({
+ currentStep: key
+ });
+ };
+
+ var steps = [{
+ key: 'first',
+ label: 'First',
+ description: 'Step item description',
+ content: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", null, "First step content."),
+ onClick: goToStep
+ }, {
+ key: 'second',
+ label: 'Second',
+ description: 'Step item description',
+ content: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", null, "Second step content."),
+ onClick: goToStep
+ }, {
+ label: 'Third',
+ key: 'third',
+ description: 'Step item description',
+ content: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", null, "Third step content."),
+ onClick: goToStep
+ }, {
+ label: 'Fourth',
+ key: 'fourth',
+ description: 'Step item description',
+ content: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", null, "Fourth step content."),
+ onClick: goToStep
+ }];
+ var currentIndex = steps.findIndex(function (s) {
+ return currentStep === s.key;
+ });
+
+ if (isComplete) {
+ steps.forEach(function (s) {
+ return s.isComplete = true;
+ });
+ }
+
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", null, isComplete ? Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("button", {
+ onClick: function onClick() {
+ return setState({
+ currentStep: 'first',
+ isComplete: false
+ });
+ }
+ }, "Reset") : Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("button", {
+ onClick: function onClick() {
+ return setState({
+ currentStep: steps[currentIndex - 1].key
+ });
+ },
+ disabled: currentIndex < 1
+ }, "Previous step"), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("button", {
+ onClick: function onClick() {
+ return setState({
+ currentStep: steps[currentIndex + 1].key
+ });
+ },
+ disabled: currentIndex >= steps.length - 1
+ }, "Next step"), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("button", {
+ onClick: function onClick() {
+ return setState({
+ isComplete: true
+ });
+ },
+ disabled: currentIndex !== steps.length - 1
+ }, "Complete"), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("button", {
+ onClick: function onClick() {
+ return setState({
+ isPending: !isPending
+ });
+ }
+ }, "Toggle Spinner")), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["Stepper"], {
+ steps: steps,
+ currentStep: currentStep,
+ isPending: isPending
+ }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("br", null), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["Stepper"], {
+ isPending: isPending,
+ isVertical: true,
+ steps: steps,
+ currentStep: currentStep
+ }));
+}));
+
+/***/ }),
+
+/***/ 817:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__);
+
+
+/**
+ * Internal dependencies
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function () {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["SummaryList"], null, function () {
+ return [Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["SummaryNumber"], {
+ key: "revenue",
+ value: '$829.40',
+ label: "Total Sales",
+ delta: 29,
+ href: "/analytics/report"
+ }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["SummaryNumber"], {
+ key: "refunds",
+ value: '$24.00',
+ label: "Refunds",
+ delta: -10,
+ href: "/analytics/report",
+ selected: true
+ }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["SummaryNumber"], {
+ key: "coupons",
+ value: '$49.90',
+ label: "Coupons",
+ href: "/analytics/report"
+ })];
+ });
+});
+
+/***/ }),
+
+/***/ 818:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15);
+/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(715);
+
+
+
+/**
+ * Internal dependencies
+ */
+
+/**
+ * External dependencies
+ */
+
+
+var headers = [{
+ key: 'month',
+ label: 'Month'
+}, {
+ key: 'orders',
+ label: 'Orders'
+}, {
+ key: 'revenue',
+ label: 'Revenue'
+}];
+var rows = [[{
+ display: 'January',
+ value: 1
+}, {
+ display: 10,
+ value: 10
+}, {
+ display: '$530.00',
+ value: 530
+}], [{
+ display: 'February',
+ value: 2
+}, {
+ display: 13,
+ value: 13
+}, {
+ display: '$675.00',
+ value: 675
+}], [{
+ display: 'March',
+ value: 3
+}, {
+ display: 9,
+ value: 9
+}, {
+ display: '$460.00',
+ value: 460
+}]];
+var summary = [{
+ label: 'Gross Income',
+ value: '$830.00'
+}, {
+ label: 'Taxes',
+ value: '$96.32'
+}, {
+ label: 'Shipping',
+ value: '$50.00'
+}];
+/* harmony default export */ __webpack_exports__["default"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])({
+ query: {
+ paged: 1
+ }
+})(function (_ref) {
+ var query = _ref.query,
+ setState = _ref.setState;
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])("div", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_2__["H"], null, "TableCard"), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_2__["Section"], {
+ component: false
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_2__["TableCard"], {
+ title: "Revenue Last Week",
+ rows: rows,
+ headers: headers,
+ onQueryChange: function onQueryChange(param) {
+ return function (value) {
+ return setState({
+ query: _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()({}, param, value)
+ });
+ };
+ },
+ query: query,
+ rowsPerPage: 7,
+ totalRows: 10,
+ summary: summary
+ })), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_2__["H"], null, "Table only"), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_2__["Section"], {
+ component: false
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_2__["Card"], {
+ className: "woocommerce-analytics__card"
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_2__["Table"], {
+ caption: "Revenue Last Week",
+ rows: rows,
+ headers: headers
+ }))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_2__["H"], null, "Summary only"), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_2__["Section"], {
+ component: false
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_2__["TableSummary"], {
+ data: summary
+ })), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_2__["H"], null, "Placeholder"), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_2__["Section"], {
+ component: false
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_2__["Card"], {
+ className: "woocommerce-analytics__card"
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_2__["TablePlaceholder"], {
+ caption: "Revenue Last Week",
+ headers: headers
+ }))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_2__["H"], null, "Empty Table"), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_2__["Section"], {
+ component: false
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_2__["EmptyTable"], null, "There are no entries.")));
+}));
+
+/***/ }),
+
+/***/ 819:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__);
+
+
+/**
+ * Internal dependencies
+ */
+
+
+var noop = function noop() {};
+
+/* harmony default export */ __webpack_exports__["default"] = (function () {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["Tag"], {
+ label: "My tag",
+ id: 1
+ }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["Tag"], {
+ label: "Removable tag",
+ id: 2,
+ remove: noop
+ }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["Tag"], {
+ label: "Tag with popover",
+ popoverContents: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("p", null, "This is a popover")
+ }));
+});
+
+/***/ }),
+
+/***/ 820:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(715);
+
+
+/**
+ * Internal dependencies
+ */
+
+/**
+ * External dependencies
+ */
+
+
+/* harmony default export */ __webpack_exports__["default"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])({
+ first: '',
+ second: '',
+ third: '',
+ fourth: '',
+ fifth: ''
+})(function (_ref) {
+ var first = _ref.first,
+ second = _ref.second,
+ third = _ref.third,
+ fourth = _ref.fourth,
+ fifth = _ref.fifth,
+ setState = _ref.setState;
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["TextControlWithAffixes"], {
+ label: "Text field without affixes",
+ value: first,
+ placeholder: "Placeholder",
+ onChange: function onChange(value) {
+ return setState({
+ first: value
+ });
+ }
+ }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["TextControlWithAffixes"], {
+ label: "Disabled text field without affixes",
+ value: first,
+ placeholder: "Placeholder",
+ onChange: function onChange(value) {
+ return setState({
+ first: value
+ });
+ },
+ disabled: true
+ }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["TextControlWithAffixes"], {
+ prefix: "$",
+ label: "Text field with a prefix",
+ value: second,
+ onChange: function onChange(value) {
+ return setState({
+ second: value
+ });
+ }
+ }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["TextControlWithAffixes"], {
+ prefix: "$",
+ label: "Disabled text field with a prefix",
+ value: second,
+ onChange: function onChange(value) {
+ return setState({
+ second: value
+ });
+ },
+ disabled: true
+ }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["TextControlWithAffixes"], {
+ prefix: "Prefix",
+ suffix: "Suffix",
+ label: "Text field with both affixes",
+ value: third,
+ onChange: function onChange(value) {
+ return setState({
+ third: value
+ });
+ }
+ }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["TextControlWithAffixes"], {
+ prefix: "Prefix",
+ suffix: "Suffix",
+ label: "Disabled text field with both affixes",
+ value: third,
+ onChange: function onChange(value) {
+ return setState({
+ third: value
+ });
+ },
+ disabled: true
+ }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["TextControlWithAffixes"], {
+ suffix: "%",
+ label: "Text field with a suffix",
+ value: fourth,
+ onChange: function onChange(value) {
+ return setState({
+ fourth: value
+ });
+ }
+ }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["TextControlWithAffixes"], {
+ suffix: "%",
+ label: "Disabled text field with a suffix",
+ value: fourth,
+ onChange: function onChange(value) {
+ return setState({
+ fourth: value
+ });
+ },
+ disabled: true
+ }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["TextControlWithAffixes"], {
+ prefix: "$",
+ label: "Text field with prefix and help text",
+ value: fifth,
+ onChange: function onChange(value) {
+ return setState({
+ fifth: value
+ });
+ },
+ help: "This is some help text."
+ }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["TextControlWithAffixes"], {
+ prefix: "$",
+ label: "Disabled text field with prefix and help text",
+ value: fifth,
+ onChange: function onChange(value) {
+ return setState({
+ fifth: value
+ });
+ },
+ help: "This is some help text.",
+ disabled: true
+ }));
+}));
+
+/***/ }),
+
+/***/ 821:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(715);
+
+
+/**
+ * Internal dependencies
+ */
+
+/**
+ * External dependencies
+ */
+
+
+/* harmony default export */ __webpack_exports__["default"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])({
+ value: ''
+})(function (_ref) {
+ var setState = _ref.setState,
+ value = _ref.value;
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["TextControl"], {
+ name: "text-control",
+ label: "Enter text here",
+ onChange: function onChange(newValue) {
+ return setState({
+ value: newValue
+ });
+ },
+ value: value
+ }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("br", null), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["TextControl"], {
+ label: "Disabled field",
+ disabled: true,
+ value: ""
+ }));
+}));
+
+/***/ }),
+
+/***/ 822:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__);
+
+
+/**
+ * Internal dependencies
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function () {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["ViewMoreList"] // eslint-disable-next-line react/jsx-key
+ , {
+ items: [Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("i", null, "Lorem"), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("i", null, "Ipsum"), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("i", null, "Dolor"), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("i", null, "Sit")]
+ });
+});
+
+/***/ }),
+
+/***/ 823:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__);
+
+
+/**
+ * Internal dependencies
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function () {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_1__["WebPreview"], {
+ src: "https://themes.woocommerce.com/?name=galleria",
+ title: "My Web Preview"
+ }));
+});
+
+/***/ }),
+
+/***/ 829:
+/***/ (function(module, exports, __webpack_require__) {
+
+var map = {
+ "./advanced-filters/README.md": 830,
+ "./animation-slider/README.md": 831,
+ "./calendar/README.md": 832,
+ "./card/README.md": 833,
+ "./chart/README.md": 834,
+ "./chart/d3chart/d3base/README.md": 835,
+ "./compare-filter/README.md": 836,
+ "./count/README.md": 837,
+ "./date-range-filter-picker/README.md": 838,
+ "./date/README.md": 839,
+ "./dropdown-button/README.md": 840,
+ "./ellipsis-menu/README.md": 841,
+ "./empty-content/README.md": 842,
+ "./filter-picker/README.md": 843,
+ "./filters/README.md": 844,
+ "./flag/README.md": 845,
+ "./form/README.md": 846,
+ "./gravatar/README.md": 847,
+ "./higher-order/use-filters/README.md": 848,
+ "./image-upload/README.md": 849,
+ "./link/README.md": 850,
+ "./list/README.md": 851,
+ "./order-status/README.md": 852,
+ "./pagination/README.md": 853,
+ "./plugins/README.md": 854,
+ "./product-image/README.md": 855,
+ "./rating/README.md": 856,
+ "./scroll-to/README.md": 857,
+ "./search-list-control/README.md": 858,
+ "./search/README.md": 859,
+ "./section-header/README.md": 860,
+ "./section/README.md": 861,
+ "./segmented-selection/README.md": 862,
+ "./select-control/README.md": 863,
+ "./spinner/README.md": 864,
+ "./split-button/README.md": 865,
+ "./stepper/README.md": 866,
+ "./summary/README.md": 867,
+ "./table/README.md": 868,
+ "./tag/README.md": 869,
+ "./text-control-with-affixes/README.md": 870,
+ "./text-control/README.md": 871,
+ "./view-more-list/README.md": 872,
+ "./web-preview/README.md": 873
+};
+
+
+function webpackContext(req) {
+ var id = webpackContextResolve(req);
+ return __webpack_require__(id);
+}
+function webpackContextResolve(req) {
+ if(!__webpack_require__.o(map, req)) {
+ var e = new Error("Cannot find module '" + req + "'");
+ e.code = 'MODULE_NOT_FOUND';
+ throw e;
+ }
+ return map[req];
+}
+webpackContext.keys = function webpackContextKeys() {
+ return Object.keys(map);
+};
+webpackContext.resolve = webpackContextResolve;
+module.exports = webpackContext;
+webpackContext.id = 829;
+
+/***/ }),
+
+/***/ 830:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("Advanced Filters\n===\n\nDisplays a configurable set of filters which can modify query parameters. Display, behavior, and types of filters can be designated by a configuration object.\n\n## Usage\n\nBelow is a config example complete with translation strings. Advanced Filters makes use of [interpolateComponents](https://github.com/Automattic/interpolate-components#readme) to organize sentence structure, resulting in a filter visually represented as a sentence fragment in any language.\n\n```js\nconst config = {\n\ttitle: __(\n\t\t// A sentence describing filters for Orders\n\t\t// See screen shot for context: https://cloudup.com/cSsUY9VeCVJ\n\t\t'Orders Match {{select /}} Filters',\n\t\t'woocommerce-admin'\n\t),\n\tfilters: {\n\t\tstatus: {\n\t\t\tlabels: {\n\t\t\t\tadd: __( 'Order Status', 'woocommerce-admin' ),\n\t\t\t\tremove: __( 'Remove order status filter', 'woocommerce-admin' ),\n\t\t\t\trule: __( 'Select an order status filter match', 'woocommerce-admin' ),\n\t\t\t\t// A sentence describing an Order Status filter\n\t\t\t\t// See screen shot for context: https://cloudup.com/cSsUY9VeCVJ\n\t\t\t\ttitle: __( 'Order Status {{rule /}} {{filter /}}', 'woocommerce-admin' ),\n\t\t\t\tfilter: __( 'Select an order status', 'woocommerce-admin' ),\n\t\t\t},\n\t\t\trules: [\n\t\t\t\t{\n\t\t\t\t\tvalue: 'is',\n\t\t\t\t\t// Sentence fragment, logical, \"Is\"\n\t\t\t\t\t// Refers to searching for orders matching a chosen order status\n\t\t\t\t\t// Screenshot for context: https://cloudup.com/cSsUY9VeCVJ\n\t\t\t\t\tlabel: _x( 'Is', 'order status', 'woocommerce-admin' ),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tvalue: 'is_not',\n\t\t\t\t\t// Sentence fragment, logical, \"Is Not\"\n\t\t\t\t\t// Refers to searching for orders that don't match a chosen order status\n\t\t\t\t\t// Screenshot for context: https://cloudup.com/cSsUY9VeCVJ\n\t\t\t\t\tlabel: _x( 'Is Not', 'order status', 'woocommerce-admin' ),\n\t\t\t\t},\n\t\t\t],\n\t\t\tinput: {\n\t\t\t\tcomponent: 'SelectControl',\n\t\t\t\toptions: Object.keys( orderStatuses ).map( key => ( {\n\t\t\t\t\tvalue: key,\n\t\t\t\t\tlabel: orderStatuses[ key ],\n\t\t\t\t} ) ),\n\t\t\t},\n\t\t},\n\t},\n};\n```\n\nWhen filters are applied, the query string will be modified using a combination of rule names and selected filter values.\n\nTaking the above configuration as an example, applying the filter will result in a query parameter like `status_is=pending` or `status_is_not=cancelled`.\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`config` | Object | `null` | (required) The configuration object required to render filters. See example above.\n`path` | String | `null` | (required) Name of this filter, used in translations.\n`query` | Object | `null` | The query string represented in object form.\n`onAdvancedFilterAction` | Function | `null` | Function to be called after an advanced filter action has been taken.\n`siteLocale` | string | `'en_US'` | The siteLocale for the site.\n`currency` | Object | `null` | (required) The currency instance for the site (@woocommerce/currency).\n\n\n## Input Components\n\n\n### SelectControl\n\nRender a select component with options.\n\n```js\nconst config = {\n\t...,\n\tfilters: {\n\t\tfruit: {\n\t\t\tinput: {\n\t\t\t\tcomponent: 'SelectControl',\n\t\t\t\toptions: [\n\t\t\t\t\t{ label: 'Apples', key: 'apples' },\n\t\t\t\t\t{ label: 'Oranges', key: 'oranges' },\n\t\t\t\t\t{ label: 'Bananas', key: 'bananas' },\n\t\t\t\t\t{ label: 'Cherries', key: 'cherries' },\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n};\n```\n\n`options`: An array of objects with `key` and `label` properties.\n\n\n### Search\n\nRender an input for users to search and select using an autocomplete.\n\n```js\nconst config = {\n\t...,\n\tfilters: {\n\t\tproduct: {\n\t\t\tinput: {\n\t\t\t\tcomponent: 'Search',\n\t\t\t\ttype: 'products',\n\t\t\t\tgetLabels: getRequestByIdString( NAMESPACE + 'products', product => ( {\n\t\t\t\t\tid: product.id,\n\t\t\t\t\tlabel: product.name,\n\t\t\t\t} ) ),\n\t\t\t},\n\t\t},\n\t},\n};\n```\n\n`type`: A string Autocompleter type used by the [Search Component](https://github.com/woocommerce/woocommerce-admin/tree/master/packages/components/src/search).\n`getLabels`: A function returning a Promise resolving to an array of objects with `id` and `label` properties.\n\n\n### Date\n\nRenders an input or two inputs allowing a user to filter based on a date value or range of values.\n\n```js\nconst config = {\n\t...,\n\tfilters: {\n\t\tregistered: {\n\t\t\trules: [\n\t\t\t\t{\n\t\t\t\t\tvalue: 'before',\n\t\t\t\t\tlabel: __( 'Before', 'woocommerce-admin' ),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tvalue: 'after',\n\t\t\t\t\tlabel: __( 'After', 'woocommerce-admin' ),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tvalue: 'between',\n\t\t\t\t\tlabel: __( 'Between', 'woocommerce-admin' ),\n\t\t\t\t},\n\t\t\t],\n\t\t\tinput: {\n\t\t\t\tcomponent: 'Date',\n\t\t\t},\n\t\t},\n\t},\n};\n```\n\n\n### Numeric Value\n\nRenders an input or two inputs allowing a user to filter based on a numeric value or range of values. Can also render inputs for currency values.\n\nValid rule values are `after`, `before`, and `between`. Use any combination you'd like.\n\n```js\nconst config = {\n\t...,\n\tfilters: {\n\t\tquantity: {\n\t\t\trules: [\n\t\t\t\t{\n\t\t\t\t\tvalue: 'lessthan',\n\t\t\t\t\tlabel: __( 'Less Than', 'woocommerce-admin' ),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tvalue: 'morethan',\n\t\t\t\t\tlabel: __( 'More Than', 'woocommerce-admin' ),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tvalue: 'between',\n\t\t\t\t\tlabel: __( 'Between', 'woocommerce-admin' ),\n\t\t\t\t},\n\t\t\t],\n\t\t\tinput: {\n\t\t\t\tcomponent: 'Number',\n\t\t\t},\n\t\t},\n\t},\n};\n```\n\nValid rule values are `lessthan`, `morethan`, and `between`. Use any combination you'd like.\n\nSpecify `input.type` as `'currency'` if you'd like to render currency inputs, which respects store currency locale.\n");
+
+/***/ }),
+
+/***/ 831:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("AnimationSlider\n===\n\nThis component creates slideable content controlled by an animate prop to direct the contents to slide left or right.\nAll other props are passed to `CSSTransition`. More info at http://reactcommunity.org/react-transition-group/css-transition\n\n## Usage\n\n```jsx\n\n\t{ ( status ) => (\n\t\tOne (1) \n\t) }\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`children` | function | `null` | (required) A function returning rendered content with argument status, reflecting `CSSTransition` status\n`animationKey` | any | `null` | (required) A unique identifier for each slideable page\n`animate` | string | `null` | null, 'left', 'right', to designate which direction to slide on a change\n`onExited` | function | `null` | A function to be executed after a transition is complete, passing the containing ref as the argument\n");
+
+/***/ }),
+
+/***/ 832:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("DatePicker\n===\n\n## Usage\n\n```jsx\n setState( { date, text, error } ) }\n\tdateFormat=\"MM/DD/YYYY\"\n/>\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`date` | Object | `null` | A moment date object representing the selected date. `null` for no selection\n`disabled` | Boolean | `null` | Whether the input is disabled\n`text` | String | `null` | The date in human-readable format. Displayed in the text input\n`error` | String | `null` | A string error message, shown to the user\n`onUpdate` | Function | `null` | (required) A function called upon selection of a date or input change\n`dateFormat` | String | `null` | (required) The date format in moment.js-style tokens\n`isInvalidDate` | Function | `null` | A function to determine if a day on the calendar is not valid\n\n\nDateRange\n===\n\nThis is wrapper for a [react-dates](https://github.com/airbnb/react-dates) powered calendar.\n\n## Usage\n\n```jsx\n setState( update ) }\n\tshortDateFormat=\"MM/DD/YYYY\"\n\tfocusedInput=\"startDate\"\n\tisInvalidDate={ date => (\n\t\t// not a future date\n\t\tmoment().isBefore( moment( date ), 'date' )\n\t) }\n/>\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`after` | Object | `null` | A moment date object representing the selected start. `null` for no selection\n`afterError` | String | `null` | A string error message, shown to the user\n`afterText` | String | `null` | The start date in human-readable format. Displayed in the text input\n`before` | Object | `null` | A moment date object representing the selected end. `null` for no selection\n`beforeError` | String | `null` | A string error message, shown to the user\n`beforeText` | String | `null` | The end date in human-readable format. Displayed in the text input\n`focusedInput` | String | `null` | String identifying which is the currently focused input (start or end)\n`isInvalidDate` | Function | `null` | A function to determine if a day on the calendar is not valid\n`onUpdate` | Function | `null` | (required) A function called upon selection of a date\n`shortDateFormat` | String | `null` | (required) The date format in moment.js-style tokens\n");
+
+/***/ }),
+
+/***/ 833:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("Card\n===\n\nA basic card component with a header. The header can contain a title, an action, and an `EllipsisMenu` menu.\n\n## Usage\n\n```jsx\n\n\t
\n\t\tYour stuff in a Card.
\n\t \n\t
\n\t\tThis Card is grayed out and has no box-shadow.
\n\t \n
\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`action` | ReactNode | `null` | One \"primary\" action for this card, appears in the card header\n`className` | String | `null` | Additional CSS classes\n`description` | One of type: string, node | `null` | The description displayed beneath the title\n`isInactive` | Boolean | `null` | Boolean representing whether the card is inactive or not\n`menu` | (custom validator) | `null` | An `EllipsisMenu`, with filters used to control the content visible in this card\n`title` | One of type: string, node | `null` | The title to use for this card\n");
+
+/***/ }),
+
+/***/ 834:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("Chart\n===\n\nA chart container using d3, to display timeseries data with an interactive legend.\n\n## Usage\n\n```jsx\nconst data = [\n\t{\n\t\tdate: '2018-05-30T00:00:00',\n\t\tHoodie: {\n\t\t\tlabel: 'Hoodie',\n\t\t\tvalue: 21599,\n\t\t},\n\t\tSunglasses: {\n\t\t\tlabel: 'Sunglasses',\n\t\t\tvalue: 38537,\n\t\t},\n\t\tCap: {\n\t\t\tlabel: 'Cap',\n\t\t\tvalue: 106010,\n\t\t},\n\t},\n\t{\n\t\tdate: '2018-05-31T00:00:00',\n\t\tHoodie: {\n\t\t\tlabel: 'Hoodie',\n\t\t\tvalue: 14205,\n\t\t},\n\t\tSunglasses: {\n\t\t\tlabel: 'Sunglasses',\n\t\t\tvalue: 24721,\n\t\t},\n\t\tCap: {\n\t\t\tlabel: 'Cap',\n\t\t\tvalue: 70131,\n\t\t},\n\t},\n\t{\n\t\tdate: '2018-06-01T00:00:00',\n\t\tHoodie: {\n\t\t\tlabel: 'Hoodie',\n\t\t\tvalue: 10581,\n\t\t},\n\t\tSunglasses: {\n\t\t\tlabel: 'Sunglasses',\n\t\t\tvalue: 19991,\n\t\t},\n\t\tCap: {\n\t\t\tlabel: 'Cap',\n\t\t\tvalue: 53552,\n\t\t},\n\t},\n\t{\n\t\tdate: '2018-06-02T00:00:00',\n\t\tHoodie: {\n\t\t\tlabel: 'Hoodie',\n\t\t\tvalue: 9250,\n\t\t},\n\t\tSunglasses: {\n\t\t\tlabel: 'Sunglasses',\n\t\t\tvalue: 16072,\n\t\t},\n\t\tCap: {\n\t\t\tlabel: 'Cap',\n\t\t\tvalue: 47821,\n\t\t},\n\t},\n];\n\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`allowedIntervals` | Array | `null` | Allowed intervals to show in a dropdown\n`baseValue` | Number | `0` | Base chart value. If no data value is different than the baseValue, the `emptyMessage` will be displayed if provided\n`chartType` | One of: 'bar', 'line' | `'line'` | Chart type of either `line` or `bar`\n`data` | Array | `[]` | An array of data\n`dateParser` | String | `'%Y-%m-%dT%H:%M:%S'` | Format to parse dates into d3 time format\n`emptyMessage` | String | `null` | The message to be displayed if there is no data to render. If no message is provided, nothing will be displayed\n`filterParam` | String | `null` | Name of the param used to filter items. If specified, it will be used, in combination with query, to detect which elements are being used by the current filter and must be displayed even if their value is 0\n`itemsLabel` | String | `null` | Label describing the legend items\n`mode` | One of: 'item-comparison', 'time-comparison' | `'time-comparison'` | `item-comparison` (default) or `time-comparison`, this is used to generate correct ARIA properties\n`path` | String | `null` | Current path\n`query` | Object | `null` | The query string represented in object form\n`interactiveLegend` | Boolean | `true` | Whether the legend items can be activated/deactivated\n`interval` | One of: 'hour', 'day', 'week', 'month', 'quarter', 'year' | `'day'` | Interval specification (hourly, daily, weekly etc)\n`intervalData` | Object | `null` | Information about the currently selected interval, and set of allowed intervals for the chart. See `getIntervalsForQuery`\n`isRequesting` | Boolean | `false` | Render a chart placeholder to signify an in-flight data request\n`legendPosition` | One of: 'bottom', 'side', 'top' | `null` | Position the legend must be displayed in. If it's not defined, it's calculated depending on the viewport width and the mode\n`legendTotals` | Object | `null` | Values to overwrite the legend totals. If not defined, the sum of all line values will be used\n`screenReaderFormat` | One of type: string, func | `'%B %-d, %Y'` | A datetime formatting string or overriding function to format the screen reader labels\n`showHeaderControls` | Boolean | `true` | Wether header UI controls must be displayed\n`title` | String | `null` | A title describing this chart\n`tooltipLabelFormat` | One of type: string, func | `'%B %-d, %Y'` | A datetime formatting string or overriding function to format the tooltip label\n`tooltipValueFormat` | One of type: string, func | `','` | A number formatting string or function to format the value displayed in the tooltips\n`tooltipTitle` | String | `null` | A string to use as a title for the tooltip. Takes preference over `tooltipLabelFormat`\n`valueType` | String | `null` | What type of data is to be displayed? Number, Average, String?\n`xFormat` | String | `'%d'` | A datetime formatting string, passed to d3TimeFormat\n`x2Format` | String | `'%b %Y'` | A datetime formatting string, passed to d3TimeFormat\n`yBelow1Format` | String | `null` | A number formatting string, passed to d3Format\n`yFormat` | String | `null` | A number formatting string, passed to d3Format\n`currency` | Object | `{}` | An object with currency properties for usage in the chart. The following properties are expected: `decimal`, `symbol`, `symbolPosition`, `thousands`. This is passed to d3Format.\n");
+
+/***/ }),
+
+/***/ 835:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("# D3 Base Component\n\nIntegrate React Lifecyle methods with d3.js charts.\n\n### Base Component Responsibilities\n\n* Create and manage mounting and unmounting parent `div` and `svg`\n* Handle resize events, resulting re-renders, and event listeners\n* Handle re-renders as a result of new props\n\n## Props\n\n### className\n{ string } A class to be applied to the parent `div`\n\n### getParams( node )\n{ function } A function returning an object containing required properties for drawing a chart. This object is created before re-render, making it an ideal place for calculating scales and other props or user input based properties.\n* `svg` { node } The parent `div`. Useful for calculating available widths\n\n### drawChart( svg, params )\n{ function } draw the chart\n* `svg` { node } Base element \n* `params` { Object } Properties created by the `getParams` function ");
+
+/***/ }),
+
+/***/ 836:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("CompareFilter\n===\n\nDisplays a card + search used to filter results as a comparison between objects.\n\n## Usage\n\n```jsx\nconst path = ''; // from React Router\nconst getLabels = () => Promise.resolve( [] );\nconst labels = {\n\thelpText: 'Select at least two products to compare',\n\tplaceholder: 'Search for products to compare',\n\ttitle: 'Compare Products',\n\tupdate: 'Compare',\n};\n\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`getLabels` | Function | `null` | (required) Function used to fetch object labels via an API request, returns a Promise\n`labels` | Object | `{}` | Object of localized labels\n`param` | String | `null` | (required) The parameter to use in the querystring\n`path` | String | `null` | (required) The `path` parameter supplied by React-Router\n`query` | Object | `{}` | The query string represented in object form\n`type` | String | `null` | (required) Which type of autocompleter should be used in the Search\n");
+
+/***/ }),
+
+/***/ 837:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("Count\n===\n\nDisplay a number with a styled border.\n\n## Usage\n\n```jsx\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`count` | Number | `null` | (required) Value of the number to be displayed\n`label` | String | `''` | A translated label with the number in context, used for screen readers\n");
+
+/***/ }),
+
+/***/ 838:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("Date Range Picker\n===\n\nSelect a range of dates or single dates\n\n## Usage\n\n```jsx\nimport {\n\tgetDateParamsFromQuery,\n\tgetCurrentDates,\n\tisoDateFormat,\n\tloadLocaleData,\n} from '@woocommerce/date';\n\n/**\n * External dependencies\n */\nimport { partialRight } from 'lodash';\n\nconst query = {};\n\n// Fetch locale from store settings and load for date functions.\nconst localeSettings = {\n\tuserLocale: 'fr_FR',\n\tweekdaysShort: [ 'dim', 'lun', 'mar', 'mer', 'jeu', 'ven', 'sam' ],\n};\nloadLocaleData( localeSettings );\n\nconst defaultDateRange = 'period=month&compare=previous_year';\nconst storeGetDateParamsFromQuery = partialRight( getDateParamsFromQuery, defaultDateRange );\nconst storeGetCurrentDates = partialRight( getCurrentDates, defaultDateRange );\nconst { period, compare, before, after } = storeGetDateParamsFromQuery( query );\nconst { primary: primaryDate, secondary: secondaryDate } = storeGetCurrentDates( query );\nconst dateQuery = {\n\tperiod,\n\tcompare,\n\tbefore,\n\tafter,\n\tprimaryDate,\n\tsecondaryDate,\n};\n\n {} }\n\tdateQuery={ dateQuery }\n\tisoDateFormat={ isoDateFormat }\n/>\n```\n\n### Props\n\nName | Type | Default | Description\n------- | -------- | ------- | ---\n`isDateFormat` | string | `null` | (required) ISO date format string\n`onRangeSelect` | Function | `null` | Callback called when selection is made\n`dateQuery` | object | `null` | (required) Date initialization object\n\n## URL as the source of truth\n\nThe Date Range Picker reads parameters from the URL querystring and updates them by creating a link to reflect newly selected parameters, which is rendered as the \"Update\" button.\n\nURL Parameter | Default | Possible Values\n--- | --- | ---\n`period` | `today` | `today`, `yesterday`, `week`, `last_week`, `month`, `last_month`, `quarter`, `last_quarter`, `year`, `last_year`, `custom`\n`compare` | `previous_period` | `previous_period`, `previous_year`\n`start` | none | start date for custom periods `2018-04-15`. [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601)\n`end` | none | end date for custom periods `2018-04-15`. [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601)\n");
+
+/***/ }),
+
+/***/ 839:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("Date\n===\n\nUse the `Date` component to display accessible dates or times.\n\n## Usage\n\n```jsx\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`date` | One of type: string, object | `null` | (required) Date to use in the component\n`machineFormat` | String | `'Y-m-d H:i:s'` | Date format used in the `datetime` prop of the `time` element\n`screenReaderFormat` | String | `'F j, Y'` | Date format used for screen readers\n`visibleFormat` | String | `'Y-m-d'` | Date format displayed in the page\n");
+
+/***/ }),
+
+/***/ 840:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("DropdownButton\n===\n\nA button useful for a launcher of a dropdown component. The button is 100% width of its container and displays single or multiple lines rendered as ` ` elments.\n\n## Usage\n\n```jsx\n (\n\t\t \n\t) }\n\trenderContent={ () => (\n\t\tDropdown content here
\n\t) }\n/>\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`labels` | Array | `null` | (required) An array of elements to be rendered as the content of the button\n`isOpen` | Boolean | `null` | Boolean describing if the dropdown in open or not\n");
+
+/***/ }),
+
+/***/ 841:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("EllipsisMenu\n===\n\nThis is a dropdown menu hidden behind a vertical ellipsis icon. When clicked, the inner MenuItems are displayed.\n\n## Usage\n\n```jsx\n {\n\t\treturn (\n\t\t\t\n\t\t\t\tDisplay Stats \n\t\t\t\t setState( { showCustomers: ! showCustomers } ) }>\n\t\t\t\t\t setState( { showCustomers: ! showCustomers } ) }\n\t\t\t\t\t/>\n\t\t\t\t \n\t\t\t\t setState( { showOrders: ! showOrders } ) }>\n\t\t\t\t\t setState( { showOrders: ! showOrders } ) }\n\t\t\t\t\t/>\n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\tClose Menu\n\t\t\t\t\t \n\t\t\t\t \n\t\t\t
\n\t\t);\n\t} }\n/>\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`label` | String | `null` | (required) The label shown when hovering/focusing on the icon button\n`renderContent` | Function | `null` | A function returning `MenuTitle`/`MenuItem` components as a render prop. Arguments from Dropdown passed as function arguments\n\n\nMenuItem\n===\n\n`MenuItem` is used to give the item an accessible wrapper, with the `menuitem` role and added keyboard functionality (`onInvoke`).\n`MenuItem`s can also be deemed \"clickable\", though this is disabled by default because generally the inner component handles\nthe click event.\n\n## Usage\n\n```jsx\n\n\t\n\tClose Menu\n\t \n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`checked` | Boolean | `null` | Whether the menu item is checked or not. Only relevant for menu items with `isCheckbox`\n`children` | ReactNode | `null` | A renderable component (or string) which will be displayed as the content of this item. Generally a `ToggleControl`\n`isCheckbox` | Boolean | `false` | Whether the menu item is a checkbox (will render a FormToggle and use the `menuitemcheckbox` role)\n`isClickable` | Boolean | `false` | Boolean to control whether the MenuItem should handle the click event. Defaults to false, assuming your child component handles the click event\n`onInvoke` | Function | `null` | (required) A function called when this item is activated via keyboard ENTER or SPACE; or when the item is clicked (only if `isClickable` is set)\n\n\nMenuTitle\n===\n\n`MenuTitle` is another valid Menu child, but this does not have any accessibility attributes associated\n(so this should not be used in place of the `EllipsisMenu` prop `label`).\n\n## Usage\n\n```jsx\nDisplay Stats \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`children` | ReactNode | `null` | A renderable component (or string) which will be displayed as the content of this item\n");
+
+/***/ }),
+
+/***/ 842:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("EmptyContent\n===\n\nA component to be used when there is no data to show.\nIt can be used as an opportunity to provide explanation or guidance to help a user progress.\n\n## Usage\n\n```jsx\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`title` | String | `null` | (required) The title to be displayed\n`message` | String | `null` | An additional message to be displayed\n`illustration` | String | `'/empty-content.svg'` | The url string of an image path. Prefix with `/` to load an image relative to the plugin directory\n`illustrationHeight` | Number | `null` | Height to use for the illustration\n`illustrationWidth` | Number | `400` | Width to use for the illustration\n`actionLabel` | String | `null` | (required) Label to be used for the primary action button\n`actionURL` | String | `null` | URL to be used for the primary action button\n`actionCallback` | Function | `null` | Callback to be used for the primary action button\n`secondaryActionLabel` | String | `null` | Label to be used for the secondary action button\n`secondaryActionURL` | String | `null` | URL to be used for the secondary action button\n`secondaryActionCallback` | Function | `null` | Callback to be used for the secondary action button\n`className` | String | `null` | Additional CSS classes\n");
+
+/***/ }),
+
+/***/ 843:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("Filter Picker\n===\n\nModify a url query parameter via a dropdown selection of configurable options. This component manipulates the `filter` query parameter.\n\n## Usage\n\n```jsx\nimport { FilterPicker } from '@woocommerce/components';\n\nconst renderFilterPicker = () => {\n\tconst filters = [\n\t\t{ label: 'Breakfast', value: 'breakfast' },\n\t\t{\n\t\t\tlabel: 'Lunch',\n\t\t\tvalue: 'lunch',\n\t\t\tsubFilters: [\n\t\t\t\t{ label: 'Meat', value: 'meat', path: [ 'lunch' ] },\n\t\t\t\t{ label: 'Vegan', value: 'vegan', path: [ 'lunch' ] },\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Pescatarian',\n\t\t\t\t\tvalue: 'fish',\n\t\t\t\t\tpath: [ 'lunch' ],\n\t\t\t\t\tsubFilters: [\n\t\t\t\t\t\t{ label: 'Snapper', value: 'snapper', path: [ 'lunch', 'fish' ] },\n\t\t\t\t\t\t{ label: 'Cod', value: 'cod', path: [ 'lunch', 'fish' ] },\n\t\t\t\t\t\t// Specify a custom component to render (Work in Progress)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Other',\n\t\t\t\t\t\t\tvalue: 'other_fish',\n\t\t\t\t\t\t\tpath: [ 'lunch', 'fish' ],\n\t\t\t\t\t\t\tcomponent: 'OtherFish',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\t{ label: 'Dinner', value: 'dinner' },\n\t];\n\n\treturn ;\n};\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`config` | Object | `null` | (required) An array of filters and subFilters to construct the menu\n`path` | String | `null` | (required) The `path` parameter supplied by React-Router\n`query` | Object | `{}` | The query string represented in object form\n`onFilterSelect` | Function | `() => {}` | Function to be called after filter selection\n\n### `config` structure\n\nThe `config` prop has the following structure:\n\n- `label`: String - A label above the filter selector.\n- `staticParams`: Array - Url parameters to persist when selecting a new filter.\n- `param`: String - The url paramter this filter will modify.\n- `defaultValue`: String - The default paramter value to use instead of 'all'.\n- `showFilters`: Function - Determine if the filter should be shown. Supply a function with the query object as an argument returning a boolean.\n- `filters`: Array - Array of filter objects.\n\n### `filters` structure\n\nThe `filters` prop is an array of filter objects. Each filter object should have the following format:\n\n- `chartMode`: One of: 'item-comparison', 'time-comparison'\n- `component`: String - A custom component used instead of a button, might have special handling for filtering. TBD, not yet implemented.\n- `label`: String - The label for this filter. Optional only for custom component filters.\n- `path`: String - An array representing the \"path\" to this filter, if nested.\n- `subFilters`: Array - An array of more filter objects that act as \"children\" to this item. This set of filters is shown if the parent filter is clicked.\n- `value`: String - The value for this filter, used to set the `filter` query param when clicked, if there are no `subFilters`.\n");
+
+/***/ }),
+
+/***/ 844:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("ReportFilters\n===\n\nAdd a collection of report filters to a page. This uses `DatePicker` & `FilterPicker` for the \"basic\" filters, and `AdvancedFilters`\nor a comparison card if \"advanced\" or \"compare\" are picked from `FilterPicker`.\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`advancedFilters` | Object | `{}` | Config option passed through to `AdvancedFilters`\n`siteLocale` | string| `en_US` | The locale of the site. Passed through to `AdvancedFilters`\n`currency` | object | {} | The currency of the site. Passed through to `AdvancedFilters`\n`filters` | Array | `[]` | Config option passed through to `FilterPicker` - if not used, `FilterPicker` is not displayed\n`path` | String | `null` | (required) The `path` parameter supplied by React-Router\n`query` | Object | `{}` | The query string represented in object form\n`showDatePicker` | Boolean | `true` | Whether the date picker must be shown\n`onDateSelect` | Function | `() => {}` | Function to be called after date selection\n`onFilterSelect` | Function | `null` | Function to be called after filter selection\n`onAdvancedFilterAction` | Function | `null` | Function to be called after an advanced filter action has been taken\n`storeDate` | object | `null` | (required) Date utility function object bound to store settings.\n");
+
+/***/ }),
+
+/***/ 845:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("Flag\n===\n\nUse the `Flag` component to display a country's flag using the operating system's emojis.\n\n React component.\n\n## Usage\n\n```jsx\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`code` | String | `null` | Two letter, three letter or three digit country code\n`order` | Object | `null` | An order can be passed instead of `code` and the code will automatically be pulled from the billing or shipping data\n`className` | String | `null` | Additional CSS classes\n`size` | Number | `null` | Supply a font size to be applied to the emoji flag\n");
+
+/***/ }),
+
+/***/ 846:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("Form\n===\n\nA form component to handle form state and provide input helper props.\n\n## Usage\n\n```jsx\nconst initialValues = { firstName: '' };\n\n\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`children` | * | `null` | A renderable component in which to pass this component's state and helpers. Generally a number of input or other form elements\n`errors` | Object | `{}` | Object of all initial errors to store in state\n`initialValues` | Object | `{}` | Object key:value pair list of all initial field values\n`onSubmitCallback` | Function | `noop` | Function to call when a form is submitted with valid fields\n`validate` | Function | `noop` | A function that is passed a list of all values and should return an `errors` object with error response\n`touched` | | `{}` | \n");
+
+/***/ }),
+
+/***/ 847:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("Gravatar\n===\n\nDisplay a users Gravatar.\n\n## Usage\n\n```jsx\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`user` | One of type: object, string | `null` | The address to hash for displaying a Gravatar. Can be an email address or WP-API user object\n`alt` | String | `null` | Text to display as the image alt attribute\n`title` | String | `null` | Text to use for the image's title\n`size` | Number | `60` | Default 60. The size of Gravatar to request\n`className` | String | `null` | Additional CSS classes\n");
+
+/***/ }),
+
+/***/ 848:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("useFilters\n==========\n\n`useFilters` is a fork of [gutenberg's `withFilters`.](https://github.com/WordPress/gutenberg/tree/master/packages/components/src/higher-order/with-filters) It is also a React [higher-order component.](https://facebook.github.io/react/docs/higher-order-components.html)\n\nWrapping a component with `useFilters` provides a filtering capability controlled externally by the list of `hookName`s.\n\n## Usage\n\n```jsx\nimport { applyFilters } from '@wordpress/hooks';\nimport { useFilters } from '@woocommerce/components';\n\nfunction MyCustomElement() {\n\treturn { applyFilters( 'woocommerce.componentTitle', 'Title Text' ) } ;\n}\n\nexport default useFilters( [ 'woocommerce.componentTitle' ] )( MyCustomElement );\n```\n\n`useFilters` expects an array argument which provides a list of hook names. It returns a function which can then be used in composing your component. The list of hook names are used in your component with `applyFilters`. Any filters added to the given hooks are run when added, and update your content (the title text, in this example).\n\n### Adding filters\n\n```js\nfunction editText( string ) {\n\treturn `Filtered: ${ string }`;\n}\naddFilter( 'woocommerce.componentTitle', 'editText', editText );\n```\n\nIf we added this filter, our `MyCustomElement` component would display:\n\n```html\nFiltered: Title Text \n```\n");
+
+/***/ }),
+
+/***/ 849:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("ImageUpload\n===\n\nImageUpload - Adds an upload area for selecting or uploading an image from the WordPress media gallery.\n\n## Usage\n\n```jsx\n\t setState( { url: newImage } ) } />\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`image` | Object | `null` | Image information containing media gallery `id` and image `url`\n`onChange` | Function | `null` | Function to trigger when the selected image changes\n`className` | String | `null` | Additional class name to style the component\n");
+
+/***/ }),
+
+/***/ 850:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("Link\n===\n\nUse `Link` to create a link to another resource. It accepts a type to automatically\ncreate wp-admin links, wc-admin links, and external links.\n\n## Usage\n\n```jsx\n \n\tCoupons\n\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`href` | String | `null` | (required) The resource to link to\n`type` | One of: 'wp-admin', 'wc-admin', 'external' | `'wc-admin'` | Type of link. For wp-admin and wc-admin, the correct prefix is appended\n");
+
+/***/ }),
+
+/***/ 851:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("List\n===\n\nList component to display a list of items.\n\n## Usage\n\n```jsx\nconst listItems = [\n\t{\n\t\ttitle: 'List item title',\n\t\tdescription: 'List item description text',\n\t},\n\t{\n\t\tbefore: ,\n\t\ttitle: 'List item with before icon',\n\t\tdescription: 'List item description text',\n\t},\n\t{\n\t\tbefore: ,\n\t\tafter: ,\n\t\ttitle: 'List item with before and after icons',\n\t\tdescription: 'List item description text',\n\t},\n\t{\n\t\ttitle: 'Clickable list item',\n\t\tdescription: 'List item description text',\n\t\tonClick: () => alert( 'List item clicked' ),\n\t},\n];\n\n
\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`className` | String | `null` | Additional class name to style the component\n`items` | Array | `null` | (required) An array of list items\n\n`items` structure:\n\n* `after`: ReactNode - Content displayed after the list item text.\n* `before`: ReactNode - Content displayed before the list item text.\n* `className`: String - Additional class name to style the list item.\n* `description`: String - Description displayed beneath the list item title.\n* `href`: String - Href attribute used in a Link wrapped around the item.\n* `onClick`: Function - Called when the list item is clicked.\n* `target`: String - Target attribute used for Link wrapper.\n* `title`: String - Title displayed for the list item.");
+
+/***/ }),
+
+/***/ 852:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("OrderStatus\n===\n\nUse `OrderStatus` to display a badge with human-friendly text describing the current order status.\n\n## Usage\n\n```jsx\nconst order = { status: 'processing' }; // Use a real WooCommerce Order here.\n\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`order` | Object | `null` | (required) The order to display a status for. See: https://woocommerce.github.io/woocommerce-rest-api-docs/#order-properties\n`className` | String | `null` | Additional CSS classes\n`orderStatusMap` | Object | {} | A map of order status to human-friendly label.\n");
+
+/***/ }),
+
+/***/ 853:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("Pagination\n===\n\nUse `Pagination` to allow navigation between pages that represent a collection of items.\nThe component allows for selecting a new page and items per page options.\n\n## Usage\n\n```jsx\n setState( { page: newPage } ) }\n\tonPerPageChange={ ( newPerPage ) => setState( { perPage: newPerPage } ) }\n/>\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`page` | Number | `null` | (required) The current page of the collection\n`onPageChange` | Function | `noop` | A function to execute when the page is changed\n`perPage` | Number | `null` | (required) The amount of results that are being displayed per page\n`onPerPageChange` | Function | `noop` | A function to execute when the per page option is changed\n`total` | Number | `null` | (required) The total number of results\n`className` | String | `null` | Additional classNames\n`showPagePicker` | Boolean | `true` | Whether the page picker should be shown.\n`showPerPagePicker` | Boolean | `true` | Whether the per page picker should shown.\n`showPageArrowsLabel` | Boolean | `true` | Whether the page arrows label should be shown.\n");
+
+/***/ }),
+
+/***/ 854:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("Plugins\n===\n\nUse `Plugins` to install and activate a list of plugins.\n\n## Usage\n\n```jsx\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`onComplete` | Function | | Called when the plugin installer is completed\n`onSkip` | Function | `noop` | Called when the plugin installer is skipped\n`skipText` | String | | Text used for the skip installer button\n`autoInstall` | Boolean | false | If installation should happen automatically, or require user confirmation\n`pluginSlugs` | Array | `[ 'jetpack', 'woocommerce-services' ],` | An array of plugin slugs to install.\n");
+
+/***/ }),
+
+/***/ 855:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("ProductImage\n===\n\nUse `ProductImage` to display a product's or variation's featured image.\nIf no image can be found, a placeholder matching the front-end image\nplaceholder will be displayed.\n\n## Usage\n\n```jsx\n// Use a real WooCommerce Product here.\nconst product = {\n\timages: [\n\t\t{\n\t\t\tsrc: 'https://cldup.com/6L9h56D9Bw.jpg',\n\t\t},\n\t],\n};\n\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`width` | Number | `60` | The width of image to display\n`height` | Number | `60` | The height of image to display\n`className` | String | `''` | Additional CSS classes\n`product` | Object | `null` | Product or variation object. The image to display will be pulled from `product.images` or `variation.image`. See https://woocommerce.github.io/woocommerce-rest-api-docs/#product-properties and https://woocommerce.github.io/woocommerce-rest-api-docs/#product-variation-properties\n`alt` | String | `null` | Text to use as the image alt attribute\n");
+
+/***/ }),
+
+/***/ 856:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("Rating\n===\n\nUse `Rating` to display a set of stars, filled, empty or half-filled, that represents a\nrating in a scale between 0 and the prop `totalStars` (default 5).\n\n## Usage\n\n```jsx\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`rating` | Number | `0` | Number of stars that should be filled. You can pass a partial number of stars like `2.5`\n`totalStars` | Number | `5` | The total number of stars the rating is out of\n`size` | Number | `18` | The size in pixels the stars should be rendered at\n`className` | String | `null` | Additional CSS classes\n\n\nProductRating\n===\n\nDisplay a set of stars representing the product's average rating.\n\n## Usage\n\n```jsx\n// Use a real WooCommerce Product here.\nconst product = { average_rating: 3.5 };\n\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`product` | Object | `null` | (required) A product object containing a `average_rating`. See https://woocommerce.github.io/woocommerce-rest-api-docs/#products\n\n\nReviewRating\n===\n\nDisplay a set of stars representing the review's rating.\n\n## Usage\n\n```jsx\n// Use a real WooCommerce Review here.\nconst review = { rating: 5 };\n\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`review` | Object | `null` | (required) A review object containing a `rating`. See https://woocommerce.github.io/woocommerce-rest-api-docs/#retrieve-product-reviews\n");
+
+/***/ }),
+
+/***/ 857:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("ScrollTo\n===\n\n\n\n## Usage\n\n```jsx\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`offset` | String | ``'0'`` | The offset from the top of the component\n");
+
+/***/ }),
+
+/***/ 858:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("SearchListControl\n===\n\nComponent to display a searchable, selectable list of items.\n\n## Usage\n\n```jsx\n setState( { selected: items } ) }\n/>\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`className` | String | `null` | Additional CSS classes\n`isHierarchical` | Boolean | `null` | Whether the list of items is hierarchical or not. If true, each list item is expected to have a parent property\n`isLoading` | Boolean | `null` | Whether the list of items is still loading\n`isSingle` | Boolean | `null` | Restrict selections to one item\n`list` | Array | `null` | A complete list of item objects, each with id, name properties. This is displayed as a clickable/keyboard-able list, and possibly filtered by the search term (searches name)\n`messages` | Object | `null` | Messages displayed or read to the user. Configure these to reflect your object type. See `defaultMessages` above for examples\n`onChange` | Function | `null` | (required) Callback fired when selected items change, whether added, cleared, or removed. Passed an array of item objects (as passed in via props.list)\n`onSearch` | Function | `null` | Callback fired when the search field is used\n`renderItem` | Function | `null` | Callback to render each item in the selection list, allows any custom object-type rendering\n`selected` | Array | `null` | (required) The list of currently selected items\n`search` | String | `null` | \n`setState` | Function | `null` | \n`debouncedSpeak` | Function | `null` | \n`instanceId` | Number | `null` | \n\n### `list` item structure:\n\n - `id`: Number\n - `name`: String\n\n### `messages` object structure:\n\n - `clear`: String - A more detailed label for the \"Clear all\" button, read to screen reader users.\n - `list`: String - Label for the list of selectable items, only read to screen reader users.\n - `noItems`: String - Message to display when the list is empty (implies nothing loaded from the server\nor parent component).\n - `noResults`: String - Message to display when no matching results are found. %s is the search term.\n - `search`: String - Label for the search input\n - `selected`: Function - Label for the selected items. This is actually a function, so that we can pass\nthrough the count of currently selected items.\n - `updated`: String - Label indicating that search results have changed, read to screen reader users.\n\n\nSearchListItem\n===\n\n## Usage\n\nUsed implicitly by `SearchListControl` when the `renderItem` prop is omitted.\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`className` | String | `null` | Additional CSS classes\n`countLabel` | ReactNode | `null` | Label to display if `showCount` is set to true. If undefined, it will use `item.count`\n`depth` | Number | `0` | Depth, non-zero if the list is hierarchical\n`item` | Object | `null` | Current item to display\n`isSelected` | Boolean | `null` | Whether this item is selected\n`isSingle` | Boolean | `null` | Whether this should only display a single item (controls radio vs checkbox icon)\n`onSelect` | Function | `null` | Callback for selecting the item\n`search` | String | `''` | Search string, used to highlight the substring in the item name\n`showCount` | Boolean | `false` | Toggles the \"count\" bubble on/off\n");
+
+/***/ }),
+
+/***/ 859:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("Search\n===\n\nA search box which autocompletes results while typing, allowing for the user to select an existing object\n(product, order, customer, etc). Currently only products are supported.\n\n## Usage\n\n```jsx\n setState( { selected: items } ) }\n/>\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`allowFreeTextSearch` | Boolean | `false` | Render additional options in the autocompleter to allow free text entering depending on the type\n`className` | String | `null` | Class name applied to parent div\n`onChange` | Function | `noop` | Function called when selected results change, passed result list\n`type` | One of: 'categories', 'countries', 'coupons', 'customers', 'downloadIps', 'emails', 'orders', 'products', 'taxes', 'usernames', 'variations' | `null` | (required) The object type to be used in searching\n`placeholder` | String | `null` | A placeholder for the search input\n`selected` | Array | `[]` | An array of objects describing selected values. If the label of the selected value is omitted, the Tag of that value will not be rendered inside the search box.\n`inlineTags` | Boolean | `false` | Render tags inside input, otherwise render below input\n`showClearButton` | Boolean | `false` | Render a 'Clear' button next to the input box to remove its contents\n`staticResults` | Boolean | `false` | Render results list positioned statically instead of absolutely\n`disabled` | Boolean | `false` | Whether the control is disabled or not\n\n### `selected` item structure:\n\n- `id`: One of type: number, string\n- `label`: String");
+
+/***/ }),
+
+/***/ 860:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("SectionHeader\n===\n\nA header component. The header can contain a title, actions via children, and an `EllipsisMenu` menu.\n\n## Usage\n\n```jsx\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`className` | String | `null` | Additional CSS classes\n`menu` | (custom validator) | `null` | An `EllipsisMenu`, with filters used to control the content visible in this card\n`title` | One of type: string, node | `null` | (required) The title to use for this card\n");
+
+/***/ }),
+
+/***/ 861:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("H\n===\n\nThese components are used to frame out the page content for accessible heading hierarchy. Instead of defining fixed heading levels\n(`h2`, `h3`, …) you can use ` ` to create \"section headings\", which look to the parent ``s for the appropriate\nheading level.\n\n## Usage\n\n```jsx\n\n\t
Header using a contextual level (h3) \n\t
\n\t\tThis is an article component wrapper.
\n\t\tAnother header with contextual level (h4) \n\t\t\n\t\t\tThere is no wrapper component here.
\n\t\t\tThis is an h5 \n\t\t \n\t \n
\n```\n\nSection\n===\n\nThe section wrapper, used to indicate a sub-section (and change the header level context).\n\n## Usage\n\nSee above\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`component` | One of type: func, string, bool | `null` | The wrapper component for this section. Optional, defaults to `div`. If passed false, no wrapper is used. Additional props passed to Section are passed on to the component\n`children` | ReactNode | `null` | The children inside this section, rendered in the `component`. This increases the context level for the next heading used\n");
+
+/***/ }),
+
+/***/ 862:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("SegmentedSelection\n===\n\nCreate a panel of styled selectable options rendering stylized checkboxes and labels\n\n## Usage\n\n```jsx\n setState( { selected: data[ name ] } ) }\n\tname={ name }\n/>\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`className` | String | `null` | Additional CSS classes\n`options` | Array | `null` | (required) An Array of options to render. The array needs to be composed of objects with properties `label` and `value`\n`selected` | String | `null` | Value of selected item\n`onSelect` | Function | `null` | (required) Callback to be executed after selection\n`name` | String | `null` | (required) This will be the key in the key and value arguments supplied to `onSelect`\n`legend` | String | `null` | (required) Create a legend visible to screen readers\n\n### `options` structure\n\nThe `options` array needs to be composed of objects with properties:\n\n- `value`: String - Input value for this option.\n- `label`: String - Label for this option.");
+
+/***/ }),
+
+/***/ 863:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("# SelectControl\n\nA search box which filters options while typing,\nallowing a user to select from an option from a filtered list.\n\n## Usage\n\n```jsx\nconst options = [\n\t{\n\t\tkey: 'apple',\n\t\tlabel: 'Apple',\n\t\tvalue: { id: 'apple' },\n\t},\n\t{\n\t\tkey: 'apricot',\n\t\tlabel: 'Apricot',\n\t\tvalue: { id: 'apricot' },\n\t},\n];\n\n setState( { singleSelected: selected } ) }\n\toptions={ options }\n\tplaceholder=\"Start typing to filter options...\"\n\tselected={ singleSelected }\n/>;\n```\n\n### Props\n\n| Name | Type | Default | Description |\n| ------------------------ | ------------ | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `className` | string | `null` | Class name applied to parent div |\n| `excludeSelectedOptions` | boolean | `true` | Exclude already selected options from the options list |\n| `onFilter` | function | `identity` | Add or remove items to the list of options after filtering, passed the array of filtered options and should return an array of options. |\n| `getSearchExpression` | function | `identity` | Function to add regex expression to the filter the results, passed the search query |\n| `help` | string\\|node | `null` | Help text to be appended beneath the input |\n| `inlineTags` | boolean | `false` | Render tags inside input, otherwise render below input |\n| `label` | string | `null` | A label to use for the main input |\n| `onChange` | function | `noop` | Function called when selected results change, passed result list |\n| `onSearch` | function | `noop` | Function to run after the search query is updated, passed the search query |\n| `options` | array | `null` | (required) An array of objects for the options list. The option along with its key, label and value will be returned in the onChange event |\n| `placeholder` | string | `null` | A placeholder for the search input |\n| `selected` | array | `[]` | An array of objects describing selected values. If the label of the selected value is omitted, the Tag of that value will not be rendered inside the search box |\n| `maxResults` | number | `0` | A limit for the number of results shown in the options menu. Set to 0 for no limit |\n| `multiple` | boolean | `false` | Allow multiple option selections |\n| `showClearButton` | boolean | `false` | Render a 'Clear' button next to the input box to remove its contents |\n| `hideBeforeSearch` | boolean | `false` | Only show list options after typing a search query |\n| `staticList` | boolean | `false` | Render results list positioned statically instead of absolutely |\n");
+
+/***/ }),
+
+/***/ 864:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("Spinner\n===\n\nSpinner - An indeterminate circular progress indicator.\n\n## Usage\n\n```jsx\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`className` | String | `null` | Additional class name to style the component\n");
+
+/***/ }),
+
+/***/ 865:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("SplitButton\n===\n\nA component for displaying a button with a main action plus a secondary set of actions behind a menu toggle.\n\n## Usage\n\n```jsx\n alert( 'Primary Main Action clicked' ) }\n\tcontrols={ [\n\t\t{\n\t\t\tlabel: 'Up',\n\t\t\tonClick: () => alert( 'Primary Up clicked' ),\n\t\t},\n\t\t{\n\t\t\tlabel: 'Down',\n\t\t\ticon: ,\n\t\t\tonClick: () => alert( 'Primary Down clicked' ),\n\t\t},\n\t] }\n/>\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`isPrimary` | Boolean | `false` | Whether the button is styled as a primary button\n`mainIcon` | ReactNode | `null` | Icon for the main button\n`mainLabel` | String | `null` | Label for the main button\n`onClick` | Function | `noop` | Function to activate when the the main button is clicked\n`menuLabel` | String | `null` | Label to display for the menu of actions, used as a heading on the mobile popover and for accessible text\n`controls` | Array | `null` | (required) An array of additional actions. Accepts additional icon, label, and onClick props\n`className` | String | `null` | Additional CSS classes\n\n### `controls` structure\n\nArray of additional actions with properties:\n\n- `icon`: One of type: string, element\n- `label`: String - Label displayed for this button.\n- `onClick`: Function - Click handler for this button.");
+
+/***/ }),
+
+/***/ 866:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("Stepper\n===\n\nA stepper component to indicate progress in a set number of steps.\n\n## Usage\n\n```jsx\nconst steps = [\n\t{\n\t\tkey: 'first',\n\t\tlabel: 'First',\n\t\tdescription: 'Step item description',\n\t\tcontent: First step content.
,\n\t},\n\t{\n\t\tkey: 'second',\n\t\tlabel: 'Second',\n\t\tdescription: 'Step item description',\n\t\tcontent: Second step content.
,\n\t},\n];\n\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`className` | String | `null` | Additional class name to style the component\n`currentStep` | String | `null` | (required) The current step's key\n`steps` | Array | `null` | (required) An array of steps used\n`isVertical` | Boolean | `false` | If the stepper is vertical instead of horizontal\n`isPending` | Boolean | `false` | Optionally mark the current step as pending to show a spinner\n\n### `steps` structure\n\nArray of step objects with properties:\n\n- `key:` String - Key used to identify step.\n- `label`: String - Label displayed in stepper.\n- `description`: String - Description displayed beneath the label.\n- `isComplete`: Boolean - Optionally mark a step complete regardless of step index.\n- `content`: ReactNode - Content displayed when the step is active.");
+
+/***/ }),
+
+/***/ 867:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("SummaryList\n===\n\nA container element for a list of SummaryNumbers. This component handles detecting & switching to the mobile format on smaller screens.\n\n## Usage\n\n```jsx\n\n\t{ () => {\n\t\treturn [\n\t\t\t ,\n\t\t\t ,\n\t\t];\n\t} }\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`children` | Function | `null` | (required) A function returning a list of ` `s\n`label` | String | `__( 'Performance Indicators', 'woocommerce-admin' )` | An optional label of this group, read to screen reader users\n\n\nSummaryNumber\n===\n\nA component to show a value, label, and an optional change percentage. Can also act as a link to a specific report focus.\n\n## Usage\n\nSee above\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`delta` | Number | `null` | A number to represent the percentage change since the last comparison period - positive numbers will show a green up arrow, negative numbers will show a red down arrow, and zero will show a flat right arrow. If omitted, no change value will display\n`href` | String | `''` | An internal link to the report focused on this number\n`isOpen` | Boolean | `false` | Boolean describing whether the menu list is open. Only applies in mobile view, and only applies to the toggle-able item (first in the list)\n`label` | String | `null` | (required) A string description of this value, ex \"Revenue\", or \"New Customers\"\n`onToggle` | Function | `null` | A function used to switch the given SummaryNumber to a button, and called on click\n`prevLabel` | String | `__( 'Previous Period:', 'woocommerce-admin' )` | A string description of the previous value's timeframe, ex \"Previous Year:\"\n`prevValue` | One of type: number, string | `null` | A string or number value to display - a string is allowed so we can accept currency formatting. If omitted, this section won't display\n`reverseTrend` | Boolean | `false` | A boolean used to indicate that a negative delta is \"good\", and should be styled like a positive (and vice-versa)\n`selected` | Boolean | `false` | A boolean used to show a highlight style on this number\n`value` | One of type: number, string | `null` | A string or number value to display - a string is allowed so we can accept currency formatting\n`onLinkClickCallback` | Function | `noop` | A function to be called after a SummaryNumber, rendered as a link, is clicked\n\n\nSummaryListPlaceholder\n===\n\n`SummaryListPlaceholder` behaves like `SummaryList` but displays placeholder summary items instead of data. This can be used while loading data.\n\n## Usage\n\n```jsx\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`numberOfItems` | Number | `null` | (required) An integer with the number of summary items to display\n`numberOfRows` | | `5` | \n");
+
+/***/ }),
+
+/***/ 868:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("TableCard\n===\n\nThis is an accessible, sortable, and scrollable table for displaying tabular data (like revenue and other analytics data).\nIt accepts `headers` for column headers, and `rows` for the table content.\n`rowHeader` can be used to define the index of the row header (or false if no header).\n\n`TableCard` serves as Card wrapper & contains a card header, ``, ` `, and ` `.\nThis includes filtering and comparison functionality for report pages.\n\n## Usage\n\n```jsx\nconst headers = [\n\t{ key: 'month', label: 'Month' },\n\t{ key: 'orders', label: 'Orders' },\n\t{ key: 'revenue', label: 'Revenue' },\n];\nconst rows = [\n\t[\n\t\t{ display: 'January', value: 1 },\n\t\t{ display: 10, value: 10 },\n\t\t{ display: '$530.00', value: 530 },\n\t],\n\t[\n\t\t{ display: 'February', value: 2 },\n\t\t{ display: 13, value: 13 },\n\t\t{ display: '$675.00', value: 675 },\n\t],\n\t[\n\t\t{ display: 'March', value: 3 },\n\t\t{ display: 9, value: 9 },\n\t\t{ display: '$460.00', value: 460 },\n\t],\n];\nconst summary = [\n\t{ label: 'Gross Income', value: '$830.00' },\n\t{ label: 'Taxes', value: '$96.32' },\n\t{ label: 'Shipping', value: '$50.00' },\n];\n\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`compareBy` | String | `null` | The string to use as a query parameter when comparing row items\n`compareParam` | String | `'filter'` | Url query parameter compare function operates on\n`headers` | Array | `null` | An array of column headers (see `Table` props)\n`labels` | Object | `null` | Custom labels for table header actions\n`ids` | Array | `null` | A list of IDs, matching to the row list so that ids[ 0 ] contains the object ID for the object displayed in row[ 0 ]\n`isLoading` | Boolean | `false` | Defines if the table contents are loading. It will display `TablePlaceholder` component instead of `Table` if that's the case\n`onQueryChange` | Function | `noop` | A function which returns a callback function to update the query string for a given `param`\n`onColumnsChange` | Function | `noop` | A function which returns a callback function which is called upon the user changing the visiblity of columns\n`onSearch` | Function | `noop` | A function which is called upon the user searching in the table header\n`onSort` | Function | `undefined` | A function which is called upon the user changing the sorting of the table\n`downloadable` | Boolean | `false` | Whether the table must be downloadable. If true, the download button will appear\n`onClickDownload` | Function | `null` | A callback function called when the \"download\" button is pressed. Optional, if used, the download button will appear\n`query` | Object | `{}` | An object of the query parameters passed to the page, ex `{ page: 2, per_page: 5 }`\n`rowHeader` | One of type: number, bool | `0` | An array of arrays of display/value object pairs (see `Table` props)\n`rows` | Array | `[]` | Which column should be the row header, defaults to the first item (`0`) (see `Table` props)\n`rowsPerPage` | Number | `null` | (required) The total number of rows to display per page\n`searchBy` | String | `null` | The string to use as a query parameter when searching row items\n`showMenu` | Boolean | `true` | Boolean to determine whether or not ellipsis menu is shown\n`summary` | Array | `null` | An array of objects with `label` & `value` properties, which display in a line under the table. Optional, can be left off to show no summary\n`title` | String | `null` | (required) The title used in the card header, also used as the caption for the content in this table\n`totalRows` | Number | `null` | (required) The total number of rows (across all pages)\n`baseSearchQuery` | Object | `{}` | Pass in query parameters to be included in the path when onSearch creates a new url\n\n### `labels` structure\n\nTable header action labels object with properties:\n\n- `compareButton`: String - Compare button label\n- `downloadButton`: String - Download button label\n- `helpText`: String - \n- `placeholder`: String - \n\n### `summary` structure\n\nArray of summary items objects with properties:\n\n- `label`: ReactNode\n- `value`: One of type: string, number \n\n\nEmptyTable\n===\n\n`EmptyTable` displays a blank space with an optional message passed as a children node\nwith the purpose of replacing a table with no rows.\nIt mimics the same height a table would have according to the `numberOfRows` prop.\n\n## Usage\n\n```jsx\n\n\tThere are no entries.\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`numberOfRows` | Number | `5` | An integer with the number of rows the box should occupy\n\n\nTablePlaceholder\n===\n\n`TablePlaceholder` behaves like `Table` but displays placeholder boxes instead of data. This can be used while loading.\n\n## Usage\n\n```jsx\nconst headers = [\n\t{ key: 'month', label: 'Month' },\n\t{ key: 'orders', label: 'Orders' },\n\t{ key: 'revenue', label: 'Revenue' },\n];\n\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`query` | Object | `null` | An object of the query parameters passed to the page, ex `{ page: 2, per_page: 5 }`\n`caption` | String | `null` | (required) A label for the content in this table\n`headers` | Array | `null` | An array of column headers (see `Table` props)\n`numberOfRows` | Number | `5` | An integer with the number of rows to display\n\n\nTableSummary\n===\n\nA component to display summarized table data - the list of data passed in on a single line.\n\n## Usage\n\n```jsx\nconst summary = [\n\t{ label: 'Gross Income', value: '$830.00' },\n\t{ label: 'Taxes', value: '$96.32' },\n\t{ label: 'Shipping', value: '$50.00' },\n];\n\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`data` | Array | `null` | An array of objects with `label` & `value` properties, which display on a single line\n\n\nTable\n===\n\nA table component, without the Card wrapper. This is a basic table display, sortable, but no default filtering.\n\nRow data should be passed to the component as a list of arrays, where each array is a row in the table.\nHeaders are passed in separately as an array of objects with column-related properties. For example,\nthis data would render the following table.\n\n```js\nconst headers = [ { label: 'Month' }, { label: 'Orders' }, { label: 'Revenue' } ];\nconst rows = [\n\t[\n\t\t{ display: 'January', value: 1 },\n\t\t{ display: 10, value: 10 },\n\t\t{ display: '$530.00', value: 530 },\n\t],\n\t[\n\t\t{ display: 'February', value: 2 },\n\t\t{ display: 13, value: 13 },\n\t\t{ display: '$675.00', value: 675 },\n\t],\n\t[\n\t\t{ display: 'March', value: 3 },\n\t\t{ display: 9, value: 9 },\n\t\t{ display: '$460.00', value: 460 },\n\t],\n]\n```\n\n| Month | Orders | Revenue |\n| ---------|--------|---------|\n| January | 10 | $530.00 |\n| February | 13 | $675.00 |\n| March | 9 | $460.00 |\n\n## Usage\n\n```jsx\n\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`ariaHidden` | Boolean | `false` | Controls whether this component is hidden from screen readers. Used by the loading state, before there is data to read. Don't use this on real tables unless the table data is loaded elsewhere on the page\n`caption` | String | `null` | (required) A label for the content in this table\n`className` | String | `null` | Additional CSS classes\n`headers` | Array | `[]` | An array of column headers, as objects\n`onSort` | Function | `noop` | A function called when sortable table headers are clicked, gets the `header.key` as argument\n`query` | Object | `{}` | The query string represented in object form\n`rows` | Array | `null` | (required) An array of arrays of display/value object pairs\n`rowHeader` | One of type: number, bool | `0` | Which column should be the row header, defaults to the first item (`0`) (but could be set to `1`, if the first col is checkboxes, for example). Set to false to disable row headers\n\n### `headers` structure\n\nArray of column header objects with properties:\n\n- `defaultSort`: Boolean - Boolean, true if this column is the default for sorting. Only one column should have this set.\n- `defaultOrder`: String - String, asc|desc if this column is the default for sorting. Only one column should have this set.\n- `isLeftAligned`: Boolean - Boolean, true if this column should be aligned to the left.\n- `isNumeric`: Boolean - Boolean, true if this column is a number value.\n- `isSortable`: Boolean - Boolean, true if this column is sortable.\n- `key`: String - The API parameter name for this column, passed to `orderby` when sorting via API.\n- `label`: ReactNode - The display label for this column.\n- `required`: Boolean - Boolean, true if this column should always display in the table (not shown in toggle-able list).\n- `screenReaderLabel`: String - The label used for screen readers for this column. \n\n### `rows` structure\n\nArray of arrays representing rows and columns. Column object properties:\n\n- `display`: ReactNode - Display value, used for rendering - strings or elements are best here.\n- `value`: One of type: string, number, bool");
+
+/***/ }),
+
+/***/ 869:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("Tag\n===\n\nThis component can be used to show an item styled as a \"tag\", optionally with an `X` + \"remove\"\nor with a popover that is shown on click.\n\n\n\n## Usage\n\n```jsx\n \n \nThis is a popover
) } />\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`id` | One of type: number, string | `null` | The ID for this item, used in the remove function\n`label` | String | `null` | (required) The name for this item, displayed as the tag's text\n`popoverContents` | ReactNode | `null` | Contents to display on click in a popover\n`remove` | Function | `null` | A function called when the remove X is clicked. If not used, no X icon will display\n`screenReaderLabel` | String | `null` | A more descriptive label for screen reader users. Defaults to the `name` prop\n");
+
+/***/ }),
+
+/***/ 870:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("TextControlWithAffixes\n===\n\nThis component is essentially a wrapper (really a reimplementation) around the\nTextControl component that adds support for affixes, i.e. the ability to display\na fixed part either at the beginning or at the end of the text input.\n\n## Usage\n\n```jsx\n setState( { fourth: value } ) }\n/>\n setState( { fifth: value } ) }\n help=\"This is some help text.\"\n/>\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`label` | String | `null` | If this property is added, a label will be generated using label property as the content\n`help` | String | `null` | If this property is added, a help text will be generated using help property as the content\n`type` | String | `'text'` | Type of the input element to render. Defaults to \"text\"\n`value` | String | `null` | (required) The current value of the input\n`className` | String | `null` | The class that will be added with \"components-base-control\" to the classes of the wrapper div. If no className is passed only components-base-control is used\n`onChange` | Function | `null` | (required) A function that receives the value of the input\n`prefix` | ReactNode | `null` | Markup to be inserted at the beginning of the input\n`suffix` | ReactNode | `null` | Markup to be appended at the end of the input\n`disabled` | Boolean | `null` | Disables the field\n");
+
+/***/ }),
+
+/***/ 871:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("TextControl\n===\n\nAn input field use for text inputs in forms.\n\n## Usage\n\n```jsx\n setState( { value } ) }\n/>;\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`className` | String | ``null`` | Additional CSS classes\n`disabled` | Boolean | ``null`` | Disables the field\n`label` | String | ``null`` | Input label used as a placeholder\n`onClick` | Function | ``null`` | On click handler called when the component is clicked, passed the click event\n`value` | String | ``null`` | The value of the input field\n");
+
+/***/ }),
+
+/***/ 872:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("ViewMoreList\n===\n\nThis component displays a 'X more' button that displays a list of items on a popover when clicked.\n\n\n\n## Usage\n\n```jsx\nLorem, Ipsum , Dolor , Sit ] }\n/>\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`items` | Array | `[]` | `ReactNodes` to list in the popover\n");
+
+/***/ }),
+
+/***/ 873:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony default export */ __webpack_exports__["default"] = ("WebPreview\n===\n\nWebPreview component to display an iframe of another page.\n\n## Usage\n\n```jsx\n\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`className` | String | `null` | Additional class name to style the component\n`loadingContent` | ReactNode | ` ` | Content shown when iframe is still loading\n`onLoad` | Function | `noop` | Function to fire when iframe content is loaded\n`src` | String | `null` | (required) Iframe src to load\n`title` | String | `null` | (required) Iframe title\n");
+
+/***/ }),
+
+/***/ 874:
+/***/ (function(module) {
+
+module.exports = JSON.parse("[{\"component\":\"AdvancedFilters\"},{\"component\":\"AnimationSlider\"},{\"component\":\"Calendar\"},{\"component\":\"Card\"},{\"component\":\"Chart\"},{\"component\":\"CompareFilter\"},{\"component\":\"Count\"},{\"component\":\"Date\"},{\"component\":\"DateRangeFilterPicker\"},{\"component\":\"DropdownButton\"},{\"component\":\"EllipsisMenu\"},{\"component\":\"EmptyContent\"},{\"component\":\"FilterPicker\"},{\"component\":\"Flag\"},{\"component\":\"Form\"},{\"component\":\"Gravatar\"},{\"component\":\"ImageAsset\"},{\"component\":\"ImageUpload\"},{\"component\":\"Link\"},{\"component\":\"List\"},{\"component\":\"OrderStatus\"},{\"component\":\"Pagination\"},{\"component\":\"ProductImage\"},{\"component\":\"Rating\"},{\"component\":\"ScrollTo\"},{\"component\":\"Search\"},{\"component\":\"SearchListControl\"},{\"component\":\"Section\"},{\"component\":\"SegmentedSelection\"},{\"component\":\"SelectControl\"},{\"component\":\"Spinner\"},{\"component\":\"SplitButton\"},{\"component\":\"Stepper\"},{\"component\":\"Summary\"},{\"component\":\"Table\"},{\"component\":\"Tag\"},{\"component\":\"TextControl\"},{\"component\":\"TextControlWithAffixes\"},{\"component\":\"ViewMoreList\"},{\"component\":\"WebPreview\"}]");
+
+/***/ }),
+
+/***/ 875:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ }),
+
+/***/ 907:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+// ESM COMPAT FLAG
+__webpack_require__.r(__webpack_exports__);
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, "default", function() { return /* binding */ devdocs_default; });
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js
+var classCallCheck = __webpack_require__(41);
+var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js
+var createClass = __webpack_require__(40);
+var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(44);
+var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(29);
+var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js
+var inherits = __webpack_require__(42);
+var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: ./node_modules/classnames/index.js
+var classnames = __webpack_require__(10);
+var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
+
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__(2);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js
+var asyncToGenerator = __webpack_require__(46);
+var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
+
+// EXTERNAL MODULE: external "React"
+var external_React_ = __webpack_require__(14);
+var external_React_default = /*#__PURE__*/__webpack_require__.n(external_React_);
+
+// CONCATENATED MODULE: ./client/devdocs/example.js
+
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+var example_Example = /*#__PURE__*/function (_Component) {
+ inherits_default()(Example, _Component);
+
+ var _super = _createSuper(Example);
+
+ function Example() {
+ var _temp, _this;
+
+ classCallCheck_default()(this, Example);
+
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
+ args[_key] = arguments[_key];
+ }
+
+ return possibleConstructorReturn_default()(_this, (_temp = _this = _super.call.apply(_super, [this].concat(args)), _this.state = {
+ example: null
+ }, _temp));
+ }
+
+ createClass_default()(Example, [{
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ this.getExample();
+ }
+ }, {
+ key: "getExample",
+ value: function () {
+ var _getExample = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
+ var exampleComponent;
+ return regeneratorRuntime.wrap(function _callee$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ try {
+ exampleComponent = __webpack_require__(782)("./".concat(this.props.filePath, "/docs/example"));
+ } catch (e) {
+ // eslint-disable-next-line no-console
+ console.error(e);
+ }
+
+ if (exampleComponent) {
+ _context.next = 3;
+ break;
+ }
+
+ return _context.abrupt("return");
+
+ case 3:
+ this.setState({
+ example: external_React_default.a.createElement(exampleComponent.default || exampleComponent)
+ });
+
+ case 4:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, _callee, this);
+ }));
+
+ function getExample() {
+ return _getExample.apply(this, arguments);
+ }
+
+ return getExample;
+ }()
+ }, {
+ key: "render",
+ value: function render() {
+ var example = this.state.example;
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-devdocs__example"
+ }, example);
+ }
+ }]);
+
+ return Example;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var devdocs_example = (example_Example);
+// EXTERNAL MODULE: ./node_modules/marked/src/marked.js
+var marked = __webpack_require__(824);
+var marked_default = /*#__PURE__*/__webpack_require__.n(marked);
+
+// EXTERNAL MODULE: ./node_modules/prismjs/prism.js
+var prism = __webpack_require__(827);
+var prism_default = /*#__PURE__*/__webpack_require__.n(prism);
+
+// EXTERNAL MODULE: ./node_modules/prismjs/components/prism-jsx.js
+var prism_jsx = __webpack_require__(828);
+
+// CONCATENATED MODULE: ./client/devdocs/docs.js
+
+
+
+
+
+
+
+function docs_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (docs_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function docs_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+ // Alias `javascript` language to `es6`
+
+prism_default.a.languages.es6 = prism_default.a.languages.javascript; // Configure marked to use Prism for code-block highlighting.
+
+marked_default.a.setOptions({
+ highlight: function highlight(code, language) {
+ var syntax = prism_default.a.languages[language];
+ return syntax ? prism_default.a.highlight(code, syntax) : code;
+ }
+});
+
+var docs_Docs = /*#__PURE__*/function (_Component) {
+ inherits_default()(Docs, _Component);
+
+ var _super = docs_createSuper(Docs);
+
+ function Docs() {
+ var _temp, _this;
+
+ classCallCheck_default()(this, Docs);
+
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
+ args[_key] = arguments[_key];
+ }
+
+ return possibleConstructorReturn_default()(_this, (_temp = _this = _super.call.apply(_super, [this].concat(args)), _this.state = {
+ readme: null
+ }, _temp));
+ }
+
+ createClass_default()(Docs, [{
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ this.getReadme();
+ }
+ }, {
+ key: "getReadme",
+ value: function getReadme() {
+ var filePath = this.props.filePath;
+
+ var readme = __webpack_require__(829)("./".concat(filePath, "/README.md")).default;
+
+ if (!readme) {
+ return;
+ }
+
+ this.setState({
+ readme: readme
+ });
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var readme = this.state.readme;
+
+ if (!readme) {
+ return null;
+ }
+
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-devdocs__docs" //eslint-disable-next-line react/no-danger
+ ,
+ dangerouslySetInnerHTML: {
+ __html: marked_default()(readme)
+ }
+ });
+ }
+ }]);
+
+ return Docs;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var docs = (docs_Docs);
+// EXTERNAL MODULE: external {"this":["wc","components"]}
+var external_this_wc_components_ = __webpack_require__(63);
+
+// EXTERNAL MODULE: ./client/devdocs/examples.json
+var examples = __webpack_require__(874);
+
+// EXTERNAL MODULE: ./client/devdocs/style.scss
+var style = __webpack_require__(875);
+
+// CONCATENATED MODULE: ./client/devdocs/index.js
+
+
+
+
+
+
+
+function devdocs_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (devdocs_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function devdocs_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+var camelCaseToSlug = function camelCaseToSlug(name) {
+ return name.replace(/\.?([A-Z])/g, function (x, y) {
+ return '-' + y.toLowerCase();
+ }).replace(/^-/, '');
+};
+
+var devdocs_getExampleData = function getExampleData(example) {
+ var componentName = Object(external_lodash_["get"])(example, 'component');
+ var filePath = Object(external_lodash_["get"])(example, 'filePath', camelCaseToSlug(componentName));
+ return {
+ componentName: componentName,
+ filePath: filePath
+ };
+};
+
+var devdocs_default = /*#__PURE__*/function (_Component) {
+ inherits_default()(_default, _Component);
+
+ var _super = devdocs_createSuper(_default);
+
+ function _default() {
+ classCallCheck_default()(this, _default);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(_default, [{
+ key: "render",
+ value: function render() {
+ var component = this.props.query.component;
+ var className = classnames_default()('woocommerce_devdocs', {
+ 'is-single': component,
+ 'is-list': !component
+ });
+ var exampleList = examples;
+
+ if (component) {
+ var example = Object(external_lodash_["find"])(examples, function (ex) {
+ return component === camelCaseToSlug(ex.component);
+ });
+ exampleList = [example];
+ }
+
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: className
+ }, exampleList.map(function (example) {
+ var _getExampleData = devdocs_getExampleData(example),
+ componentName = _getExampleData.componentName,
+ filePath = _getExampleData.filePath;
+
+ var cardClasses = classnames_default()('woocommerce-devdocs__card', "woocommerce-devdocs__card--".concat(filePath), 'woocommerce-analytics__card');
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], {
+ key: componentName
+ }, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Card"], {
+ key: "".concat(componentName, "-example"),
+ className: cardClasses,
+ title: component ? componentName : Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: "admin.php?page=wc-admin&path=/devdocs&component=".concat(filePath),
+ type: "wc-admin"
+ }, componentName),
+ action: component ? Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: '?page=wc-admin&path=/devdocs',
+ type: "wc-admin"
+ }, "Full list") : null
+ }, Object(external_this_wp_element_["createElement"])(devdocs_example, {
+ asyncName: componentName,
+ component: componentName,
+ filePath: filePath
+ })), component && Object(external_this_wp_element_["createElement"])(docs, {
+ key: "".concat(componentName, "-readme"),
+ componentName: componentName,
+ filePath: filePath
+ }));
+ }));
+ }
+ }]);
+
+ return _default;
+}(external_this_wp_element_["Component"]);
+
+
+
+/***/ })
+
+}]);
\ No newline at end of file
diff --git a/dist/chunks/devdocs.6fe086c6992ba41e679a.min.js b/dist/chunks/devdocs.6fe086c6992ba41e679a.min.js
new file mode 100644
index 00000000000..b6f5dda9a5a
--- /dev/null
+++ b/dist/chunks/devdocs.6fe086c6992ba41e679a.min.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{782:function(e,t,n){var a={"./advanced-filters/docs/example":783,"./animation-slider/docs/example":784,"./calendar/docs/example":785,"./card/docs/example":786,"./chart/docs/example":787,"./compare-filter/docs/example":788,"./count/docs/example":789,"./date-range-filter-picker/docs/example":790,"./date/docs/example":791,"./dropdown-button/docs/example":792,"./ellipsis-menu/docs/example":793,"./empty-content/docs/example":794,"./filter-picker/docs/example":795,"./filters/docs/example":796,"./flag/docs/example":797,"./form/docs/example":798,"./gravatar/docs/example":799,"./image-upload/docs/example":800,"./link/docs/example":801,"./list/docs/example":802,"./order-status/docs/example":803,"./pagination/docs/example":804,"./product-image/docs/example":805,"./rating/docs/example":806,"./scroll-to/docs/example":807,"./search-list-control/docs/example":808,"./search/docs/example":809,"./section-header/docs/example":810,"./section/docs/example":811,"./segmented-selection/docs/example":812,"./select-control/docs/example":813,"./spinner/docs/example":814,"./split-button/docs/example":815,"./stepper/docs/example":816,"./summary/docs/example":817,"./table/docs/example":818,"./tag/docs/example":819,"./text-control-with-affixes/docs/example":820,"./text-control/docs/example":821,"./view-more-list/docs/example":822,"./web-preview/docs/example":823};function r(e){var t=o(e);return n(t)}function o(e){if(!n.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}r.keys=function(){return Object.keys(a)},r.resolve=o,e.exports=r,r.id=782},783:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(63),o=n(137),l={cancelled:"Cancelled",completed:"Completed",failed:"Failed","on-hold":"On hold",pending:"Pending payment",processing:"Processing",refunded:"Refunded"},i=new(n.n(o).a),s=new URL(document.location).searchParams.get("path")||"/devdocs",c={component:"advanced-filters"},u={title:"Orders Match {{select /}} Filters",filters:{status:{labels:{add:"Order Status",remove:"Remove order status filter",rule:"Select an order status filter match",title:"{{title}}Order Status{{/title}} {{rule /}} {{filter /}}",filter:"Select an order status"},rules:[{value:"is",label:"Is"},{value:"is_not",label:"Is Not"}],input:{component:"SelectControl",options:Object.keys(l).map((function(e){return{value:e,label:l[e]}}))}},product:{labels:{add:"Products",placeholder:"Search products",remove:"Remove products filter",rule:"Select a product filter match",title:"{{title}}Product{{/title}} {{rule /}} {{filter /}}",filter:"Select products"},rules:[{value:"includes",label:"Includes"},{value:"excludes",label:"Excludes"}],input:{component:"Search",type:"products",getLabels:function(){return Promise.resolve([])}}},customer:{labels:{add:"Customer Type",remove:"Remove customer filter",rule:"Select a customer filter match",title:"{{title}}Customer is{{/title}} {{filter /}}",filter:"Select a customer type"},input:{component:"SelectControl",options:[{value:"new",label:"New"},{value:"returning",label:"Returning"}],defaultOption:"new"}},quantity:{labels:{add:"Item Quantity",remove:"Remove item quantity filter",rule:"Select an item quantity filter match",title:"{{title}}Item Quantity is{{/title}} {{rule /}} {{filter /}}"},rules:[{value:"lessthan",label:"Less Than"},{value:"morethan",label:"More Than"},{value:"between",label:"Between"}],input:{component:"Number"}},subtotal:{labels:{add:"Subtotal",remove:"Remove subtotal filter",rule:"Select a subtotal filter match",title:"{{title}}Subtotal is{{/title}} {{rule /}} {{filter /}}"},rules:[{value:"lessthan",label:"Less Than"},{value:"morethan",label:"More Than"},{value:"between",label:"Between"}],input:{component:"Number",type:"currency"}}}};t.default=function(){return Object(a.createElement)(r.AdvancedFilters,{siteLocale:"en_US",path:s,query:c,filterTitle:"Orders",config:u,currency:i})}},784:function(e,t,n){"use strict";n.r(t),n.d(t,"default",(function(){return y}));var a=n(41),r=n.n(a),o=n(40),l=n.n(o),i=n(59),s=n.n(i),c=n(44),u=n.n(c),d=n(29),p=n.n(d),m=n(42),h=n.n(m),f=n(0),b=n(63);function g(){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}}var y=function(e){h()(a,e);var t,n=(t=a,function(){var e,n=p()(t);if(g()){var a=p()(this).constructor;e=Reflect.construct(n,arguments,a)}else e=n.apply(this,arguments);return u()(this,e)});function a(){var e;return r()(this,a),(e=n.call(this)).state={pages:[44,55,66,77,88],page:0,animate:null},e.forward=e.forward.bind(s()(e)),e.back=e.back.bind(s()(e)),e}return l()(a,[{key:"forward",value:function(){this.setState((function(e){return{page:e.page+1,animate:"left"}}))}},{key:"back",value:function(){this.setState((function(e){return{page:e.page-1,animate:"right"}}))}},{key:"render",value:function(){var e=this.state,t=e.page,n=e.pages,a=e.animate,r={margin:"16px 0",padding:"8px 16px",color:"white",fontWeight:"bold",backgroundColor:"#246EB9"};return Object(f.createElement)("div",null,Object(f.createElement)(b.AnimationSlider,{animationKey:t,animate:a},(function(){return Object(f.createElement)("div",{style:r},n[t])})),Object(f.createElement)("button",{onClick:this.back,disabled:0===t},"Back"),Object(f.createElement)("button",{onClick:this.forward,disabled:t===n.length-1},"Forward"))}}]),a}(f.Component)},785:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(63),o=n(12),l=n.n(o),i=n(715);t.default=Object(i.a)({after:null,afterText:"",before:null,beforeText:"",afterError:null,beforeError:null,focusedInput:"startDate"})((function(e){var t=e.after,n=e.afterText,o=e.before,i=e.beforeText,s=e.afterError,c=e.focusedInput,u=e.setState;return Object(a.createElement)("div",null,Object(a.createElement)(r.H,null,"Date Range Picker"),Object(a.createElement)(r.Section,{component:!1},Object(a.createElement)(r.DateRange,{after:t,afterText:n,before:o,beforeText:i,onUpdate:function(e){u(e)},shortDateFormat:"MM/DD/YYYY",focusedInput:c,isInvalidDate:function(e){return l()().isBefore(l()(e),"date")}})),Object(a.createElement)(r.H,null,"Date Picker"),Object(a.createElement)(r.Section,{component:!1},Object(a.createElement)(r.DatePicker,{date:t,text:n,error:s,onUpdate:function(e){var t=e.date,n=e.text,a=e.error;u({after:t,afterText:n,afterError:a})},dateFormat:"MM/DD/YYYY",isInvalidDate:function(e){return 1===l()(e).day()}})))}))},786:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(63);t.default=function(){return Object(a.createElement)("div",null,Object(a.createElement)(r.Card,{title:"Store Performance",description:"Key performance metrics"},Object(a.createElement)("p",null,"Your stuff in a Card.")),Object(a.createElement)(r.Card,{title:"Inactive Card",isInactive:!0},Object(a.createElement)("p",null,"This Card is grayed out and has no box-shadow.")))}},787:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(63),o=[{date:"2018-05-30T00:00:00",Hoodie:{label:"Hoodie",value:21599},Sunglasses:{label:"Sunglasses",value:38537},Cap:{label:"Cap",value:106010}},{date:"2018-05-31T00:00:00",Hoodie:{label:"Hoodie",value:14205},Sunglasses:{label:"Sunglasses",value:24721},Cap:{label:"Cap",value:70131}},{date:"2018-06-01T00:00:00",Hoodie:{label:"Hoodie",value:10581},Sunglasses:{label:"Sunglasses",value:19991},Cap:{label:"Cap",value:53552}},{date:"2018-06-02T00:00:00",Hoodie:{label:"Hoodie",value:9250},Sunglasses:{label:"Sunglasses",value:16072},Cap:{label:"Cap",value:47821}}];t.default=function(){return Object(a.createElement)("div",null,Object(a.createElement)(r.Chart,{data:o,title:"Example Chart",layout:"item-comparison"}))}},788:function(e,t,n){"use strict";n.r(t);var a=n(105),r=n.n(a),o=n(0),l=n(63),i=new URL(document.location).searchParams.get("path")||"/devdocs",s={},c={type:"products",param:"product",getLabels:function(){return Promise.resolve([])},labels:{helpText:"Select at least two products to compare",placeholder:"Search for products to compare",title:"Compare Products",update:"Compare"}};t.default=function(){return Object(o.createElement)(l.CompareFilter,r()({path:i,query:s},c))}},789:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(63);t.default=function(){return Object(a.createElement)(r.Count,{count:33})}},790:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(63),o=n(23),l=n(2),i={},s=Object(l.partialRight)(o.getDateParamsFromQuery,"period=month&compare=previous_year"),c=Object(l.partialRight)(o.getCurrentDates,"period=month&compare=previous_year"),u=s(i),d=u.period,p=u.compare,m=u.before,h=u.after,f=c(i),b={period:d,compare:p,before:m,after:h,primaryDate:f.primary,secondaryDate:f.secondary};t.default=function(){return Object(a.createElement)(r.DateRangeFilterPicker,{key:"daterange",query:i,onRangeSelect:function(){},dateQuery:b,isoDateFormat:o.isoDateFormat})}},791:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(63);t.default=function(){return Object(a.createElement)(r.Date,{date:"2019-01-01"})}},792:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(63),o=n(711);t.default=function(){return Object(a.createElement)(o.a,{renderToggle:function(e){var t=e.isOpen,n=e.onToggle;return Object(a.createElement)(r.DropdownButton,{onClick:n,isOpen:t,labels:["All Products Sold"]})},renderContent:function(){return Object(a.createElement)("p",null,"Dropdown content here")}})}},793:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(63),o=n(715),l=n(109);t.default=Object(o.a)({showCustomers:!0,showOrders:!0})((function(e){var t=e.setState,n=e.showCustomers,o=e.showOrders;return Object(a.createElement)(r.EllipsisMenu,{label:"Choose which analytics to display",renderContent:function(e){var i=e.onToggle;return Object(a.createElement)(a.Fragment,null,Object(a.createElement)(r.MenuTitle,null,"Display Stats"),Object(a.createElement)(r.MenuItem,{isCheckbox:!0,isClickable:!0,checked:n,onInvoke:function(){return t({showCustomers:!n})}},"Show Customers"),Object(a.createElement)(r.MenuItem,{isCheckbox:!0,isClickable:!0,checked:o,onInvoke:function(){return t({showOrders:!o})}},"Show Orders"),Object(a.createElement)(r.MenuItem,{isClickable:!0,onInvoke:i},Object(a.createElement)(l.a,{icon:"no-alt"}),"Close Menu"))}})}))},794:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(63);t.default=function(){return Object(a.createElement)(r.EmptyContent,{title:"Nothing here",message:"Some descriptive text",actionLabel:"Reload page",actionURL:"#"})}},795:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(63),o=new URL(document.location).searchParams.get("path")||"/devdocs",l={meal:"breakfast"},i={label:"Meal",staticParams:[],param:"meal",showFilters:function(){return!0},filters:[{label:"Breakfast",value:"breakfast"},{label:"Lunch",value:"lunch",subFilters:[{label:"Meat",value:"meat",path:["lunch"]},{label:"Vegan",value:"vegan",path:["lunch"]},{label:"Pescatarian",value:"fish",path:["lunch"],subFilters:[{label:"Snapper",value:"snapper",path:["lunch","fish"]},{label:"Cod",value:"cod",path:["lunch","fish"]},{label:"Other",value:"other_fish",path:["lunch","fish"],component:"OtherFish"}]}]},{label:"Dinner",value:"dinner"}]};t.default=function(){return Object(a.createElement)(r.FilterPicker,{config:i,path:o,query:l})}},796:function(e,t,n){"use strict";n.r(t);var a=n(105),r=n.n(a),o=n(0),l=n(63),i=n(23),s=n(2),c={cancelled:"Cancelled",completed:"Completed",failed:"Failed","on-hold":"On hold",pending:"Pending payment",processing:"Processing",refunded:"Refunded"},u={getDateParamsFromQuery:Object(s.partialRight)(i.getDateParamsFromQuery,"period=month&compare=previous_year"),getCurrentDates:Object(s.partialRight)(i.getCurrentDates,"period=month&compare=previous_year"),isoDateFormat:i.isoDateFormat},d={},p=[{label:"Show",staticParams:["chart"],param:"filter",showFilters:function(){return!0},filters:[{label:"All Orders",value:"all"},{label:"Advanced Filters",value:"advanced"}]}],m={title:"Orders Match {{select /}} Filters",filters:{status:{labels:{add:"Order Status",remove:"Remove order status filter",rule:"Select an order status filter match",title:"Order Status {{rule /}} {{filter /}}",filter:"Select an order status"},rules:[{value:"is",label:"Is"},{value:"is_not",label:"Is Not"}],input:{component:"SelectControl",options:Object.keys(c).map((function(e){return{value:e,label:c[e]}}))}},product:{labels:{add:"Products",placeholder:"Search products",remove:"Remove products filter",rule:"Select a product filter match",title:"Product {{rule /}} {{filter /}}",filter:"Select products"},rules:[{value:"includes",label:"Includes"},{value:"excludes",label:"Excludes"}],input:{component:"Search",type:"products",getLabels:function(){return Promise.resolve([])}}},customer:{labels:{add:"Customer Type",remove:"Remove customer filter",rule:"Select a customer filter match",title:"Customer is {{filter /}}",filter:"Select a customer type"},input:{component:"SelectControl",options:[{value:"new",label:"New"},{value:"returning",label:"Returning"}],defaultOption:"new"}},quantity:{labels:{add:"Item Quantity",remove:"Remove item quantity filter",rule:"Select an item quantity filter match",title:"Item Quantity is {{rule /}} {{filter /}}"},rules:[{value:"lessthan",label:"Less Than"},{value:"morethan",label:"More Than"},{value:"between",label:"Between"}],input:{component:"Number"}},subtotal:{labels:{add:"Subtotal",remove:"Remove subtotal filter",rule:"Select a subtotal filter match",title:"Subtotal is {{rule /}} {{filter /}}"},rules:[{value:"lessthan",label:"Less Than"},{value:"morethan",label:"More Than"},{value:"between",label:"Between"}],input:{component:"Number",type:"currency"}}}},h={type:"products",param:"product",getLabels:function(){return Promise.resolve([])},labels:{helpText:"Select at least two products to compare",placeholder:"Search for products to compare",title:"Compare Products",update:"Compare"}};t.default=function(){return Object(o.createElement)("div",null,Object(o.createElement)(l.H,null,"Date picker only"),Object(o.createElement)(l.Section,{component:!1},Object(o.createElement)(l.ReportFilters,{path:"",query:d,storeDate:u})),Object(o.createElement)(l.H,null,"Date picker & more filters"),Object(o.createElement)(l.Section,{component:!1},Object(o.createElement)(l.ReportFilters,{filters:p,path:"",query:d,storeDate:u})),Object(o.createElement)(l.H,null,"Advanced Filters"),Object(o.createElement)(l.Section,{component:!1},Object(o.createElement)(l.AdvancedFilters,{siteLocale:"en_US",path:"",query:d,filterTitle:"Orders",config:m})),Object(o.createElement)(l.H,null,"Compare Filter"),Object(o.createElement)(l.Section,{component:!1},Object(o.createElement)(l.CompareFilter,r()({path:"",query:d},h))))}},797:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(63);t.default=function(){return Object(a.createElement)("div",null,Object(a.createElement)(r.H,null,"Default (inherits parent font size)"),Object(a.createElement)(r.Section,{component:!1},Object(a.createElement)(r.Flag,{code:"VU"})),Object(a.createElement)(r.H,null,"Large"),Object(a.createElement)(r.Section,{component:!1},Object(a.createElement)(r.Flag,{code:"VU",size:48})),Object(a.createElement)(r.H,null,"Invalid Country Code"),Object(a.createElement)(r.Section,{component:!1},Object(a.createElement)(r.Flag,{code:"invalid country code"})))}},798:function(e,t,n){"use strict";n.r(t);var a=n(105),r=n.n(a),o=n(0),l=n(63),i=n(712),s=n(709),c=n(760),u=n(900),d=n(88),p=function(e){var t={};return e.firstName||(t.firstName="First name is required"),e.lastName.length<3&&(t.lastName="Last name must be at least 3 characters"),t},m=function(e){return console.log(e)},h={firstName:"",lastName:"",select:"3",checkbox:!0,radio:"2"};t.default=function(){return Object(o.createElement)(l.Form,{validate:p,onSubmitCallback:m,initialValues:h},(function(e){var t=e.getInputProps,n=e.values,a=e.errors,l=e.handleSubmit;return Object(o.createElement)("div",null,Object(o.createElement)(i.a,r()({label:"First Name"},t("firstName"))),Object(o.createElement)(i.a,r()({label:"Last Name"},t("lastName"))),Object(o.createElement)(s.a,r()({label:"Select",options:[{label:"Option 1",value:"1"},{label:"Option 2",value:"2"},{label:"Option 3",value:"3"}]},t("select"))),Object(o.createElement)(c.a,r()({label:"Checkbox"},t("checkbox"))),Object(o.createElement)(u.a,r()({label:"Radio",options:[{label:"Option 1",value:"1"},{label:"Option 2",value:"2"},{label:"Option 3",value:"3"}]},t("radio"))),Object(o.createElement)(d.a,{isPrimary:!0,onClick:l,disabled:Object.keys(a).length},"Submit"),Object(o.createElement)("br",null),Object(o.createElement)("br",null),Object(o.createElement)("h3",null,"Return data:"),Object(o.createElement)("pre",null,"Values: ",JSON.stringify(n),Object(o.createElement)("br",null),"Errors: ",JSON.stringify(a)))}))}},799:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(63);t.default=function(){return Object(a.createElement)(r.Gravatar,{user:"email@example.org",size:48})}},800:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(63),o=n(715);t.default=Object(o.a)({image:null})((function(e){var t=e.setState,n=e.logo;return Object(a.createElement)(r.ImageUpload,{image:n,onChange:function(e){return t({logo:e})}})}))},801:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(63);t.default=function(){return Object(a.createElement)(r.Link,{href:"edit.php?post_type=shop_coupon",type:"wp-admin"},"Coupons")}},802:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(63),o=n(66),l=n.n(o),i=[{title:"List item title",content:"List item description text"},{before:Object(a.createElement)(l.a,{icon:"star"}),title:"List item with before icon",content:"List item description text"},{before:Object(a.createElement)(l.a,{icon:"star"}),after:Object(a.createElement)(l.a,{icon:"chevron-right"}),title:"List item with before and after icons",content:"List item description text"},{title:"Clickable list item",content:"List item description text",onClick:function(){return alert("List item clicked")}}];t.default=function(){return Object(a.createElement)("div",null,Object(a.createElement)(r.List,{items:i}))}},803:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(63),o=n(3),l={processing:Object(o.__)("Processing Order"),pending:Object(o.__)("Pending Order"),completed:Object(o.__)("Completed Order")};t.default=function(){return Object(a.createElement)("div",null,Object(a.createElement)(r.OrderStatus,{order:{status:"processing"},orderStatusMap:l}),Object(a.createElement)(r.OrderStatus,{order:{status:"pending"},orderStatusMap:l}),Object(a.createElement)(r.OrderStatus,{order:{status:"completed"},orderStatusMap:l}))}},804:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(63),o=n(715);t.default=Object(o.a)({page:2,perPage:50})((function(e){var t=e.page,n=e.perPage,o=e.setState;return Object(a.createElement)(r.Pagination,{page:t,perPage:n,total:500,onPageChange:function(e){return o({page:e})},onPerPageChange:function(e){return o({perPage:e})}})}))},805:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(63);t.default=function(){return Object(a.createElement)("div",null,Object(a.createElement)(r.ProductImage,{product:null}),Object(a.createElement)(r.ProductImage,{product:{images:[]}}),Object(a.createElement)(r.ProductImage,{product:{images:[{src:"https://cldup.com/6L9h56D9Bw.jpg"}]}}))}},806:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(63);t.default=function(){return Object(a.createElement)("div",null,Object(a.createElement)("div",null,Object(a.createElement)(r.Rating,{rating:4,totalStars:5})),Object(a.createElement)("div",null,Object(a.createElement)(r.Rating,{rating:2.5,totalStars:6})),Object(a.createElement)("div",null,Object(a.createElement)(r.ProductRating,{product:{average_rating:3.5}})),Object(a.createElement)("div",null,Object(a.createElement)(r.ReviewRating,{review:{rating:5}})))}},807:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(63);t.default=function(){return Object(a.createElement)(r.ScrollTo,null,Object(a.createElement)("div",null,"Have the web browser automatically scroll to this component on page render."))}},808:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(63),o=n(715);t.default=Object(o.a)({selected:[],loading:!0})((function(e){var t=e.selected,n=e.loading,o=e.setState;return Object(a.createElement)("div",null,Object(a.createElement)("button",{onClick:function(){return o({loading:!n})}},"Toggle loading state"),Object(a.createElement)(r.SearchListControl,{list:[{id:1,name:"Apricots"},{id:2,name:"Clementine"},{id:3,name:"Elderberry"},{id:4,name:"Guava"},{id:5,name:"Lychee"},{id:6,name:"Mulberry"}],isLoading:n,selected:t,onChange:function(e){return o({selected:e})}}))}))},809:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(63),o=n(715);t.default=Object(o.a)({selected:[],inlineSelected:[]})((function(e){var t=e.selected,n=e.inlineSelected,o=e.setState;return Object(a.createElement)("div",null,Object(a.createElement)(r.H,null,"Tags Below Input"),Object(a.createElement)(r.Section,{component:!1},Object(a.createElement)(r.Search,{type:"products",placeholder:"Search for a product",selected:t,onChange:function(e){return o({selected:e})}})),Object(a.createElement)(r.H,null,"Tags Inline with Input"),Object(a.createElement)(r.Section,{component:!1},Object(a.createElement)(r.Search,{type:"products",placeholder:"Search for a product",selected:n,onChange:function(e){return o({inlineSelected:e})},inlineTags:!0})))}))},810:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(63);t.default=function(){return Object(a.createElement)(r.SectionHeader,{title:"Store Performance"})}},811:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(63);t.default=function(){return Object(a.createElement)("div",null,Object(a.createElement)(r.H,null,"Header using a contextual level (h3)"),Object(a.createElement)(r.Section,{component:"article"},Object(a.createElement)("p",null,"This is an article component wrapper."),Object(a.createElement)(r.H,null,"Another header with contextual level (h4)"),Object(a.createElement)(r.Section,{component:!1},Object(a.createElement)("p",null,"There is no wrapper component here."),Object(a.createElement)(r.H,null,"This is an h5"))))}},812:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(63),o=n(715);t.default=Object(o.a)({selected:"two"})((function(e){var t=e.selected,n=e.setState;return Object(a.createElement)(r.SegmentedSelection,{options:[{value:"one",label:"One"},{value:"two",label:"Two"},{value:"three",label:"Three"},{value:"four",label:"Four"}],selected:t,legend:"Select a number",onSelect:function(e){return n({selected:e.number})},name:"number"})}))},813:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(63),o=n(715),l=[{key:"apple",label:"Apple",value:{id:"apple"}},{key:"apricot",label:"Apricot",value:{id:"apricot"}},{key:"banana",label:"Banana",keywords:["best","fruit"],value:{id:"banana"}},{key:"blueberry",label:"Blueberry",value:{id:"blueberry"}},{key:"cherry",label:"Cherry",value:{id:"cherry"}},{key:"cantaloupe",label:"Cantaloupe",value:{id:"cantaloupe"}},{key:"dragonfruit",label:"Dragon Fruit",value:{id:"dragonfruit"}},{key:"elderberry",label:"Elderberry",value:{id:"elderberry"}}];t.default=Object(o.a)({simpleSelected:[],simpleMultipleSelected:[],singleSelected:[],singleSelectedShowAll:[],multipleSelected:[],inlineSelected:[]})((function(e){var t=e.simpleSelected,n=e.simpleMultipleSelected,o=e.singleSelected,i=e.singleSelectedShowAll,s=e.multipleSelected,c=e.inlineSelected,u=e.setState;return Object(a.createElement)("div",null,Object(a.createElement)(r.SelectControl,{label:"Simple single value",onChange:function(e){return u({simpleSelected:e})},options:l,placeholder:"Start typing to filter options...",selected:t}),Object(a.createElement)("br",null),Object(a.createElement)(r.SelectControl,{label:"Multiple values",multiple:!0,onChange:function(e){return u({simpleMultipleSelected:e})},options:l,placeholder:"Start typing to filter options...",selected:n}),Object(a.createElement)("br",null),Object(a.createElement)(r.SelectControl,{label:"Single value searchable",isSearchable:!0,onChange:function(e){return u({singleSelected:e})},options:l,placeholder:"Start typing to filter options...",selected:o}),Object(a.createElement)("br",null),Object(a.createElement)(r.SelectControl,{label:"Single value searchable with options on refocus",isSearchable:!0,onChange:function(e){return u({singleSelectedShowAll:e})},options:l,placeholder:"Start typing to filter options...",selected:i,showAllOnFocus:!0}),Object(a.createElement)("br",null),Object(a.createElement)(r.SelectControl,{label:"Inline tags searchable",isSearchable:!0,multiple:!0,inlineTags:!0,onChange:function(e){return u({inlineSelected:e})},options:l,placeholder:"Start typing to filter options...",selected:c}),Object(a.createElement)("br",null),Object(a.createElement)(r.SelectControl,{hideBeforeSearch:!0,isSearchable:!0,label:"Hidden options before search",multiple:!0,onChange:function(e){return u({multipleSelected:e})},options:l,placeholder:"Start typing to filter options...",selected:s,showClearButton:!0}))}))},814:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(63);t.default=function(){return Object(a.createElement)("div",null,Object(a.createElement)(r.Spinner,null))}},815:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(63),o=n(66),l=n.n(o);t.default=function(){return Object(a.createElement)("div",null,Object(a.createElement)(r.SplitButton,{isPrimary:!0,mainLabel:"Primary Button",menuLabel:"Select an action",onClick:function(){return alert("Primary Main Action clicked")},controls:[{label:"Up",onClick:function(){return alert("Primary Up clicked")}},{label:"Right",onClick:function(){return alert("Primary Right clicked")}},{label:"Down",icon:Object(a.createElement)(l.a,{icon:"arrow-down"}),onClick:function(){return alert("Primary Down clicked")}},{label:"Left",icon:Object(a.createElement)(l.a,{icon:"arrow-left"}),onClick:function(){return alert("Primary Left clicked")}}]}),Object(a.createElement)(r.SplitButton,{mainIcon:Object(a.createElement)(l.a,{icon:"pencil"}),menuLabel:"Select an action",onClick:function(){return alert("Icon Only Action clicked")},controls:[{label:"Up",icon:Object(a.createElement)(l.a,{icon:"arrow-up"}),onClick:function(){return alert("Icon Only Up clicked")}},{label:"Right",onClick:function(){return alert("Icon Only Right clicked")}},{label:"Down",icon:Object(a.createElement)(l.a,{icon:"arrow-down"}),onClick:function(){return alert("Icon Only Down clicked")}},{label:"Left",icon:Object(a.createElement)(l.a,{icon:"arrow-left"}),onClick:function(){return alert("Icon Only Left clicked")}}]}))}},816:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(63),o=n(715);t.default=Object(o.a)({currentStep:"first",isComplete:!1,isPending:!1})((function(e){var t=e.currentStep,n=e.isComplete,o=e.isPending,l=e.setState,i=function(e){l({currentStep:e})},s=[{key:"first",label:"First",description:"Step item description",content:Object(a.createElement)("div",null,"First step content."),onClick:i},{key:"second",label:"Second",description:"Step item description",content:Object(a.createElement)("div",null,"Second step content."),onClick:i},{label:"Third",key:"third",description:"Step item description",content:Object(a.createElement)("div",null,"Third step content."),onClick:i},{label:"Fourth",key:"fourth",description:"Step item description",content:Object(a.createElement)("div",null,"Fourth step content."),onClick:i}],c=s.findIndex((function(e){return t===e.key}));return n&&s.forEach((function(e){return e.isComplete=!0})),Object(a.createElement)("div",null,n?Object(a.createElement)("button",{onClick:function(){return l({currentStep:"first",isComplete:!1})}},"Reset"):Object(a.createElement)("div",null,Object(a.createElement)("button",{onClick:function(){return l({currentStep:s[c-1].key})},disabled:c<1},"Previous step"),Object(a.createElement)("button",{onClick:function(){return l({currentStep:s[c+1].key})},disabled:c>=s.length-1},"Next step"),Object(a.createElement)("button",{onClick:function(){return l({isComplete:!0})},disabled:c!==s.length-1},"Complete"),Object(a.createElement)("button",{onClick:function(){return l({isPending:!o})}},"Toggle Spinner")),Object(a.createElement)(r.Stepper,{steps:s,currentStep:t,isPending:o}),Object(a.createElement)("br",null),Object(a.createElement)(r.Stepper,{isPending:o,isVertical:!0,steps:s,currentStep:t}))}))},817:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(63);t.default=function(){return Object(a.createElement)(r.SummaryList,null,(function(){return[Object(a.createElement)(r.SummaryNumber,{key:"revenue",value:"$829.40",label:"Total Sales",delta:29,href:"/analytics/report"}),Object(a.createElement)(r.SummaryNumber,{key:"refunds",value:"$24.00",label:"Refunds",delta:-10,href:"/analytics/report",selected:!0}),Object(a.createElement)(r.SummaryNumber,{key:"coupons",value:"$49.90",label:"Coupons",href:"/analytics/report"})]}))}},818:function(e,t,n){"use strict";n.r(t);var a=n(15),r=n.n(a),o=n(0),l=n(63),i=n(715),s=[{key:"month",label:"Month"},{key:"orders",label:"Orders"},{key:"revenue",label:"Revenue"}],c=[[{display:"January",value:1},{display:10,value:10},{display:"$530.00",value:530}],[{display:"February",value:2},{display:13,value:13},{display:"$675.00",value:675}],[{display:"March",value:3},{display:9,value:9},{display:"$460.00",value:460}]],u=[{label:"Gross Income",value:"$830.00"},{label:"Taxes",value:"$96.32"},{label:"Shipping",value:"$50.00"}];t.default=Object(i.a)({query:{paged:1}})((function(e){var t=e.query,n=e.setState;return Object(o.createElement)("div",null,Object(o.createElement)(l.H,null,"TableCard"),Object(o.createElement)(l.Section,{component:!1},Object(o.createElement)(l.TableCard,{title:"Revenue Last Week",rows:c,headers:s,onQueryChange:function(e){return function(t){return n({query:r()({},e,t)})}},query:t,rowsPerPage:7,totalRows:10,summary:u})),Object(o.createElement)(l.H,null,"Table only"),Object(o.createElement)(l.Section,{component:!1},Object(o.createElement)(l.Card,{className:"woocommerce-analytics__card"},Object(o.createElement)(l.Table,{caption:"Revenue Last Week",rows:c,headers:s}))),Object(o.createElement)(l.H,null,"Summary only"),Object(o.createElement)(l.Section,{component:!1},Object(o.createElement)(l.TableSummary,{data:u})),Object(o.createElement)(l.H,null,"Placeholder"),Object(o.createElement)(l.Section,{component:!1},Object(o.createElement)(l.Card,{className:"woocommerce-analytics__card"},Object(o.createElement)(l.TablePlaceholder,{caption:"Revenue Last Week",headers:s}))),Object(o.createElement)(l.H,null,"Empty Table"),Object(o.createElement)(l.Section,{component:!1},Object(o.createElement)(l.EmptyTable,null,"There are no entries.")))}))},819:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(63),o=function(){};t.default=function(){return Object(a.createElement)("div",null,Object(a.createElement)(r.Tag,{label:"My tag",id:1}),Object(a.createElement)(r.Tag,{label:"Removable tag",id:2,remove:o}),Object(a.createElement)(r.Tag,{label:"Tag with popover",popoverContents:Object(a.createElement)("p",null,"This is a popover")}))}},820:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(63),o=n(715);t.default=Object(o.a)({first:"",second:"",third:"",fourth:"",fifth:""})((function(e){var t=e.first,n=e.second,o=e.third,l=e.fourth,i=e.fifth,s=e.setState;return Object(a.createElement)("div",null,Object(a.createElement)(r.TextControlWithAffixes,{label:"Text field without affixes",value:t,placeholder:"Placeholder",onChange:function(e){return s({first:e})}}),Object(a.createElement)(r.TextControlWithAffixes,{label:"Disabled text field without affixes",value:t,placeholder:"Placeholder",onChange:function(e){return s({first:e})},disabled:!0}),Object(a.createElement)(r.TextControlWithAffixes,{prefix:"$",label:"Text field with a prefix",value:n,onChange:function(e){return s({second:e})}}),Object(a.createElement)(r.TextControlWithAffixes,{prefix:"$",label:"Disabled text field with a prefix",value:n,onChange:function(e){return s({second:e})},disabled:!0}),Object(a.createElement)(r.TextControlWithAffixes,{prefix:"Prefix",suffix:"Suffix",label:"Text field with both affixes",value:o,onChange:function(e){return s({third:e})}}),Object(a.createElement)(r.TextControlWithAffixes,{prefix:"Prefix",suffix:"Suffix",label:"Disabled text field with both affixes",value:o,onChange:function(e){return s({third:e})},disabled:!0}),Object(a.createElement)(r.TextControlWithAffixes,{suffix:"%",label:"Text field with a suffix",value:l,onChange:function(e){return s({fourth:e})}}),Object(a.createElement)(r.TextControlWithAffixes,{suffix:"%",label:"Disabled text field with a suffix",value:l,onChange:function(e){return s({fourth:e})},disabled:!0}),Object(a.createElement)(r.TextControlWithAffixes,{prefix:"$",label:"Text field with prefix and help text",value:i,onChange:function(e){return s({fifth:e})},help:"This is some help text."}),Object(a.createElement)(r.TextControlWithAffixes,{prefix:"$",label:"Disabled text field with prefix and help text",value:i,onChange:function(e){return s({fifth:e})},help:"This is some help text.",disabled:!0}))}))},821:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(63),o=n(715);t.default=Object(o.a)({value:""})((function(e){var t=e.setState,n=e.value;return Object(a.createElement)("div",null,Object(a.createElement)(r.TextControl,{name:"text-control",label:"Enter text here",onChange:function(e){return t({value:e})},value:n}),Object(a.createElement)("br",null),Object(a.createElement)(r.TextControl,{label:"Disabled field",disabled:!0,value:""}))}))},822:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(63);t.default=function(){return Object(a.createElement)(r.ViewMoreList,{items:[Object(a.createElement)("i",null,"Lorem"),Object(a.createElement)("i",null,"Ipsum"),Object(a.createElement)("i",null,"Dolor"),Object(a.createElement)("i",null,"Sit")]})}},823:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n(63);t.default=function(){return Object(a.createElement)("div",null,Object(a.createElement)(r.WebPreview,{src:"https://themes.woocommerce.com/?name=galleria",title:"My Web Preview"}))}},829:function(e,t,n){var a={"./advanced-filters/README.md":830,"./animation-slider/README.md":831,"./calendar/README.md":832,"./card/README.md":833,"./chart/README.md":834,"./chart/d3chart/d3base/README.md":835,"./compare-filter/README.md":836,"./count/README.md":837,"./date-range-filter-picker/README.md":838,"./date/README.md":839,"./dropdown-button/README.md":840,"./ellipsis-menu/README.md":841,"./empty-content/README.md":842,"./filter-picker/README.md":843,"./filters/README.md":844,"./flag/README.md":845,"./form/README.md":846,"./gravatar/README.md":847,"./higher-order/use-filters/README.md":848,"./image-upload/README.md":849,"./link/README.md":850,"./list/README.md":851,"./order-status/README.md":852,"./pagination/README.md":853,"./plugins/README.md":854,"./product-image/README.md":855,"./rating/README.md":856,"./scroll-to/README.md":857,"./search-list-control/README.md":858,"./search/README.md":859,"./section-header/README.md":860,"./section/README.md":861,"./segmented-selection/README.md":862,"./select-control/README.md":863,"./spinner/README.md":864,"./split-button/README.md":865,"./stepper/README.md":866,"./summary/README.md":867,"./table/README.md":868,"./tag/README.md":869,"./text-control-with-affixes/README.md":870,"./text-control/README.md":871,"./view-more-list/README.md":872,"./web-preview/README.md":873};function r(e){var t=o(e);return n(t)}function o(e){if(!n.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}r.keys=function(){return Object.keys(a)},r.resolve=o,e.exports=r,r.id=829},830:function(e,t,n){"use strict";n.r(t),t.default="Advanced Filters\n===\n\nDisplays a configurable set of filters which can modify query parameters. Display, behavior, and types of filters can be designated by a configuration object.\n\n## Usage\n\nBelow is a config example complete with translation strings. Advanced Filters makes use of [interpolateComponents](https://github.com/Automattic/interpolate-components#readme) to organize sentence structure, resulting in a filter visually represented as a sentence fragment in any language.\n\n```js\nconst config = {\n\ttitle: __(\n\t\t// A sentence describing filters for Orders\n\t\t// See screen shot for context: https://cloudup.com/cSsUY9VeCVJ\n\t\t'Orders Match {{select /}} Filters',\n\t\t'woocommerce-admin'\n\t),\n\tfilters: {\n\t\tstatus: {\n\t\t\tlabels: {\n\t\t\t\tadd: __( 'Order Status', 'woocommerce-admin' ),\n\t\t\t\tremove: __( 'Remove order status filter', 'woocommerce-admin' ),\n\t\t\t\trule: __( 'Select an order status filter match', 'woocommerce-admin' ),\n\t\t\t\t// A sentence describing an Order Status filter\n\t\t\t\t// See screen shot for context: https://cloudup.com/cSsUY9VeCVJ\n\t\t\t\ttitle: __( 'Order Status {{rule /}} {{filter /}}', 'woocommerce-admin' ),\n\t\t\t\tfilter: __( 'Select an order status', 'woocommerce-admin' ),\n\t\t\t},\n\t\t\trules: [\n\t\t\t\t{\n\t\t\t\t\tvalue: 'is',\n\t\t\t\t\t// Sentence fragment, logical, \"Is\"\n\t\t\t\t\t// Refers to searching for orders matching a chosen order status\n\t\t\t\t\t// Screenshot for context: https://cloudup.com/cSsUY9VeCVJ\n\t\t\t\t\tlabel: _x( 'Is', 'order status', 'woocommerce-admin' ),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tvalue: 'is_not',\n\t\t\t\t\t// Sentence fragment, logical, \"Is Not\"\n\t\t\t\t\t// Refers to searching for orders that don't match a chosen order status\n\t\t\t\t\t// Screenshot for context: https://cloudup.com/cSsUY9VeCVJ\n\t\t\t\t\tlabel: _x( 'Is Not', 'order status', 'woocommerce-admin' ),\n\t\t\t\t},\n\t\t\t],\n\t\t\tinput: {\n\t\t\t\tcomponent: 'SelectControl',\n\t\t\t\toptions: Object.keys( orderStatuses ).map( key => ( {\n\t\t\t\t\tvalue: key,\n\t\t\t\t\tlabel: orderStatuses[ key ],\n\t\t\t\t} ) ),\n\t\t\t},\n\t\t},\n\t},\n};\n```\n\nWhen filters are applied, the query string will be modified using a combination of rule names and selected filter values.\n\nTaking the above configuration as an example, applying the filter will result in a query parameter like `status_is=pending` or `status_is_not=cancelled`.\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`config` | Object | `null` | (required) The configuration object required to render filters. See example above.\n`path` | String | `null` | (required) Name of this filter, used in translations.\n`query` | Object | `null` | The query string represented in object form.\n`onAdvancedFilterAction` | Function | `null` | Function to be called after an advanced filter action has been taken.\n`siteLocale` | string | `'en_US'` | The siteLocale for the site.\n`currency` | Object | `null` | (required) The currency instance for the site (@woocommerce/currency).\n\n\n## Input Components\n\n\n### SelectControl\n\nRender a select component with options.\n\n```js\nconst config = {\n\t...,\n\tfilters: {\n\t\tfruit: {\n\t\t\tinput: {\n\t\t\t\tcomponent: 'SelectControl',\n\t\t\t\toptions: [\n\t\t\t\t\t{ label: 'Apples', key: 'apples' },\n\t\t\t\t\t{ label: 'Oranges', key: 'oranges' },\n\t\t\t\t\t{ label: 'Bananas', key: 'bananas' },\n\t\t\t\t\t{ label: 'Cherries', key: 'cherries' },\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n};\n```\n\n`options`: An array of objects with `key` and `label` properties.\n\n\n### Search\n\nRender an input for users to search and select using an autocomplete.\n\n```js\nconst config = {\n\t...,\n\tfilters: {\n\t\tproduct: {\n\t\t\tinput: {\n\t\t\t\tcomponent: 'Search',\n\t\t\t\ttype: 'products',\n\t\t\t\tgetLabels: getRequestByIdString( NAMESPACE + 'products', product => ( {\n\t\t\t\t\tid: product.id,\n\t\t\t\t\tlabel: product.name,\n\t\t\t\t} ) ),\n\t\t\t},\n\t\t},\n\t},\n};\n```\n\n`type`: A string Autocompleter type used by the [Search Component](https://github.com/woocommerce/woocommerce-admin/tree/master/packages/components/src/search).\n`getLabels`: A function returning a Promise resolving to an array of objects with `id` and `label` properties.\n\n\n### Date\n\nRenders an input or two inputs allowing a user to filter based on a date value or range of values.\n\n```js\nconst config = {\n\t...,\n\tfilters: {\n\t\tregistered: {\n\t\t\trules: [\n\t\t\t\t{\n\t\t\t\t\tvalue: 'before',\n\t\t\t\t\tlabel: __( 'Before', 'woocommerce-admin' ),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tvalue: 'after',\n\t\t\t\t\tlabel: __( 'After', 'woocommerce-admin' ),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tvalue: 'between',\n\t\t\t\t\tlabel: __( 'Between', 'woocommerce-admin' ),\n\t\t\t\t},\n\t\t\t],\n\t\t\tinput: {\n\t\t\t\tcomponent: 'Date',\n\t\t\t},\n\t\t},\n\t},\n};\n```\n\n\n### Numeric Value\n\nRenders an input or two inputs allowing a user to filter based on a numeric value or range of values. Can also render inputs for currency values.\n\nValid rule values are `after`, `before`, and `between`. Use any combination you'd like.\n\n```js\nconst config = {\n\t...,\n\tfilters: {\n\t\tquantity: {\n\t\t\trules: [\n\t\t\t\t{\n\t\t\t\t\tvalue: 'lessthan',\n\t\t\t\t\tlabel: __( 'Less Than', 'woocommerce-admin' ),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tvalue: 'morethan',\n\t\t\t\t\tlabel: __( 'More Than', 'woocommerce-admin' ),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tvalue: 'between',\n\t\t\t\t\tlabel: __( 'Between', 'woocommerce-admin' ),\n\t\t\t\t},\n\t\t\t],\n\t\t\tinput: {\n\t\t\t\tcomponent: 'Number',\n\t\t\t},\n\t\t},\n\t},\n};\n```\n\nValid rule values are `lessthan`, `morethan`, and `between`. Use any combination you'd like.\n\nSpecify `input.type` as `'currency'` if you'd like to render currency inputs, which respects store currency locale.\n"},831:function(e,t,n){"use strict";n.r(t),t.default="AnimationSlider\n===\n\nThis component creates slideable content controlled by an animate prop to direct the contents to slide left or right.\nAll other props are passed to `CSSTransition`. More info at http://reactcommunity.org/react-transition-group/css-transition\n\n## Usage\n\n```jsx\n\n\t{ ( status ) => (\n\t\tOne (1) \n\t) }\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`children` | function | `null` | (required) A function returning rendered content with argument status, reflecting `CSSTransition` status\n`animationKey` | any | `null` | (required) A unique identifier for each slideable page\n`animate` | string | `null` | null, 'left', 'right', to designate which direction to slide on a change\n`onExited` | function | `null` | A function to be executed after a transition is complete, passing the containing ref as the argument\n"},832:function(e,t,n){"use strict";n.r(t),t.default='DatePicker\n===\n\n## Usage\n\n```jsx\n setState( { date, text, error } ) }\n\tdateFormat="MM/DD/YYYY"\n/>\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`date` | Object | `null` | A moment date object representing the selected date. `null` for no selection\n`disabled` | Boolean | `null` | Whether the input is disabled\n`text` | String | `null` | The date in human-readable format. Displayed in the text input\n`error` | String | `null` | A string error message, shown to the user\n`onUpdate` | Function | `null` | (required) A function called upon selection of a date or input change\n`dateFormat` | String | `null` | (required) The date format in moment.js-style tokens\n`isInvalidDate` | Function | `null` | A function to determine if a day on the calendar is not valid\n\n\nDateRange\n===\n\nThis is wrapper for a [react-dates](https://github.com/airbnb/react-dates) powered calendar.\n\n## Usage\n\n```jsx\n setState( update ) }\n\tshortDateFormat="MM/DD/YYYY"\n\tfocusedInput="startDate"\n\tisInvalidDate={ date => (\n\t\t// not a future date\n\t\tmoment().isBefore( moment( date ), \'date\' )\n\t) }\n/>\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`after` | Object | `null` | A moment date object representing the selected start. `null` for no selection\n`afterError` | String | `null` | A string error message, shown to the user\n`afterText` | String | `null` | The start date in human-readable format. Displayed in the text input\n`before` | Object | `null` | A moment date object representing the selected end. `null` for no selection\n`beforeError` | String | `null` | A string error message, shown to the user\n`beforeText` | String | `null` | The end date in human-readable format. Displayed in the text input\n`focusedInput` | String | `null` | String identifying which is the currently focused input (start or end)\n`isInvalidDate` | Function | `null` | A function to determine if a day on the calendar is not valid\n`onUpdate` | Function | `null` | (required) A function called upon selection of a date\n`shortDateFormat` | String | `null` | (required) The date format in moment.js-style tokens\n'},833:function(e,t,n){"use strict";n.r(t),t.default='Card\n===\n\nA basic card component with a header. The header can contain a title, an action, and an `EllipsisMenu` menu.\n\n## Usage\n\n```jsx\n\n\t
\n\t\tYour stuff in a Card.
\n\t \n\t
\n\t\tThis Card is grayed out and has no box-shadow.
\n\t \n
\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`action` | ReactNode | `null` | One "primary" action for this card, appears in the card header\n`className` | String | `null` | Additional CSS classes\n`description` | One of type: string, node | `null` | The description displayed beneath the title\n`isInactive` | Boolean | `null` | Boolean representing whether the card is inactive or not\n`menu` | (custom validator) | `null` | An `EllipsisMenu`, with filters used to control the content visible in this card\n`title` | One of type: string, node | `null` | The title to use for this card\n'},834:function(e,t,n){"use strict";n.r(t),t.default="Chart\n===\n\nA chart container using d3, to display timeseries data with an interactive legend.\n\n## Usage\n\n```jsx\nconst data = [\n\t{\n\t\tdate: '2018-05-30T00:00:00',\n\t\tHoodie: {\n\t\t\tlabel: 'Hoodie',\n\t\t\tvalue: 21599,\n\t\t},\n\t\tSunglasses: {\n\t\t\tlabel: 'Sunglasses',\n\t\t\tvalue: 38537,\n\t\t},\n\t\tCap: {\n\t\t\tlabel: 'Cap',\n\t\t\tvalue: 106010,\n\t\t},\n\t},\n\t{\n\t\tdate: '2018-05-31T00:00:00',\n\t\tHoodie: {\n\t\t\tlabel: 'Hoodie',\n\t\t\tvalue: 14205,\n\t\t},\n\t\tSunglasses: {\n\t\t\tlabel: 'Sunglasses',\n\t\t\tvalue: 24721,\n\t\t},\n\t\tCap: {\n\t\t\tlabel: 'Cap',\n\t\t\tvalue: 70131,\n\t\t},\n\t},\n\t{\n\t\tdate: '2018-06-01T00:00:00',\n\t\tHoodie: {\n\t\t\tlabel: 'Hoodie',\n\t\t\tvalue: 10581,\n\t\t},\n\t\tSunglasses: {\n\t\t\tlabel: 'Sunglasses',\n\t\t\tvalue: 19991,\n\t\t},\n\t\tCap: {\n\t\t\tlabel: 'Cap',\n\t\t\tvalue: 53552,\n\t\t},\n\t},\n\t{\n\t\tdate: '2018-06-02T00:00:00',\n\t\tHoodie: {\n\t\t\tlabel: 'Hoodie',\n\t\t\tvalue: 9250,\n\t\t},\n\t\tSunglasses: {\n\t\t\tlabel: 'Sunglasses',\n\t\t\tvalue: 16072,\n\t\t},\n\t\tCap: {\n\t\t\tlabel: 'Cap',\n\t\t\tvalue: 47821,\n\t\t},\n\t},\n];\n\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`allowedIntervals` | Array | `null` | Allowed intervals to show in a dropdown\n`baseValue` | Number | `0` | Base chart value. If no data value is different than the baseValue, the `emptyMessage` will be displayed if provided\n`chartType` | One of: 'bar', 'line' | `'line'` | Chart type of either `line` or `bar`\n`data` | Array | `[]` | An array of data\n`dateParser` | String | `'%Y-%m-%dT%H:%M:%S'` | Format to parse dates into d3 time format\n`emptyMessage` | String | `null` | The message to be displayed if there is no data to render. If no message is provided, nothing will be displayed\n`filterParam` | String | `null` | Name of the param used to filter items. If specified, it will be used, in combination with query, to detect which elements are being used by the current filter and must be displayed even if their value is 0\n`itemsLabel` | String | `null` | Label describing the legend items\n`mode` | One of: 'item-comparison', 'time-comparison' | `'time-comparison'` | `item-comparison` (default) or `time-comparison`, this is used to generate correct ARIA properties\n`path` | String | `null` | Current path\n`query` | Object | `null` | The query string represented in object form\n`interactiveLegend` | Boolean | `true` | Whether the legend items can be activated/deactivated\n`interval` | One of: 'hour', 'day', 'week', 'month', 'quarter', 'year' | `'day'` | Interval specification (hourly, daily, weekly etc)\n`intervalData` | Object | `null` | Information about the currently selected interval, and set of allowed intervals for the chart. See `getIntervalsForQuery`\n`isRequesting` | Boolean | `false` | Render a chart placeholder to signify an in-flight data request\n`legendPosition` | One of: 'bottom', 'side', 'top' | `null` | Position the legend must be displayed in. If it's not defined, it's calculated depending on the viewport width and the mode\n`legendTotals` | Object | `null` | Values to overwrite the legend totals. If not defined, the sum of all line values will be used\n`screenReaderFormat` | One of type: string, func | `'%B %-d, %Y'` | A datetime formatting string or overriding function to format the screen reader labels\n`showHeaderControls` | Boolean | `true` | Wether header UI controls must be displayed\n`title` | String | `null` | A title describing this chart\n`tooltipLabelFormat` | One of type: string, func | `'%B %-d, %Y'` | A datetime formatting string or overriding function to format the tooltip label\n`tooltipValueFormat` | One of type: string, func | `','` | A number formatting string or function to format the value displayed in the tooltips\n`tooltipTitle` | String | `null` | A string to use as a title for the tooltip. Takes preference over `tooltipLabelFormat`\n`valueType` | String | `null` | What type of data is to be displayed? Number, Average, String?\n`xFormat` | String | `'%d'` | A datetime formatting string, passed to d3TimeFormat\n`x2Format` | String | `'%b %Y'` | A datetime formatting string, passed to d3TimeFormat\n`yBelow1Format` | String | `null` | A number formatting string, passed to d3Format\n`yFormat` | String | `null` | A number formatting string, passed to d3Format\n`currency` | Object | `{}` | An object with currency properties for usage in the chart. The following properties are expected: `decimal`, `symbol`, `symbolPosition`, `thousands`. This is passed to d3Format.\n"},835:function(e,t,n){"use strict";n.r(t),t.default="# D3 Base Component\n\nIntegrate React Lifecyle methods with d3.js charts.\n\n### Base Component Responsibilities\n\n* Create and manage mounting and unmounting parent `div` and `svg`\n* Handle resize events, resulting re-renders, and event listeners\n* Handle re-renders as a result of new props\n\n## Props\n\n### className\n{ string } A class to be applied to the parent `div`\n\n### getParams( node )\n{ function } A function returning an object containing required properties for drawing a chart. This object is created before re-render, making it an ideal place for calculating scales and other props or user input based properties.\n* `svg` { node } The parent `div`. Useful for calculating available widths\n\n### drawChart( svg, params )\n{ function } draw the chart\n* `svg` { node } Base element \n* `params` { Object } Properties created by the `getParams` function "},836:function(e,t,n){"use strict";n.r(t),t.default="CompareFilter\n===\n\nDisplays a card + search used to filter results as a comparison between objects.\n\n## Usage\n\n```jsx\nconst path = ''; // from React Router\nconst getLabels = () => Promise.resolve( [] );\nconst labels = {\n\thelpText: 'Select at least two products to compare',\n\tplaceholder: 'Search for products to compare',\n\ttitle: 'Compare Products',\n\tupdate: 'Compare',\n};\n\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`getLabels` | Function | `null` | (required) Function used to fetch object labels via an API request, returns a Promise\n`labels` | Object | `{}` | Object of localized labels\n`param` | String | `null` | (required) The parameter to use in the querystring\n`path` | String | `null` | (required) The `path` parameter supplied by React-Router\n`query` | Object | `{}` | The query string represented in object form\n`type` | String | `null` | (required) Which type of autocompleter should be used in the Search\n"},837:function(e,t,n){"use strict";n.r(t),t.default="Count\n===\n\nDisplay a number with a styled border.\n\n## Usage\n\n```jsx\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`count` | Number | `null` | (required) Value of the number to be displayed\n`label` | String | `''` | A translated label with the number in context, used for screen readers\n"},838:function(e,t,n){"use strict";n.r(t),t.default="Date Range Picker\n===\n\nSelect a range of dates or single dates\n\n## Usage\n\n```jsx\nimport {\n\tgetDateParamsFromQuery,\n\tgetCurrentDates,\n\tisoDateFormat,\n\tloadLocaleData,\n} from '@woocommerce/date';\n\n/**\n * External dependencies\n */\nimport { partialRight } from 'lodash';\n\nconst query = {};\n\n// Fetch locale from store settings and load for date functions.\nconst localeSettings = {\n\tuserLocale: 'fr_FR',\n\tweekdaysShort: [ 'dim', 'lun', 'mar', 'mer', 'jeu', 'ven', 'sam' ],\n};\nloadLocaleData( localeSettings );\n\nconst defaultDateRange = 'period=month&compare=previous_year';\nconst storeGetDateParamsFromQuery = partialRight( getDateParamsFromQuery, defaultDateRange );\nconst storeGetCurrentDates = partialRight( getCurrentDates, defaultDateRange );\nconst { period, compare, before, after } = storeGetDateParamsFromQuery( query );\nconst { primary: primaryDate, secondary: secondaryDate } = storeGetCurrentDates( query );\nconst dateQuery = {\n\tperiod,\n\tcompare,\n\tbefore,\n\tafter,\n\tprimaryDate,\n\tsecondaryDate,\n};\n\n {} }\n\tdateQuery={ dateQuery }\n\tisoDateFormat={ isoDateFormat }\n/>\n```\n\n### Props\n\nName | Type | Default | Description\n------- | -------- | ------- | ---\n`isDateFormat` | string | `null` | (required) ISO date format string\n`onRangeSelect` | Function | `null` | Callback called when selection is made\n`dateQuery` | object | `null` | (required) Date initialization object\n\n## URL as the source of truth\n\nThe Date Range Picker reads parameters from the URL querystring and updates them by creating a link to reflect newly selected parameters, which is rendered as the \"Update\" button.\n\nURL Parameter | Default | Possible Values\n--- | --- | ---\n`period` | `today` | `today`, `yesterday`, `week`, `last_week`, `month`, `last_month`, `quarter`, `last_quarter`, `year`, `last_year`, `custom`\n`compare` | `previous_period` | `previous_period`, `previous_year`\n`start` | none | start date for custom periods `2018-04-15`. [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601)\n`end` | none | end date for custom periods `2018-04-15`. [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601)\n"},839:function(e,t,n){"use strict";n.r(t),t.default="Date\n===\n\nUse the `Date` component to display accessible dates or times.\n\n## Usage\n\n```jsx\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`date` | One of type: string, object | `null` | (required) Date to use in the component\n`machineFormat` | String | `'Y-m-d H:i:s'` | Date format used in the `datetime` prop of the `time` element\n`screenReaderFormat` | String | `'F j, Y'` | Date format used for screen readers\n`visibleFormat` | String | `'Y-m-d'` | Date format displayed in the page\n"},840:function(e,t,n){"use strict";n.r(t),t.default="DropdownButton\n===\n\nA button useful for a launcher of a dropdown component. The button is 100% width of its container and displays single or multiple lines rendered as ` ` elments.\n\n## Usage\n\n```jsx\n (\n\t\t \n\t) }\n\trenderContent={ () => (\n\t\tDropdown content here
\n\t) }\n/>\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`labels` | Array | `null` | (required) An array of elements to be rendered as the content of the button\n`isOpen` | Boolean | `null` | Boolean describing if the dropdown in open or not\n"},841:function(e,t,n){"use strict";n.r(t),t.default='EllipsisMenu\n===\n\nThis is a dropdown menu hidden behind a vertical ellipsis icon. When clicked, the inner MenuItems are displayed.\n\n## Usage\n\n```jsx\n {\n\t\treturn (\n\t\t\t\n\t\t\t\tDisplay Stats \n\t\t\t\t setState( { showCustomers: ! showCustomers } ) }>\n\t\t\t\t\t setState( { showCustomers: ! showCustomers } ) }\n\t\t\t\t\t/>\n\t\t\t\t \n\t\t\t\t setState( { showOrders: ! showOrders } ) }>\n\t\t\t\t\t setState( { showOrders: ! showOrders } ) }\n\t\t\t\t\t/>\n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\tClose Menu\n\t\t\t\t\t \n\t\t\t\t \n\t\t\t
\n\t\t);\n\t} }\n/>\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`label` | String | `null` | (required) The label shown when hovering/focusing on the icon button\n`renderContent` | Function | `null` | A function returning `MenuTitle`/`MenuItem` components as a render prop. Arguments from Dropdown passed as function arguments\n\n\nMenuItem\n===\n\n`MenuItem` is used to give the item an accessible wrapper, with the `menuitem` role and added keyboard functionality (`onInvoke`).\n`MenuItem`s can also be deemed "clickable", though this is disabled by default because generally the inner component handles\nthe click event.\n\n## Usage\n\n```jsx\n\n\t\n\tClose Menu\n\t \n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`checked` | Boolean | `null` | Whether the menu item is checked or not. Only relevant for menu items with `isCheckbox`\n`children` | ReactNode | `null` | A renderable component (or string) which will be displayed as the content of this item. Generally a `ToggleControl`\n`isCheckbox` | Boolean | `false` | Whether the menu item is a checkbox (will render a FormToggle and use the `menuitemcheckbox` role)\n`isClickable` | Boolean | `false` | Boolean to control whether the MenuItem should handle the click event. Defaults to false, assuming your child component handles the click event\n`onInvoke` | Function | `null` | (required) A function called when this item is activated via keyboard ENTER or SPACE; or when the item is clicked (only if `isClickable` is set)\n\n\nMenuTitle\n===\n\n`MenuTitle` is another valid Menu child, but this does not have any accessibility attributes associated\n(so this should not be used in place of the `EllipsisMenu` prop `label`).\n\n## Usage\n\n```jsx\nDisplay Stats \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`children` | ReactNode | `null` | A renderable component (or string) which will be displayed as the content of this item\n'},842:function(e,t,n){"use strict";n.r(t),t.default='EmptyContent\n===\n\nA component to be used when there is no data to show.\nIt can be used as an opportunity to provide explanation or guidance to help a user progress.\n\n## Usage\n\n```jsx\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`title` | String | `null` | (required) The title to be displayed\n`message` | String | `null` | An additional message to be displayed\n`illustration` | String | `\'/empty-content.svg\'` | The url string of an image path. Prefix with `/` to load an image relative to the plugin directory\n`illustrationHeight` | Number | `null` | Height to use for the illustration\n`illustrationWidth` | Number | `400` | Width to use for the illustration\n`actionLabel` | String | `null` | (required) Label to be used for the primary action button\n`actionURL` | String | `null` | URL to be used for the primary action button\n`actionCallback` | Function | `null` | Callback to be used for the primary action button\n`secondaryActionLabel` | String | `null` | Label to be used for the secondary action button\n`secondaryActionURL` | String | `null` | URL to be used for the secondary action button\n`secondaryActionCallback` | Function | `null` | Callback to be used for the secondary action button\n`className` | String | `null` | Additional CSS classes\n'},843:function(e,t,n){"use strict";n.r(t),t.default="Filter Picker\n===\n\nModify a url query parameter via a dropdown selection of configurable options. This component manipulates the `filter` query parameter.\n\n## Usage\n\n```jsx\nimport { FilterPicker } from '@woocommerce/components';\n\nconst renderFilterPicker = () => {\n\tconst filters = [\n\t\t{ label: 'Breakfast', value: 'breakfast' },\n\t\t{\n\t\t\tlabel: 'Lunch',\n\t\t\tvalue: 'lunch',\n\t\t\tsubFilters: [\n\t\t\t\t{ label: 'Meat', value: 'meat', path: [ 'lunch' ] },\n\t\t\t\t{ label: 'Vegan', value: 'vegan', path: [ 'lunch' ] },\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Pescatarian',\n\t\t\t\t\tvalue: 'fish',\n\t\t\t\t\tpath: [ 'lunch' ],\n\t\t\t\t\tsubFilters: [\n\t\t\t\t\t\t{ label: 'Snapper', value: 'snapper', path: [ 'lunch', 'fish' ] },\n\t\t\t\t\t\t{ label: 'Cod', value: 'cod', path: [ 'lunch', 'fish' ] },\n\t\t\t\t\t\t// Specify a custom component to render (Work in Progress)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Other',\n\t\t\t\t\t\t\tvalue: 'other_fish',\n\t\t\t\t\t\t\tpath: [ 'lunch', 'fish' ],\n\t\t\t\t\t\t\tcomponent: 'OtherFish',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\t{ label: 'Dinner', value: 'dinner' },\n\t];\n\n\treturn ;\n};\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`config` | Object | `null` | (required) An array of filters and subFilters to construct the menu\n`path` | String | `null` | (required) The `path` parameter supplied by React-Router\n`query` | Object | `{}` | The query string represented in object form\n`onFilterSelect` | Function | `() => {}` | Function to be called after filter selection\n\n### `config` structure\n\nThe `config` prop has the following structure:\n\n- `label`: String - A label above the filter selector.\n- `staticParams`: Array - Url parameters to persist when selecting a new filter.\n- `param`: String - The url paramter this filter will modify.\n- `defaultValue`: String - The default paramter value to use instead of 'all'.\n- `showFilters`: Function - Determine if the filter should be shown. Supply a function with the query object as an argument returning a boolean.\n- `filters`: Array - Array of filter objects.\n\n### `filters` structure\n\nThe `filters` prop is an array of filter objects. Each filter object should have the following format:\n\n- `chartMode`: One of: 'item-comparison', 'time-comparison'\n- `component`: String - A custom component used instead of a button, might have special handling for filtering. TBD, not yet implemented.\n- `label`: String - The label for this filter. Optional only for custom component filters.\n- `path`: String - An array representing the \"path\" to this filter, if nested.\n- `subFilters`: Array - An array of more filter objects that act as \"children\" to this item. This set of filters is shown if the parent filter is clicked.\n- `value`: String - The value for this filter, used to set the `filter` query param when clicked, if there are no `subFilters`.\n"},844:function(e,t,n){"use strict";n.r(t),t.default='ReportFilters\n===\n\nAdd a collection of report filters to a page. This uses `DatePicker` & `FilterPicker` for the "basic" filters, and `AdvancedFilters`\nor a comparison card if "advanced" or "compare" are picked from `FilterPicker`.\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`advancedFilters` | Object | `{}` | Config option passed through to `AdvancedFilters`\n`siteLocale` | string| `en_US` | The locale of the site. Passed through to `AdvancedFilters`\n`currency` | object | {} | The currency of the site. Passed through to `AdvancedFilters`\n`filters` | Array | `[]` | Config option passed through to `FilterPicker` - if not used, `FilterPicker` is not displayed\n`path` | String | `null` | (required) The `path` parameter supplied by React-Router\n`query` | Object | `{}` | The query string represented in object form\n`showDatePicker` | Boolean | `true` | Whether the date picker must be shown\n`onDateSelect` | Function | `() => {}` | Function to be called after date selection\n`onFilterSelect` | Function | `null` | Function to be called after filter selection\n`onAdvancedFilterAction` | Function | `null` | Function to be called after an advanced filter action has been taken\n`storeDate` | object | `null` | (required) Date utility function object bound to store settings.\n'},845:function(e,t,n){"use strict";n.r(t),t.default="Flag\n===\n\nUse the `Flag` component to display a country's flag using the operating system's emojis.\n\n React component.\n\n## Usage\n\n```jsx\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`code` | String | `null` | Two letter, three letter or three digit country code\n`order` | Object | `null` | An order can be passed instead of `code` and the code will automatically be pulled from the billing or shipping data\n`className` | String | `null` | Additional CSS classes\n`size` | Number | `null` | Supply a font size to be applied to the emoji flag\n"},846:function(e,t,n){"use strict";n.r(t),t.default="Form\n===\n\nA form component to handle form state and provide input helper props.\n\n## Usage\n\n```jsx\nconst initialValues = { firstName: '' };\n\n\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`children` | * | `null` | A renderable component in which to pass this component's state and helpers. Generally a number of input or other form elements\n`errors` | Object | `{}` | Object of all initial errors to store in state\n`initialValues` | Object | `{}` | Object key:value pair list of all initial field values\n`onSubmitCallback` | Function | `noop` | Function to call when a form is submitted with valid fields\n`validate` | Function | `noop` | A function that is passed a list of all values and should return an `errors` object with error response\n`touched` | | `{}` | \n"},847:function(e,t,n){"use strict";n.r(t),t.default='Gravatar\n===\n\nDisplay a users Gravatar.\n\n## Usage\n\n```jsx\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`user` | One of type: object, string | `null` | The address to hash for displaying a Gravatar. Can be an email address or WP-API user object\n`alt` | String | `null` | Text to display as the image alt attribute\n`title` | String | `null` | Text to use for the image\'s title\n`size` | Number | `60` | Default 60. The size of Gravatar to request\n`className` | String | `null` | Additional CSS classes\n'},848:function(e,t,n){"use strict";n.r(t),t.default="useFilters\n==========\n\n`useFilters` is a fork of [gutenberg's `withFilters`.](https://github.com/WordPress/gutenberg/tree/master/packages/components/src/higher-order/with-filters) It is also a React [higher-order component.](https://facebook.github.io/react/docs/higher-order-components.html)\n\nWrapping a component with `useFilters` provides a filtering capability controlled externally by the list of `hookName`s.\n\n## Usage\n\n```jsx\nimport { applyFilters } from '@wordpress/hooks';\nimport { useFilters } from '@woocommerce/components';\n\nfunction MyCustomElement() {\n\treturn { applyFilters( 'woocommerce.componentTitle', 'Title Text' ) } ;\n}\n\nexport default useFilters( [ 'woocommerce.componentTitle' ] )( MyCustomElement );\n```\n\n`useFilters` expects an array argument which provides a list of hook names. It returns a function which can then be used in composing your component. The list of hook names are used in your component with `applyFilters`. Any filters added to the given hooks are run when added, and update your content (the title text, in this example).\n\n### Adding filters\n\n```js\nfunction editText( string ) {\n\treturn `Filtered: ${ string }`;\n}\naddFilter( 'woocommerce.componentTitle', 'editText', editText );\n```\n\nIf we added this filter, our `MyCustomElement` component would display:\n\n```html\nFiltered: Title Text \n```\n"},849:function(e,t,n){"use strict";n.r(t),t.default="ImageUpload\n===\n\nImageUpload - Adds an upload area for selecting or uploading an image from the WordPress media gallery.\n\n## Usage\n\n```jsx\n\t setState( { url: newImage } ) } />\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`image` | Object | `null` | Image information containing media gallery `id` and image `url`\n`onChange` | Function | `null` | Function to trigger when the selected image changes\n`className` | String | `null` | Additional class name to style the component\n"},850:function(e,t,n){"use strict";n.r(t),t.default="Link\n===\n\nUse `Link` to create a link to another resource. It accepts a type to automatically\ncreate wp-admin links, wc-admin links, and external links.\n\n## Usage\n\n```jsx\n \n\tCoupons\n\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`href` | String | `null` | (required) The resource to link to\n`type` | One of: 'wp-admin', 'wc-admin', 'external' | `'wc-admin'` | Type of link. For wp-admin and wc-admin, the correct prefix is appended\n"},851:function(e,t,n){"use strict";n.r(t),t.default="List\n===\n\nList component to display a list of items.\n\n## Usage\n\n```jsx\nconst listItems = [\n\t{\n\t\ttitle: 'List item title',\n\t\tdescription: 'List item description text',\n\t},\n\t{\n\t\tbefore: ,\n\t\ttitle: 'List item with before icon',\n\t\tdescription: 'List item description text',\n\t},\n\t{\n\t\tbefore: ,\n\t\tafter: ,\n\t\ttitle: 'List item with before and after icons',\n\t\tdescription: 'List item description text',\n\t},\n\t{\n\t\ttitle: 'Clickable list item',\n\t\tdescription: 'List item description text',\n\t\tonClick: () => alert( 'List item clicked' ),\n\t},\n];\n\n
\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`className` | String | `null` | Additional class name to style the component\n`items` | Array | `null` | (required) An array of list items\n\n`items` structure:\n\n* `after`: ReactNode - Content displayed after the list item text.\n* `before`: ReactNode - Content displayed before the list item text.\n* `className`: String - Additional class name to style the list item.\n* `description`: String - Description displayed beneath the list item title.\n* `href`: String - Href attribute used in a Link wrapped around the item.\n* `onClick`: Function - Called when the list item is clicked.\n* `target`: String - Target attribute used for Link wrapper.\n* `title`: String - Title displayed for the list item."},852:function(e,t,n){"use strict";n.r(t),t.default="OrderStatus\n===\n\nUse `OrderStatus` to display a badge with human-friendly text describing the current order status.\n\n## Usage\n\n```jsx\nconst order = { status: 'processing' }; // Use a real WooCommerce Order here.\n\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`order` | Object | `null` | (required) The order to display a status for. See: https://woocommerce.github.io/woocommerce-rest-api-docs/#order-properties\n`className` | String | `null` | Additional CSS classes\n`orderStatusMap` | Object | {} | A map of order status to human-friendly label.\n"},853:function(e,t,n){"use strict";n.r(t),t.default="Pagination\n===\n\nUse `Pagination` to allow navigation between pages that represent a collection of items.\nThe component allows for selecting a new page and items per page options.\n\n## Usage\n\n```jsx\n setState( { page: newPage } ) }\n\tonPerPageChange={ ( newPerPage ) => setState( { perPage: newPerPage } ) }\n/>\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`page` | Number | `null` | (required) The current page of the collection\n`onPageChange` | Function | `noop` | A function to execute when the page is changed\n`perPage` | Number | `null` | (required) The amount of results that are being displayed per page\n`onPerPageChange` | Function | `noop` | A function to execute when the per page option is changed\n`total` | Number | `null` | (required) The total number of results\n`className` | String | `null` | Additional classNames\n`showPagePicker` | Boolean | `true` | Whether the page picker should be shown.\n`showPerPagePicker` | Boolean | `true` | Whether the per page picker should shown.\n`showPageArrowsLabel` | Boolean | `true` | Whether the page arrows label should be shown.\n"},854:function(e,t,n){"use strict";n.r(t),t.default="Plugins\n===\n\nUse `Plugins` to install and activate a list of plugins.\n\n## Usage\n\n```jsx\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`onComplete` | Function | | Called when the plugin installer is completed\n`onSkip` | Function | `noop` | Called when the plugin installer is skipped\n`skipText` | String | | Text used for the skip installer button\n`autoInstall` | Boolean | false | If installation should happen automatically, or require user confirmation\n`pluginSlugs` | Array | `[ 'jetpack', 'woocommerce-services' ],` | An array of plugin slugs to install.\n"},855:function(e,t,n){"use strict";n.r(t),t.default="ProductImage\n===\n\nUse `ProductImage` to display a product's or variation's featured image.\nIf no image can be found, a placeholder matching the front-end image\nplaceholder will be displayed.\n\n## Usage\n\n```jsx\n// Use a real WooCommerce Product here.\nconst product = {\n\timages: [\n\t\t{\n\t\t\tsrc: 'https://cldup.com/6L9h56D9Bw.jpg',\n\t\t},\n\t],\n};\n\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`width` | Number | `60` | The width of image to display\n`height` | Number | `60` | The height of image to display\n`className` | String | `''` | Additional CSS classes\n`product` | Object | `null` | Product or variation object. The image to display will be pulled from `product.images` or `variation.image`. See https://woocommerce.github.io/woocommerce-rest-api-docs/#product-properties and https://woocommerce.github.io/woocommerce-rest-api-docs/#product-variation-properties\n`alt` | String | `null` | Text to use as the image alt attribute\n"},856:function(e,t,n){"use strict";n.r(t),t.default="Rating\n===\n\nUse `Rating` to display a set of stars, filled, empty or half-filled, that represents a\nrating in a scale between 0 and the prop `totalStars` (default 5).\n\n## Usage\n\n```jsx\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`rating` | Number | `0` | Number of stars that should be filled. You can pass a partial number of stars like `2.5`\n`totalStars` | Number | `5` | The total number of stars the rating is out of\n`size` | Number | `18` | The size in pixels the stars should be rendered at\n`className` | String | `null` | Additional CSS classes\n\n\nProductRating\n===\n\nDisplay a set of stars representing the product's average rating.\n\n## Usage\n\n```jsx\n// Use a real WooCommerce Product here.\nconst product = { average_rating: 3.5 };\n\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`product` | Object | `null` | (required) A product object containing a `average_rating`. See https://woocommerce.github.io/woocommerce-rest-api-docs/#products\n\n\nReviewRating\n===\n\nDisplay a set of stars representing the review's rating.\n\n## Usage\n\n```jsx\n// Use a real WooCommerce Review here.\nconst review = { rating: 5 };\n\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`review` | Object | `null` | (required) A review object containing a `rating`. See https://woocommerce.github.io/woocommerce-rest-api-docs/#retrieve-product-reviews\n"},857:function(e,t,n){"use strict";n.r(t),t.default="ScrollTo\n===\n\n\n\n## Usage\n\n```jsx\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`offset` | String | ``'0'`` | The offset from the top of the component\n"},858:function(e,t,n){"use strict";n.r(t),t.default='SearchListControl\n===\n\nComponent to display a searchable, selectable list of items.\n\n## Usage\n\n```jsx\n setState( { selected: items } ) }\n/>\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`className` | String | `null` | Additional CSS classes\n`isHierarchical` | Boolean | `null` | Whether the list of items is hierarchical or not. If true, each list item is expected to have a parent property\n`isLoading` | Boolean | `null` | Whether the list of items is still loading\n`isSingle` | Boolean | `null` | Restrict selections to one item\n`list` | Array | `null` | A complete list of item objects, each with id, name properties. This is displayed as a clickable/keyboard-able list, and possibly filtered by the search term (searches name)\n`messages` | Object | `null` | Messages displayed or read to the user. Configure these to reflect your object type. See `defaultMessages` above for examples\n`onChange` | Function | `null` | (required) Callback fired when selected items change, whether added, cleared, or removed. Passed an array of item objects (as passed in via props.list)\n`onSearch` | Function | `null` | Callback fired when the search field is used\n`renderItem` | Function | `null` | Callback to render each item in the selection list, allows any custom object-type rendering\n`selected` | Array | `null` | (required) The list of currently selected items\n`search` | String | `null` | \n`setState` | Function | `null` | \n`debouncedSpeak` | Function | `null` | \n`instanceId` | Number | `null` | \n\n### `list` item structure:\n\n - `id`: Number\n - `name`: String\n\n### `messages` object structure:\n\n - `clear`: String - A more detailed label for the "Clear all" button, read to screen reader users.\n - `list`: String - Label for the list of selectable items, only read to screen reader users.\n - `noItems`: String - Message to display when the list is empty (implies nothing loaded from the server\nor parent component).\n - `noResults`: String - Message to display when no matching results are found. %s is the search term.\n - `search`: String - Label for the search input\n - `selected`: Function - Label for the selected items. This is actually a function, so that we can pass\nthrough the count of currently selected items.\n - `updated`: String - Label indicating that search results have changed, read to screen reader users.\n\n\nSearchListItem\n===\n\n## Usage\n\nUsed implicitly by `SearchListControl` when the `renderItem` prop is omitted.\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`className` | String | `null` | Additional CSS classes\n`countLabel` | ReactNode | `null` | Label to display if `showCount` is set to true. If undefined, it will use `item.count`\n`depth` | Number | `0` | Depth, non-zero if the list is hierarchical\n`item` | Object | `null` | Current item to display\n`isSelected` | Boolean | `null` | Whether this item is selected\n`isSingle` | Boolean | `null` | Whether this should only display a single item (controls radio vs checkbox icon)\n`onSelect` | Function | `null` | Callback for selecting the item\n`search` | String | `\'\'` | Search string, used to highlight the substring in the item name\n`showCount` | Boolean | `false` | Toggles the "count" bubble on/off\n'},859:function(e,t,n){"use strict";n.r(t),t.default="Search\n===\n\nA search box which autocompletes results while typing, allowing for the user to select an existing object\n(product, order, customer, etc). Currently only products are supported.\n\n## Usage\n\n```jsx\n setState( { selected: items } ) }\n/>\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`allowFreeTextSearch` | Boolean | `false` | Render additional options in the autocompleter to allow free text entering depending on the type\n`className` | String | `null` | Class name applied to parent div\n`onChange` | Function | `noop` | Function called when selected results change, passed result list\n`type` | One of: 'categories', 'countries', 'coupons', 'customers', 'downloadIps', 'emails', 'orders', 'products', 'taxes', 'usernames', 'variations' | `null` | (required) The object type to be used in searching\n`placeholder` | String | `null` | A placeholder for the search input\n`selected` | Array | `[]` | An array of objects describing selected values. If the label of the selected value is omitted, the Tag of that value will not be rendered inside the search box.\n`inlineTags` | Boolean | `false` | Render tags inside input, otherwise render below input\n`showClearButton` | Boolean | `false` | Render a 'Clear' button next to the input box to remove its contents\n`staticResults` | Boolean | `false` | Render results list positioned statically instead of absolutely\n`disabled` | Boolean | `false` | Whether the control is disabled or not\n\n### `selected` item structure:\n\n- `id`: One of type: number, string\n- `label`: String"},860:function(e,t,n){"use strict";n.r(t),t.default='SectionHeader\n===\n\nA header component. The header can contain a title, actions via children, and an `EllipsisMenu` menu.\n\n## Usage\n\n```jsx\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`className` | String | `null` | Additional CSS classes\n`menu` | (custom validator) | `null` | An `EllipsisMenu`, with filters used to control the content visible in this card\n`title` | One of type: string, node | `null` | (required) The title to use for this card\n'},861:function(e,t,n){"use strict";n.r(t),t.default='H\n===\n\nThese components are used to frame out the page content for accessible heading hierarchy. Instead of defining fixed heading levels\n(`h2`, `h3`, …) you can use ` ` to create "section headings", which look to the parent ``s for the appropriate\nheading level.\n\n## Usage\n\n```jsx\n\n\t
Header using a contextual level (h3) \n\t
\n\t\tThis is an article component wrapper.
\n\t\tAnother header with contextual level (h4) \n\t\t\n\t\t\tThere is no wrapper component here.
\n\t\t\tThis is an h5 \n\t\t \n\t \n
\n```\n\nSection\n===\n\nThe section wrapper, used to indicate a sub-section (and change the header level context).\n\n## Usage\n\nSee above\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`component` | One of type: func, string, bool | `null` | The wrapper component for this section. Optional, defaults to `div`. If passed false, no wrapper is used. Additional props passed to Section are passed on to the component\n`children` | ReactNode | `null` | The children inside this section, rendered in the `component`. This increases the context level for the next heading used\n'},862:function(e,t,n){"use strict";n.r(t),t.default="SegmentedSelection\n===\n\nCreate a panel of styled selectable options rendering stylized checkboxes and labels\n\n## Usage\n\n```jsx\n setState( { selected: data[ name ] } ) }\n\tname={ name }\n/>\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`className` | String | `null` | Additional CSS classes\n`options` | Array | `null` | (required) An Array of options to render. The array needs to be composed of objects with properties `label` and `value`\n`selected` | String | `null` | Value of selected item\n`onSelect` | Function | `null` | (required) Callback to be executed after selection\n`name` | String | `null` | (required) This will be the key in the key and value arguments supplied to `onSelect`\n`legend` | String | `null` | (required) Create a legend visible to screen readers\n\n### `options` structure\n\nThe `options` array needs to be composed of objects with properties:\n\n- `value`: String - Input value for this option.\n- `label`: String - Label for this option."},863:function(e,t,n){"use strict";n.r(t),t.default="# SelectControl\n\nA search box which filters options while typing,\nallowing a user to select from an option from a filtered list.\n\n## Usage\n\n```jsx\nconst options = [\n\t{\n\t\tkey: 'apple',\n\t\tlabel: 'Apple',\n\t\tvalue: { id: 'apple' },\n\t},\n\t{\n\t\tkey: 'apricot',\n\t\tlabel: 'Apricot',\n\t\tvalue: { id: 'apricot' },\n\t},\n];\n\n setState( { singleSelected: selected } ) }\n\toptions={ options }\n\tplaceholder=\"Start typing to filter options...\"\n\tselected={ singleSelected }\n/>;\n```\n\n### Props\n\n| Name | Type | Default | Description |\n| ------------------------ | ------------ | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `className` | string | `null` | Class name applied to parent div |\n| `excludeSelectedOptions` | boolean | `true` | Exclude already selected options from the options list |\n| `onFilter` | function | `identity` | Add or remove items to the list of options after filtering, passed the array of filtered options and should return an array of options. |\n| `getSearchExpression` | function | `identity` | Function to add regex expression to the filter the results, passed the search query |\n| `help` | string\\|node | `null` | Help text to be appended beneath the input |\n| `inlineTags` | boolean | `false` | Render tags inside input, otherwise render below input |\n| `label` | string | `null` | A label to use for the main input |\n| `onChange` | function | `noop` | Function called when selected results change, passed result list |\n| `onSearch` | function | `noop` | Function to run after the search query is updated, passed the search query |\n| `options` | array | `null` | (required) An array of objects for the options list. The option along with its key, label and value will be returned in the onChange event |\n| `placeholder` | string | `null` | A placeholder for the search input |\n| `selected` | array | `[]` | An array of objects describing selected values. If the label of the selected value is omitted, the Tag of that value will not be rendered inside the search box |\n| `maxResults` | number | `0` | A limit for the number of results shown in the options menu. Set to 0 for no limit |\n| `multiple` | boolean | `false` | Allow multiple option selections |\n| `showClearButton` | boolean | `false` | Render a 'Clear' button next to the input box to remove its contents |\n| `hideBeforeSearch` | boolean | `false` | Only show list options after typing a search query |\n| `staticList` | boolean | `false` | Render results list positioned statically instead of absolutely |\n"},864:function(e,t,n){"use strict";n.r(t),t.default="Spinner\n===\n\nSpinner - An indeterminate circular progress indicator.\n\n## Usage\n\n```jsx\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`className` | String | `null` | Additional class name to style the component\n"},865:function(e,t,n){"use strict";n.r(t),t.default="SplitButton\n===\n\nA component for displaying a button with a main action plus a secondary set of actions behind a menu toggle.\n\n## Usage\n\n```jsx\n alert( 'Primary Main Action clicked' ) }\n\tcontrols={ [\n\t\t{\n\t\t\tlabel: 'Up',\n\t\t\tonClick: () => alert( 'Primary Up clicked' ),\n\t\t},\n\t\t{\n\t\t\tlabel: 'Down',\n\t\t\ticon: ,\n\t\t\tonClick: () => alert( 'Primary Down clicked' ),\n\t\t},\n\t] }\n/>\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`isPrimary` | Boolean | `false` | Whether the button is styled as a primary button\n`mainIcon` | ReactNode | `null` | Icon for the main button\n`mainLabel` | String | `null` | Label for the main button\n`onClick` | Function | `noop` | Function to activate when the the main button is clicked\n`menuLabel` | String | `null` | Label to display for the menu of actions, used as a heading on the mobile popover and for accessible text\n`controls` | Array | `null` | (required) An array of additional actions. Accepts additional icon, label, and onClick props\n`className` | String | `null` | Additional CSS classes\n\n### `controls` structure\n\nArray of additional actions with properties:\n\n- `icon`: One of type: string, element\n- `label`: String - Label displayed for this button.\n- `onClick`: Function - Click handler for this button."},866:function(e,t,n){"use strict";n.r(t),t.default="Stepper\n===\n\nA stepper component to indicate progress in a set number of steps.\n\n## Usage\n\n```jsx\nconst steps = [\n\t{\n\t\tkey: 'first',\n\t\tlabel: 'First',\n\t\tdescription: 'Step item description',\n\t\tcontent: First step content.
,\n\t},\n\t{\n\t\tkey: 'second',\n\t\tlabel: 'Second',\n\t\tdescription: 'Step item description',\n\t\tcontent: Second step content.
,\n\t},\n];\n\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`className` | String | `null` | Additional class name to style the component\n`currentStep` | String | `null` | (required) The current step's key\n`steps` | Array | `null` | (required) An array of steps used\n`isVertical` | Boolean | `false` | If the stepper is vertical instead of horizontal\n`isPending` | Boolean | `false` | Optionally mark the current step as pending to show a spinner\n\n### `steps` structure\n\nArray of step objects with properties:\n\n- `key:` String - Key used to identify step.\n- `label`: String - Label displayed in stepper.\n- `description`: String - Description displayed beneath the label.\n- `isComplete`: Boolean - Optionally mark a step complete regardless of step index.\n- `content`: ReactNode - Content displayed when the step is active."},867:function(e,t,n){"use strict";n.r(t),t.default='SummaryList\n===\n\nA container element for a list of SummaryNumbers. This component handles detecting & switching to the mobile format on smaller screens.\n\n## Usage\n\n```jsx\n\n\t{ () => {\n\t\treturn [\n\t\t\t ,\n\t\t\t ,\n\t\t];\n\t} }\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`children` | Function | `null` | (required) A function returning a list of ` `s\n`label` | String | `__( \'Performance Indicators\', \'woocommerce-admin\' )` | An optional label of this group, read to screen reader users\n\n\nSummaryNumber\n===\n\nA component to show a value, label, and an optional change percentage. Can also act as a link to a specific report focus.\n\n## Usage\n\nSee above\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`delta` | Number | `null` | A number to represent the percentage change since the last comparison period - positive numbers will show a green up arrow, negative numbers will show a red down arrow, and zero will show a flat right arrow. If omitted, no change value will display\n`href` | String | `\'\'` | An internal link to the report focused on this number\n`isOpen` | Boolean | `false` | Boolean describing whether the menu list is open. Only applies in mobile view, and only applies to the toggle-able item (first in the list)\n`label` | String | `null` | (required) A string description of this value, ex "Revenue", or "New Customers"\n`onToggle` | Function | `null` | A function used to switch the given SummaryNumber to a button, and called on click\n`prevLabel` | String | `__( \'Previous Period:\', \'woocommerce-admin\' )` | A string description of the previous value\'s timeframe, ex "Previous Year:"\n`prevValue` | One of type: number, string | `null` | A string or number value to display - a string is allowed so we can accept currency formatting. If omitted, this section won\'t display\n`reverseTrend` | Boolean | `false` | A boolean used to indicate that a negative delta is "good", and should be styled like a positive (and vice-versa)\n`selected` | Boolean | `false` | A boolean used to show a highlight style on this number\n`value` | One of type: number, string | `null` | A string or number value to display - a string is allowed so we can accept currency formatting\n`onLinkClickCallback` | Function | `noop` | A function to be called after a SummaryNumber, rendered as a link, is clicked\n\n\nSummaryListPlaceholder\n===\n\n`SummaryListPlaceholder` behaves like `SummaryList` but displays placeholder summary items instead of data. This can be used while loading data.\n\n## Usage\n\n```jsx\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`numberOfItems` | Number | `null` | (required) An integer with the number of summary items to display\n`numberOfRows` | | `5` | \n'},868:function(e,t,n){"use strict";n.r(t),t.default="TableCard\n===\n\nThis is an accessible, sortable, and scrollable table for displaying tabular data (like revenue and other analytics data).\nIt accepts `headers` for column headers, and `rows` for the table content.\n`rowHeader` can be used to define the index of the row header (or false if no header).\n\n`TableCard` serves as Card wrapper & contains a card header, ``, ` `, and ` `.\nThis includes filtering and comparison functionality for report pages.\n\n## Usage\n\n```jsx\nconst headers = [\n\t{ key: 'month', label: 'Month' },\n\t{ key: 'orders', label: 'Orders' },\n\t{ key: 'revenue', label: 'Revenue' },\n];\nconst rows = [\n\t[\n\t\t{ display: 'January', value: 1 },\n\t\t{ display: 10, value: 10 },\n\t\t{ display: '$530.00', value: 530 },\n\t],\n\t[\n\t\t{ display: 'February', value: 2 },\n\t\t{ display: 13, value: 13 },\n\t\t{ display: '$675.00', value: 675 },\n\t],\n\t[\n\t\t{ display: 'March', value: 3 },\n\t\t{ display: 9, value: 9 },\n\t\t{ display: '$460.00', value: 460 },\n\t],\n];\nconst summary = [\n\t{ label: 'Gross Income', value: '$830.00' },\n\t{ label: 'Taxes', value: '$96.32' },\n\t{ label: 'Shipping', value: '$50.00' },\n];\n\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`compareBy` | String | `null` | The string to use as a query parameter when comparing row items\n`compareParam` | String | `'filter'` | Url query parameter compare function operates on\n`headers` | Array | `null` | An array of column headers (see `Table` props)\n`labels` | Object | `null` | Custom labels for table header actions\n`ids` | Array | `null` | A list of IDs, matching to the row list so that ids[ 0 ] contains the object ID for the object displayed in row[ 0 ]\n`isLoading` | Boolean | `false` | Defines if the table contents are loading. It will display `TablePlaceholder` component instead of `Table` if that's the case\n`onQueryChange` | Function | `noop` | A function which returns a callback function to update the query string for a given `param`\n`onColumnsChange` | Function | `noop` | A function which returns a callback function which is called upon the user changing the visiblity of columns\n`onSearch` | Function | `noop` | A function which is called upon the user searching in the table header\n`onSort` | Function | `undefined` | A function which is called upon the user changing the sorting of the table\n`downloadable` | Boolean | `false` | Whether the table must be downloadable. If true, the download button will appear\n`onClickDownload` | Function | `null` | A callback function called when the \"download\" button is pressed. Optional, if used, the download button will appear\n`query` | Object | `{}` | An object of the query parameters passed to the page, ex `{ page: 2, per_page: 5 }`\n`rowHeader` | One of type: number, bool | `0` | An array of arrays of display/value object pairs (see `Table` props)\n`rows` | Array | `[]` | Which column should be the row header, defaults to the first item (`0`) (see `Table` props)\n`rowsPerPage` | Number | `null` | (required) The total number of rows to display per page\n`searchBy` | String | `null` | The string to use as a query parameter when searching row items\n`showMenu` | Boolean | `true` | Boolean to determine whether or not ellipsis menu is shown\n`summary` | Array | `null` | An array of objects with `label` & `value` properties, which display in a line under the table. Optional, can be left off to show no summary\n`title` | String | `null` | (required) The title used in the card header, also used as the caption for the content in this table\n`totalRows` | Number | `null` | (required) The total number of rows (across all pages)\n`baseSearchQuery` | Object | `{}` | Pass in query parameters to be included in the path when onSearch creates a new url\n\n### `labels` structure\n\nTable header action labels object with properties:\n\n- `compareButton`: String - Compare button label\n- `downloadButton`: String - Download button label\n- `helpText`: String - \n- `placeholder`: String - \n\n### `summary` structure\n\nArray of summary items objects with properties:\n\n- `label`: ReactNode\n- `value`: One of type: string, number \n\n\nEmptyTable\n===\n\n`EmptyTable` displays a blank space with an optional message passed as a children node\nwith the purpose of replacing a table with no rows.\nIt mimics the same height a table would have according to the `numberOfRows` prop.\n\n## Usage\n\n```jsx\n\n\tThere are no entries.\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`numberOfRows` | Number | `5` | An integer with the number of rows the box should occupy\n\n\nTablePlaceholder\n===\n\n`TablePlaceholder` behaves like `Table` but displays placeholder boxes instead of data. This can be used while loading.\n\n## Usage\n\n```jsx\nconst headers = [\n\t{ key: 'month', label: 'Month' },\n\t{ key: 'orders', label: 'Orders' },\n\t{ key: 'revenue', label: 'Revenue' },\n];\n\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`query` | Object | `null` | An object of the query parameters passed to the page, ex `{ page: 2, per_page: 5 }`\n`caption` | String | `null` | (required) A label for the content in this table\n`headers` | Array | `null` | An array of column headers (see `Table` props)\n`numberOfRows` | Number | `5` | An integer with the number of rows to display\n\n\nTableSummary\n===\n\nA component to display summarized table data - the list of data passed in on a single line.\n\n## Usage\n\n```jsx\nconst summary = [\n\t{ label: 'Gross Income', value: '$830.00' },\n\t{ label: 'Taxes', value: '$96.32' },\n\t{ label: 'Shipping', value: '$50.00' },\n];\n\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`data` | Array | `null` | An array of objects with `label` & `value` properties, which display on a single line\n\n\nTable\n===\n\nA table component, without the Card wrapper. This is a basic table display, sortable, but no default filtering.\n\nRow data should be passed to the component as a list of arrays, where each array is a row in the table.\nHeaders are passed in separately as an array of objects with column-related properties. For example,\nthis data would render the following table.\n\n```js\nconst headers = [ { label: 'Month' }, { label: 'Orders' }, { label: 'Revenue' } ];\nconst rows = [\n\t[\n\t\t{ display: 'January', value: 1 },\n\t\t{ display: 10, value: 10 },\n\t\t{ display: '$530.00', value: 530 },\n\t],\n\t[\n\t\t{ display: 'February', value: 2 },\n\t\t{ display: 13, value: 13 },\n\t\t{ display: '$675.00', value: 675 },\n\t],\n\t[\n\t\t{ display: 'March', value: 3 },\n\t\t{ display: 9, value: 9 },\n\t\t{ display: '$460.00', value: 460 },\n\t],\n]\n```\n\n| Month | Orders | Revenue |\n| ---------|--------|---------|\n| January | 10 | $530.00 |\n| February | 13 | $675.00 |\n| March | 9 | $460.00 |\n\n## Usage\n\n```jsx\n\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`ariaHidden` | Boolean | `false` | Controls whether this component is hidden from screen readers. Used by the loading state, before there is data to read. Don't use this on real tables unless the table data is loaded elsewhere on the page\n`caption` | String | `null` | (required) A label for the content in this table\n`className` | String | `null` | Additional CSS classes\n`headers` | Array | `[]` | An array of column headers, as objects\n`onSort` | Function | `noop` | A function called when sortable table headers are clicked, gets the `header.key` as argument\n`query` | Object | `{}` | The query string represented in object form\n`rows` | Array | `null` | (required) An array of arrays of display/value object pairs\n`rowHeader` | One of type: number, bool | `0` | Which column should be the row header, defaults to the first item (`0`) (but could be set to `1`, if the first col is checkboxes, for example). Set to false to disable row headers\n\n### `headers` structure\n\nArray of column header objects with properties:\n\n- `defaultSort`: Boolean - Boolean, true if this column is the default for sorting. Only one column should have this set.\n- `defaultOrder`: String - String, asc|desc if this column is the default for sorting. Only one column should have this set.\n- `isLeftAligned`: Boolean - Boolean, true if this column should be aligned to the left.\n- `isNumeric`: Boolean - Boolean, true if this column is a number value.\n- `isSortable`: Boolean - Boolean, true if this column is sortable.\n- `key`: String - The API parameter name for this column, passed to `orderby` when sorting via API.\n- `label`: ReactNode - The display label for this column.\n- `required`: Boolean - Boolean, true if this column should always display in the table (not shown in toggle-able list).\n- `screenReaderLabel`: String - The label used for screen readers for this column. \n\n### `rows` structure\n\nArray of arrays representing rows and columns. Column object properties:\n\n- `display`: ReactNode - Display value, used for rendering - strings or elements are best here.\n- `value`: One of type: string, number, bool"},869:function(e,t,n){"use strict";n.r(t),t.default='Tag\n===\n\nThis component can be used to show an item styled as a "tag", optionally with an `X` + "remove"\nor with a popover that is shown on click.\n\n\n\n## Usage\n\n```jsx\n \n \nThis is a popover ) } />\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`id` | One of type: number, string | `null` | The ID for this item, used in the remove function\n`label` | String | `null` | (required) The name for this item, displayed as the tag\'s text\n`popoverContents` | ReactNode | `null` | Contents to display on click in a popover\n`remove` | Function | `null` | A function called when the remove X is clicked. If not used, no X icon will display\n`screenReaderLabel` | String | `null` | A more descriptive label for screen reader users. Defaults to the `name` prop\n'},870:function(e,t,n){"use strict";n.r(t),t.default='TextControlWithAffixes\n===\n\nThis component is essentially a wrapper (really a reimplementation) around the\nTextControl component that adds support for affixes, i.e. the ability to display\na fixed part either at the beginning or at the end of the text input.\n\n## Usage\n\n```jsx\n setState( { fourth: value } ) }\n/>\n setState( { fifth: value } ) }\n help="This is some help text."\n/>\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`label` | String | `null` | If this property is added, a label will be generated using label property as the content\n`help` | String | `null` | If this property is added, a help text will be generated using help property as the content\n`type` | String | `\'text\'` | Type of the input element to render. Defaults to "text"\n`value` | String | `null` | (required) The current value of the input\n`className` | String | `null` | The class that will be added with "components-base-control" to the classes of the wrapper div. If no className is passed only components-base-control is used\n`onChange` | Function | `null` | (required) A function that receives the value of the input\n`prefix` | ReactNode | `null` | Markup to be inserted at the beginning of the input\n`suffix` | ReactNode | `null` | Markup to be appended at the end of the input\n`disabled` | Boolean | `null` | Disables the field\n'},871:function(e,t,n){"use strict";n.r(t),t.default='TextControl\n===\n\nAn input field use for text inputs in forms.\n\n## Usage\n\n```jsx\n setState( { value } ) }\n/>;\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`className` | String | ``null`` | Additional CSS classes\n`disabled` | Boolean | ``null`` | Disables the field\n`label` | String | ``null`` | Input label used as a placeholder\n`onClick` | Function | ``null`` | On click handler called when the component is clicked, passed the click event\n`value` | String | ``null`` | The value of the input field\n'},872:function(e,t,n){"use strict";n.r(t),t.default="ViewMoreList\n===\n\nThis component displays a 'X more' button that displays a list of items on a popover when clicked.\n\n\n\n## Usage\n\n```jsx\nLorem, Ipsum , Dolor , Sit ] }\n/>\n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`items` | Array | `[]` | `ReactNodes` to list in the popover\n"},873:function(e,t,n){"use strict";n.r(t),t.default='WebPreview\n===\n\nWebPreview component to display an iframe of another page.\n\n## Usage\n\n```jsx\n \n```\n\n### Props\n\nName | Type | Default | Description\n--- | --- | --- | ---\n`className` | String | `null` | Additional class name to style the component\n`loadingContent` | ReactNode | ` ` | Content shown when iframe is still loading\n`onLoad` | Function | `noop` | Function to fire when iframe content is loaded\n`src` | String | `null` | (required) Iframe src to load\n`title` | String | `null` | (required) Iframe title\n'},874:function(e){e.exports=JSON.parse('[{"component":"AdvancedFilters"},{"component":"AnimationSlider"},{"component":"Calendar"},{"component":"Card"},{"component":"Chart"},{"component":"CompareFilter"},{"component":"Count"},{"component":"Date"},{"component":"DateRangeFilterPicker"},{"component":"DropdownButton"},{"component":"EllipsisMenu"},{"component":"EmptyContent"},{"component":"FilterPicker"},{"component":"Flag"},{"component":"Form"},{"component":"Gravatar"},{"component":"ImageAsset"},{"component":"ImageUpload"},{"component":"Link"},{"component":"List"},{"component":"OrderStatus"},{"component":"Pagination"},{"component":"ProductImage"},{"component":"Rating"},{"component":"ScrollTo"},{"component":"Search"},{"component":"SearchListControl"},{"component":"Section"},{"component":"SegmentedSelection"},{"component":"SelectControl"},{"component":"Spinner"},{"component":"SplitButton"},{"component":"Stepper"},{"component":"Summary"},{"component":"Table"},{"component":"Tag"},{"component":"TextControl"},{"component":"TextControlWithAffixes"},{"component":"ViewMoreList"},{"component":"WebPreview"}]')},875:function(e,t,n){},907:function(e,t,n){"use strict";n.r(t),n.d(t,"default",(function(){return F}));var a=n(41),r=n.n(a),o=n(40),l=n.n(o),i=n(44),s=n.n(i),c=n(29),u=n.n(c),d=n(42),p=n.n(d),m=n(0),h=n(10),f=n.n(h),b=n(2),g=n(46),y=n.n(g),v=n(14),S=n.n(v);function w(){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}}var j=function(e){p()(i,e);var t,a,o=(t=i,function(){var e,n=u()(t);if(w()){var a=u()(this).constructor;e=Reflect.construct(n,arguments,a)}else e=n.apply(this,arguments);return s()(this,e)});function i(){var e,t;r()(this,i);for(var n=arguments.length,a=new Array(n),l=0;l 1 && arguments[1] !== undefined ? arguments[1] : false;
+ var onboarding = Object(_woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_2__[/* getSetting */ "g"])('onboarding', {}); // The population of onboarding.productTypes only happens if the task list should be shown
+ // so bail early if it isn't present.
+
+ if (!onboarding.productTypes) {
+ return productIds;
+ }
+
+ var productIds = [];
+ var plugins = Object(_woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_2__[/* getSetting */ "g"])('plugins', {});
+ var productTypes = profileItems.product_types || [];
+ productTypes.forEach(function (productType) {
+ if (onboarding.productTypes[productType] && onboarding.productTypes[productType].product && (includeInstalledItems || !plugins.installedPlugins.includes(onboarding.productTypes[productType].slug))) {
+ productIds.push(onboarding.productTypes[productType].product);
+ }
+ });
+ var theme = onboarding.themes.find(function (themeData) {
+ return themeData.slug === profileItems.theme;
+ });
+
+ if (theme && theme.id && getPriceValue(theme.price) > 0 && (includeInstalledItems || !theme.is_installed)) {
+ productIds.push(theme.id);
+ }
+
+ return productIds;
+}
+/**
+ * Get the value of a price from a string, removing any non-numeric characters.
+ *
+ * @param {string} string Price string.
+ * @return {number} Number value.
+ */
+
+function getPriceValue(string) {
+ return Number(Object(_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_0__["decodeEntities"])(string).replace(/[^0-9.-]+/g, ''));
+}
+/**
+ * Returns if the onboarding feature of WooCommerce Admin should be enabled.
+ *
+ * While we preform an a/b test of onboarding, the feature will be enabled within the plugin build,
+ * but only if the user recieved the test/opted in.
+ *
+ * @return {boolean} True if the onboarding is enabled.
+ */
+
+function isOnboardingEnabled() {
+ if (false) {}
+
+ return Object(_woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_2__[/* getSetting */ "g"])('onboardingEnabled', false);
+}
+
+/***/ }),
+
+/***/ 906:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+// ESM COMPAT FLAG
+__webpack_require__.r(__webpack_exports__);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/compose/build-module/higher-order/compose.js
+var compose = __webpack_require__(256);
+
+// EXTERNAL MODULE: external {"this":["wc","components"]}
+var external_this_wc_components_ = __webpack_require__(63);
+
+// EXTERNAL MODULE: ./client/wc-api/with-select.js
+var with_select = __webpack_require__(101);
+
+// EXTERNAL MODULE: ./client/dashboard/utils.js
+var utils = __webpack_require__(742);
+
+// EXTERNAL MODULE: external {"this":["wp","i18n"]}
+var external_this_wp_i18n_ = __webpack_require__(3);
+
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__(2);
+
+// EXTERNAL MODULE: external {"this":["wp","data"]}
+var external_this_wp_data_ = __webpack_require__(19);
+
+// EXTERNAL MODULE: ./node_modules/prop-types/index.js
+var prop_types = __webpack_require__(1);
+var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
+
+// EXTERNAL MODULE: ./client/lib/tracks.js
+var tracks = __webpack_require__(79);
+
+// EXTERNAL MODULE: ./client/settings/index.js
+var settings = __webpack_require__(26);
+
+// EXTERNAL MODULE: external {"this":["wp","hooks"]}
+var external_this_wp_hooks_ = __webpack_require__(48);
+
+// CONCATENATED MODULE: ./client/homepage/stats-overview/defaults.js
+/**
+ * External dependencies
+ */
+
+var DEFAULT_STATS = Object(external_this_wp_hooks_["applyFilters"])('woocommerce_admin_homepage_default_stats', ['revenue/total_sales', 'revenue/net_revenue', 'orders/orders_count', 'products/items_sold']);
+var DEFAULT_HIDDEN_STATS = ['revenue/net_revenue', 'products/items_sold'];
+// CONCATENATED MODULE: ./client/homepage/stats-overview/index.js
+
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var _getSetting = Object(settings["g" /* getSetting */])('dataEndpoints', {
+ performanceIndicators: []
+}),
+ performanceIndicators = _getSetting.performanceIndicators;
+
+var stats = performanceIndicators.filter(function (indicator) {
+ return DEFAULT_STATS.includes(indicator.stat);
+});
+var stats_overview_StatsOverview = function StatsOverview(_ref) {
+ var userPrefs = _ref.userPrefs,
+ updateCurrentUserData = _ref.updateCurrentUserData;
+ var userHiddenStats = userPrefs.hiddenStats;
+ var hiddenStats = userHiddenStats ? userHiddenStats : DEFAULT_HIDDEN_STATS;
+
+ var toggleStat = function toggleStat(stat) {
+ var nextHiddenStats = Object(external_lodash_["xor"])(hiddenStats, [stat]);
+ updateCurrentUserData({
+ homepage_stats: {
+ hiddenStats: nextHiddenStats
+ }
+ });
+ Object(tracks["b" /* recordEvent */])('statsoverview_indicators_toggle', {
+ indicator_name: stat,
+ status: nextHiddenStats.includes(stat) ? 'off' : 'on'
+ });
+ };
+
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Card"], {
+ className: "woocommerce-analytics__card",
+ title: Object(external_this_wp_i18n_["__"])('Stats overview', 'woocommerce-admin'),
+ menu: Object(external_this_wp_element_["createElement"])(external_this_wc_components_["EllipsisMenu"], {
+ label: Object(external_this_wp_i18n_["__"])('Choose which values to display', 'woocommerce-admin'),
+ renderContent: function renderContent() {
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["MenuTitle"], null, Object(external_this_wp_i18n_["__"])('Display stats:', 'woocommerce-admin')), stats.map(function (item) {
+ var checked = !hiddenStats.includes(item.stat);
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["MenuItem"], {
+ checked: checked,
+ isCheckbox: true,
+ isClickable: true,
+ key: item.stat,
+ onInvoke: function onInvoke() {
+ return toggleStat(item.stat);
+ }
+ }, item.label);
+ }));
+ }
+ })
+ }, "Content Here");
+};
+stats_overview_StatsOverview.propTypes = {
+ /**
+ * Homepage user preferences.
+ */
+ userPrefs: prop_types_default.a.object.isRequired,
+
+ /**
+ * A method to update user meta.
+ */
+ updateCurrentUserData: prop_types_default.a.func.isRequired
+};
+/* harmony default export */ var stats_overview = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select) {
+ var _select = select('wc-api'),
+ getCurrentUserData = _select.getCurrentUserData;
+
+ return {
+ userPrefs: getCurrentUserData().homepage_stats || {}
+ };
+}), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('wc-api'),
+ updateCurrentUserData = _dispatch.updateCurrentUserData;
+
+ return {
+ updateCurrentUserData: updateCurrentUserData
+ };
+}))(stats_overview_StatsOverview));
+// CONCATENATED MODULE: ./client/homepage/index.js
+
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var ProfileWizard = Object(external_this_wp_element_["lazy"])(function () {
+ return Promise.all(/* import() | profile-wizard */[__webpack_require__.e(2), __webpack_require__.e(5), __webpack_require__.e(40)]).then(__webpack_require__.bind(null, 897));
+});
+
+var homepage_Homepage = function Homepage(_ref) {
+ var profileItems = _ref.profileItems,
+ query = _ref.query;
+
+ if (Object(utils["e" /* isOnboardingEnabled */])() && !profileItems.completed) {
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Suspense"], {
+ fallback: Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Spinner"], null)
+ }, Object(external_this_wp_element_["createElement"])(ProfileWizard, {
+ query: query
+ }));
+ }
+
+ return Object(external_this_wp_element_["createElement"])(stats_overview, null);
+};
+
+/* harmony default export */ var homepage = __webpack_exports__["default"] = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select) {
+ if (!Object(utils["e" /* isOnboardingEnabled */])()) {
+ return;
+ }
+
+ var _select = select('wc-api'),
+ getProfileItems = _select.getProfileItems;
+
+ var profileItems = getProfileItems();
+ return {
+ profileItems: profileItems
+ };
+}))(homepage_Homepage));
+
+/***/ })
+
+}]);
\ No newline at end of file
diff --git a/dist/chunks/homepage.a9dfdc35bddd3d3b6246.min.js b/dist/chunks/homepage.a9dfdc35bddd3d3b6246.min.js
new file mode 100644
index 00000000000..588195779f4
--- /dev/null
+++ b/dist/chunks/homepage.a9dfdc35bddd3d3b6246.min.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[29],{742:function(e,t,n){"use strict";n.d(t,"a",(function(){return a})),n.d(t,"b",(function(){return o})),n.d(t,"d",(function(){return i})),n.d(t,"c",(function(){return s})),n.d(t,"e",(function(){return l}));var r=n(69),c=n(2),u=n(26);function a(e){return e?e.split(":")[0]:null}function o(e){var t=a(e);return Object(c.without)(Object(u.g)("onboarding",{euCountries:[]}).euCountries,"GB").includes(t)&&(t="EU"),t}function i(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=Object(u.g)("onboarding",{});if(!n.productTypes)return r;var r=[],c=Object(u.g)("plugins",{}),a=e.product_types||[];a.forEach((function(e){n.productTypes[e]&&n.productTypes[e].product&&(t||!c.installedPlugins.includes(n.productTypes[e].slug))&&r.push(n.productTypes[e].product)}));var o=n.themes.find((function(t){return t.slug===e.theme}));return o&&o.id&&s(o.price)>0&&(t||!o.is_installed)&&r.push(o.id),r}function s(e){return Number(Object(r.decodeEntities)(e).replace(/[^0-9.-]+/g,""))}function l(){return Object(u.g)("onboardingEnabled",!1)}},906:function(e,t,n){"use strict";n.r(t);var r=n(0),c=n(256),u=n(63),a=n(101),o=n(742),i=n(3),s=n(2),l=n(19),d=n(1),p=n.n(d),b=n(79),m=n(26),f=n(48),j=Object(f.applyFilters)("woocommerce_admin_homepage_default_stats",["revenue/total_sales","revenue/net_revenue","orders/orders_count","products/items_sold"]),O=["revenue/net_revenue","products/items_sold"],_=Object(m.g)("dataEndpoints",{performanceIndicators:[]}).performanceIndicators.filter((function(e){return j.includes(e.stat)})),v=function(e){var t=e.userPrefs,n=e.updateCurrentUserData,c=t.hiddenStats,a=c||O;return Object(r.createElement)(u.Card,{className:"woocommerce-analytics__card",title:Object(i.__)("Stats overview","woocommerce-admin"),menu:Object(r.createElement)(u.EllipsisMenu,{label:Object(i.__)("Choose which values to display","woocommerce-admin"),renderContent:function(){return Object(r.createElement)(r.Fragment,null,Object(r.createElement)(u.MenuTitle,null,Object(i.__)("Display stats:","woocommerce-admin")),_.map((function(e){var t=!a.includes(e.stat);return Object(r.createElement)(u.MenuItem,{checked:t,isCheckbox:!0,isClickable:!0,key:e.stat,onInvoke:function(){return t=e.stat,r=Object(s.xor)(a,[t]),n({homepage_stats:{hiddenStats:r}}),void Object(b.b)("statsoverview_indicators_toggle",{indicator_name:t,status:r.includes(t)?"off":"on"});var t,r}},e.label)})))}})},"Content Here")};v.propTypes={userPrefs:p.a.object.isRequired,updateCurrentUserData:p.a.func.isRequired};var g=Object(c.a)(Object(a.a)((function(e){return{userPrefs:(0,e("wc-api").getCurrentUserData)().homepage_stats||{}}})),Object(l.withDispatch)((function(e){return{updateCurrentUserData:e("wc-api").updateCurrentUserData}})))(v),h=Object(r.lazy)((function(){return Promise.all([n.e(2),n.e(5),n.e(40)]).then(n.bind(null,897))}));t.default=Object(c.a)(Object(a.a)((function(e){if(Object(o.e)())return{profileItems:(0,e("wc-api").getProfileItems)()}})))((function(e){var t=e.profileItems,n=e.query;return Object(o.e)()&&!t.completed?Object(r.createElement)(r.Suspense,{fallback:Object(r.createElement)(u.Spinner,null)},Object(r.createElement)(h,{query:n})):Object(r.createElement)(g,null)}))}}]);
\ No newline at end of file
diff --git a/dist/chunks/leaderboards.6ebf410fa2e671dfada5.js b/dist/chunks/leaderboards.6ebf410fa2e671dfada5.js
new file mode 100644
index 00000000000..0b640659dd1
--- /dev/null
+++ b/dist/chunks/leaderboards.6ebf410fa2e671dfada5.js
@@ -0,0 +1,596 @@
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[31],{
+
+/***/ 709:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11);
+/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(17);
+/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_4__);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(173);
+/* harmony import */ var _base_control__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(171);
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+function SelectControl(_ref) {
+ var help = _ref.help,
+ instanceId = _ref.instanceId,
+ label = _ref.label,
+ _ref$multiple = _ref.multiple,
+ multiple = _ref$multiple === void 0 ? false : _ref$multiple,
+ onChange = _ref.onChange,
+ _ref$options = _ref.options,
+ options = _ref$options === void 0 ? [] : _ref$options,
+ className = _ref.className,
+ hideLabelFromVision = _ref.hideLabelFromVision,
+ props = Object(_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(_ref, ["help", "instanceId", "label", "multiple", "onChange", "options", "className", "hideLabelFromVision"]);
+
+ var id = "inspector-select-control-".concat(instanceId);
+
+ var onChangeValue = function onChangeValue(event) {
+ if (multiple) {
+ var selectedOptions = Object(_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(event.target.options).filter(function (_ref2) {
+ var selected = _ref2.selected;
+ return selected;
+ });
+
+ var newValues = selectedOptions.map(function (_ref3) {
+ var value = _ref3.value;
+ return value;
+ });
+ onChange(newValues);
+ return;
+ }
+
+ onChange(event.target.value);
+ }; // Disable reason: A select with an onchange throws a warning
+
+ /* eslint-disable jsx-a11y/no-onchange */
+
+
+ return !Object(lodash__WEBPACK_IMPORTED_MODULE_4__["isEmpty"])(options) && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])(_base_control__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"], {
+ label: label,
+ hideLabelFromVision: hideLabelFromVision,
+ id: id,
+ help: help,
+ className: className
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])("select", Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({
+ id: id,
+ className: "components-select-control__input",
+ onChange: onChangeValue,
+ "aria-describedby": !!help ? "".concat(id, "__help") : undefined,
+ multiple: multiple
+ }, props), options.map(function (option, index) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])("option", {
+ key: "".concat(option.label, "-").concat(option.value, "-").concat(index),
+ value: option.value,
+ disabled: option.disabled
+ }, option.label);
+ })));
+ /* eslint-enable jsx-a11y/no-onchange */
+}
+
+/* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])(SelectControl));
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 747:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export ALLOWED_TAGS */
+/* unused harmony export ALLOWED_ATTR */
+/* harmony import */ var dompurify__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(758);
+/* harmony import */ var dompurify__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(dompurify__WEBPACK_IMPORTED_MODULE_0__);
+/**
+ * External dependencies
+ */
+
+var ALLOWED_TAGS = ['a', 'b', 'em', 'i', 'strong', 'p'];
+var ALLOWED_ATTR = ['target', 'href', 'rel', 'name', 'download'];
+/* harmony default export */ __webpack_exports__["a"] = (function (html) {
+ return {
+ __html: Object(dompurify__WEBPACK_IMPORTED_MODULE_0__["sanitize"])(html, {
+ ALLOWED_TAGS: ALLOWED_TAGS,
+ ALLOWED_ATTR: ALLOWED_ATTR
+ })
+ };
+});
+
+/***/ }),
+
+/***/ 894:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ }),
+
+/***/ 895:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ }),
+
+/***/ 912:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+// ESM COMPAT FLAG
+__webpack_require__.r(__webpack_exports__);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js
+var classCallCheck = __webpack_require__(41);
+var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js
+var createClass = __webpack_require__(40);
+var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(44);
+var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(29);
+var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js
+var inherits = __webpack_require__(42);
+var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: external {"this":["wp","i18n"]}
+var external_this_wp_i18n_ = __webpack_require__(3);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/compose/build-module/higher-order/compose.js
+var compose = __webpack_require__(256);
+
+// EXTERNAL MODULE: ./node_modules/prop-types/index.js
+var prop_types = __webpack_require__(1);
+var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/select-control/index.js
+var select_control = __webpack_require__(709);
+
+// EXTERNAL MODULE: external {"this":["wp","data"]}
+var external_this_wp_data_ = __webpack_require__(19);
+
+// EXTERNAL MODULE: external {"this":["wc","components"]}
+var external_this_wc_components_ = __webpack_require__(63);
+
+// EXTERNAL MODULE: ./client/settings/index.js
+var settings = __webpack_require__(26);
+
+// EXTERNAL MODULE: external {"this":["wc","navigation"]}
+var external_this_wc_navigation_ = __webpack_require__(22);
+
+// EXTERNAL MODULE: external {"this":["wc","data"]}
+var external_this_wc_data_ = __webpack_require__(51);
+
+// EXTERNAL MODULE: ./client/wc-api/items/utils.js
+var utils = __webpack_require__(267);
+
+// EXTERNAL MODULE: ./client/analytics/components/report-error/index.js
+var report_error = __webpack_require__(261);
+
+// EXTERNAL MODULE: ./client/lib/sanitize-html/index.js
+var sanitize_html = __webpack_require__(747);
+
+// EXTERNAL MODULE: ./client/wc-api/with-select.js
+var with_select = __webpack_require__(101);
+
+// EXTERNAL MODULE: ./client/analytics/components/leaderboard/style.scss
+var style = __webpack_require__(894);
+
+// CONCATENATED MODULE: ./client/analytics/components/leaderboard/index.js
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+var leaderboard_Leaderboard = /*#__PURE__*/function (_Component) {
+ inherits_default()(Leaderboard, _Component);
+
+ var _super = _createSuper(Leaderboard);
+
+ function Leaderboard() {
+ classCallCheck_default()(this, Leaderboard);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(Leaderboard, [{
+ key: "getFormattedHeaders",
+ value: function getFormattedHeaders() {
+ return this.props.headers.map(function (header, i) {
+ return {
+ isLeftAligned: i === 0,
+ hiddenByDefault: false,
+ isSortable: false,
+ key: header.label,
+ label: header.label
+ };
+ });
+ }
+ }, {
+ key: "getFormattedRows",
+ value: function getFormattedRows() {
+ return this.props.rows.map(function (row) {
+ return row.map(function (column) {
+ return {
+ display: Object(external_this_wp_element_["createElement"])("div", {
+ dangerouslySetInnerHTML: Object(sanitize_html["a" /* default */])(column.display)
+ }),
+ value: column.value
+ };
+ });
+ });
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ isRequesting = _this$props.isRequesting,
+ isError = _this$props.isError,
+ totalRows = _this$props.totalRows,
+ title = _this$props.title;
+ var classes = 'woocommerce-leaderboard';
+
+ if (isError) {
+ return Object(external_this_wp_element_["createElement"])(report_error["a" /* default */], {
+ className: classes,
+ isError: true
+ });
+ }
+
+ var rows = this.getFormattedRows();
+
+ if (!isRequesting && rows.length === 0) {
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Card"], {
+ title: title,
+ className: classes
+ }, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["EmptyTable"], null, Object(external_this_wp_i18n_["__"])('No data recorded for the selected time period.', 'woocommerce-admin')));
+ }
+
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["TableCard"], {
+ className: classes,
+ headers: this.getFormattedHeaders(),
+ isLoading: isRequesting,
+ rows: rows,
+ rowsPerPage: totalRows,
+ showMenu: false,
+ title: title,
+ totalRows: totalRows
+ });
+ }
+ }]);
+
+ return Leaderboard;
+}(external_this_wp_element_["Component"]);
+leaderboard_Leaderboard.propTypes = {
+ /**
+ * An array of column headers.
+ */
+ headers: prop_types_default.a.arrayOf(prop_types_default.a.shape({
+ label: prop_types_default.a.string
+ })),
+
+ /**
+ * String of leaderboard ID to display.
+ */
+ id: prop_types_default.a.string.isRequired,
+
+ /**
+ * Query args added to the report table endpoint request.
+ */
+ query: prop_types_default.a.object,
+
+ /**
+ * Which column should be the row header, defaults to the first item (`0`) (see `Table` props).
+ */
+ rows: prop_types_default.a.arrayOf(prop_types_default.a.arrayOf(prop_types_default.a.shape({
+ display: prop_types_default.a.node,
+ value: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.number, prop_types_default.a.bool])
+ }))).isRequired,
+
+ /**
+ * String to display as the title of the table.
+ */
+ title: prop_types_default.a.string.isRequired,
+
+ /**
+ * Number of table rows.
+ */
+ totalRows: prop_types_default.a.number.isRequired
+};
+leaderboard_Leaderboard.defaultProps = {
+ rows: [],
+ isError: false,
+ isRequesting: false
+};
+/* harmony default export */ var components_leaderboard = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select, props) {
+ var id = props.id,
+ query = props.query,
+ totalRows = props.totalRows;
+
+ var _select$getSetting = select(external_this_wc_data_["SETTINGS_STORE_NAME"]).getSetting('wc_admin', 'wcAdminSettings'),
+ defaultDateRange = _select$getSetting.woocommerce_default_date_range;
+
+ var leaderboardQuery = {
+ id: id,
+ per_page: totalRows,
+ persisted_query: Object(external_this_wc_navigation_["getPersistedQuery"])(query),
+ query: query,
+ select: select,
+ defaultDateRange: defaultDateRange
+ };
+ var leaderboardData = Object(utils["a" /* getLeaderboard */])(leaderboardQuery);
+ return leaderboardData;
+}))(leaderboard_Leaderboard));
+// EXTERNAL MODULE: ./client/lib/tracks.js
+var tracks = __webpack_require__(79);
+
+// EXTERNAL MODULE: ./client/dashboard/leaderboards/style.scss
+var leaderboards_style = __webpack_require__(895);
+
+// CONCATENATED MODULE: ./client/dashboard/leaderboards/index.js
+
+
+
+
+
+
+
+function leaderboards_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (leaderboards_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function leaderboards_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+var leaderboards_Leaderboards = /*#__PURE__*/function (_Component) {
+ inherits_default()(Leaderboards, _Component);
+
+ var _super = leaderboards_createSuper(Leaderboards);
+
+ function Leaderboards(props) {
+ var _this;
+
+ classCallCheck_default()(this, Leaderboards);
+
+ _this = _super.apply(this, arguments);
+
+ _this.setRowsPerTable = function (rows) {
+ _this.setState({
+ rowsPerTable: parseInt(rows, 10)
+ });
+
+ var userDataFields = {
+ dashboard_leaderboard_rows: parseInt(rows, 10)
+ };
+
+ _this.props.updateCurrentUserData(userDataFields);
+ };
+
+ _this.state = {
+ rowsPerTable: parseInt(props.userPrefLeaderboardRows, 10) || 5
+ };
+ return _this;
+ }
+
+ createClass_default()(Leaderboards, [{
+ key: "renderMenu",
+ value: function renderMenu() {
+ var _this2 = this;
+
+ var _this$props = this.props,
+ allLeaderboards = _this$props.allLeaderboards,
+ isFirst = _this$props.isFirst,
+ isLast = _this$props.isLast,
+ hiddenBlocks = _this$props.hiddenBlocks,
+ onMove = _this$props.onMove,
+ onRemove = _this$props.onRemove,
+ onTitleBlur = _this$props.onTitleBlur,
+ onTitleChange = _this$props.onTitleChange,
+ onToggleHiddenBlock = _this$props.onToggleHiddenBlock,
+ titleInput = _this$props.titleInput,
+ Controls = _this$props.controls;
+ var rowsPerTable = this.state.rowsPerTable;
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["EllipsisMenu"], {
+ label: Object(external_this_wp_i18n_["__"])('Choose which leaderboards to display and other settings', 'woocommerce-admin'),
+ renderContent: function renderContent(_ref) {
+ var onToggle = _ref.onToggle;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["MenuTitle"], null, Object(external_this_wp_i18n_["__"])('Leaderboards', 'woocommerce-admin')), allLeaderboards.map(function (leaderboard) {
+ var checked = !hiddenBlocks.includes(leaderboard.id);
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["MenuItem"], {
+ checked: checked,
+ isCheckbox: true,
+ isClickable: true,
+ key: leaderboard.id,
+ onInvoke: function onInvoke() {
+ onToggleHiddenBlock(leaderboard.id)();
+ Object(tracks["b" /* recordEvent */])('dash_leaderboards_toggle', {
+ status: checked ? 'off' : 'on',
+ key: leaderboard.id
+ });
+ }
+ }, leaderboard.label);
+ }), Object(external_this_wp_element_["createElement"])(select_control["a" /* default */], {
+ className: "woocommerce-dashboard__dashboard-leaderboards__select",
+ label: Object(external_this_wp_i18n_["__"])('Rows Per Table', 'woocommerce-admin'),
+ value: rowsPerTable,
+ options: Array.from({
+ length: 20
+ }, function (v, key) {
+ return {
+ v: key + 1,
+ label: key + 1
+ };
+ }),
+ onChange: _this2.setRowsPerTable
+ }), true && Object(external_this_wp_element_["createElement"])(Controls, {
+ onToggle: onToggle,
+ onMove: onMove,
+ onRemove: onRemove,
+ isFirst: isFirst,
+ isLast: isLast,
+ onTitleBlur: onTitleBlur,
+ onTitleChange: onTitleChange,
+ titleInput: titleInput
+ }));
+ }
+ });
+ }
+ }, {
+ key: "renderLeaderboards",
+ value: function renderLeaderboards() {
+ var rowsPerTable = this.state.rowsPerTable;
+ var _this$props2 = this.props,
+ allLeaderboards = _this$props2.allLeaderboards,
+ hiddenBlocks = _this$props2.hiddenBlocks,
+ query = _this$props2.query;
+ return allLeaderboards.map(function (leaderboard) {
+ if (hiddenBlocks.includes(leaderboard.id)) {
+ return undefined;
+ }
+
+ return Object(external_this_wp_element_["createElement"])(components_leaderboard, {
+ headers: leaderboard.headers,
+ id: leaderboard.id,
+ key: leaderboard.id,
+ query: query,
+ title: leaderboard.label,
+ totalRows: rowsPerTable
+ });
+ });
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var title = this.props.title;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-dashboard__dashboard-leaderboards"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["SectionHeader"], {
+ title: title || Object(external_this_wp_i18n_["__"])('Leaderboards', 'woocommerce-admin'),
+ menu: this.renderMenu()
+ }), Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-dashboard__columns"
+ }, this.renderLeaderboards())));
+ }
+ }]);
+
+ return Leaderboards;
+}(external_this_wp_element_["Component"]);
+
+leaderboards_Leaderboards.propTypes = {
+ query: prop_types_default.a.object.isRequired
+};
+/* harmony default export */ var leaderboards = __webpack_exports__["default"] = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select) {
+ var _select = select('wc-api'),
+ getCurrentUserData = _select.getCurrentUserData,
+ getItems = _select.getItems,
+ getItemsError = _select.getItemsError,
+ isGetItemsRequesting = _select.isGetItemsRequesting;
+
+ var userData = getCurrentUserData();
+
+ var _getSetting = Object(settings["g" /* getSetting */])('dataEndpoints', {
+ leaderboards: []
+ }),
+ allLeaderboards = _getSetting.leaderboards;
+
+ return {
+ allLeaderboards: allLeaderboards,
+ getItems: getItems,
+ getItemsError: getItemsError,
+ isGetItemsRequesting: isGetItemsRequesting,
+ userPrefLeaderboardRows: userData.dashboard_leaderboard_rows
+ };
+}), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('wc-api'),
+ updateCurrentUserData = _dispatch.updateCurrentUserData;
+
+ return {
+ updateCurrentUserData: updateCurrentUserData
+ };
+}))(leaderboards_Leaderboards));
+
+/***/ })
+
+}]);
\ No newline at end of file
diff --git a/dist/chunks/leaderboards.6ebf410fa2e671dfada5.min.js b/dist/chunks/leaderboards.6ebf410fa2e671dfada5.min.js
new file mode 100644
index 00000000000..f2e5febc141
--- /dev/null
+++ b/dist/chunks/leaderboards.6ebf410fa2e671dfada5.min.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[31],{709:function(e,t,r){"use strict";var a=r(11),n=r(17),o=r(16),s=r(0),i=r(2),c=r(173),l=r(171);t.a=Object(c.a)((function(e){var t=e.help,r=e.instanceId,c=e.label,u=e.multiple,d=void 0!==u&&u,b=e.onChange,m=e.options,p=void 0===m?[]:m,f=e.className,h=e.hideLabelFromVision,g=Object(o.a)(e,["help","instanceId","label","multiple","onChange","options","className","hideLabelFromVision"]),v="inspector-select-control-".concat(r);return!Object(i.isEmpty)(p)&&Object(s.createElement)(l.a,{label:c,hideLabelFromVision:h,id:v,help:t,className:f},Object(s.createElement)("select",Object(a.a)({id:v,className:"components-select-control__input",onChange:function(e){if(d){var t=Object(n.a)(e.target.options).filter((function(e){return e.selected})).map((function(e){return e.value}));b(t)}else b(e.target.value)},"aria-describedby":t?"".concat(v,"__help"):void 0,multiple:d},g),p.map((function(e,t){return Object(s.createElement)("option",{key:"".concat(e.label,"-").concat(e.value,"-").concat(t),value:e.value,disabled:e.disabled},e.label)}))))}))},747:function(e,t,r){"use strict";var a=r(758),n=["a","b","em","i","strong","p"],o=["target","href","rel","name","download"];t.a=function(e){return{__html:Object(a.sanitize)(e,{ALLOWED_TAGS:n,ALLOWED_ATTR:o})}}},894:function(e,t,r){},895:function(e,t,r){},912:function(e,t,r){"use strict";r.r(t);var a=r(41),n=r.n(a),o=r(40),s=r.n(o),i=r(44),c=r.n(i),l=r(29),u=r.n(l),d=r(42),b=r.n(d),m=r(0),p=r(3),f=r(256),h=r(1),g=r.n(h),v=r(709),y=r(19),w=r(63),O=r(26),j=r(22),_=r(51),R=r(267),E=r(261),T=r(747),L=r(101);r(894);function k(){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}}var C=function(e){b()(a,e);var t,r=(t=a,function(){var e,r=u()(t);if(k()){var a=u()(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return c()(this,e)});function a(){return n()(this,a),r.apply(this,arguments)}return s()(a,[{key:"getFormattedHeaders",value:function(){return this.props.headers.map((function(e,t){return{isLeftAligned:0===t,hiddenByDefault:!1,isSortable:!1,key:e.label,label:e.label}}))}},{key:"getFormattedRows",value:function(){return this.props.rows.map((function(e){return e.map((function(e){return{display:Object(m.createElement)("div",{dangerouslySetInnerHTML:Object(T.a)(e.display)}),value:e.value}}))}))}},{key:"render",value:function(){var e=this.props,t=e.isRequesting,r=e.isError,a=e.totalRows,n=e.title,o="woocommerce-leaderboard";if(r)return Object(m.createElement)(E.a,{className:o,isError:!0});var s=this.getFormattedRows();return t||0!==s.length?Object(m.createElement)(w.TableCard,{className:o,headers:this.getFormattedHeaders(),isLoading:t,rows:s,rowsPerPage:a,showMenu:!1,title:n,totalRows:a}):Object(m.createElement)(w.Card,{title:n,className:o},Object(m.createElement)(w.EmptyTable,null,Object(p.__)("No data recorded for the selected time period.","woocommerce-admin")))}}]),a}(m.Component);C.propTypes={headers:g.a.arrayOf(g.a.shape({label:g.a.string})),id:g.a.string.isRequired,query:g.a.object,rows:g.a.arrayOf(g.a.arrayOf(g.a.shape({display:g.a.node,value:g.a.oneOfType([g.a.string,g.a.number,g.a.bool])}))).isRequired,title:g.a.string.isRequired,totalRows:g.a.number.isRequired},C.defaultProps={rows:[],isError:!1,isRequesting:!1};var I=Object(f.a)(Object(L.a)((function(e,t){var r=t.id,a=t.query,n=t.totalRows,o=e(_.SETTINGS_STORE_NAME).getSetting("wc_admin","wcAdminSettings").woocommerce_default_date_range,s={id:r,per_page:n,persisted_query:Object(j.getPersistedQuery)(a),query:a,select:e,defaultDateRange:o};return Object(R.a)(s)})))(C),q=r(79);r(895);function P(){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}}var D=function(e){b()(a,e);var t,r=(t=a,function(){var e,r=u()(t);if(P()){var a=u()(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return c()(this,e)});function a(e){var t;return n()(this,a),(t=r.apply(this,arguments)).setRowsPerTable=function(e){t.setState({rowsPerTable:parseInt(e,10)});var r={dashboard_leaderboard_rows:parseInt(e,10)};t.props.updateCurrentUserData(r)},t.state={rowsPerTable:parseInt(e.userPrefLeaderboardRows,10)||5},t}return s()(a,[{key:"renderMenu",value:function(){var e=this,t=this.props,r=t.allLeaderboards,a=t.isFirst,n=t.isLast,o=t.hiddenBlocks,s=t.onMove,i=t.onRemove,c=t.onTitleBlur,l=t.onTitleChange,u=t.onToggleHiddenBlock,d=t.titleInput,b=t.controls,f=this.state.rowsPerTable;return Object(m.createElement)(w.EllipsisMenu,{label:Object(p.__)("Choose which leaderboards to display and other settings","woocommerce-admin"),renderContent:function(t){var h=t.onToggle;return Object(m.createElement)(m.Fragment,null,Object(m.createElement)(w.MenuTitle,null,Object(p.__)("Leaderboards","woocommerce-admin")),r.map((function(e){var t=!o.includes(e.id);return Object(m.createElement)(w.MenuItem,{checked:t,isCheckbox:!0,isClickable:!0,key:e.id,onInvoke:function(){u(e.id)(),Object(q.b)("dash_leaderboards_toggle",{status:t?"off":"on",key:e.id})}},e.label)})),Object(m.createElement)(v.a,{className:"woocommerce-dashboard__dashboard-leaderboards__select",label:Object(p.__)("Rows Per Table","woocommerce-admin"),value:f,options:Array.from({length:20},(function(e,t){return{v:t+1,label:t+1}})),onChange:e.setRowsPerTable}),Object(m.createElement)(b,{onToggle:h,onMove:s,onRemove:i,isFirst:a,isLast:n,onTitleBlur:c,onTitleChange:l,titleInput:d}))}})}},{key:"renderLeaderboards",value:function(){var e=this.state.rowsPerTable,t=this.props,r=t.allLeaderboards,a=t.hiddenBlocks,n=t.query;return r.map((function(t){if(!a.includes(t.id))return Object(m.createElement)(I,{headers:t.headers,id:t.id,key:t.id,query:n,title:t.label,totalRows:e})}))}},{key:"render",value:function(){var e=this.props.title;return Object(m.createElement)(m.Fragment,null,Object(m.createElement)("div",{className:"woocommerce-dashboard__dashboard-leaderboards"},Object(m.createElement)(w.SectionHeader,{title:e||Object(p.__)("Leaderboards","woocommerce-admin"),menu:this.renderMenu()}),Object(m.createElement)("div",{className:"woocommerce-dashboard__columns"},this.renderLeaderboards())))}}]),a}(m.Component);D.propTypes={query:g.a.object.isRequired};t.default=Object(f.a)(Object(L.a)((function(e){var t=e("wc-api"),r=t.getCurrentUserData,a=t.getItems,n=t.getItemsError,o=t.isGetItemsRequesting,s=r();return{allLeaderboards:Object(O.g)("dataEndpoints",{leaderboards:[]}).leaderboards,getItems:a,getItemsError:n,isGetItemsRequesting:o,userPrefLeaderboardRows:s.dashboard_leaderboard_rows}})),Object(y.withDispatch)((function(e){return{updateCurrentUserData:e("wc-api").updateCurrentUserData}})))(D)}}]);
\ No newline at end of file
diff --git a/dist/chunks/marketing-overview.b6047d897bbd2208cd37.js b/dist/chunks/marketing-overview.b6047d897bbd2208cd37.js
new file mode 100644
index 00000000000..13fcd785621
--- /dev/null
+++ b/dist/chunks/marketing-overview.b6047d897bbd2208cd37.js
@@ -0,0 +1,1666 @@
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[32],{
+
+/***/ 774:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ }),
+
+/***/ 876:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ }),
+
+/***/ 877:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ }),
+
+/***/ 878:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ }),
+
+/***/ 879:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ }),
+
+/***/ 880:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ }),
+
+/***/ 881:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ }),
+
+/***/ 882:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ }),
+
+/***/ 883:
+/***/ (function(module, exports) {
+
+module.exports = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMzEiIGhlaWdodD0iMTY1IiBmaWxsPSJub25lIj4KICA8ZGVmcy8+CiAgPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CiAgICA8cGF0aCBmaWxsPSIjRjJGMkYyIiBkPSJNMjMxIDk5LjI2M2MwIDI4LjgyOS0xNy4yMSAzOC44OTUtMzguNDM4IDM4Ljg5NS0yMS4yMjkgMC0zOC40MzktMTAuMDY2LTM4LjQzOS0zOC44OTUgMC0yOC44MyAzOC40MzktNjUuNTA1IDM4LjQzOS02NS41MDVTMjMxIDcwLjQzMyAyMzEgOTkuMjYzeiIvPgogICAgPHBhdGggZmlsbD0iIzNGM0Q1NiIgZD0iTTE5MS4xNjEgMTMzLjc0OGwuMzk0LTI0LjEyNyAxNi4zODMtMjkuODUtMTYuMzIxIDI2LjA2NS4xNzctMTAuODQ5IDExLjI5MS0yMS41OTYtMTEuMjQ1IDE4LjcyNS4zMTktMTkuNTEyIDEyLjA5MS0xNy4xOTMtMTIuMDQxIDE0LjEyNS4xOTgtMzUuNzc4LTEuMjQ5IDQ3LjM2My4xMDItMS45NTMtMTIuMjkzLTE4Ljc0IDEyLjA5NiAyMi40OS0xLjE0NSAyMS43OTItLjAzNC0uNTc4LTE0LjE3Mi0xOS43MiAxNC4xMjkgMjEuNzYzLS4xNDMgMi43MjUtLjAyNi4wNDEuMDEyLjIyNC0yLjkwNiA1NS4yODdoMy44ODJsLjQ2Ni0yOC41NTcgMTQuMDk0LTIxLjcxLTE0LjA1OSAxOS41NjN6Ii8+CiAgICA8cGF0aCBmaWxsPSIjRjJGMkYyIiBkPSJNMjAuNzkgMTQ3LjAyNWMwIDcuNzk2LTQuNjU0IDEwLjUxOC0xMC4zOTUgMTAuNTE4UzAgMTU0LjgyMSAwIDE0Ny4wMjVjMC03Ljc5NiAxMC4zOTUtMTcuNzE0IDEwLjM5NS0xNy43MTRzMTAuMzk0IDkuOTE4IDEwLjM5NCAxNy43MTR6Ii8+CiAgICA8cGF0aCBmaWxsPSIjM0YzRDU2IiBkPSJNMTAuMDE2IDE1Ni4zNTFsLjEwNi02LjUyNSA0LjQzLTguMDcyLTQuNDEzIDcuMDQ4LjA0OC0yLjkzMyAzLjA1My01Ljg0LTMuMDQgNS4wNjMuMDg1LTUuMjc2IDMuMjctNC42NDktMy4yNTYgMy44MTkuMDU0LTkuNjc1LS4zMzggMTIuODA4LjAyNy0uNTI4LTMuMzI0LTUuMDY4IDMuMjcxIDYuMDgyLS4zMSA1Ljg5My0uMDA5LS4xNTYtMy44MzItNS4zMzMgMy44MiA1Ljg4NS0uMDM4LjczNy0uMDA3LjAxMS4wMDMuMDYxLS43ODYgMTQuOTUxaDEuMDVsLjEyNi03LjcyMyAzLjgxMi01Ljg3MS0zLjgwMiA1LjI5MXoiLz4KICAgIDxwYXRoIHN0cm9rZT0iIzNGM0Q1NiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjIiIGQ9Ik0xIDE2NWgyMzAiLz4KICAgIDxwYXRoIGZpbGw9IiMwNzdDQjIiIGQ9Ik0yMTAuODQ1IDE1Ny42NjZjMCA1LjI3My0zLjE0OCA3LjExNS03LjAzMSA3LjExNWExMi4xNTMgMTIuMTUzIDAgMDEtLjgwNC0uMDI4Yy0zLjUwNC0uMjQ3LTYuMjI3LTIuMTgzLTYuMjI3LTcuMDg3IDAtNS4wNzUgNi41MTMtMTEuNDc5IDcuMDAyLTExLjk1M2wuMDAxLS4wMDEuMDI4LS4wMjdzNy4wMzEgNi43MDggNy4wMzEgMTEuOTgxeiIvPgogICAgPHBhdGggZmlsbD0iIzNGM0Q1NiIgZD0iTTIwMy41NTcgMTYzLjk3NGwyLjU3Mi0zLjU3OS0yLjU3OCAzLjk3Mi0uMDA3LjQxYy0uMTgtLjAwMy0uMzU4LS4wMTItLjUzNC0uMDI0bC4yNzctNS4yNzYtLjAwMi0uMDQxLjAwNS0uMDA3LjAyNi0uNDk4LTIuNTg1LTMuOTgyIDIuNTkzIDMuNjA4LjAwNi4xMDYuMjA5LTMuOTg3LTIuMjEyLTQuMTEzIDIuMjM5IDMuNDE0LjIxOC04LjI2NC4wMDEtLjAyOHYuMDI3bC0uMDM2IDYuNTE3IDIuMjAyLTIuNTg0LTIuMjExIDMuMTQ1LS4wNTggMy41NjkgMi4wNTYtMy40MjUtMi4wNjUgMy45NS0uMDMzIDEuOTg0IDIuOTg2LTQuNzY3LTIuOTk3IDUuNDYtLjA3MiA0LjQxM3pNMTM1Ljg4MSAzNy4zNGgtMS4zNWEuNTQuNTQgMCAwMC0uNTQuNTM4djE4Ljg3OGEuNTQuNTQgMCAwMC41NC41MzhoMS4zNWMuMjk5IDAgLjU0LS4yNDEuNTQtLjUzOFYzNy44NzhhLjUzOC41MzggMCAwMC0uNTQtLjUzOHpNNTQuMjEyIDIxLjcwOGgtLjY1NmEuMzU0LjM1NCAwIDAwLS4zNTQuMzUzdjUuODYzYzAgLjE5NS4xNTkuMzUzLjM1NC4zNTNoLjY1NmEuMzU0LjM1NCAwIDAwLjM1NC0uMzUzdi01Ljg2M2EuMzU0LjM1NCAwIDAwLS4zNTQtLjM1M3pNNTQuMjkxIDMzLjczNWgtLjczOGMtLjIyIDAtLjQuMTc4LS40LjM5OFY0NC43N2MwIC4yMi4xOC4zOTguNC4zOThoLjczOGMuMjIgMCAuNC0uMTc4LjQtLjM5OFYzNC4xMzJhLjM5OS4zOTkgMCAwMC0uNC0uMzk3ek01NC4yNiA0OS4xN2gtLjcwMmEuMzguMzggMCAwMC0uMzguMzc4djEwLjc3NWMwIC4yMS4xNy4zNzkuMzguMzc5aC43MDNjLjIxIDAgLjM4LS4xNy4zOC0uMzc5VjQ5LjU0OGEuMzguMzggMCAwMC0uMzgtLjM3OXoiLz4KICAgIDxwYXRoIGZpbGw9IiMzRjNENTYiIGQ9Ik0xMjYuODkyIDBINjIuMzg3Yy00LjY0NSAwLTguNDExIDMuNzUtOC40MTEgOC4zNzdWMTU2LjIzYzAgNC42MjcgMy43NjYgOC4zNzcgOC40MTEgOC4zNzdoNjQuNTA1YzQuNjQ2IDAgOC40MTItMy43NSA4LjQxMi04LjM3N1Y4LjM3N2MwLTQuNjI2LTMuNzY2LTguMzc3LTguNDEyLTguMzc3eiIvPgogICAgPHBhdGggZmlsbD0iI0U2RThFQyIgZD0iTTk3LjU1MiA0LjkxNkg4Ny4zOTNjLS4zMyAwLS42LjI2Ny0uNi41OTZ2MS4xMDRjMCAuMzMuMjcuNTk2LjYuNTk2aDEwLjE1OWMuMzMgMCAuNTk5LS4yNjcuNTk5LS41OTZWNS41MTJhLjU5OC41OTggMCAwMC0uNTk5LS41OTZ6TTEwMS4xNzYgNy4zNjdjLjcyMyAwIDEuMzA4LS41ODQgMS4zMDgtMS4zMDMgMC0uNzItLjU4NS0xLjMwMy0xLjMwOC0xLjMwMy0uNzIyIDAtMS4zMDguNTg0LTEuMzA4IDEuMzAzIDAgLjcyLjU4NiAxLjMwMyAxLjMwOCAxLjMwM3oiLz4KICAgIDxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0xMzAuMjgxIDEwLjcydjE0My4xNjhhNi40MTkgNi40MTkgMCAwMS0xLjg5MiA0LjU0OCA2LjQ4IDYuNDggMCAwMS00LjU2NyAxLjg4M0g2NS40NTdhNi40NzcgNi40NzcgMCAwMS00LjU2Ni0xLjg4MyA2LjQyIDYuNDIgMCAwMS0xLjg5My00LjU0OFYxMC43MjFhNi40MSA2LjQxIDAgMDExLjg5Mi00LjU1IDYuNDYyIDYuNDYyIDAgMDE0LjU2Ny0xLjg4M2g4LjczNHYxLjExN2MwIDEuNDA1LjU2MSAyLjc1MiAxLjU1OCAzLjc0NWE1LjMzMiA1LjMzMiAwIDAwMy43NjEgMS41NTJoMjkuNjgyYzEuNDEgMCAyLjc2My0uNTU4IDMuNzYxLTEuNTUxYTUuMjg4IDUuMjg4IDAgMDAxLjU1OC0zLjc0NlY0LjI4OGg5LjMxMWE2LjQ4NCA2LjQ4NCAwIDAxNC41NjcgMS44ODQgNi40MjEgNi40MjEgMCAwMTEuODkyIDQuNTQ5eiIvPgogICAgPHBhdGggZmlsbD0iI0YyRjJGMiIgZD0iTTEzMC4zMjEgMzcuNDc3SDU4LjkxNXY4MS42NzNoNzEuNDA2VjM3LjQ3N3oiLz4KICAgIDxwYXRoIGZpbGw9IiNGRjY1ODQiIGQ9Ik02NC4xIDEzMC40NTJsLS4zNzctLjMzOGMtMS4zMzUtMS4yMjEtMi4yMTYtMi4wMTMtMi4yMTYtM2ExLjM5MyAxLjM5MyAwIDAxLjQxLTEuMDE0IDEuNDEzIDEuNDEzIDAgMDExLjAxNi0uNDE0IDEuNTM4IDEuNTM4IDAgMDExLjE2Ni41NDUgMS41NCAxLjU0IDAgMDExLjE2Ny0uNTQ1IDEuNDAxIDEuNDAxIDAgMDExLjAxNi40MTQgMS4zOTQgMS4zOTQgMCAwMS40MSAxLjAxNGMwIC45ODctLjg4MiAxLjc3OS0yLjIxNyAzbC0uMzc2LjMzOHoiLz4KICAgIDxwYXRoIGZpbGw9IiNGMkYyRjIiIGQ9Ik03Ny43MjggMTI5LjIwM2wuNzI3LjIwN2EyLjQzOCAyLjQzOCAwIDAxMS42NjUtMS41NTggMi40NjMgMi40NjMgMCAwMTIuMjMyLjQ4NmwtMS4xMSAxLjA3MmgyLjc3di0yLjY4MmwtMS4xMTYgMS4wNjVhMy4yMjYgMy4yMjYgMCAwMC0yLjk2NC0uNjc5IDMuMjAyIDMuMjAyIDAgMDAtMi4yMDQgMi4wODl6Ii8+CiAgICA8cGF0aCBmaWxsPSIjMDc3Q0IyIiBkPSJNNjMuNjI4IDMxLjM3NWMxLjgyMyAwIDMuMy0xLjQ3IDMuMy0zLjI4NWEzLjI5MiAzLjI5MiAwIDAwLTMuMy0zLjI4NiAzLjI5MiAzLjI5MiAwIDAwLTMuMjk5IDMuMjg2IDMuMjkyIDMuMjkyIDAgMDAzLjMgMy4yODV6TTEwMC4xNTYgMjYuMjEySDY5LjUxOXYzLjc1NWgzMC42Mzd2LTMuNzU1eiIvPgogICAgPHBhdGggZmlsbD0iI0YyRjJGMiIgZD0iTTkyLjE0NCAxMzYuMDQ4SDYxLjUwOHYzLjc1NWgzMC42MzZ2LTMuNzU1ek0xMjYuMzE1IDE0NC4yMzRINjEuNTA4djMuNzU1aDY0LjgwN3YtMy43NTV6TTc0LjcwNSAxMzAuMjE0bC0uODEyLTEuNDE1YTIuMDggMi4wOCAwIDAwLS44NjYtMi41OTcgMi4xIDIuMSAwIDAwLTIuNzA0LjQ4OSAyLjA4NSAyLjA4NSAwIDAwMS40MjMgMy4zODIgMi4xIDIuMSAwIDAwMS40Mi0uMzdsMS41MzkuNTExeiIvPgogICAgPHBhdGggZmlsbD0iIzJGMkU0MSIgZD0iTTg4LjU3NiA1Ni42MzJhOS40NDkgOS40NDkgMCAwMC0zLjM5IDEuNDIgOS40MDggOS40MDggMCAwMC0yLjU4NyAyLjYwNSA5LjM2NSA5LjM2NSAwIDAwLTEuMzY4IDcuMDU0bDEuOTQ1IDkuNDY4IDIuMTc4LS40NDQuMTU0LTEuMDAzLjQ1Ni44NzkgMTMuMjQzLTIuNy4xNTQtMS4wMDMuNDU2Ljg4IDEuODI5LS4zNzMtMS45NDUtOS40NjhhOS4zNjYgOS4zNjYgMCAwMC0xLjQyNy0zLjM3NiA5LjQwOCA5LjQwOCAwIDAwLTIuNjE1LTIuNTc2IDkuNDUgOS40NSAwIDAwLTcuMDgzLTEuMzYzeiIvPgogICAgPHBhdGggZmlsbD0iIzlGNjE2QSIgZD0iTTEwNC45ODcgODUuNjc4bDExLjMxMiA2LjgwNi0xLjQxNCAzLjI4Ni0xMC42MDUtNC45MjguNzA3LTUuMTYzeiIvPgogICAgPHBhdGggZmlsbD0iIzA3N0NCMiIgZD0iTTkwLjYxMiA5My40MjNzLTIyLjg2IDAtMjYuNjMgNS44NjhjLTMuNzcgNS44NjctLjcwNyAxNC4wODEgMTEuMDc2IDE1Ljk1OSAxMS43ODMgMS44NzcgNDcuNjA0IDIuODE2IDUwLjQzMi00LjIyNSAyLjgyOC03LjA0LjcwNy0xMS4wMy43MDctMTEuMDNzLTEyLjI1NS04LjQ1LTM1LjU4NS02LjU3MnoiLz4KICAgIDxwYXRoIGZpbGw9IiMwNzdDQjIiIGQ9Ik0xMTAuODc4IDk5LjA1NmwxMi40OTEgNC42OTRzNS4xODQtMy43NTUgMi41OTItNy45OGMtMi41OTItNC4yMjQtMTQuMzc2LTI4LjYzMi0xNC4zNzYtMjguNjMycy0zLjI5OS00LjY5NC45NDMtNy4yNzZjNC4yNDItMi41ODEgNS44OTIgMS42NDMgNS44OTIgMS42NDNzLS4yMzYuOTM5IDEuNDE0LjIzNWMxLjY0OS0uNzA0IDQuNzEzIDEuNjQzIDMuMDYzIDUuMzk4LTEuNjQ5IDMuNzU1LTIuODI4IDQuNjk0LjcwNyA0LjQ1OSAxLjI3Ny0uMDg1IDIuNC0uOTk2IDMuMzEzLTIuMTI1IDEuNzUyLTIuMTY1Ljk3LTMuOTEuODM3LTYuNjg2LS4yMjctNC43NTctLjU5OC03Ljg2LTEuNzkzLTkuNzMtMS42NS0yLjU4MS00LjAwNi00LjY5NC0xMC4xMzQtMy41Mi02LjEyNyAxLjE3My0xNS4wODIgNy4wNC0xMi45NjEgMTUuNDkgMi4xMjEgOC40NDkgNi44MzQgMTcuODM2IDYuODM0IDE3LjgzNnMzLjI5OSAxMy4xNDMgMS4xNzggMTYuMTk0eiIvPgogICAgPHBhdGggZmlsbD0iIzAwMCIgZD0iTTExMC44NzggOTkuMDU2Yy0yLjAzNi41NTktNC41OTMuODMtNy4zNDUuOTE1LTQuODAzLjE0OC0xMC4yMS0uMjc0LTE0LjUyNi0uNzUzLTQuNjY0LS41MTktOC4wNTgtMS4xLTguMDU4LTEuMSAxLjU3Ny0xLjQ2NSA0LTIuMDQ1IDYuODQ2LTIuMjU2IDMuNTM1LS4yNjMgNy43MjUuMDM3IDExLjc3Mi0uMDkyYTIwLjQxIDIwLjQxIDAgMDE0LjQ1MS4zMzRjNC40NjQuODQ3IDYuODYgMi45NTIgNi44NiAyLjk1MnoiIG9wYWNpdHk9Ii4xIi8+CiAgICA8cGF0aCBmaWxsPSIjOUY2MTZBIiBkPSJNOTAuNDk0IDczLjgyNmMzLjY0NCAwIDYuNTk5LTIuOTQyIDYuNTk5LTYuNTcgMC0zLjYzLTIuOTU1LTYuNTcyLTYuNTk5LTYuNTcycy02LjU5OSAyLjk0Mi02LjU5OSA2LjU3MWMwIDMuNjMgMi45NTUgNi41NzIgNi41OTkgNi41NzJ6Ii8+CiAgICA8cGF0aCBmaWxsPSIjOUY2MTZBIiBkPSJNODkuNjcgNzIuNTM2czEuMTc4IDQuNDU5IDAgNC42OTRjLTEuMTc5LjIzNC00LjAwNyAxLjQwOC00LjAwNyAxLjQwOGwzLjUzNSAxLjQwOCA2LjU5OSA2LjEwMiA1LjY1NSAyLjgxNiAyLjgyOC0uOTM5di01LjE2M2wtNC4yNDItNi41NzFzLTIuODI4LjkzOS0zLjUzNC0yLjExMmMtLjcwNy0zLjA1MS0yLjEyMS00LjIyNS0yLjEyMS00LjIyNWwtNC43MTQgMi41ODJ6Ii8+CiAgICA8cGF0aCBmaWxsPSIjOUY2MTZBIiBkPSJNODguMDIgNzguODcySDg1LjE5cy00Ljk0OSAxLjY0My03Ljc3NyA1LjM5OGMtMi44MjggMy43NTUtNy4zMDUgNy41MS03LjMwNSA3LjUxcy0zLjA2NCA0LjIyNS0xLjQxNCAxMC4wOTJjMS42NSA1Ljg2OCA0LjAwNiAxMC4wOTIgNi4xMjcgOC45MTkgMi4xMjEtMS4xNzQtMy4wNjQtOS42MjMtMy4wNjQtOS42MjNsMS40MTQtNS4xNjNzNy4zMDYtOC40NDkgMTAuMzctOC4yMTRjMy4wNjMuMjM0IDMuMjk5IDIuODE2IDMuMjk5IDIuODE2bDYuNTk4IDEuODc4IDIuMTIxLTQuNDYtMS4xNzgtNC42OTMtNi4zNjMtNC40NnoiLz4KICAgIDxwYXRoIGZpbGw9IiMzRjNENTYiIGQ9Ik0xMDQuOTg3IDkzLjY1OGE4LjY2OCA4LjY2OCAwIDAwLS45NjggMi40NDYgMTkuMDE4IDE5LjAxOCAwIDAwLS40ODYgMy44NjdjLTQuODAyLjE0OC0xMC4yMDktLjI3NC0xNC41MjYtLjc1My0uMzgyLTEuMDE0LS44MDEtMi4xOC0xLjIxMS0zLjM1Ni0xLjEwNi0zLjE3OC0yLjEzMy02LjQyMS0yLjEzMy02Ljg5OCAwLS45MzkgNC45NDkuNzA0IDYuMTI3LjQ3IDEuMTc5LS4yMzUgMS42NS0zLjk5IDAtNS44NjgtMS42NS0xLjg3Ny02LjQ4LTUuMDQ2LTYuNDgtNS4wNDZsMS42NS0uNDY5czMuNjUyIDIuNjk5IDExLjE5MyA3LjE1OGM3LjU0MSA0LjQ2IDQuNDc4LTIuNTgxIDQuNDc4LTIuNTgxbC00LjM2LTYuNjloMS44ODVzMy42NTMgNi4yMiA1LjUzOCA5LjAzN2MxLjg4NiAyLjgxNiAxLjE3OSA1LjYzMi0uNzA3IDguNjgzeiIvPgogICAgPHBhdGggZmlsbD0iIzJGMkU0MSIgZD0iTTk1LjE2MyA1OC4zOWwtMTEuOTUxIDIuNDM1IDEuNSA3LjMwNCAxMS45NTItMi40MzYtMS41LTcuMzAzeiIvPgogICAgPHBhdGggZmlsbD0iIzNGM0Q1NiIgZD0iTTEyMC44OTQgNTkuMjc2YTMuNTI3IDMuNTI3IDAgMDAzLjUzNS0zLjUyIDMuNTI3IDMuNTI3IDAgMDAtMy41MzUtMy41MjEgMy41MjggMy41MjggMCAwMC0zLjUzNSAzLjUyIDMuNTI4IDMuNTI4IDAgMDAzLjUzNSAzLjUyeiIvPgogICAgPHBhdGggZmlsbD0iI2ZmZiIgZD0iTTEyMC44OTQgNTcuNjMzYzEuMDQxIDAgMS44ODUtLjg0IDEuODg1LTEuODc4YTEuODgxIDEuODgxIDAgMDAtMS44ODUtMS44NzdjLTEuMDQxIDAtMS44ODUuODQtMS44ODUgMS44NzdzLjg0NCAxLjg3OCAxLjg4NSAxLjg3OHoiLz4KICAgIDxwYXRoIGZpbGw9IiMwNzdDQjIiIGQ9Ik0xNy4xNDIgOTYuMzkxbC0uMjQxIDEuODUyYy0uMDgyLjYyNy0uMTYzIDEuMjU0LS4yMDcgMS44ODUtLjE0NiAyLjA5OC4xMjYgNC4yMDUuMDU0IDYuMzA3LS4wNTUgMS42MTgtLjMxNCAzLjIzNS0uMTg5IDQuODQ5LjExIDEuNDI4LjUxOSAyLjgxNS45MjUgNC4xODlsLjU4IDEuOTYzYS4zNzcuMzc3IDAgMDAuMTc1LjI5MmMuMDUuMDMyLjEwNi4wNTIuMTY1LjA1OGEuMzguMzggMCAwMC4xNzQtLjAybDIuNTY2LS4yMzJjLS4xNjQtLjc1LS4zNDctMS41MzMtLjQzNS0yLjI5Ni0uMDctLjYwNC0uMTEyLTEuMjEtLjE1Ni0xLjgxNmE1OTMuNzMgNTkzLjczIDAgMDAtLjQ0Ni01LjY2NGwtLjI3MS0zLjMxNmMtLjExOC0xLjQzOC0uMjM3LTIuODg1LS42MDEtNC4yODJhOC41MTggOC41MTggMCAwMC0yLjA5My0zLjc2OXoiLz4KICAgIDxwYXRoIGZpbGw9IiMwMDAiIGQ9Ik0xNy4xNDIgOTYuMzkxbC0uMjQxIDEuODUyYy0uMDgyLjYyNy0uMTYzIDEuMjU0LS4yMDcgMS44ODUtLjE0NiAyLjA5OC4xMjYgNC4yMDUuMDU0IDYuMzA3LS4wNTUgMS42MTgtLjMxNCAzLjIzNS0uMTg5IDQuODQ5LjExIDEuNDI4LjUxOSAyLjgxNS45MjUgNC4xODlsLjU4IDEuOTYzYS4zNzcuMzc3IDAgMDAuMTc1LjI5MmMuMDUuMDMyLjEwNi4wNTIuMTY1LjA1OGEuMzguMzggMCAwMC4xNzQtLjAybDIuNTY2LS4yMzJjLS4xNjQtLjc1LS4zNDctMS41MzMtLjQzNS0yLjI5Ni0uMDctLjYwNC0uMTEyLTEuMjEtLjE1Ni0xLjgxNmE1OTMuNzMgNTkzLjczIDAgMDAtLjQ0Ni01LjY2NGwtLjI3MS0zLjMxNmMtLjExOC0xLjQzOC0uMjM3LTIuODg1LS42MDEtNC4yODJhOC41MTggOC41MTggMCAwMC0yLjA5My0zLjc2OXoiIG9wYWNpdHk9Ii4xIi8+CiAgICA8cGF0aCBmaWxsPSIjM0YzRDU2IiBkPSJNMjEuNzE0IDE1OS44OTZhNy40OTMgNy40OTMgMCAwMC0uMzk0LjkxMmMtLjI5NC44NjEtLjM0IDEuNzg1LS4zODEgMi42OTQtLjAyLjE3NS0uMDA0LjM1My4wNDguNTIyLjEyNi4zMjcuNDkuNDkyLjgyOS41ODMgMS40MjEuMzgxIDIuOTIuMDIzIDQuMzg3LS4xMDggMS40MzktLjEyOCAyLjkwNS0uMDM1IDQuMzE0LS4zNTIuMjA5LS4wMzkuNDEtLjEwOC41OTgtLjIwNi4zNTctLjIzMi42MjQtLjU3OC43NTUtLjk4Mi4wNDMtLjEwNC4wNzItLjIxMi4wODYtLjMyMy4wNDYtLjQ3OC0uMzcyLS44OTQtLjgyOC0xLjA1MS0uNDU3LS4xNTctLjk1Mi0uMTMyLTEuNDMzLS4xODFhNC41MjQgNC41MjQgMCAwMS0yLjYzNi0xLjIwMSA0LjQ5MyA0LjQ5MyAwIDAxLTEuMzU4LTIuNTUxYy0uMDE4LS4xMDUtMi4zNzQtLjA0My0yLjYyMi4wOTItLjI5LjE1OS0uNDY2LjU1NS0uNjMuODIzLS4yNjQuNDMyLS41MS44NzUtLjczNSAxLjMyOXoiLz4KICAgIDxwYXRoIGZpbGw9IiMwMDAiIGQ9Ik0yMS43MTQgMTU5Ljg5NmE3LjQ5MyA3LjQ5MyAwIDAwLS4zOTQuOTEyYy0uMjk0Ljg2MS0uMzQgMS43ODUtLjM4MSAyLjY5NC0uMDIuMTc1LS4wMDQuMzUzLjA0OC41MjIuMTI2LjMyNy40OS40OTIuODI5LjU4MyAxLjQyMS4zODEgMi45Mi4wMjMgNC4zODctLjEwOCAxLjQzOS0uMTI4IDIuOTA1LS4wMzUgNC4zMTQtLjM1Mi4yMDktLjAzOS40MS0uMTA4LjU5OC0uMjA2LjM1Ny0uMjMyLjYyNC0uNTc4Ljc1NS0uOTgyLjA0My0uMTA0LjA3Mi0uMjEyLjA4Ni0uMzIzLjA0Ni0uNDc4LS4zNzItLjg5NC0uODI4LTEuMDUxLS40NTctLjE1Ny0uOTUyLS4xMzItMS40MzMtLjE4MWE0LjUyNCA0LjUyNCAwIDAxLTIuNjM2LTEuMjAxIDQuNDkzIDQuNDkzIDAgMDEtMS4zNTgtMi41NTFjLS4wMTgtLjEwNS0yLjM3NC0uMDQzLTIuNjIyLjA5Mi0uMjkuMTU5LS40NjYuNTU1LS42My44MjMtLjI2NC40MzItLjUxLjg3NS0uNzM1IDEuMzI5eiIgb3BhY2l0eT0iLjEiLz4KICAgIDxwYXRoIGZpbGw9IiMzRjNENTYiIGQ9Ik0yNS42MjEgMTYwLjExOWE3LjU0NyA3LjU0NyAwIDAwLS4zOTQuOTExYy0uMjk0Ljg2Mi0uMzM5IDEuNzg1LS4zOCAyLjY5NGExLjI4IDEuMjggMCAwMC4wNDcuNTIyYy4xMjYuMzI3LjQ5LjQ5My44MjkuNTg0IDEuNDIxLjM4MSAyLjkyLjAyMiA0LjM4Ny0uMTA4IDEuNDM5LS4xMjkgMi45MDUtLjAzNiA0LjMxNS0uMzUyLjIwOC0uMDM5LjQxLS4xMDkuNTk3LS4yMDdhMS44NSAxLjg1IDAgMDAuNzU1LS45ODJjLjA0My0uMTAzLjA3Mi0uMjEyLjA4Ni0uMzIyLjA0Ni0uNDc5LS4zNzItLjg5NC0uODI4LTEuMDUyLS40NTYtLjE1Ny0uOTUyLS4xMzEtMS40MzItLjE4YTQuNTI1IDQuNTI1IDAgMDEtMi42MzctMS4yMDIgNC40OSA0LjQ5IDAgMDEtMS4zNTgtMi41NTFjLS4wMTctLjEwNC0yLjM3NC0uMDQzLTIuNjIyLjA5My0uMjkuMTU5LS40NjYuNTU1LS42My44MjItLjI2NC40MzItLjUxLjg3NS0uNzM1IDEuMzN6Ii8+CiAgICA8cGF0aCBmaWxsPSIjMkYyRTQxIiBkPSJNMzUuODEzIDEzNi45NTFjLjAzIDQuNzEzLTEuMzQ2IDkuMzItMi45NiAxMy43NWExMjQuOTA2IDEyNC45MDYgMCAwMS0yLjAzNCA1LjIxNmMtLjQyNSAxLjAyMS0uOTAzIDIuMTU0LS40NDggMy4xNjItMS4zMS0uNDk2LTIuNjUtLjc4OS00LjAzMy0uNTYuNTI2LTEuMDY4LjQ3Ni0yLjMxMi41LTMuNTAxYTMwLjM2IDMwLjM2IDAgMDEuNTIyLTQuODEgMjYuNzQgMjYuNzQgMCAwMTIuMzYtNi45NTQgNS4yMyA1LjIzIDAgMDAuNDU5LTEuNDY1IDkuMjg3IDkuMjg3IDAgMDAtLjE5NS0zLjM4NCAyMC4xNDcgMjAuMTQ3IDAgMDAtMi44MjQtNi44OTJsLS4wMTQuMTQxYTIwLjUxNyAyMC41MTcgMCAwMS0uMzU1IDIuMDg2Yy0uMzA5IDEuNDYtLjY3IDIuOTItLjYxNiA0LjM4OGEyMy41MiAyMy41MiAwIDAxLS4yODkgNC42NTMgNy4wMiA3LjAyIDAgMDEtLjQ3IDEuNzU5Yy0uMTUuMzM3LS4zNDguNjU0LS40NjcgMS4wMDRhNC41NiA0LjU2IDAgMDAtLjE4MyAxLjI0MmMtLjE3NiAzLjU0OS0uMDAyIDguMDkxLjcyNiAxMS41N2E2LjgwNiA2LjgwNiAwIDAwLTMuNTMuODAxYy0uODgtMi40NzUtMS40NDEtNS45ODktMS44Ni04LjU5NGEyNS4zMzcgMjUuMzM3IDAgMDEuMjg0LTkuMjZjLjIwNi0xLjAxNi4yODQtMi4wNTMuMjMtMy4wODgtLjA5NC0yLjA2LS42MDItNC4wNzYtMS4xMDgtNi4wNzdhMTM0MDguMzg3IDEzNDA4LjM4NyAwIDAxLTEuODctNy4zODdjLS4yNDMtLjk2My0uNDg4LTEuOTQ2LS40MTItMi45MzZhNy4zMDEgNy4zMDEgMCAwMS4zNDEtMS41OTYgMTcuODE2IDE3LjgxNiAwIDAxMi40MjUtNC45MzljNC4yMi4yMzYgOC40OS0uMTU3IDEyLjcwMy0uNDhhLjg2Ljg2IDAgMDEuNTk3LjEwMS44NC44NCAwIDAxLjI0LjU0MWwxLjU4MyA4LjkzMmMuMjU3IDEuMjQ0LjQwOCAyLjUwNy40NSAzLjc3NS4wMDkgMS4yNjQtLjE5NyAyLjUyNC0uMTUgMy43ODguMDY1IDEuNzAyLjM4OCAzLjMxMS4zOTggNS4wMTR6Ii8+CiAgICA8cGF0aCBmaWxsPSIjMDAwIiBkPSJNMjcuMTQ2IDEzMS42NTRjLS4wODIuNzAxLS4yIDEuMzk3LS4zNTUgMi4wODYtLjkxOC0xLjU4MS0xLjkwNy0zLjEyMi0yLjc1Mi00Ljc0Mi0uMjE4LS40MTgtLjQyNS0uODQxLS42MzQtMS4yNjNsLS42MjItMS4yNjZjLS4xMTctLjIzNy0uMjM0LS40NzUtLjMzOS0uNzE4YTUuMTk2IDUuMTk2IDAgMDEtLjM5Mi0xLjA5N2MuMzA3LS4wNTYgMS4wNjQuNzY5IDEuMjkyLjk4NC40NjcuNDU4LjkwNy45NDIgMS4zMiAxLjQ0OS40OTkuNTYzLjk1NyAxLjE2IDEuMzcgMS43ODhhOC42OCA4LjY4IDAgMDExLjExMiAyLjc3OXoiIG9wYWNpdHk9Ii4xIi8+CiAgICA8cGF0aCBmaWxsPSIjRUZCN0I5IiBkPSJNMzAuNjYzIDg4LjI3MXMtMi4zNDUgMy43MTktMS45MSA0LjQ5N2MuNDMzLjc3OC03LjM4Mi0uNjkyLTcuMzgyLS42OTJzNC4yNTUtMy43MTggMy44Mi01LjI3NWMtLjQzMy0xLjU1NiA1LjQ3MiAxLjQ3IDUuNDcyIDEuNDd6Ii8+CiAgICA8cGF0aCBmaWxsPSIjRUZCN0I5IiBkPSJNMjguNTc4IDg5LjM5NWMyLjkyNiAwIDUuMjk3LTIuMzYxIDUuMjk3LTUuMjc1IDAtMi45MTMtMi4zNzEtNS4yNzUtNS4yOTctNS4yNzUtMi45MjUgMC01LjI5NyAyLjM2Mi01LjI5NyA1LjI3NSAwIDIuOTE0IDIuMzcyIDUuMjc1IDUuMjk3IDUuMjc1eiIvPgogICAgPHBhdGggZmlsbD0iIzA3N0NCMiIgZD0iTTMwLjc0IDkyLjE3YTUuMzg0IDUuMzg0IDAgMDAtMi4yMjctMS43OSA4LjA1IDguMDUgMCAwMC0xLjU4My0uMzg4bC0yLjExMy0uMzdjLS41MTgtLjA5MS0xLjA3Mi0uMTc4LTEuNTUzLjAzNS0uMjQ1LjEyNC0uNDY5LjI4Ni0uNjYyLjQ4Mi0uNzM0LjY3Ny0xLjQ0NiAxLjQyMi0yLjM2NyAxLjgxMy0uMjUyLjEwNy0uNTE2LjE4Ni0uNzY3LjI5NC0xLjAzLjQ0Mi0xLjgwMSAxLjM2NC0yLjIzOSAyLjM5My0uNDU5IDEuMDc5LS40NzIgMi4yNDktLjQzNiAzLjQyYTUuOTggNS45OCAwIDAwLjExOSAxLjIwNGMuMTA3LjM3Ny4yNC43NDYuNCAxLjEwNC4yOTMuNzY0LjUzNyAxLjU0NS43MzMgMi4zNGE3My42OCA3My42OCAwIDAxMS4zNjUgNi4zMjVjLjAzMi4zMDYuMTIyLjYwMy4yNjcuODc1LjIwNC4yNzEuNDUuNTA3LjczLjY5OS4yMjIuMTgzLjQyNy4zODUuNjEyLjYwNC4wOTEuMDk0LjE1Ny4yMDguMTk0LjMzMy4wNjkuMzE0LS4yMS41ODQtLjQzOC44MTRhMy45MjcgMy45MjcgMCAwMC0uOTg5IDEuNzE1LjY4LjY4IDAgMDAtLjE1Ny40NzQuODIuODIgMCAwMS4wNS4zNzQuODcuODcgMCAwMS0uMi4zMDkgMS4xNjEgMS4xNjEgMCAwMC0uMjIuOTMyIDE0LjkyIDE0LjkyIDAgMDA1LjE4NyAxLjIxYy40MzguMDIuODc4LjAyIDEuMzEzLjA3NC4zMS4wMzguNjE2LjEwMy45MjcuMTM5LjQ1Mi4wNDIuOTA2LjA1MyAxLjM1OS4wMzQgMi4zNTgtLjA0NiA0Ljc4NC0uMTA3IDYuOTUtMS4wMzguMjAzLTEuMTA2LS4yMzYtMi4yMzMtLjUxMi0zLjMyMy0uNDM4LTEuNzM0LS41NDgtMy41MzItLjg3NC01LjI5LS4yMjQtMS4yMDQtLjU0OC0yLjM4OC0uNzM0LTMuNTk4LS4xODYtMS4yMS0uMjMtMi40NjQuMTA1LTMuNjQyLjI5Ni0xLjA0NC4zODUtMi4xMDYuNjkyLTMuMTQ3LjMwNi0xLjA0LjUyMS0yLjE2OC4xNzUtMy4xOTctLjQzLTEuMjc0LTEuNzU4LTIuMjgzLTMuMTA2LTIuMjEzeiIvPgogICAgPHBhdGggZmlsbD0iIzJGMkU0MSIgZD0iTTMzLjM0MiA4MS4zMjRjLjI1Ny0uOTM3LS4yNS0xLjkxMi0uODU1LTIuNjczLS42NTEtLjgxOC0xLjQ5My0xLjU1NS0yLjUyLTEuNzYtLjgzNS0uMTY4LTEuNy4wMzQtMi41NDktLjAzMy0uNzUyLS4wNi0xLjQ3My0uMzI4LTIuMjIyLS40MjVhNy4wNjcgNy4wNjcgMCAwMC0yLjAzLjA3NyA3LjU4IDcuNTggMCAwMC0xLjg1Mi41MTVjLTIuMjU1Ljk5NS0zLjU3NiAzLjQ1Mi0zLjg4MyA1Ljg5LS4zMDYgMi40MzcuMjMxIDQuODkyLjc2NiA3LjI5bC40ODMgMi4xNjdjLjUwMiAyLjI1NiAxLjAwNyA0LjUyNCAxLjE0MSA2LjgzLjEzNSAyLjMwOC0uMTE2IDQuNjc2LTEuMDY5IDYuNzgzYTE0LjYwNyAxNC42MDcgMCAwMDYuNzMtNy41ODhjLjM0My0uODkyLjU5Ni0xLjgxOC45NzYtMi42OTUuMzI2LS43NTUuNzQ0LTEuNDcgMS4wMzQtMi4yNC4zMjYtLjg2OS40ODMtMS43OTIuNDYxLTIuNzItLjAxNi0uNjk4LS4xMzMtMS4zOTItLjExMy0yLjA4OS4wMi0uNjk3LjE5OS0xLjQyNS42ODMtMS45My40My0uNDQ3IDEuMDQxLS42NjMgMS41OTYtLjk0NWE2LjYyIDYuNjIgMCAwMDIuMjMtMS44NTNjLjM1LS40NTMuMzY4LS42NDcuNDU3LTEuMTcuMDg2LS41MDcuNC0uOTM4LjUzNi0xLjQzMXoiLz4KICAgIDxwYXRoIGZpbGw9IiNFRkI3QjkiIGQ9Ik0zMy4zNSAxMjAuOTU0Yy4wNTMuNTQyLS4wNDYgMS4wOTguMDczIDEuNjMuMDkuMzk5LjI5OC43NjMuNDIgMS4xNTQuMTIyLjQ1My4xODQuOTIuMTg2IDEuMzg5LjAxOC4zOTMtLjAxMy44NzEtLjM2MiAxLjA1Ni0uMTUzLjA4MS0uMzM3LjA4Mi0uNDk3LjE1LS4xNi4wNjgtLjI5Ny4yNjEtLjIwNS40MDguMDc3LjEyMy4yNTEuMTI1LjM5NC4xNTQuMTQzLjAyOS4zLjE3Ny4yMTguMjk3YS4yNTIuMjUyIDAgMDEtLjEyOC4wOCAxLjQ4NSAxLjQ4NSAwIDAwLS40MS4xOTcuNDEzLjQxMyAwIDAwLS4xNjkuMzk3LjI0My4yNDMgMCAwMC4xMzcuMTY3LjI1My4yNTMgMCAwMC4yMTUtLjAwNWMtLjA2NC4xMzYtLjA5OS4yODQtLjEwMi40MzUuNTU5LjIzOSAxLjE4OC0uMDc0IDEuNzE0LS4zNzhhNi41NiA2LjU2IDAgMDAuNjYtLjQxOCAzLjI2IDMuMjYgMCAwMDEuMjcxLTIuNzg0IDYuMzYzIDYuMzYzIDAgMDAtLjEyNC0uNzk2Yy0uMDgxLS40NTctLjE5LS45MDktLjMyMi0xLjM1My0uMTUtLjQ2OS0uMzU4LS45MTgtLjUzNS0xLjM3Ny0uMzc3LS45NzktLjYyLTIuMDA0LS45Ni0yLjk5N2EuMzQuMzQgMCAwMC0uMTM3LS4yNDEuMzQyLjM0MiAwIDAwLS4yNzEtLjA2NCA0LjAxNSA0LjAxNSAwIDAwLTEuMTQuMTA0Yy0uMjI2LjA2Ni0uNTk2LjIxLS42OTcuNDQ2LS4wOTEuMjEyLjA2MS40MDEuMTU4LjU4M2E0LjgzIDQuODMgMCAwMS42MTMgMS43NjZ6Ii8+CiAgICA8cGF0aCBmaWxsPSIjMDAwIiBkPSJNMzIuOTkgOTQuNDUyYy4xMTQuMTE0LjIwOC4yNDYuMjgxLjM4OS43NTMgMS4zNjIuNzYyIDIuOTkyLjc5OCA0LjU0Ny4wNCAxLjc0OS4xMzYgMy40OTcuMjMyIDUuMjQ1bC4yODcgNS4yMjZjLjAyOC40OTkuMDU1IDEgLjEyNiAxLjQ5NS4zMzguMDg1LjM1Mi41Mi4zMTMuODY1LS4yNDIgMi4xMzMtLjg0NSA0LjMyOC0uMjE0IDYuMzgxYS42NDEuNjQxIDAgMDAuMTQ4LjI4NCAxLjcwOSAxLjcwOSAwIDAwLS45OC0uMDEzYy0uMzE0LjA2Ni0uNjE2LjE4LS45My4yNTItLjM5OS4wOS0uODUuMTI5LTEuMTIzLjQzM2EyMS41NzYgMjEuNTc2IDAgMDEtLjczMy0yLjgxOWMtLjE0OS0uODY4LS4xOS0xLjc3LS41NDUtMi41NzctLjE0My0uMzI1LS4zMzQtLjYyNy0uNTEtLjkzNy0uOTE5LTEuNjMyLTEuMzctMy40NzYtMS44MS01LjI5NWE3LjY5MiA3LjY5MiAwIDAxLS4xNC0yLjYzYy4wNjMtLjQwMS4xLS44MDYuMTEtMS4yMTFhOS42OTQgOS42OTQgMCAwMC0uMTY4LTEuMjczIDguNTI1IDguNTI1IDAgMDEuMjU1LTMuNjg4Yy4zMy0xLjExLjYxOS0yLjI3OSAxLjMwOC0zLjIxMi42ODktLjkzMiAyLjEzMy0xLjQ0NiAzLjI5Ni0xLjQ2MnoiIG9wYWNpdHk9Ii4xIi8+CiAgICA8cGF0aCBmaWxsPSIjMDc3Q0IyIiBkPSJNMzMuMjUxIDk0LjI3OWMuMTEzLjExNC4yMDguMjQ2LjI4LjM4OS43NTQgMS4zNjIuNzYzIDIuOTkyLjc5OSA0LjU0Ny4wNCAxLjc1LjEzNSAzLjQ5Ny4yMzIgNS4yNDVsLjI4NyA1LjIyNmMuMDI4LjUuMDU1IDEgLjEyNiAxLjQ5NS4zMzguMDg1LjM1Mi41Mi4zMTMuODY1LS4yNDMgMi4xMzMtLjg0NSA0LjMyOC0uMjE0IDYuMzgxYS42MzUuNjM1IDAgMDAuMTQ3LjI4NCAxLjcwOSAxLjcwOSAwIDAwLS45NzktLjAxM2MtLjMxNC4wNjYtLjYxNy4xODEtLjkzLjI1Mi0uMzk5LjA5LS44NS4xMjktMS4xMjMuNDMzYTIxLjYwOCAyMS42MDggMCAwMS0uNzMzLTIuODE5Yy0uMTUtLjg2OC0uMTktMS43Ny0uNTQ1LTIuNTc3LS4xNDMtLjMyNS0uMzM1LS42MjctLjUxLS45MzctLjkyLTEuNjMxLTEuMzctMy40NzYtMS44MS01LjI5NWE3LjY5IDcuNjkgMCAwMS0uMTQtMi42M2MuMDYzLS40MDEuMS0uODA1LjExLTEuMjExYTkuNjkzIDkuNjkzIDAgMDAtLjE2OC0xLjI3MyA4LjUyMyA4LjUyMyAwIDAxLjI1NS0zLjY4OGMuMzMtMS4xMS42MTgtMi4yNzkgMS4zMDgtMy4yMTIuNjg5LS45MzIgMi4xMzMtMS40NDYgMy4yOTUtMS40NjJ6Ii8+CiAgICA8ZyBmaWxsPSIjMDAwIiBvcGFjaXR5PSIuMSI+CiAgICAgIDxwYXRoIGQ9Ik0zMi40ODcgNzguNjUxYy0uNjUxLS44MTgtMS40OTMtMS41NTUtMi41Mi0xLjc2LS44MzUtLjE2OC0xLjcuMDM0LTIuNTQ5LS4wMzMtLjc1Mi0uMDYtMS40NzMtLjMyOC0yLjIyMi0uNDI1YTcuMDY3IDcuMDY3IDAgMDAtMi4wMy4wNzcgNy41OCA3LjU4IDAgMDAtMS44NTIuNTE1Yy0uMzIuMTQyLS42MjYuMzE1LS45MTMuNTE1YTcuOTgxIDcuOTgxIDAgMDExLjYzNS0uNDI1IDcuMDcgNy4wNyAwIDAxMi4wMzEtLjA3NmMuNzQ5LjA5NiAxLjQ3LjM2NSAyLjIyMi40MjQuODUuMDY3IDEuNzE0LS4xMzQgMi41NS4wMzMgMS4wMjcuMjA1IDEuODY4Ljk0MyAyLjUxOSAxLjc2LjYwNi43NjEgMS4xMTMgMS43MzYuODU1IDIuNjczLS4xMzYuNDkzLS40NS45MjQtLjUzNiAxLjQzMi0uMDkuNTIzLS4xMDguNzE2LS40NTcgMS4xN2E2LjYzOSA2LjYzOSAwIDAxLTEuNjA4IDEuNDljLjE3LS4wOC4zNC0uMTU4LjUwNy0uMjQzYTYuNjIgNi42MiAwIDAwMi4yMy0xLjg1M2MuMzUtLjQ1My4zNjgtLjY0Ny40NTctMS4xNy4wODYtLjUwNy40LS45MzguNTM2LTEuNDMxLjI1OC0uOTM3LS4yNS0xLjkxMi0uODU1LTIuNjczek0yOC41MjMgODYuNzI0Yy4wOS0uMDk0LjE5LS4xOC4yOTYtLjI1Ni0uNTA2LjI0NC0xLjAzOS40NTktMS40MjUuODYxLS40ODQuNTA1LS42NjIgMS4yMzItLjY4MyAxLjkzLS4wMi42OTcuMDk3IDEuMzkuMTE0IDIuMDg4YTcuMjY0IDcuMjY0IDAgMDEtLjQ2MiAyLjcyMWMtLjI5Ljc3LS43MDggMS40ODUtMS4wMzQgMi4yNC0uMzguODc2LS42MzMgMS44MDItLjk3NiAyLjY5NGExNC42MTcgMTQuNjE3IDAgMDEtNS41NjQgNi44OTVsLS4wMzcuMDg4YTE0LjYwNyAxNC42MDcgMCAwMDYuNzMtNy41ODhjLjM0My0uODkyLjU5Ni0xLjgxOC45NzYtMi42OTUuMzI2LS43NTUuNzQ0LTEuNDcgMS4wMzQtMi4yNC4zMjYtLjg2OS40ODMtMS43OTIuNDYxLTIuNzItLjAxNi0uNjk4LS4xMzMtMS4zOTItLjExMy0yLjA4OS4wMi0uNjk3LjE5OS0xLjQyNS42ODMtMS45M3oiIG9wYWNpdHk9Ii4xIi8+CiAgICA8L2c+CiAgICA8cGF0aCBmaWxsPSIjMkYyRTQxIiBkPSJNMTQ0Ljg1MyAxNjQuMjU4Yy0uMjUyLjMwMy0uNjg0LjM2NC0xLjA3NC40MDRhNi4xMjEgNi4xMjEgMCAwMS0xLjUyNC4wMjljLS42MDMtLjA4OS0uOTY0LjI1Mi0xLjUxNC0uMDEtLjMzMy0uMTU5LS44NDUuMTU4LTEuMTc4IDAtLjQ1Ny0uMjE4LTIuMDMzLS4yNjMtMi4zMS0uNjg3LS4yNzgtLjQyNS0uMjUtMS4wOTYuMTg5LTEuMzQ2YTIuOTUgMi45NSAwIDAxLjM4NS0uMTVjLjczNi0uMjkyIDIuMjI2LTIuNDkgMy4wMDgtMi42MDMuMzg4LS4wMTguNzc0LjA3MiAxLjExMy4yNjEuNzcyLjM0MSAyLjEzNC42MTEgMi40NzEgMS40NzYuMjYyLjY3NS45OCAxLjk2Ny40MzQgMi42MjZ6TTE1MC4zOTYgMTY0LjA4NGMuMjUyLjMwMy42ODQuMzY0IDEuMDc0LjQwNGE2LjEyMSA2LjEyMSAwIDAwMS41MjQuMDI5Yy42MDMtLjA4OSAxLjMzNi40MjYgMS44ODcuMTY0LjMzMy0uMTU5Ljg0NS0uMDc2IDEuMTc4LS4yMzUuNDU3LS4yMTggMi42MDIuMjY4IDIuODgtLjE1Ny4yNzgtLjQyNS4yNDktMS4wOTUtLjE5LTEuMzQ2YTIuODk2IDIuODk2IDAgMDAtLjM4NS0uMTVjLS43MzUtLjI5MS0zLjE2OC0yLjk2LTMuOTUtMy4wNzJhMi4wODggMi4wODggMCAwMC0xLjExMy4yNjFjLS43NzIuMzQxLTIuMTM0LjYxMS0yLjQ3MSAxLjQ3Ni0uMjYyLjY3NS0uOTggMS45NjctLjQzNCAyLjYyNnoiLz4KICAgIDxwYXRoIGZpbGw9IiMyRjJFNDEiIGQ9Ik0xNTIuODMyIDExNi4xNjFjLjI0MS40NjEuNDUyLjkzOC42MzEgMS40MjcgMi4xMzkgNS42MzYgMi4zMTggMTEuNzk1IDIuNDA3IDE3LjgyLS4wMDguOTc5LjA0OCAxLjk1OC4xNjggMi45MzEuMDg5LjYxNi4yMzEgMS4yNC4xNCAxLjg1Ni0uMDc5LjUzMy0uMzMxIDEuMDU5LS4yMzEgMS41ODguMDQ1LjIzNy4xNi40NTcuMjA1LjY5NS4wMzQuMjYuMDI3LjUyNC0uMDIyLjc4M2wtLjI4NiAyLjEyNWMtLjE2NCAxLjIxLS41NDEgMi4zNzctLjUyIDMuNTk4LjAxNC44MzMuMDI4IDEuNjY4LjEyMSAyLjQ5Ni4wOTQuODQxLjI3MSAxLjY3NS4yOCAyLjUyMS4wMDYuNjMzLS4wODEgMS4yNjQtLjEzNyAxLjg5NWExOS40OTMgMTkuNDkzIDAgMDAtLjA1NCAyLjY4Yy4wMzQuNjg5LjExMyAxLjQwNC40OCAxLjk4OS0uNDExLjU4Ni0uODE4IDEuMTEyLTEuNDc2IDEuMzk5LTEuMzM2LjU4NC0yLjg3LjM4Ni00LjMxNC4xNzcuMDgtLjI2NS4yMDQtLjU2Ni4wODgtLjgxOGExLjYzIDEuNjMgMCAwMC0uMjQ4LS4zMzYgMy45NTYgMy45NTYgMCAwMS0uNjQzLTEuNDg5Yy0uMTc1LS42MzQtLjM1LTEuMzE3LjAxLTEuOTI2YTEuMjMgMS4yMyAwIDAwLjE1Ni0uNzE1Yy0uMjk5LTMuOTk1LTEuMTkyLTguMTI5LS4zNy0xMi4wNS4wODgtLjQxOS4xOTMtLjgzNS4yNDItMS4yNi4wNDQtLjYxMS4wNTEtMS4yMjQuMDIyLTEuODM2bC0uMDE3LS44NTFjLS4wNDMtLjkwOS0uMDA2LTEuODQxLS4xODktMi43NC0uMTMxLS42NDQtLjM3Ni0xLjI5MS0uMDc0LTEuOTQ3YTEuMDczIDEuMDczIDAgMDAtLjA0NS0uOTQ1IDE3LjMyNCAxNy4zMjQgMCAwMS0xLjUyMi0zLjQ5OCA2LjA4MyA2LjA4MyAwIDAwLS4zMi0uOTk2IDcuMDQzIDcuMDQzIDAgMDAtLjYzMy0uOTY5Yy0uNzE2LTEuMDM0LTEuMTQ0LTIuMjMzLTEuNTY0LTMuNDE3LjA0NS0uMTA5LjAxMS0uMjYtLjEwNi0uMjQ0YS40NDguNDQ4IDAgMDAtLjI3Ni4yMDVjLS41NzYuNzctLjYyNCAxLjc5OC0uNjUgMi43NTgtLjA0My44OTItLjAyOCAxLjc4Ni4wNDYgMi42NzYuMDQ5LjQ2Ny4xMzEuOTI5LjE3MyAxLjM5Ni4wNTUuODcyLjA0MSAxLjc0Ni0uMDQyIDIuNjE1bC0uMjkzIDQuMjc3Yy0uMDQuMzU0LS4wMTkuNzEyLjA2MyAxLjA1OC4xODguNTk5LjI4IDEuMjI1LjI3MiAxLjg1M2EzMy4yNzcgMzMuMjc3IDAgMDAuNjY4IDcuNjk5Yy4xNDQuNjk5LjMxIDEuMzk0LjQzMiAyLjA5Ny4yODcgMS42NTcuMzI2IDMuMzQ2LjM2NSA1LjAyNy4wMjMgMS4wMzQuMDQgMi4xMDQtLjM2OCAzLjA1NS0uMTYuMjkzLS4yNzguNjA3LS4zNDkuOTMyYTEuOTkyIDEuOTkyIDAgMDEtLjA2Ny40OThjLS4xMi4zMDgtLjQ4LjQzOS0uODA0LjUwOWE2LjUxNCA2LjUxNCAwIDAxLTEuODUzLjEzMSAxLjA4IDEuMDggMCAwMS0uNDIzLS4wOTNjLS4yMzEtLjEyLS4zNTQtLjM3My0uNTMtLjU2NS0uMzgtLjQxMy0xLjAxMi0uNTM5LTEuMzU4LS45ODEtLjQzMy0uNTUzLS4yNTEtMS4zNTMuMDA2LTIuMDA1LjI1OC0uNjUyLjU3Ny0xLjM2LjM1NS0yLjAyNS0uMjYxLS43ODQtMS4xODgtMS4yMDYtMS40MzctMS45OTQuNzEtMy4xNzctMS4wMzMtNi40NjMtLjg4NC05LjcxNC4wMzUtLjc1OC4xNjctMS41MDkuMTctMi4yNjguMDA3LTEuOTUzLS44NDMtMy44NTMtLjcwMy01LjgwMS4zNTUtNC45NS0xLjMzOC05Ljg5Mi0yLjA1NS0xNC44MDNhOS42MzkgOS42MzkgMCAwMS0uMTUxLTIuMjI0Yy4xMDYtMS4yMjkuNjc5LTIuMzczIDEuMzY4LTMuMzk5LjQ5NC0uNzM0IDEuMDg4LTEuNDUzIDEuOTA2LTEuNzk3LjY3My0uMjgzIDEuNDI4LS4yODIgMi4xNTktLjI3NiAxLjgyNC4wMTQgMy42NDguMDI4IDUuNDcxLjA2MWExOC4wNjYgMTguMDY2IDAgMDEzLjY5OS4zMjljLjk4Ny4yMjUgMS45MS42ODMgMi45MTEuODI2eiIvPgogICAgPHBhdGggZmlsbD0iI0ExNjE2QSIgZD0iTTEyMy4zNjQgOTMuNTk0Yy0uMTc2LS44NjEuMTU4LTEuNzgyLS4xMDQtMi42MjItLjA5NC0uMzAyLS4zMjUtLjYxNy0uNjQzLS42MDgtLjMwOS4wMDgtLjUxOC4zMS0uNzkyLjQ1Mi0uNDQyLjIzLS45NzkuMDIxLTEuNDItLjIxLS40NDEtLjIzLS45MzMtLjQ5LTEuNDEyLS4zNTItLjA1Ni4yOTguMTQ2LjU4My4zNjYuNzkzLjI0NC4xODQuNDQ2LjQxNy41OTMuNjg0LjA3Mi4yOS4wOTkuNTg3LjA4MS44ODUuMDUuNjgyLjQ4NCAxLjI2OS45MTcgMS44LjY5OC44NTQgMS40NCAxLjY3MyAyLjIyMiAyLjQ1My0uMDAyLS4wMDEgMS4xODYtMS40NjUgMS4xNjMtMS43Mi0uMDIxLS4yNDItLjQyMS0uNDY3LS41NjYtLjY2MmEyLjI2MiAyLjI2MiAwIDAxLS40MDUtLjg5M3pNMTU4LjcyOCAxMTEuNjE4Yy4xMDYuMjc0LjE4NS41NTcuMjM3Ljg0NS4zMDYgMS40NzkuNDk5IDIuOTc4LjY5IDQuNDc2LjA1LjQuMTAxLjgwMS4xMTcgMS4yMDNhNS40OSA1LjQ5IDAgMDEtLjU3MyAyLjc2NyAzLjg4NSAzLjg4NSAwIDAxLTIuMDgyIDEuODY4Yy0uMjc5LjA5OC0uNjY3LjExNi0uNzg5LS4xNTJhLjU3LjU3IDAgMDEuMDAzLS4zODJjLjExLS4zOTkuMzMzLS43NTcuNDc4LTEuMTQ0YTMuMDc4IDMuMDc4IDAgMDAuMTAzLTEuODA5Yy0uMDU3LS4yMjktLjE3Ny0uNDg1LS40MS0uNTMxYTIuMDUyIDIuMDUyIDAgMDEtLjI3MiAxLjUzOS41NDIuNTQyIDAgMDEtLjMxOC4yNjguNDI5LjQyOSAwIDAxLS40NDctLjI4NyAxLjIzNyAxLjIzNyAwIDAxLS4wMzYtLjU3Yy4wNzUtLjk2MS4yMjItMS45MTUuNDQtMi44NTMuMjU5LTEuMDMxLjY3LTIuMDQ4LjY0NC0zLjExLS4wMjQtLjk2My0uNDA5LTEuOTA4LS4zMDEtMi44NjVhLjI4Ni4yODYgMCAwMS4wNTUtLjE2NC4zLjMgMCAwMS4xMi0uMDc0Yy4yNy0uMTExLjU0OC0uMjAzLjgzMS0uMjc0LjE2Ny0uMDQyLjczOC0uMjQuODk5LS4xNTEuMTI5LjA3MS4xNjkuNS4yMzQuNjQ1LjExNS4yNTcuMjY4LjQ5NS4zNzcuNzU1ek0xMzkuNjU1IDgzLjEwM2EzLjkzOSAzLjkzOSAwIDAwMy45NDYtMy45M2MwLTIuMTctMS43NjctMy45My0zLjk0Ni0zLjkzYTMuOTM5IDMuOTM5IDAgMDAtMy45NDcgMy45M2MwIDIuMTcgMS43NjcgMy45MyAzLjk0NyAzLjkzeiIvPgogICAgPHBhdGggZmlsbD0iI0ExNjE2QSIgZD0iTTE0My4xOTEgODIuMDE3YzAgLjI1LjAyLjUwMS4wNi43NDguMDU0LjI1LjEzMS40OTUuMjMuNzMxLjEzMi4zODUuMzE4Ljc0OC41NTMgMS4wOC4yMzguMzM1LjU5NS41NjYuOTk5LjY0OGEyOC41MDcgMjguNTA3IDAgMDEtOC41MzQgMi40NTZjLjQ2Ni0uMzA4Ljg1My0uNzIgMS4xMzItMS4yMDMuMTQ4LS4zMS4yNDktLjY0LjMtLjk4YTguMTkgOC4xOSAwIDAwLS4zNzEtNC4yMzljLS4wNDktLjEzNC0uMDk3LS4yOTgtLjAwNC0uNDA2YS4zOC4zOCAwIDAxLjE0LS4wOSA4LjgzMiA4LjgzMiAwIDAxMy43MS0uNjljLjMyNS4wMDIuNjUuMDE3Ljk3NS4wNC4xNzQuMDEzLjU1OS0uMDI0LjY5OC4xMDMuMTY1LjE1Mi4wODIuNjIzLjA4OC44M2wuMDI0Ljk3MnoiLz4KICAgIDxwYXRoIGZpbGw9IiNEMENERTEiIGQ9Ik0xNDUuMjggODQuODc3YTQuMjQgNC4yNCAwIDAwLTUuMDUyLTEuMjU0Yy0xLjg3OS44OTMtMi44MDQgMy4wMzgtNC40NTYgNC4yOTktLjM3Ni4yOC0uNzc2LjUyNi0xLjE5Ni43MzQtLjI0OC4xMzYtLjUxMy4yNC0uNzg4LjMxLS4zMDguMDY4LS42MzEuMDU5LS45MzguMTMyYTIuNDE2IDIuNDE2IDAgMDAtMS4zOTcgMS4wOCA3LjU1NCA3LjU1NCAwIDAxLS41MTQuNzg5Yy0uMTcyLjIwNC0uMzg3LjM2OS0uNTY5LjU2NC0uNjU3LjcwMy0uODM2IDEuNzEzLS45ODYgMi42NjJhMTIuNjU0IDEyLjY1NCAwIDAxLTEuNjc2IDEuNDcyIDIuMzggMi4zOCAwIDAxLS42MjIuMzQzYy0uNTc4LjE4Ny0xLjIxNi0uMDUtMS43MDgtLjQwNS0uNDkzLS4zNTQtLjg5NC0uODIyLTEuMzgtMS4xODVhNTAuNzQzIDUwLjc0MyAwIDAxLTEuMzg4IDEuODg2LjYxLjYxIDAgMDEtLjMxMS4yNTRjLS4wODkuMjk5LjEyNS42MDkuMjg2Ljg3N2wuODYgMS40NGE3LjIyMSA3LjIyMSAwIDAwMS4wMzkgMS40NWMuNDExLjQ0MS45NzMuNzEzIDEuNTc1Ljc2M2EzLjIgMy4yIDAgMDAxLjExMS0uMjEyYzEuNjM5LS41NDkgMy4xNDUtMS40MjYgNC43MDUtMi4xNzEuMjgzLS4xNjEuNTk5LS4yNTMuOTI0LS4yN2EuNzQ0Ljc0NCAwIDAxLjczMS41MjNjLjE3OS45LjM1NiAxLjc5Ny42MDIgMi42OC4yMzIuODM0LjQ0OCAxLjY3Mi42NDcgMi41MTQuMTMzLjUxNS4yMjggMS4wNC4yODQgMS41NjkuMDI2LjMuMDI4LjYwMi4wMzEuOTA0bC4wMzMgMy42NDNjLjAwNC4zOTMtLjIyMS42MzctLjM5NC45OWEyLjMyNyAyLjMyNyAwIDAwLS4xMTEgMS43NTFjLjA5Ny4yODQuMjQ5LjU0Ny4zNTcuODI3LjI2LjY3OC4yNSAxLjQyNS4yMzYgMi4xNTFsLS4wMzEgMS42NjJhLjM1OC4zNTggMCAwMC4wMzYuMjAxYy4xMDIuMTU4LjM0OC4wNjUuNTAzLS4wNDJsLjc4MS0uNTM5YzEuMDQ0LjE0NCAyLjA5OS4xOTQgMy4xNTMuMTUyIDIuOTk2LS4wNDMgNS45OTMuMDc2IDguOTgyLjI4NC45OTguMDcgMi4wMjkuMTQ1IDIuOTcyLS4xODcuNDc4LS4xNjguOTE5LS40MzYgMS40MDgtLjU3MS4yMDEtLjAzMi4zOTMtLjExLjU1OC0uMjI5LjI3NC0uMjUyLjIwMS0uNjk1LjA5LTEuMDQ5LS4wOTgtLjMxLS4yMDktLjYxNS0uMzMzLS45MTZhNS4zMTcgNS4zMTcgMCAwMS0uMzExLS44NTdjLS4xNS0uNjYzLS4wMDQtMS40My0uNDE5LTEuOTctLjkyOC0xLjIwOS0uMjcxLTMuMDY5LS42Ni00LjU0LS4xMjYtLjQ3Ni0uMzEzLS45MzUtLjQzMS0xLjQxMy0uMDc0LS4zLS4xMjEtLjYwNi0uMTY4LS45MTJhMTAuOTUyIDEwLjk1MiAwIDAxLS4xODEtMi4wMDRjLjAxMi0uMzM2LjA1NC0uNjcuMDk3LTEuMDA0bC4yOTUtMi4zMThjLjM2OC42ODUuNjI0IDEuNDI1Ljc1OCAyLjE5MS4yNjkgMS4xNDQuNTk5IDIuMjczLjk5IDMuMzgxLjIyMi42NjkuNDQ1IDEuMzM4LjY4NSAyIC4xNTIuMzc3LjI2OS43NjcuMzUgMS4xNjUuMDUzLjMyMS4wNTQuNjQ5LjA5Mi45NzJhNC40MiA0LjQyIDAgMDAuNzExIDEuOTQxYy4wNzEuMTM1LjE5LjI0LjMzMy4yOTRhLjY1LjY1IDAgMDAuMjkxLS4wMTIgMTEuNTA5IDExLjUwOSAwIDAwMi45OTYtMS4wMzIgMS4xOSAxLjE5IDAgMDAuNTA2LS4zOTRjLjI1NS0uNDEyLS4wMy0uOTI3LS4xNTQtMS4zOTUtLjEzMi0uNTAyLS4xMDEtMS4xMDYtLjQ5OC0xLjQ0My0xLjM4Mi0xLjE3MS0uNjk2LTMuNTQ5LTEuMzg4LTUuMjItLjEyMS0uMjkzLS4yNjMtLjU3OC0uMzY4LS44NzgtLjA4LS4yMjktLjEzOC0uNDY1LS4xOTYtLjcwMS0uNDgzLTEuOTQ2LTEtMy44ODMtMS41NTEtNS44MTItLjU3MS0yLS41MDktNC4wODItMS4yMjgtNi4wMzRhNi4zNTEgNi4zNTEgMCAwMC0uNTI3LTEuMTc3IDMuMTkgMy4xOSAwIDAwLS45NTMtLjk3OGMtMS4wNDMtLjY4Ny0yLjA5Ny0xLjI3Mi0zLjMyMi0xLjUyMS0xLjIyNi0uMjUtMi41NTItLjIxLTMuODAzLS4yMDV6Ii8+CiAgICA8cGF0aCBmaWxsPSIjMkYyRTQxIiBkPSJNMTM2LjA2OCA4MC4xMzVjLS41My0uMjg1LS4zOS0xLjA1Ny0uNDgxLTEuNjUtLjE4NS0xLjIyMi0xLjU3LTEuOTQ2LTEuODk2LTMuMTM3LjM3NC4wNDUuNzUzLS4wMDggMS4wOTktLjE1NWExLjY2NCAxLjY2NCAwIDAwLS4yMjEtMS4xNDVjMS4xMzktLjQ2IDIuMDYxLTEuMzY1IDMuMjE4LTEuNzggMS40NTUtLjUyMyAzLjA3NS0uMjAyIDQuNTQyLjI4My43MzMuMjQzIDEuNDk1LjU1NyAxLjkzNyAxLjE4Ny40ODcuNjkuNDc5IDEuNi40NTMgMi40NDQtLjA0MSAxLjMyMy0uMDkzIDIuNjk0LS42ODUgMy44OC0uNzUzIDEuNTA5LTIuODg1IDIuOTA3LTQuNjQ3IDIuNDk4LS43MzItLjE3LS45NDgtLjYyOC0xLjI1Ny0xLjI2Mi0uMTkyLS4zOTUtLjI2NC0uODUzLS42OTctMS4wNTgtLjQyMy0uMjAxLS45MzUuMTI1LTEuMzY1LS4xMDV6Ii8+CiAgICA8ZyBmaWxsPSIjMDAwIiBvcGFjaXR5PSIuMSI+CiAgICAgIDxwYXRoIGQ9Ik0xNTIuMDcyIDEwOC4zMTZjLjAwNS4xMDQuMDA4LjIwOS4wMDkuMzE1YTguMTYzIDguMTYzIDAgMDEtLjAwOS0uMzE1ek0xMzQuOTc4IDExMi4yNjRjLjI2LjY3OC4yNSAxLjQyNS4yMzcgMi4xNWwtLjAxMS41NjlhMy44NzQgMy44NzQgMCAwMC0uMjI2LTEuMTQ3Yy0uMTA3LS4yOC0uMjU5LS41NDMtLjM1Ni0uODI3YTIuMzIgMi4zMiAwIDAxLjAxNy0xLjUyOGMuMDk3LjI2Ny4yMzcuNTE4LjMzOS43ODN6IiBvcGFjaXR5PSIuMSIvPgogICAgPC9nPgogICAgPHBhdGggZmlsbD0iIzAwMCIgZD0iTTEzNC43OTEgNzQuNjIxbC0uMDA0LjAwMmExLjY1IDEuNjUgMCAwMC0uMjE4LS41NzUgNS4xMiA1LjEyIDAgMDAuMTk5LS4wODZjLjA1Mi4yMTYuMDU5LjQ0LjAyMy42NTl6IiBvcGFjaXR5PSIuMSIvPgogICAgPHBhdGggZmlsbD0iI0ZGNjU4NCIgZD0iTTEwLjQyIDY2LjYwOWwtLjkzLS44MzZjLTMuMzA0LTMuMDItNS40ODUtNC45ODEtNS40ODUtNy40MjNhMy40NjIgMy40NjIgMCAwMTEuMDE0LTIuNTEgMy40OSAzLjQ5IDAgMDEyLjUxNC0xLjAyNSAzLjgwOCAzLjgwOCAwIDAxMi44ODcgMS4zNSAzLjc5MiAzLjc5MiAwIDAxMi44ODYtMS4zNSAzLjUwMiAzLjUwMiAwIDAxMi41MTQgMS4wMjUgMy40NzUgMy40NzUgMCAwMTEuMDE0IDIuNTFjMCAyLjQ0Mi0yLjE4IDQuNDAyLTUuNDg0IDcuNDIzbC0uOTMuODM2eiIvPgogICAgPHBhdGggc3Ryb2tlPSIjM0YzRDU2IiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTEyLjA3IDY0LjQ5NmwtLjkzLS44MzVjLTMuMzAzLTMuMDItNS40ODQtNC45ODEtNS40ODQtNy40MjNhMy40NjIgMy40NjIgMCAwMTEuMDE0LTIuNTEgMy40OSAzLjQ5IDAgMDEyLjUxNC0xLjAyNSAzLjgwOCAzLjgwOCAwIDAxMi44ODYgMS4zNSAzLjc5MiAzLjc5MiAwIDAxMi44ODctMS4zNSAzLjUwMiAzLjUwMiAwIDAxMi41MTQgMS4wMjUgMy40NzQgMy40NzQgMCAwMTEuMDE0IDIuNTFjMCAyLjQ0Mi0yLjE4MSA0LjQwMi01LjQ4NSA3LjQyM2wtLjkzLjgzNXoiLz4KICA8L2c+CiAgPGRlZnM+CiAgICA8Y2xpcFBhdGggaWQ9ImNsaXAwIj4KICAgICAgPHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMGgyMzF2MTY1SDB6Ii8+CiAgICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KPC9zdmc+Cg=="
+
+/***/ }),
+
+/***/ 904:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+// ESM COMPAT FLAG
+__webpack_require__.r(__webpack_exports__);
+
+// NAMESPACE OBJECT: ./client/marketing/data/actions.js
+var actions_namespaceObject = {};
+__webpack_require__.r(actions_namespaceObject);
+__webpack_require__.d(actions_namespaceObject, "receiveInstalledPlugins", function() { return receiveInstalledPlugins; });
+__webpack_require__.d(actions_namespaceObject, "receiveActivatingPlugin", function() { return receiveActivatingPlugin; });
+__webpack_require__.d(actions_namespaceObject, "removeActivatingPlugin", function() { return removeActivatingPlugin; });
+__webpack_require__.d(actions_namespaceObject, "receiveRecommendedPlugins", function() { return receiveRecommendedPlugins; });
+__webpack_require__.d(actions_namespaceObject, "receiveBlogPosts", function() { return receiveBlogPosts; });
+__webpack_require__.d(actions_namespaceObject, "handleFetchError", function() { return handleFetchError; });
+__webpack_require__.d(actions_namespaceObject, "activateInstalledPlugin", function() { return actions_activateInstalledPlugin; });
+__webpack_require__.d(actions_namespaceObject, "loadInstalledPluginsAfterActivation", function() { return loadInstalledPluginsAfterActivation; });
+
+// NAMESPACE OBJECT: ./client/marketing/data/selectors.js
+var selectors_namespaceObject = {};
+__webpack_require__.r(selectors_namespaceObject);
+__webpack_require__.d(selectors_namespaceObject, "getInstalledPlugins", function() { return selectors_getInstalledPlugins; });
+__webpack_require__.d(selectors_namespaceObject, "getActivatingPlugins", function() { return selectors_getActivatingPlugins; });
+__webpack_require__.d(selectors_namespaceObject, "getRecommendedPlugins", function() { return selectors_getRecommendedPlugins; });
+__webpack_require__.d(selectors_namespaceObject, "getBlogPosts", function() { return selectors_getBlogPosts; });
+
+// NAMESPACE OBJECT: ./client/marketing/data/resolvers.js
+var resolvers_namespaceObject = {};
+__webpack_require__.r(resolvers_namespaceObject);
+__webpack_require__.d(resolvers_namespaceObject, "getRecommendedPlugins", function() { return resolvers_getRecommendedPlugins; });
+__webpack_require__.d(resolvers_namespaceObject, "getBlogPosts", function() { return resolvers_getBlogPosts; });
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: ./client/settings/index.js
+var settings = __webpack_require__(26);
+
+// EXTERNAL MODULE: ./client/marketing/overview/style.scss
+var overview_style = __webpack_require__(876);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/extends.js
+var helpers_extends = __webpack_require__(105);
+var extends_default = /*#__PURE__*/__webpack_require__.n(helpers_extends);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js
+var classCallCheck = __webpack_require__(41);
+var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js
+var createClass = __webpack_require__(40);
+var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(44);
+var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(29);
+var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js
+var inherits = __webpack_require__(42);
+var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
+
+// EXTERNAL MODULE: external {"this":["wp","i18n"]}
+var external_this_wp_i18n_ = __webpack_require__(3);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/compose/build-module/higher-order/compose.js
+var compose = __webpack_require__(256);
+
+// EXTERNAL MODULE: external {"this":["wp","data"]}
+var external_this_wp_data_ = __webpack_require__(19);
+
+// EXTERNAL MODULE: ./node_modules/prop-types/index.js
+var prop_types = __webpack_require__(1);
+var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
+
+// EXTERNAL MODULE: external {"this":["wc","components"]}
+var external_this_wc_components_ = __webpack_require__(63);
+
+// EXTERNAL MODULE: ./client/marketing/overview/installed-extensions/style.scss
+var installed_extensions_style = __webpack_require__(877);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/assertThisInitialized.js
+var assertThisInitialized = __webpack_require__(59);
+var assertThisInitialized_default = /*#__PURE__*/__webpack_require__.n(assertThisInitialized);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/button/index.js
+var build_module_button = __webpack_require__(88);
+
+// EXTERNAL MODULE: ./node_modules/classnames/index.js
+var classnames = __webpack_require__(10);
+var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
+
+// EXTERNAL MODULE: ./client/marketing/components/button/style.scss
+var button_style = __webpack_require__(878);
+
+// CONCATENATED MODULE: ./client/marketing/components/button/index.js
+
+
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+/* harmony default export */ var components_button = (function (props) {
+ return Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], extends_default()({}, props, {
+ className: classnames_default()(props.className, 'woocommere-admin-marketing-button')
+ }));
+});
+// EXTERNAL MODULE: ./client/marketing/components/product-icon/style.scss
+var product_icon_style = __webpack_require__(879);
+
+// CONCATENATED MODULE: ./client/marketing/components/product-icon/index.js
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var product_icon_ProductIcon = /*#__PURE__*/function (_Component) {
+ inherits_default()(ProductIcon, _Component);
+
+ var _super = _createSuper(ProductIcon);
+
+ function ProductIcon() {
+ classCallCheck_default()(this, ProductIcon);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(ProductIcon, [{
+ key: "render",
+ value: function render() {
+ return Object(external_this_wp_element_["createElement"])("img", {
+ src: this.props.src,
+ className: classnames_default()(this.props.className, 'woocommere-admin-marketing-product-icon'),
+ alt: ""
+ });
+ }
+ }]);
+
+ return ProductIcon;
+}(external_this_wp_element_["Component"]);
+
+product_icon_ProductIcon.propTypes = {
+ /**
+ * Icon src.
+ */
+ src: prop_types_default.a.string.isRequired,
+
+ /**
+ * Additional classNames.
+ */
+ className: prop_types_default.a.string
+};
+/* harmony default export */ var product_icon = (product_icon_ProductIcon);
+// EXTERNAL MODULE: ./node_modules/react-transition-group/esm/TransitionGroup.js + 1 modules
+var TransitionGroup = __webpack_require__(726);
+
+// EXTERNAL MODULE: ./node_modules/react-transition-group/esm/CSSTransition.js + 5 modules
+var CSSTransition = __webpack_require__(720);
+
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__(2);
+
+// EXTERNAL MODULE: ./client/marketing/components/slider/style.scss
+var slider_style = __webpack_require__(880);
+
+// CONCATENATED MODULE: ./client/marketing/components/slider/index.js
+
+
+
+
+
+
+
+
+function slider_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (slider_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function slider_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var slider_Slider = /*#__PURE__*/function (_Component) {
+ inherits_default()(Slider, _Component);
+
+ var _super = slider_createSuper(Slider);
+
+ function Slider(props) {
+ var _this;
+
+ classCallCheck_default()(this, Slider);
+
+ _this = _super.call(this, props);
+ _this.state = {
+ height: null
+ };
+ _this.container = Object(external_this_wp_element_["createRef"])();
+ _this.onEnter = _this.onEnter.bind(assertThisInitialized_default()(_this));
+ _this.updateSliderHeight = _this.updateSliderHeight.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+ /**
+ * Update the slider height on Resize
+ */
+
+
+ createClass_default()(Slider, [{
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ // Update the slider height on Resize
+ window.addEventListener('resize', Object(external_lodash_["debounce"])(this.updateSliderHeight, 50));
+ }
+ }, {
+ key: "componentWillUnmount",
+ value: function componentWillUnmount() {
+ window.removeEventListener('resize', this.updateSliderHeight);
+ }
+ }, {
+ key: "updateSliderHeight",
+ value: function updateSliderHeight() {
+ var slide = this.container.current.querySelector('.woocommerce-marketing-slider__slide');
+ this.setState({
+ height: slide.clientHeight
+ });
+ }
+ /**
+ * Fix slider height before a slide enters because slides are absolutely position
+ */
+
+ }, {
+ key: "onEnter",
+ value: function onEnter() {
+ var newSlide = this.container.current.querySelector('.slide-enter');
+ this.setState({
+ height: newSlide.clientHeight
+ });
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ children = _this$props.children,
+ animationKey = _this$props.animationKey,
+ animate = _this$props.animate;
+ var height = this.state.height;
+ var containerClasses = classnames_default()('woocommerce-marketing-slider', animate && "animate-".concat(animate));
+ var style = {};
+
+ if (height) {
+ style.height = height;
+ }
+
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: containerClasses,
+ ref: this.container,
+ style: style
+ }, Object(external_this_wp_element_["createElement"])(TransitionGroup["a" /* default */], null, Object(external_this_wp_element_["createElement"])(CSSTransition["a" /* default */] // timeout should be slightly longer than the CSS animation
+ , {
+ timeout: 320,
+ classNames: "slide",
+ key: animationKey,
+ onEnter: this.onEnter
+ }, Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-marketing-slider__slide"
+ }, children))));
+ }
+ }]);
+
+ return Slider;
+}(external_this_wp_element_["Component"]);
+
+slider_Slider.propTypes = {
+ /**
+ * A unique identifier for each slideable page.
+ */
+ animationKey: prop_types_default.a.any.isRequired,
+
+ /**
+ * null, 'left', 'right', to designate which direction to slide on a change.
+ */
+ animate: prop_types_default.a.oneOf([null, 'left', 'right'])
+};
+/* harmony default export */ var slider = (slider_Slider);
+// CONCATENATED MODULE: ./client/marketing/components/index.js
+
+
+
+// EXTERNAL MODULE: ./client/lib/tracks.js
+var tracks = __webpack_require__(79);
+
+// CONCATENATED MODULE: ./client/marketing/overview/installed-extensions/row.js
+
+
+
+
+
+
+
+
+function row_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (row_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function row_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var row_InstalledExtensionRow = /*#__PURE__*/function (_Component) {
+ inherits_default()(InstalledExtensionRow, _Component);
+
+ var _super = row_createSuper(InstalledExtensionRow);
+
+ function InstalledExtensionRow(props) {
+ var _this;
+
+ classCallCheck_default()(this, InstalledExtensionRow);
+
+ _this = _super.call(this, props);
+ _this.onActivateClick = _this.onActivateClick.bind(assertThisInitialized_default()(_this));
+ _this.onFinishSetupClick = _this.onFinishSetupClick.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(InstalledExtensionRow, [{
+ key: "getLinks",
+ value: function getLinks() {
+ var _this2 = this;
+
+ var _this$props = this.props,
+ docsUrl = _this$props.docsUrl,
+ settingsUrl = _this$props.settingsUrl,
+ supportUrl = _this$props.supportUrl,
+ dashboardUrl = _this$props.dashboardUrl;
+ var links = [];
+
+ if (docsUrl) {
+ links.push({
+ key: 'docs',
+ href: docsUrl,
+ text: Object(external_this_wp_i18n_["__"])('Docs', 'woocommerce-admin')
+ });
+ }
+
+ if (supportUrl) {
+ links.push({
+ key: 'support',
+ href: supportUrl,
+ text: Object(external_this_wp_i18n_["__"])('Get support', 'woocommerce-admin')
+ });
+ }
+
+ if (settingsUrl) {
+ links.push({
+ key: 'settings',
+ href: settingsUrl,
+ text: Object(external_this_wp_i18n_["__"])('Settings', 'woocommerce-admin')
+ });
+ }
+
+ if (dashboardUrl) {
+ links.push({
+ key: 'dashboard',
+ href: dashboardUrl,
+ text: Object(external_this_wp_i18n_["__"])('Dashboard', 'woocommerce-admin')
+ });
+ }
+
+ return Object(external_this_wp_element_["createElement"])("ul", {
+ className: "woocommerce-marketing-installed-extensions-card__item-links"
+ }, links.map(function (link) {
+ return Object(external_this_wp_element_["createElement"])("li", {
+ key: link.key
+ }, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: link.href,
+ type: "external",
+ onClick: _this2.onLinkClick.bind(_this2, link)
+ }, link.text));
+ }));
+ }
+ }, {
+ key: "onLinkClick",
+ value: function onLinkClick(link) {
+ var name = this.props.name;
+ Object(tracks["b" /* recordEvent */])('marketing_installed_options', {
+ name: name,
+ link: link.key
+ });
+ }
+ }, {
+ key: "onActivateClick",
+ value: function onActivateClick() {
+ var _this$props2 = this.props,
+ activatePlugin = _this$props2.activatePlugin,
+ name = _this$props2.name;
+ Object(tracks["b" /* recordEvent */])('marketing_installed_activate', {
+ name: name
+ });
+ activatePlugin();
+ }
+ }, {
+ key: "onFinishSetupClick",
+ value: function onFinishSetupClick() {
+ var name = this.props.name;
+ Object(tracks["b" /* recordEvent */])('marketing_installed_finish_setup', {
+ name: name
+ });
+ }
+ }, {
+ key: "getActivateButton",
+ value: function getActivateButton() {
+ var isLoading = this.props.isLoading;
+ return Object(external_this_wp_element_["createElement"])(components_button, {
+ isDefault: true,
+ onClick: this.onActivateClick,
+ disabled: isLoading
+ }, Object(external_this_wp_i18n_["__"])('Activate', 'woocommerce-admin'));
+ }
+ }, {
+ key: "getFinishSetupButton",
+ value: function getFinishSetupButton() {
+ return Object(external_this_wp_element_["createElement"])(components_button, {
+ isDefault: true,
+ href: this.props.settingsUrl,
+ onClick: this.onFinishSetupClick
+ }, Object(external_this_wp_i18n_["__"])('Finish setup', 'woocommerce-admin'));
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props3 = this.props,
+ name = _this$props3.name,
+ description = _this$props3.description,
+ status = _this$props3.status,
+ icon = _this$props3.icon;
+ var actions = null;
+
+ switch (status) {
+ case 'installed':
+ actions = this.getActivateButton();
+ break;
+
+ case 'activated':
+ actions = this.getFinishSetupButton();
+ break;
+
+ case 'configured':
+ actions = this.getLinks();
+ break;
+ }
+
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-marketing-installed-extensions-card__item"
+ }, Object(external_this_wp_element_["createElement"])(product_icon, {
+ src: icon
+ }), Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-marketing-installed-extensions-card__item-text-and-actions"
+ }, Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-marketing-installed-extensions-card__item-text"
+ }, Object(external_this_wp_element_["createElement"])("h4", null, name), status === 'configured' || Object(external_this_wp_element_["createElement"])("p", {
+ className: "woocommerce-marketing-installed-extensions-card__item-description"
+ }, description)), Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-marketing-installed-extensions-card__item-actions"
+ }, actions)));
+ }
+ }]);
+
+ return InstalledExtensionRow;
+}(external_this_wp_element_["Component"]);
+
+row_InstalledExtensionRow.defaultProps = {
+ isLoading: false
+};
+row_InstalledExtensionRow.propTypes = {
+ name: prop_types_default.a.string.isRequired,
+ slug: prop_types_default.a.string.isRequired,
+ description: prop_types_default.a.string.isRequired,
+ status: prop_types_default.a.string.isRequired,
+ settingsUrl: prop_types_default.a.string,
+ docsUrl: prop_types_default.a.string,
+ supportUrl: prop_types_default.a.string,
+ dashboardUrl: prop_types_default.a.string,
+ activatePlugin: prop_types_default.a.func.isRequired
+};
+/* harmony default export */ var row = (row_InstalledExtensionRow);
+// CONCATENATED MODULE: ./client/marketing/data/constants.js
+var STORE_KEY = 'wc/marketing';
+var API_NAMESPACE = '/wc-admin/marketing';
+// CONCATENATED MODULE: ./client/marketing/overview/installed-extensions/index.js
+
+
+
+
+
+
+
+
+function installed_extensions_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (installed_extensions_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function installed_extensions_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+var installed_extensions_InstalledExtensions = /*#__PURE__*/function (_Component) {
+ inherits_default()(InstalledExtensions, _Component);
+
+ var _super = installed_extensions_createSuper(InstalledExtensions);
+
+ function InstalledExtensions() {
+ classCallCheck_default()(this, InstalledExtensions);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(InstalledExtensions, [{
+ key: "activatePlugin",
+ value: function activatePlugin(pluginSlug) {
+ var activateInstalledPlugin = this.props.activateInstalledPlugin;
+ activateInstalledPlugin(pluginSlug);
+ }
+ }, {
+ key: "isActivatingPlugin",
+ value: function isActivatingPlugin(pluginSlug) {
+ var activatingPlugins = this.props.activatingPlugins;
+ return activatingPlugins.includes(pluginSlug);
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this = this;
+
+ var plugins = this.props.plugins;
+
+ if (plugins.length === 0) {
+ return null;
+ }
+
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Card"], {
+ title: Object(external_this_wp_i18n_["__"])('Installed marketing extensions', 'woocommerce-admin'),
+ className: "woocommerce-marketing-installed-extensions-card"
+ }, plugins.map(function (plugin) {
+ return Object(external_this_wp_element_["createElement"])(row, extends_default()({
+ key: plugin.slug
+ }, plugin, {
+ activatePlugin: function activatePlugin() {
+ return _this.activatePlugin(plugin.slug);
+ },
+ isLoading: _this.isActivatingPlugin(plugin.slug)
+ }));
+ }));
+ }
+ }]);
+
+ return InstalledExtensions;
+}(external_this_wp_element_["Component"]);
+
+installed_extensions_InstalledExtensions.propTypes = {
+ /**
+ * Array of installed plugin objects.
+ */
+ plugins: prop_types_default.a.arrayOf(prop_types_default.a.object).isRequired,
+
+ /**
+ * Array of plugins that are currently activating.
+ */
+ activatingPlugins: prop_types_default.a.arrayOf(prop_types_default.a.string).isRequired
+};
+/* harmony default export */ var installed_extensions = (Object(compose["a" /* default */])(Object(external_this_wp_data_["withSelect"])(function (select) {
+ var _select = select(STORE_KEY),
+ getInstalledPlugins = _select.getInstalledPlugins,
+ getActivatingPlugins = _select.getActivatingPlugins;
+
+ return {
+ plugins: getInstalledPlugins(),
+ activatingPlugins: getActivatingPlugins()
+ };
+}), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch(STORE_KEY),
+ activateInstalledPlugin = _dispatch.activateInstalledPlugin;
+
+ return {
+ activateInstalledPlugin: activateInstalledPlugin
+ };
+}))(installed_extensions_InstalledExtensions));
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/spinner/index.js
+var spinner = __webpack_require__(710);
+
+// EXTERNAL MODULE: ./client/marketing/overview/recommended-extensions/style.scss
+var recommended_extensions_style = __webpack_require__(774);
+
+// EXTERNAL MODULE: external {"this":["wp","url"]}
+var external_this_wp_url_ = __webpack_require__(30);
+
+// EXTERNAL MODULE: external {"this":["wc","navigation"]}
+var external_this_wc_navigation_ = __webpack_require__(22);
+
+// CONCATENATED MODULE: ./client/marketing/overview/recommended-extensions/item.js
+
+
+
+
+
+
+
+function item_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (item_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function item_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+var item_RecommendedExtensionsItem = /*#__PURE__*/function (_Component) {
+ inherits_default()(RecommendedExtensionsItem, _Component);
+
+ var _super = item_createSuper(RecommendedExtensionsItem);
+
+ function RecommendedExtensionsItem() {
+ var _temp, _this;
+
+ classCallCheck_default()(this, RecommendedExtensionsItem);
+
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
+ args[_key] = arguments[_key];
+ }
+
+ return possibleConstructorReturn_default()(_this, (_temp = _this = _super.call.apply(_super, [this].concat(args)), _this.onProductClick = function () {
+ var title = _this.props.title;
+ Object(tracks["b" /* recordEvent */])('marketing_recommended_extension', {
+ name: title
+ });
+ }, _temp));
+ }
+
+ createClass_default()(RecommendedExtensionsItem, [{
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ title = _this$props.title,
+ description = _this$props.description,
+ icon = _this$props.icon,
+ url = _this$props.url;
+ var classNameBase = 'woocommerce-marketing-recommended-extensions-item';
+
+ var _getSetting = Object(settings["g" /* getSetting */])('marketing', {}),
+ connectNonce = _getSetting.connectNonce;
+
+ var connectURL = Object(external_this_wp_url_["addQueryArgs"])(url, {
+ 'wccom-site': Object(settings["g" /* getSetting */])('siteUrl'),
+ 'wccom-back': '/wp-admin/' + Object(external_this_wc_navigation_["getNewPath"])({}),
+ 'wccom-woo-version': Object(settings["g" /* getSetting */])('wcVersion'),
+ 'wccom-connect-nonce': connectNonce
+ });
+ return Object(external_this_wp_element_["createElement"])("a", {
+ href: connectURL,
+ className: classNameBase,
+ onClick: this.onProductClick
+ }, Object(external_this_wp_element_["createElement"])(product_icon, {
+ src: icon
+ }), Object(external_this_wp_element_["createElement"])("div", {
+ className: "".concat(classNameBase, "__text")
+ }, Object(external_this_wp_element_["createElement"])("h4", null, title), Object(external_this_wp_element_["createElement"])("p", null, description)));
+ }
+ }]);
+
+ return RecommendedExtensionsItem;
+}(external_this_wp_element_["Component"]);
+
+item_RecommendedExtensionsItem.propTypes = {
+ title: prop_types_default.a.string.isRequired,
+ description: prop_types_default.a.string.isRequired,
+ icon: prop_types_default.a.string.isRequired,
+ url: prop_types_default.a.string.isRequired
+};
+/* harmony default export */ var item = (item_RecommendedExtensionsItem);
+// CONCATENATED MODULE: ./client/marketing/overview/recommended-extensions/index.js
+
+
+
+
+
+
+
+
+function recommended_extensions_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (recommended_extensions_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function recommended_extensions_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+var recommended_extensions_RecommendedExtensions = /*#__PURE__*/function (_Component) {
+ inherits_default()(RecommendedExtensions, _Component);
+
+ var _super = recommended_extensions_createSuper(RecommendedExtensions);
+
+ function RecommendedExtensions() {
+ classCallCheck_default()(this, RecommendedExtensions);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(RecommendedExtensions, [{
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ isLoading = _this$props.isLoading,
+ extensions = _this$props.extensions;
+
+ if (extensions.length === 0 && !isLoading) {
+ return null;
+ }
+
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Card"], {
+ title: Object(external_this_wp_i18n_["__"])('Recommended extensions', 'woocommerce-admin'),
+ description: Object(external_this_wp_i18n_["__"])('Great marketing requires the right tools. Take your marketing to the next level with our recommended marketing extensions.', 'woocommerce-admin'),
+ className: "woocommerce-marketing-recommended-extensions-card"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, isLoading ? Object(external_this_wp_element_["createElement"])(spinner["a" /* default */], null) : Object(external_this_wp_element_["createElement"])("div", {
+ className: classnames_default()('woocommerce-marketing-recommended-extensions-card__items', "woocommerce-marketing-recommended-extensions-card__items--count-".concat(extensions.length))
+ }, extensions.map(function (extension) {
+ return Object(external_this_wp_element_["createElement"])(item, extends_default()({
+ key: extension.product
+ }, extension));
+ }))));
+ }
+ }]);
+
+ return RecommendedExtensions;
+}(external_this_wp_element_["Component"]);
+
+recommended_extensions_RecommendedExtensions.propTypes = {
+ /**
+ * Array of recommended extensions.
+ */
+ extensions: prop_types_default.a.arrayOf(prop_types_default.a.object).isRequired,
+
+ /**
+ * Whether the card is loading.
+ */
+ isLoading: prop_types_default.a.bool.isRequired
+};
+/* harmony default export */ var recommended_extensions = (Object(compose["a" /* default */])(Object(external_this_wp_data_["withSelect"])(function (select) {
+ var _select = select(STORE_KEY),
+ getRecommendedPlugins = _select.getRecommendedPlugins,
+ isResolving = _select.isResolving;
+
+ return {
+ extensions: getRecommendedPlugins(),
+ isLoading: isResolving('getRecommendedPlugins')
+ };
+}), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('core/notices'),
+ createNotice = _dispatch.createNotice;
+
+ return {
+ createNotice: createNotice
+ };
+}))(recommended_extensions_RecommendedExtensions));
+// EXTERNAL MODULE: ./client/marketing/overview/knowledge-base/style.scss
+var knowledge_base_style = __webpack_require__(881);
+
+// CONCATENATED MODULE: ./client/marketing/overview/knowledge-base/index.js
+
+
+
+
+
+
+
+
+function knowledge_base_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (knowledge_base_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function knowledge_base_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+var knowledge_base_KnowledgeBase = /*#__PURE__*/function (_Component) {
+ inherits_default()(KnowledgeBase, _Component);
+
+ var _super = knowledge_base_createSuper(KnowledgeBase);
+
+ function KnowledgeBase(props) {
+ var _this;
+
+ classCallCheck_default()(this, KnowledgeBase);
+
+ _this = _super.call(this, props);
+ _this.state = {
+ page: 1,
+ animate: null,
+ isLoading: true
+ };
+ _this.onPaginationPageChange = _this.onPaginationPageChange.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(KnowledgeBase, [{
+ key: "onPaginationPageChange",
+ value: function onPaginationPageChange(newPage) {
+ var page = this.state.page;
+ var animate;
+
+ if (newPage > page) {
+ animate = 'left';
+ Object(tracks["b" /* recordEvent */])('marketing_knowledge_carousel', {
+ direction: 'forward',
+ page: newPage
+ });
+ } else {
+ animate = 'right';
+ Object(tracks["b" /* recordEvent */])('marketing_knowledge_carousel', {
+ direction: 'back',
+ page: newPage
+ });
+ }
+
+ this.setState({
+ page: newPage,
+ animate: animate
+ });
+ }
+ }, {
+ key: "onPostClick",
+ value: function onPostClick(post) {
+ Object(tracks["b" /* recordEvent */])('marketing_knowledge_article', {
+ title: post.title
+ });
+ }
+ /**
+ * Get the 2 posts we need for the current page
+ */
+
+ }, {
+ key: "getCurrentSlide",
+ value: function getCurrentSlide() {
+ var _this2 = this;
+
+ var posts = this.props.posts;
+ var page = this.state.page;
+ var currentPosts = posts.slice((page - 1) * 2, (page - 1) * 2 + 2);
+ var pageClass = classnames_default()('woocommerce-marketing-knowledgebase-card__page', {
+ 'page-with-single-post': currentPosts.length === 1
+ });
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: pageClass
+ }, currentPosts.map(function (post, index) {
+ return Object(external_this_wp_element_["createElement"])("a", {
+ className: "woocommerce-marketing-knowledgebase-card__post",
+ href: post.link,
+ key: index,
+ onClick: _this2.onPostClick(_this2, post),
+ target: "_blank",
+ rel: "noopener noreferrer"
+ }, post.image && Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-marketing-knowledgebase-card__post-img"
+ }, Object(external_this_wp_element_["createElement"])("img", {
+ src: post.image,
+ alt: ""
+ })), Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-marketing-knowledgebase-card__post-text"
+ }, Object(external_this_wp_element_["createElement"])("h3", null, post.title), Object(external_this_wp_element_["createElement"])("p", {
+ className: "woocommerce-marketing-knowledgebase-card__post-meta"
+ }, "By ", post.author_name, post.author_avatar && Object(external_this_wp_element_["createElement"])("img", {
+ src: post.author_avatar.replace('s=96', 's=32'),
+ className: "woocommerce-gravatar",
+ alt: "",
+ width: "16",
+ height: "16"
+ }))));
+ }));
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this3 = this;
+
+ var _this$props = this.props,
+ posts = _this$props.posts,
+ isLoading = _this$props.isLoading;
+ var _this$state = this.state,
+ page = _this$state.page,
+ animate = _this$state.animate;
+
+ var renderEmpty = function renderEmpty() {
+ var title = Object(external_this_wp_i18n_["__"])('There was an error loading knowledge base posts. Please check again later.', 'woocommerce-admin');
+
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["EmptyContent"], {
+ title: title,
+ illustrationWidth: 250,
+ actionLabel: ""
+ });
+ };
+
+ var renderPosts = function renderPosts() {
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-marketing-knowledgebase-card__posts"
+ }, Object(external_this_wp_element_["createElement"])(slider, {
+ animationKey: page,
+ animate: animate
+ }, _this3.getCurrentSlide()), Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Pagination"], {
+ page: page,
+ perPage: 2,
+ total: posts.length,
+ onPageChange: _this3.onPaginationPageChange,
+ showPagePicker: false,
+ showPerPagePicker: false,
+ showPageArrowsLabel: false
+ }));
+ };
+
+ var renderCardBody = function renderCardBody() {
+ if (isLoading) {
+ return Object(external_this_wp_element_["createElement"])(spinner["a" /* default */], null);
+ }
+
+ return posts.length === 0 ? renderEmpty() : renderPosts();
+ };
+
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Card"], {
+ title: Object(external_this_wp_i18n_["__"])('WooCommerce knowledge base', 'woocommerce-admin'),
+ description: Object(external_this_wp_i18n_["__"])('Learn the ins and outs of successful marketing from the experts at WooCommerce.', 'woocommerce-admin'),
+ className: "woocommerce-marketing-knowledgebase-card"
+ }, renderCardBody());
+ }
+ }]);
+
+ return KnowledgeBase;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var knowledge_base = (Object(compose["a" /* default */])(Object(external_this_wp_data_["withSelect"])(function (select) {
+ var _select = select(STORE_KEY),
+ getBlogPosts = _select.getBlogPosts,
+ isResolving = _select.isResolving;
+
+ return {
+ posts: getBlogPosts(),
+ isLoading: isResolving('getBlogPosts')
+ };
+}), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('core/notices'),
+ createNotice = _dispatch.createNotice;
+
+ return {
+ createNotice: createNotice
+ };
+}))(knowledge_base_KnowledgeBase));
+// EXTERNAL MODULE: ./node_modules/gridicons/dist/index.js
+var dist = __webpack_require__(66);
+var dist_default = /*#__PURE__*/__webpack_require__.n(dist);
+
+// EXTERNAL MODULE: ./client/marketing/overview/welcome-card/style.scss
+var welcome_card_style = __webpack_require__(882);
+
+// EXTERNAL MODULE: ./client/wc-api/with-select.js
+var with_select = __webpack_require__(101);
+
+// EXTERNAL MODULE: ./client/marketing/overview/welcome-card/images/welcome.svg
+var welcome = __webpack_require__(883);
+var welcome_default = /*#__PURE__*/__webpack_require__.n(welcome);
+
+// CONCATENATED MODULE: ./client/marketing/overview/welcome-card/index.js
+
+
+
+
+
+
+
+
+function welcome_card_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (welcome_card_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function welcome_card_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+var welcome_card_WelcomeCard = /*#__PURE__*/function (_Component) {
+ inherits_default()(WelcomeCard, _Component);
+
+ var _super = welcome_card_createSuper(WelcomeCard);
+
+ function WelcomeCard(props) {
+ var _this;
+
+ classCallCheck_default()(this, WelcomeCard);
+
+ _this = _super.call(this, props);
+ _this.hide = _this.hide.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(WelcomeCard, [{
+ key: "hide",
+ value: function hide() {
+ this.props.updateOptions({
+ woocommerce_marketing_overview_welcome_hidden: 'yes'
+ });
+ Object(tracks["b" /* recordEvent */])('marketing_intro_close', {});
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ if (this.props.isHidden) {
+ return null;
+ }
+
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Card"], {
+ className: "woocommerce-marketing-overview-welcome-card"
+ }, Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ label: Object(external_this_wp_i18n_["__"])('Hide', 'woocommerce-admin'),
+ onClick: this.hide,
+ className: "woocommerce-marketing-overview-welcome-card__hide-button"
+ }, Object(external_this_wp_element_["createElement"])(dist_default.a, {
+ icon: "cross"
+ })), Object(external_this_wp_element_["createElement"])("img", {
+ src: welcome_default.a,
+ alt: ""
+ }), Object(external_this_wp_element_["createElement"])("h3", null, Object(external_this_wp_i18n_["__"])('Grow your customer base and increase your sales with marketing tools built for WooCommerce', 'woocommerce-admin')));
+ }
+ }]);
+
+ return WelcomeCard;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var welcome_card = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select) {
+ var _select = select('wc-api'),
+ getOptions = _select.getOptions,
+ isUpdateOptionsRequesting = _select.isUpdateOptionsRequesting;
+
+ var hideOptionName = 'woocommerce_marketing_overview_welcome_hidden';
+ var options = getOptions([hideOptionName]);
+ var isHidden = Object(external_lodash_["get"])(options, [hideOptionName], 'no') === 'yes';
+ var isUpdateRequesting = Boolean(isUpdateOptionsRequesting([hideOptionName]));
+ return {
+ isHidden: isHidden || isUpdateRequesting
+ };
+}), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('wc-api'),
+ updateOptions = _dispatch.updateOptions;
+
+ return {
+ updateOptions: updateOptions
+ };
+}))(welcome_card_WelcomeCard));
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/toConsumableArray.js
+var toConsumableArray = __webpack_require__(32);
+var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js
+var defineProperty = __webpack_require__(15);
+var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
+
+// EXTERNAL MODULE: external {"this":["wp","dataControls"]}
+var external_this_wp_dataControls_ = __webpack_require__(57);
+
+// CONCATENATED MODULE: ./client/marketing/data/actions.js
+var _marked = /*#__PURE__*/regeneratorRuntime.mark(actions_activateInstalledPlugin),
+ _marked2 = /*#__PURE__*/regeneratorRuntime.mark(loadInstalledPluginsAfterActivation);
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+function receiveInstalledPlugins(plugins) {
+ return {
+ type: 'SET_INSTALLED_PLUGINS',
+ plugins: plugins
+ };
+}
+function receiveActivatingPlugin(pluginSlug) {
+ return {
+ type: 'SET_ACTIVATING_PLUGIN',
+ pluginSlug: pluginSlug
+ };
+}
+function removeActivatingPlugin(pluginSlug) {
+ return {
+ type: 'REMOVE_ACTIVATING_PLUGIN',
+ pluginSlug: pluginSlug
+ };
+}
+function receiveRecommendedPlugins(plugins) {
+ return {
+ type: 'SET_RECOMMENDED_PLUGINS',
+ plugins: plugins
+ };
+}
+function receiveBlogPosts(posts) {
+ return {
+ type: 'SET_BLOG_POSTS',
+ posts: posts
+ };
+}
+function handleFetchError(error, message) {
+ var _dispatch = Object(external_this_wp_data_["dispatch"])('core/notices'),
+ createNotice = _dispatch.createNotice;
+
+ createNotice('error', message); // eslint-disable-next-line no-console
+
+ console.log(error);
+}
+function actions_activateInstalledPlugin(pluginSlug) {
+ var _dispatch2, createNotice, response;
+
+ return regeneratorRuntime.wrap(function activateInstalledPlugin$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ _dispatch2 = Object(external_this_wp_data_["dispatch"])('core/notices'), createNotice = _dispatch2.createNotice;
+ _context.next = 3;
+ return receiveActivatingPlugin(pluginSlug);
+
+ case 3:
+ _context.prev = 3;
+ _context.next = 6;
+ return Object(external_this_wp_dataControls_["apiFetch"])({
+ path: API_NAMESPACE + '/overview/activate-plugin',
+ method: 'POST',
+ data: {
+ plugin: pluginSlug
+ }
+ });
+
+ case 6:
+ response = _context.sent;
+
+ if (!response) {
+ _context.next = 14;
+ break;
+ }
+
+ _context.next = 10;
+ return createNotice('success', Object(external_this_wp_i18n_["__"])('The extension has been successfully activated.', 'woocommerce-admin'));
+
+ case 10:
+ _context.next = 12;
+ return loadInstalledPluginsAfterActivation(pluginSlug);
+
+ case 12:
+ _context.next = 15;
+ break;
+
+ case 14:
+ throw new Error();
+
+ case 15:
+ _context.next = 23;
+ break;
+
+ case 17:
+ _context.prev = 17;
+ _context.t0 = _context["catch"](3);
+ _context.next = 21;
+ return handleFetchError(_context.t0, Object(external_this_wp_i18n_["__"])('There was an error trying to activate the extension.', 'woocommerce-admin'));
+
+ case 21:
+ _context.next = 23;
+ return removeActivatingPlugin(pluginSlug);
+
+ case 23:
+ return _context.abrupt("return", true);
+
+ case 24:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, _marked, null, [[3, 17]]);
+}
+function loadInstalledPluginsAfterActivation(activatedPluginSlug) {
+ var response;
+ return regeneratorRuntime.wrap(function loadInstalledPluginsAfterActivation$(_context2) {
+ while (1) {
+ switch (_context2.prev = _context2.next) {
+ case 0:
+ _context2.prev = 0;
+ _context2.next = 3;
+ return Object(external_this_wp_dataControls_["apiFetch"])({
+ path: "".concat(API_NAMESPACE, "/overview/installed-plugins")
+ });
+
+ case 3:
+ response = _context2.sent;
+
+ if (!response) {
+ _context2.next = 11;
+ break;
+ }
+
+ _context2.next = 7;
+ return receiveInstalledPlugins(response);
+
+ case 7:
+ _context2.next = 9;
+ return removeActivatingPlugin(activatedPluginSlug);
+
+ case 9:
+ _context2.next = 12;
+ break;
+
+ case 11:
+ throw new Error();
+
+ case 12:
+ _context2.next = 18;
+ break;
+
+ case 14:
+ _context2.prev = 14;
+ _context2.t0 = _context2["catch"](0);
+ _context2.next = 18;
+ return handleFetchError(_context2.t0, Object(external_this_wp_i18n_["__"])('There was an error loading installed extensions.', 'woocommerce-admin'));
+
+ case 18:
+ case "end":
+ return _context2.stop();
+ }
+ }
+ }, _marked2, null, [[0, 14]]);
+}
+// CONCATENATED MODULE: ./client/marketing/data/selectors.js
+function selectors_getInstalledPlugins(state) {
+ return state.installedPlugins;
+}
+function selectors_getActivatingPlugins(state) {
+ return state.activatingPlugins;
+}
+function selectors_getRecommendedPlugins(state) {
+ return state.recommendedPlugins;
+}
+function selectors_getBlogPosts(state) {
+ return state.blogPosts;
+}
+// CONCATENATED MODULE: ./client/marketing/data/resolvers.js
+var resolvers_marked = /*#__PURE__*/regeneratorRuntime.mark(resolvers_getRecommendedPlugins),
+ resolvers_marked2 = /*#__PURE__*/regeneratorRuntime.mark(resolvers_getBlogPosts);
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+function resolvers_getRecommendedPlugins() {
+ var response;
+ return regeneratorRuntime.wrap(function getRecommendedPlugins$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ _context.prev = 0;
+ _context.next = 3;
+ return Object(external_this_wp_dataControls_["apiFetch"])({
+ path: "".concat(API_NAMESPACE, "/overview/recommended?per_page=6")
+ });
+
+ case 3:
+ response = _context.sent;
+
+ if (!response) {
+ _context.next = 9;
+ break;
+ }
+
+ _context.next = 7;
+ return receiveRecommendedPlugins(response);
+
+ case 7:
+ _context.next = 10;
+ break;
+
+ case 9:
+ throw new Error();
+
+ case 10:
+ _context.next = 16;
+ break;
+
+ case 12:
+ _context.prev = 12;
+ _context.t0 = _context["catch"](0);
+ _context.next = 16;
+ return handleFetchError(_context.t0, Object(external_this_wp_i18n_["__"])('There was an error loading recommended extensions.', 'woocommerce-admin'));
+
+ case 16:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, resolvers_marked, null, [[0, 12]]);
+}
+function resolvers_getBlogPosts() {
+ var response;
+ return regeneratorRuntime.wrap(function getBlogPosts$(_context2) {
+ while (1) {
+ switch (_context2.prev = _context2.next) {
+ case 0:
+ _context2.prev = 0;
+ _context2.next = 3;
+ return Object(external_this_wp_dataControls_["apiFetch"])({
+ path: "".concat(API_NAMESPACE, "/overview/knowledge-base"),
+ method: 'GET'
+ });
+
+ case 3:
+ response = _context2.sent;
+
+ if (!response) {
+ _context2.next = 9;
+ break;
+ }
+
+ _context2.next = 7;
+ return receiveBlogPosts(response);
+
+ case 7:
+ _context2.next = 10;
+ break;
+
+ case 9:
+ throw new Error();
+
+ case 10:
+ _context2.next = 16;
+ break;
+
+ case 12:
+ _context2.prev = 12;
+ _context2.t0 = _context2["catch"](0);
+ _context2.next = 16;
+ return handleFetchError(_context2.t0, Object(external_this_wp_i18n_["__"])('There was an error loading knowledge base posts.', 'woocommerce-admin'));
+
+ case 16:
+ case "end":
+ return _context2.stop();
+ }
+ }
+ }, resolvers_marked2, null, [[0, 12]]);
+}
+// CONCATENATED MODULE: ./client/marketing/data/index.js
+
+
+
+function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+var data_getSetting = Object(settings["g" /* getSetting */])('marketing', {}),
+ installedExtensions = data_getSetting.installedExtensions;
+
+var DEFAULT_STATE = {
+ installedPlugins: installedExtensions,
+ activatingPlugins: [],
+ recommendedPlugins: [],
+ blogPosts: []
+};
+Object(external_this_wp_data_["registerStore"])(STORE_KEY, {
+ actions: actions_namespaceObject,
+ selectors: selectors_namespaceObject,
+ resolvers: resolvers_namespaceObject,
+ controls: external_this_wp_dataControls_["controls"],
+ reducer: function reducer() {
+ var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_STATE;
+ var action = arguments.length > 1 ? arguments[1] : undefined;
+
+ switch (action.type) {
+ case 'SET_INSTALLED_PLUGINS':
+ return _objectSpread({}, state, {
+ installedPlugins: action.plugins
+ });
+
+ case 'SET_ACTIVATING_PLUGIN':
+ return _objectSpread({}, state, {
+ activatingPlugins: [].concat(toConsumableArray_default()(state.activatingPlugins), [action.pluginSlug])
+ });
+
+ case 'REMOVE_ACTIVATING_PLUGIN':
+ return _objectSpread({}, state, {
+ activatingPlugins: Object(external_lodash_["without"])(state.activatingPlugins, action.pluginSlug)
+ });
+
+ case 'SET_RECOMMENDED_PLUGINS':
+ return _objectSpread({}, state, {
+ recommendedPlugins: action.plugins
+ });
+
+ case 'SET_BLOG_POSTS':
+ return _objectSpread({}, state, {
+ blogPosts: action.posts
+ });
+ }
+
+ return state;
+ }
+});
+// CONCATENATED MODULE: ./client/marketing/overview/index.js
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+
+var overview_MarketingOverview = function MarketingOverview() {
+ var allowMarketplaceSuggestions = Object(settings["g" /* getSetting */])('allowMarketplaceSuggestions', false);
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-marketing-overview"
+ }, Object(external_this_wp_element_["createElement"])(welcome_card, null), Object(external_this_wp_element_["createElement"])(installed_extensions, null), allowMarketplaceSuggestions && Object(external_this_wp_element_["createElement"])(recommended_extensions, null), Object(external_this_wp_element_["createElement"])(knowledge_base, null));
+};
+
+/* harmony default export */ var overview = __webpack_exports__["default"] = (overview_MarketingOverview);
+
+/***/ })
+
+}]);
\ No newline at end of file
diff --git a/dist/chunks/marketing-overview.b6047d897bbd2208cd37.min.js b/dist/chunks/marketing-overview.b6047d897bbd2208cd37.min.js
new file mode 100644
index 00000000000..94b30c9bb64
--- /dev/null
+++ b/dist/chunks/marketing-overview.b6047d897bbd2208cd37.min.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[32],{774:function(M,j,t){},876:function(M,j,t){},877:function(M,j,t){},878:function(M,j,t){},879:function(M,j,t){},880:function(M,j,t){},881:function(M,j,t){},882:function(M,j,t){},883:function(M,j){M.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMzEiIGhlaWdodD0iMTY1IiBmaWxsPSJub25lIj4KICA8ZGVmcy8+CiAgPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CiAgICA8cGF0aCBmaWxsPSIjRjJGMkYyIiBkPSJNMjMxIDk5LjI2M2MwIDI4LjgyOS0xNy4yMSAzOC44OTUtMzguNDM4IDM4Ljg5NS0yMS4yMjkgMC0zOC40MzktMTAuMDY2LTM4LjQzOS0zOC44OTUgMC0yOC44MyAzOC40MzktNjUuNTA1IDM4LjQzOS02NS41MDVTMjMxIDcwLjQzMyAyMzEgOTkuMjYzeiIvPgogICAgPHBhdGggZmlsbD0iIzNGM0Q1NiIgZD0iTTE5MS4xNjEgMTMzLjc0OGwuMzk0LTI0LjEyNyAxNi4zODMtMjkuODUtMTYuMzIxIDI2LjA2NS4xNzctMTAuODQ5IDExLjI5MS0yMS41OTYtMTEuMjQ1IDE4LjcyNS4zMTktMTkuNTEyIDEyLjA5MS0xNy4xOTMtMTIuMDQxIDE0LjEyNS4xOTgtMzUuNzc4LTEuMjQ5IDQ3LjM2My4xMDItMS45NTMtMTIuMjkzLTE4Ljc0IDEyLjA5NiAyMi40OS0xLjE0NSAyMS43OTItLjAzNC0uNTc4LTE0LjE3Mi0xOS43MiAxNC4xMjkgMjEuNzYzLS4xNDMgMi43MjUtLjAyNi4wNDEuMDEyLjIyNC0yLjkwNiA1NS4yODdoMy44ODJsLjQ2Ni0yOC41NTcgMTQuMDk0LTIxLjcxLTE0LjA1OSAxOS41NjN6Ii8+CiAgICA8cGF0aCBmaWxsPSIjRjJGMkYyIiBkPSJNMjAuNzkgMTQ3LjAyNWMwIDcuNzk2LTQuNjU0IDEwLjUxOC0xMC4zOTUgMTAuNTE4UzAgMTU0LjgyMSAwIDE0Ny4wMjVjMC03Ljc5NiAxMC4zOTUtMTcuNzE0IDEwLjM5NS0xNy43MTRzMTAuMzk0IDkuOTE4IDEwLjM5NCAxNy43MTR6Ii8+CiAgICA8cGF0aCBmaWxsPSIjM0YzRDU2IiBkPSJNMTAuMDE2IDE1Ni4zNTFsLjEwNi02LjUyNSA0LjQzLTguMDcyLTQuNDEzIDcuMDQ4LjA0OC0yLjkzMyAzLjA1My01Ljg0LTMuMDQgNS4wNjMuMDg1LTUuMjc2IDMuMjctNC42NDktMy4yNTYgMy44MTkuMDU0LTkuNjc1LS4zMzggMTIuODA4LjAyNy0uNTI4LTMuMzI0LTUuMDY4IDMuMjcxIDYuMDgyLS4zMSA1Ljg5My0uMDA5LS4xNTYtMy44MzItNS4zMzMgMy44MiA1Ljg4NS0uMDM4LjczNy0uMDA3LjAxMS4wMDMuMDYxLS43ODYgMTQuOTUxaDEuMDVsLjEyNi03LjcyMyAzLjgxMi01Ljg3MS0zLjgwMiA1LjI5MXoiLz4KICAgIDxwYXRoIHN0cm9rZT0iIzNGM0Q1NiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjIiIGQ9Ik0xIDE2NWgyMzAiLz4KICAgIDxwYXRoIGZpbGw9IiMwNzdDQjIiIGQ9Ik0yMTAuODQ1IDE1Ny42NjZjMCA1LjI3My0zLjE0OCA3LjExNS03LjAzMSA3LjExNWExMi4xNTMgMTIuMTUzIDAgMDEtLjgwNC0uMDI4Yy0zLjUwNC0uMjQ3LTYuMjI3LTIuMTgzLTYuMjI3LTcuMDg3IDAtNS4wNzUgNi41MTMtMTEuNDc5IDcuMDAyLTExLjk1M2wuMDAxLS4wMDEuMDI4LS4wMjdzNy4wMzEgNi43MDggNy4wMzEgMTEuOTgxeiIvPgogICAgPHBhdGggZmlsbD0iIzNGM0Q1NiIgZD0iTTIwMy41NTcgMTYzLjk3NGwyLjU3Mi0zLjU3OS0yLjU3OCAzLjk3Mi0uMDA3LjQxYy0uMTgtLjAwMy0uMzU4LS4wMTItLjUzNC0uMDI0bC4yNzctNS4yNzYtLjAwMi0uMDQxLjAwNS0uMDA3LjAyNi0uNDk4LTIuNTg1LTMuOTgyIDIuNTkzIDMuNjA4LjAwNi4xMDYuMjA5LTMuOTg3LTIuMjEyLTQuMTEzIDIuMjM5IDMuNDE0LjIxOC04LjI2NC4wMDEtLjAyOHYuMDI3bC0uMDM2IDYuNTE3IDIuMjAyLTIuNTg0LTIuMjExIDMuMTQ1LS4wNTggMy41NjkgMi4wNTYtMy40MjUtMi4wNjUgMy45NS0uMDMzIDEuOTg0IDIuOTg2LTQuNzY3LTIuOTk3IDUuNDYtLjA3MiA0LjQxM3pNMTM1Ljg4MSAzNy4zNGgtMS4zNWEuNTQuNTQgMCAwMC0uNTQuNTM4djE4Ljg3OGEuNTQuNTQgMCAwMC41NC41MzhoMS4zNWMuMjk5IDAgLjU0LS4yNDEuNTQtLjUzOFYzNy44NzhhLjUzOC41MzggMCAwMC0uNTQtLjUzOHpNNTQuMjEyIDIxLjcwOGgtLjY1NmEuMzU0LjM1NCAwIDAwLS4zNTQuMzUzdjUuODYzYzAgLjE5NS4xNTkuMzUzLjM1NC4zNTNoLjY1NmEuMzU0LjM1NCAwIDAwLjM1NC0uMzUzdi01Ljg2M2EuMzU0LjM1NCAwIDAwLS4zNTQtLjM1M3pNNTQuMjkxIDMzLjczNWgtLjczOGMtLjIyIDAtLjQuMTc4LS40LjM5OFY0NC43N2MwIC4yMi4xOC4zOTguNC4zOThoLjczOGMuMjIgMCAuNC0uMTc4LjQtLjM5OFYzNC4xMzJhLjM5OS4zOTkgMCAwMC0uNC0uMzk3ek01NC4yNiA0OS4xN2gtLjcwMmEuMzguMzggMCAwMC0uMzguMzc4djEwLjc3NWMwIC4yMS4xNy4zNzkuMzguMzc5aC43MDNjLjIxIDAgLjM4LS4xNy4zOC0uMzc5VjQ5LjU0OGEuMzguMzggMCAwMC0uMzgtLjM3OXoiLz4KICAgIDxwYXRoIGZpbGw9IiMzRjNENTYiIGQ9Ik0xMjYuODkyIDBINjIuMzg3Yy00LjY0NSAwLTguNDExIDMuNzUtOC40MTEgOC4zNzdWMTU2LjIzYzAgNC42MjcgMy43NjYgOC4zNzcgOC40MTEgOC4zNzdoNjQuNTA1YzQuNjQ2IDAgOC40MTItMy43NSA4LjQxMi04LjM3N1Y4LjM3N2MwLTQuNjI2LTMuNzY2LTguMzc3LTguNDEyLTguMzc3eiIvPgogICAgPHBhdGggZmlsbD0iI0U2RThFQyIgZD0iTTk3LjU1MiA0LjkxNkg4Ny4zOTNjLS4zMyAwLS42LjI2Ny0uNi41OTZ2MS4xMDRjMCAuMzMuMjcuNTk2LjYuNTk2aDEwLjE1OWMuMzMgMCAuNTk5LS4yNjcuNTk5LS41OTZWNS41MTJhLjU5OC41OTggMCAwMC0uNTk5LS41OTZ6TTEwMS4xNzYgNy4zNjdjLjcyMyAwIDEuMzA4LS41ODQgMS4zMDgtMS4zMDMgMC0uNzItLjU4NS0xLjMwMy0xLjMwOC0xLjMwMy0uNzIyIDAtMS4zMDguNTg0LTEuMzA4IDEuMzAzIDAgLjcyLjU4NiAxLjMwMyAxLjMwOCAxLjMwM3oiLz4KICAgIDxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0xMzAuMjgxIDEwLjcydjE0My4xNjhhNi40MTkgNi40MTkgMCAwMS0xLjg5MiA0LjU0OCA2LjQ4IDYuNDggMCAwMS00LjU2NyAxLjg4M0g2NS40NTdhNi40NzcgNi40NzcgMCAwMS00LjU2Ni0xLjg4MyA2LjQyIDYuNDIgMCAwMS0xLjg5My00LjU0OFYxMC43MjFhNi40MSA2LjQxIDAgMDExLjg5Mi00LjU1IDYuNDYyIDYuNDYyIDAgMDE0LjU2Ny0xLjg4M2g4LjczNHYxLjExN2MwIDEuNDA1LjU2MSAyLjc1MiAxLjU1OCAzLjc0NWE1LjMzMiA1LjMzMiAwIDAwMy43NjEgMS41NTJoMjkuNjgyYzEuNDEgMCAyLjc2My0uNTU4IDMuNzYxLTEuNTUxYTUuMjg4IDUuMjg4IDAgMDAxLjU1OC0zLjc0NlY0LjI4OGg5LjMxMWE2LjQ4NCA2LjQ4NCAwIDAxNC41NjcgMS44ODQgNi40MjEgNi40MjEgMCAwMTEuODkyIDQuNTQ5eiIvPgogICAgPHBhdGggZmlsbD0iI0YyRjJGMiIgZD0iTTEzMC4zMjEgMzcuNDc3SDU4LjkxNXY4MS42NzNoNzEuNDA2VjM3LjQ3N3oiLz4KICAgIDxwYXRoIGZpbGw9IiNGRjY1ODQiIGQ9Ik02NC4xIDEzMC40NTJsLS4zNzctLjMzOGMtMS4zMzUtMS4yMjEtMi4yMTYtMi4wMTMtMi4yMTYtM2ExLjM5MyAxLjM5MyAwIDAxLjQxLTEuMDE0IDEuNDEzIDEuNDEzIDAgMDExLjAxNi0uNDE0IDEuNTM4IDEuNTM4IDAgMDExLjE2Ni41NDUgMS41NCAxLjU0IDAgMDExLjE2Ny0uNTQ1IDEuNDAxIDEuNDAxIDAgMDExLjAxNi40MTQgMS4zOTQgMS4zOTQgMCAwMS40MSAxLjAxNGMwIC45ODctLjg4MiAxLjc3OS0yLjIxNyAzbC0uMzc2LjMzOHoiLz4KICAgIDxwYXRoIGZpbGw9IiNGMkYyRjIiIGQ9Ik03Ny43MjggMTI5LjIwM2wuNzI3LjIwN2EyLjQzOCAyLjQzOCAwIDAxMS42NjUtMS41NTggMi40NjMgMi40NjMgMCAwMTIuMjMyLjQ4NmwtMS4xMSAxLjA3MmgyLjc3di0yLjY4MmwtMS4xMTYgMS4wNjVhMy4yMjYgMy4yMjYgMCAwMC0yLjk2NC0uNjc5IDMuMjAyIDMuMjAyIDAgMDAtMi4yMDQgMi4wODl6Ii8+CiAgICA8cGF0aCBmaWxsPSIjMDc3Q0IyIiBkPSJNNjMuNjI4IDMxLjM3NWMxLjgyMyAwIDMuMy0xLjQ3IDMuMy0zLjI4NWEzLjI5MiAzLjI5MiAwIDAwLTMuMy0zLjI4NiAzLjI5MiAzLjI5MiAwIDAwLTMuMjk5IDMuMjg2IDMuMjkyIDMuMjkyIDAgMDAzLjMgMy4yODV6TTEwMC4xNTYgMjYuMjEySDY5LjUxOXYzLjc1NWgzMC42Mzd2LTMuNzU1eiIvPgogICAgPHBhdGggZmlsbD0iI0YyRjJGMiIgZD0iTTkyLjE0NCAxMzYuMDQ4SDYxLjUwOHYzLjc1NWgzMC42MzZ2LTMuNzU1ek0xMjYuMzE1IDE0NC4yMzRINjEuNTA4djMuNzU1aDY0LjgwN3YtMy43NTV6TTc0LjcwNSAxMzAuMjE0bC0uODEyLTEuNDE1YTIuMDggMi4wOCAwIDAwLS44NjYtMi41OTcgMi4xIDIuMSAwIDAwLTIuNzA0LjQ4OSAyLjA4NSAyLjA4NSAwIDAwMS40MjMgMy4zODIgMi4xIDIuMSAwIDAwMS40Mi0uMzdsMS41MzkuNTExeiIvPgogICAgPHBhdGggZmlsbD0iIzJGMkU0MSIgZD0iTTg4LjU3NiA1Ni42MzJhOS40NDkgOS40NDkgMCAwMC0zLjM5IDEuNDIgOS40MDggOS40MDggMCAwMC0yLjU4NyAyLjYwNSA5LjM2NSA5LjM2NSAwIDAwLTEuMzY4IDcuMDU0bDEuOTQ1IDkuNDY4IDIuMTc4LS40NDQuMTU0LTEuMDAzLjQ1Ni44NzkgMTMuMjQzLTIuNy4xNTQtMS4wMDMuNDU2Ljg4IDEuODI5LS4zNzMtMS45NDUtOS40NjhhOS4zNjYgOS4zNjYgMCAwMC0xLjQyNy0zLjM3NiA5LjQwOCA5LjQwOCAwIDAwLTIuNjE1LTIuNTc2IDkuNDUgOS40NSAwIDAwLTcuMDgzLTEuMzYzeiIvPgogICAgPHBhdGggZmlsbD0iIzlGNjE2QSIgZD0iTTEwNC45ODcgODUuNjc4bDExLjMxMiA2LjgwNi0xLjQxNCAzLjI4Ni0xMC42MDUtNC45MjguNzA3LTUuMTYzeiIvPgogICAgPHBhdGggZmlsbD0iIzA3N0NCMiIgZD0iTTkwLjYxMiA5My40MjNzLTIyLjg2IDAtMjYuNjMgNS44NjhjLTMuNzcgNS44NjctLjcwNyAxNC4wODEgMTEuMDc2IDE1Ljk1OSAxMS43ODMgMS44NzcgNDcuNjA0IDIuODE2IDUwLjQzMi00LjIyNSAyLjgyOC03LjA0LjcwNy0xMS4wMy43MDctMTEuMDNzLTEyLjI1NS04LjQ1LTM1LjU4NS02LjU3MnoiLz4KICAgIDxwYXRoIGZpbGw9IiMwNzdDQjIiIGQ9Ik0xMTAuODc4IDk5LjA1NmwxMi40OTEgNC42OTRzNS4xODQtMy43NTUgMi41OTItNy45OGMtMi41OTItNC4yMjQtMTQuMzc2LTI4LjYzMi0xNC4zNzYtMjguNjMycy0zLjI5OS00LjY5NC45NDMtNy4yNzZjNC4yNDItMi41ODEgNS44OTIgMS42NDMgNS44OTIgMS42NDNzLS4yMzYuOTM5IDEuNDE0LjIzNWMxLjY0OS0uNzA0IDQuNzEzIDEuNjQzIDMuMDYzIDUuMzk4LTEuNjQ5IDMuNzU1LTIuODI4IDQuNjk0LjcwNyA0LjQ1OSAxLjI3Ny0uMDg1IDIuNC0uOTk2IDMuMzEzLTIuMTI1IDEuNzUyLTIuMTY1Ljk3LTMuOTEuODM3LTYuNjg2LS4yMjctNC43NTctLjU5OC03Ljg2LTEuNzkzLTkuNzMtMS42NS0yLjU4MS00LjAwNi00LjY5NC0xMC4xMzQtMy41Mi02LjEyNyAxLjE3My0xNS4wODIgNy4wNC0xMi45NjEgMTUuNDkgMi4xMjEgOC40NDkgNi44MzQgMTcuODM2IDYuODM0IDE3LjgzNnMzLjI5OSAxMy4xNDMgMS4xNzggMTYuMTk0eiIvPgogICAgPHBhdGggZmlsbD0iIzAwMCIgZD0iTTExMC44NzggOTkuMDU2Yy0yLjAzNi41NTktNC41OTMuODMtNy4zNDUuOTE1LTQuODAzLjE0OC0xMC4yMS0uMjc0LTE0LjUyNi0uNzUzLTQuNjY0LS41MTktOC4wNTgtMS4xLTguMDU4LTEuMSAxLjU3Ny0xLjQ2NSA0LTIuMDQ1IDYuODQ2LTIuMjU2IDMuNTM1LS4yNjMgNy43MjUuMDM3IDExLjc3Mi0uMDkyYTIwLjQxIDIwLjQxIDAgMDE0LjQ1MS4zMzRjNC40NjQuODQ3IDYuODYgMi45NTIgNi44NiAyLjk1MnoiIG9wYWNpdHk9Ii4xIi8+CiAgICA8cGF0aCBmaWxsPSIjOUY2MTZBIiBkPSJNOTAuNDk0IDczLjgyNmMzLjY0NCAwIDYuNTk5LTIuOTQyIDYuNTk5LTYuNTcgMC0zLjYzLTIuOTU1LTYuNTcyLTYuNTk5LTYuNTcycy02LjU5OSAyLjk0Mi02LjU5OSA2LjU3MWMwIDMuNjMgMi45NTUgNi41NzIgNi41OTkgNi41NzJ6Ii8+CiAgICA8cGF0aCBmaWxsPSIjOUY2MTZBIiBkPSJNODkuNjcgNzIuNTM2czEuMTc4IDQuNDU5IDAgNC42OTRjLTEuMTc5LjIzNC00LjAwNyAxLjQwOC00LjAwNyAxLjQwOGwzLjUzNSAxLjQwOCA2LjU5OSA2LjEwMiA1LjY1NSAyLjgxNiAyLjgyOC0uOTM5di01LjE2M2wtNC4yNDItNi41NzFzLTIuODI4LjkzOS0zLjUzNC0yLjExMmMtLjcwNy0zLjA1MS0yLjEyMS00LjIyNS0yLjEyMS00LjIyNWwtNC43MTQgMi41ODJ6Ii8+CiAgICA8cGF0aCBmaWxsPSIjOUY2MTZBIiBkPSJNODguMDIgNzguODcySDg1LjE5cy00Ljk0OSAxLjY0My03Ljc3NyA1LjM5OGMtMi44MjggMy43NTUtNy4zMDUgNy41MS03LjMwNSA3LjUxcy0zLjA2NCA0LjIyNS0xLjQxNCAxMC4wOTJjMS42NSA1Ljg2OCA0LjAwNiAxMC4wOTIgNi4xMjcgOC45MTkgMi4xMjEtMS4xNzQtMy4wNjQtOS42MjMtMy4wNjQtOS42MjNsMS40MTQtNS4xNjNzNy4zMDYtOC40NDkgMTAuMzctOC4yMTRjMy4wNjMuMjM0IDMuMjk5IDIuODE2IDMuMjk5IDIuODE2bDYuNTk4IDEuODc4IDIuMTIxLTQuNDYtMS4xNzgtNC42OTMtNi4zNjMtNC40NnoiLz4KICAgIDxwYXRoIGZpbGw9IiMzRjNENTYiIGQ9Ik0xMDQuOTg3IDkzLjY1OGE4LjY2OCA4LjY2OCAwIDAwLS45NjggMi40NDYgMTkuMDE4IDE5LjAxOCAwIDAwLS40ODYgMy44NjdjLTQuODAyLjE0OC0xMC4yMDktLjI3NC0xNC41MjYtLjc1My0uMzgyLTEuMDE0LS44MDEtMi4xOC0xLjIxMS0zLjM1Ni0xLjEwNi0zLjE3OC0yLjEzMy02LjQyMS0yLjEzMy02Ljg5OCAwLS45MzkgNC45NDkuNzA0IDYuMTI3LjQ3IDEuMTc5LS4yMzUgMS42NS0zLjk5IDAtNS44NjgtMS42NS0xLjg3Ny02LjQ4LTUuMDQ2LTYuNDgtNS4wNDZsMS42NS0uNDY5czMuNjUyIDIuNjk5IDExLjE5MyA3LjE1OGM3LjU0MSA0LjQ2IDQuNDc4LTIuNTgxIDQuNDc4LTIuNTgxbC00LjM2LTYuNjloMS44ODVzMy42NTMgNi4yMiA1LjUzOCA5LjAzN2MxLjg4NiAyLjgxNiAxLjE3OSA1LjYzMi0uNzA3IDguNjgzeiIvPgogICAgPHBhdGggZmlsbD0iIzJGMkU0MSIgZD0iTTk1LjE2MyA1OC4zOWwtMTEuOTUxIDIuNDM1IDEuNSA3LjMwNCAxMS45NTItMi40MzYtMS41LTcuMzAzeiIvPgogICAgPHBhdGggZmlsbD0iIzNGM0Q1NiIgZD0iTTEyMC44OTQgNTkuMjc2YTMuNTI3IDMuNTI3IDAgMDAzLjUzNS0zLjUyIDMuNTI3IDMuNTI3IDAgMDAtMy41MzUtMy41MjEgMy41MjggMy41MjggMCAwMC0zLjUzNSAzLjUyIDMuNTI4IDMuNTI4IDAgMDAzLjUzNSAzLjUyeiIvPgogICAgPHBhdGggZmlsbD0iI2ZmZiIgZD0iTTEyMC44OTQgNTcuNjMzYzEuMDQxIDAgMS44ODUtLjg0IDEuODg1LTEuODc4YTEuODgxIDEuODgxIDAgMDAtMS44ODUtMS44NzdjLTEuMDQxIDAtMS44ODUuODQtMS44ODUgMS44NzdzLjg0NCAxLjg3OCAxLjg4NSAxLjg3OHoiLz4KICAgIDxwYXRoIGZpbGw9IiMwNzdDQjIiIGQ9Ik0xNy4xNDIgOTYuMzkxbC0uMjQxIDEuODUyYy0uMDgyLjYyNy0uMTYzIDEuMjU0LS4yMDcgMS44ODUtLjE0NiAyLjA5OC4xMjYgNC4yMDUuMDU0IDYuMzA3LS4wNTUgMS42MTgtLjMxNCAzLjIzNS0uMTg5IDQuODQ5LjExIDEuNDI4LjUxOSAyLjgxNS45MjUgNC4xODlsLjU4IDEuOTYzYS4zNzcuMzc3IDAgMDAuMTc1LjI5MmMuMDUuMDMyLjEwNi4wNTIuMTY1LjA1OGEuMzguMzggMCAwMC4xNzQtLjAybDIuNTY2LS4yMzJjLS4xNjQtLjc1LS4zNDctMS41MzMtLjQzNS0yLjI5Ni0uMDctLjYwNC0uMTEyLTEuMjEtLjE1Ni0xLjgxNmE1OTMuNzMgNTkzLjczIDAgMDAtLjQ0Ni01LjY2NGwtLjI3MS0zLjMxNmMtLjExOC0xLjQzOC0uMjM3LTIuODg1LS42MDEtNC4yODJhOC41MTggOC41MTggMCAwMC0yLjA5My0zLjc2OXoiLz4KICAgIDxwYXRoIGZpbGw9IiMwMDAiIGQ9Ik0xNy4xNDIgOTYuMzkxbC0uMjQxIDEuODUyYy0uMDgyLjYyNy0uMTYzIDEuMjU0LS4yMDcgMS44ODUtLjE0NiAyLjA5OC4xMjYgNC4yMDUuMDU0IDYuMzA3LS4wNTUgMS42MTgtLjMxNCAzLjIzNS0uMTg5IDQuODQ5LjExIDEuNDI4LjUxOSAyLjgxNS45MjUgNC4xODlsLjU4IDEuOTYzYS4zNzcuMzc3IDAgMDAuMTc1LjI5MmMuMDUuMDMyLjEwNi4wNTIuMTY1LjA1OGEuMzguMzggMCAwMC4xNzQtLjAybDIuNTY2LS4yMzJjLS4xNjQtLjc1LS4zNDctMS41MzMtLjQzNS0yLjI5Ni0uMDctLjYwNC0uMTEyLTEuMjEtLjE1Ni0xLjgxNmE1OTMuNzMgNTkzLjczIDAgMDAtLjQ0Ni01LjY2NGwtLjI3MS0zLjMxNmMtLjExOC0xLjQzOC0uMjM3LTIuODg1LS42MDEtNC4yODJhOC41MTggOC41MTggMCAwMC0yLjA5My0zLjc2OXoiIG9wYWNpdHk9Ii4xIi8+CiAgICA8cGF0aCBmaWxsPSIjM0YzRDU2IiBkPSJNMjEuNzE0IDE1OS44OTZhNy40OTMgNy40OTMgMCAwMC0uMzk0LjkxMmMtLjI5NC44NjEtLjM0IDEuNzg1LS4zODEgMi42OTQtLjAyLjE3NS0uMDA0LjM1My4wNDguNTIyLjEyNi4zMjcuNDkuNDkyLjgyOS41ODMgMS40MjEuMzgxIDIuOTIuMDIzIDQuMzg3LS4xMDggMS40MzktLjEyOCAyLjkwNS0uMDM1IDQuMzE0LS4zNTIuMjA5LS4wMzkuNDEtLjEwOC41OTgtLjIwNi4zNTctLjIzMi42MjQtLjU3OC43NTUtLjk4Mi4wNDMtLjEwNC4wNzItLjIxMi4wODYtLjMyMy4wNDYtLjQ3OC0uMzcyLS44OTQtLjgyOC0xLjA1MS0uNDU3LS4xNTctLjk1Mi0uMTMyLTEuNDMzLS4xODFhNC41MjQgNC41MjQgMCAwMS0yLjYzNi0xLjIwMSA0LjQ5MyA0LjQ5MyAwIDAxLTEuMzU4LTIuNTUxYy0uMDE4LS4xMDUtMi4zNzQtLjA0My0yLjYyMi4wOTItLjI5LjE1OS0uNDY2LjU1NS0uNjMuODIzLS4yNjQuNDMyLS41MS44NzUtLjczNSAxLjMyOXoiLz4KICAgIDxwYXRoIGZpbGw9IiMwMDAiIGQ9Ik0yMS43MTQgMTU5Ljg5NmE3LjQ5MyA3LjQ5MyAwIDAwLS4zOTQuOTEyYy0uMjk0Ljg2MS0uMzQgMS43ODUtLjM4MSAyLjY5NC0uMDIuMTc1LS4wMDQuMzUzLjA0OC41MjIuMTI2LjMyNy40OS40OTIuODI5LjU4MyAxLjQyMS4zODEgMi45Mi4wMjMgNC4zODctLjEwOCAxLjQzOS0uMTI4IDIuOTA1LS4wMzUgNC4zMTQtLjM1Mi4yMDktLjAzOS40MS0uMTA4LjU5OC0uMjA2LjM1Ny0uMjMyLjYyNC0uNTc4Ljc1NS0uOTgyLjA0My0uMTA0LjA3Mi0uMjEyLjA4Ni0uMzIzLjA0Ni0uNDc4LS4zNzItLjg5NC0uODI4LTEuMDUxLS40NTctLjE1Ny0uOTUyLS4xMzItMS40MzMtLjE4MWE0LjUyNCA0LjUyNCAwIDAxLTIuNjM2LTEuMjAxIDQuNDkzIDQuNDkzIDAgMDEtMS4zNTgtMi41NTFjLS4wMTgtLjEwNS0yLjM3NC0uMDQzLTIuNjIyLjA5Mi0uMjkuMTU5LS40NjYuNTU1LS42My44MjMtLjI2NC40MzItLjUxLjg3NS0uNzM1IDEuMzI5eiIgb3BhY2l0eT0iLjEiLz4KICAgIDxwYXRoIGZpbGw9IiMzRjNENTYiIGQ9Ik0yNS42MjEgMTYwLjExOWE3LjU0NyA3LjU0NyAwIDAwLS4zOTQuOTExYy0uMjk0Ljg2Mi0uMzM5IDEuNzg1LS4zOCAyLjY5NGExLjI4IDEuMjggMCAwMC4wNDcuNTIyYy4xMjYuMzI3LjQ5LjQ5My44MjkuNTg0IDEuNDIxLjM4MSAyLjkyLjAyMiA0LjM4Ny0uMTA4IDEuNDM5LS4xMjkgMi45MDUtLjAzNiA0LjMxNS0uMzUyLjIwOC0uMDM5LjQxLS4xMDkuNTk3LS4yMDdhMS44NSAxLjg1IDAgMDAuNzU1LS45ODJjLjA0My0uMTAzLjA3Mi0uMjEyLjA4Ni0uMzIyLjA0Ni0uNDc5LS4zNzItLjg5NC0uODI4LTEuMDUyLS40NTYtLjE1Ny0uOTUyLS4xMzEtMS40MzItLjE4YTQuNTI1IDQuNTI1IDAgMDEtMi42MzctMS4yMDIgNC40OSA0LjQ5IDAgMDEtMS4zNTgtMi41NTFjLS4wMTctLjEwNC0yLjM3NC0uMDQzLTIuNjIyLjA5My0uMjkuMTU5LS40NjYuNTU1LS42My44MjItLjI2NC40MzItLjUxLjg3NS0uNzM1IDEuMzN6Ii8+CiAgICA8cGF0aCBmaWxsPSIjMkYyRTQxIiBkPSJNMzUuODEzIDEzNi45NTFjLjAzIDQuNzEzLTEuMzQ2IDkuMzItMi45NiAxMy43NWExMjQuOTA2IDEyNC45MDYgMCAwMS0yLjAzNCA1LjIxNmMtLjQyNSAxLjAyMS0uOTAzIDIuMTU0LS40NDggMy4xNjItMS4zMS0uNDk2LTIuNjUtLjc4OS00LjAzMy0uNTYuNTI2LTEuMDY4LjQ3Ni0yLjMxMi41LTMuNTAxYTMwLjM2IDMwLjM2IDAgMDEuNTIyLTQuODEgMjYuNzQgMjYuNzQgMCAwMTIuMzYtNi45NTQgNS4yMyA1LjIzIDAgMDAuNDU5LTEuNDY1IDkuMjg3IDkuMjg3IDAgMDAtLjE5NS0zLjM4NCAyMC4xNDcgMjAuMTQ3IDAgMDAtMi44MjQtNi44OTJsLS4wMTQuMTQxYTIwLjUxNyAyMC41MTcgMCAwMS0uMzU1IDIuMDg2Yy0uMzA5IDEuNDYtLjY3IDIuOTItLjYxNiA0LjM4OGEyMy41MiAyMy41MiAwIDAxLS4yODkgNC42NTMgNy4wMiA3LjAyIDAgMDEtLjQ3IDEuNzU5Yy0uMTUuMzM3LS4zNDguNjU0LS40NjcgMS4wMDRhNC41NiA0LjU2IDAgMDAtLjE4MyAxLjI0MmMtLjE3NiAzLjU0OS0uMDAyIDguMDkxLjcyNiAxMS41N2E2LjgwNiA2LjgwNiAwIDAwLTMuNTMuODAxYy0uODgtMi40NzUtMS40NDEtNS45ODktMS44Ni04LjU5NGEyNS4zMzcgMjUuMzM3IDAgMDEuMjg0LTkuMjZjLjIwNi0xLjAxNi4yODQtMi4wNTMuMjMtMy4wODgtLjA5NC0yLjA2LS42MDItNC4wNzYtMS4xMDgtNi4wNzdhMTM0MDguMzg3IDEzNDA4LjM4NyAwIDAxLTEuODctNy4zODdjLS4yNDMtLjk2My0uNDg4LTEuOTQ2LS40MTItMi45MzZhNy4zMDEgNy4zMDEgMCAwMS4zNDEtMS41OTYgMTcuODE2IDE3LjgxNiAwIDAxMi40MjUtNC45MzljNC4yMi4yMzYgOC40OS0uMTU3IDEyLjcwMy0uNDhhLjg2Ljg2IDAgMDEuNTk3LjEwMS44NC44NCAwIDAxLjI0LjU0MWwxLjU4MyA4LjkzMmMuMjU3IDEuMjQ0LjQwOCAyLjUwNy40NSAzLjc3NS4wMDkgMS4yNjQtLjE5NyAyLjUyNC0uMTUgMy43ODguMDY1IDEuNzAyLjM4OCAzLjMxMS4zOTggNS4wMTR6Ii8+CiAgICA8cGF0aCBmaWxsPSIjMDAwIiBkPSJNMjcuMTQ2IDEzMS42NTRjLS4wODIuNzAxLS4yIDEuMzk3LS4zNTUgMi4wODYtLjkxOC0xLjU4MS0xLjkwNy0zLjEyMi0yLjc1Mi00Ljc0Mi0uMjE4LS40MTgtLjQyNS0uODQxLS42MzQtMS4yNjNsLS42MjItMS4yNjZjLS4xMTctLjIzNy0uMjM0LS40NzUtLjMzOS0uNzE4YTUuMTk2IDUuMTk2IDAgMDEtLjM5Mi0xLjA5N2MuMzA3LS4wNTYgMS4wNjQuNzY5IDEuMjkyLjk4NC40NjcuNDU4LjkwNy45NDIgMS4zMiAxLjQ0OS40OTkuNTYzLjk1NyAxLjE2IDEuMzcgMS43ODhhOC42OCA4LjY4IDAgMDExLjExMiAyLjc3OXoiIG9wYWNpdHk9Ii4xIi8+CiAgICA8cGF0aCBmaWxsPSIjRUZCN0I5IiBkPSJNMzAuNjYzIDg4LjI3MXMtMi4zNDUgMy43MTktMS45MSA0LjQ5N2MuNDMzLjc3OC03LjM4Mi0uNjkyLTcuMzgyLS42OTJzNC4yNTUtMy43MTggMy44Mi01LjI3NWMtLjQzMy0xLjU1NiA1LjQ3MiAxLjQ3IDUuNDcyIDEuNDd6Ii8+CiAgICA8cGF0aCBmaWxsPSIjRUZCN0I5IiBkPSJNMjguNTc4IDg5LjM5NWMyLjkyNiAwIDUuMjk3LTIuMzYxIDUuMjk3LTUuMjc1IDAtMi45MTMtMi4zNzEtNS4yNzUtNS4yOTctNS4yNzUtMi45MjUgMC01LjI5NyAyLjM2Mi01LjI5NyA1LjI3NSAwIDIuOTE0IDIuMzcyIDUuMjc1IDUuMjk3IDUuMjc1eiIvPgogICAgPHBhdGggZmlsbD0iIzA3N0NCMiIgZD0iTTMwLjc0IDkyLjE3YTUuMzg0IDUuMzg0IDAgMDAtMi4yMjctMS43OSA4LjA1IDguMDUgMCAwMC0xLjU4My0uMzg4bC0yLjExMy0uMzdjLS41MTgtLjA5MS0xLjA3Mi0uMTc4LTEuNTUzLjAzNS0uMjQ1LjEyNC0uNDY5LjI4Ni0uNjYyLjQ4Mi0uNzM0LjY3Ny0xLjQ0NiAxLjQyMi0yLjM2NyAxLjgxMy0uMjUyLjEwNy0uNTE2LjE4Ni0uNzY3LjI5NC0xLjAzLjQ0Mi0xLjgwMSAxLjM2NC0yLjIzOSAyLjM5My0uNDU5IDEuMDc5LS40NzIgMi4yNDktLjQzNiAzLjQyYTUuOTggNS45OCAwIDAwLjExOSAxLjIwNGMuMTA3LjM3Ny4yNC43NDYuNCAxLjEwNC4yOTMuNzY0LjUzNyAxLjU0NS43MzMgMi4zNGE3My42OCA3My42OCAwIDAxMS4zNjUgNi4zMjVjLjAzMi4zMDYuMTIyLjYwMy4yNjcuODc1LjIwNC4yNzEuNDUuNTA3LjczLjY5OS4yMjIuMTgzLjQyNy4zODUuNjEyLjYwNC4wOTEuMDk0LjE1Ny4yMDguMTk0LjMzMy4wNjkuMzE0LS4yMS41ODQtLjQzOC44MTRhMy45MjcgMy45MjcgMCAwMC0uOTg5IDEuNzE1LjY4LjY4IDAgMDAtLjE1Ny40NzQuODIuODIgMCAwMS4wNS4zNzQuODcuODcgMCAwMS0uMi4zMDkgMS4xNjEgMS4xNjEgMCAwMC0uMjIuOTMyIDE0LjkyIDE0LjkyIDAgMDA1LjE4NyAxLjIxYy40MzguMDIuODc4LjAyIDEuMzEzLjA3NC4zMS4wMzguNjE2LjEwMy45MjcuMTM5LjQ1Mi4wNDIuOTA2LjA1MyAxLjM1OS4wMzQgMi4zNTgtLjA0NiA0Ljc4NC0uMTA3IDYuOTUtMS4wMzguMjAzLTEuMTA2LS4yMzYtMi4yMzMtLjUxMi0zLjMyMy0uNDM4LTEuNzM0LS41NDgtMy41MzItLjg3NC01LjI5LS4yMjQtMS4yMDQtLjU0OC0yLjM4OC0uNzM0LTMuNTk4LS4xODYtMS4yMS0uMjMtMi40NjQuMTA1LTMuNjQyLjI5Ni0xLjA0NC4zODUtMi4xMDYuNjkyLTMuMTQ3LjMwNi0xLjA0LjUyMS0yLjE2OC4xNzUtMy4xOTctLjQzLTEuMjc0LTEuNzU4LTIuMjgzLTMuMTA2LTIuMjEzeiIvPgogICAgPHBhdGggZmlsbD0iIzJGMkU0MSIgZD0iTTMzLjM0MiA4MS4zMjRjLjI1Ny0uOTM3LS4yNS0xLjkxMi0uODU1LTIuNjczLS42NTEtLjgxOC0xLjQ5My0xLjU1NS0yLjUyLTEuNzYtLjgzNS0uMTY4LTEuNy4wMzQtMi41NDktLjAzMy0uNzUyLS4wNi0xLjQ3My0uMzI4LTIuMjIyLS40MjVhNy4wNjcgNy4wNjcgMCAwMC0yLjAzLjA3NyA3LjU4IDcuNTggMCAwMC0xLjg1Mi41MTVjLTIuMjU1Ljk5NS0zLjU3NiAzLjQ1Mi0zLjg4MyA1Ljg5LS4zMDYgMi40MzcuMjMxIDQuODkyLjc2NiA3LjI5bC40ODMgMi4xNjdjLjUwMiAyLjI1NiAxLjAwNyA0LjUyNCAxLjE0MSA2LjgzLjEzNSAyLjMwOC0uMTE2IDQuNjc2LTEuMDY5IDYuNzgzYTE0LjYwNyAxNC42MDcgMCAwMDYuNzMtNy41ODhjLjM0My0uODkyLjU5Ni0xLjgxOC45NzYtMi42OTUuMzI2LS43NTUuNzQ0LTEuNDcgMS4wMzQtMi4yNC4zMjYtLjg2OS40ODMtMS43OTIuNDYxLTIuNzItLjAxNi0uNjk4LS4xMzMtMS4zOTItLjExMy0yLjA4OS4wMi0uNjk3LjE5OS0xLjQyNS42ODMtMS45My40My0uNDQ3IDEuMDQxLS42NjMgMS41OTYtLjk0NWE2LjYyIDYuNjIgMCAwMDIuMjMtMS44NTNjLjM1LS40NTMuMzY4LS42NDcuNDU3LTEuMTcuMDg2LS41MDcuNC0uOTM4LjUzNi0xLjQzMXoiLz4KICAgIDxwYXRoIGZpbGw9IiNFRkI3QjkiIGQ9Ik0zMy4zNSAxMjAuOTU0Yy4wNTMuNTQyLS4wNDYgMS4wOTguMDczIDEuNjMuMDkuMzk5LjI5OC43NjMuNDIgMS4xNTQuMTIyLjQ1My4xODQuOTIuMTg2IDEuMzg5LjAxOC4zOTMtLjAxMy44NzEtLjM2MiAxLjA1Ni0uMTUzLjA4MS0uMzM3LjA4Mi0uNDk3LjE1LS4xNi4wNjgtLjI5Ny4yNjEtLjIwNS40MDguMDc3LjEyMy4yNTEuMTI1LjM5NC4xNTQuMTQzLjAyOS4zLjE3Ny4yMTguMjk3YS4yNTIuMjUyIDAgMDEtLjEyOC4wOCAxLjQ4NSAxLjQ4NSAwIDAwLS40MS4xOTcuNDEzLjQxMyAwIDAwLS4xNjkuMzk3LjI0My4yNDMgMCAwMC4xMzcuMTY3LjI1My4yNTMgMCAwMC4yMTUtLjAwNWMtLjA2NC4xMzYtLjA5OS4yODQtLjEwMi40MzUuNTU5LjIzOSAxLjE4OC0uMDc0IDEuNzE0LS4zNzhhNi41NiA2LjU2IDAgMDAuNjYtLjQxOCAzLjI2IDMuMjYgMCAwMDEuMjcxLTIuNzg0IDYuMzYzIDYuMzYzIDAgMDAtLjEyNC0uNzk2Yy0uMDgxLS40NTctLjE5LS45MDktLjMyMi0xLjM1My0uMTUtLjQ2OS0uMzU4LS45MTgtLjUzNS0xLjM3Ny0uMzc3LS45NzktLjYyLTIuMDA0LS45Ni0yLjk5N2EuMzQuMzQgMCAwMC0uMTM3LS4yNDEuMzQyLjM0MiAwIDAwLS4yNzEtLjA2NCA0LjAxNSA0LjAxNSAwIDAwLTEuMTQuMTA0Yy0uMjI2LjA2Ni0uNTk2LjIxLS42OTcuNDQ2LS4wOTEuMjEyLjA2MS40MDEuMTU4LjU4M2E0LjgzIDQuODMgMCAwMS42MTMgMS43NjZ6Ii8+CiAgICA8cGF0aCBmaWxsPSIjMDAwIiBkPSJNMzIuOTkgOTQuNDUyYy4xMTQuMTE0LjIwOC4yNDYuMjgxLjM4OS43NTMgMS4zNjIuNzYyIDIuOTkyLjc5OCA0LjU0Ny4wNCAxLjc0OS4xMzYgMy40OTcuMjMyIDUuMjQ1bC4yODcgNS4yMjZjLjAyOC40OTkuMDU1IDEgLjEyNiAxLjQ5NS4zMzguMDg1LjM1Mi41Mi4zMTMuODY1LS4yNDIgMi4xMzMtLjg0NSA0LjMyOC0uMjE0IDYuMzgxYS42NDEuNjQxIDAgMDAuMTQ4LjI4NCAxLjcwOSAxLjcwOSAwIDAwLS45OC0uMDEzYy0uMzE0LjA2Ni0uNjE2LjE4LS45My4yNTItLjM5OS4wOS0uODUuMTI5LTEuMTIzLjQzM2EyMS41NzYgMjEuNTc2IDAgMDEtLjczMy0yLjgxOWMtLjE0OS0uODY4LS4xOS0xLjc3LS41NDUtMi41NzctLjE0My0uMzI1LS4zMzQtLjYyNy0uNTEtLjkzNy0uOTE5LTEuNjMyLTEuMzctMy40NzYtMS44MS01LjI5NWE3LjY5MiA3LjY5MiAwIDAxLS4xNC0yLjYzYy4wNjMtLjQwMS4xLS44MDYuMTEtMS4yMTFhOS42OTQgOS42OTQgMCAwMC0uMTY4LTEuMjczIDguNTI1IDguNTI1IDAgMDEuMjU1LTMuNjg4Yy4zMy0xLjExLjYxOS0yLjI3OSAxLjMwOC0zLjIxMi42ODktLjkzMiAyLjEzMy0xLjQ0NiAzLjI5Ni0xLjQ2MnoiIG9wYWNpdHk9Ii4xIi8+CiAgICA8cGF0aCBmaWxsPSIjMDc3Q0IyIiBkPSJNMzMuMjUxIDk0LjI3OWMuMTEzLjExNC4yMDguMjQ2LjI4LjM4OS43NTQgMS4zNjIuNzYzIDIuOTkyLjc5OSA0LjU0Ny4wNCAxLjc1LjEzNSAzLjQ5Ny4yMzIgNS4yNDVsLjI4NyA1LjIyNmMuMDI4LjUuMDU1IDEgLjEyNiAxLjQ5NS4zMzguMDg1LjM1Mi41Mi4zMTMuODY1LS4yNDMgMi4xMzMtLjg0NSA0LjMyOC0uMjE0IDYuMzgxYS42MzUuNjM1IDAgMDAuMTQ3LjI4NCAxLjcwOSAxLjcwOSAwIDAwLS45NzktLjAxM2MtLjMxNC4wNjYtLjYxNy4xODEtLjkzLjI1Mi0uMzk5LjA5LS44NS4xMjktMS4xMjMuNDMzYTIxLjYwOCAyMS42MDggMCAwMS0uNzMzLTIuODE5Yy0uMTUtLjg2OC0uMTktMS43Ny0uNTQ1LTIuNTc3LS4xNDMtLjMyNS0uMzM1LS42MjctLjUxLS45MzctLjkyLTEuNjMxLTEuMzctMy40NzYtMS44MS01LjI5NWE3LjY5IDcuNjkgMCAwMS0uMTQtMi42M2MuMDYzLS40MDEuMS0uODA1LjExLTEuMjExYTkuNjkzIDkuNjkzIDAgMDAtLjE2OC0xLjI3MyA4LjUyMyA4LjUyMyAwIDAxLjI1NS0zLjY4OGMuMzMtMS4xMS42MTgtMi4yNzkgMS4zMDgtMy4yMTIuNjg5LS45MzIgMi4xMzMtMS40NDYgMy4yOTUtMS40NjJ6Ii8+CiAgICA8ZyBmaWxsPSIjMDAwIiBvcGFjaXR5PSIuMSI+CiAgICAgIDxwYXRoIGQ9Ik0zMi40ODcgNzguNjUxYy0uNjUxLS44MTgtMS40OTMtMS41NTUtMi41Mi0xLjc2LS44MzUtLjE2OC0xLjcuMDM0LTIuNTQ5LS4wMzMtLjc1Mi0uMDYtMS40NzMtLjMyOC0yLjIyMi0uNDI1YTcuMDY3IDcuMDY3IDAgMDAtMi4wMy4wNzcgNy41OCA3LjU4IDAgMDAtMS44NTIuNTE1Yy0uMzIuMTQyLS42MjYuMzE1LS45MTMuNTE1YTcuOTgxIDcuOTgxIDAgMDExLjYzNS0uNDI1IDcuMDcgNy4wNyAwIDAxMi4wMzEtLjA3NmMuNzQ5LjA5NiAxLjQ3LjM2NSAyLjIyMi40MjQuODUuMDY3IDEuNzE0LS4xMzQgMi41NS4wMzMgMS4wMjcuMjA1IDEuODY4Ljk0MyAyLjUxOSAxLjc2LjYwNi43NjEgMS4xMTMgMS43MzYuODU1IDIuNjczLS4xMzYuNDkzLS40NS45MjQtLjUzNiAxLjQzMi0uMDkuNTIzLS4xMDguNzE2LS40NTcgMS4xN2E2LjYzOSA2LjYzOSAwIDAxLTEuNjA4IDEuNDljLjE3LS4wOC4zNC0uMTU4LjUwNy0uMjQzYTYuNjIgNi42MiAwIDAwMi4yMy0xLjg1M2MuMzUtLjQ1My4zNjgtLjY0Ny40NTctMS4xNy4wODYtLjUwNy40LS45MzguNTM2LTEuNDMxLjI1OC0uOTM3LS4yNS0xLjkxMi0uODU1LTIuNjczek0yOC41MjMgODYuNzI0Yy4wOS0uMDk0LjE5LS4xOC4yOTYtLjI1Ni0uNTA2LjI0NC0xLjAzOS40NTktMS40MjUuODYxLS40ODQuNTA1LS42NjIgMS4yMzItLjY4MyAxLjkzLS4wMi42OTcuMDk3IDEuMzkuMTE0IDIuMDg4YTcuMjY0IDcuMjY0IDAgMDEtLjQ2MiAyLjcyMWMtLjI5Ljc3LS43MDggMS40ODUtMS4wMzQgMi4yNC0uMzguODc2LS42MzMgMS44MDItLjk3NiAyLjY5NGExNC42MTcgMTQuNjE3IDAgMDEtNS41NjQgNi44OTVsLS4wMzcuMDg4YTE0LjYwNyAxNC42MDcgMCAwMDYuNzMtNy41ODhjLjM0My0uODkyLjU5Ni0xLjgxOC45NzYtMi42OTUuMzI2LS43NTUuNzQ0LTEuNDcgMS4wMzQtMi4yNC4zMjYtLjg2OS40ODMtMS43OTIuNDYxLTIuNzItLjAxNi0uNjk4LS4xMzMtMS4zOTItLjExMy0yLjA4OS4wMi0uNjk3LjE5OS0xLjQyNS42ODMtMS45M3oiIG9wYWNpdHk9Ii4xIi8+CiAgICA8L2c+CiAgICA8cGF0aCBmaWxsPSIjMkYyRTQxIiBkPSJNMTQ0Ljg1MyAxNjQuMjU4Yy0uMjUyLjMwMy0uNjg0LjM2NC0xLjA3NC40MDRhNi4xMjEgNi4xMjEgMCAwMS0xLjUyNC4wMjljLS42MDMtLjA4OS0uOTY0LjI1Mi0xLjUxNC0uMDEtLjMzMy0uMTU5LS44NDUuMTU4LTEuMTc4IDAtLjQ1Ny0uMjE4LTIuMDMzLS4yNjMtMi4zMS0uNjg3LS4yNzgtLjQyNS0uMjUtMS4wOTYuMTg5LTEuMzQ2YTIuOTUgMi45NSAwIDAxLjM4NS0uMTVjLjczNi0uMjkyIDIuMjI2LTIuNDkgMy4wMDgtMi42MDMuMzg4LS4wMTguNzc0LjA3MiAxLjExMy4yNjEuNzcyLjM0MSAyLjEzNC42MTEgMi40NzEgMS40NzYuMjYyLjY3NS45OCAxLjk2Ny40MzQgMi42MjZ6TTE1MC4zOTYgMTY0LjA4NGMuMjUyLjMwMy42ODQuMzY0IDEuMDc0LjQwNGE2LjEyMSA2LjEyMSAwIDAwMS41MjQuMDI5Yy42MDMtLjA4OSAxLjMzNi40MjYgMS44ODcuMTY0LjMzMy0uMTU5Ljg0NS0uMDc2IDEuMTc4LS4yMzUuNDU3LS4yMTggMi42MDIuMjY4IDIuODgtLjE1Ny4yNzgtLjQyNS4yNDktMS4wOTUtLjE5LTEuMzQ2YTIuODk2IDIuODk2IDAgMDAtLjM4NS0uMTVjLS43MzUtLjI5MS0zLjE2OC0yLjk2LTMuOTUtMy4wNzJhMi4wODggMi4wODggMCAwMC0xLjExMy4yNjFjLS43NzIuMzQxLTIuMTM0LjYxMS0yLjQ3MSAxLjQ3Ni0uMjYyLjY3NS0uOTggMS45NjctLjQzNCAyLjYyNnoiLz4KICAgIDxwYXRoIGZpbGw9IiMyRjJFNDEiIGQ9Ik0xNTIuODMyIDExNi4xNjFjLjI0MS40NjEuNDUyLjkzOC42MzEgMS40MjcgMi4xMzkgNS42MzYgMi4zMTggMTEuNzk1IDIuNDA3IDE3LjgyLS4wMDguOTc5LjA0OCAxLjk1OC4xNjggMi45MzEuMDg5LjYxNi4yMzEgMS4yNC4xNCAxLjg1Ni0uMDc5LjUzMy0uMzMxIDEuMDU5LS4yMzEgMS41ODguMDQ1LjIzNy4xNi40NTcuMjA1LjY5NS4wMzQuMjYuMDI3LjUyNC0uMDIyLjc4M2wtLjI4NiAyLjEyNWMtLjE2NCAxLjIxLS41NDEgMi4zNzctLjUyIDMuNTk4LjAxNC44MzMuMDI4IDEuNjY4LjEyMSAyLjQ5Ni4wOTQuODQxLjI3MSAxLjY3NS4yOCAyLjUyMS4wMDYuNjMzLS4wODEgMS4yNjQtLjEzNyAxLjg5NWExOS40OTMgMTkuNDkzIDAgMDAtLjA1NCAyLjY4Yy4wMzQuNjg5LjExMyAxLjQwNC40OCAxLjk4OS0uNDExLjU4Ni0uODE4IDEuMTEyLTEuNDc2IDEuMzk5LTEuMzM2LjU4NC0yLjg3LjM4Ni00LjMxNC4xNzcuMDgtLjI2NS4yMDQtLjU2Ni4wODgtLjgxOGExLjYzIDEuNjMgMCAwMC0uMjQ4LS4zMzYgMy45NTYgMy45NTYgMCAwMS0uNjQzLTEuNDg5Yy0uMTc1LS42MzQtLjM1LTEuMzE3LjAxLTEuOTI2YTEuMjMgMS4yMyAwIDAwLjE1Ni0uNzE1Yy0uMjk5LTMuOTk1LTEuMTkyLTguMTI5LS4zNy0xMi4wNS4wODgtLjQxOS4xOTMtLjgzNS4yNDItMS4yNi4wNDQtLjYxMS4wNTEtMS4yMjQuMDIyLTEuODM2bC0uMDE3LS44NTFjLS4wNDMtLjkwOS0uMDA2LTEuODQxLS4xODktMi43NC0uMTMxLS42NDQtLjM3Ni0xLjI5MS0uMDc0LTEuOTQ3YTEuMDczIDEuMDczIDAgMDAtLjA0NS0uOTQ1IDE3LjMyNCAxNy4zMjQgMCAwMS0xLjUyMi0zLjQ5OCA2LjA4MyA2LjA4MyAwIDAwLS4zMi0uOTk2IDcuMDQzIDcuMDQzIDAgMDAtLjYzMy0uOTY5Yy0uNzE2LTEuMDM0LTEuMTQ0LTIuMjMzLTEuNTY0LTMuNDE3LjA0NS0uMTA5LjAxMS0uMjYtLjEwNi0uMjQ0YS40NDguNDQ4IDAgMDAtLjI3Ni4yMDVjLS41NzYuNzctLjYyNCAxLjc5OC0uNjUgMi43NTgtLjA0My44OTItLjAyOCAxLjc4Ni4wNDYgMi42NzYuMDQ5LjQ2Ny4xMzEuOTI5LjE3MyAxLjM5Ni4wNTUuODcyLjA0MSAxLjc0Ni0uMDQyIDIuNjE1bC0uMjkzIDQuMjc3Yy0uMDQuMzU0LS4wMTkuNzEyLjA2MyAxLjA1OC4xODguNTk5LjI4IDEuMjI1LjI3MiAxLjg1M2EzMy4yNzcgMzMuMjc3IDAgMDAuNjY4IDcuNjk5Yy4xNDQuNjk5LjMxIDEuMzk0LjQzMiAyLjA5Ny4yODcgMS42NTcuMzI2IDMuMzQ2LjM2NSA1LjAyNy4wMjMgMS4wMzQuMDQgMi4xMDQtLjM2OCAzLjA1NS0uMTYuMjkzLS4yNzguNjA3LS4zNDkuOTMyYTEuOTkyIDEuOTkyIDAgMDEtLjA2Ny40OThjLS4xMi4zMDgtLjQ4LjQzOS0uODA0LjUwOWE2LjUxNCA2LjUxNCAwIDAxLTEuODUzLjEzMSAxLjA4IDEuMDggMCAwMS0uNDIzLS4wOTNjLS4yMzEtLjEyLS4zNTQtLjM3My0uNTMtLjU2NS0uMzgtLjQxMy0xLjAxMi0uNTM5LTEuMzU4LS45ODEtLjQzMy0uNTUzLS4yNTEtMS4zNTMuMDA2LTIuMDA1LjI1OC0uNjUyLjU3Ny0xLjM2LjM1NS0yLjAyNS0uMjYxLS43ODQtMS4xODgtMS4yMDYtMS40MzctMS45OTQuNzEtMy4xNzctMS4wMzMtNi40NjMtLjg4NC05LjcxNC4wMzUtLjc1OC4xNjctMS41MDkuMTctMi4yNjguMDA3LTEuOTUzLS44NDMtMy44NTMtLjcwMy01LjgwMS4zNTUtNC45NS0xLjMzOC05Ljg5Mi0yLjA1NS0xNC44MDNhOS42MzkgOS42MzkgMCAwMS0uMTUxLTIuMjI0Yy4xMDYtMS4yMjkuNjc5LTIuMzczIDEuMzY4LTMuMzk5LjQ5NC0uNzM0IDEuMDg4LTEuNDUzIDEuOTA2LTEuNzk3LjY3My0uMjgzIDEuNDI4LS4yODIgMi4xNTktLjI3NiAxLjgyNC4wMTQgMy42NDguMDI4IDUuNDcxLjA2MWExOC4wNjYgMTguMDY2IDAgMDEzLjY5OS4zMjljLjk4Ny4yMjUgMS45MS42ODMgMi45MTEuODI2eiIvPgogICAgPHBhdGggZmlsbD0iI0ExNjE2QSIgZD0iTTEyMy4zNjQgOTMuNTk0Yy0uMTc2LS44NjEuMTU4LTEuNzgyLS4xMDQtMi42MjItLjA5NC0uMzAyLS4zMjUtLjYxNy0uNjQzLS42MDgtLjMwOS4wMDgtLjUxOC4zMS0uNzkyLjQ1Mi0uNDQyLjIzLS45NzkuMDIxLTEuNDItLjIxLS40NDEtLjIzLS45MzMtLjQ5LTEuNDEyLS4zNTItLjA1Ni4yOTguMTQ2LjU4My4zNjYuNzkzLjI0NC4xODQuNDQ2LjQxNy41OTMuNjg0LjA3Mi4yOS4wOTkuNTg3LjA4MS44ODUuMDUuNjgyLjQ4NCAxLjI2OS45MTcgMS44LjY5OC44NTQgMS40NCAxLjY3MyAyLjIyMiAyLjQ1My0uMDAyLS4wMDEgMS4xODYtMS40NjUgMS4xNjMtMS43Mi0uMDIxLS4yNDItLjQyMS0uNDY3LS41NjYtLjY2MmEyLjI2MiAyLjI2MiAwIDAxLS40MDUtLjg5M3pNMTU4LjcyOCAxMTEuNjE4Yy4xMDYuMjc0LjE4NS41NTcuMjM3Ljg0NS4zMDYgMS40NzkuNDk5IDIuOTc4LjY5IDQuNDc2LjA1LjQuMTAxLjgwMS4xMTcgMS4yMDNhNS40OSA1LjQ5IDAgMDEtLjU3MyAyLjc2NyAzLjg4NSAzLjg4NSAwIDAxLTIuMDgyIDEuODY4Yy0uMjc5LjA5OC0uNjY3LjExNi0uNzg5LS4xNTJhLjU3LjU3IDAgMDEuMDAzLS4zODJjLjExLS4zOTkuMzMzLS43NTcuNDc4LTEuMTQ0YTMuMDc4IDMuMDc4IDAgMDAuMTAzLTEuODA5Yy0uMDU3LS4yMjktLjE3Ny0uNDg1LS40MS0uNTMxYTIuMDUyIDIuMDUyIDAgMDEtLjI3MiAxLjUzOS41NDIuNTQyIDAgMDEtLjMxOC4yNjguNDI5LjQyOSAwIDAxLS40NDctLjI4NyAxLjIzNyAxLjIzNyAwIDAxLS4wMzYtLjU3Yy4wNzUtLjk2MS4yMjItMS45MTUuNDQtMi44NTMuMjU5LTEuMDMxLjY3LTIuMDQ4LjY0NC0zLjExLS4wMjQtLjk2My0uNDA5LTEuOTA4LS4zMDEtMi44NjVhLjI4Ni4yODYgMCAwMS4wNTUtLjE2NC4zLjMgMCAwMS4xMi0uMDc0Yy4yNy0uMTExLjU0OC0uMjAzLjgzMS0uMjc0LjE2Ny0uMDQyLjczOC0uMjQuODk5LS4xNTEuMTI5LjA3MS4xNjkuNS4yMzQuNjQ1LjExNS4yNTcuMjY4LjQ5NS4zNzcuNzU1ek0xMzkuNjU1IDgzLjEwM2EzLjkzOSAzLjkzOSAwIDAwMy45NDYtMy45M2MwLTIuMTctMS43NjctMy45My0zLjk0Ni0zLjkzYTMuOTM5IDMuOTM5IDAgMDAtMy45NDcgMy45M2MwIDIuMTcgMS43NjcgMy45MyAzLjk0NyAzLjkzeiIvPgogICAgPHBhdGggZmlsbD0iI0ExNjE2QSIgZD0iTTE0My4xOTEgODIuMDE3YzAgLjI1LjAyLjUwMS4wNi43NDguMDU0LjI1LjEzMS40OTUuMjMuNzMxLjEzMi4zODUuMzE4Ljc0OC41NTMgMS4wOC4yMzguMzM1LjU5NS41NjYuOTk5LjY0OGEyOC41MDcgMjguNTA3IDAgMDEtOC41MzQgMi40NTZjLjQ2Ni0uMzA4Ljg1My0uNzIgMS4xMzItMS4yMDMuMTQ4LS4zMS4yNDktLjY0LjMtLjk4YTguMTkgOC4xOSAwIDAwLS4zNzEtNC4yMzljLS4wNDktLjEzNC0uMDk3LS4yOTgtLjAwNC0uNDA2YS4zOC4zOCAwIDAxLjE0LS4wOSA4LjgzMiA4LjgzMiAwIDAxMy43MS0uNjljLjMyNS4wMDIuNjUuMDE3Ljk3NS4wNC4xNzQuMDEzLjU1OS0uMDI0LjY5OC4xMDMuMTY1LjE1Mi4wODIuNjIzLjA4OC44M2wuMDI0Ljk3MnoiLz4KICAgIDxwYXRoIGZpbGw9IiNEMENERTEiIGQ9Ik0xNDUuMjggODQuODc3YTQuMjQgNC4yNCAwIDAwLTUuMDUyLTEuMjU0Yy0xLjg3OS44OTMtMi44MDQgMy4wMzgtNC40NTYgNC4yOTktLjM3Ni4yOC0uNzc2LjUyNi0xLjE5Ni43MzQtLjI0OC4xMzYtLjUxMy4yNC0uNzg4LjMxLS4zMDguMDY4LS42MzEuMDU5LS45MzguMTMyYTIuNDE2IDIuNDE2IDAgMDAtMS4zOTcgMS4wOCA3LjU1NCA3LjU1NCAwIDAxLS41MTQuNzg5Yy0uMTcyLjIwNC0uMzg3LjM2OS0uNTY5LjU2NC0uNjU3LjcwMy0uODM2IDEuNzEzLS45ODYgMi42NjJhMTIuNjU0IDEyLjY1NCAwIDAxLTEuNjc2IDEuNDcyIDIuMzggMi4zOCAwIDAxLS42MjIuMzQzYy0uNTc4LjE4Ny0xLjIxNi0uMDUtMS43MDgtLjQwNS0uNDkzLS4zNTQtLjg5NC0uODIyLTEuMzgtMS4xODVhNTAuNzQzIDUwLjc0MyAwIDAxLTEuMzg4IDEuODg2LjYxLjYxIDAgMDEtLjMxMS4yNTRjLS4wODkuMjk5LjEyNS42MDkuMjg2Ljg3N2wuODYgMS40NGE3LjIyMSA3LjIyMSAwIDAwMS4wMzkgMS40NWMuNDExLjQ0MS45NzMuNzEzIDEuNTc1Ljc2M2EzLjIgMy4yIDAgMDAxLjExMS0uMjEyYzEuNjM5LS41NDkgMy4xNDUtMS40MjYgNC43MDUtMi4xNzEuMjgzLS4xNjEuNTk5LS4yNTMuOTI0LS4yN2EuNzQ0Ljc0NCAwIDAxLjczMS41MjNjLjE3OS45LjM1NiAxLjc5Ny42MDIgMi42OC4yMzIuODM0LjQ0OCAxLjY3Mi42NDcgMi41MTQuMTMzLjUxNS4yMjggMS4wNC4yODQgMS41NjkuMDI2LjMuMDI4LjYwMi4wMzEuOTA0bC4wMzMgMy42NDNjLjAwNC4zOTMtLjIyMS42MzctLjM5NC45OWEyLjMyNyAyLjMyNyAwIDAwLS4xMTEgMS43NTFjLjA5Ny4yODQuMjQ5LjU0Ny4zNTcuODI3LjI2LjY3OC4yNSAxLjQyNS4yMzYgMi4xNTFsLS4wMzEgMS42NjJhLjM1OC4zNTggMCAwMC4wMzYuMjAxYy4xMDIuMTU4LjM0OC4wNjUuNTAzLS4wNDJsLjc4MS0uNTM5YzEuMDQ0LjE0NCAyLjA5OS4xOTQgMy4xNTMuMTUyIDIuOTk2LS4wNDMgNS45OTMuMDc2IDguOTgyLjI4NC45OTguMDcgMi4wMjkuMTQ1IDIuOTcyLS4xODcuNDc4LS4xNjguOTE5LS40MzYgMS40MDgtLjU3MS4yMDEtLjAzMi4zOTMtLjExLjU1OC0uMjI5LjI3NC0uMjUyLjIwMS0uNjk1LjA5LTEuMDQ5LS4wOTgtLjMxLS4yMDktLjYxNS0uMzMzLS45MTZhNS4zMTcgNS4zMTcgMCAwMS0uMzExLS44NTdjLS4xNS0uNjYzLS4wMDQtMS40My0uNDE5LTEuOTctLjkyOC0xLjIwOS0uMjcxLTMuMDY5LS42Ni00LjU0LS4xMjYtLjQ3Ni0uMzEzLS45MzUtLjQzMS0xLjQxMy0uMDc0LS4zLS4xMjEtLjYwNi0uMTY4LS45MTJhMTAuOTUyIDEwLjk1MiAwIDAxLS4xODEtMi4wMDRjLjAxMi0uMzM2LjA1NC0uNjcuMDk3LTEuMDA0bC4yOTUtMi4zMThjLjM2OC42ODUuNjI0IDEuNDI1Ljc1OCAyLjE5MS4yNjkgMS4xNDQuNTk5IDIuMjczLjk5IDMuMzgxLjIyMi42NjkuNDQ1IDEuMzM4LjY4NSAyIC4xNTIuMzc3LjI2OS43NjcuMzUgMS4xNjUuMDUzLjMyMS4wNTQuNjQ5LjA5Mi45NzJhNC40MiA0LjQyIDAgMDAuNzExIDEuOTQxYy4wNzEuMTM1LjE5LjI0LjMzMy4yOTRhLjY1LjY1IDAgMDAuMjkxLS4wMTIgMTEuNTA5IDExLjUwOSAwIDAwMi45OTYtMS4wMzIgMS4xOSAxLjE5IDAgMDAuNTA2LS4zOTRjLjI1NS0uNDEyLS4wMy0uOTI3LS4xNTQtMS4zOTUtLjEzMi0uNTAyLS4xMDEtMS4xMDYtLjQ5OC0xLjQ0My0xLjM4Mi0xLjE3MS0uNjk2LTMuNTQ5LTEuMzg4LTUuMjItLjEyMS0uMjkzLS4yNjMtLjU3OC0uMzY4LS44NzgtLjA4LS4yMjktLjEzOC0uNDY1LS4xOTYtLjcwMS0uNDgzLTEuOTQ2LTEtMy44ODMtMS41NTEtNS44MTItLjU3MS0yLS41MDktNC4wODItMS4yMjgtNi4wMzRhNi4zNTEgNi4zNTEgMCAwMC0uNTI3LTEuMTc3IDMuMTkgMy4xOSAwIDAwLS45NTMtLjk3OGMtMS4wNDMtLjY4Ny0yLjA5Ny0xLjI3Mi0zLjMyMi0xLjUyMS0xLjIyNi0uMjUtMi41NTItLjIxLTMuODAzLS4yMDV6Ii8+CiAgICA8cGF0aCBmaWxsPSIjMkYyRTQxIiBkPSJNMTM2LjA2OCA4MC4xMzVjLS41My0uMjg1LS4zOS0xLjA1Ny0uNDgxLTEuNjUtLjE4NS0xLjIyMi0xLjU3LTEuOTQ2LTEuODk2LTMuMTM3LjM3NC4wNDUuNzUzLS4wMDggMS4wOTktLjE1NWExLjY2NCAxLjY2NCAwIDAwLS4yMjEtMS4xNDVjMS4xMzktLjQ2IDIuMDYxLTEuMzY1IDMuMjE4LTEuNzggMS40NTUtLjUyMyAzLjA3NS0uMjAyIDQuNTQyLjI4My43MzMuMjQzIDEuNDk1LjU1NyAxLjkzNyAxLjE4Ny40ODcuNjkuNDc5IDEuNi40NTMgMi40NDQtLjA0MSAxLjMyMy0uMDkzIDIuNjk0LS42ODUgMy44OC0uNzUzIDEuNTA5LTIuODg1IDIuOTA3LTQuNjQ3IDIuNDk4LS43MzItLjE3LS45NDgtLjYyOC0xLjI1Ny0xLjI2Mi0uMTkyLS4zOTUtLjI2NC0uODUzLS42OTctMS4wNTgtLjQyMy0uMjAxLS45MzUuMTI1LTEuMzY1LS4xMDV6Ii8+CiAgICA8ZyBmaWxsPSIjMDAwIiBvcGFjaXR5PSIuMSI+CiAgICAgIDxwYXRoIGQ9Ik0xNTIuMDcyIDEwOC4zMTZjLjAwNS4xMDQuMDA4LjIwOS4wMDkuMzE1YTguMTYzIDguMTYzIDAgMDEtLjAwOS0uMzE1ek0xMzQuOTc4IDExMi4yNjRjLjI2LjY3OC4yNSAxLjQyNS4yMzcgMi4xNWwtLjAxMS41NjlhMy44NzQgMy44NzQgMCAwMC0uMjI2LTEuMTQ3Yy0uMTA3LS4yOC0uMjU5LS41NDMtLjM1Ni0uODI3YTIuMzIgMi4zMiAwIDAxLjAxNy0xLjUyOGMuMDk3LjI2Ny4yMzcuNTE4LjMzOS43ODN6IiBvcGFjaXR5PSIuMSIvPgogICAgPC9nPgogICAgPHBhdGggZmlsbD0iIzAwMCIgZD0iTTEzNC43OTEgNzQuNjIxbC0uMDA0LjAwMmExLjY1IDEuNjUgMCAwMC0uMjE4LS41NzUgNS4xMiA1LjEyIDAgMDAuMTk5LS4wODZjLjA1Mi4yMTYuMDU5LjQ0LjAyMy42NTl6IiBvcGFjaXR5PSIuMSIvPgogICAgPHBhdGggZmlsbD0iI0ZGNjU4NCIgZD0iTTEwLjQyIDY2LjYwOWwtLjkzLS44MzZjLTMuMzA0LTMuMDItNS40ODUtNC45ODEtNS40ODUtNy40MjNhMy40NjIgMy40NjIgMCAwMTEuMDE0LTIuNTEgMy40OSAzLjQ5IDAgMDEyLjUxNC0xLjAyNSAzLjgwOCAzLjgwOCAwIDAxMi44ODcgMS4zNSAzLjc5MiAzLjc5MiAwIDAxMi44ODYtMS4zNSAzLjUwMiAzLjUwMiAwIDAxMi41MTQgMS4wMjUgMy40NzUgMy40NzUgMCAwMTEuMDE0IDIuNTFjMCAyLjQ0Mi0yLjE4IDQuNDAyLTUuNDg0IDcuNDIzbC0uOTMuODM2eiIvPgogICAgPHBhdGggc3Ryb2tlPSIjM0YzRDU2IiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTEyLjA3IDY0LjQ5NmwtLjkzLS44MzVjLTMuMzAzLTMuMDItNS40ODQtNC45ODEtNS40ODQtNy40MjNhMy40NjIgMy40NjIgMCAwMTEuMDE0LTIuNTEgMy40OSAzLjQ5IDAgMDEyLjUxNC0xLjAyNSAzLjgwOCAzLjgwOCAwIDAxMi44ODYgMS4zNSAzLjc5MiAzLjc5MiAwIDAxMi44ODctMS4zNSAzLjUwMiAzLjUwMiAwIDAxMi41MTQgMS4wMjUgMy40NzQgMy40NzQgMCAwMTEuMDE0IDIuNTFjMCAyLjQ0Mi0yLjE4MSA0LjQwMi01LjQ4NSA3LjQyM2wtLjkzLjgzNXoiLz4KICA8L2c+CiAgPGRlZnM+CiAgICA8Y2xpcFBhdGggaWQ9ImNsaXAwIj4KICAgICAgPHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMGgyMzF2MTY1SDB6Ii8+CiAgICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KPC9zdmc+Cg=="},904:function(M,j,t){"use strict";t.r(j);var L={};t.r(L),t.d(L,"receiveInstalledPlugins",(function(){return oM})),t.d(L,"receiveActivatingPlugin",(function(){return EM})),t.d(L,"removeActivatingPlugin",(function(){return xM})),t.d(L,"receiveRecommendedPlugins",(function(){return wM})),t.d(L,"receiveBlogPosts",(function(){return sM})),t.d(L,"handleFetchError",(function(){return CM})),t.d(L,"activateInstalledPlugin",(function(){return lM})),t.d(L,"loadInstalledPluginsAfterActivation",(function(){return kM}));var u={};t.r(u),t.d(u,"getInstalledPlugins",(function(){return YM})),t.d(u,"getActivatingPlugins",(function(){return QM})),t.d(u,"getRecommendedPlugins",(function(){return UM})),t.d(u,"getBlogPosts",(function(){return mM}));var N={};t.r(N),t.d(N,"getRecommendedPlugins",(function(){return pM})),t.d(N,"getBlogPosts",(function(){return fM}));var e=t(0),i=t(26),D=(t(876),t(105)),g=t.n(D),c=t(41),I=t.n(c),n=t(40),y=t.n(n),z=t(44),A=t.n(z),T=t(29),r=t.n(T),S=t(42),O=t.n(S),a=t(3),o=t(256),E=t(19),x=t(1),w=t.n(x),s=t(63),C=(t(877),t(59)),l=t.n(C),k=t(88),Y=t(10),Q=t.n(Y),U=(t(878),function(M){return Object(e.createElement)(k.a,g()({},M,{className:Q()(M.className,"woocommere-admin-marketing-button")}))});t(879);function m(){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(M){return!1}}var d=function(M){O()(L,M);var j,t=(j=L,function(){var M,t=r()(j);if(m()){var L=r()(this).constructor;M=Reflect.construct(t,arguments,L)}else M=t.apply(this,arguments);return A()(this,M)});function L(){return I()(this,L),t.apply(this,arguments)}return y()(L,[{key:"render",value:function(){return Object(e.createElement)("img",{src:this.props.src,className:Q()(this.props.className,"woocommere-admin-marketing-product-icon"),alt:""})}}]),L}(e.Component);d.propTypes={src:w.a.string.isRequired,className:w.a.string};var h=d,p=t(726),f=t(720),b=t(2);t(880);function v(){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(M){return!1}}var P=function(M){O()(L,M);var j,t=(j=L,function(){var M,t=r()(j);if(v()){var L=r()(this).constructor;M=Reflect.construct(t,arguments,L)}else M=t.apply(this,arguments);return A()(this,M)});function L(M){var j;return I()(this,L),(j=t.call(this,M)).state={height:null},j.container=Object(e.createRef)(),j.onEnter=j.onEnter.bind(l()(j)),j.updateSliderHeight=j.updateSliderHeight.bind(l()(j)),j}return y()(L,[{key:"componentDidMount",value:function(){window.addEventListener("resize",Object(b.debounce)(this.updateSliderHeight,50))}},{key:"componentWillUnmount",value:function(){window.removeEventListener("resize",this.updateSliderHeight)}},{key:"updateSliderHeight",value:function(){var M=this.container.current.querySelector(".woocommerce-marketing-slider__slide");this.setState({height:M.clientHeight})}},{key:"onEnter",value:function(){var M=this.container.current.querySelector(".slide-enter");this.setState({height:M.clientHeight})}},{key:"render",value:function(){var M=this.props,j=M.children,t=M.animationKey,L=M.animate,u=this.state.height,N=Q()("woocommerce-marketing-slider",L&&"animate-".concat(L)),i={};return u&&(i.height=u),Object(e.createElement)("div",{className:N,ref:this.container,style:i},Object(e.createElement)(p.a,null,Object(e.createElement)(f.a,{timeout:320,classNames:"slide",key:t,onEnter:this.onEnter},Object(e.createElement)("div",{className:"woocommerce-marketing-slider__slide"},j))))}}]),L}(e.Component);P.propTypes={animationKey:w.a.any.isRequired,animate:w.a.oneOf([null,"left","right"])};var G=P,R=t(79);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(M){return!1}}var Z=function(M){O()(L,M);var j,t=(j=L,function(){var M,t=r()(j);if(_()){var L=r()(this).constructor;M=Reflect.construct(t,arguments,L)}else M=t.apply(this,arguments);return A()(this,M)});function L(M){var j;return I()(this,L),(j=t.call(this,M)).onActivateClick=j.onActivateClick.bind(l()(j)),j.onFinishSetupClick=j.onFinishSetupClick.bind(l()(j)),j}return y()(L,[{key:"getLinks",value:function(){var M=this,j=this.props,t=j.docsUrl,L=j.settingsUrl,u=j.supportUrl,N=j.dashboardUrl,i=[];return t&&i.push({key:"docs",href:t,text:Object(a.__)("Docs","woocommerce-admin")}),u&&i.push({key:"support",href:u,text:Object(a.__)("Get support","woocommerce-admin")}),L&&i.push({key:"settings",href:L,text:Object(a.__)("Settings","woocommerce-admin")}),N&&i.push({key:"dashboard",href:N,text:Object(a.__)("Dashboard","woocommerce-admin")}),Object(e.createElement)("ul",{className:"woocommerce-marketing-installed-extensions-card__item-links"},i.map((function(j){return Object(e.createElement)("li",{key:j.key},Object(e.createElement)(s.Link,{href:j.href,type:"external",onClick:M.onLinkClick.bind(M,j)},j.text))})))}},{key:"onLinkClick",value:function(M){var j=this.props.name;Object(R.b)("marketing_installed_options",{name:j,link:M.key})}},{key:"onActivateClick",value:function(){var M=this.props,j=M.activatePlugin,t=M.name;Object(R.b)("marketing_installed_activate",{name:t}),j()}},{key:"onFinishSetupClick",value:function(){var M=this.props.name;Object(R.b)("marketing_installed_finish_setup",{name:M})}},{key:"getActivateButton",value:function(){var M=this.props.isLoading;return Object(e.createElement)(U,{isDefault:!0,onClick:this.onActivateClick,disabled:M},Object(a.__)("Activate","woocommerce-admin"))}},{key:"getFinishSetupButton",value:function(){return Object(e.createElement)(U,{isDefault:!0,href:this.props.settingsUrl,onClick:this.onFinishSetupClick},Object(a.__)("Finish setup","woocommerce-admin"))}},{key:"render",value:function(){var M=this.props,j=M.name,t=M.description,L=M.status,u=M.icon,N=null;switch(L){case"installed":N=this.getActivateButton();break;case"activated":N=this.getFinishSetupButton();break;case"configured":N=this.getLinks()}return Object(e.createElement)("div",{className:"woocommerce-marketing-installed-extensions-card__item"},Object(e.createElement)(h,{src:u}),Object(e.createElement)("div",{className:"woocommerce-marketing-installed-extensions-card__item-text-and-actions"},Object(e.createElement)("div",{className:"woocommerce-marketing-installed-extensions-card__item-text"},Object(e.createElement)("h4",null,j),"configured"===L||Object(e.createElement)("p",{className:"woocommerce-marketing-installed-extensions-card__item-description"},t)),Object(e.createElement)("div",{className:"woocommerce-marketing-installed-extensions-card__item-actions"},N)))}}]),L}(e.Component);Z.defaultProps={isLoading:!1},Z.propTypes={name:w.a.string.isRequired,slug:w.a.string.isRequired,description:w.a.string.isRequired,status:w.a.string.isRequired,settingsUrl:w.a.string,docsUrl:w.a.string,supportUrl:w.a.string,dashboardUrl:w.a.string,activatePlugin:w.a.func.isRequired};var B=Z;function W(){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(M){return!1}}var F=function(M){O()(L,M);var j,t=(j=L,function(){var M,t=r()(j);if(W()){var L=r()(this).constructor;M=Reflect.construct(t,arguments,L)}else M=t.apply(this,arguments);return A()(this,M)});function L(){return I()(this,L),t.apply(this,arguments)}return y()(L,[{key:"activatePlugin",value:function(M){(0,this.props.activateInstalledPlugin)(M)}},{key:"isActivatingPlugin",value:function(M){return this.props.activatingPlugins.includes(M)}},{key:"render",value:function(){var M=this,j=this.props.plugins;return 0===j.length?null:Object(e.createElement)(s.Card,{title:Object(a.__)("Installed marketing extensions","woocommerce-admin"),className:"woocommerce-marketing-installed-extensions-card"},j.map((function(j){return Object(e.createElement)(B,g()({key:j.slug},j,{activatePlugin:function(){return M.activatePlugin(j.slug)},isLoading:M.isActivatingPlugin(j.slug)}))})))}}]),L}(e.Component);F.propTypes={plugins:w.a.arrayOf(w.a.object).isRequired,activatingPlugins:w.a.arrayOf(w.a.string).isRequired};var J=Object(o.a)(Object(E.withSelect)((function(M){var j=M("wc/marketing"),t=j.getInstalledPlugins,L=j.getActivatingPlugins;return{plugins:t(),activatingPlugins:L()}})),Object(E.withDispatch)((function(M){return{activateInstalledPlugin:M("wc/marketing").activateInstalledPlugin}})))(F),H=t(710),X=(t(774),t(30)),V=t(22);function K(){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(M){return!1}}var q=function(M){O()(L,M);var j,t=(j=L,function(){var M,t=r()(j);if(K()){var L=r()(this).constructor;M=Reflect.construct(t,arguments,L)}else M=t.apply(this,arguments);return A()(this,M)});function L(){var M,j;I()(this,L);for(var u=arguments.length,N=new Array(u),e=0;ethis.state.page?(j="left",Object(R.b)("marketing_knowledge_carousel",{direction:"forward",page:M})):(j="right",Object(R.b)("marketing_knowledge_carousel",{direction:"back",page:M})),this.setState({page:M,animate:j})}},{key:"onPostClick",value:function(M){Object(R.b)("marketing_knowledge_article",{title:M.title})}},{key:"getCurrentSlide",value:function(){var M=this,j=this.props.posts,t=this.state.page,L=j.slice(2*(t-1),2*(t-1)+2),u=Q()("woocommerce-marketing-knowledgebase-card__page",{"page-with-single-post":1===L.length});return Object(e.createElement)("div",{className:u},L.map((function(j,t){return Object(e.createElement)("a",{className:"woocommerce-marketing-knowledgebase-card__post",href:j.link,key:t,onClick:M.onPostClick(M,j),target:"_blank",rel:"noopener noreferrer"},j.image&&Object(e.createElement)("div",{className:"woocommerce-marketing-knowledgebase-card__post-img"},Object(e.createElement)("img",{src:j.image,alt:""})),Object(e.createElement)("div",{className:"woocommerce-marketing-knowledgebase-card__post-text"},Object(e.createElement)("h3",null,j.title),Object(e.createElement)("p",{className:"woocommerce-marketing-knowledgebase-card__post-meta"},"By ",j.author_name,j.author_avatar&&Object(e.createElement)("img",{src:j.author_avatar.replace("s=96","s=32"),className:"woocommerce-gravatar",alt:"",width:"16",height:"16"}))))})))}},{key:"render",value:function(){var M,j=this,t=this.props,L=t.posts,u=t.isLoading,N=this.state,i=N.page,D=N.animate;return Object(e.createElement)(s.Card,{title:Object(a.__)("WooCommerce knowledge base","woocommerce-admin"),description:Object(a.__)("Learn the ins and outs of successful marketing from the experts at WooCommerce.","woocommerce-admin"),className:"woocommerce-marketing-knowledgebase-card"},u?Object(e.createElement)(H.a,null):0===L.length?(M=Object(a.__)("There was an error loading knowledge base posts. Please check again later.","woocommerce-admin"),Object(e.createElement)(s.EmptyContent,{title:M,illustrationWidth:250,actionLabel:""})):Object(e.createElement)("div",{className:"woocommerce-marketing-knowledgebase-card__posts"},Object(e.createElement)(G,{animationKey:i,animate:D},j.getCurrentSlide()),Object(e.createElement)(s.Pagination,{page:i,perPage:2,total:L.length,onPageChange:j.onPaginationPageChange,showPagePicker:!1,showPerPagePicker:!1,showPageArrowsLabel:!1})))}}]),L}(e.Component),NM=Object(o.a)(Object(E.withSelect)((function(M){var j=M("wc/marketing"),t=j.getBlogPosts,L=j.isResolving;return{posts:t(),isLoading:L("getBlogPosts")}})),Object(E.withDispatch)((function(M){return{createNotice:M("core/notices").createNotice}})))(uM),eM=t(66),iM=t.n(eM),DM=(t(882),t(101)),gM=t(883),cM=t.n(gM);function IM(){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(M){return!1}}var nM=function(M){O()(L,M);var j,t=(j=L,function(){var M,t=r()(j);if(IM()){var L=r()(this).constructor;M=Reflect.construct(t,arguments,L)}else M=t.apply(this,arguments);return A()(this,M)});function L(M){var j;return I()(this,L),(j=t.call(this,M)).hide=j.hide.bind(l()(j)),j}return y()(L,[{key:"hide",value:function(){this.props.updateOptions({woocommerce_marketing_overview_welcome_hidden:"yes"}),Object(R.b)("marketing_intro_close",{})}},{key:"render",value:function(){return this.props.isHidden?null:Object(e.createElement)(s.Card,{className:"woocommerce-marketing-overview-welcome-card"},Object(e.createElement)(k.a,{label:Object(a.__)("Hide","woocommerce-admin"),onClick:this.hide,className:"woocommerce-marketing-overview-welcome-card__hide-button"},Object(e.createElement)(iM.a,{icon:"cross"})),Object(e.createElement)("img",{src:cM.a,alt:""}),Object(e.createElement)("h3",null,Object(a.__)("Grow your customer base and increase your sales with marketing tools built for WooCommerce","woocommerce-admin")))}}]),L}(e.Component),yM=Object(o.a)(Object(DM.a)((function(M){var j=M("wc-api"),t=j.getOptions,L=j.isUpdateOptionsRequesting,u="woocommerce_marketing_overview_welcome_hidden",N=t([u]),e="yes"===Object(b.get)(N,[u],"no"),i=Boolean(L([u]));return{isHidden:e||i}})),Object(E.withDispatch)((function(M){return{updateOptions:M("wc-api").updateOptions}})))(nM),zM=t(32),AM=t.n(zM),TM=t(15),rM=t.n(TM),SM=t(57),OM=regeneratorRuntime.mark(lM),aM=regeneratorRuntime.mark(kM);function oM(M){return{type:"SET_INSTALLED_PLUGINS",plugins:M}}function EM(M){return{type:"SET_ACTIVATING_PLUGIN",pluginSlug:M}}function xM(M){return{type:"REMOVE_ACTIVATING_PLUGIN",pluginSlug:M}}function wM(M){return{type:"SET_RECOMMENDED_PLUGINS",plugins:M}}function sM(M){return{type:"SET_BLOG_POSTS",posts:M}}function CM(M,j){(0,Object(E.dispatch)("core/notices").createNotice)("error",j),console.log(M)}function lM(M){var j,t;return regeneratorRuntime.wrap((function(L){for(;;)switch(L.prev=L.next){case 0:return j=Object(E.dispatch)("core/notices"),t=j.createNotice,L.next=3,EM(M);case 3:return L.prev=3,L.next=6,Object(SM.apiFetch)({path:"/wc-admin/marketing/overview/activate-plugin",method:"POST",data:{plugin:M}});case 6:if(!L.sent){L.next=14;break}return L.next=10,t("success",Object(a.__)("The extension has been successfully activated.","woocommerce-admin"));case 10:return L.next=12,kM(M);case 12:L.next=15;break;case 14:throw new Error;case 15:L.next=23;break;case 17:return L.prev=17,L.t0=L.catch(3),L.next=21,CM(L.t0,Object(a.__)("There was an error trying to activate the extension.","woocommerce-admin"));case 21:return L.next=23,xM(M);case 23:return L.abrupt("return",!0);case 24:case"end":return L.stop()}}),OM,null,[[3,17]])}function kM(M){var j;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,Object(SM.apiFetch)({path:"".concat("/wc-admin/marketing","/overview/installed-plugins")});case 3:if(!(j=t.sent)){t.next=11;break}return t.next=7,oM(j);case 7:return t.next=9,xM(M);case 9:t.next=12;break;case 11:throw new Error;case 12:t.next=18;break;case 14:return t.prev=14,t.t0=t.catch(0),t.next=18,CM(t.t0,Object(a.__)("There was an error loading installed extensions.","woocommerce-admin"));case 18:case"end":return t.stop()}}),aM,null,[[0,14]])}function YM(M){return M.installedPlugins}function QM(M){return M.activatingPlugins}function UM(M){return M.recommendedPlugins}function mM(M){return M.blogPosts}var dM=regeneratorRuntime.mark(pM),hM=regeneratorRuntime.mark(fM);function pM(){var M;return regeneratorRuntime.wrap((function(j){for(;;)switch(j.prev=j.next){case 0:return j.prev=0,j.next=3,Object(SM.apiFetch)({path:"".concat("/wc-admin/marketing","/overview/recommended?per_page=6")});case 3:if(!(M=j.sent)){j.next=9;break}return j.next=7,wM(M);case 7:j.next=10;break;case 9:throw new Error;case 10:j.next=16;break;case 12:return j.prev=12,j.t0=j.catch(0),j.next=16,CM(j.t0,Object(a.__)("There was an error loading recommended extensions.","woocommerce-admin"));case 16:case"end":return j.stop()}}),dM,null,[[0,12]])}function fM(){var M;return regeneratorRuntime.wrap((function(j){for(;;)switch(j.prev=j.next){case 0:return j.prev=0,j.next=3,Object(SM.apiFetch)({path:"".concat("/wc-admin/marketing","/overview/knowledge-base"),method:"GET"});case 3:if(!(M=j.sent)){j.next=9;break}return j.next=7,sM(M);case 7:j.next=10;break;case 9:throw new Error;case 10:j.next=16;break;case 12:return j.prev=12,j.t0=j.catch(0),j.next=16,CM(j.t0,Object(a.__)("There was an error loading knowledge base posts.","woocommerce-admin"));case 16:case"end":return j.stop()}}),hM,null,[[0,12]])}function bM(M,j){var t=Object.keys(M);if(Object.getOwnPropertySymbols){var L=Object.getOwnPropertySymbols(M);j&&(L=L.filter((function(j){return Object.getOwnPropertyDescriptor(M,j).enumerable}))),t.push.apply(t,L)}return t}function vM(M){for(var j=1;j0&&void 0!==arguments[0]?arguments[0]:PM,j=arguments.length>1?arguments[1]:void 0;switch(j.type){case"SET_INSTALLED_PLUGINS":return vM({},M,{installedPlugins:j.plugins});case"SET_ACTIVATING_PLUGIN":return vM({},M,{activatingPlugins:[].concat(AM()(M.activatingPlugins),[j.pluginSlug])});case"REMOVE_ACTIVATING_PLUGIN":return vM({},M,{activatingPlugins:Object(b.without)(M.activatingPlugins,j.pluginSlug)});case"SET_RECOMMENDED_PLUGINS":return vM({},M,{recommendedPlugins:j.plugins});case"SET_BLOG_POSTS":return vM({},M,{blogPosts:j.posts})}return M}});j.default=function(){var M=Object(i.g)("allowMarketplaceSuggestions",!1);return Object(e.createElement)("div",{className:"woocommerce-marketing-overview"},Object(e.createElement)(yM,null),Object(e.createElement)(J,null),M&&Object(e.createElement)(tM,null),Object(e.createElement)(NM,null))}}}]);
\ No newline at end of file
diff --git a/dist/chunks/profile-wizard.5f293dc41bd478f9a580.js b/dist/chunks/profile-wizard.5f293dc41bd478f9a580.js
new file mode 100644
index 00000000000..34c0471ac0c
--- /dev/null
+++ b/dist/chunks/profile-wizard.5f293dc41bd478f9a580.js
@@ -0,0 +1,5217 @@
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[40],{
+
+/***/ 119:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectSpread.js
+var objectSpread = __webpack_require__(27);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
+var objectWithoutProperties = __webpack_require__(16);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/visually-hidden/utils.js
+
+
+
+/**
+ * Utility Functions
+ */
+
+/**
+ * renderAsRenderProps is used to wrap a component and convert
+ * the passed property "as" either a string or component, to the
+ * rendered tag if a string, or component.
+ *
+ * See VisuallyHidden hidden for example.
+ *
+ * @param {string|WPComponent} as A tag or component to render.
+ * @return {WPComponent} The rendered component.
+ */
+function renderAsRenderProps(_ref) {
+ var _ref$as = _ref.as,
+ Component = _ref$as === void 0 ? 'div' : _ref$as,
+ props = Object(objectWithoutProperties["a" /* default */])(_ref, ["as"]);
+
+ if (typeof props.children === 'function') {
+ return props.children(props);
+ }
+
+ return Object(external_this_wp_element_["createElement"])(Component, props);
+}
+
+
+//# sourceMappingURL=utils.js.map
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/visually-hidden/index.js
+
+
+
+/**
+ * Internal dependencies
+ */
+
+/**
+ * VisuallyHidden component to render text out non-visually
+ * for use in devices such as a screen reader.
+ */
+
+function VisuallyHidden(_ref) {
+ var _ref$as = _ref.as,
+ as = _ref$as === void 0 ? 'div' : _ref$as,
+ props = Object(objectWithoutProperties["a" /* default */])(_ref, ["as"]);
+
+ return renderAsRenderProps(Object(objectSpread["a" /* default */])({
+ as: as,
+ className: 'components-visually-hidden'
+ }, props));
+}
+
+/* harmony default export */ var visually_hidden = __webpack_exports__["a"] = (VisuallyHidden);
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 171:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10);
+/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _visually_hidden__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(119);
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+function BaseControl(_ref) {
+ var id = _ref.id,
+ label = _ref.label,
+ hideLabelFromVision = _ref.hideLabelFromVision,
+ help = _ref.help,
+ className = _ref.className,
+ children = _ref.children;
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
+ className: classnames__WEBPACK_IMPORTED_MODULE_1___default()('components-base-control', className)
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
+ className: "components-base-control__field"
+ }, label && id && (hideLabelFromVision ? Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_visually_hidden__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"], {
+ as: "label",
+ htmlFor: id
+ }, label) : Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("label", {
+ className: "components-base-control__label",
+ htmlFor: id
+ }, label)), label && !id && (hideLabelFromVision ? Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_visually_hidden__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"], {
+ as: "label"
+ }, label) : Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(BaseControl.VisualLabel, null, label)), children), !!help && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("p", {
+ id: id + '__help',
+ className: "components-base-control__help"
+ }, help));
+}
+
+BaseControl.VisualLabel = function (_ref2) {
+ var className = _ref2.className,
+ children = _ref2.children;
+ className = classnames__WEBPACK_IMPORTED_MODULE_1___default()('components-base-control__label', className);
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("span", {
+ className: className
+ }, children);
+};
+
+/* harmony default export */ __webpack_exports__["a"] = (BaseControl);
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 173:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
+var esm_extends = __webpack_require__(11);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/compose/build-module/utils/create-higher-order-component/index.js
+var create_higher_order_component = __webpack_require__(53);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/compose/build-module/hooks/use-instance-id/index.js
+/**
+ * WordPress dependencies
+ */
+
+var instanceMap = new WeakMap();
+/**
+ * Creates a new id for a given object.
+ *
+ * @param {Object} object Object reference to create an id for.
+ */
+
+function createId(object) {
+ var instances = instanceMap.get(object) || 0;
+ instanceMap.set(object, instances + 1);
+ return instances;
+}
+/**
+ * Provides a unique instance ID.
+ *
+ * @param {Object} object Object reference to create an id for.
+ */
+
+
+function useInstanceId(object) {
+ return Object(external_this_wp_element_["useMemo"])(function () {
+ return createId(object);
+ }, [object]);
+}
+//# sourceMappingURL=index.js.map
+// CONCATENATED MODULE: ./node_modules/@wordpress/compose/build-module/higher-order/with-instance-id/index.js
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+/**
+ * A Higher Order Component used to be provide a unique instance ID by
+ * component.
+ *
+ * @param {WPComponent} WrappedComponent The wrapped component.
+ *
+ * @return {WPComponent} Component with an instanceId prop.
+ */
+
+/* harmony default export */ var with_instance_id = __webpack_exports__["a"] = (Object(create_higher_order_component["a" /* default */])(function (WrappedComponent) {
+ return function (props) {
+ var instanceId = useInstanceId(WrappedComponent);
+ return Object(external_this_wp_element_["createElement"])(WrappedComponent, Object(esm_extends["a" /* default */])({}, props, {
+ instanceId: instanceId
+ }));
+ };
+}, 'withInstanceId'));
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 717:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(13);
+/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7);
+/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6);
+/* harmony import */ var _babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8);
+/* harmony import */ var _babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4);
+/* harmony import */ var _babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5);
+/* harmony import */ var _babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(9);
+/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(11);
+/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(16);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_9__);
+/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(10);
+/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_10__);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_11__);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(173);
+/* harmony import */ var _navigable_container__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(424);
+/* harmony import */ var _button__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(88);
+
+
+
+
+
+
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var TabButton = function TabButton(_ref) {
+ var tabId = _ref.tabId,
+ onClick = _ref.onClick,
+ children = _ref.children,
+ selected = _ref.selected,
+ rest = Object(_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_8__[/* default */ "a"])(_ref, ["tabId", "onClick", "children", "selected"]);
+
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_9__["createElement"])(_button__WEBPACK_IMPORTED_MODULE_14__[/* default */ "a"], Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_7__[/* default */ "a"])({
+ role: "tab",
+ tabIndex: selected ? null : -1,
+ "aria-selected": selected,
+ id: tabId,
+ onClick: onClick
+ }, rest), children);
+};
+
+var TabPanel =
+/*#__PURE__*/
+function (_Component) {
+ Object(_babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"])(TabPanel, _Component);
+
+ function TabPanel() {
+ var _this;
+
+ Object(_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(this, TabPanel);
+
+ _this = Object(_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])(this, Object(_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"])(TabPanel).apply(this, arguments));
+ var _this$props = _this.props,
+ tabs = _this$props.tabs,
+ initialTabName = _this$props.initialTabName;
+ _this.handleClick = _this.handleClick.bind(Object(_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])(_this));
+ _this.onNavigate = _this.onNavigate.bind(Object(_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])(_this));
+ _this.state = {
+ selected: initialTabName || (tabs.length > 0 ? tabs[0].name : null)
+ };
+ return _this;
+ }
+
+ Object(_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(TabPanel, [{
+ key: "handleClick",
+ value: function handleClick(tabKey) {
+ var _this$props$onSelect = this.props.onSelect,
+ onSelect = _this$props$onSelect === void 0 ? lodash__WEBPACK_IMPORTED_MODULE_11__["noop"] : _this$props$onSelect;
+ this.setState({
+ selected: tabKey
+ });
+ onSelect(tabKey);
+ }
+ }, {
+ key: "onNavigate",
+ value: function onNavigate(childIndex, child) {
+ child.click();
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this2 = this;
+
+ var selected = this.state.selected;
+ var _this$props2 = this.props,
+ _this$props2$activeCl = _this$props2.activeClass,
+ activeClass = _this$props2$activeCl === void 0 ? 'is-active' : _this$props2$activeCl,
+ className = _this$props2.className,
+ instanceId = _this$props2.instanceId,
+ _this$props2$orientat = _this$props2.orientation,
+ orientation = _this$props2$orientat === void 0 ? 'horizontal' : _this$props2$orientat,
+ tabs = _this$props2.tabs;
+ var selectedTab = Object(lodash__WEBPACK_IMPORTED_MODULE_11__["find"])(tabs, {
+ name: selected
+ });
+ var selectedId = instanceId + '-' + selectedTab.name;
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_9__["createElement"])("div", {
+ className: className
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_9__["createElement"])(_navigable_container__WEBPACK_IMPORTED_MODULE_13__[/* default */ "a"], {
+ role: "tablist",
+ orientation: orientation,
+ onNavigate: this.onNavigate,
+ className: "components-tab-panel__tabs"
+ }, tabs.map(function (tab) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_9__["createElement"])(TabButton, {
+ className: classnames__WEBPACK_IMPORTED_MODULE_10___default()(tab.className, Object(_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({}, activeClass, tab.name === selected)),
+ tabId: instanceId + '-' + tab.name,
+ "aria-controls": instanceId + '-' + tab.name + '-view',
+ selected: tab.name === selected,
+ key: tab.name,
+ onClick: Object(lodash__WEBPACK_IMPORTED_MODULE_11__["partial"])(_this2.handleClick, tab.name)
+ }, tab.title);
+ })), selectedTab && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_9__["createElement"])("div", {
+ "aria-labelledby": selectedId,
+ role: "tabpanel",
+ id: selectedId + '-view',
+ className: "components-tab-panel__tab-content",
+ tabIndex: "0"
+ }, this.props.children(selectedTab)));
+ }
+ }]);
+
+ return TabPanel;
+}(_wordpress_element__WEBPACK_IMPORTED_MODULE_9__["Component"]);
+
+/* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_12__[/* default */ "a"])(TabPanel));
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 759:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return pluginNames; });
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__);
+/**
+ * External dependencies
+ */
+
+/**
+ * Plugin slugs and names as key/value pairs.
+ */
+
+var pluginNames = {
+ 'facebook-for-woocommerce': Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Facebook for WooCommerce', 'woocommerce-admin'),
+ jetpack: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Jetpack', 'woocommerce-admin'),
+ 'klarna-checkout-for-woocommerce': Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Klarna Checkout for WooCommerce', 'woocommerce-admin'),
+ 'klarna-payments-for-woocommerce': Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Klarna Payments for WooCommerce', 'woocommerce-admin'),
+ 'mailchimp-for-woocommerce': Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Mailchimp for WooCommerce', 'woocommerce-admin'),
+ 'woocommerce-gateway-paypal-express-checkout': Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('WooCommerce PayPal', 'woocommerce-admin'),
+ 'woocommerce-gateway-stripe': Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('WooCommerce Stripe', 'woocommerce-admin'),
+ 'woocommerce-payfast-gateway': Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('WooCommerce PayFast', 'woocommerce-admin'),
+ 'woocommerce-payments': Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('WooCommerce Payments', 'woocommerce-admin'),
+ 'woocommerce-services': Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('WooCommerce Services', 'woocommerce-admin'),
+ 'woocommerce-shipstation-integration': Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('WooCommerce ShipStation Gateway', 'woocommerce-admin'),
+ 'kliken-marketing-for-google': Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Google Ads', 'woocommerce-admin')
+};
+
+/***/ }),
+
+/***/ 760:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11);
+/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(173);
+/* harmony import */ var _base_control__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(171);
+/* harmony import */ var _dashicon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(80);
+
+
+
+
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+function CheckboxControl(_ref) {
+ var label = _ref.label,
+ className = _ref.className,
+ heading = _ref.heading,
+ checked = _ref.checked,
+ help = _ref.help,
+ instanceId = _ref.instanceId,
+ onChange = _ref.onChange,
+ props = Object(_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(_ref, ["label", "className", "heading", "checked", "help", "instanceId", "onChange"]);
+
+ var id = "inspector-checkbox-control-".concat(instanceId);
+
+ var onChangeValue = function onChangeValue(event) {
+ return onChange(event.target.checked);
+ };
+
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_base_control__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"], {
+ label: heading,
+ id: id,
+ help: help,
+ className: className
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])("span", {
+ className: "components-checkbox-control__input-container"
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])("input", Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({
+ id: id,
+ className: "components-checkbox-control__input",
+ type: "checkbox",
+ value: "1",
+ onChange: onChangeValue,
+ checked: checked,
+ "aria-describedby": !!help ? id + '__help' : undefined
+ }, props)), checked ? Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_dashicon__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"], {
+ icon: "yes",
+ className: "components-checkbox-control__checked",
+ role: "presentation"
+ }) : null), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])("label", {
+ className: "components-checkbox-control__label",
+ htmlFor: id
+ }, label));
+}
+
+/* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])(CheckboxControl));
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 768:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return validateStoreAddress; });
+/* unused harmony export getCountryStateOptions */
+/* unused harmony export useGetCountryStateAutofill */
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return StoreAddress; });
+/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(105);
+/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(749);
+/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(32);
+/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(3);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__);
+/* harmony import */ var _wordpress_html_entities__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(69);
+/* harmony import */ var _wordpress_html_entities__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_5__);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_6__);
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(14);
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_7__);
+/* harmony import */ var _woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(26);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_9__);
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var _getSetting = Object(_woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_8__[/* getSetting */ "g"])('dataEndpoints', {
+ countries: {}
+}),
+ countries = _getSetting.countries;
+/**
+ * Form validation.
+ *
+ * @param {Object} values Keyed values of all fields in the form.
+ * @return {Object} Key value of fields and error messages, { myField: 'This field is required' }
+ */
+
+
+function validateStoreAddress(values) {
+ var errors = {};
+
+ if (!values.addressLine1.length) {
+ errors.addressLine1 = Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__["__"])('Please add an address', 'woocommerce-admin');
+ }
+
+ if (!values.countryState.length) {
+ errors.countryState = Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__["__"])('Please select a country / region', 'woocommerce-admin');
+ }
+
+ if (!values.city.length) {
+ errors.city = Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__["__"])('Please add a city', 'woocommerce-admin');
+ }
+
+ if (!values.postCode.length) {
+ errors.postCode = Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__["__"])('Please add a post code', 'woocommerce-admin');
+ }
+
+ return errors;
+}
+/**
+ * Get all country and state combinations used for select dropdowns.
+ *
+ * @return {Object} Select options, { value: 'US:GA', label: 'United States - Georgia' }
+ */
+
+function getCountryStateOptions() {
+ var countryStateOptions = countries.reduce(function (acc, country) {
+ if (!country.states.length) {
+ acc.push({
+ key: country.code,
+ label: Object(_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_5__["decodeEntities"])(country.name)
+ });
+ return acc;
+ }
+
+ var countryStates = country.states.map(function (state) {
+ return {
+ key: country.code + ':' + state.code,
+ label: Object(_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_5__["decodeEntities"])(country.name) + ' -- ' + Object(_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_5__["decodeEntities"])(state.name)
+ };
+ });
+ acc.push.apply(acc, _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_2___default()(countryStates));
+ return acc;
+ }, []);
+ return countryStateOptions;
+}
+/**
+ * Get the autofill countryState fields and set value from filtered options.
+ *
+ * @param {Array} options Array of filterable options.
+ * @param {string} countryState The value of the countryState field.
+ * @param {Function} setValue Set value of the countryState input.
+ * @return {Object} React component.
+ */
+
+function useGetCountryStateAutofill(options, countryState, setValue) {
+ var _useState = Object(react__WEBPACK_IMPORTED_MODULE_7__["useState"])(''),
+ _useState2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1___default()(_useState, 2),
+ autofillCountry = _useState2[0],
+ setAutofillCountry = _useState2[1];
+
+ var _useState3 = Object(react__WEBPACK_IMPORTED_MODULE_7__["useState"])(''),
+ _useState4 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1___default()(_useState3, 2),
+ autofillState = _useState4[0],
+ setAutofillState = _useState4[1];
+
+ Object(react__WEBPACK_IMPORTED_MODULE_7__["useEffect"])(function () {
+ var filteredOptions = [];
+ var countrySearch = new RegExp(Object(lodash__WEBPACK_IMPORTED_MODULE_6__["escapeRegExp"])(autofillCountry), 'i');
+
+ if (autofillState.length || autofillCountry.length) {
+ filteredOptions = options.filter(function (option) {
+ return countrySearch.test(option.label);
+ });
+ }
+
+ if (autofillCountry.length && autofillState.length) {
+ var stateSearch = new RegExp(Object(lodash__WEBPACK_IMPORTED_MODULE_6__["escapeRegExp"])(autofillState.replace(/\s/g, '')), 'i');
+ filteredOptions = filteredOptions.filter(function (option) {
+ return stateSearch.test(option.label.replace('-', '').replace(/\s/g, ''));
+ });
+
+ if (filteredOptions.length > 1) {
+ var countryKeyOptions = [];
+ countryKeyOptions = filteredOptions.filter(function (option) {
+ return countrySearch.test(option.key);
+ });
+
+ if (countryKeyOptions.length > 0) {
+ filteredOptions = countryKeyOptions;
+ }
+ }
+
+ if (filteredOptions.length > 1) {
+ var stateKeyOptions = [];
+ stateKeyOptions = filteredOptions.filter(function (option) {
+ return stateSearch.test(option.key);
+ });
+
+ if (stateKeyOptions.length === 1) {
+ filteredOptions = stateKeyOptions;
+ }
+ }
+ }
+
+ if (filteredOptions.length === 1 && countryState !== filteredOptions[0].key) {
+ setValue('countryState', filteredOptions[0].key);
+ }
+ }, [autofillCountry, autofillState]);
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["Fragment"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])("input", {
+ onChange: function onChange(event) {
+ return setAutofillCountry(event.target.value);
+ },
+ value: autofillCountry,
+ name: "country",
+ type: "text",
+ className: "woocommerce-select-control__autofill-input",
+ tabIndex: "-1",
+ autoComplete: "country"
+ }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])("input", {
+ onChange: function onChange(event) {
+ return setAutofillState(event.target.value);
+ },
+ value: autofillState,
+ name: "state",
+ type: "text",
+ className: "woocommerce-select-control__autofill-input",
+ tabIndex: "-1",
+ autoComplete: "address-level1"
+ }));
+}
+/**
+ * Store address fields.
+ *
+ * @param {Object} props Props for input components.
+ * @return {Object} -
+ */
+
+function StoreAddress(props) {
+ var getInputProps = props.getInputProps,
+ setValue = props.setValue;
+ var countryStateOptions = Object(react__WEBPACK_IMPORTED_MODULE_7__["useMemo"])(function () {
+ return getCountryStateOptions();
+ }, []);
+ var countryStateAutofill = useGetCountryStateAutofill(countryStateOptions, getInputProps('countryState').value, setValue);
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])("div", {
+ className: "woocommerce-store-address-fields"
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_9__["TextControl"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__["__"])('Address line 1', 'woocommerce-admin'),
+ required: true,
+ autoComplete: "address-line1"
+ }, getInputProps('addressLine1'))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_9__["TextControl"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__["__"])('Address line 2 (optional)', 'woocommerce-admin'),
+ required: true,
+ autoComplete: "address-line2"
+ }, getInputProps('addressLine2'))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_9__["SelectControl"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__["__"])('Country / Region', 'woocommerce-admin'),
+ required: true,
+ options: countryStateOptions,
+ excludeSelectedOptions: false,
+ showAllOnFocus: true,
+ isSearchable: true
+ }, getInputProps('countryState'), {
+ controlClassName: getInputProps('countryState').className
+ }), countryStateAutofill), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_9__["TextControl"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__["__"])('City', 'woocommerce-admin'),
+ required: true
+ }, getInputProps('city'), {
+ autoComplete: "address-level2"
+ })), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_9__["TextControl"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__["__"])('Post code', 'woocommerce-admin'),
+ required: true,
+ autoComplete: "postal-code"
+ }, getInputProps('postCode'))));
+}
+
+/***/ }),
+
+/***/ 889:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ }),
+
+/***/ 890:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ }),
+
+/***/ 897:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+// ESM COMPAT FLAG
+__webpack_require__.r(__webpack_exports__);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js
+var defineProperty = __webpack_require__(15);
+var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js
+var asyncToGenerator = __webpack_require__(46);
+var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js
+var classCallCheck = __webpack_require__(41);
+var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js
+var createClass = __webpack_require__(40);
+var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/assertThisInitialized.js
+var assertThisInitialized = __webpack_require__(59);
+var assertThisInitialized_default = /*#__PURE__*/__webpack_require__.n(assertThisInitialized);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(44);
+var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(29);
+var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js
+var inherits = __webpack_require__(42);
+var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
+
+// EXTERNAL MODULE: external {"this":["wp","i18n"]}
+var external_this_wp_i18n_ = __webpack_require__(3);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/compose/build-module/higher-order/compose.js
+var compose = __webpack_require__(256);
+
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__(2);
+
+// EXTERNAL MODULE: external {"this":["wp","data"]}
+var external_this_wp_data_ = __webpack_require__(19);
+
+// EXTERNAL MODULE: external {"this":["wc","navigation"]}
+var external_this_wc_navigation_ = __webpack_require__(22);
+
+// EXTERNAL MODULE: external {"this":["wc","data"]}
+var external_this_wc_data_ = __webpack_require__(51);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/button/index.js
+var build_module_button = __webpack_require__(88);
+
+// EXTERNAL MODULE: external {"this":["wc","components"]}
+var external_this_wc_components_ = __webpack_require__(63);
+
+// CONCATENATED MODULE: ./client/profile-wizard/steps/benefits/logo.js
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+var logo_Logo = /*#__PURE__*/function (_Component) {
+ inherits_default()(Logo, _Component);
+
+ var _super = _createSuper(Logo);
+
+ function Logo() {
+ classCallCheck_default()(this, Logo);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(Logo, [{
+ key: "render",
+ value: function render() {
+ return Object(external_this_wp_element_["createElement"])("svg", {
+ width: "161",
+ height: "46",
+ viewBox: "0 0 161 46",
+ fill: "none",
+ xmlns: "http://www.w3.org/2000/svg",
+ "aria-label": Object(external_this_wp_i18n_["__"])('WooCommerce + Jetpack', 'woocommerce-admin'),
+ className: "woocommerce-profile-wizard__benefits-logo"
+ }, Object(external_this_wp_element_["createElement"])("path", {
+ d: "M139.071 45.4503C150.906 45.4503 160.5 35.7679 160.5 23.824C160.5 11.8802 150.906 2.19775 139.071 2.19775C127.236 2.19775 117.642 11.8802 117.642 23.824C117.642 35.7679 127.236 45.4503 139.071 45.4503Z",
+ fill: "#008710"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M140.134 20.1919V41.1578L150.849 20.1919H140.134Z",
+ fill: "#F6F7F7"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M137.967 27.4144V6.48975L127.293 27.4144H137.967Z",
+ fill: "#F6F7F7"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M95.7021 24.668H100.542V21.6445H95.7021V16.8633H92.7138V21.6445H87.8857V24.668H92.7138V29.4609H95.7021V24.668Z",
+ fill: "#2C3338"
+ }), Object(external_this_wp_element_["createElement"])("g", {
+ clipPath: "url(#clip0)"
+ }, Object(external_this_wp_element_["createElement"])("path", {
+ fillRule: "evenodd",
+ clipRule: "evenodd",
+ d: "M7.52123 2.25732H66.5046C70.2374 2.25732 73.2591 5.27907 73.2591 9.01182V31.5268C73.2591 35.2596 70.2374 38.2813 66.5046 38.2813H45.3524L48.2556 45.3913L35.4872 38.2813H7.55086C3.81811 38.2813 0.796359 35.2596 0.796359 31.5268V9.01182C0.766734 5.3087 3.78848 2.25732 7.52123 2.25732Z",
+ fill: "#7F54B3"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M4.41042 8.38982C4.82517 7.82695 5.4473 7.5307 6.2768 7.47145C7.78767 7.35295 8.6468 8.06395 8.85417 9.60445C9.77255 15.7961 10.7798 21.0397 11.8463 25.3353L18.3342 12.9817C18.9267 11.8559 19.6673 11.2634 20.5561 11.2042C21.8596 11.1153 22.6594 11.9448 22.9853 13.6927C23.7259 17.6328 24.6739 20.9805 25.7997 23.8245C26.5699 16.2997 27.8734 10.8783 29.7102 7.5307C30.1546 6.7012 30.8063 6.28645 31.6654 6.2272C32.3468 6.16795 32.9689 6.37533 33.5318 6.8197C34.0947 7.26408 34.3909 7.82695 34.4502 8.50832C34.4798 9.04157 34.3909 9.48595 34.1539 9.93033C32.9986 12.0633 32.0506 15.648 31.2803 20.625C30.5397 25.4538 30.2731 29.2162 30.4508 31.9121C30.5101 32.6527 30.3916 33.3045 30.0953 33.8673C29.7398 34.5191 29.2066 34.8746 28.5252 34.9338C27.7549 34.9931 26.955 34.6376 26.1848 33.8377C23.4297 31.0233 21.2374 26.8166 19.6377 21.2175C17.7121 25.0095 16.29 27.8535 15.3717 29.7495C13.6238 33.0971 12.1426 34.8153 10.8983 34.9042C10.0984 34.9635 9.41705 34.2821 8.82455 32.8601C7.31368 28.9792 5.6843 21.4841 3.93643 10.3747C3.84755 9.60445 3.99567 8.92307 4.41042 8.38982Z",
+ fill: "#F6F7F7"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M68.1043 13.041C67.0378 11.1746 65.4677 10.0489 63.3643 9.60451C62.8015 9.48601 62.2682 9.42676 61.7646 9.42676C58.9206 9.42676 56.6098 10.908 54.8027 13.8705C53.2622 16.3886 52.4919 19.1734 52.4919 22.2248C52.4919 24.5059 52.9659 26.4611 53.9139 28.0905C54.9804 29.9569 56.5506 31.0826 58.6539 31.527C59.2168 31.6455 59.7501 31.7048 60.2537 31.7048C63.1273 31.7048 65.4381 30.2235 67.2156 27.261C68.7561 24.7133 69.5263 21.9285 69.5263 18.8771C69.5263 16.5664 69.0523 14.6408 68.1043 13.041ZM64.3716 21.2471C63.9568 23.2024 63.2162 24.654 62.1201 25.6316C61.2609 26.4019 60.4611 26.7278 59.7204 26.5796C59.0094 26.4315 58.4169 25.8094 57.9726 24.654C57.6171 23.7356 57.4393 22.8173 57.4393 21.9581C57.4393 21.2175 57.4986 20.4769 57.6467 19.7955C57.9133 18.5809 58.417 17.3959 59.2168 16.2701C60.1945 14.8185 61.2313 14.226 62.2978 14.4334C63.0088 14.5815 63.6013 15.2036 64.0457 16.359C64.4012 17.2774 64.5789 18.1958 64.5789 19.0549C64.5789 19.8251 64.4901 20.5658 64.3716 21.2471Z",
+ fill: "#F6F7F7"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M49.5294 13.041C48.4629 11.1746 46.8631 10.0489 44.7894 9.60451C44.2265 9.48601 43.6932 9.42676 43.1896 9.42676C40.3456 9.42676 38.0349 10.908 36.2277 13.8705C34.6872 16.3886 33.917 19.1734 33.917 22.2248C33.917 24.5059 34.391 26.4611 35.339 28.0905C36.4055 29.9569 37.9756 31.0826 40.079 31.527C40.6419 31.6455 41.1751 31.7048 41.6787 31.7048C44.5524 31.7048 46.8631 30.2235 48.6406 27.261C50.1811 24.7133 50.9514 21.9285 50.9514 18.8771C50.9514 16.5664 50.4774 14.6408 49.5294 13.041ZM45.7966 21.2471C45.3819 23.2024 44.6412 24.654 43.5451 25.6316C42.686 26.4019 41.8861 26.7278 41.1455 26.5796C40.4345 26.4315 39.842 25.8094 39.3976 24.654C39.0421 23.7356 38.8644 22.8173 38.8644 21.9581C38.8644 21.2175 38.9236 20.4769 39.0717 19.7955C39.3384 18.5809 39.842 17.3959 40.6419 16.2701C41.6195 14.8185 42.6564 14.226 43.7229 14.4334C44.4339 14.5815 45.0264 15.2036 45.4707 16.359C45.8262 17.2774 46.004 18.1958 46.004 19.0549C46.004 19.8251 45.9447 20.5658 45.7966 21.2471Z",
+ fill: "#F6F7F7"
+ })), Object(external_this_wp_element_["createElement"])("defs", null, Object(external_this_wp_element_["createElement"])("clipPath", {
+ id: "clip0"
+ }, Object(external_this_wp_element_["createElement"])("rect", {
+ x: "0.5",
+ y: "2.19775",
+ width: "72.8775",
+ height: "43.2525",
+ fill: "white"
+ }))));
+ }
+ }]);
+
+ return Logo;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var logo = (logo_Logo);
+// CONCATENATED MODULE: ./client/profile-wizard/steps/benefits/images/management.js
+
+/* harmony default export */ var management = (function () {
+ return Object(external_this_wp_element_["createElement"])("svg", {
+ width: "295",
+ height: "160",
+ viewBox: "0 0 295 160",
+ fill: "none",
+ xmlns: "http://www.w3.org/2000/svg"
+ }, Object(external_this_wp_element_["createElement"])("g", {
+ clipPath: "url(#management-svg)"
+ }, Object(external_this_wp_element_["createElement"])("path", {
+ d: "M0 6C0 2.6863 2.68629 0 6 0H289C292.314 0 295 2.68629 295 6V160H0V6Z",
+ fill: "#F7EDF7"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.05",
+ d: "M268 125.429L188.122 25.6443C184.495 28.9602 180.026 31.2158 175.204 32.165C160.166 35.1256 145.48 24.8598 142.402 9.23575C140.226 -1.80872 144.438 -12.5683 152.403 -18.9762L125.167 -53L-30 79.5708L112.833 258L268 125.429Z",
+ fill: "#7F54B3"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.05",
+ d: "M169 27C181.703 27 192 16.9264 192 4.5C192 -7.9264 181.703 -18 169 -18C156.297 -18 146 -7.9264 146 4.5C146 16.9264 156.297 27 169 27Z",
+ fill: "#7F54B3"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M84.0826 16.6412H147.092C150.132 16.6411 153.082 17.6756 155.457 19.5743C157.832 21.4731 159.489 24.1232 160.158 27.0891L191.995 168.296C192.343 169.836 192.349 171.434 192.013 172.977C191.678 174.52 191.009 175.97 190.054 177.227C189.098 178.484 187.879 179.517 186.482 180.253C185.086 180.989 183.545 181.411 181.968 181.489L117.194 184.68C113.725 184.851 110.313 183.754 107.594 181.594C104.875 179.434 103.035 176.359 102.417 172.942L84.3566 73.107L83.013 73.4908L79.5574 54.5684L80.9405 54.2226L75.8993 26.3551C75.6834 25.1615 75.7334 23.9349 76.0459 22.7629C76.3584 21.5908 76.9257 20.5021 77.7072 19.5744C78.4887 18.6467 79.4653 17.9029 80.5673 17.3958C81.6693 16.8888 82.8696 16.6311 84.0826 16.6412Z",
+ fill: "white"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M138.797 19.6853H146.152C148.264 19.6853 150.313 20.4076 151.958 21.7324C153.603 23.0572 154.745 24.9047 155.195 26.9683L185.755 167.023C185.931 167.83 185.931 168.665 185.754 169.471C185.578 170.277 185.23 171.036 184.733 171.695C184.237 172.355 183.604 172.899 182.878 173.292C182.152 173.684 181.35 173.915 180.526 173.969L115.962 178.2C114.14 178.32 112.339 177.764 110.901 176.64C109.463 175.516 108.489 173.901 108.165 172.105L82.0889 27.3445C81.9201 26.4075 81.959 25.4449 82.2029 24.5247C82.4468 23.6044 82.8897 22.7489 83.5003 22.0185C84.111 21.288 84.8745 20.7005 85.737 20.2974C86.5995 19.8942 87.54 19.6853 88.4921 19.6853H95.4695C96.1448 19.6853 96.8013 19.9079 97.3373 20.3187C97.8734 20.7294 98.259 21.3054 98.4346 21.9575C98.5895 22.5331 98.93 23.0416 99.4032 23.4043C99.8764 23.7669 100.456 23.9634 101.052 23.9634H134.176C135.344 23.9634 136.468 23.5228 137.325 22.7296C138.181 21.9365 138.707 20.8492 138.797 19.6853L138.797 19.6853Z",
+ fill: "#F6F7F7"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M159.366 55.8843H92.5569V56.2134H159.366V55.8843Z",
+ fill: "#2F2E41"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M161.999 66.5796H94.532V66.9087H161.999V66.5796Z",
+ fill: "#2F2E41"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M96.7759 55.3634L98.294 53.3396L98.0308 53.1421L96.7189 54.8913L91.6633 50.7551L91.4551 51.0102L96.7759 55.3634Z",
+ fill: "#2F2E41"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M105.498 103.081L107.016 101.057L106.752 100.86L105.44 102.609L100.385 98.4729L100.177 98.7277L105.498 103.081Z",
+ fill: "#2F2E41"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M169.4 103.109L99.4648 104.59L99.4718 104.919L169.407 103.438L169.4 103.109Z",
+ fill: "#2F2E41"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M171.539 112.816L100.287 114.462L100.295 114.791L171.547 113.146L171.539 112.816Z",
+ fill: "#2F2E41"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M127.854 140.871C127.854 145.017 129.501 148.993 132.433 151.924C135.364 154.856 139.341 156.503 143.487 156.503C147.633 156.503 151.609 154.856 154.54 151.924C157.472 148.993 159.119 145.017 159.119 140.871C159.119 140.675 159.116 140.481 159.108 140.287C158.955 136.195 157.202 132.326 154.226 129.512C151.25 126.699 147.289 125.166 143.194 125.242C139.099 125.319 135.198 126.999 132.33 129.922C129.461 132.844 127.854 136.776 127.854 140.871H127.854Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M129.335 146.96C129.335 147.155 129.338 147.349 129.346 147.544C130.863 150.756 133.428 153.355 136.619 154.915C139.81 156.475 143.438 156.901 146.904 156.125C150.37 155.348 153.468 153.414 155.688 150.642C157.908 147.869 159.118 144.423 159.119 140.871C159.119 140.676 159.116 140.481 159.107 140.287C157.591 137.075 155.026 134.476 151.835 132.916C148.643 131.356 145.016 130.93 141.55 131.706C138.084 132.483 134.986 134.417 132.765 137.189C130.545 139.962 129.335 143.408 129.335 146.96H129.335Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M224.461 59.1491C229.783 59.1491 234.098 54.8348 234.098 49.513C234.098 44.1912 229.783 39.877 224.461 39.877C219.139 39.877 214.824 44.1912 214.824 49.513C214.824 54.8348 219.139 59.1491 224.461 59.1491Z",
+ fill: "#2F2E41"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M236.166 86.9957C236.166 86.9957 235.643 98.2553 235.119 99.0408C234.595 99.8264 229.881 111.086 229.881 111.086L227.525 103.754C227.525 103.754 231.191 97.7316 230.667 94.3275C230.143 90.9235 230.473 86.7346 230.473 86.7346L236.166 86.9957Z",
+ fill: "#9F616A"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M221.24 59.7637C225.29 59.7637 228.572 56.4811 228.572 52.4319C228.572 48.3827 225.29 45.1001 221.24 45.1001C217.191 45.1001 213.908 48.3827 213.908 52.4319C213.908 56.4811 217.191 59.7637 221.24 59.7637Z",
+ fill: "#9F616A"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M227.263 53.217C227.263 53.217 227.001 63.691 228.834 65.2621C230.667 66.8332 218.359 65.524 218.359 65.524C218.359 65.524 220.978 58.1922 218.883 56.6211C216.788 55.05 227.263 53.217 227.263 53.217Z",
+ fill: "#9F616A"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M217.574 65.0008C217.574 65.0008 219.145 62.1205 221.24 62.3823C223.335 62.6442 230.144 63.1679 230.406 63.6916C230.667 64.2153 231.453 66.0482 231.977 66.5719C232.501 67.0956 236.429 67.8812 236.69 71.0234C236.952 74.1656 227.263 93.2806 227.263 93.2806C227.263 93.2806 228.573 97.732 228.311 98.7794C228.049 99.8268 229.62 102.969 229.358 104.278C229.096 105.588 233.286 113.443 231.191 123.655V140.152C231.191 140.152 238.262 168.693 236.167 170.788C234.072 172.883 227.001 171.574 225.692 170.788C224.383 170.003 218.884 130.463 218.884 130.463L216.265 117.109L216.003 146.436C216.003 146.436 216.527 171.05 214.694 171.836C212.861 172.621 205.79 172.883 205.266 171.312C204.858 170.087 202.857 137.484 201.996 123.193C201.697 118.26 202.085 113.309 203.149 108.483C204.238 103.54 205.821 97.7324 207.623 95.3754C211.028 90.9239 213.122 76.7841 213.122 76.7841L208.671 68.6667C208.671 68.6667 211.289 66.0482 212.861 66.0482C214.432 66.0482 217.574 65.0008 217.574 65.0008Z",
+ fill: "#444053"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M235.119 69.1902L236.5 70.1301C236.5 70.1301 237.476 86.996 236.69 88.0434C235.904 89.0908 230.443 88.5796 230.031 87.6569C229.62 86.7341 235.119 69.1902 235.119 69.1902Z",
+ fill: "#444053"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M211.767 84.5249C212.533 89.8422 213.205 94.5756 209.286 98.8578C205.347 103.192 200.904 107.039 196.053 110.319C195.572 111.593 188.515 120.943 188.156 117.213C187.797 113.484 190.235 110.56 193.7 107.406C197.165 104.252 202.012 97.4081 204.747 93.6531C207.482 89.898 206.356 87.5565 206.261 84.42C206.166 81.2835 210.691 84.5628 211.767 84.5249Z",
+ fill: "#9F616A"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M212.337 67.8806L208.671 68.6662C208.671 68.6662 208.671 74.4269 207.623 76.7835C206.576 79.1402 204.743 84.639 205.528 84.9008C206.314 85.1627 213.646 88.8286 214.17 86.7338C214.694 84.639 216.003 67.8806 212.337 67.8806Z",
+ fill: "#444053"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M234.901 46.4615C240.223 46.4615 244.537 42.1473 244.537 36.8255C244.537 31.5037 240.223 27.1895 234.901 27.1895C229.579 27.1895 225.264 31.5037 225.264 36.8255C225.264 42.1473 229.579 46.4615 234.901 46.4615Z",
+ fill: "#2F2E41"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M243.213 44.8046C241.966 45.706 240.521 46.2957 238.999 46.5242C237.477 46.7527 235.922 46.6134 234.465 46.118C233.008 45.6226 231.691 44.7855 230.624 43.6767C229.557 42.5679 228.771 41.2197 228.331 39.7449C228.498 41.0666 228.936 42.3395 229.619 43.4832C230.302 44.6269 231.215 45.6166 232.3 46.3898C233.384 47.163 234.618 47.7029 235.922 47.9754C237.226 48.2479 238.572 48.2471 239.876 47.973C241.18 47.699 242.412 47.1576 243.496 46.3831C244.58 45.6087 245.492 44.6179 246.173 43.4734C246.855 42.3288 247.292 41.0554 247.456 39.7335C247.621 38.4116 247.51 37.07 247.13 35.7932C247.346 37.5085 247.096 39.2503 246.407 40.8358C245.718 42.4214 244.614 43.7922 243.213 44.8046Z",
+ fill: "#2F2E41"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M227.031 58.1854C230.934 58.1854 234.098 55.0216 234.098 51.1189C234.098 47.2162 230.934 44.0525 227.031 44.0525C223.128 44.0525 219.964 47.2162 219.964 51.1189C219.964 55.0216 223.128 58.1854 227.031 58.1854Z",
+ fill: "#2F2E41"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M221.088 53.3669C224.548 53.3669 227.352 51.1739 227.352 48.4686C227.352 45.7634 224.548 43.5703 221.088 43.5703C217.629 43.5703 214.824 45.7634 214.824 48.4686C214.824 51.1739 217.629 53.3669 221.088 53.3669Z",
+ fill: "#2F2E41"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M219.417 55.5916C220.074 55.5916 220.606 54.65 220.606 53.4884C220.606 52.3269 220.074 51.3853 219.417 51.3853C218.761 51.3853 218.229 52.3269 218.229 53.4884C218.229 54.65 218.761 55.5916 219.417 55.5916Z",
+ fill: "#A0616A"
+ })), Object(external_this_wp_element_["createElement"])("defs", null, Object(external_this_wp_element_["createElement"])("clipPath", {
+ id: "management-svg"
+ }, Object(external_this_wp_element_["createElement"])("path", {
+ d: "M0 6C0 2.6863 2.68629 0 6 0H289C292.314 0 295 2.68629 295 6V160H0V6Z",
+ fill: "white"
+ }))));
+});
+// CONCATENATED MODULE: ./client/profile-wizard/steps/benefits/images/sales_tax.js
+
+/* harmony default export */ var sales_tax = (function () {
+ return Object(external_this_wp_element_["createElement"])("svg", {
+ width: "295",
+ height: "160",
+ viewBox: "0 0 295 160",
+ fill: "none",
+ xmlns: "http://www.w3.org/2000/svg"
+ }, Object(external_this_wp_element_["createElement"])("g", {
+ clipPath: "url(#sales-tax-svg)"
+ }, Object(external_this_wp_element_["createElement"])("path", {
+ d: "M0 6C0 2.6863 2.68629 0 6 0H289C292.314 0 295 2.68629 295 6V160H0V6Z",
+ fill: "#F7EDF7"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.05",
+ d: "M164.773 36.3068C148.909 35.7553 133.8 30.6347 119.37 25.0313C104.94 19.4279 90.6516 13.2214 75.1674 10.2506C65.2082 8.34111 53.82 8.07148 45.7947 13.4102C38.0735 18.5577 35.5782 27.4188 34.2349 35.6499C33.2275 41.8416 32.6343 48.3594 35.3992 54.1564C37.3185 58.1813 40.7281 61.564 43.0862 65.4172C51.2879 78.8302 45.4908 95.3807 36.6052 108.468C32.4382 114.613 27.5995 120.478 24.3811 127.013C21.1627 133.548 19.6748 141.046 22.4888 147.719C25.2807 154.337 31.9308 159.298 39.1348 162.791C53.7636 169.9 71.0004 171.917 87.8181 173.066C125.032 175.613 162.447 174.51 199.759 173.407C213.569 172.998 227.438 172.584 241.025 170.449C248.568 169.265 256.357 167.382 261.833 162.85C268.785 157.082 270.508 147.317 265.851 140.083C258.037 127.952 236.437 124.94 230.968 111.921C227.96 104.754 231.049 96.7729 235.417 90.1253C244.79 75.8691 260.5 63.3607 261.328 47.0651C261.897 35.873 254.345 24.6636 242.668 19.3666C230.426 13.8171 213.454 14.5157 204.429 23.7028C195.119 33.1521 178.775 36.7971 164.773 36.3068Z",
+ fill: "#7F54B3"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M98.0173 58.1228C98.0173 58.1228 104.812 49.2691 108.518 49.9554C108.518 49.9554 104.4 57.8483 98.0173 59.0248V58.1228Z",
+ fill: "#7F54B3"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M101.445 47.2146C101.445 47.2146 107.45 40.4248 110.693 40.4419C110.693 40.4419 105.952 49.5113 101.197 49.428L101.445 47.2146Z",
+ fill: "#7F54B3"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M103.474 39.9447L109.273 25.8037C109.273 25.8037 109.565 38.5867 102.736 42.5674L103.474 39.9447Z",
+ fill: "#7F54B3"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M101.922 48.1023C101.922 48.1023 101.9 39.0329 99.4566 36.9077C99.4566 36.9077 97.0225 46.8424 100.645 49.9285L101.922 48.1023Z",
+ fill: "#7F54B3"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M198.534 25.4629H97.6055C96.2789 25.4629 95.2034 26.5384 95.2034 27.8651V180.276C95.2034 181.602 96.2789 182.678 97.6055 182.678H198.534C199.86 182.678 200.936 181.602 200.936 180.276V27.8651C200.936 26.5384 199.86 25.4629 198.534 25.4629Z",
+ fill: "white"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M185.408 38.9763H112.041C108.086 38.9763 104.881 42.1819 104.881 46.1363V62.7235C104.881 66.6778 108.086 69.8835 112.041 69.8835H185.408C189.362 69.8835 192.567 66.6778 192.567 62.7235V46.1363C192.567 42.1819 189.362 38.9763 185.408 38.9763Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M189.303 39.5791H107.945C106.564 39.5791 105.445 40.6985 105.445 42.0793V66.9712C105.445 68.3521 106.564 69.4715 107.945 69.4715H189.303C190.683 69.4715 191.803 68.3521 191.803 66.9712V42.0793C191.803 40.6985 190.683 39.5791 189.303 39.5791Z",
+ fill: "#E6E8EC"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M122.728 82.7573H110.58C109.119 82.7573 107.935 83.9415 107.935 85.4022V99.4867C107.935 100.947 109.119 102.132 110.58 102.132H122.728C124.189 102.132 125.373 100.947 125.373 99.4867V85.4022C125.373 83.9415 124.189 82.7573 122.728 82.7573Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M144.041 82.7573H131.893C130.432 82.7573 129.248 83.9415 129.248 85.4022V99.4867C129.248 100.947 130.432 102.132 131.893 102.132H144.041C145.502 102.132 146.686 100.947 146.686 99.4867V85.4022C146.686 83.9415 145.502 82.7573 144.041 82.7573Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M165.354 82.7573H153.206C151.745 82.7573 150.561 83.9415 150.561 85.4022V99.4867C150.561 100.947 151.745 102.132 153.206 102.132H165.354C166.815 102.132 167.999 100.947 167.999 99.4867V85.4022C167.999 83.9415 166.815 82.7573 165.354 82.7573Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M182.243 83.1694H178.944C175.04 83.1694 171.875 86.3344 171.875 90.2387V95.4745C171.875 99.3787 175.04 102.544 178.944 102.544H182.243C186.147 102.544 189.312 99.3787 189.312 95.4745V90.2387C189.312 86.3344 186.147 83.1694 182.243 83.1694Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M186.667 82.7573H174.519C173.059 82.7573 171.875 83.9415 171.875 85.4022V99.4867C171.875 100.947 173.059 102.132 174.519 102.132H186.667C188.128 102.132 189.312 100.947 189.312 99.4867V85.4022C189.312 83.9415 188.128 82.7573 186.667 82.7573Z",
+ fill: "#646970"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M122.728 104.07H110.58C109.119 104.07 107.935 105.254 107.935 106.715V120.8C107.935 122.26 109.119 123.445 110.58 123.445H122.728C124.189 123.445 125.373 122.26 125.373 120.8V106.715C125.373 105.254 124.189 104.07 122.728 104.07Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M144.041 104.07H131.893C130.432 104.07 129.248 105.254 129.248 106.715V120.8C129.248 122.26 130.432 123.445 131.893 123.445H144.041C145.502 123.445 146.686 122.26 146.686 120.8V106.715C146.686 105.254 145.502 104.07 144.041 104.07Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M165.354 104.07H153.206C151.745 104.07 150.561 105.254 150.561 106.715V120.8C150.561 122.26 151.745 123.445 153.206 123.445H165.354C166.815 123.445 167.999 122.26 167.999 120.8V106.715C167.999 105.254 166.815 104.07 165.354 104.07Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M122.728 127.597H110.58C109.119 127.597 107.935 128.781 107.935 130.242V144.327C107.935 145.787 109.119 146.971 110.58 146.971H122.728C124.189 146.971 125.373 145.787 125.373 144.327V130.242C125.373 128.781 124.189 127.597 122.728 127.597Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M144.041 127.597H131.893C130.432 127.597 129.248 128.781 129.248 130.242V144.327C129.248 145.787 130.432 146.971 131.893 146.971H144.041C145.502 146.971 146.686 145.787 146.686 144.327V130.242C146.686 128.781 145.502 127.597 144.041 127.597Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M165.354 127.597H153.206C151.745 127.597 150.561 128.781 150.561 130.242V144.327C150.561 145.787 151.745 146.971 153.206 146.971H165.354C166.815 146.971 167.999 145.787 167.999 144.327V130.242C167.999 128.781 166.815 127.597 165.354 127.597Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M165.354 151.123H153.206C151.745 151.123 150.561 152.307 150.561 153.768V167.853C150.561 169.313 151.745 170.498 153.206 170.498H165.354C166.815 170.498 167.999 169.313 167.999 167.853V153.768C167.999 152.307 166.815 151.123 165.354 151.123Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M186.542 104.07H174.644C173.115 104.07 171.875 105.31 171.875 106.84V120.675C171.875 122.205 173.115 123.445 174.644 123.445H186.542C188.072 123.445 189.312 122.205 189.312 120.675V106.84C189.312 105.31 188.072 104.07 186.542 104.07Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M144.225 151.123H110.396C109.037 151.123 107.935 152.225 107.935 153.584V168.037C107.935 169.396 109.037 170.498 110.396 170.498H144.225C145.584 170.498 146.686 169.396 146.686 168.037V153.584C146.686 152.225 145.584 151.123 144.225 151.123Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M186.452 127.597H173.071C171.492 127.597 170.213 128.877 170.213 130.455V167.642C170.213 169.221 171.492 170.5 173.071 170.5H186.452C188.031 170.5 189.31 169.221 189.31 167.642V130.455C189.31 128.877 188.031 127.597 186.452 127.597Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M187.925 64.251H180.292V65.077H187.925V64.251Z",
+ fill: "#646970"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M176.75 64.251H169.117V65.077H176.75V64.251Z",
+ fill: "#646970"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M165.572 64.251H157.939V65.077H165.572V64.251Z",
+ fill: "#646970"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M154.398 64.251H146.765V65.077H154.398V64.251Z",
+ fill: "#646970"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M236.67 122.236C237.456 119.589 236.67 116.941 236.67 116.941V114.444C236.67 114.444 237.569 109.561 233.554 106.428L230.892 104.08C230.892 104.08 229.399 102.798 228.965 102.717C228.885 102.7 228.803 102.687 228.72 102.68L228.642 102.634C228.413 102.242 228.218 101.832 228.058 101.408C228.231 101.43 228.406 101.413 228.57 101.357C228.735 101.301 228.884 101.208 229.007 101.085C229.103 100.974 229.179 100.847 229.23 100.71C229.385 100.364 229.412 99.9448 229.541 99.5771C229.655 99.2789 229.821 99.0034 230.032 98.7633C230.005 98.8074 229.975 98.8491 229.951 98.8956C230.328 98.425 230.821 98.023 231.176 97.5279C231.247 97.4297 231.312 97.3273 231.37 97.2215C231.355 97.2435 231.336 97.2631 231.319 97.2852C231.809 96.4984 231.958 95.5449 232.101 94.6257C232.169 94.3128 232.174 93.9894 232.115 93.6746C232.046 93.4657 231.958 93.2637 231.85 93.0716C231.272 91.8779 231.282 90.3753 230.358 89.4218C229.662 88.7085 228.608 88.4903 227.615 88.3678C226.622 88.2452 225.578 88.1741 224.725 87.6545C224.487 87.4739 224.223 87.3294 223.943 87.2255C223.802 87.1763 223.648 87.1778 223.508 87.2297C223.368 87.2816 223.251 87.3806 223.176 87.5098C223.158 87.5863 223.123 87.6577 223.073 87.7182C223.028 87.7434 222.979 87.7581 222.928 87.761C222.877 87.764 222.826 87.7552 222.779 87.7353L221.457 87.3824L221.472 87.4486H221.438L221.487 87.6569C221.513 87.6523 221.539 87.657 221.562 87.6699C221.585 87.6829 221.603 87.7034 221.612 87.728L221.399 88.0565C220.99 88.049 220.586 87.9659 220.207 87.8113C220.205 87.8325 220.205 87.8539 220.207 87.8751H220.188C220.163 88.2476 220.587 88.4903 220.717 88.8408C220.769 88.9942 220.769 89.1605 220.717 89.3139C220.664 89.4562 220.58 89.585 220.472 89.6914C220.004 90.1547 219.403 90.064 218.864 90.3557C218.817 90.3756 218.776 90.4054 218.742 90.4431C218.708 90.4808 218.683 90.5254 218.668 90.5738C218.647 90.61 218.64 90.6532 218.651 90.6939C218.672 90.7502 218.711 90.7983 218.761 90.8312C218.918 90.9581 219.09 91.0651 219.273 91.1499C219.219 91.1989 219.168 91.2479 219.119 91.2994C218.435 91.9949 217.933 92.8492 217.659 93.7859C217.386 94.7225 217.348 95.7124 217.551 96.667C217.753 97.6216 218.188 98.5113 218.818 99.2565C219.448 100.002 220.253 100.579 221.161 100.938C221.18 101.04 221.195 101.146 221.21 101.256C221.21 101.268 221.21 101.276 221.21 101.288L221.225 101.43L219.445 102.188C219.177 102.186 218.914 102.107 218.689 101.962C218.463 101.817 218.283 101.61 218.17 101.366C217.756 100.511 216.293 101.366 216.293 101.366C216.293 101.366 211.829 101.033 210.165 101.857C210.165 101.857 207.5 100.739 207.125 100.663C206.75 100.587 206.189 100.29 205.927 100.366C205.664 100.442 205.326 99.8761 205.137 99.9178C204.949 99.9595 204.875 99.5452 204.275 99.3957C203.674 99.2462 203.448 99.4349 202.774 98.7633C202.1 98.0917 196.619 95.4444 196.619 95.4444L194.158 93.4197L191.533 91.3313L191.487 91.417C191.469 91.3558 191.452 91.292 191.435 91.2234C191.174 90.183 190.846 89.1604 190.455 88.1619C190.286 87.7574 190.21 87.2476 189.982 87.5172C189.842 87.679 189.604 87.3235 189.246 87.0833C189.17 87.0309 189.084 86.9961 188.993 86.9813C188.902 86.9666 188.809 86.9724 188.72 86.9982C188.631 87.024 188.55 87.0693 188.481 87.1307C188.412 87.192 188.358 87.268 188.322 87.353C186.278 90.5591 185.545 90.7846 186.729 91.9637C187.785 93.0103 188.486 93.9246 189.347 94.2139L189.45 94.2457C189.431 94.2506 189.412 94.2506 189.393 94.2457L194.384 100.212C194.384 100.212 197.985 103.345 200.463 104.35C202.941 105.355 202.75 105.656 202.75 105.656C202.75 105.656 210.255 109.458 211.417 109.384C212.579 109.311 212.356 117.177 211.868 118.454C211.381 119.731 210.594 128.893 210.594 128.893C210.594 128.893 209.841 130.832 210.63 132.173C210.63 132.173 210.805 134.742 210.648 135.36C209.964 136.414 208.988 138.203 208.829 140.044C208.829 140.142 208.809 140.233 208.799 140.328C208.749 140.386 208.69 140.435 208.623 140.473L208.79 140.424C208.719 141.191 208.554 141.947 208.299 142.674C207.903 143.695 207.693 144.78 207.679 145.875V151.797L207.189 155.474C207.189 155.474 206.588 158.256 207.189 158.906C207.442 159.23 207.56 159.639 207.517 160.048C207.492 160.523 207.627 160.992 207.9 161.382C208.004 161.495 208.081 161.632 208.123 161.78C208.166 161.929 208.173 162.085 208.145 162.237C207.946 162.882 208.439 169.743 208.439 169.743C208.439 169.743 208.294 171.632 208.096 171.733C207.897 171.833 208.439 173.919 208.439 173.919C208.439 173.919 206.412 175.611 206.929 176.505L207.446 177.3L207.309 177.434L207.226 177.52C207.069 177.43 206.887 177.396 206.709 177.422C206.071 178.074 205.39 178.681 204.669 179.239C203.755 179.898 201.267 180.854 201.267 180.854L199.306 181.013H199.269C199.269 181.013 198.33 180.925 198.857 182.379C199.384 183.832 204.096 183.386 204.096 183.386L206.846 182.952C206.846 182.952 211.748 182.977 213.153 182.665C213.739 182.535 213.888 182.222 213.839 181.905L213.824 181.891C213.757 181.589 213.619 181.308 213.422 181.07C213.412 181.054 213.401 181.039 213.388 181.025L213.476 180.02C215.557 178.822 212.888 176.464 212.888 176.464C212.888 176.464 213.802 174.476 214.271 173.831C214.739 173.187 214.739 163.688 214.739 163.688C214.739 163.688 214.984 160.256 214.339 159.462C214.328 159.204 214.387 158.947 214.511 158.719C214.634 158.492 214.817 158.302 215.04 158.171C215.503 157.854 216.903 153.499 218.001 149.883L218.692 154.143C218.692 154.143 218.543 156.183 218.992 156.778C219.076 156.891 219.136 157.019 219.168 157.156C219.2 157.292 219.203 157.434 219.178 157.572C219.071 158.144 219.106 158.733 219.278 159.288C219.331 159.526 219.459 159.741 219.644 159.901C220.043 160.1 220.068 160.808 220.217 160.958C220.367 161.107 221.293 160.747 221.342 161.293C221.37 161.773 221.37 162.255 221.342 162.735L221.644 171.583C221.644 171.583 221.153 172.319 221.043 174.28C221.001 175.116 220.845 175.591 220.683 175.863C220.593 176.009 220.552 176.18 220.565 176.351C220.578 176.522 220.645 176.684 220.756 176.814L220.842 176.915L220.472 177.199C220.323 177.315 220.219 177.478 220.177 177.662C220.135 177.845 220.158 178.038 220.242 178.207C220.122 178.31 220.037 178.448 219.996 178.601C219.955 178.754 219.962 178.915 220.014 179.065C220.029 179.114 220.05 179.161 220.077 179.204C219.796 179.248 219.535 179.377 219.33 179.574C218.96 180.082 218.514 180.53 218.009 180.903C217.274 181.466 216.572 182.068 215.903 182.707C215.588 183.136 215.165 183.474 214.677 183.687C214.558 183.736 214.434 183.773 214.307 183.798C213.327 183.999 213.633 185.023 214.432 185.193C215.231 185.362 217.884 186.173 219.947 185.7C219.947 185.7 220.56 185.945 221.46 185.489C222.359 185.033 224.367 184.474 224.367 184.474C224.367 184.474 225.492 184.474 225.644 184.028C225.684 183.886 225.705 183.739 225.708 183.592L225.74 183.56L225.71 183.533C225.713 183.199 225.688 182.865 225.634 182.535C225.605 182.364 225.573 182.212 225.544 182.089C225.448 181.717 225.269 181.234 225.193 181.03C225.206 181.014 225.217 180.997 225.227 180.979C225.656 180.244 224.943 178.498 224.943 178.498C225.177 178.127 225.462 177.789 225.789 177.496C226.188 177.197 227.24 169.441 227.24 169.441C227.24 169.441 227.188 167.453 227.73 166.559C228.272 165.664 226.98 160.247 226.98 160.247C226.98 160.247 226.428 159.004 226.629 158.555C226.83 158.107 226.428 156.467 226.428 156.467V154.506C226.427 154.272 226.388 154.041 226.313 153.82C226.159 153.359 225.931 152.474 226.178 151.839C226.529 150.944 227.328 145.427 227.328 145.427C227.328 145.427 226.703 142.993 227.62 141.054C227.691 140.899 227.773 140.749 227.865 140.605C228.544 139.539 228.34 137.644 228.005 136.117C227.956 135.872 227.899 135.651 227.843 135.438C227.821 135.345 227.796 135.257 227.772 135.168L227.88 135.124C227.88 135.124 227.88 134.98 227.914 134.732C228.284 134.659 228.635 134.51 228.945 134.296C229.256 134.081 229.519 133.805 229.718 133.485C229.718 133.485 232.007 130.911 234.032 129.83C236.057 128.749 236.209 127.182 236.209 127.182C235.91 126.66 236.746 124.535 236.746 124.535L236.67 122.236ZM230.066 125.668L227.899 128.18V128.165C227.335 127.381 228.424 125.628 228.424 125.628L230.225 121.608C230.211 122.123 230.147 122.589 229.98 122.792C229.49 123.464 230.882 124.584 230.882 124.584C230.14 124.587 230.066 125.668 230.066 125.668Z",
+ fill: "url(#paint0_linear)"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M191.915 92.7263L190.732 95.023C190.357 94.991 189.987 94.9136 189.631 94.7926C189.066 94.624 188.544 94.3376 188.098 93.9522C187.652 93.5669 187.293 93.0914 187.045 92.5571C185.989 90.2236 187.736 88.7161 188.55 88.27C189.364 87.8238 190.121 87.3165 190.732 88.7798C191.115 89.7726 191.435 90.7886 191.69 91.8218C191.832 92.3586 191.915 92.7263 191.915 92.7263Z",
+ fill: "#CC818C"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M229.515 104.674L227.625 107.488C227.625 107.488 218.695 111.748 220.401 106.752C221.151 104.546 221.239 102.936 221.104 101.82C221.104 101.808 221.104 101.801 221.104 101.789C220.928 100.394 220.403 99.7884 220.403 99.7884C220.403 99.7884 229.108 95.3321 227.811 98.3789C227.546 99.0122 227.441 99.7007 227.505 100.384C227.611 101.368 227.931 102.318 228.441 103.166C228.747 103.703 229.107 104.208 229.515 104.674Z",
+ fill: "#CC818C"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M226.796 160.416C226.796 160.416 228.08 165.808 227.531 166.688C226.982 167.568 227.041 169.554 227.041 169.554C227.041 169.554 226.004 177.26 225.61 177.554C225.286 177.841 225.003 178.171 224.769 178.535C224.769 178.535 225.475 180.28 225.051 181.001C224.985 181.111 224.887 181.196 224.769 181.246C224.107 181.525 221.661 180.285 220.268 179.53C220.156 179.469 220.061 179.381 219.99 179.275C219.918 179.169 219.874 179.047 219.86 178.92C219.846 178.793 219.863 178.665 219.909 178.545C219.956 178.426 220.03 178.32 220.126 178.236C220.043 178.069 220.019 177.878 220.06 177.696C220.101 177.513 220.204 177.351 220.352 177.236L220.719 176.951L220.634 176.851C220.524 176.721 220.457 176.56 220.444 176.39C220.431 176.22 220.471 176.05 220.56 175.905C220.719 175.638 220.874 175.169 220.916 174.334C221.016 172.407 221.509 171.667 221.509 171.667L221.212 162.872C221.24 162.395 221.24 161.917 221.212 161.44C221.163 160.899 220.249 161.256 220.102 161.107C219.955 160.957 219.928 160.256 219.533 160.058C219.351 159.898 219.226 159.684 219.175 159.447C219.001 158.893 218.966 158.303 219.075 157.732C219.1 157.595 219.097 157.454 219.065 157.318C219.034 157.182 218.974 157.054 218.891 156.942C218.447 156.349 218.594 154.327 218.594 154.327L217.913 150.091C216.827 153.685 215.447 158.014 214.989 158.327C214.769 158.459 214.588 158.648 214.467 158.873C214.345 159.099 214.286 159.353 214.297 159.609C214.94 160.401 214.692 163.811 214.692 163.811C214.692 163.811 214.692 173.243 214.229 173.887C213.765 174.532 212.868 176.515 212.868 176.515C212.868 176.515 215.516 178.871 213.432 180.06H213.41C211.285 181.246 206.89 177.937 206.89 177.937L207.348 177.478L207.483 177.344L206.963 176.569C206.453 175.679 208.454 174 208.454 174C208.454 174 207.919 171.924 208.115 171.826C208.311 171.728 208.454 169.85 208.454 169.85C208.454 169.85 207.963 163.034 208.164 162.391C208.191 162.24 208.183 162.085 208.141 161.938C208.098 161.79 208.022 161.654 207.919 161.541C207.649 161.154 207.517 160.688 207.542 160.217C207.585 159.811 207.468 159.404 207.216 159.082C206.623 158.44 207.216 155.675 207.216 155.675L207.706 152.018V146.211C207.713 145.09 207.923 143.98 208.326 142.934C208.626 142.086 208.807 141.201 208.865 140.304C209.027 138.431 210.035 136.612 210.711 135.575C211.069 135.026 211.336 134.698 211.336 134.698L227.142 134.08C227.142 134.08 227.387 134.784 227.651 135.762C227.705 135.975 227.759 136.2 227.811 136.436C228.142 137.955 228.34 139.838 227.671 140.897C227.58 141.04 227.498 141.189 227.426 141.343C226.521 143.27 227.139 145.689 227.139 145.689C227.139 145.689 226.35 151.17 226.004 152.062C225.759 152.692 225.985 153.572 226.139 154.023C226.211 154.244 226.248 154.475 226.249 154.707V156.66C226.249 156.66 226.646 158.291 226.448 158.737C226.249 159.183 226.796 160.416 226.796 160.416Z",
+ fill: "#444053"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M227.524 141.054C227.433 141.196 227.351 141.344 227.279 141.497L226.389 141.448C226.475 140.99 225.87 136.693 225.87 136.693L227.661 136.593C227.992 138.11 228.193 139.992 227.524 141.054Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M227.671 140.904C227.58 141.048 227.499 141.197 227.426 141.35L226.536 141.299C226.622 140.843 226.017 136.543 226.017 136.543L227.808 136.443C228.142 137.963 228.34 139.845 227.671 140.904Z",
+ fill: "#444053"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.05",
+ d: "M227.671 140.904C227.58 141.048 227.499 141.197 227.426 141.35L226.536 141.299C226.622 140.843 226.017 136.543 226.017 136.543L227.808 136.443C228.142 137.963 228.34 139.845 227.671 140.904Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M220.869 160.774C220.869 160.774 221.894 159.303 223.649 159.303C225.404 159.303 226.154 159.104 226.154 159.104C226.154 159.104 225.031 159.771 224.254 159.857C223.477 159.943 220.869 160.774 220.869 160.774Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M208.662 140.728C208.736 140.74 209.983 139.431 210.069 138.914C210.137 138.587 210.332 138.299 210.611 138.115C210.611 138.115 211.415 138.436 210.699 139.421C209.983 140.407 208.662 140.728 208.662 140.728Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M227.799 98.3738C227.515 99.0454 227.265 99.1092 227.309 99.7489C226.978 100.099 226.597 100.399 226.179 100.639C225.296 101.163 224.335 102.19 223.237 102.19C222.501 102.191 221.772 102.053 221.088 101.783C220.911 100.389 220.386 99.7833 220.386 99.7833C220.386 99.7833 229.093 95.327 227.799 98.3738Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M229.132 96.0035C229.132 97.167 228.787 98.3044 228.141 99.2718C227.494 100.239 226.575 100.993 225.5 101.439C224.425 101.884 223.243 102 222.101 101.773C220.96 101.546 219.912 100.986 219.089 100.163C218.267 99.3406 217.706 98.2923 217.479 97.1512C217.252 96.01 217.369 94.8272 217.814 93.7522C218.259 92.6772 219.013 91.7585 219.981 91.112C220.948 90.4656 222.086 90.1206 223.249 90.1206C224.809 90.1206 226.306 90.7404 227.409 91.8437C228.512 92.9469 229.132 94.4432 229.132 96.0035Z",
+ fill: "#CC818C"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M229.515 104.673L227.625 107.487C227.625 107.487 218.695 111.747 220.401 106.752C221.151 104.546 221.239 102.935 221.104 101.82H221.119C221.225 102.19 221.285 102.571 221.298 102.955C221.325 103.725 221.345 104.698 223.259 105.019C226.446 105.553 228.147 103.563 228.446 103.173C228.751 103.708 229.109 104.21 229.515 104.673Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M191.915 92.7262L190.731 95.023C190.357 94.9909 189.987 94.9135 189.631 94.7926L189.528 94.67C190.018 94.8563 191.638 91.78 191.638 91.78L191.69 91.8217C191.832 92.3585 191.915 92.7262 191.915 92.7262Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M227.652 135.769C223.838 137.426 210.645 136.015 210.645 136.015C210.685 135.874 210.707 135.729 210.711 135.583C211.069 135.034 211.337 134.706 211.337 134.706L227.142 134.088C227.142 134.088 227.399 134.791 227.652 135.769Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M221.109 101.958L219.349 102.71C219.084 102.708 218.825 102.63 218.602 102.485C218.379 102.341 218.202 102.135 218.092 101.894C217.683 101.043 216.239 101.894 216.239 101.894C216.239 101.894 211.827 101.56 210.199 102.384C210.199 102.384 207.569 101.271 207.199 101.198C206.829 101.124 206.272 100.828 206.013 100.901C205.753 100.975 205.422 100.411 205.235 100.457C205.049 100.504 204.976 100.087 204.382 99.9377C203.789 99.7882 203.569 99.9745 202.912 99.3078C202.255 98.641 196.835 96.0109 196.835 96.0109L194.384 94.0107L191.791 91.937C191.791 91.937 190.161 95.0108 189.678 94.8245L194.605 100.754C194.605 100.754 198.161 103.865 200.608 104.865C203.054 105.865 202.868 106.161 202.868 106.161C202.868 106.161 210.278 109.941 211.425 109.868C212.572 109.794 212.356 117.601 211.866 118.861C211.376 120.121 210.609 129.234 210.609 129.234C210.609 129.234 209.873 131.161 210.645 132.495C210.645 132.495 210.829 135.237 210.645 135.718C210.645 135.718 223.919 137.137 227.686 135.458C227.686 135.458 228.242 129.308 227.686 128.531C227.13 127.754 228.206 126.021 228.206 126.021L230.576 120.724L236.356 114.907C236.356 114.907 237.243 110.054 233.28 106.943L230.649 104.607C230.649 104.607 229.179 103.335 228.747 103.254C228.316 103.173 228.475 103.254 228.475 103.254C228.475 103.254 226.759 105.757 223.24 105.164C221.333 104.843 221.313 103.869 221.279 103.102C221.269 102.715 221.212 102.331 221.109 101.958Z",
+ fill: "#67647E"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M228.353 121.901C228.353 121.901 220.2 122.234 218.572 124.795C218.572 124.795 220.685 123.793 222.573 124.09C224.46 124.386 228.353 121.901 228.353 121.901Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M219.349 130.827C219.349 130.827 223.203 131.087 224.019 130.271C224.835 129.455 224.838 128.974 224.838 128.974L219.349 130.827Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M229.132 114.044C229.132 114.044 225.87 117.898 229.836 119.564L229.132 114.044Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M209.829 106.6C209.829 106.6 211.015 109.019 211.608 109.179L209.829 106.6Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M205.828 105.561C205.828 105.561 208.792 108.23 209.348 108.487C209.348 108.487 206.272 105.561 205.828 105.561Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M217.646 103.006C217.646 103.006 214.792 107.267 216.645 109.87C216.645 109.86 215.609 106.784 217.646 103.006Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M224.838 135.274L223.965 136.096L223.842 136.208L222.832 137.164C222.761 137.218 222.69 137.272 222.617 137.321C218.506 140.263 217.682 135.792 217.682 135.792C217.682 135.792 215.869 136.978 215.609 136.015C215.349 135.051 219.832 133.681 220.511 133.755C220.571 133.761 220.631 133.761 220.69 133.755C221.014 133.701 221.326 133.59 221.612 133.429L221.81 133.323C222.039 133.195 222.26 133.055 222.475 132.904L224.838 135.274Z",
+ fill: "#CC818C"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M229.27 96.0032C229.272 97.0235 229.009 98.0269 228.506 98.9148C228.003 99.8026 227.278 100.544 226.402 101.067C226.32 100.93 226.247 100.786 226.186 100.638C225.975 100.148 225.845 99.6187 225.632 99.126C225.399 98.5882 225.066 98.0992 224.652 97.6847C224.581 97.6026 224.491 97.5401 224.389 97.5033C224.294 97.4902 224.197 97.4967 224.104 97.5224C224.011 97.5481 223.925 97.5925 223.85 97.6528C223.6 97.8219 223.322 97.944 223.029 98.0132C222.882 98.0468 222.729 98.042 222.585 97.999C222.44 97.9561 222.31 97.8765 222.205 97.768C221.975 97.4935 222.007 97.0915 222.073 96.741C222.217 95.9738 222.458 95.2188 222.46 94.4393C222.463 93.6598 222.164 92.8215 221.48 92.4342C220.882 92.0935 220.139 92.1891 219.475 91.9979C219.372 91.971 219.271 91.9366 219.173 91.895C219.99 91.0568 221.038 90.4812 222.183 90.2418C223.329 90.0024 224.52 90.1102 225.604 90.5513C226.688 90.9923 227.616 91.7467 228.269 92.7179C228.922 93.689 229.27 94.8329 229.27 96.0032Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M218.771 90.954C218.665 91.0104 218.548 91.1134 218.58 91.231C218.6 91.2871 218.638 91.3352 218.687 91.3683C218.962 91.5898 219.279 91.7525 219.619 91.8463C220.283 92.0277 221.028 91.9419 221.626 92.2826C222.303 92.6674 222.607 93.5082 222.607 94.2877C222.607 95.0671 222.362 95.8221 222.222 96.5869C222.156 96.9399 222.122 97.3419 222.352 97.6164C222.457 97.7242 222.588 97.8034 222.732 97.8463C222.876 97.8892 223.029 97.8945 223.176 97.8615C223.469 97.7937 223.747 97.6724 223.997 97.5036C224.072 97.4429 224.159 97.3981 224.252 97.372C224.345 97.3459 224.443 97.3389 224.538 97.3517C224.639 97.39 224.729 97.4523 224.801 97.533C225.216 97.9482 225.548 98.4381 225.781 98.9768C225.997 99.467 226.124 99.9941 226.335 100.489C226.519 100.994 226.863 101.425 227.316 101.715C227.786 101.975 228.438 101.96 228.801 101.558C229.164 101.156 229.134 100.604 229.306 100.122C229.6 99.2808 230.421 98.7537 230.936 98.0282C231.512 97.2119 231.671 96.1873 231.828 95.1995C231.898 94.8885 231.903 94.5664 231.843 94.2533C231.776 94.0461 231.689 93.8458 231.583 93.6552C231.01 92.4689 231.022 90.9761 230.112 90.0299C229.426 89.3191 228.384 89.1034 227.404 88.9808C226.423 88.8583 225.394 88.7896 224.553 88.2724C224.317 88.0942 224.057 87.9506 223.781 87.8459C223.641 87.7967 223.488 87.7982 223.349 87.8502C223.211 87.9021 223.094 88.0013 223.021 88.1303C223.004 88.2057 222.969 88.2761 222.921 88.3362C222.877 88.3615 222.827 88.3763 222.777 88.3792C222.726 88.3822 222.676 88.3733 222.629 88.3533L221.325 88.0028L221.474 88.6597C221 88.6796 220.528 88.5959 220.089 88.4146C220.065 88.7872 220.484 89.0274 220.614 89.3755C220.661 89.5338 220.663 89.702 220.619 89.8613C220.576 90.0206 220.489 90.1647 220.369 90.2775C219.896 90.753 219.305 90.6623 218.771 90.954Z",
+ fill: "#2F2E41"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M224.838 135.274L223.965 136.095L221.798 133.321C222.027 133.192 222.248 133.052 222.463 132.901L224.838 135.274Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M234.662 112.54L236.378 114.91V117.393C236.378 117.393 237.155 120.023 236.378 122.653L236.461 124.95C236.461 124.95 235.635 127.06 235.932 127.58C235.932 127.58 235.785 129.137 233.784 130.21C231.784 131.284 229.514 133.828 229.514 133.828C229.514 133.828 228.661 135.458 226.365 135.088L224.178 136.015L221.661 132.791L225.068 130.938C225.068 130.938 226.254 129.347 226.958 129.421L229.848 126.048C229.848 126.048 229.921 124.974 230.662 124.974C230.662 124.974 229.291 123.864 229.772 123.197C230.252 122.531 229.848 119.565 229.848 119.565L234.662 112.54Z",
+ fill: "#67647E"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M231.476 123.344C231.476 123.344 235.366 123.27 235.846 124.271C236.326 125.271 232.65 122.788 231.476 123.344Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M223.86 136.014C223.86 136.079 223.855 136.144 223.843 136.208C223.798 136.506 223.651 136.78 223.428 136.983C223.205 137.185 222.918 137.305 222.617 137.321H222.548C222.201 137.321 221.868 137.183 221.623 136.937C221.377 136.692 221.239 136.359 221.239 136.012C221.24 135.867 221.265 135.724 221.313 135.588C220.695 135.098 220.661 134.195 220.678 133.749C221.002 133.695 221.314 133.585 221.6 133.423C221.761 133.886 221.977 134.328 222.244 134.74C222.344 134.716 222.446 134.704 222.548 134.703C222.721 134.703 222.891 134.737 223.05 134.803C223.209 134.869 223.354 134.965 223.476 135.087C223.597 135.209 223.694 135.353 223.76 135.512C223.826 135.672 223.86 135.842 223.86 136.014Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M221.717 133.129C221.717 133.129 220.84 133.328 220.84 133.487C220.84 133.646 220.641 135.093 221.604 135.693C222.568 136.294 222.47 134.865 222.47 134.865C222.47 134.865 221.641 133.595 221.717 133.129Z",
+ fill: "#575988"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M222.695 137.323C223.418 137.323 224.004 136.737 224.004 136.015C224.004 135.292 223.418 134.706 222.695 134.706C221.972 134.706 221.386 135.292 221.386 136.015C221.386 136.737 221.972 137.323 222.695 137.323Z",
+ fill: "#E4AAB4"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M222.695 137.137C223.315 137.137 223.818 136.635 223.818 136.015C223.818 135.394 223.315 134.892 222.695 134.892C222.075 134.892 221.573 135.394 221.573 136.015C221.573 136.635 222.075 137.137 222.695 137.137Z",
+ fill: "#DCE6F2"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M217.597 136.522C217.597 136.522 220.364 138.816 223.918 137.36V138.473C223.918 138.473 221.548 140.103 219.401 139.115C217.254 138.127 217.597 136.522 217.597 136.522Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M217.597 136.225C217.597 136.225 220.364 138.522 223.918 137.063V138.176C223.918 138.176 221.548 139.806 219.401 138.818C217.254 137.831 217.597 136.225 217.597 136.225Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M217.597 136.225C217.597 136.225 220.364 138.522 223.918 137.063V138.176C223.918 138.176 221.548 139.806 219.401 138.818C217.254 137.831 217.597 136.225 217.597 136.225Z",
+ fill: "#444053"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.05",
+ d: "M217.67 136.225C217.67 136.225 220.438 138.522 223.994 137.063V138.176C223.994 138.176 221.624 139.806 219.474 138.818C217.325 137.831 217.67 136.225 217.67 136.225Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.05",
+ d: "M215.298 143.179L217.925 150.108C217.925 150.108 218.295 145.65 217.513 144.316C217.291 143.935 216.965 143.625 216.572 143.424C216.179 143.222 215.737 143.137 215.298 143.179Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("g", {
+ opacity: "0.1"
+ }, Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M221.754 88.2718L221.732 88.1713L221.311 88.0586L221.357 88.2645C221.489 88.2743 221.622 88.2767 221.754 88.2718Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M220.595 89.9436L220.639 89.9043C220.76 89.7917 220.847 89.6476 220.89 89.4882C220.933 89.3288 220.931 89.1606 220.884 89.0023C220.833 88.8794 220.762 88.7658 220.673 88.6665C220.465 88.6255 220.262 88.5656 220.065 88.4875C220.041 88.8577 220.457 89.0979 220.587 89.446C220.648 89.6059 220.65 89.7819 220.595 89.9436Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M227.603 101.334C227.146 101.046 226.797 100.616 226.61 100.109C226.402 99.6186 226.272 99.0892 226.058 98.5989C225.826 98.0602 225.493 97.5703 225.078 97.1552C225.007 97.0736 224.917 97.0112 224.816 96.9738C224.72 96.9612 224.624 96.968 224.531 96.9937C224.438 97.0194 224.352 97.0634 224.276 97.1233C224.027 97.2924 223.749 97.4145 223.455 97.4836C223.309 97.5168 223.156 97.5117 223.011 97.4688C222.867 97.4259 222.736 97.3466 222.632 97.2385C222.401 96.964 222.433 96.5595 222.499 96.209C222.644 95.4442 222.884 94.6868 222.887 93.9098C222.889 93.1328 222.59 92.2896 221.906 91.9047C221.308 91.564 220.565 91.6596 219.901 91.4684C219.56 91.3747 219.243 91.212 218.967 90.9904C218.95 90.9762 218.933 90.9606 218.918 90.9438C218.862 90.9652 218.808 90.9906 218.756 91.0198C218.649 91.0762 218.533 91.1792 218.563 91.2968C218.585 91.3526 218.623 91.4004 218.673 91.4341C218.947 91.6561 219.264 91.8188 219.605 91.9121C220.269 92.0935 221.012 92.0077 221.61 92.3484C222.286 92.7332 222.59 93.574 222.59 94.3535C222.59 95.1329 222.345 95.8879 222.203 96.6527C222.137 97.0057 222.105 97.4077 222.335 97.6822C222.44 97.7902 222.571 97.8695 222.715 97.9125C222.859 97.9554 223.012 97.9605 223.159 97.9273C223.452 97.8595 223.73 97.7381 223.98 97.5694C224.055 97.5088 224.141 97.464 224.234 97.4379C224.327 97.4117 224.424 97.4048 224.519 97.4175C224.62 97.4552 224.71 97.5175 224.781 97.5988C225.195 98.0148 225.528 98.5045 225.762 99.0426C225.978 99.5328 226.105 100.06 226.316 100.555C226.5 101.06 226.844 101.491 227.296 101.781C227.765 102.04 228.419 102.026 228.767 101.624C228.863 101.515 228.938 101.388 228.988 101.251C228.79 101.398 228.554 101.485 228.308 101.5C228.062 101.514 227.817 101.457 227.603 101.334Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M229.721 99.4493C230.091 98.9811 230.579 98.5815 230.927 98.0913C230.995 97.9933 231.059 97.8903 231.118 97.7874C230.669 98.3585 230.054 98.812 229.721 99.4493Z",
+ fill: "black"
+ }))), Object(external_this_wp_element_["createElement"])("defs", null, Object(external_this_wp_element_["createElement"])("linearGradient", {
+ id: "paint0_linear",
+ x1: "211.591",
+ y1: "185.849",
+ x2: "211.591",
+ y2: "86.973",
+ gradientUnits: "userSpaceOnUse"
+ }, Object(external_this_wp_element_["createElement"])("stop", {
+ stopColor: "#808080",
+ stopOpacity: "0.25"
+ }), Object(external_this_wp_element_["createElement"])("stop", {
+ offset: "0.54",
+ stopColor: "#808080",
+ stopOpacity: "0.12"
+ }), Object(external_this_wp_element_["createElement"])("stop", {
+ offset: "1",
+ stopColor: "#808080",
+ stopOpacity: "0.1"
+ })), Object(external_this_wp_element_["createElement"])("clipPath", {
+ id: "sales-tax-svg"
+ }, Object(external_this_wp_element_["createElement"])("path", {
+ d: "M0 6C0 2.6863 2.68629 0 6 0H289C292.314 0 295 2.68629 295 6V160H0V6Z",
+ fill: "white"
+ }))));
+});
+// CONCATENATED MODULE: ./client/profile-wizard/steps/benefits/images/shipping_labels.js
+
+/* harmony default export */ var shipping_labels = (function () {
+ return Object(external_this_wp_element_["createElement"])("svg", {
+ width: "295",
+ height: "160",
+ viewBox: "0 0 295 160",
+ fill: "none",
+ xmlns: "http://www.w3.org/2000/svg"
+ }, Object(external_this_wp_element_["createElement"])("g", {
+ clipPath: "url(#shipping-labels-svg)"
+ }, Object(external_this_wp_element_["createElement"])("path", {
+ d: "M0 6C0 2.6863 2.68629 0 6 0H289C292.314 0 295 2.68629 295 6V160H0V6Z",
+ fill: "#F7EDF7"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.05",
+ d: "M297.839 152.033C290.282 167.747 274.937 178.255 259.035 185.184C237.627 194.516 214.051 198.218 190.8 196.652C186.725 196.379 182.663 195.942 178.613 195.342C164.546 193.274 150.833 189.248 137.864 183.381C134.121 181.682 130.454 179.827 126.862 177.816C120.864 174.465 115.117 170.676 109.666 166.48C108.295 165.425 106.943 164.343 105.61 163.235C104.686 162.466 103.77 161.681 102.84 160.918C100.878 159.31 98.8582 157.782 96.6056 156.638C95.9259 156.292 95.2292 155.982 94.518 155.709C87.3847 152.974 79.1593 154.006 71.7331 156.139C66.0845 157.762 60.5781 159.983 54.9352 161.569C52.4252 162.296 49.8677 162.844 47.2815 163.209C41.5074 163.946 35.6437 163.426 30.0854 161.686L29.6105 161.537C28.8141 161.285 28.0243 161.009 27.2412 160.709L26.7663 160.525C26.0078 160.231 25.2655 159.915 24.5392 159.576L24.0643 159.358C23.3058 159.003 22.5635 158.627 21.8373 158.232C21.5756 158.094 21.3168 157.945 21.0608 157.805C16.9289 155.478 13.1731 152.531 9.92289 149.063C9.82903 148.969 9.74086 148.871 9.63847 148.776C9.18624 148.283 8.74255 147.782 8.31307 147.268C8.1538 147.079 7.99452 146.89 7.83809 146.695C7.32803 146.068 6.83598 145.427 6.36195 144.771C6.29085 144.677 6.22259 144.579 6.15433 144.485C4.21218 141.776 2.60205 138.841 1.359 135.743C1.31918 135.648 1.28221 135.551 1.24808 135.456C0.868851 134.472 0.522806 133.471 0.209944 132.455C0.0819547 132.03 -0.0403466 131.595 -0.148426 131.17C-0.185401 131.044 -0.219532 130.915 -0.250818 130.789C-1.82082 124.559 -2 118.082 -2 111.643C-2 110.892 -2 110.142 -2 109.393C-1.95449 98.9768 -1.79522 88.3833 -0.270727 78.1109C-0.270727 78.0392 -0.250817 77.9675 -0.239441 77.8987C0.270798 74.4405 0.964835 71.0124 1.83967 67.6291C2.75527 64.0792 3.92542 60.601 5.34088 57.222C8.84778 48.9077 13.9474 41.3417 19.6102 34.3291C33.8739 16.6827 52.5802 1.86901 74.4749 -3.67574C98.0675 -9.64768 124.288 -3.92517 143.319 11.3473C149.121 16.0033 154.334 21.5165 160.85 25.0859C166.539 28.1937 173.197 29.481 179.289 27.0354C184.324 25.0142 187.6 24.0108 193.254 24.3175C204.96 24.985 216.5 27.4215 227.487 31.5452C227.931 31.7086 228.375 31.8778 228.815 32.0469C257.459 43.0934 282.082 65.0403 294.881 93.2428C295.22 93.9882 295.549 94.7394 295.868 95.4963C303.499 113.464 306.257 134.522 297.839 152.033Z",
+ fill: "#7F54B3"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M238.595 87.2081H167V163.188H238.595V87.2081Z",
+ fill: "white"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M170.312 125.071V90.0034H174.389L194.39 90.6387L193.498 95.848V125.071H170.312Z",
+ fill: "#DCDCDE"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.5",
+ d: "M190.44 93.561H172.86V94.5775H190.44V93.561Z",
+ fill: "#7F54B3"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.5",
+ d: "M190.44 98.1351H172.86V99.1516H190.44V98.1351Z",
+ fill: "#7F54B3"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.5",
+ d: "M190.44 102.709H180.504V103.726H190.44V102.709Z",
+ fill: "#7F54B3"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.5",
+ d: "M177.701 101.184H172.86V105.25H177.701V101.184Z",
+ fill: "#7F54B3"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.5",
+ d: "M190.441 117.702H179.994V121.768H190.441V117.702Z",
+ fill: "#7F54B3"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.5",
+ d: "M190.44 107.283H172.86V108.3H190.44V107.283Z",
+ fill: "#7F54B3"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.5",
+ d: "M190.44 111.857H172.86V112.874H190.44V111.857Z",
+ fill: "#7F54B3"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M209.04 140.572H196.555V162.934H209.04V140.572Z",
+ fill: "#DCDCDE"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M112.731 122.276H61.5195V163.442H112.731V122.276Z",
+ fill: "white"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M88.7813 151.499H80.1187V163.188H88.7813V151.499Z",
+ fill: "#DCDCDE"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M185.577 98.8864C183.646 102.254 170.048 96.6409 170.048 96.6409L144.067 86.2055L137.786 81.5686L133.785 78.6144L142.672 76.1334L142.921 76.2524L149.113 79.2016L172.864 93.3487C172.864 93.3487 190.613 90.1043 185.577 98.8864Z",
+ fill: "#A0616A"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M120.088 59.773C120.088 59.773 116.745 61.1143 116.358 64.8721C115.971 68.63 115.939 89.8314 115.939 89.8314C115.939 89.8314 124.674 84.8159 129.371 84.7133C134.068 84.6107 144.979 76.708 144.979 76.708C144.979 76.708 124.421 58.1896 120.088 59.773Z",
+ fill: "#67647E"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M120.088 59.773C120.088 59.773 116.745 61.1143 116.358 64.8721C115.971 68.63 115.939 89.8314 115.939 89.8314C115.939 89.8314 124.674 84.8159 129.371 84.7133C134.068 84.6107 144.979 76.708 144.979 76.708C144.979 76.708 124.421 58.1896 120.088 59.773Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M152.86 129.137L145.726 129.645C145.726 129.645 145.507 142.995 144.579 146.417L156.809 156.073L154.261 147.942L152.86 129.137Z",
+ fill: "#A0616A"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M157.501 156.35L157.501 156.35L157.501 156.35C156.994 156.171 157.064 156.073 157.064 156.073V155.565L144.599 145.588C144.478 146.035 144.344 146.329 144.197 146.417C143.74 146.69 143.086 147.585 142.435 148.621C141.678 149.834 141.193 151.196 141.013 152.614C140.833 154.032 140.964 155.472 141.394 156.835V156.835L140.885 165.475H142.923L143.433 157.598H145.98C145.98 157.598 150.312 163.188 151.586 165.221C152.86 167.254 158.465 167.762 164.07 163.951C168.807 160.73 160.263 157.328 157.501 156.35Z",
+ fill: "#444053"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M90.1827 99.0244C90.1827 99.0244 77.6983 114.017 89.6732 123.165C94.9424 127.191 99.5703 134.808 103.101 142.076C105.871 147.808 109.869 152.863 114.813 156.884C119.757 160.906 125.526 163.795 131.713 165.348C131.713 165.348 174.262 115.796 159.739 101.82C145.216 87.8434 105.779 99.1902 105.779 99.1902L90.1827 99.0244Z",
+ fill: "#444053"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M125.529 86.3823C125.585 89.729 124.943 93.4035 122.031 94.1963C116.425 95.721 115.916 94.9587 115.916 94.9587C115.916 94.9587 114.897 96.7375 115.152 98.7704C115.406 100.803 112.731 99.1516 112.731 99.1516C112.731 99.1516 85.5965 102.582 86.6157 98.7704C87.6348 94.9587 97.3166 81.7447 97.3166 81.7447C97.3166 81.7447 113.113 59.6368 116.425 60.3992C116.538 60.4246 116.652 60.4551 116.772 60.4881C120.145 61.469 125.87 65.7965 126.362 67.5144C126.872 69.2931 124.833 80.4742 124.833 80.4742C125.248 82.4178 125.481 84.3957 125.529 86.3823Z",
+ fill: "#67647E"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M165.599 117.575C162.287 119.608 160.249 105.123 160.249 105.123L136.299 90.6388L130.852 85.0508L127.381 81.4907L136.554 80.4742L136.78 80.6318L142.414 84.5401L163.561 102.328C163.561 102.328 168.911 115.542 165.599 117.575Z",
+ fill: "#A0616A"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M124.833 80.4741C125.248 82.4178 125.481 84.3957 125.529 86.3823C123.748 86.705 122.14 86.8219 121.012 86.5729C116.425 85.5564 106.744 88.3517 106.744 88.3517C106.744 88.3517 111.839 67.7684 113.113 64.2108C113.417 63.3632 113.901 62.5914 114.533 61.9487C115.164 61.3059 115.928 60.8076 116.772 60.488C120.145 61.4689 125.87 65.7965 126.362 67.5143C126.872 69.2931 124.833 80.4741 124.833 80.4741Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M124.717 57.2728C119.214 54.6655 116.866 48.0884 119.472 42.5824C122.077 37.0763 128.651 34.7264 134.154 37.3336C139.657 39.9409 142.006 46.518 139.4 52.024C136.794 57.5301 130.221 59.88 124.717 57.2728Z",
+ fill: "#2F2E41"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M138.082 82.5072C138.082 82.5072 134.724 83.8743 130.852 85.0508L127.381 81.4907L136.554 80.4742L136.78 80.6318C137.601 81.7982 138.082 82.5072 138.082 82.5072Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M132.131 54.7977L128.077 71.9742L118.3 62.9339C118.3 62.9339 123.308 56.0031 123.308 54.195C123.308 52.3869 132.131 54.7977 132.131 54.7977Z",
+ fill: "#A0616A"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M118.719 58.8744C118.719 58.8744 115.152 59.3827 113.878 62.9403C112.604 66.4979 107.508 87.0811 107.508 87.0811C107.508 87.0811 117.19 84.2859 121.776 85.3023C126.362 86.3188 138.847 81.2365 138.847 81.2365C138.847 81.2365 123.305 58.3662 118.719 58.8744Z",
+ fill: "#67647E"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M127.459 59.6811C123.207 57.6664 121.392 52.5841 123.406 48.3295C125.419 44.0748 130.499 42.2589 134.751 44.2736C139.003 46.2883 140.818 51.3706 138.805 55.6253C136.791 59.8799 131.712 61.6958 127.459 59.6811Z",
+ fill: "#9F616A"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M122.429 55.079C118.426 53.1828 116.718 48.3995 118.613 44.3951C120.508 40.3907 125.289 38.6816 129.291 40.5778C133.294 42.474 135.002 47.2573 133.107 51.2617C131.211 55.2661 126.431 56.9752 122.429 55.079Z",
+ fill: "#2F2E41"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M117.254 40.5669C113.557 38.8153 111.979 34.3967 113.729 30.6977C115.48 26.9987 119.896 25.4199 123.593 27.1715C127.29 28.9231 128.868 33.3417 127.117 37.0407C125.367 40.7397 120.951 42.3185 117.254 40.5669Z",
+ fill: "#2F2E41"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M112.267 36.8522C112.843 37.8846 113.659 38.7679 114.645 39.4279C115.632 40.088 116.762 40.5057 117.939 40.6462C119.116 40.7866 120.308 40.6457 121.413 40.2351C122.518 39.8246 123.506 39.1564 124.292 38.2865C123.746 39.1413 123.025 39.8724 122.177 40.4339C121.328 40.9954 120.369 41.375 119.361 41.5487C118.352 41.7224 117.317 41.6865 116.318 41.4432C115.32 41.1999 114.382 40.7546 113.562 40.1353C112.742 39.5159 112.059 38.7361 111.555 37.845C111.052 36.9538 110.739 35.9708 110.636 34.9579C110.534 33.945 110.644 32.9243 110.959 31.9601C111.275 30.996 111.79 30.1093 112.471 29.3562C111.761 30.4654 111.368 31.7467 111.332 33.0656C111.297 34.3845 111.619 35.6924 112.267 36.8522Z",
+ fill: "#2F2E41"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M130.914 53.5515C127.412 51.8923 125.63 48.3155 126.933 45.5625C128.236 42.8095 132.131 41.9227 135.633 43.5819C139.135 45.241 140.917 48.8178 139.614 51.5708C138.311 54.3239 134.416 55.2106 130.914 53.5515Z",
+ fill: "#2F2E41"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M131.416 56.008C130.665 55.6525 130.537 54.3498 131.129 53.0984C131.721 51.8471 132.81 51.1208 133.56 51.4764C134.311 51.8319 134.439 53.1346 133.847 54.3859C133.254 55.6373 132.166 56.3635 131.416 56.008Z",
+ fill: "#A0616A"
+ })), Object(external_this_wp_element_["createElement"])("defs", null, Object(external_this_wp_element_["createElement"])("clipPath", {
+ id: "shipping-labels-svg"
+ }, Object(external_this_wp_element_["createElement"])("path", {
+ d: "M0 6C0 2.6863 2.68629 0 6 0H289C292.314 0 295 2.68629 295 6V160H0V6Z",
+ fill: "white"
+ }))));
+});
+// CONCATENATED MODULE: ./client/profile-wizard/steps/benefits/images/speed.js
+
+/* harmony default export */ var speed = (function () {
+ return Object(external_this_wp_element_["createElement"])("svg", {
+ width: "295",
+ height: "160",
+ viewBox: "0 0 295 160",
+ fill: "none",
+ xmlns: "http://www.w3.org/2000/svg"
+ }, Object(external_this_wp_element_["createElement"])("g", {
+ clipPath: "url(#speed-svg)"
+ }, Object(external_this_wp_element_["createElement"])("path", {
+ d: "M0 6C0 2.6863 2.68629 0 6 0H289C292.314 0 295 2.68629 295 6V160H0V6Z",
+ fill: "#F7EDF7"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.05",
+ d: "M287.559 129.935C280.58 144.446 266.411 154.149 251.726 160.548C231.957 169.166 210.186 172.584 188.715 171.138C184.952 170.886 181.2 170.482 177.46 169.928C164.471 168.018 151.807 164.301 139.831 158.883C136.374 157.314 132.988 155.601 129.672 153.744C124.133 150.649 118.825 147.151 113.792 143.276C112.526 142.302 111.278 141.303 110.047 140.279C109.193 139.569 108.347 138.844 107.489 138.14C105.676 136.654 103.812 135.243 101.731 134.187C101.104 133.868 100.46 133.582 99.8036 133.329C93.2164 130.803 85.6207 131.757 78.763 133.726C73.5468 135.225 68.462 137.277 63.2511 138.741C60.9333 139.412 58.5715 139.918 56.1833 140.255C50.8512 140.935 45.4365 140.456 40.3037 138.849L39.8651 138.712C39.1297 138.479 38.4004 138.224 37.6772 137.946L37.2386 137.777C36.5382 137.505 35.8527 137.213 35.1821 136.901L34.7435 136.699C34.0431 136.371 33.3576 136.024 32.687 135.659C32.4453 135.532 32.2063 135.394 31.9699 135.264C28.1544 133.116 24.6861 130.394 21.6847 127.192C21.598 127.105 21.5166 127.015 21.422 126.927C21.0044 126.472 20.5947 126.009 20.1981 125.535C20.051 125.36 19.904 125.185 19.7595 125.005C19.2885 124.426 18.8341 123.834 18.3964 123.229C18.3307 123.142 18.2677 123.052 18.2046 122.964C16.4112 120.463 14.9243 117.753 13.7764 114.892C13.7396 114.805 13.7055 114.715 13.674 114.627C13.3238 113.718 13.0042 112.794 12.7153 111.855C12.5971 111.463 12.4842 111.061 12.3844 110.669C12.3502 110.553 12.3187 110.434 12.2898 110.317C10.84 104.564 10.6746 98.5833 10.6746 92.637C10.6746 91.9433 10.6746 91.2506 10.6746 90.5587C10.7166 80.9403 10.8637 71.1578 12.2714 61.6718C12.2714 61.6056 12.2898 61.5394 12.3003 61.4758C12.7715 58.2824 13.4124 55.1167 14.2203 51.9925C15.0658 48.7143 16.1464 45.5024 17.4535 42.382C20.6919 34.7042 25.4011 27.7175 30.6304 21.2417C43.8021 4.94627 61.0764 -8.7334 81.2949 -13.8537C103.081 -19.3684 127.295 -14.084 144.868 0.0192566C150.226 4.31881 155.041 9.40996 161.058 12.7061C166.311 15.576 172.459 16.7647 178.085 14.5064C182.734 12.6399 185.76 11.7133 190.981 11.9966C201.791 12.613 212.447 14.8629 222.593 18.6709C223.003 18.8218 223.413 18.9781 223.82 19.1343C250.271 29.3351 273.008 49.6018 284.827 75.6453C285.141 76.3336 285.445 77.0273 285.739 77.7262C292.786 94.3181 295.333 113.764 287.559 129.935Z",
+ fill: "#7F54B3"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M245.704 26.7351H50.4275C48.9672 26.7351 47.7834 27.9277 47.7834 29.3988V136.883C47.7834 138.354 48.9672 139.546 50.4275 139.546H245.704C247.165 139.546 248.349 138.354 248.349 136.883V29.3988C248.349 27.9277 247.165 26.7351 245.704 26.7351Z",
+ fill: "white"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M245.704 26.7351H50.4275C48.9672 26.7351 47.7834 27.9277 47.7834 29.3988V136.883C47.7834 138.354 48.9672 139.546 50.4275 139.546H245.704C247.165 139.546 248.349 138.354 248.349 136.883V29.3988C248.349 27.9277 247.165 26.7351 245.704 26.7351Z",
+ fill: "white"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.04",
+ d: "M245.704 26.7351H50.4275C48.9672 26.7351 47.7834 27.9277 47.7834 29.3988V136.883C47.7834 138.354 48.9672 139.546 50.4275 139.546H245.704C247.165 139.546 248.349 138.354 248.349 136.883V29.3988C248.349 27.9277 247.165 26.7351 245.704 26.7351Z",
+ fill: "white"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M247.33 25.4404H48.8017C48.5316 25.4404 48.2727 25.5485 48.0817 25.7409C47.8907 25.9333 47.7834 26.1942 47.7834 26.4662V30.8019H248.34V26.4662C248.34 26.1957 248.234 25.936 248.045 25.7439C247.856 25.5517 247.599 25.4427 247.33 25.4404Z",
+ fill: "#5A5773"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M51.7886 29.5076C52.5486 29.5076 53.1646 28.8869 53.1646 28.1213C53.1646 27.3557 52.5486 26.7351 51.7886 26.7351C51.0287 26.7351 50.4126 27.3557 50.4126 28.1213C50.4126 28.8869 51.0287 29.5076 51.7886 29.5076Z",
+ fill: "white"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M55.4935 29.5073C56.2534 29.5073 56.8695 28.8867 56.8695 28.1211C56.8695 27.3555 56.2534 26.7349 55.4935 26.7349C54.7335 26.7349 54.1174 27.3555 54.1174 28.1211C54.1174 28.8867 54.7335 29.5073 55.4935 29.5073Z",
+ fill: "white"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M59.198 29.5073C59.958 29.5073 60.5741 28.8867 60.5741 28.1211C60.5741 27.3555 59.958 26.7349 59.198 26.7349C58.4381 26.7349 57.822 27.3555 57.822 28.1211C57.822 28.8867 58.4381 29.5073 59.198 29.5073Z",
+ fill: "white"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.2",
+ d: "M118.126 40.8855H64.3022V45.4878H118.126V40.8855Z",
+ fill: "#646970"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M231.83 59.3391H64.3022V130.135H231.83V59.3391Z",
+ fill: "#5A5773"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M162.391 63.9563H159.523V58.3431C159.523 52.0091 154.51 46.7436 148.223 46.6476C146.706 46.6316 145.202 46.9179 143.796 47.4902C142.391 48.0625 141.111 48.9094 140.032 49.9821C138.953 51.0548 138.095 52.3321 137.507 53.7404C136.92 55.1486 136.616 56.66 136.611 58.1874V63.9563H133.749C132.484 63.9602 131.272 64.4682 130.378 65.3692C129.483 66.2702 128.979 67.4912 128.975 68.7654V91.8451C128.979 93.1194 129.483 94.3403 130.378 95.2413C131.272 96.1424 132.484 96.6503 133.749 96.6542H162.391C163.656 96.6503 164.868 96.1423 165.762 95.2412C166.656 94.3401 167.16 93.1192 167.163 91.8451V68.7654C167.16 67.4914 166.656 66.2704 165.762 65.3693C164.868 64.4682 163.656 63.9602 162.391 63.9563ZM149.742 78.9596V87.2257C149.745 87.6634 149.583 88.0858 149.288 88.4074C148.993 88.7289 148.588 88.9256 148.155 88.9575C147.929 88.9681 147.703 88.9325 147.49 88.8526C147.278 88.7728 147.084 88.6504 146.921 88.4929C146.757 88.3354 146.626 88.1461 146.537 87.9363C146.448 87.7266 146.402 87.5008 146.402 87.2727V78.9553C145.627 78.5748 145.004 77.9411 144.633 77.1577C144.262 76.3742 144.166 75.4873 144.359 74.6415C144.553 73.7957 145.026 73.0411 145.7 72.5007C146.374 71.9603 147.211 71.6662 148.072 71.6662C148.934 71.6662 149.77 71.9603 150.444 72.5007C151.119 73.0411 151.591 73.7957 151.785 74.6415C151.979 75.4873 151.882 76.3742 151.511 77.1577C151.141 77.9411 150.517 78.5748 149.742 78.9553V78.9596ZM156.187 63.9563H139.952V58.1874C139.952 56.0194 140.806 53.9402 142.328 52.4072C143.85 50.8742 145.914 50.013 148.066 50.013C150.218 50.013 152.282 50.8742 153.804 52.4072C155.325 53.9402 156.18 56.0194 156.18 58.1874L156.187 63.9563Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M162.391 63.5298H159.523V57.9166C159.523 51.5826 154.51 46.3171 148.223 46.2211C146.706 46.2051 145.202 46.4914 143.796 47.0637C142.391 47.636 141.111 48.4829 140.032 49.5556C138.953 50.6283 138.095 51.9056 137.507 53.3138C136.92 54.7221 136.616 56.2335 136.611 57.7609V63.5298H133.749C132.484 63.5337 131.272 64.0416 130.378 64.9427C129.483 65.8437 128.979 67.0647 128.975 68.3389V91.4186C128.979 92.6928 129.483 93.9137 130.378 94.8148C131.272 95.7158 132.484 96.2238 133.749 96.2277H162.391C163.656 96.2238 164.868 95.7158 165.762 94.8147C166.656 93.9136 167.16 92.6926 167.163 91.4186V68.3389C167.16 67.0649 166.656 65.8439 165.762 64.9428C164.868 64.0417 163.656 63.5337 162.391 63.5298ZM149.742 78.533V86.7992C149.745 87.2369 149.583 87.6593 149.288 87.9808C148.993 88.3024 148.588 88.499 148.155 88.5309C147.929 88.5416 147.703 88.5059 147.49 88.4261C147.278 88.3462 147.084 88.2239 146.921 88.0664C146.757 87.9089 146.626 87.7195 146.537 87.5098C146.448 87.3001 146.402 87.0743 146.402 86.8461V78.5288C145.627 78.1483 145.004 77.5146 144.633 76.7312C144.262 75.9477 144.166 75.0607 144.359 74.2149C144.553 73.3692 145.026 72.6145 145.7 72.0742C146.374 71.5338 147.211 71.2396 148.072 71.2396C148.934 71.2396 149.77 71.5338 150.444 72.0742C151.119 72.6145 151.591 73.3692 151.785 74.2149C151.979 75.0607 151.882 75.9477 151.511 76.7312C151.141 77.5146 150.517 78.1483 149.742 78.5288V78.533ZM156.187 63.5298H139.952V57.7609C139.952 55.5929 140.806 53.5137 142.328 51.9807C143.85 50.4477 145.914 49.5864 148.066 49.5864C150.218 49.5864 152.282 50.4477 153.804 51.9807C155.325 53.5137 156.18 55.5929 156.18 57.7609L156.187 63.5298Z",
+ fill: "#444053"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M231.83 52.5251H214.873V56.558H231.83V52.5251Z",
+ fill: "#5A5773"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M237.601 174.735C237.489 174.17 237.298 173.623 237.034 173.112L234.493 169.291H234.508C234.508 169.291 234.108 167.371 234.508 166.429C234.908 165.486 233.081 163.168 233.081 163.168C233.081 163.168 232.859 162.586 233.439 161.869C234.019 161.152 233.081 159.054 233.081 159.054C233.081 159.054 232.637 154.671 232.592 154.002C232.548 153.332 232.19 149.621 232.19 149.621L231.343 141.754L229.836 120.903L229.809 120.512C229.995 120.421 230.094 120.363 230.094 120.363L229.794 108.834L230.054 108.597C232.328 106.524 237.572 101.726 237.519 101.621C237.466 101.517 236.884 93.6089 236.816 91.6298C236.758 90.2233 236.452 88.8384 235.914 87.5393C235.783 87.277 235.404 85.5474 235.247 84.8159C235.205 84.6155 235.177 84.4896 235.177 84.4896C235.177 84.4896 233.64 81.538 233.774 80.1966C233.907 78.8552 234.174 77.8507 230.897 77.3815C230.897 77.3815 228.145 76.9677 226.506 75.8396C225.537 75.1638 224.478 74.6296 223.36 74.2529C223.36 74.2529 222.442 72.5467 221.802 73.1247C221.532 72.5159 221.329 71.8786 221.199 71.2245L221.18 71.1051C222.394 70.2526 223.267 68.9933 223.644 67.5521C223.665 67.471 223.682 67.3878 223.701 67.3068C223.765 67.3285 223.831 67.3407 223.898 67.3431C224.455 67.3431 224.798 66.7182 225.319 66.5198C225.53 66.4367 225.791 66.4239 225.954 66.2554C226.007 66.1904 226.047 66.1152 226.071 66.0342C226.095 65.9532 226.103 65.8681 226.093 65.7841C226.099 65.7259 226.099 65.6674 226.093 65.6092C226.094 65.5886 226.094 65.568 226.093 65.5474V65.5687C225.952 64.7924 225.355 64.1035 225.42 63.3145C225.484 62.5723 226.131 61.9197 226.079 61.1967C226.078 61.1396 226.073 61.0825 226.064 61.0261V61.0517C225.985 60.7694 225.84 60.5105 225.64 60.2967C225.412 59.984 225.113 59.7309 224.768 59.5588C224.474 59.4287 224.133 59.3989 223.858 59.2432C223.049 58.7996 223.051 57.6437 222.571 56.8546C222.365 56.5252 222.073 56.2595 221.726 56.0868C221.38 55.914 220.993 55.841 220.608 55.8757C220.007 55.9355 219.463 56.2575 218.868 56.362C218.055 56.507 217.228 56.2404 216.457 55.9355C215.686 55.6305 214.905 55.2957 214.078 55.2957C213.25 55.2957 212.354 55.7222 212.105 56.5091C211.971 56.9357 212.037 57.3942 211.935 57.8271C211.753 58.5906 211.088 59.1366 210.4 59.5162C209.977 59.7529 209.473 60.0238 209.342 60.4716C209.342 60.4588 209.342 60.4482 209.342 60.4375C209.332 60.4732 209.325 60.5096 209.321 60.5463C209.316 60.5938 209.316 60.6416 209.321 60.6892C209.321 60.9963 209.482 61.2884 209.59 61.5806C209.791 62.1365 209.786 62.7468 209.577 63.2995C209.42 63.7047 209.153 64.0609 209.001 64.464C208.929 64.6517 208.882 64.8482 208.861 65.0483V65.0142C208.856 65.1051 208.856 65.1963 208.861 65.2872C208.859 65.5986 208.931 65.906 209.073 66.1829C209.17 66.3741 209.304 66.5437 209.468 66.6818C209.631 66.8199 209.82 66.9236 210.024 66.9869C210.447 67.085 210.712 66.667 211.158 66.7736C211.238 66.793 211.317 66.818 211.393 66.8483C211.408 66.9442 211.423 67.0402 211.44 67.1341C211.71 68.5694 212.469 69.8645 213.586 70.7958C213.586 70.847 213.603 70.8982 213.61 70.9515C213.745 71.8018 213.804 72.6626 213.785 73.5235C213.785 73.5235 213.119 72.5403 212.204 74.4384C212.204 74.4384 209.818 75.8246 208.995 75.9825C208.171 76.1403 205.248 77.1661 205.248 77.1661C204.807 77.4873 204.276 77.6598 203.732 77.6587C202.82 77.6587 202.062 79.6698 202.172 80.7639C202.282 81.8579 202.106 82.6641 201.257 82.7089C200.408 82.7537 200.872 84.4875 200.878 84.5174L200.8 84.8906C200.635 85.6541 200.275 87.292 200.148 87.5479C199.61 88.847 199.304 90.2318 199.244 91.6383C199.178 93.6174 198.609 101.495 198.543 101.63C198.499 101.717 202.091 105.025 204.617 107.337L204.983 107.67L203.821 118.606C203.855 119.027 203.979 119.436 204.185 119.804C204.391 120.173 204.674 120.491 205.015 120.738C205.015 120.866 205.015 120.997 205.002 121.131C204.951 122.41 204.85 123.959 204.646 124.364C204.291 125.081 204.38 128.924 204.38 128.924C204.38 128.924 204.022 136.746 203.577 137.597C203.133 138.448 203.042 140.233 203.175 140.583C203.309 140.933 202.728 150.327 202.728 150.327L202.284 154.53C202.284 154.53 202.417 158.553 202.015 158.642C201.613 158.732 201.391 161.504 201.391 161.504C201.391 161.504 199.966 163.471 200.588 164.185C201.211 164.899 200.497 165.215 200.432 165.392C200.366 165.569 199.073 166.245 200.008 168.745C200.017 168.769 200.027 168.794 200.038 168.817C199.161 170.043 196.384 174 196.553 174.601C196.678 174.984 196.943 175.304 197.294 175.497C197.948 175.891 199.07 176.075 200.855 175.497C203.819 174.535 203.607 173.842 203.607 173.842C203.622 173.518 203.76 173.212 203.993 172.987C204.225 172.763 204.534 172.636 204.856 172.635C206.082 172.545 206.996 171.406 206.996 171.406L206.852 170.867L206.655 170.12C206.679 169.907 206.829 169.534 207.502 169.327C208.529 169.013 208.26 167.047 208.26 167.047C208.26 167.047 208.171 164.991 208.616 164.722C209.06 164.454 208.885 161.056 208.885 161.056C208.885 161.056 209.376 158.597 210.087 156.943C210.798 155.288 211.649 145.456 211.649 145.456C211.649 145.456 212.227 140.628 212.763 139.241C213.298 137.855 213.79 133.967 213.79 133.967C213.79 133.967 217.09 127.529 217.132 126.098C217.132 126.098 217.556 124.756 217.979 126.232C218.402 127.708 219.592 131.24 219.592 131.24L220.75 135.575L222.133 142.057L223.026 147.512C223.026 147.512 222.89 149.568 223.238 150.284C223.585 151.001 224.084 152.652 223.818 152.965C223.551 153.279 224.351 154.754 224.576 155.066C224.8 155.377 224.576 161.995 224.576 161.995C224.576 161.995 225.6 167.627 227.071 168.606C227.174 168.674 227.283 168.731 227.397 168.777C227.376 169.387 227.355 170.203 227.383 170.63C227.379 170.725 227.395 170.82 227.429 170.909C227.563 171.088 229.078 172.296 229.392 172.296C229.705 172.296 230.816 173.078 230.863 173.458C230.909 173.837 234.121 175.445 234.576 175.492C235.031 175.539 237.237 175.938 237.54 175.313C237.615 175.13 237.636 174.93 237.601 174.735ZM229.711 94.1805L229.94 94.3788C229.94 94.3788 230.175 96.2235 230.342 96.7759C230.509 97.3283 230.308 98.4031 230.308 98.4031C230.324 98.8043 230.403 99.2003 230.543 99.5761C230.742 99.9792 230.141 100.856 230.141 100.856H229.605L229.438 93.9501L229.711 94.1805ZM213.785 73.5619V73.5214C213.781 73.5342 213.779 73.5491 213.779 73.5619H213.785ZM205.561 100.146C205.479 99.9669 205.466 99.7634 205.527 99.5761C205.575 99.4748 205.612 99.3691 205.639 99.2605C205.705 98.9803 205.746 98.6948 205.762 98.4074C205.762 98.4038 205.762 98.4003 205.762 98.3967C205.743 98.2944 205.572 97.3048 205.73 96.7802C205.889 96.2555 206.13 94.3831 206.13 94.3831L206.283 94.253L206.636 93.9437C206.636 93.9437 206.636 93.8286 206.662 93.6388C206.736 95.2596 206.795 97.051 206.7 97.1406C206.522 97.3176 205.874 99.06 206.031 99.1282C206.082 99.1517 206.012 99.8491 205.893 100.787C205.76 100.586 205.649 100.371 205.561 100.146Z",
+ fill: "url(#paint0_linear)"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M222.623 75.2659V77.9189L217.221 80.6551C217.221 80.6551 211.857 77.3857 213.18 76.0848C214.026 75.2616 213.863 73.001 213.635 71.4463C213.501 70.542 213.347 69.8787 213.347 69.8787C213.347 69.8787 222.983 67.1063 221.527 69.2112C221.04 69.915 221.002 70.8256 221.165 71.7278C221.495 73.5171 222.623 75.2659 222.623 75.2659Z",
+ fill: "#CC818C"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M207.824 101.21L207.127 109.851C207.127 109.851 206.083 108.898 204.733 107.657C202.228 105.356 198.672 102.065 198.714 101.977C198.78 101.843 199.349 94.0034 199.411 92.0328C199.469 90.6341 199.771 89.2566 200.304 87.9637C200.431 87.7078 200.789 86.0785 200.939 85.3171C200.99 85.0804 201.022 84.9268 201.022 84.9268L202.19 84.4534C202.19 84.4534 207.059 89.9258 207.059 90.026C207.059 90.1262 206.727 94.3297 206.727 94.3297L206.382 94.6326L206.232 94.7626C206.232 94.7626 205.999 96.5989 205.834 97.1491C205.668 97.6993 205.846 98.6548 205.865 98.7571C205.85 99.0445 205.809 99.3299 205.745 99.6102C205.717 99.718 205.68 99.8229 205.632 99.9237C205.573 100.11 205.585 100.313 205.666 100.491C205.76 100.738 205.883 100.974 206.03 101.193L207.824 101.21Z",
+ fill: "#444053"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M237.332 101.977C237.383 102.082 232.19 106.857 229.94 108.919L228.919 109.851L228.229 101.209H230.018C230.018 101.209 230.615 100.341 230.416 99.9405C230.277 99.5666 230.199 99.1727 230.185 98.7739C230.185 98.7739 230.382 97.7076 230.217 97.1552C230.052 96.6028 229.819 94.7688 229.819 94.7688L229.593 94.5726L229.324 94.3358C229.324 94.3358 228.991 90.1324 228.991 90.0321C228.991 89.9319 233.86 84.4595 233.86 84.4595L235.02 84.9265C235.02 84.9265 235.046 85.0524 235.088 85.2528C235.245 85.9801 235.62 87.7011 235.749 87.9634C236.282 89.2563 236.584 90.6338 236.642 92.0326C236.697 94.0031 237.264 101.843 237.332 101.977Z",
+ fill: "#444053"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M234.349 166.476C233.951 167.41 234.349 169.323 234.349 169.323C234.349 169.323 228.422 169.634 226.974 168.655C225.526 167.676 224.501 162.069 224.501 162.069C224.501 162.069 224.713 155.486 224.501 155.175C224.29 154.863 223.485 153.396 223.75 153.085C224.014 152.773 223.538 151.127 223.176 150.414C222.814 149.702 222.964 147.657 222.964 147.657L222.08 142.227L220.712 135.778L219.55 131.461C219.55 131.461 218.358 127.947 217.954 126.48C217.549 125.012 217.122 126.345 217.122 126.345C217.079 127.77 213.811 134.176 213.811 134.176C213.811 134.176 213.324 138.047 212.795 139.425C212.265 140.803 211.689 145.61 211.689 145.61C211.689 145.61 210.843 155.396 210.144 157.043C209.445 158.689 208.965 161.135 208.965 161.135C208.965 161.135 209.143 164.518 208.7 164.784C208.258 165.051 208.33 167.098 208.33 167.098C208.33 167.098 208.594 169.054 207.578 169.367C206.562 169.681 206.732 170.346 206.732 170.346C206.732 170.346 201.079 171.28 200.152 168.787C199.225 166.294 200.506 165.631 200.575 165.452C200.645 165.273 201.35 164.963 200.732 164.249C200.114 163.535 201.526 161.581 201.526 161.581C201.526 161.581 201.748 158.824 202.144 158.734C202.54 158.644 202.411 154.641 202.411 154.641L202.851 150.459C202.851 150.459 203.427 141.116 203.294 140.76C203.16 140.404 203.249 138.627 203.692 137.774C204.134 136.921 204.485 129.141 204.485 129.141C204.485 129.141 204.397 125.317 204.75 124.605C204.962 124.202 205.051 122.651 205.101 121.387C205.14 120.421 205.148 119.621 205.148 119.621L210.093 117.753L216.444 115.708L221.787 118.288L229.605 119.8L229.703 121.159L231.195 141.912L232.042 149.741C232.042 149.741 232.395 153.432 232.44 154.1C232.484 154.767 232.925 159.129 232.925 159.129C232.925 159.129 233.852 161.219 233.278 161.931C232.705 162.643 232.925 163.21 232.925 163.21C232.925 163.21 234.747 165.541 234.349 166.476Z",
+ fill: "#444053"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M221.531 69.2109C221.044 69.9147 221.006 70.8254 221.169 71.7275C220.057 72.5181 218.717 72.9186 217.356 72.8674C215.996 72.8161 214.69 72.316 213.639 71.4438C213.506 70.5396 213.351 69.8763 213.351 69.8763C213.351 69.8763 222.987 67.1081 221.531 69.2109Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M223.783 66.4897C223.783 67.7256 223.42 68.9337 222.738 69.9613C222.056 70.9889 221.088 71.7898 219.954 72.2628C218.821 72.7357 217.574 72.8595 216.371 72.6184C215.167 72.3773 214.062 71.7821 213.195 70.9082C212.327 70.0343 211.736 68.9209 211.497 67.7088C211.258 66.4967 211.381 65.2403 211.85 64.0985C212.32 62.9567 213.115 61.9807 214.135 61.2941C215.155 60.6075 216.354 60.241 217.581 60.241C218.396 60.2371 219.205 60.396 219.959 60.7086C220.713 61.0213 221.399 61.4814 221.975 62.0624C222.552 62.6435 223.009 63.3339 223.319 64.0938C223.63 64.8537 223.787 65.668 223.783 66.4897Z",
+ fill: "#CC818C"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M225.075 76.8738L223.043 113.332L212.003 110.996L209.816 96.3812L211.982 76.7607L213.612 76.9719L216.487 77.3408L219.334 77.5178L222.421 77.1723L225.075 76.8738Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M225.075 77.1404L223.043 113.598L212.003 111.263L209.816 96.6479L211.982 77.0295L213.612 77.2385L216.487 77.6075L219.334 77.7845L222.421 77.439L225.075 77.1404Z",
+ fill: "white"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M216 78.1191L219.975 78.2535L218.858 79.8295C218.858 79.8295 218.936 83.0136 219.467 83.9264C219.999 84.8391 219.842 98.9403 219.842 98.9403L218.784 100.964L216.974 98.695L216.997 80.0769L216 78.1191Z",
+ fill: "#7F54B3"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M216 78.1191L219.975 78.2535L218.858 79.8295C218.858 79.8295 218.936 83.0136 219.467 83.9264C219.999 84.8391 219.842 98.9403 219.842 98.9403L218.784 100.964L216.974 98.695L216.997 80.0769L216 78.1191Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M222.225 73.9817L218.517 78.1191L220.636 80.3434L224.148 76.8949L222.225 73.9817Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M222.225 73.7151L218.517 77.8524L220.636 80.0768L224.148 76.6283L222.225 73.7151Z",
+ fill: "white"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M216.95 77.9187L213.194 74.1375L212.841 76.1166L214.564 80.4544L216.95 77.9187Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M217.082 77.652L213.328 73.8708L212.975 75.85L214.698 80.1878L217.082 77.652Z",
+ fill: "white"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M229.722 121.165C227.919 122.03 225.988 122.592 224.006 122.83C220.363 123.297 217.979 118.627 217.979 118.627L216.588 120.45C216.146 122.387 209.412 122.875 206.674 122.141C206.106 122 205.572 121.746 205.104 121.393C205.142 120.427 205.15 119.627 205.15 119.627L210.095 117.759L216.446 115.714L221.789 118.294L229.607 119.806L229.722 121.165Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M225.075 77.1426L223.045 113.598L212.003 111.263L209.812 96.65L211.975 77.0295L213.605 77.2428C213.564 77.9575 213.484 78.6694 213.366 79.3755C213.102 80.6231 214.736 89.4757 214.736 89.4757C214.736 89.4757 217.841 99.4033 219.239 97.9723C220.636 96.5413 222.626 88.9852 222.626 88.9852C223.974 86.1829 222.649 78.3219 222.55 78.1641C222.48 77.9316 222.438 77.6919 222.423 77.4497L225.075 77.1426Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M229.845 105.353L229.938 108.925L228.917 109.857L228.229 101.209H229.753L229.845 105.353Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M205.868 98.7637C205.852 99.051 205.812 99.3364 205.747 99.6167C205.747 99.5378 205.747 99.493 205.73 99.4866C205.666 99.4695 205.743 99.1433 205.868 98.7637Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M207.824 101.21L207.127 109.851C207.127 109.851 206.084 108.898 204.733 107.657L204.894 106.125C204.894 106.125 205.464 102.363 205.671 100.508C205.765 100.755 205.887 100.991 206.035 101.21H207.824Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M213.813 74.0032C213.813 74.0032 213.152 73.0243 212.246 74.9139C212.246 74.9139 209.884 76.2937 209.071 76.4494C208.258 76.6051 205.366 77.6288 205.366 77.6288C204.929 77.9468 204.404 78.1177 203.865 78.1171C202.959 78.1171 202.208 80.1197 202.318 81.2095C202.428 82.2993 202.252 83.1012 201.414 83.1459C200.575 83.1907 201.037 84.9459 201.037 84.9459L206.624 91.3972C206.624 91.3972 206.977 97.3367 206.801 97.5158C206.626 97.6949 205.984 99.4352 206.139 99.4949C206.293 99.5546 205.292 106.123 205.292 106.123L203.946 118.87C203.946 118.87 203.946 121.003 206.685 121.739C209.424 122.474 216.163 121.988 216.597 120.052L217.987 118.226C217.987 118.226 220.371 122.899 224.014 122.432C227.658 121.965 229.978 120.63 229.978 120.63L229.58 105.353L229.315 94.3424L235.004 84.9267C235.004 84.9267 233.479 81.99 233.613 80.6614C233.746 79.3327 234.009 78.3261 230.763 77.8591C230.763 77.8591 228.026 77.4475 226.413 76.3236C225.454 75.653 224.407 75.1217 223.301 74.7454C223.301 74.7454 222.391 73.0393 221.758 73.6236C221.758 73.6236 222.393 76.0357 222.34 76.3961C222.287 76.7565 222.439 78.3858 222.539 78.5543C222.638 78.7228 223.964 86.5731 222.615 89.3754C222.615 89.3754 220.636 96.9315 219.228 98.3625C217.82 99.7935 214.725 89.866 214.725 89.866C214.725 89.866 213.091 81.0112 213.355 79.7657C213.62 78.5202 213.813 74.0032 213.813 74.0032Z",
+ fill: "#444053"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M218.538 103.167C219.074 103.167 219.509 102.729 219.509 102.188C219.509 101.648 219.074 101.209 218.538 101.209C218.001 101.209 217.566 101.648 217.566 102.188C217.566 102.729 218.001 103.167 218.538 103.167Z",
+ fill: "#50575E"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M218.538 107.782C219.074 107.782 219.509 107.344 219.509 106.804C219.509 106.263 219.074 105.825 218.538 105.825C218.001 105.825 217.566 106.263 217.566 106.804C217.566 107.344 218.001 107.782 218.538 107.782Z",
+ fill: "#50575E"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M223.783 66.4897C223.785 67.0229 223.718 67.554 223.584 68.07C223.454 68.01 223.345 67.9113 223.271 67.787C223.198 67.6628 223.164 67.519 223.174 67.3748C223.201 67.121 223.369 66.8885 223.333 66.6368C223.28 66.2487 222.814 66.0909 222.568 65.7838C222.266 65.4127 222.331 64.8731 222.357 64.3933C222.382 63.9134 222.261 63.3269 221.815 63.1627C221.681 63.1137 221.535 63.1094 221.406 63.054C221.055 62.9047 220.947 62.4653 220.712 62.1625C220.242 61.5526 219.308 61.5654 218.595 61.8554C218.284 62.0054 217.966 62.1392 217.642 62.2563C217.48 62.314 217.307 62.3372 217.136 62.3243C216.964 62.3115 216.797 62.2629 216.645 62.1817C216.505 62.0921 216.393 61.9684 216.249 61.8789C215.771 61.5888 215.144 61.8789 214.729 62.2521C214.314 62.6253 213.982 63.1265 213.459 63.3547C213.224 63.4613 212.934 63.5253 212.824 63.7556C212.769 63.881 212.746 64.0179 212.756 64.1544C212.756 64.984 212.854 65.8264 212.682 66.639C212.572 67.1615 212.208 67.7544 211.681 67.6904C211.615 67.6806 211.551 67.6642 211.488 67.6413C211.329 66.7872 211.349 65.9091 211.547 65.0631C211.744 64.2171 212.114 63.4219 212.634 62.7282C213.153 62.0346 213.811 61.4577 214.564 61.0344C215.317 60.6112 216.15 60.3509 217.009 60.2702C217.868 60.1895 218.734 60.2901 219.552 60.5657C220.37 60.8412 221.122 61.2857 221.76 61.8706C222.398 62.4555 222.908 63.168 223.257 63.9626C223.606 64.7572 223.787 65.6164 223.788 66.4854L223.783 66.4897Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M211.211 67.2875C211.37 67.3237 211.52 67.4069 211.683 67.4282C212.21 67.4922 212.574 66.8993 212.684 66.3768C212.856 65.5643 212.767 64.7219 212.761 63.8923C212.749 63.7559 212.771 63.6187 212.826 63.4935C212.947 63.2632 213.237 63.1992 213.461 63.0925C213.974 62.8622 214.308 62.3717 214.731 61.99C215.155 61.6082 215.771 61.3267 216.249 61.6167C216.391 61.702 216.505 61.83 216.645 61.9196C216.798 61.9996 216.965 62.0475 217.137 62.0603C217.309 62.0732 217.481 62.0507 217.644 61.9942C217.972 61.8961 218.279 61.7234 218.595 61.5933C219.302 61.3032 220.238 61.2926 220.712 61.8982C220.947 62.2032 221.055 62.6404 221.406 62.7897C221.535 62.8452 221.681 62.8516 221.815 62.9006C222.261 63.0691 222.376 63.6513 222.357 64.1311C222.338 64.611 222.274 65.1506 222.568 65.5216C222.814 65.8245 223.28 65.9823 223.333 66.3747C223.366 66.6264 223.201 66.861 223.174 67.1126C223.168 67.2061 223.18 67.3 223.21 67.3887C223.24 67.4775 223.287 67.5594 223.349 67.6296C223.41 67.6998 223.485 67.757 223.569 67.7979C223.653 67.8387 223.744 67.8624 223.836 67.8676C224.387 67.8676 224.728 67.247 225.242 67.0486C225.454 66.9655 225.71 66.9527 225.877 66.7842C225.939 66.7032 225.983 66.6096 226.006 66.5098C226.029 66.41 226.029 66.3064 226.008 66.2062C225.905 65.3894 225.255 64.6792 225.325 63.8603C225.39 63.0755 226.112 62.3909 225.96 61.6189C225.882 61.3342 225.737 61.0729 225.536 60.8575C225.309 60.5477 225.014 60.2957 224.673 60.1217C224.378 59.9938 224.038 59.9639 223.769 59.8082C222.968 59.3668 222.971 58.2151 222.499 57.4303C222.296 57.106 222.009 56.8441 221.668 56.6733C221.328 56.5025 220.947 56.4294 220.568 56.4621C219.973 56.5218 219.433 56.8396 218.845 56.9462C218.038 57.0912 217.221 56.8247 216.457 56.5197C215.692 56.2147 214.92 55.8799 214.101 55.8799C213.281 55.8799 212.394 56.3064 212.144 57.087C212.013 57.5135 212.079 57.9699 211.977 58.3986C211.799 59.1599 211.13 59.7016 210.457 60.0791C209.994 60.3393 209.437 60.6379 209.382 61.1689C209.346 61.5058 209.53 61.8087 209.646 62.135C209.844 62.687 209.84 63.2922 209.634 63.8411C209.479 64.2442 209.221 64.5982 209.064 64.9991C208.953 65.2713 208.901 65.564 208.91 65.8582C208.92 66.1523 208.991 66.441 209.119 66.7053C209.218 66.8979 209.355 67.0683 209.521 67.2058C209.687 67.3433 209.88 67.4451 210.087 67.505C210.504 67.6052 210.766 67.1894 211.211 67.2875Z",
+ fill: "#2F2E41"
+ }), Object(external_this_wp_element_["createElement"])("g", {
+ opacity: "0.1"
+ }, Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M212.685 65.9121C212.574 66.4346 212.208 67.0275 211.681 66.9635C211.518 66.9422 211.37 66.859 211.209 66.8227C210.767 66.7246 210.504 67.1426 210.087 67.036C209.88 66.9762 209.687 66.8744 209.52 66.7369C209.354 66.5993 209.217 66.429 209.117 66.2362C209.007 66.0192 208.94 65.7822 208.921 65.5389C208.878 65.9165 208.947 66.2983 209.117 66.6372C209.217 66.8299 209.354 67.0003 209.52 67.1378C209.687 67.2753 209.88 67.3771 210.087 67.4369C210.51 67.535 210.767 67.117 211.209 67.2237C211.364 67.278 211.522 67.3243 211.681 67.3623C212.208 67.4284 212.574 66.8355 212.685 66.313C212.771 65.8514 212.805 65.3813 212.786 64.9119C212.784 65.2478 212.75 65.5827 212.685 65.9121Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M209.784 62.7001C209.811 62.3506 209.764 61.9994 209.645 61.67C209.549 61.451 209.468 61.2259 209.401 60.9961C209.392 61.0319 209.385 61.0682 209.38 61.1049C209.344 61.4397 209.53 61.7447 209.645 62.071C209.719 62.2735 209.766 62.4851 209.784 62.7001Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M225.958 61.5762C225.858 62.1819 225.371 62.7513 225.323 63.3889C225.311 63.4981 225.311 63.6082 225.323 63.7174C225.429 62.9731 226.083 62.3141 225.958 61.5762Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M225.994 66.0762C225.976 66.1653 225.934 66.2479 225.873 66.315C225.717 66.4835 225.45 66.4963 225.238 66.5795C224.724 66.7778 224.392 67.4048 223.833 67.3984C223.69 67.3903 223.552 67.3386 223.439 67.2503C223.326 67.162 223.241 67.0411 223.198 66.9036C223.185 66.9499 223.175 66.9969 223.168 67.0444C223.162 67.1378 223.174 67.2314 223.204 67.3199C223.235 67.4084 223.282 67.49 223.343 67.56C223.405 67.63 223.48 67.687 223.563 67.7277C223.647 67.7684 223.738 67.7921 223.831 67.7972C224.383 67.7972 224.722 67.1766 225.236 66.9804C225.448 66.8972 225.706 66.8844 225.871 66.716C225.933 66.635 225.977 66.5413 226 66.4415C226.023 66.3418 226.024 66.2382 226.003 66.138C226 66.1124 225.996 66.0954 225.994 66.0762Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M223.339 65.8993C223.287 65.5111 222.821 65.3533 222.575 65.0462C222.425 64.8445 222.343 64.5991 222.342 64.3467C222.325 64.7434 222.332 65.1486 222.575 65.4471C222.819 65.7457 223.189 65.8737 223.308 66.1808C223.338 66.0902 223.348 65.9943 223.339 65.8993Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M222.355 63.6662C222.372 63.1863 222.257 62.5998 221.811 62.4356C221.679 62.3866 221.533 62.3802 221.404 62.3269C221.053 62.1776 220.943 61.7383 220.71 61.4354C220.238 60.8276 219.304 60.8383 218.593 61.1283C218.275 61.2584 217.973 61.4311 217.642 61.5293C217.48 61.5869 217.308 61.6101 217.136 61.5972C216.964 61.5844 216.797 61.5358 216.645 61.4546C216.506 61.365 216.391 61.2413 216.249 61.1518C215.769 60.8617 215.142 61.1518 214.729 61.525C214.317 61.8982 213.982 62.3972 213.459 62.6276C213.222 62.7342 212.934 62.7982 212.811 63.0285C212.758 63.1541 212.735 63.291 212.746 63.4273C212.746 63.5105 212.746 63.5937 212.746 63.6768C212.749 63.5909 212.77 63.5066 212.807 63.4295C212.93 63.1991 213.218 63.1351 213.455 63.0285C213.967 62.7982 214.302 62.3077 214.725 61.9259C215.149 61.5442 215.765 61.2627 216.245 61.5527C216.387 61.638 216.501 61.766 216.641 61.8534C216.793 61.9351 216.96 61.984 217.132 61.9968C217.303 62.0097 217.476 61.9862 217.638 61.9281C217.962 61.812 218.279 61.6789 218.589 61.5293C219.298 61.2392 220.231 61.2264 220.706 61.8342C220.938 62.1371 221.049 62.5764 221.4 62.7257C221.529 62.7811 221.675 62.7875 221.806 62.8366C222.168 62.9731 222.312 63.3825 222.344 63.7877L222.355 63.6662Z",
+ fill: "black"
+ })), Object(external_this_wp_element_["createElement"])("g", {
+ opacity: "0.1"
+ }, Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M211.928 65.8994C211.94 65.5454 212.066 65.205 212.287 64.9292C212.508 64.6535 212.811 64.4573 213.152 64.3703C214.096 64.1378 215.086 64.183 216.006 64.5004C218.015 65.17 215.752 67.5799 215.752 67.5799C215.752 67.5799 214.246 69.0728 212.843 68.0299C212.428 67.7143 212.138 67.2609 212.024 66.7503C211.955 66.4721 211.923 66.186 211.928 65.8994Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M222.972 65.8991C222.96 65.5448 222.834 65.2042 222.613 64.9284C222.392 64.6526 222.088 64.4566 221.747 64.37C220.803 64.1379 219.814 64.1831 218.895 64.5001C216.886 65.1697 219.149 67.5796 219.149 67.5796C219.149 67.5796 220.652 69.0725 222.058 68.0296C222.472 67.714 222.763 67.2606 222.877 66.75C222.946 66.4718 222.978 66.1857 222.972 65.8991Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M215.627 64.3039V64.4041H219.295V64.2847L215.627 64.3039Z",
+ fill: "black"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ opacity: "0.1",
+ d: "M216.797 65.3724H216.914V65.0333C216.914 65.0333 217.286 64.7412 217.905 65.0333V65.3362H218.116V65.1378H218.013C218.013 65.1378 218.055 64.7262 217.365 64.7923C217.365 64.7923 216.81 64.739 216.823 65.093H216.696L216.797 65.3724Z",
+ fill: "black"
+ })), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M211.928 65.7608C211.941 65.4068 212.066 65.0664 212.287 64.7906C212.508 64.5149 212.811 64.3187 213.152 64.2317C214.096 64.0008 215.086 64.0459 216.006 64.3618C218.015 65.0336 215.752 67.4413 215.752 67.4413C215.752 67.4413 214.246 68.9342 212.843 67.8913C212.428 67.5765 212.137 67.1228 212.024 66.6117C211.955 66.3336 211.923 66.0474 211.928 65.7608Z",
+ fill: "#2F2E41"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M222.973 65.7608C222.961 65.4066 222.835 65.0659 222.613 64.7902C222.392 64.5144 222.088 64.3184 221.747 64.2317C220.804 64.0008 219.815 64.0459 218.896 64.3618C216.887 65.0336 219.15 67.4414 219.15 67.4414C219.15 67.4414 220.653 68.9342 222.058 67.8914C222.474 67.5765 222.764 67.1229 222.878 66.6118C222.947 66.3336 222.979 66.0475 222.973 65.7608Z",
+ fill: "#2F2E41"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M215.627 64.1696V64.2719H219.295V64.1504L215.627 64.1696Z",
+ fill: "#2F2E41"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M216.797 65.2382H216.914V64.8991C216.914 64.8991 217.286 64.6091 217.905 64.8991V65.2041H218.116V65.0036H218.013C218.013 65.0036 218.055 64.5942 217.365 64.6582C217.365 64.6582 216.81 64.607 216.823 64.9589H216.696L216.797 65.2382Z",
+ fill: "#2F2E41"
+ })), Object(external_this_wp_element_["createElement"])("defs", null, Object(external_this_wp_element_["createElement"])("linearGradient", {
+ id: "paint0_linear",
+ x1: "38982",
+ y1: "103102",
+ x2: "38982",
+ y2: "34934.7",
+ gradientUnits: "userSpaceOnUse"
+ }, Object(external_this_wp_element_["createElement"])("stop", {
+ stopColor: "#808080",
+ stopOpacity: "0.25"
+ }), Object(external_this_wp_element_["createElement"])("stop", {
+ offset: "0.54",
+ stopColor: "#808080",
+ stopOpacity: "0.12"
+ }), Object(external_this_wp_element_["createElement"])("stop", {
+ offset: "1",
+ stopColor: "#808080",
+ stopOpacity: "0.1"
+ })), Object(external_this_wp_element_["createElement"])("clipPath", {
+ id: "speed-svg"
+ }, Object(external_this_wp_element_["createElement"])("path", {
+ d: "M0 6C0 2.6863 2.68629 0 6 0H289C292.314 0 295 2.68629 295 6V160H0V6Z",
+ fill: "white"
+ }))));
+});
+// EXTERNAL MODULE: ./client/wc-api/with-select.js
+var with_select = __webpack_require__(101);
+
+// EXTERNAL MODULE: ./client/lib/tracks.js
+var tracks = __webpack_require__(79);
+
+// EXTERNAL MODULE: ./client/wc-api/onboarding/constants.js
+var constants = __webpack_require__(759);
+
+// CONCATENATED MODULE: ./client/profile-wizard/steps/benefits/index.js
+
+
+
+
+
+
+
+
+
+function benefits_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (benefits_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function benefits_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+
+
+
+var benefits_Benefits = /*#__PURE__*/function (_Component) {
+ inherits_default()(Benefits, _Component);
+
+ var _super = benefits_createSuper(Benefits);
+
+ function Benefits(props) {
+ var _this;
+
+ classCallCheck_default()(this, Benefits);
+
+ _this = _super.call(this, props);
+ _this.state = {
+ isInstalling: false,
+ isPending: false
+ };
+ _this.isJetpackActive = props.activePlugins.includes('jetpack');
+ _this.isWcsActive = props.activePlugins.includes('woocommerce-services');
+ _this.pluginsToInstall = [];
+
+ if (!_this.isJetpackActive) {
+ _this.pluginsToInstall.push('jetpack');
+ }
+
+ if (!_this.isWcsActive) {
+ _this.pluginsToInstall.push('woocommerce-services');
+ }
+
+ Object(tracks["b" /* recordEvent */])('storeprofiler_plugins_to_install', {
+ plugins: _this.pluginsToInstall
+ });
+ _this.startPluginInstall = _this.startPluginInstall.bind(assertThisInitialized_default()(_this));
+ _this.skipPluginInstall = _this.skipPluginInstall.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(Benefits, [{
+ key: "componentDidUpdate",
+ value: function componentDidUpdate(prevProps, prevState) {
+ var _this$props = this.props,
+ goToNextStep = _this$props.goToNextStep,
+ isRequesting = _this$props.isRequesting;
+ var _this$state = this.state,
+ isInstalling = _this$state.isInstalling,
+ isPending = _this$state.isPending;
+
+ if (isPending && !isRequesting && !isInstalling && (prevProps.isRequesting || prevState.isInstalling)) {
+ goToNextStep();
+ }
+ }
+ }, {
+ key: "skipPluginInstall",
+ value: function () {
+ var _skipPluginInstall = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
+ var _this$props2, createNotice, isProfileItemsError, updateProfileItems, plugins;
+
+ return regeneratorRuntime.wrap(function _callee$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ _this$props2 = this.props, createNotice = _this$props2.createNotice, isProfileItemsError = _this$props2.isProfileItemsError, updateProfileItems = _this$props2.updateProfileItems;
+ this.setState({
+ isPending: true
+ });
+ plugins = this.isJetpackActive ? 'skipped-wcs' : 'skipped';
+ _context.next = 5;
+ return updateProfileItems({
+ plugins: plugins
+ });
+
+ case 5:
+ if (isProfileItemsError) {
+ createNotice('error', Object(external_this_wp_i18n_["__"])('There was a problem updating your preferences.', 'woocommerce-admin'));
+ } else {
+ Object(tracks["b" /* recordEvent */])('storeprofiler_install_plugins', {
+ install: false,
+ plugins: plugins
+ });
+ }
+
+ case 6:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, _callee, this);
+ }));
+
+ function skipPluginInstall() {
+ return _skipPluginInstall.apply(this, arguments);
+ }
+
+ return skipPluginInstall;
+ }()
+ }, {
+ key: "startPluginInstall",
+ value: function () {
+ var _startPluginInstall = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
+ var _this$props3, updateProfileItems, updateOptions, plugins;
+
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
+ while (1) {
+ switch (_context2.prev = _context2.next) {
+ case 0:
+ _this$props3 = this.props, updateProfileItems = _this$props3.updateProfileItems, updateOptions = _this$props3.updateOptions;
+ this.setState({
+ isInstalling: true,
+ isPending: true
+ });
+ _context2.next = 4;
+ return updateOptions({
+ woocommerce_setup_jetpack_opted_in: true
+ });
+
+ case 4:
+ plugins = this.isJetpackActive ? 'installed-wcs' : 'installed';
+ Object(tracks["b" /* recordEvent */])('storeprofiler_install_plugins', {
+ install: true,
+ plugins: plugins
+ });
+ updateProfileItems({
+ plugins: plugins
+ });
+
+ case 7:
+ case "end":
+ return _context2.stop();
+ }
+ }
+ }, _callee2, this);
+ }));
+
+ function startPluginInstall() {
+ return _startPluginInstall.apply(this, arguments);
+ }
+
+ return startPluginInstall;
+ }()
+ }, {
+ key: "renderBenefit",
+ value: function renderBenefit(benefit) {
+ var description = benefit.description,
+ icon = benefit.icon,
+ title = benefit.title;
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-profile-wizard__benefit-card",
+ key: title
+ }, icon, Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-profile-wizard__benefit-card-content"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["H"], {
+ className: "woocommerce-profile-wizard__benefit-card-title"
+ }, title), Object(external_this_wp_element_["createElement"])("p", null, description)));
+ }
+ }, {
+ key: "getBenefits",
+ value: function getBenefits() {
+ return [{
+ title: Object(external_this_wp_i18n_["__"])('Store management on the go', 'woocommerce-admin'),
+ icon: Object(external_this_wp_element_["createElement"])(management, null),
+ description: Object(external_this_wp_i18n_["__"])('Your store in your pocket. Manage orders, receive sales notifications, and more. Only with a Jetpack connection.', 'woocommerce-admin'),
+ visible: !this.isJetpackActive
+ }, {
+ title: Object(external_this_wp_i18n_["__"])('Automated sales taxes', 'woocommerce-admin'),
+ icon: Object(external_this_wp_element_["createElement"])(sales_tax, null),
+ description: Object(external_this_wp_i18n_["__"])('Ensure that the correct rate of tax is charged on all of your orders automatically, and print shipping labels at home.', 'woocommerce-admin'),
+ visible: !this.isWcsActive || !this.isJetpackActive
+ }, {
+ title: Object(external_this_wp_i18n_["__"])('Improved speed & security', 'woocommerce-admin'),
+ icon: Object(external_this_wp_element_["createElement"])(speed, null),
+ description: Object(external_this_wp_i18n_["__"])('Automatically block brute force attacks and speed up your store using our powerful, global server network to cache images.', 'woocommerce-admin'),
+ visible: !this.isJetpackActive
+ }, {
+ title: Object(external_this_wp_i18n_["__"])('Print shipping labels at home', 'woocommerce-admin'),
+ icon: Object(external_this_wp_element_["createElement"])(shipping_labels, null),
+ description: Object(external_this_wp_i18n_["__"])('Save time at the post office by printing shipping labels for your orders at home.', 'woocommerce-admin'),
+ visible: this.isJetpackActive && !this.isWcsActive
+ }];
+ }
+ }, {
+ key: "renderBenefits",
+ value: function renderBenefits() {
+ var _this2 = this;
+
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-profile-wizard__benefits"
+ }, Object(external_lodash_["filter"])(this.getBenefits(), function (benefit) {
+ return benefit.visible;
+ }).map(function (benefit) {
+ return _this2.renderBenefit(benefit);
+ }));
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this3 = this;
+
+ var _this$state2 = this.state,
+ isInstalling = _this$state2.isInstalling,
+ isPending = _this$state2.isPending;
+ var pluginNamesString = this.pluginsToInstall.map(function (pluginSlug) {
+ return constants["a" /* pluginNames */][pluginSlug];
+ }).join(' ' + Object(external_this_wp_i18n_["__"])('and', 'woocommerce-admin') + ' ');
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Card"], {
+ className: "woocommerce-profile-wizard__benefits-card"
+ }, Object(external_this_wp_element_["createElement"])(logo, null), Object(external_this_wp_element_["createElement"])(external_this_wc_components_["H"], {
+ className: "woocommerce-profile-wizard__header-title"
+ }, Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('Enhance your store with %s', 'woocommerce-admin'), pluginNamesString)), this.renderBenefits(), Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-profile-wizard__card-actions"
+ }, Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isPrimary: true,
+ isBusy: isPending && isInstalling,
+ disabled: isPending,
+ onClick: this.startPluginInstall,
+ className: "woocommerce-profile-wizard__continue"
+ }, Object(external_this_wp_i18n_["__"])('Yes please!', 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isDefault: true,
+ isBusy: isPending && !isInstalling,
+ disabled: isPending,
+ className: "woocommerce-profile-wizard__skip",
+ onClick: this.skipPluginInstall
+ }, Object(external_this_wp_i18n_["__"])('No thanks', 'woocommerce-admin')), isInstalling && Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Plugins"], {
+ autoInstall: true,
+ onComplete: function onComplete() {
+ return _this3.setState({
+ isInstalling: false
+ });
+ },
+ onError: function onError() {
+ return _this3.setState({
+ isInstalling: false
+ });
+ },
+ pluginSlugs: this.pluginsToInstall
+ })), Object(external_this_wp_element_["createElement"])("p", {
+ className: "woocommerce-profile-wizard__benefits-install-notice"
+ }, Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('%s %s will be installed & activated for free.', 'woocommerce-admin'), pluginNamesString, Object(external_this_wp_i18n_["_n"])('plugin', 'plugins', this.pluginsToInstall.length, 'woocommerce-admin'))));
+ }
+ }]);
+
+ return Benefits;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var benefits = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select) {
+ var _select = select('wc-api'),
+ getProfileItemsError = _select.getProfileItemsError,
+ getProfileItems = _select.getProfileItems,
+ isGetProfileItemsRequesting = _select.isGetProfileItemsRequesting;
+
+ var _select2 = select(external_this_wc_data_["PLUGINS_STORE_NAME"]),
+ getActivePlugins = _select2.getActivePlugins;
+
+ var isProfileItemsError = Boolean(getProfileItemsError());
+ var activePlugins = getActivePlugins();
+ var profileItems = getProfileItems();
+ return {
+ activePlugins: activePlugins,
+ isProfileItemsError: isProfileItemsError,
+ profileItems: profileItems,
+ isRequesting: isGetProfileItemsRequesting()
+ };
+}), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('wc-api'),
+ updateProfileItems = _dispatch.updateProfileItems,
+ updateOptions = _dispatch.updateOptions;
+
+ var _dispatch2 = dispatch('core/notices'),
+ createNotice = _dispatch2.createNotice;
+
+ return {
+ createNotice: createNotice,
+ updateProfileItems: updateProfileItems,
+ updateOptions: updateOptions
+ };
+}))(benefits_Benefits));
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/extends.js
+var helpers_extends = __webpack_require__(105);
+var extends_default = /*#__PURE__*/__webpack_require__.n(helpers_extends);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/form-toggle/index.js
+var form_toggle = __webpack_require__(718);
+
+// EXTERNAL MODULE: external {"this":["wc","number"]}
+var external_this_wc_number_ = __webpack_require__(204);
+
+// EXTERNAL MODULE: ./client/settings/index.js
+var client_settings = __webpack_require__(26);
+
+// EXTERNAL MODULE: ./client/dashboard/utils.js
+var utils = __webpack_require__(742);
+
+// EXTERNAL MODULE: ./client/lib/currency-context.js
+var currency_context = __webpack_require__(203);
+
+// CONCATENATED MODULE: ./client/profile-wizard/steps/business-details.js
+
+
+
+
+
+
+
+
+
+
+function business_details_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (business_details_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function business_details_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+var wcAdminAssetUrl = Object(client_settings["g" /* getSetting */])('wcAdminAssetUrl', '');
+
+var business_details_BusinessDetails = /*#__PURE__*/function (_Component) {
+ inherits_default()(BusinessDetails, _Component);
+
+ var _super = business_details_createSuper(BusinessDetails);
+
+ function BusinessDetails(props) {
+ var _this;
+
+ classCallCheck_default()(this, BusinessDetails);
+
+ _this = _super.call(this);
+ var profileItems = Object(external_lodash_["get"])(props, 'profileItems', {});
+ var businessExtensions = Object(external_lodash_["get"])(profileItems, 'business_extensions', false);
+ _this.initialValues = {
+ other_platform: profileItems.other_platform || '',
+ other_platform_name: profileItems.other_platform_name || '',
+ product_count: profileItems.product_count || '',
+ selling_venues: profileItems.selling_venues || '',
+ revenue: profileItems.revenue || '',
+ 'facebook-for-woocommerce': businessExtensions ? businessExtensions.includes('facebook-for-woocommerce') : true,
+ 'mailchimp-for-woocommerce': businessExtensions ? businessExtensions.includes('mailchimp-for-woocommerce') : true,
+ 'kliken-marketing-for-google': businessExtensions ? businessExtensions.includes('kliken-marketing-for-google') : true
+ };
+ _this.state = {
+ installExtensions: false,
+ isInstallingExtensions: false,
+ extensionInstallError: false
+ };
+ _this.extensions = ['facebook-for-woocommerce', 'mailchimp-for-woocommerce', 'kliken-marketing-for-google'];
+ _this.onContinue = _this.onContinue.bind(assertThisInitialized_default()(_this));
+ _this.validate = _this.validate.bind(assertThisInitialized_default()(_this));
+ _this.getNumberRangeString = _this.getNumberRangeString.bind(assertThisInitialized_default()(_this));
+ _this.numberFormat = _this.numberFormat.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(BusinessDetails, [{
+ key: "onContinue",
+ value: function () {
+ var _onContinue = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee(values) {
+ var _this$props, createNotice, goToNextStep, isError, updateProfileItems, otherPlatform, otherPlatformName, productCount, revenue, sellingVenues, businessExtensions, getCurrency, _updates, updates;
+
+ return regeneratorRuntime.wrap(function _callee$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ _this$props = this.props, createNotice = _this$props.createNotice, goToNextStep = _this$props.goToNextStep, isError = _this$props.isError, updateProfileItems = _this$props.updateProfileItems;
+ otherPlatform = values.other_platform, otherPlatformName = values.other_platform_name, productCount = values.product_count, revenue = values.revenue, sellingVenues = values.selling_venues;
+ businessExtensions = this.getBusinessExtensions(values);
+ getCurrency = this.context.getCurrency;
+ Object(tracks["b" /* recordEvent */])('storeprofiler_store_business_details_continue', {
+ product_number: productCount,
+ already_selling: sellingVenues,
+ currency: getCurrency().code,
+ revenue: revenue,
+ used_platform: otherPlatform,
+ used_platform_name: otherPlatformName,
+ install_facebook: values['facebook-for-woocommerce'],
+ install_mailchimp: values['mailchimp-for-woocommerce'],
+ install_google_ads: values['kliken-marketing-for-google']
+ });
+ _updates = {
+ other_platform: otherPlatform,
+ other_platform_name: otherPlatform === 'other' ? otherPlatformName : '',
+ product_count: productCount,
+ revenue: revenue,
+ selling_venues: sellingVenues,
+ business_extensions: businessExtensions
+ }; // Remove possible empty values like `revenue` and `other_platform`.
+
+ updates = {};
+ Object.keys(_updates).forEach(function (key) {
+ if (_updates[key] !== '') {
+ updates[key] = _updates[key];
+ }
+ });
+ _context.next = 10;
+ return updateProfileItems(updates);
+
+ case 10:
+ if (isError) {
+ _context.next = 17;
+ break;
+ }
+
+ if (!(businessExtensions.length === 0)) {
+ _context.next = 14;
+ break;
+ }
+
+ goToNextStep();
+ return _context.abrupt("return");
+
+ case 14:
+ this.setState({
+ installExtensions: true,
+ isInstallingExtensions: true
+ });
+ _context.next = 18;
+ break;
+
+ case 17:
+ createNotice('error', Object(external_this_wp_i18n_["__"])('There was a problem updating your business details.', 'woocommerce-admin'));
+
+ case 18:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, _callee, this);
+ }));
+
+ function onContinue(_x2) {
+ return _onContinue.apply(this, arguments);
+ }
+
+ return onContinue;
+ }()
+ }, {
+ key: "validate",
+ value: function validate(values) {
+ var _this2 = this;
+
+ var errors = {};
+ Object.keys(values).forEach(function (name) {
+ if (name === 'other_platform') {
+ if (!values.other_platform.length && ['other', 'brick-mortar-other'].includes(values.selling_venues)) {
+ errors.other_platform = Object(external_this_wp_i18n_["__"])('This field is required', 'woocommerce-admin');
+ }
+ } else if (name === 'other_platform_name') {
+ if (!values.other_platform_name && values.other_platform === 'other' && ['other', 'brick-mortar-other'].includes(values.selling_venues)) {
+ errors.other_platform_name = Object(external_this_wp_i18n_["__"])('This field is required', 'woocommerce-admin');
+ }
+ } else if (name === 'revenue') {
+ if (!values.revenue.length && ['other', 'brick-mortar', 'brick-mortar-other', 'other-woocommerce'].includes(values.selling_venues)) {
+ errors.revenue = Object(external_this_wp_i18n_["__"])('This field is required', 'woocommerce-admin');
+ }
+ } else if (!_this2.extensions.includes(name) && !values[name].length) {
+ errors[name] = Object(external_this_wp_i18n_["__"])('This field is required', 'woocommerce-admin');
+ }
+ });
+ return errors;
+ }
+ }, {
+ key: "getBusinessExtensions",
+ value: function getBusinessExtensions(values) {
+ var _this3 = this;
+
+ return Object(external_lodash_["keys"])(Object(external_lodash_["pickBy"])(values)).filter(function (name) {
+ return _this3.extensions.includes(name);
+ });
+ }
+ }, {
+ key: "convertCurrency",
+ value: function convertCurrency(value) {
+ var region = Object(utils["b" /* getCurrencyRegion */])(this.props.settings.woocommerce_default_country);
+
+ if (region === 'US') {
+ return value;
+ } // These are rough exchange rates from USD. Precision is not paramount.
+ // The keys here should match the keys in `getCurrencyData`.
+
+
+ var exchangeRates = {
+ US: 1,
+ EU: 0.9,
+ IN: 71.24,
+ GB: 0.76,
+ BR: 4.19,
+ VN: 23172.5,
+ ID: 14031.0,
+ BD: 84.87,
+ PK: 154.8,
+ RU: 63.74,
+ TR: 5.75,
+ MX: 19.37,
+ CA: 1.32
+ };
+ var exchangeRate = exchangeRates[region] || exchangeRates.US;
+ var digits = exchangeRate.toString().split('.')[0].length;
+ var multiplier = Math.pow(10, 2 + digits);
+ return Math.round(value * exchangeRate / multiplier) * multiplier;
+ }
+ }, {
+ key: "numberFormat",
+ value: function numberFormat(value) {
+ var getCurrency = this.context.getCurrency;
+ return Object(external_this_wc_number_["formatValue"])(getCurrency(), 'number', value);
+ }
+ }, {
+ key: "getNumberRangeString",
+ value: function getNumberRangeString(min) {
+ var max = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
+ var format = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.numberFormat;
+
+ if (!max) {
+ return Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["_x"])('%s+', 'store product count or revenue', 'woocommerce-admin'), format(min));
+ }
+
+ return Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["_x"])('%1$s - %2$s', 'store product count or revenue range', 'woocommerce-admin'), format(min), format(max));
+ }
+ }, {
+ key: "renderBusinessExtensionHelpText",
+ value: function renderBusinessExtensionHelpText(values) {
+ var isInstallingExtensions = this.state.isInstallingExtensions;
+ var extensions = this.getBusinessExtensions(values);
+
+ if (extensions.length === 0) {
+ return null;
+ }
+
+ var extensionsList = extensions.map(function (extension) {
+ return constants["a" /* pluginNames */][extension];
+ }).join(', ');
+
+ if (isInstallingExtensions) {
+ return Object(external_this_wp_element_["createElement"])("p", null, Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["_n"])('Installing the following plugin: %s', 'Installing the following plugins: %s', extensions.length, 'woocommerce-admin'), extensionsList));
+ }
+
+ return Object(external_this_wp_element_["createElement"])("p", null, Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["_n"])('The following plugin will be installed for free: %s', 'The following plugins will be installed for free: %s', extensions.length, 'woocommerce-admin'), extensionsList));
+ }
+ }, {
+ key: "renderBusinessExtensions",
+ value: function renderBusinessExtensions(values, getInputProps) {
+ var _this4 = this;
+
+ var _this$state = this.state,
+ installExtensions = _this$state.installExtensions,
+ extensionInstallError = _this$state.extensionInstallError;
+ var goToNextStep = this.props.goToNextStep;
+ var extensionsToInstall = this.getBusinessExtensions(values);
+ var extensionBenefits = [{
+ slug: 'facebook-for-woocommerce',
+ title: Object(external_this_wp_i18n_["__"])('Market on Facebook', 'woocommerce-admin'),
+ icon: 'onboarding/fb-woocommerce.png',
+ description: Object(external_this_wp_i18n_["__"])('Grow your business by targeting the right people and driving sales with Facebook.', 'woocommerce-admin')
+ }, {
+ slug: 'mailchimp-for-woocommerce',
+ title: Object(external_this_wp_i18n_["__"])('Contact customers with Mailchimp', 'woocommerce-admin'),
+ icon: 'onboarding/mailchimp.png',
+ description: Object(external_this_wp_i18n_["__"])('Send targeted campaigns, recover abandoned carts and much more with Mailchimp.', 'woocommerce-admin')
+ }, {
+ slug: 'kliken-marketing-for-google',
+ title: Object(external_this_wp_i18n_["__"])('Drive sales with Google Ads', 'woocommerce-admin'),
+ icon: 'onboarding/g-shopping.png',
+ description: Object(external_this_wp_i18n_["__"])('Get in front of new customers on Google and secure $150 in ads credit with Kliken’s integration.', 'woocommerce-admin')
+ }];
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, extensionBenefits.map(function (benefit) {
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-profile-wizard__benefit",
+ key: benefit.title
+ }, Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-profile-wizard__business-extension"
+ }, Object(external_this_wp_element_["createElement"])("img", {
+ src: wcAdminAssetUrl + benefit.icon,
+ alt: ""
+ })), Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-profile-wizard__benefit-content"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["H"], {
+ className: "woocommerce-profile-wizard__benefit-title"
+ }, benefit.title), Object(external_this_wp_element_["createElement"])("p", null, benefit.description)), Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-profile-wizard__benefit-toggle"
+ }, Object(external_this_wp_element_["createElement"])(form_toggle["a" /* default */], extends_default()({
+ checked: values[benefit.slug]
+ }, getInputProps(benefit.slug)))));
+ }), installExtensions && Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-profile-wizard__card-actions"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Plugins"], {
+ onComplete: function onComplete() {
+ goToNextStep();
+ },
+ onSkip: function onSkip() {
+ goToNextStep();
+ },
+ onError: function onError() {
+ _this4.setState({
+ extensionInstallError: true,
+ isInstallingExtensions: false
+ });
+ },
+ autoInstall: !extensionInstallError,
+ pluginSlugs: extensionsToInstall
+ })));
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this5 = this;
+
+ var _this$state2 = this.state,
+ isInstallingExtensions = _this$state2.isInstallingExtensions,
+ extensionInstallError = _this$state2.extensionInstallError;
+ var formatCurrency = this.context.formatCurrency;
+ var productCountOptions = [{
+ key: '0',
+ label: Object(external_this_wp_i18n_["__"])("I don't have any products yet.", 'woocommerce-admin')
+ }, {
+ key: '1-10',
+ label: this.getNumberRangeString(1, 10)
+ }, {
+ key: '11-100',
+ label: this.getNumberRangeString(11, 100)
+ }, {
+ key: '101-1000',
+ label: this.getNumberRangeString(101, 1000)
+ }, {
+ key: '1000+',
+ label: this.getNumberRangeString(1000)
+ }];
+ var revenueOptions = [{
+ key: 'none',
+ label: Object(external_this_wp_i18n_["sprintf"])(
+ /* translators: %s: $0 revenue amount */
+ Object(external_this_wp_i18n_["__"])("%s (I'm just getting started)", 'woocommerce-admin'), formatCurrency(0))
+ }, {
+ key: 'up-to-2500',
+ label: Object(external_this_wp_i18n_["sprintf"])(
+ /* translators: %s: A given revenue amount, e.g., $2500 */
+ Object(external_this_wp_i18n_["__"])('Up to %s', 'woocommerce-admin'), formatCurrency(this.convertCurrency(2500)))
+ }, {
+ key: '2500-10000',
+ label: this.getNumberRangeString(this.convertCurrency(2500), this.convertCurrency(10000), formatCurrency)
+ }, {
+ key: '10000-50000',
+ label: this.getNumberRangeString(this.convertCurrency(10000), this.convertCurrency(50000), formatCurrency)
+ }, {
+ key: '50000-250000',
+ label: this.getNumberRangeString(this.convertCurrency(50000), this.convertCurrency(250000), formatCurrency)
+ }, {
+ key: 'more-than-250000',
+ label: Object(external_this_wp_i18n_["sprintf"])(
+ /* translators: %s: A given revenue amount, e.g., $250000 */
+ Object(external_this_wp_i18n_["__"])('More than %s', 'woocommerce-admin'), formatCurrency(this.convertCurrency(250000)))
+ }];
+ var sellingVenueOptions = [{
+ key: 'no',
+ label: Object(external_this_wp_i18n_["__"])('No', 'woocommerce-admin')
+ }, {
+ key: 'other',
+ label: Object(external_this_wp_i18n_["__"])('Yes, on another platform', 'woocommerce-admin')
+ }, {
+ key: 'other-woocommerce',
+ label: Object(external_this_wp_i18n_["__"])('Yes, I own a different store powered by WooCommerce', 'woocommerce-admin')
+ }, {
+ key: 'brick-mortar',
+ label: Object(external_this_wp_i18n_["__"])('Yes, in person at physical stores and/or events', 'woocommerce-admin')
+ }, {
+ key: 'brick-mortar-other',
+ label: Object(external_this_wp_i18n_["__"])('Yes, on another platform and in person at physical stores and/or events', 'woocommerce-admin')
+ }];
+ var otherPlatformOptions = [{
+ key: 'shopify',
+ label: Object(external_this_wp_i18n_["__"])('Shopify', 'woocommerce-admin')
+ }, {
+ key: 'bigcommerce',
+ label: Object(external_this_wp_i18n_["__"])('BigCommerce', 'woocommerce-admin')
+ }, {
+ key: 'magento',
+ label: Object(external_this_wp_i18n_["__"])('Magento', 'woocommerce-admin')
+ }, {
+ key: 'wix',
+ label: Object(external_this_wp_i18n_["__"])('Wix', 'woocommerce-admin')
+ }, {
+ key: 'amazon',
+ label: Object(external_this_wp_i18n_["__"])('Amazon', 'woocommerce-admin')
+ }, {
+ key: 'ebay',
+ label: Object(external_this_wp_i18n_["__"])('eBay', 'woocommerce-admin')
+ }, {
+ key: 'etsy',
+ label: Object(external_this_wp_i18n_["__"])('Etsy', 'woocommerce-admin')
+ }, {
+ key: 'squarespace',
+ label: Object(external_this_wp_i18n_["__"])('Squarespace', 'woocommerce-admin')
+ }, {
+ key: 'other',
+ label: Object(external_this_wp_i18n_["__"])('Other', 'woocommerce-admin')
+ }];
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Form"], {
+ initialValues: this.initialValues,
+ onSubmitCallback: this.onContinue,
+ validate: this.validate
+ }, function (_ref) {
+ var getInputProps = _ref.getInputProps,
+ handleSubmit = _ref.handleSubmit,
+ values = _ref.values,
+ isValidForm = _ref.isValidForm;
+ // Show extensions when the currently selling elsewhere checkbox has been answered.
+ var showExtensions = values.selling_venues !== '';
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["H"], {
+ className: "woocommerce-profile-wizard__header-title"
+ }, Object(external_this_wp_i18n_["__"])('Tell us about your business', 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])("p", null, Object(external_this_wp_i18n_["__"])("We'd love to know if you are just getting started or you already have a business in place.", 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Card"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["SelectControl"], extends_default()({
+ label: Object(external_this_wp_i18n_["__"])('How many products do you plan to display?', 'woocommerce-admin'),
+ options: productCountOptions,
+ required: true
+ }, getInputProps('product_count'))), Object(external_this_wp_element_["createElement"])(external_this_wc_components_["SelectControl"], extends_default()({
+ label: Object(external_this_wp_i18n_["__"])('Currently selling elsewhere?', 'woocommerce-admin'),
+ options: sellingVenueOptions,
+ required: true
+ }, getInputProps('selling_venues'))), ['other', 'brick-mortar', 'brick-mortar-other', 'other-woocommerce'].includes(values.selling_venues) && Object(external_this_wp_element_["createElement"])(external_this_wc_components_["SelectControl"], extends_default()({
+ label: Object(external_this_wp_i18n_["__"])("What's your current annual revenue?", 'woocommerce-admin'),
+ options: revenueOptions,
+ required: true
+ }, getInputProps('revenue'))), ['other', 'brick-mortar-other'].includes(values.selling_venues) && Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])("div", {
+ className: "business-competitors"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["SelectControl"], extends_default()({
+ label: Object(external_this_wp_i18n_["__"])('Which platform is the store using?', 'woocommerce-admin'),
+ options: otherPlatformOptions,
+ required: true
+ }, getInputProps('other_platform'))), values.other_platform === 'other' && Object(external_this_wp_element_["createElement"])(external_this_wc_components_["TextControl"], extends_default()({
+ label: Object(external_this_wp_i18n_["__"])('What is the platform name?', 'woocommerce-admin'),
+ required: true
+ }, getInputProps('other_platform_name'))))), showExtensions && _this5.renderBusinessExtensions(values, getInputProps), !extensionInstallError && Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isPrimary: true,
+ className: "woocommerce-profile-wizard__continue",
+ onClick: handleSubmit,
+ disabled: !isValidForm,
+ isBusy: isInstallingExtensions
+ }, Object(external_this_wp_i18n_["__"])('Continue', 'woocommerce-admin')))), showExtensions && _this5.renderBusinessExtensionHelpText(values));
+ });
+ }
+ }]);
+
+ return BusinessDetails;
+}(external_this_wp_element_["Component"]);
+
+business_details_BusinessDetails.contextType = currency_context["a" /* CurrencyContext */];
+/* harmony default export */ var business_details = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select) {
+ var _select = select('wc-api'),
+ getProfileItems = _select.getProfileItems,
+ getProfileItemsError = _select.getProfileItemsError;
+
+ return {
+ isError: Boolean(getProfileItemsError()),
+ profileItems: getProfileItems()
+ };
+}), Object(external_this_wp_data_["withSelect"])(function (select) {
+ var _select2 = select(external_this_wc_data_["SETTINGS_STORE_NAME"]),
+ getSettings = _select2.getSettings,
+ getSettingsError = _select2.getSettingsError,
+ isGetSettingsRequesting = _select2.isGetSettingsRequesting;
+
+ var _getSettings = getSettings('general'),
+ _getSettings$general = _getSettings.general,
+ settings = _getSettings$general === void 0 ? {} : _getSettings$general;
+
+ var isSettingsError = Boolean(getSettingsError('general'));
+ var isSettingsRequesting = isGetSettingsRequesting('general');
+ return {
+ isSettingsError: isSettingsError,
+ isSettingsRequesting: isSettingsRequesting,
+ settings: settings
+ };
+}), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('wc-api'),
+ updateProfileItems = _dispatch.updateProfileItems;
+
+ var _dispatch2 = dispatch('core/notices'),
+ createNotice = _dispatch2.createNotice;
+
+ return {
+ createNotice: createNotice,
+ updateProfileItems: updateProfileItems
+ };
+}))(business_details_BusinessDetails));
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/checkbox-control/index.js
+var checkbox_control = __webpack_require__(760);
+
+// CONCATENATED MODULE: ./client/profile-wizard/steps/industry.js
+
+
+
+
+
+
+
+
+
+function industry_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (industry_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function industry_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+/**
+ * WooCommerce Dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+var onboarding = Object(client_settings["g" /* getSetting */])('onboarding', {});
+
+var industry_Industry = /*#__PURE__*/function (_Component) {
+ inherits_default()(Industry, _Component);
+
+ var _super = industry_createSuper(Industry);
+
+ function Industry(props) {
+ var _this;
+
+ classCallCheck_default()(this, Industry);
+
+ var profileItems = Object(external_lodash_["get"])(props, 'profileItems', {});
+ var selected = profileItems.industry || [];
+ /**
+ * @todo Remove block on `updateProfileItems` refactor to wp.data dataStores.
+ *
+ * The following block is a side effect of wc-api not being truly async
+ * and is a temporary fix until a refactor to wp.data can take place.
+ *
+ * Calls to `updateProfileItems` in the previous screen happen async
+ * and won't be updated in wc-api's state when this component is initialized.
+ * As such, we need to make sure cbd is not initialized as selected when a
+ * user has changed location to non-US based.
+ */
+
+ var locationSettings = props.locationSettings;
+ var region = Object(utils["b" /* getCurrencyRegion */])(locationSettings.woocommerce_default_country);
+
+ if (region !== 'US') {
+ var cbdSlug = 'cbd-other-hemp-derived-products';
+ selected = selected.filter(function (industry) {
+ return cbdSlug !== industry && cbdSlug !== industry.slug;
+ });
+ }
+ /**
+ * End block to be removed after refactor.
+ */
+
+
+ _this = _super.call(this);
+ _this.state = {
+ error: null,
+ selected: selected,
+ textInputListContent: {}
+ };
+ _this.onContinue = _this.onContinue.bind(assertThisInitialized_default()(_this));
+ _this.onIndustryChange = _this.onIndustryChange.bind(assertThisInitialized_default()(_this));
+ _this.onDetailChange = _this.onDetailChange.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(Industry, [{
+ key: "onContinue",
+ value: function () {
+ var _onContinue = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
+ var _this$props, createNotice, goToNextStep, isError, updateProfileItems, selectedIndustriesList, industriesWithDetail;
+
+ return regeneratorRuntime.wrap(function _callee$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ _context.next = 2;
+ return this.validateField();
+
+ case 2:
+ if (!this.state.error) {
+ _context.next = 4;
+ break;
+ }
+
+ return _context.abrupt("return");
+
+ case 4:
+ _this$props = this.props, createNotice = _this$props.createNotice, goToNextStep = _this$props.goToNextStep, isError = _this$props.isError, updateProfileItems = _this$props.updateProfileItems;
+ selectedIndustriesList = this.state.selected.map(function (industry) {
+ return industry.slug;
+ }); // Here the selected industries are converted to a string that is a comma separated list
+
+ industriesWithDetail = this.state.selected.map(function (industry) {
+ return industry.detail;
+ }).filter(function (n) {
+ return n;
+ }).join(',');
+ Object(tracks["b" /* recordEvent */])('storeprofiler_store_industry_continue', {
+ store_industry: selectedIndustriesList,
+ industries_with_detail: industriesWithDetail
+ });
+ _context.next = 10;
+ return updateProfileItems({
+ industry: this.state.selected
+ });
+
+ case 10:
+ if (!isError) {
+ goToNextStep();
+ } else {
+ createNotice('error', Object(external_this_wp_i18n_["__"])('There was a problem updating your industries.', 'woocommerce-admin'));
+ }
+
+ case 11:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, _callee, this);
+ }));
+
+ function onContinue() {
+ return _onContinue.apply(this, arguments);
+ }
+
+ return onContinue;
+ }()
+ }, {
+ key: "validateField",
+ value: function () {
+ var _validateField = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
+ var error;
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
+ while (1) {
+ switch (_context2.prev = _context2.next) {
+ case 0:
+ error = this.state.selected.length ? null : Object(external_this_wp_i18n_["__"])('Please select at least one industry', 'woocommerce-admin');
+ this.setState({
+ error: error
+ });
+
+ case 2:
+ case "end":
+ return _context2.stop();
+ }
+ }
+ }, _callee2, this);
+ }));
+
+ function validateField() {
+ return _validateField.apply(this, arguments);
+ }
+
+ return validateField;
+ }()
+ }, {
+ key: "onIndustryChange",
+ value: function onIndustryChange(slug) {
+ var _this2 = this;
+
+ this.setState(function (state) {
+ var newSelected = state.selected;
+ var selectedIndustry = Object(external_lodash_["find"])(newSelected, {
+ slug: slug
+ });
+
+ if (selectedIndustry) {
+ var newTextInputListContent = state.textInputListContent;
+ newTextInputListContent[slug] = selectedIndustry.detail;
+ return {
+ selected: Object(external_lodash_["filter"])(state.selected, function (value) {
+ return value.slug !== slug;
+ }) || [],
+ textInputListContent: newTextInputListContent
+ };
+ }
+
+ newSelected.push({
+ slug: slug,
+ detail: state.textInputListContent[slug]
+ });
+ return {
+ selected: newSelected
+ };
+ }, function () {
+ return _this2.validateField();
+ });
+ }
+ }, {
+ key: "onDetailChange",
+ value: function onDetailChange(value, slug) {
+ this.setState(function (state) {
+ var newSelected = state.selected;
+ var newTextInputListContent = state.textInputListContent;
+ var industryIndex = Object(external_lodash_["findIndex"])(newSelected, {
+ slug: slug
+ });
+ newSelected[industryIndex].detail = value;
+ newTextInputListContent[slug] = value;
+ return {
+ selected: newSelected,
+ textInputListContent: newTextInputListContent
+ };
+ });
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this3 = this;
+
+ var industries = onboarding.industries;
+ var _this$state = this.state,
+ error = _this$state.error,
+ selected = _this$state.selected,
+ textInputListContent = _this$state.textInputListContent;
+ var locationSettings = this.props.locationSettings;
+ var region = Object(utils["b" /* getCurrencyRegion */])(locationSettings.woocommerce_default_country);
+ var industryKeys = Object.keys(industries);
+ var filteredIndustryKeys = region === 'US' ? industryKeys : industryKeys.filter(function (slug) {
+ return slug !== 'cbd-other-hemp-derived-products';
+ });
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["H"], {
+ className: "woocommerce-profile-wizard__header-title"
+ }, Object(external_this_wp_i18n_["__"])('In which industry does the store operate?', 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])("p", {
+ className: "woocommerce-profile-wizard__intro-paragraph"
+ }, Object(external_this_wp_i18n_["__"])('Choose any that apply')), Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Card"], null, Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-profile-wizard__checkbox-group"
+ }, filteredIndustryKeys.map(function (slug) {
+ var selectedIndustry = Object(external_lodash_["find"])(selected, {
+ slug: slug
+ });
+ return Object(external_this_wp_element_["createElement"])("div", {
+ key: "div-".concat(slug)
+ }, Object(external_this_wp_element_["createElement"])(checkbox_control["a" /* default */], {
+ key: "checkbox-control-".concat(slug),
+ label: industries[slug].label,
+ onChange: function onChange() {
+ return _this3.onIndustryChange(slug);
+ },
+ checked: selectedIndustry || false,
+ className: "woocommerce-profile-wizard__checkbox"
+ }), industries[slug].use_description && selectedIndustry && Object(external_this_wp_element_["createElement"])(external_this_wc_components_["TextControl"], {
+ key: "text-control-".concat(selectedIndustry.slug),
+ label: industries[selectedIndustry.slug].description_label,
+ value: selectedIndustry.detail || textInputListContent[slug] || '',
+ onChange: function onChange(value) {
+ return _this3.onDetailChange(value, selectedIndustry.slug);
+ },
+ className: "woocommerce-profile-wizard__text"
+ }));
+ }), error && Object(external_this_wp_element_["createElement"])("span", {
+ className: "woocommerce-profile-wizard__error"
+ }, error)), Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isPrimary: true,
+ onClick: this.onContinue,
+ disabled: !selected.length
+ }, Object(external_this_wp_i18n_["__"])('Continue', 'woocommerce-admin'))));
+ }
+ }]);
+
+ return Industry;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var industry = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select) {
+ var _select = select('wc-api'),
+ getProfileItems = _select.getProfileItems,
+ getProfileItemsError = _select.getProfileItemsError;
+
+ var _select2 = select(external_this_wc_data_["SETTINGS_STORE_NAME"]),
+ getSettings = _select2.getSettings;
+
+ var _getSettings = getSettings('general'),
+ _getSettings$general = _getSettings.general,
+ locationSettings = _getSettings$general === void 0 ? {} : _getSettings$general;
+
+ return {
+ isError: Boolean(getProfileItemsError()),
+ profileItems: getProfileItems(),
+ locationSettings: locationSettings
+ };
+}), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('wc-api'),
+ updateProfileItems = _dispatch.updateProfileItems;
+
+ var _dispatch2 = dispatch('core/notices'),
+ createNotice = _dispatch2.createNotice;
+
+ return {
+ createNotice: createNotice,
+ updateProfileItems: updateProfileItems
+ };
+}))(industry_Industry));
+// EXTERNAL MODULE: ./node_modules/interpolate-components/lib/index.js
+var lib = __webpack_require__(35);
+var lib_default = /*#__PURE__*/__webpack_require__.n(lib);
+
+// CONCATENATED MODULE: ./client/profile-wizard/steps/product-types.js
+
+
+
+
+
+
+
+
+
+function product_types_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (product_types_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function product_types_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+var product_types_ProductTypes = /*#__PURE__*/function (_Component) {
+ inherits_default()(ProductTypes, _Component);
+
+ var _super = product_types_createSuper(ProductTypes);
+
+ function ProductTypes(props) {
+ var _this;
+
+ classCallCheck_default()(this, ProductTypes);
+
+ _this = _super.call(this);
+ var profileItems = Object(external_lodash_["get"])(props, 'profileItems', {});
+ _this.state = {
+ error: null,
+ selected: profileItems.product_types || []
+ };
+ _this.onContinue = _this.onContinue.bind(assertThisInitialized_default()(_this));
+ _this.onChange = _this.onChange.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(ProductTypes, [{
+ key: "validateField",
+ value: function () {
+ var _validateField = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
+ var error;
+ return regeneratorRuntime.wrap(function _callee$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ error = this.state.selected.length ? null : Object(external_this_wp_i18n_["__"])('Please select at least one product type', 'woocommerce-admin');
+ this.setState({
+ error: error
+ });
+
+ case 2:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, _callee, this);
+ }));
+
+ function validateField() {
+ return _validateField.apply(this, arguments);
+ }
+
+ return validateField;
+ }()
+ }, {
+ key: "onContinue",
+ value: function () {
+ var _onContinue = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
+ var _this$props, createNotice, goToNextStep, isError, updateProfileItems;
+
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
+ while (1) {
+ switch (_context2.prev = _context2.next) {
+ case 0:
+ _context2.next = 2;
+ return this.validateField();
+
+ case 2:
+ if (!this.state.error) {
+ _context2.next = 4;
+ break;
+ }
+
+ return _context2.abrupt("return");
+
+ case 4:
+ _this$props = this.props, createNotice = _this$props.createNotice, goToNextStep = _this$props.goToNextStep, isError = _this$props.isError, updateProfileItems = _this$props.updateProfileItems;
+ Object(tracks["b" /* recordEvent */])('storeprofiler_store_product_type_continue', {
+ product_type: this.state.selected
+ });
+ _context2.next = 8;
+ return updateProfileItems({
+ product_types: this.state.selected
+ });
+
+ case 8:
+ if (!isError) {
+ goToNextStep();
+ } else {
+ createNotice('error', Object(external_this_wp_i18n_["__"])('There was a problem updating your product types.', 'woocommerce-admin'));
+ }
+
+ case 9:
+ case "end":
+ return _context2.stop();
+ }
+ }
+ }, _callee2, this);
+ }));
+
+ function onContinue() {
+ return _onContinue.apply(this, arguments);
+ }
+
+ return onContinue;
+ }()
+ }, {
+ key: "onChange",
+ value: function onChange(slug) {
+ var _this2 = this;
+
+ this.setState(function (state) {
+ if (Object(external_lodash_["includes"])(state.selected, slug)) {
+ return {
+ selected: Object(external_lodash_["filter"])(state.selected, function (value) {
+ return value !== slug;
+ }) || []
+ };
+ }
+
+ var newSelected = state.selected;
+ newSelected.push(slug);
+ return {
+ selected: newSelected
+ };
+ }, function () {
+ return _this2.validateField();
+ });
+ }
+ }, {
+ key: "onLearnMore",
+ value: function onLearnMore(slug) {
+ Object(tracks["b" /* recordEvent */])('storeprofiler_store_product_type_learn_more', {
+ product_type: slug
+ });
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this3 = this;
+
+ var _getSetting = Object(client_settings["g" /* getSetting */])('onboarding', {}),
+ _getSetting$productTy = _getSetting.productTypes,
+ productTypes = _getSetting$productTy === void 0 ? {} : _getSetting$productTy;
+
+ var _this$state = this.state,
+ error = _this$state.error,
+ selected = _this$state.selected;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["H"], {
+ className: "woocommerce-profile-wizard__header-title"
+ }, Object(external_this_wp_i18n_["__"])('What type of products will be listed?', 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])("p", null, Object(external_this_wp_i18n_["__"])('Choose any that apply')), Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Card"], null, Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-profile-wizard__checkbox-group"
+ }, Object.keys(productTypes).map(function (slug) {
+ var helpText = productTypes[slug].description && lib_default()({
+ mixedString: productTypes[slug].description + (productTypes[slug].more_url ? ' {{moreLink/}}' : ''),
+ components: {
+ moreLink: productTypes[slug].more_url ? Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: productTypes[slug].more_url,
+ target: "_blank",
+ type: "external",
+ onClick: function onClick() {
+ return _this3.onLearnMore(slug);
+ }
+ }, Object(external_this_wp_i18n_["__"])('Learn more', 'woocommerce-admin')) : ''
+ }
+ });
+ return Object(external_this_wp_element_["createElement"])(checkbox_control["a" /* default */], {
+ key: slug,
+ label: productTypes[slug].label,
+ help: helpText,
+ onChange: function onChange() {
+ return _this3.onChange(slug);
+ },
+ checked: selected.includes(slug),
+ className: "woocommerce-profile-wizard__checkbox"
+ });
+ }), error && Object(external_this_wp_element_["createElement"])("span", {
+ className: "woocommerce-profile-wizard__error"
+ }, error)), Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isPrimary: true,
+ className: "woocommerce-profile-wizard__continue",
+ onClick: this.onContinue,
+ disabled: !selected.length
+ }, Object(external_this_wp_i18n_["__"])('Continue', 'woocommerce-admin'))));
+ }
+ }]);
+
+ return ProductTypes;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var product_types = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select) {
+ var _select = select('wc-api'),
+ getProfileItems = _select.getProfileItems,
+ getProfileItemsError = _select.getProfileItemsError;
+
+ return {
+ isError: Boolean(getProfileItemsError()),
+ profileItems: getProfileItems()
+ };
+}), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('wc-api'),
+ updateProfileItems = _dispatch.updateProfileItems;
+
+ var _dispatch2 = dispatch('core/notices'),
+ createNotice = _dispatch2.createNotice;
+
+ return {
+ createNotice: createNotice,
+ updateProfileItems: updateProfileItems
+ };
+}))(product_types_ProductTypes));
+// CONCATENATED MODULE: ./client/profile-wizard/header.js
+
+
+
+
+
+
+
+function header_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (header_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function header_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var header_ProfileWizardHeader = /*#__PURE__*/function (_Component) {
+ inherits_default()(ProfileWizardHeader, _Component);
+
+ var _super = header_createSuper(ProfileWizardHeader);
+
+ function ProfileWizardHeader() {
+ classCallCheck_default()(this, ProfileWizardHeader);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(ProfileWizardHeader, [{
+ key: "renderStepper",
+ value: function renderStepper() {
+ var _this$props = this.props,
+ currentStep = _this$props.currentStep,
+ steps = _this$props.steps;
+ var visibleSteps = Object(external_lodash_["filter"])(steps, function (step) {
+ return !!step.label;
+ });
+ var currentStepIndex = visibleSteps.findIndex(function (step) {
+ return step.key === currentStep;
+ });
+ visibleSteps.map(function (step, index) {
+ var previousStep = visibleSteps[index - 1];
+
+ if (index < currentStepIndex) {
+ step.isComplete = true;
+ }
+
+ if (!previousStep || previousStep.isComplete) {
+ step.onClick = function (key) {
+ return Object(external_this_wc_navigation_["updateQueryString"])({
+ step: key
+ });
+ };
+ }
+
+ return step;
+ });
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Stepper"], {
+ steps: visibleSteps,
+ currentStep: currentStep
+ });
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this = this;
+
+ var currentStep = this.props.steps.find(function (s) {
+ return s.key === _this.props.currentStep;
+ });
+
+ if (!currentStep || !currentStep.label) {
+ return null;
+ }
+
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-profile-wizard__header"
+ }, this.renderStepper());
+ }
+ }]);
+
+ return ProfileWizardHeader;
+}(external_this_wp_element_["Component"]);
+
+
+// EXTERNAL MODULE: ./client/wc-api/constants.js
+var wc_api_constants = __webpack_require__(24);
+
+// EXTERNAL MODULE: external {"this":["wp","apiFetch"]}
+var external_this_wp_apiFetch_ = __webpack_require__(20);
+var external_this_wp_apiFetch_default = /*#__PURE__*/__webpack_require__.n(external_this_wp_apiFetch_);
+
+// EXTERNAL MODULE: external {"this":["wc","currency"]}
+var external_this_wc_currency_ = __webpack_require__(137);
+
+// EXTERNAL MODULE: ./client/dashboard/components/settings/general/store-address.js
+var store_address = __webpack_require__(768);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/modal/index.js + 3 modules
+var modal = __webpack_require__(721);
+
+// CONCATENATED MODULE: ./client/profile-wizard/steps/usage-modal.js
+
+
+
+
+
+
+
+
+
+function usage_modal_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (usage_modal_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function usage_modal_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var usage_modal_UsageModal = /*#__PURE__*/function (_Component) {
+ inherits_default()(UsageModal, _Component);
+
+ var _super = usage_modal_createSuper(UsageModal);
+
+ function UsageModal(props) {
+ var _this;
+
+ classCallCheck_default()(this, UsageModal);
+
+ _this = _super.call(this, props);
+ _this.state = {
+ allowTracking: props.allowTracking
+ };
+ _this.onTrackingChange = _this.onTrackingChange.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(UsageModal, [{
+ key: "onTrackingChange",
+ value: function onTrackingChange() {
+ this.setState({
+ allowTracking: !this.state.allowTracking
+ });
+ }
+ }, {
+ key: "componentDidUpdate",
+ value: function () {
+ var _componentDidUpdate = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee(prevProps) {
+ var _this$props, hasErrors, isRequesting, onClose, onContinue, createNotice, isRequestSuccessful, isRequestError;
+
+ return regeneratorRuntime.wrap(function _callee$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ _this$props = this.props, hasErrors = _this$props.hasErrors, isRequesting = _this$props.isRequesting, onClose = _this$props.onClose, onContinue = _this$props.onContinue, createNotice = _this$props.createNotice;
+ isRequestSuccessful = !isRequesting && prevProps.isRequesting && !hasErrors;
+ isRequestError = !isRequesting && prevProps.isRequesting && hasErrors;
+
+ if (isRequestSuccessful) {
+ onClose();
+ onContinue();
+ }
+
+ if (isRequestError) {
+ createNotice('error', Object(external_this_wp_i18n_["__"])('There was a problem updating your preferences.', 'woocommerce-admin'));
+ onClose();
+ }
+
+ case 5:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, _callee, this);
+ }));
+
+ function componentDidUpdate(_x) {
+ return _componentDidUpdate.apply(this, arguments);
+ }
+
+ return componentDidUpdate;
+ }()
+ }, {
+ key: "updateTracking",
+ value: function updateTracking() {
+ var updateOptions = this.props.updateOptions;
+ var allowTracking = this.state.allowTracking ? 'yes' : 'no';
+ updateOptions({
+ woocommerce_allow_tracking: allowTracking
+ });
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this2 = this;
+
+ var allowTracking = this.state.allowTracking;
+ var isRequesting = this.props.isRequesting;
+ var trackingMessage = lib_default()({
+ mixedString: Object(external_this_wp_i18n_["__"])('Get improved features and faster fixes by sharing non-sensitive data via {{link}}usage tracking{{/link}} ' + 'that shows us how WooCommerce is used. No personal data is tracked or stored.', 'woocommerce-admin'),
+ components: {
+ link: Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: "https://woocommerce.com/usage-tracking",
+ target: "_blank",
+ type: "external"
+ })
+ }
+ });
+ return Object(external_this_wp_element_["createElement"])(modal["a" /* default */], {
+ title: Object(external_this_wp_i18n_["__"])('Build a better WooCommerce', 'woocommerce-admin'),
+ onRequestClose: function onRequestClose() {
+ return _this2.props.onClose();
+ },
+ className: "woocommerce-profile-wizard__usage-modal"
+ }, Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-profile-wizard__usage-wrapper"
+ }, Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-profile-wizard__usage-modal-message"
+ }, trackingMessage), Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-profile-wizard__tracking"
+ }, Object(external_this_wp_element_["createElement"])(checkbox_control["a" /* default */], {
+ className: "woocommerce-profile-wizard__tracking-checkbox",
+ checked: allowTracking,
+ label: Object(external_this_wp_i18n_["__"])('Yes, count me in!', 'woocommerce-admin'),
+ onChange: this.onTrackingChange
+ }), Object(external_this_wp_element_["createElement"])(form_toggle["a" /* default */], {
+ "aria-hidden": "true",
+ checked: allowTracking,
+ onChange: this.onTrackingChange,
+ onClick: function onClick(e) {
+ return e.stopPropagation();
+ },
+ tabIndex: "-1"
+ })), Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isPrimary: true,
+ isDefault: true,
+ isBusy: isRequesting,
+ onClick: function onClick() {
+ return _this2.updateTracking();
+ }
+ }, Object(external_this_wp_i18n_["__"])('Continue', 'woocommerce-admin'))));
+ }
+ }]);
+
+ return UsageModal;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var usage_modal = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select) {
+ var _select = select('wc-api'),
+ getOptions = _select.getOptions,
+ getOptionsError = _select.getOptionsError,
+ isUpdateOptionsRequesting = _select.isUpdateOptionsRequesting;
+
+ var options = getOptions(['woocommerce_allow_tracking']);
+ var allowTracking = Object(external_lodash_["get"])(options, ['woocommerce_allow_tracking'], false) === 'yes';
+ var isRequesting = Boolean(isUpdateOptionsRequesting(['woocommerce_allow_tracking']));
+ var hasErrors = Boolean(getOptionsError(['woocommerce_allow_tracking']));
+ return {
+ allowTracking: allowTracking,
+ isRequesting: isRequesting,
+ hasErrors: hasErrors
+ };
+}), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('core/notices'),
+ createNotice = _dispatch.createNotice;
+
+ var _dispatch2 = dispatch('wc-api'),
+ updateOptions = _dispatch2.updateOptions;
+
+ return {
+ createNotice: createNotice,
+ updateOptions: updateOptions
+ };
+}))(usage_modal_UsageModal));
+// CONCATENATED MODULE: ./client/profile-wizard/steps/store-details.js
+
+
+
+
+
+
+
+
+
+
+function store_details_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (store_details_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function store_details_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+var store_details_StoreDetails = /*#__PURE__*/function (_Component) {
+ inherits_default()(StoreDetails, _Component);
+
+ var _super = store_details_createSuper(StoreDetails);
+
+ function StoreDetails(props) {
+ var _this;
+
+ classCallCheck_default()(this, StoreDetails);
+
+ _this = _super.apply(this, arguments);
+ var profileItems = props.profileItems,
+ settings = props.settings;
+ _this.state = {
+ showUsageModal: false
+ }; // Check if a store address is set so that we don't default
+ // to WooCommerce's default country of the UK.
+
+ var countryState = settings.woocommerce_store_address && settings.woocommerce_default_country || '';
+ _this.initialValues = {
+ addressLine1: settings.woocommerce_store_address || '',
+ addressLine2: settings.woocommerce_store_address_2 || '',
+ city: settings.woocommerce_store_city || '',
+ countryState: countryState,
+ postCode: settings.woocommerce_store_postcode || '',
+ isClient: profileItems.setup_client || false
+ };
+ _this.onContinue = _this.onContinue.bind(assertThisInitialized_default()(_this));
+ _this.onSubmit = _this.onSubmit.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(StoreDetails, [{
+ key: "componentWillUnmount",
+ value: function componentWillUnmount() {
+ external_this_wp_apiFetch_default()({
+ path: '/wc-admin/onboarding/tasks/create_store_pages',
+ method: 'POST'
+ });
+ }
+ }, {
+ key: "deriveCurrencySettings",
+ value: function deriveCurrencySettings(countryState) {
+ if (!countryState) {
+ return null;
+ }
+
+ var region = Object(utils["b" /* getCurrencyRegion */])(countryState);
+ var currencyData = Object(external_this_wc_currency_["getCurrencyData"])();
+ return currencyData[region] || currencyData.US;
+ }
+ }, {
+ key: "onSubmit",
+ value: function onSubmit() {
+ this.setState({
+ showUsageModal: true
+ });
+ }
+ }, {
+ key: "onContinue",
+ value: function () {
+ var _onContinue = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee(values) {
+ var _this$props, createNotice, goToNextStep, isSettingsError, updateProfileItems, isProfileItemsError, updateAndPersistSettingsForGroup, profileItems, currencySettings, Currency, profileItemsToUpdate, region, cbdSlug, trimmedIndustries;
+
+ return regeneratorRuntime.wrap(function _callee$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ _this$props = this.props, createNotice = _this$props.createNotice, goToNextStep = _this$props.goToNextStep, isSettingsError = _this$props.isSettingsError, updateProfileItems = _this$props.updateProfileItems, isProfileItemsError = _this$props.isProfileItemsError, updateAndPersistSettingsForGroup = _this$props.updateAndPersistSettingsForGroup, profileItems = _this$props.profileItems;
+ currencySettings = this.deriveCurrencySettings(values.countryState);
+ Currency = this.context;
+ Currency.setCurrency(currencySettings);
+ Object(tracks["b" /* recordEvent */])('storeprofiler_store_details_continue', {
+ store_country: Object(utils["a" /* getCountryCode */])(values.countryState),
+ derived_currency: currencySettings.code,
+ setup_client: values.isClient
+ });
+ _context.next = 7;
+ return updateAndPersistSettingsForGroup('general', {
+ general: {
+ woocommerce_store_address: values.addressLine1,
+ woocommerce_store_address_2: values.addressLine2,
+ woocommerce_default_country: values.countryState,
+ woocommerce_store_city: values.city,
+ woocommerce_store_postcode: values.postCode,
+ woocommerce_currency: currencySettings.code,
+ woocommerce_currency_pos: currencySettings.symbolPosition,
+ woocommerce_price_thousand_sep: currencySettings.thousandSeparator,
+ woocommerce_price_decimal_sep: currencySettings.decimalSeparator,
+ woocommerce_price_num_decimals: currencySettings.precision
+ }
+ });
+
+ case 7:
+ profileItemsToUpdate = {
+ setup_client: values.isClient
+ };
+ region = Object(utils["b" /* getCurrencyRegion */])(values.countryState);
+ /**
+ * If a user has already selected cdb industry and returns to change to a
+ * non US store, remove cbd industry.
+ *
+ * NOTE: the following call to `updateProfileItems` does not respect the
+ * `await` and performs an update aysnchronously. This means the following
+ * screen may not be initialized with correct profile settings.
+ *
+ * This comment may be removed when a refactor to wp.data datatores is complete.
+ */
+
+ if (region !== 'US' && profileItems.industry && profileItems.industry.length) {
+ cbdSlug = 'cbd-other-hemp-derived-products';
+ trimmedIndustries = profileItems.industry.filter(function (industry) {
+ return cbdSlug !== industry && cbdSlug !== industry.slug;
+ });
+ profileItemsToUpdate.industry = trimmedIndustries;
+ }
+
+ _context.next = 12;
+ return updateProfileItems(profileItemsToUpdate);
+
+ case 12:
+ if (!isSettingsError && !isProfileItemsError) {
+ goToNextStep();
+ } else {
+ createNotice('error', Object(external_this_wp_i18n_["__"])('There was a problem saving your store details.', 'woocommerce-admin'));
+ }
+
+ case 13:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, _callee, this);
+ }));
+
+ function onContinue(_x) {
+ return _onContinue.apply(this, arguments);
+ }
+
+ return onContinue;
+ }()
+ }, {
+ key: "render",
+ value: function render() {
+ var _this2 = this;
+
+ var showUsageModal = this.state.showUsageModal;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["H"], {
+ className: "woocommerce-profile-wizard__header-title"
+ }, Object(external_this_wp_i18n_["__"])('Where is your store based?', 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])(external_this_wc_components_["H"], {
+ className: "woocommerce-profile-wizard__header-subtitle"
+ }, Object(external_this_wp_i18n_["__"])('This will help us configure your store and get you started quickly', 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Card"], null, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Form"], {
+ initialValues: this.initialValues,
+ onSubmitCallback: this.onSubmit,
+ validate: store_address["b" /* validateStoreAddress */]
+ }, function (_ref) {
+ var getInputProps = _ref.getInputProps,
+ handleSubmit = _ref.handleSubmit,
+ values = _ref.values,
+ isValidForm = _ref.isValidForm,
+ setValue = _ref.setValue;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, showUsageModal && Object(external_this_wp_element_["createElement"])(usage_modal, {
+ onContinue: function onContinue() {
+ return _this2.onContinue(values);
+ },
+ onClose: function onClose() {
+ return _this2.setState({
+ showUsageModal: false
+ });
+ }
+ }), Object(external_this_wp_element_["createElement"])(store_address["a" /* StoreAddress */], {
+ getInputProps: getInputProps,
+ setValue: setValue
+ }), Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-profile-wizard__client"
+ }, Object(external_this_wp_element_["createElement"])(checkbox_control["a" /* default */], extends_default()({
+ label: Object(external_this_wp_i18n_["__"])("I'm setting up a store for a client", 'woocommerce-admin')
+ }, getInputProps('isClient')))), Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isPrimary: true,
+ onClick: handleSubmit,
+ disabled: !isValidForm
+ }, Object(external_this_wp_i18n_["__"])('Continue', 'woocommerce-admin')));
+ })));
+ }
+ }]);
+
+ return StoreDetails;
+}(external_this_wp_element_["Component"]);
+
+store_details_StoreDetails.contextType = currency_context["a" /* CurrencyContext */];
+/* harmony default export */ var store_details = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select) {
+ var _select = select('wc-api'),
+ getProfileItemsError = _select.getProfileItemsError,
+ getProfileItems = _select.getProfileItems;
+
+ var profileItems = getProfileItems();
+ var isProfileItemsError = Boolean(getProfileItemsError());
+ return {
+ isProfileItemsError: isProfileItemsError,
+ profileItems: profileItems
+ };
+}), Object(external_this_wp_data_["withSelect"])(function (select) {
+ var _select2 = select(external_this_wc_data_["SETTINGS_STORE_NAME"]),
+ getSettings = _select2.getSettings,
+ getSettingsError = _select2.getSettingsError,
+ isGetSettingsRequesting = _select2.isGetSettingsRequesting;
+
+ var _getSettings = getSettings('general'),
+ _getSettings$general = _getSettings.general,
+ settings = _getSettings$general === void 0 ? {} : _getSettings$general;
+
+ var isSettingsError = Boolean(getSettingsError('general'));
+ var isSettingsRequesting = isGetSettingsRequesting('general');
+ return {
+ isSettingsError: isSettingsError,
+ isSettingsRequesting: isSettingsRequesting,
+ settings: settings
+ };
+}), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('core/notices'),
+ createNotice = _dispatch.createNotice;
+
+ var _dispatch2 = dispatch('wc-api'),
+ updateProfileItems = _dispatch2.updateProfileItems;
+
+ var _dispatch3 = dispatch(external_this_wc_data_["SETTINGS_STORE_NAME"]),
+ updateAndPersistSettingsForGroup = _dispatch3.updateAndPersistSettingsForGroup;
+
+ return {
+ createNotice: createNotice,
+ updateProfileItems: updateProfileItems,
+ updateAndPersistSettingsForGroup: updateAndPersistSettingsForGroup
+ };
+}))(store_details_StoreDetails));
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/toConsumableArray.js
+var toConsumableArray = __webpack_require__(32);
+var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray);
+
+// EXTERNAL MODULE: external {"this":["wp","htmlEntities"]}
+var external_this_wp_htmlEntities_ = __webpack_require__(69);
+
+// EXTERNAL MODULE: ./node_modules/gridicons/dist/index.js
+var dist = __webpack_require__(66);
+var dist_default = /*#__PURE__*/__webpack_require__.n(dist);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/tooltip/index.js
+var tooltip = __webpack_require__(110);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/tab-panel/index.js
+var tab_panel = __webpack_require__(717);
+
+// EXTERNAL MODULE: ./client/profile-wizard/steps/theme/style.scss
+var style = __webpack_require__(889);
+
+// EXTERNAL MODULE: ./node_modules/classnames/index.js
+var classnames = __webpack_require__(10);
+var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 3 modules
+var esm_toConsumableArray = __webpack_require__(17);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js
+var esm_classCallCheck = __webpack_require__(7);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js
+var esm_createClass = __webpack_require__(6);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js
+var esm_possibleConstructorReturn = __webpack_require__(8);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js
+var esm_getPrototypeOf = __webpack_require__(4);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js
+var esm_assertThisInitialized = __webpack_require__(5);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js + 1 modules
+var esm_inherits = __webpack_require__(9);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/is-shallow-equal/index.js
+var is_shallow_equal = __webpack_require__(77);
+var is_shallow_equal_default = /*#__PURE__*/__webpack_require__.n(is_shallow_equal);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/drop-zone/provider.js
+
+
+
+
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+var _createContext = Object(external_this_wp_element_["createContext"])({
+ addDropZone: function addDropZone() {},
+ removeDropZone: function removeDropZone() {}
+}),
+ Provider = _createContext.Provider,
+ Consumer = _createContext.Consumer;
+
+var provider_getDragEventType = function getDragEventType(_ref) {
+ var dataTransfer = _ref.dataTransfer;
+
+ if (dataTransfer) {
+ // Use lodash `includes` here as in the Edge browser `types` is implemented
+ // as a DomStringList, whereas in other browsers it's an array. `includes`
+ // happily works with both types.
+ if (Object(external_lodash_["includes"])(dataTransfer.types, 'Files')) {
+ return 'file';
+ }
+
+ if (Object(external_lodash_["includes"])(dataTransfer.types, 'text/html')) {
+ return 'html';
+ }
+ }
+
+ return 'default';
+};
+
+var isTypeSupportedByDropZone = function isTypeSupportedByDropZone(type, dropZone) {
+ return type === 'file' && dropZone.onFilesDrop || type === 'html' && dropZone.onHTMLDrop || type === 'default' && dropZone.onDrop;
+};
+
+var isWithinElementBounds = function isWithinElementBounds(element, x, y) {
+ var rect = element.getBoundingClientRect(); /// make sure the rect is a valid rect
+
+ if (rect.bottom === rect.top || rect.left === rect.right) {
+ return false;
+ }
+
+ return x >= rect.left && x <= rect.right && y >= rect.top && y <= rect.bottom;
+};
+
+var provider_DropZoneProvider =
+/*#__PURE__*/
+function (_Component) {
+ Object(esm_inherits["a" /* default */])(DropZoneProvider, _Component);
+
+ function DropZoneProvider() {
+ var _this;
+
+ Object(esm_classCallCheck["a" /* default */])(this, DropZoneProvider);
+
+ _this = Object(esm_possibleConstructorReturn["a" /* default */])(this, Object(esm_getPrototypeOf["a" /* default */])(DropZoneProvider).apply(this, arguments)); // Event listeners
+
+ _this.onDragOver = _this.onDragOver.bind(Object(esm_assertThisInitialized["a" /* default */])(_this));
+ _this.onDrop = _this.onDrop.bind(Object(esm_assertThisInitialized["a" /* default */])(_this)); // Context methods so this component can receive data from consumers
+
+ _this.addDropZone = _this.addDropZone.bind(Object(esm_assertThisInitialized["a" /* default */])(_this));
+ _this.removeDropZone = _this.removeDropZone.bind(Object(esm_assertThisInitialized["a" /* default */])(_this)); // Utility methods
+
+ _this.resetDragState = _this.resetDragState.bind(Object(esm_assertThisInitialized["a" /* default */])(_this));
+ _this.toggleDraggingOverDocument = Object(external_lodash_["throttle"])(_this.toggleDraggingOverDocument.bind(Object(esm_assertThisInitialized["a" /* default */])(_this)), 200);
+ _this.dropZones = [];
+ _this.dropZoneCallbacks = {
+ addDropZone: _this.addDropZone,
+ removeDropZone: _this.removeDropZone
+ };
+ _this.state = {
+ hoveredDropZone: -1,
+ isDraggingOverDocument: false,
+ position: null
+ };
+ return _this;
+ }
+
+ Object(esm_createClass["a" /* default */])(DropZoneProvider, [{
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ window.addEventListener('dragover', this.onDragOver);
+ window.addEventListener('mouseup', this.resetDragState);
+ }
+ }, {
+ key: "componentWillUnmount",
+ value: function componentWillUnmount() {
+ window.removeEventListener('dragover', this.onDragOver);
+ window.removeEventListener('mouseup', this.resetDragState);
+ }
+ }, {
+ key: "addDropZone",
+ value: function addDropZone(dropZone) {
+ this.dropZones.push(dropZone);
+ }
+ }, {
+ key: "removeDropZone",
+ value: function removeDropZone(dropZone) {
+ this.dropZones = Object(external_lodash_["filter"])(this.dropZones, function (dz) {
+ return dz !== dropZone;
+ });
+ }
+ }, {
+ key: "resetDragState",
+ value: function resetDragState() {
+ // Avoid throttled drag over handler calls
+ this.toggleDraggingOverDocument.cancel();
+ var _this$state = this.state,
+ isDraggingOverDocument = _this$state.isDraggingOverDocument,
+ hoveredDropZone = _this$state.hoveredDropZone;
+
+ if (!isDraggingOverDocument && hoveredDropZone === -1) {
+ return;
+ }
+
+ this.setState({
+ hoveredDropZone: -1,
+ isDraggingOverDocument: false,
+ position: null
+ });
+ this.dropZones.forEach(function (dropZone) {
+ return dropZone.setState({
+ isDraggingOverDocument: false,
+ isDraggingOverElement: false,
+ position: null,
+ type: null
+ });
+ });
+ }
+ }, {
+ key: "toggleDraggingOverDocument",
+ value: function toggleDraggingOverDocument(event, dragEventType) {
+ var _this2 = this;
+
+ // In some contexts, it may be necessary to capture and redirect the
+ // drag event (e.g. atop an `iframe`). To accommodate this, you can
+ // create an instance of CustomEvent with the original event specified
+ // as the `detail` property.
+ //
+ // See: https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events
+ var detail = window.CustomEvent && event instanceof window.CustomEvent ? event.detail : event; // Index of hovered dropzone.
+
+ var hoveredDropZones = Object(external_lodash_["filter"])(this.dropZones, function (dropZone) {
+ return isTypeSupportedByDropZone(dragEventType, dropZone) && isWithinElementBounds(dropZone.element, detail.clientX, detail.clientY);
+ }); // Find the leaf dropzone not containing another dropzone
+
+ var hoveredDropZone = Object(external_lodash_["find"])(hoveredDropZones, function (zone) {
+ return !Object(external_lodash_["some"])(hoveredDropZones, function (subZone) {
+ return subZone !== zone && zone.element.parentElement.contains(subZone.element);
+ });
+ });
+ var hoveredDropZoneIndex = this.dropZones.indexOf(hoveredDropZone);
+ var position = null;
+
+ if (hoveredDropZone) {
+ var rect = hoveredDropZone.element.getBoundingClientRect();
+ position = {
+ x: detail.clientX - rect.left < rect.right - detail.clientX ? 'left' : 'right',
+ y: detail.clientY - rect.top < rect.bottom - detail.clientY ? 'top' : 'bottom'
+ };
+ } // Optimisation: Only update the changed dropzones
+
+
+ var toUpdate = [];
+
+ if (!this.state.isDraggingOverDocument) {
+ toUpdate = this.dropZones;
+ } else if (hoveredDropZoneIndex !== this.state.hoveredDropZone) {
+ if (this.state.hoveredDropZone !== -1) {
+ toUpdate.push(this.dropZones[this.state.hoveredDropZone]);
+ }
+
+ if (hoveredDropZone) {
+ toUpdate.push(hoveredDropZone);
+ }
+ } else if (hoveredDropZone && hoveredDropZoneIndex === this.state.hoveredDropZone && !Object(external_lodash_["isEqual"])(position, this.state.position)) {
+ toUpdate.push(hoveredDropZone);
+ } // Notifying the dropzones
+
+
+ toUpdate.forEach(function (dropZone) {
+ var index = _this2.dropZones.indexOf(dropZone);
+
+ var isDraggingOverDropZone = index === hoveredDropZoneIndex;
+ dropZone.setState({
+ isDraggingOverDocument: isTypeSupportedByDropZone(dragEventType, dropZone),
+ isDraggingOverElement: isDraggingOverDropZone,
+ position: isDraggingOverDropZone ? position : null,
+ type: isDraggingOverDropZone ? dragEventType : null
+ });
+ });
+ var newState = {
+ isDraggingOverDocument: true,
+ hoveredDropZone: hoveredDropZoneIndex,
+ position: position
+ };
+
+ if (!is_shallow_equal_default()(newState, this.state)) {
+ this.setState(newState);
+ }
+ }
+ }, {
+ key: "onDragOver",
+ value: function onDragOver(event) {
+ this.toggleDraggingOverDocument(event, provider_getDragEventType(event));
+ event.preventDefault();
+ }
+ }, {
+ key: "onDrop",
+ value: function onDrop(event) {
+ // This seemingly useless line has been shown to resolve a Safari issue
+ // where files dragged directly from the dock are not recognized
+ event.dataTransfer && event.dataTransfer.files.length; // eslint-disable-line no-unused-expressions
+
+ var _this$state2 = this.state,
+ position = _this$state2.position,
+ hoveredDropZone = _this$state2.hoveredDropZone;
+ var dragEventType = provider_getDragEventType(event);
+ var dropZone = this.dropZones[hoveredDropZone];
+ this.resetDragState();
+
+ if (dropZone) {
+ switch (dragEventType) {
+ case 'file':
+ dropZone.onFilesDrop(Object(esm_toConsumableArray["a" /* default */])(event.dataTransfer.files), position);
+ break;
+
+ case 'html':
+ dropZone.onHTMLDrop(event.dataTransfer.getData('text/html'), position);
+ break;
+
+ case 'default':
+ dropZone.onDrop(event, position);
+ }
+ }
+
+ event.stopPropagation();
+ event.preventDefault();
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ return Object(external_this_wp_element_["createElement"])("div", {
+ onDrop: this.onDrop,
+ className: "components-drop-zone__provider"
+ }, Object(external_this_wp_element_["createElement"])(Provider, {
+ value: this.dropZoneCallbacks
+ }, this.props.children));
+ }
+ }]);
+
+ return DropZoneProvider;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var provider = (provider_DropZoneProvider);
+
+//# sourceMappingURL=provider.js.map
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
+var esm_extends = __webpack_require__(11);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
+var objectWithoutProperties = __webpack_require__(16);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/icon-button/index.js
+var icon_button = __webpack_require__(85);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/form-file-upload/index.js
+
+
+
+
+
+
+
+
+
+
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var form_file_upload_FormFileUpload =
+/*#__PURE__*/
+function (_Component) {
+ Object(esm_inherits["a" /* default */])(FormFileUpload, _Component);
+
+ function FormFileUpload() {
+ var _this;
+
+ Object(esm_classCallCheck["a" /* default */])(this, FormFileUpload);
+
+ _this = Object(esm_possibleConstructorReturn["a" /* default */])(this, Object(esm_getPrototypeOf["a" /* default */])(FormFileUpload).apply(this, arguments));
+ _this.openFileDialog = _this.openFileDialog.bind(Object(esm_assertThisInitialized["a" /* default */])(_this));
+ _this.bindInput = _this.bindInput.bind(Object(esm_assertThisInitialized["a" /* default */])(_this));
+ return _this;
+ }
+
+ Object(esm_createClass["a" /* default */])(FormFileUpload, [{
+ key: "openFileDialog",
+ value: function openFileDialog() {
+ this.input.click();
+ }
+ }, {
+ key: "bindInput",
+ value: function bindInput(ref) {
+ this.input = ref;
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ accept = _this$props.accept,
+ children = _this$props.children,
+ _this$props$icon = _this$props.icon,
+ icon = _this$props$icon === void 0 ? 'upload' : _this$props$icon,
+ _this$props$multiple = _this$props.multiple,
+ multiple = _this$props$multiple === void 0 ? false : _this$props$multiple,
+ onChange = _this$props.onChange,
+ render = _this$props.render,
+ props = Object(objectWithoutProperties["a" /* default */])(_this$props, ["accept", "children", "icon", "multiple", "onChange", "render"]);
+
+ var ui = render ? render({
+ openFileDialog: this.openFileDialog
+ }) : Object(external_this_wp_element_["createElement"])(icon_button["a" /* default */], Object(esm_extends["a" /* default */])({
+ icon: icon,
+ onClick: this.openFileDialog
+ }, props), children);
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "components-form-file-upload"
+ }, ui, Object(external_this_wp_element_["createElement"])("input", {
+ type: "file",
+ ref: this.bindInput,
+ multiple: multiple,
+ style: {
+ display: 'none'
+ },
+ accept: accept,
+ onChange: onChange
+ }));
+ }
+ }]);
+
+ return FormFileUpload;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var form_file_upload = (form_file_upload_FormFileUpload);
+//# sourceMappingURL=index.js.map
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
+var esm_defineProperty = __webpack_require__(13);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/dashicon/index.js
+var dashicon = __webpack_require__(80);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/drop-zone/index.js
+
+
+
+
+
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var drop_zone_DropZone = function DropZone(props) {
+ return Object(external_this_wp_element_["createElement"])(Consumer, null, function (_ref) {
+ var addDropZone = _ref.addDropZone,
+ removeDropZone = _ref.removeDropZone;
+ return Object(external_this_wp_element_["createElement"])(drop_zone_DropZoneComponent, Object(esm_extends["a" /* default */])({
+ addDropZone: addDropZone,
+ removeDropZone: removeDropZone
+ }, props));
+ });
+};
+
+var drop_zone_DropZoneComponent =
+/*#__PURE__*/
+function (_Component) {
+ Object(esm_inherits["a" /* default */])(DropZoneComponent, _Component);
+
+ function DropZoneComponent() {
+ var _this;
+
+ Object(esm_classCallCheck["a" /* default */])(this, DropZoneComponent);
+
+ _this = Object(esm_possibleConstructorReturn["a" /* default */])(this, Object(esm_getPrototypeOf["a" /* default */])(DropZoneComponent).apply(this, arguments));
+ _this.dropZoneElement = Object(external_this_wp_element_["createRef"])();
+ _this.dropZone = {
+ element: null,
+ onDrop: _this.props.onDrop,
+ onFilesDrop: _this.props.onFilesDrop,
+ onHTMLDrop: _this.props.onHTMLDrop,
+ setState: _this.setState.bind(Object(esm_assertThisInitialized["a" /* default */])(_this))
+ };
+ _this.state = {
+ isDraggingOverDocument: false,
+ isDraggingOverElement: false,
+ position: null,
+ type: null
+ };
+ return _this;
+ }
+
+ Object(esm_createClass["a" /* default */])(DropZoneComponent, [{
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ // Set element after the component has a node assigned in the DOM
+ this.dropZone.element = this.dropZoneElement.current;
+ this.props.addDropZone(this.dropZone);
+ }
+ }, {
+ key: "componentWillUnmount",
+ value: function componentWillUnmount() {
+ this.props.removeDropZone(this.dropZone);
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ className = _this$props.className,
+ label = _this$props.label,
+ onFilesDrop = _this$props.onFilesDrop,
+ onHTMLDrop = _this$props.onHTMLDrop,
+ onDrop = _this$props.onDrop;
+ var _this$state = this.state,
+ isDraggingOverDocument = _this$state.isDraggingOverDocument,
+ isDraggingOverElement = _this$state.isDraggingOverElement,
+ position = _this$state.position,
+ type = _this$state.type;
+ var classes = classnames_default()('components-drop-zone', className, Object(esm_defineProperty["a" /* default */])({
+ 'is-active': (isDraggingOverDocument || isDraggingOverElement) && (type === 'file' && onFilesDrop || type === 'html' && onHTMLDrop || type === 'default' && onDrop),
+ 'is-dragging-over-document': isDraggingOverDocument,
+ 'is-dragging-over-element': isDraggingOverElement,
+ 'is-close-to-top': position && position.y === 'top',
+ 'is-close-to-bottom': position && position.y === 'bottom',
+ 'is-close-to-left': position && position.x === 'left',
+ 'is-close-to-right': position && position.x === 'right'
+ }, "is-dragging-".concat(type), !!type));
+ var children;
+
+ if (isDraggingOverElement) {
+ children = Object(external_this_wp_element_["createElement"])("div", {
+ className: "components-drop-zone__content"
+ }, Object(external_this_wp_element_["createElement"])(dashicon["a" /* default */], {
+ icon: "upload",
+ size: "40",
+ className: "components-drop-zone__content-icon"
+ }), Object(external_this_wp_element_["createElement"])("span", {
+ className: "components-drop-zone__content-text"
+ }, label ? label : Object(external_this_wp_i18n_["__"])('Drop files to upload')));
+ }
+
+ return Object(external_this_wp_element_["createElement"])("div", {
+ ref: this.dropZoneElement,
+ className: classes
+ }, children);
+ }
+ }]);
+
+ return DropZoneComponent;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var drop_zone = (drop_zone_DropZone);
+//# sourceMappingURL=index.js.map
+// EXTERNAL MODULE: ./node_modules/prop-types/index.js
+var prop_types = __webpack_require__(1);
+var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
+
+// CONCATENATED MODULE: ./client/profile-wizard/steps/theme/uploader.js
+
+
+
+
+
+
+
+
+function uploader_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (uploader_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function uploader_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+var uploader_ThemeUploader = /*#__PURE__*/function (_Component) {
+ inherits_default()(ThemeUploader, _Component);
+
+ var _super = uploader_createSuper(ThemeUploader);
+
+ function ThemeUploader() {
+ var _this;
+
+ classCallCheck_default()(this, ThemeUploader);
+
+ _this = _super.call(this);
+ _this.state = {
+ isUploading: false
+ };
+ _this.handleFilesUpload = _this.handleFilesUpload.bind(assertThisInitialized_default()(_this));
+ _this.handleFilesDrop = _this.handleFilesDrop.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(ThemeUploader, [{
+ key: "handleFilesDrop",
+ value: function handleFilesDrop(files) {
+ var file = files[0];
+ this.uploadTheme(file);
+ }
+ }, {
+ key: "handleFilesUpload",
+ value: function handleFilesUpload(e) {
+ var file = e.target.files[0];
+ this.uploadTheme(file);
+ }
+ }, {
+ key: "uploadTheme",
+ value: function uploadTheme(file) {
+ var _this2 = this;
+
+ var _this$props = this.props,
+ createNotice = _this$props.createNotice,
+ onUploadComplete = _this$props.onUploadComplete;
+ this.setState({
+ isUploading: true
+ });
+ var body = new window.FormData();
+ body.append('pluginzip', file);
+ return external_this_wp_apiFetch_default()({
+ path: '/wc-admin/themes',
+ method: 'POST',
+ body: body
+ }).then(function (response) {
+ onUploadComplete(response);
+
+ _this2.setState({
+ isUploading: false
+ });
+
+ createNotice(response.status, response.message);
+ }).catch(function (error) {
+ _this2.setState({
+ isUploading: false
+ });
+
+ if (error && error.message) {
+ createNotice('error', error.message);
+ }
+ });
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var className = this.props.className;
+ var isUploading = this.state.isUploading;
+ var classes = classnames_default()('woocommerce-theme-uploader', className, {
+ 'is-uploading': isUploading
+ });
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Card"], {
+ className: classes
+ }, Object(external_this_wp_element_["createElement"])(provider, null, !isUploading ? Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(form_file_upload, {
+ accept: ".zip",
+ onChange: this.handleFilesUpload
+ }, Object(external_this_wp_element_["createElement"])(dist_default.a, {
+ icon: "cloud-upload"
+ }), Object(external_this_wp_element_["createElement"])(external_this_wc_components_["H"], {
+ className: "woocommerce-theme-uploader__title"
+ }, Object(external_this_wp_i18n_["__"])('Upload a theme', 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])("p", null, Object(external_this_wp_i18n_["__"])('Drop a theme zip file here to upload', 'woocommerce-admin'))), Object(external_this_wp_element_["createElement"])(drop_zone, {
+ label: Object(external_this_wp_i18n_["__"])('Drop your theme zip file here', 'woocommerce-admin'),
+ onFilesDrop: this.handleFilesDrop
+ })) : Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Spinner"], null), Object(external_this_wp_element_["createElement"])(external_this_wc_components_["H"], {
+ className: "woocommerce-theme-uploader__title"
+ }, Object(external_this_wp_i18n_["__"])('Uploading theme', 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])("p", null, Object(external_this_wp_i18n_["__"])('Your theme is being uploaded', 'woocommerce-admin')))));
+ }
+ }]);
+
+ return ThemeUploader;
+}(external_this_wp_element_["Component"]);
+
+uploader_ThemeUploader.propTypes = {
+ /**
+ * Additional class name to style the component.
+ */
+ className: prop_types_default.a.string,
+
+ /**
+ * Function called when an upload has finished.
+ */
+ onUploadComplete: prop_types_default.a.func
+};
+uploader_ThemeUploader.defaultProps = {
+ onUploadComplete: external_lodash_["noop"]
+};
+/* harmony default export */ var uploader = (Object(compose["a" /* default */])(Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('core/notices'),
+ createNotice = _dispatch.createNotice;
+
+ return {
+ createNotice: createNotice
+ };
+}))(uploader_ThemeUploader));
+// CONCATENATED MODULE: ./client/profile-wizard/steps/theme/preview.js
+
+
+
+
+
+
+
+
+function preview_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (preview_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function preview_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+var devices = [{
+ key: 'mobile',
+ icon: 'phone_android'
+}, {
+ key: 'tablet',
+ icon: 'tablet_android'
+}, {
+ key: 'desktop',
+ icon: 'desktop_windows'
+}];
+
+var preview_ThemePreview = /*#__PURE__*/function (_Component) {
+ inherits_default()(ThemePreview, _Component);
+
+ var _super = preview_createSuper(ThemePreview);
+
+ function ThemePreview() {
+ var _this;
+
+ classCallCheck_default()(this, ThemePreview);
+
+ _this = _super.apply(this, arguments);
+ _this.state = {
+ device: 'desktop'
+ };
+ _this.handleDeviceClick = _this.handleDeviceClick.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(ThemePreview, [{
+ key: "handleDeviceClick",
+ value: function handleDeviceClick(device) {
+ var theme = this.props.theme;
+ Object(tracks["b" /* recordEvent */])('storeprofiler_store_theme_demo_device', {
+ device: device,
+ theme: theme.slug
+ });
+ this.setState({
+ device: device
+ });
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this2 = this;
+
+ var _this$props = this.props,
+ isBusy = _this$props.isBusy,
+ onChoose = _this$props.onChoose,
+ onClose = _this$props.onClose,
+ theme = _this$props.theme;
+ var demoUrl = theme.demo_url,
+ slug = theme.slug,
+ title = theme.title;
+ var currentDevice = this.state.device;
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-theme-preview"
+ }, Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-theme-preview__toolbar"
+ }, Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ className: "woocommerce-theme-preview__close",
+ onClick: onClose
+ }, Object(external_this_wp_element_["createElement"])("i", {
+ className: "material-icons-outlined"
+ }, "close")), Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-theme-preview__theme-name"
+ }, lib_default()({
+ /* translators: Describing who a previewed theme is developed by. E.g., Storefront developed by WooCommerce */
+ mixedString: Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('{{strong}}%s{{/strong}} developed by WooCommerce', 'woocommerce-admin'), title),
+ components: {
+ strong: Object(external_this_wp_element_["createElement"])("strong", null)
+ }
+ })), Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-theme-preview__devices"
+ }, devices.map(function (device) {
+ return Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ key: device.key,
+ className: classnames_default()('woocommerce-theme-preview__device', {
+ 'is-selected': device.key === currentDevice
+ }),
+ onClick: function onClick() {
+ return _this2.handleDeviceClick(device.key);
+ }
+ }, Object(external_this_wp_element_["createElement"])("i", {
+ className: "material-icons-outlined"
+ }, device.icon));
+ })), Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isPrimary: true,
+ onClick: function onClick() {
+ return onChoose(slug, 'preview');
+ },
+ isBusy: isBusy
+ }, Object(external_this_wp_i18n_["__"])('Choose', 'woocommerce-admin'))), Object(external_this_wp_element_["createElement"])(external_this_wc_components_["WebPreview"], {
+ src: demoUrl,
+ title: title,
+ className: "is-".concat(currentDevice)
+ }));
+ }
+ }]);
+
+ return ThemePreview;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var preview = (preview_ThemePreview);
+// CONCATENATED MODULE: ./client/profile-wizard/steps/theme/index.js
+
+
+
+
+
+
+
+
+
+
+function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+function theme_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (theme_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function theme_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+
+var theme_Theme = /*#__PURE__*/function (_Component) {
+ inherits_default()(Theme, _Component);
+
+ var _super = theme_createSuper(Theme);
+
+ function Theme() {
+ var _this;
+
+ classCallCheck_default()(this, Theme);
+
+ _this = _super.apply(this, arguments);
+ _this.state = {
+ activeTab: 'all',
+ chosen: null,
+ demo: null,
+ uploadedThemes: []
+ };
+ _this.handleUploadComplete = _this.handleUploadComplete.bind(assertThisInitialized_default()(_this));
+ _this.onChoose = _this.onChoose.bind(assertThisInitialized_default()(_this));
+ _this.onClosePreview = _this.onClosePreview.bind(assertThisInitialized_default()(_this));
+ _this.onSelectTab = _this.onSelectTab.bind(assertThisInitialized_default()(_this));
+ _this.openDemo = _this.openDemo.bind(assertThisInitialized_default()(_this));
+ _this.skipStep = _this.skipStep.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(Theme, [{
+ key: "componentDidUpdate",
+ value: function componentDidUpdate(prevProps) {
+ var _this$props = this.props,
+ isError = _this$props.isError,
+ isGetProfileItemsRequesting = _this$props.isGetProfileItemsRequesting,
+ createNotice = _this$props.createNotice;
+ var chosen = this.state.chosen;
+ var isRequestSuccessful = !isGetProfileItemsRequesting && prevProps.isGetProfileItemsRequesting && !isError && chosen;
+ var isRequestError = !isGetProfileItemsRequesting && prevProps.isRequesting && isError;
+
+ if (isRequestSuccessful) {
+ /* eslint-disable react/no-did-update-set-state */
+ this.setState({
+ chosen: null
+ });
+ /* eslint-enable react/no-did-update-set-state */
+
+ this.props.goToNextStep();
+ }
+
+ if (isRequestError) {
+ /* eslint-disable react/no-did-update-set-state */
+ this.setState({
+ chosen: null
+ });
+ /* eslint-enable react/no-did-update-set-state */
+
+ createNotice('error', Object(external_this_wp_i18n_["__"])('There was a problem selecting your store theme.', 'woocommerce-admin'));
+ }
+ }
+ }, {
+ key: "onChoose",
+ value: function onChoose(theme) {
+ var location = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
+ var updateProfileItems = this.props.updateProfileItems;
+ var isInstalled = theme.is_installed,
+ price = theme.price,
+ slug = theme.slug;
+
+ var _getSetting = Object(client_settings["g" /* getSetting */])('onboarding', {}),
+ _getSetting$activeThe = _getSetting.activeTheme,
+ activeTheme = _getSetting$activeThe === void 0 ? '' : _getSetting$activeThe;
+
+ this.setState({
+ chosen: slug
+ });
+ Object(tracks["b" /* recordEvent */])('storeprofiler_store_theme_choose', {
+ theme: slug,
+ location: location
+ });
+
+ if (slug !== activeTheme && Object(utils["c" /* getPriceValue */])(price) <= 0) {
+ if (isInstalled) {
+ this.activateTheme(slug);
+ } else {
+ this.installTheme(slug);
+ }
+ } else {
+ updateProfileItems({
+ theme: slug
+ });
+ }
+ }
+ }, {
+ key: "installTheme",
+ value: function installTheme(slug) {
+ var _this2 = this;
+
+ var createNotice = this.props.createNotice;
+ external_this_wp_apiFetch_default()({
+ path: '/wc-admin/onboarding/themes/install?theme=' + slug,
+ method: 'POST'
+ }).then(function (response) {
+ createNotice('success', Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('%s was installed on your site.', 'woocommerce-admin'), response.name));
+
+ _this2.activateTheme(slug);
+ }).catch(function (response) {
+ _this2.setState({
+ chosen: null
+ });
+
+ createNotice('error', response.message);
+ });
+ }
+ }, {
+ key: "activateTheme",
+ value: function activateTheme(slug) {
+ var _this3 = this;
+
+ var _this$props2 = this.props,
+ createNotice = _this$props2.createNotice,
+ updateProfileItems = _this$props2.updateProfileItems;
+ external_this_wp_apiFetch_default()({
+ path: '/wc-admin/onboarding/themes/activate?theme=' + slug,
+ method: 'POST'
+ }).then(function (response) {
+ createNotice('success', Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('%s was activated on your site.', 'woocommerce-admin'), response.name));
+ Object(client_settings["h" /* setSetting */])('onboarding', _objectSpread({}, Object(client_settings["g" /* getSetting */])('onboarding', {}), {
+ activeTheme: response.slug
+ }));
+ updateProfileItems({
+ theme: slug
+ });
+ }).catch(function (response) {
+ _this3.setState({
+ chosen: null
+ });
+
+ createNotice('error', response.message);
+ });
+ }
+ }, {
+ key: "onClosePreview",
+ value: function onClosePreview() {
+ var demo = this.state.demo;
+ Object(tracks["b" /* recordEvent */])('storeprofiler_store_theme_demo_close', {
+ theme: demo.slug
+ });
+ document.body.classList.remove('woocommerce-theme-preview-active');
+ this.setState({
+ demo: null
+ });
+ }
+ }, {
+ key: "openDemo",
+ value: function openDemo(theme) {
+ Object(tracks["b" /* recordEvent */])('storeprofiler_store_theme_live_demo', {
+ theme: theme.slug
+ });
+ document.body.classList.add('woocommerce-theme-preview-active');
+ this.setState({
+ demo: theme
+ });
+ }
+ }, {
+ key: "skipStep",
+ value: function skipStep() {
+ var _getSetting2 = Object(client_settings["g" /* getSetting */])('onboarding', {}),
+ _getSetting2$activeTh = _getSetting2.activeTheme,
+ activeTheme = _getSetting2$activeTh === void 0 ? '' : _getSetting2$activeTh;
+
+ Object(tracks["b" /* recordEvent */])('storeprofiler_store_theme_skip_step', {
+ activeTheme: activeTheme
+ });
+ this.props.goToNextStep();
+ }
+ }, {
+ key: "renderTheme",
+ value: function renderTheme(theme) {
+ var _this4 = this;
+
+ var demoUrl = theme.demo_url,
+ hasSupport = theme.has_woocommerce_support,
+ image = theme.image,
+ slug = theme.slug,
+ title = theme.title;
+ var chosen = this.state.chosen;
+
+ var _getSetting3 = Object(client_settings["g" /* getSetting */])('onboarding', {}),
+ _getSetting3$activeTh = _getSetting3.activeTheme,
+ activeTheme = _getSetting3$activeTh === void 0 ? '' : _getSetting3$activeTh;
+
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Card"], {
+ className: "woocommerce-profile-wizard__theme",
+ key: theme.slug
+ }, image && Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-profile-wizard__theme-image",
+ style: {
+ backgroundImage: "url(".concat(image, ")")
+ },
+ role: "img",
+ "aria-label": title
+ }), Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-profile-wizard__theme-details"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["H"], {
+ className: "woocommerce-profile-wizard__theme-name"
+ }, title, !hasSupport && Object(external_this_wp_element_["createElement"])(tooltip["a" /* default */], {
+ text: Object(external_this_wp_i18n_["__"])('This theme does not support WooCommerce.', 'woocommerce-admin')
+ }, Object(external_this_wp_element_["createElement"])("span", null, Object(external_this_wp_element_["createElement"])(dist_default.a, {
+ icon: "info",
+ role: "img",
+ "aria-hidden": "true",
+ focusable: "false"
+ })))), Object(external_this_wp_element_["createElement"])("p", {
+ className: "woocommerce-profile-wizard__theme-status"
+ }, this.getThemeStatus(theme)), Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-profile-wizard__theme-actions"
+ }, slug === activeTheme ? Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isPrimary: true,
+ onClick: function onClick() {
+ return _this4.onChoose(theme, 'card');
+ },
+ isBusy: chosen === slug
+ }, Object(external_this_wp_i18n_["__"])('Continue with my active theme', 'woocommerce-admin')) : Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isDefault: true,
+ onClick: function onClick() {
+ return _this4.onChoose(theme, 'card');
+ },
+ isBusy: chosen === slug
+ }, Object(external_this_wp_i18n_["__"])('Choose', 'woocommerce-admin')), demoUrl && Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isTertiary: true,
+ onClick: function onClick() {
+ return _this4.openDemo(theme);
+ }
+ }, Object(external_this_wp_i18n_["__"])('Live demo', 'woocommerce-admin')))));
+ }
+ }, {
+ key: "getThemeStatus",
+ value: function getThemeStatus(theme) {
+ var isInstalled = theme.is_installed,
+ price = theme.price,
+ slug = theme.slug;
+
+ var _getSetting4 = Object(client_settings["g" /* getSetting */])('onboarding', {}),
+ _getSetting4$activeTh = _getSetting4.activeTheme,
+ activeTheme = _getSetting4$activeTh === void 0 ? '' : _getSetting4$activeTh;
+
+ if (activeTheme === slug) {
+ return Object(external_this_wp_i18n_["__"])('Currently active theme', 'woocommerce-admin');
+ }
+
+ if (isInstalled) {
+ return Object(external_this_wp_i18n_["__"])('Installed', 'woocommerce-admin');
+ } else if (Object(utils["c" /* getPriceValue */])(price) <= 0) {
+ return Object(external_this_wp_i18n_["__"])('Free', 'woocommerce-admin');
+ }
+
+ return Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('%s per year', 'woocommerce-admin'), Object(external_this_wp_htmlEntities_["decodeEntities"])(price));
+ }
+ }, {
+ key: "doesActiveThemeSupportWooCommerce",
+ value: function doesActiveThemeSupportWooCommerce() {
+ var _getSetting5 = Object(client_settings["g" /* getSetting */])('onboarding', {}),
+ _getSetting5$activeTh = _getSetting5.activeTheme,
+ activeTheme = _getSetting5$activeTh === void 0 ? '' : _getSetting5$activeTh;
+
+ var allThemes = this.getThemes();
+ var currentTheme = allThemes.find(function (theme) {
+ return theme.slug === activeTheme;
+ });
+ return currentTheme && currentTheme.has_woocommerce_support;
+ }
+ }, {
+ key: "onSelectTab",
+ value: function onSelectTab(tab) {
+ Object(tracks["b" /* recordEvent */])('storeprofiler_store_theme_navigate', {
+ navigation: tab
+ });
+ this.setState({
+ activeTab: tab
+ });
+ }
+ }, {
+ key: "getPriceValue",
+ value: function getPriceValue(string) {
+ return Number(Object(external_this_wp_htmlEntities_["decodeEntities"])(string).replace(/[^0-9.-]+/g, ''));
+ }
+ }, {
+ key: "getThemes",
+ value: function getThemes() {
+ var activeTab = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'all';
+ var uploadedThemes = this.state.uploadedThemes;
+
+ var _getSetting6 = Object(client_settings["g" /* getSetting */])('onboarding', {}),
+ _getSetting6$activeTh = _getSetting6.activeTheme,
+ activeTheme = _getSetting6$activeTh === void 0 ? '' : _getSetting6$activeTh,
+ _getSetting6$themes = _getSetting6.themes,
+ themes = _getSetting6$themes === void 0 ? [] : _getSetting6$themes;
+
+ var allThemes = [].concat(toConsumableArray_default()(themes.filter(function (theme) {
+ return theme && (theme.has_woocommerce_support || theme.slug === activeTheme);
+ })), toConsumableArray_default()(uploadedThemes));
+
+ switch (activeTab) {
+ case 'paid':
+ return allThemes.filter(function (theme) {
+ return Object(utils["c" /* getPriceValue */])(theme.price) > 0;
+ });
+
+ case 'free':
+ return allThemes.filter(function (theme) {
+ return Object(utils["c" /* getPriceValue */])(theme.price) <= 0;
+ });
+
+ case 'all':
+ default:
+ return allThemes;
+ }
+ }
+ }, {
+ key: "handleUploadComplete",
+ value: function handleUploadComplete(upload) {
+ if (upload.status === 'success' && upload.theme_data) {
+ this.setState({
+ uploadedThemes: [].concat(toConsumableArray_default()(this.state.uploadedThemes), [upload.theme_data])
+ });
+ Object(tracks["b" /* recordEvent */])('storeprofiler_store_theme_upload', {
+ theme: upload.theme_data.slug
+ });
+ }
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this5 = this;
+
+ var _this$state = this.state,
+ activeTab = _this$state.activeTab,
+ chosen = _this$state.chosen,
+ demo = _this$state.demo;
+ var themes = this.getThemes(activeTab);
+ var activeThemeSupportsWooCommerce = this.doesActiveThemeSupportWooCommerce();
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["H"], {
+ className: "woocommerce-profile-wizard__header-title"
+ }, Object(external_this_wp_i18n_["__"])('Choose a theme', 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])(external_this_wc_components_["H"], {
+ className: "woocommerce-profile-wizard__header-subtitle"
+ }, Object(external_this_wp_i18n_["__"])("Choose how your store appears to customers. And don't worry, you can always switch themes and edit them later.", 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])(tab_panel["a" /* default */], {
+ className: "woocommerce-profile-wizard__themes-tab-panel",
+ activeClass: "is-active",
+ onSelect: this.onSelectTab,
+ tabs: [{
+ name: 'all',
+ title: Object(external_this_wp_i18n_["__"])('All themes', 'woocommerce-admin')
+ }, {
+ name: 'paid',
+ title: Object(external_this_wp_i18n_["__"])('Paid themes', 'woocommerce-admin')
+ }, {
+ name: 'free',
+ title: Object(external_this_wp_i18n_["__"])('Free themes', 'woocommerce-admin')
+ }]
+ }, function () {
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-profile-wizard__themes"
+ }, themes && themes.map(function (theme) {
+ return _this5.renderTheme(theme);
+ }), Object(external_this_wp_element_["createElement"])(uploader, {
+ onUploadComplete: _this5.handleUploadComplete
+ }));
+ }), demo && Object(external_this_wp_element_["createElement"])(preview, {
+ theme: demo,
+ onChoose: this.onChoose,
+ onClose: this.onClosePreview,
+ isBusy: chosen === demo.slug
+ }), activeThemeSupportsWooCommerce && Object(external_this_wp_element_["createElement"])("p", null, Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isLink: true,
+ className: "woocommerce-profile-wizard__skip",
+ onClick: function onClick() {
+ return _this5.skipStep();
+ }
+ }, Object(external_this_wp_i18n_["__"])('Skip this step', 'woocommerce-admin'))));
+ }
+ }]);
+
+ return Theme;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var steps_theme = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select) {
+ var _select = select('wc-api'),
+ getProfileItems = _select.getProfileItems,
+ getProfileItemsError = _select.getProfileItemsError,
+ isGetProfileItemsRequesting = _select.isGetProfileItemsRequesting;
+
+ return {
+ isError: Boolean(getProfileItemsError()),
+ isGetProfileItemsRequesting: isGetProfileItemsRequesting(),
+ profileItems: getProfileItems()
+ };
+}), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('wc-api'),
+ updateProfileItems = _dispatch.updateProfileItems;
+
+ var _dispatch2 = dispatch('core/notices'),
+ createNotice = _dispatch2.createNotice;
+
+ return {
+ createNotice: createNotice,
+ updateProfileItems: updateProfileItems
+ };
+}))(theme_Theme));
+// EXTERNAL MODULE: ./client/profile-wizard/style.scss
+var profile_wizard_style = __webpack_require__(890);
+
+// CONCATENATED MODULE: ./client/profile-wizard/index.js
+
+
+
+
+
+
+
+
+
+function profile_wizard_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function profile_wizard_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { profile_wizard_ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { profile_wizard_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+function profile_wizard_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (profile_wizard_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function profile_wizard_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+
+
+
+
+
+
+var profile_wizard_ProfileWizard = /*#__PURE__*/function (_Component) {
+ inherits_default()(ProfileWizard, _Component);
+
+ var _super = profile_wizard_createSuper(ProfileWizard);
+
+ function ProfileWizard(props) {
+ var _this;
+
+ classCallCheck_default()(this, ProfileWizard);
+
+ _this = _super.call(this, props);
+ _this.state = {
+ cartRedirectUrl: null
+ };
+ _this.activePlugins = props.activePlugins;
+ _this.goToNextStep = _this.goToNextStep.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(ProfileWizard, [{
+ key: "componentDidUpdate",
+ value: function componentDidUpdate(prevProps) {
+ var prevStep = prevProps.query.step;
+ var step = this.props.query.step;
+ var _this$props = this.props,
+ isError = _this$props.isError,
+ isGetProfileItemsRequesting = _this$props.isGetProfileItemsRequesting,
+ createNotice = _this$props.createNotice;
+ var isRequestError = !isGetProfileItemsRequesting && prevProps.isRequesting && isError;
+
+ if (isRequestError) {
+ createNotice('error', Object(external_this_wp_i18n_["__"])('There was a problem finishing the profile wizard.', 'woocommerce-admin'));
+ }
+
+ if (prevStep !== step) {
+ window.document.documentElement.scrollTop = 0;
+ Object(tracks["b" /* recordEvent */])('storeprofiler_step_view', {
+ step: this.getCurrentStep().key
+ });
+ }
+ }
+ }, {
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ var _this$props2 = this.props,
+ profileItems = _this$props2.profileItems,
+ updateProfileItems = _this$props2.updateProfileItems;
+ document.body.classList.remove('woocommerce-admin-is-loading');
+ document.documentElement.classList.remove('wp-toolbar');
+ document.body.classList.add('woocommerce-onboarding');
+ document.body.classList.add('woocommerce-profile-wizard__body');
+ document.body.classList.add('woocommerce-admin-full-screen');
+ Object(tracks["b" /* recordEvent */])('storeprofiler_step_view', {
+ step: this.getCurrentStep().key
+ }); // Track plugins if already installed.
+
+ if (this.activePlugins.includes('woocommerce-services') && this.activePlugins.includes('jetpack') && profileItems.plugins !== 'already-installed') {
+ Object(tracks["b" /* recordEvent */])('wcadmin_storeprofiler_already_installed_plugins', {});
+ updateProfileItems({
+ plugins: 'already-installed'
+ });
+ }
+ }
+ }, {
+ key: "componentWillUnmount",
+ value: function componentWillUnmount() {
+ var cartRedirectUrl = this.state.cartRedirectUrl;
+
+ if (cartRedirectUrl) {
+ document.body.classList.add('woocommerce-admin-is-loading');
+ window.location = cartRedirectUrl;
+ }
+
+ document.documentElement.classList.add('wp-toolbar');
+ document.body.classList.remove('woocommerce-onboarding');
+ document.body.classList.remove('woocommerce-profile-wizard__body');
+ document.body.classList.remove('woocommerce-admin-full-screen');
+ }
+ }, {
+ key: "getSteps",
+ value: function getSteps() {
+ var profileItems = this.props.profileItems;
+ var steps = [];
+ steps.push({
+ key: 'store-details',
+ container: store_details,
+ label: Object(external_this_wp_i18n_["__"])('Store Details', 'woocommerce-admin'),
+ isComplete: profileItems.hasOwnProperty('setup_client') && profileItems.setup_client !== null
+ });
+ steps.push({
+ key: 'industry',
+ container: industry,
+ label: Object(external_this_wp_i18n_["__"])('Industry', 'woocommerce-admin'),
+ isComplete: profileItems.hasOwnProperty('industry') && profileItems.industry !== null
+ });
+ steps.push({
+ key: 'product-types',
+ container: product_types,
+ label: Object(external_this_wp_i18n_["__"])('Product Types', 'woocommerce-admin'),
+ isComplete: profileItems.hasOwnProperty('product_types') && profileItems.product_types !== null
+ });
+ steps.push({
+ key: 'business-details',
+ container: business_details,
+ label: Object(external_this_wp_i18n_["__"])('Business Details', 'woocommerce-admin'),
+ isComplete: profileItems.hasOwnProperty('product_count') && profileItems.product_count !== null
+ });
+ steps.push({
+ key: 'theme',
+ container: steps_theme,
+ label: Object(external_this_wp_i18n_["__"])('Theme', 'woocommerce-admin'),
+ isComplete: profileItems.hasOwnProperty('theme') && profileItems.theme !== null
+ });
+
+ if (!this.activePlugins.includes('woocommerce-services') || !this.activePlugins.includes('jetpack')) {
+ steps.push({
+ key: 'benefits',
+ container: benefits
+ });
+ }
+
+ return steps;
+ }
+ }, {
+ key: "getCurrentStep",
+ value: function getCurrentStep() {
+ var step = this.props.query.step;
+ var currentStep = this.getSteps().find(function (s) {
+ return s.key === step;
+ });
+
+ if (!currentStep) {
+ return this.getSteps()[0];
+ }
+
+ return currentStep;
+ }
+ }, {
+ key: "goToNextStep",
+ value: function () {
+ var _goToNextStep = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
+ var currentStep, currentStepIndex, nextStep;
+ return regeneratorRuntime.wrap(function _callee$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ currentStep = this.getCurrentStep();
+ currentStepIndex = this.getSteps().findIndex(function (s) {
+ return s.key === currentStep.key;
+ });
+ Object(tracks["b" /* recordEvent */])('storeprofiler_step_complete', {
+ step: currentStep.key
+ });
+ nextStep = this.getSteps()[currentStepIndex + 1];
+
+ if (!(typeof nextStep === 'undefined')) {
+ _context.next = 7;
+ break;
+ }
+
+ this.completeProfiler();
+ return _context.abrupt("return");
+
+ case 7:
+ return _context.abrupt("return", Object(external_this_wc_navigation_["updateQueryString"])({
+ step: nextStep.key
+ }));
+
+ case 8:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, _callee, this);
+ }));
+
+ function goToNextStep() {
+ return _goToNextStep.apply(this, arguments);
+ }
+
+ return goToNextStep;
+ }()
+ }, {
+ key: "completeProfiler",
+ value: function completeProfiler() {
+ var _this$props3 = this.props,
+ notes = _this$props3.notes,
+ updateNote = _this$props3.updateNote,
+ updateProfileItems = _this$props3.updateProfileItems;
+ updateProfileItems({
+ completed: true
+ });
+ Object(tracks["b" /* recordEvent */])('storeprofiler_complete');
+ var profilerNote = notes.find(function (note) {
+ return note.name === 'wc-admin-onboarding-profiler-reminder';
+ });
+
+ if (profilerNote) {
+ updateNote(profilerNote.id, {
+ status: 'actioned'
+ });
+ }
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var query = this.props.query;
+ var step = this.getCurrentStep();
+ var container = Object(external_this_wp_element_["createElement"])(step.container, {
+ query: query,
+ step: step,
+ goToNextStep: this.goToNextStep
+ });
+ var steps = this.getSteps().map(function (_step) {
+ return Object(external_lodash_["pick"])(_step, ['key', 'label', 'isComplete']);
+ });
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(header_ProfileWizardHeader, {
+ currentStep: step.key,
+ steps: steps
+ }), Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-profile-wizard__container"
+ }, container));
+ }
+ }]);
+
+ return ProfileWizard;
+}(external_this_wp_element_["Component"]);
+
+var hydrateSettings = window.wcSettings.preloadSettings && window.wcSettings.preloadSettings.general;
+/* harmony default export */ var profile_wizard = __webpack_exports__["default"] = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select) {
+ var _select = select('wc-api'),
+ getNotes = _select.getNotes,
+ getProfileItems = _select.getProfileItems,
+ getProfileItemsError = _select.getProfileItemsError;
+
+ var _select2 = select(external_this_wc_data_["PLUGINS_STORE_NAME"]),
+ getActivePlugins = _select2.getActivePlugins;
+
+ var notesQuery = {
+ page: 1,
+ per_page: wc_api_constants["d" /* QUERY_DEFAULTS */].pageSize,
+ type: 'update',
+ status: 'unactioned'
+ };
+ var notes = getNotes(notesQuery);
+ var activePlugins = getActivePlugins();
+ return {
+ isError: Boolean(getProfileItemsError()),
+ notes: notes,
+ profileItems: getProfileItems(),
+ activePlugins: activePlugins
+ };
+}), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('wc-api'),
+ updateNote = _dispatch.updateNote,
+ updateProfileItems = _dispatch.updateProfileItems;
+
+ var _dispatch2 = dispatch('core/notices'),
+ createNotice = _dispatch2.createNotice;
+
+ return {
+ createNotice: createNotice,
+ updateNote: updateNote,
+ updateProfileItems: updateProfileItems
+ };
+}), hydrateSettings ? Object(external_this_wc_data_["withSettingsHydration"])('general', {
+ general: window.wcSettings.preloadSettings.general
+}) : external_lodash_["identity"], window.wcSettings.plugins ? Object(external_this_wc_data_["withPluginsHydration"])(profile_wizard_objectSpread({}, window.wcSettings.plugins, {
+ jetpackStatus: window.wcSettings.dataEndpoints.jetpackStatus
+})) : external_lodash_["identity"])(profile_wizard_ProfileWizard));
+
+/***/ })
+
+}]);
\ No newline at end of file
diff --git a/dist/chunks/profile-wizard.5f293dc41bd478f9a580.min.js b/dist/chunks/profile-wizard.5f293dc41bd478f9a580.min.js
new file mode 100644
index 00000000000..47bc1d8d94c
--- /dev/null
+++ b/dist/chunks/profile-wizard.5f293dc41bd478f9a580.min.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[40],{119:function(e,t,n){"use strict";var r=n(27),o=n(16),c=n(0);t.a=function(e){var t=e.as,n=void 0===t?"div":t,a=Object(o.a)(e,["as"]);return function(e){var t=e.as,n=void 0===t?"div":t,r=Object(o.a)(e,["as"]);return"function"==typeof r.children?r.children(r):Object(c.createElement)(n,r)}(Object(r.a)({as:n,className:"components-visually-hidden"},a))}},171:function(e,t,n){"use strict";var r=n(0),o=n(10),c=n.n(o),a=n(119);function i(e){var t=e.id,n=e.label,o=e.hideLabelFromVision,l=e.help,s=e.className,m=e.children;return Object(r.createElement)("div",{className:c()("components-base-control",s)},Object(r.createElement)("div",{className:"components-base-control__field"},n&&t&&(o?Object(r.createElement)(a.a,{as:"label",htmlFor:t},n):Object(r.createElement)("label",{className:"components-base-control__label",htmlFor:t},n)),n&&!t&&(o?Object(r.createElement)(a.a,{as:"label"},n):Object(r.createElement)(i.VisualLabel,null,n)),m),!!l&&Object(r.createElement)("p",{id:t+"__help",className:"components-base-control__help"},l))}i.VisualLabel=function(e){var t=e.className,n=e.children;return t=c()("components-base-control__label",t),Object(r.createElement)("span",{className:t},n)},t.a=i},173:function(e,t,n){"use strict";var r=n(11),o=n(0),c=n(53),a=new WeakMap;function i(e){return Object(o.useMemo)((function(){return function(e){var t=a.get(e)||0;return a.set(e,t+1),t}(e)}),[e])}t.a=Object(c.a)((function(e){return function(t){var n=i(e);return Object(o.createElement)(e,Object(r.a)({},t,{instanceId:n}))}}),"withInstanceId")},717:function(e,t,n){"use strict";var r=n(13),o=n(7),c=n(6),a=n(8),i=n(4),l=n(5),s=n(9),m=n(11),C=n(16),u=n(0),p=n(10),d=n.n(p),b=n(2),h=n(173),f=n(424),O=n(88),g=function(e){var t=e.tabId,n=e.onClick,r=e.children,o=e.selected,c=Object(C.a)(e,["tabId","onClick","children","selected"]);return Object(u.createElement)(O.a,Object(m.a)({role:"tab",tabIndex:o?null:-1,"aria-selected":o,id:t,onClick:n},c),r)},j=function(e){function t(){var e;Object(o.a)(this,t);var n=(e=Object(a.a)(this,Object(i.a)(t).apply(this,arguments))).props,r=n.tabs,c=n.initialTabName;return e.handleClick=e.handleClick.bind(Object(l.a)(e)),e.onNavigate=e.onNavigate.bind(Object(l.a)(e)),e.state={selected:c||(r.length>0?r[0].name:null)},e}return Object(s.a)(t,e),Object(c.a)(t,[{key:"handleClick",value:function(e){var t=this.props.onSelect,n=void 0===t?b.noop:t;this.setState({selected:e}),n(e)}},{key:"onNavigate",value:function(e,t){t.click()}},{key:"render",value:function(){var e=this,t=this.state.selected,n=this.props,o=n.activeClass,c=void 0===o?"is-active":o,a=n.className,i=n.instanceId,l=n.orientation,s=void 0===l?"horizontal":l,m=n.tabs,C=Object(b.find)(m,{name:t}),p=i+"-"+C.name;return Object(u.createElement)("div",{className:a},Object(u.createElement)(f.a,{role:"tablist",orientation:s,onNavigate:this.onNavigate,className:"components-tab-panel__tabs"},m.map((function(n){return Object(u.createElement)(g,{className:d()(n.className,Object(r.a)({},c,n.name===t)),tabId:i+"-"+n.name,"aria-controls":i+"-"+n.name+"-view",selected:n.name===t,key:n.name,onClick:Object(b.partial)(e.handleClick,n.name)},n.title)}))),C&&Object(u.createElement)("div",{"aria-labelledby":p,role:"tabpanel",id:p+"-view",className:"components-tab-panel__tab-content",tabIndex:"0"},this.props.children(C)))}}]),t}(u.Component);t.a=Object(h.a)(j)},759:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(3),o={"facebook-for-woocommerce":Object(r.__)("Facebook for WooCommerce","woocommerce-admin"),jetpack:Object(r.__)("Jetpack","woocommerce-admin"),"klarna-checkout-for-woocommerce":Object(r.__)("Klarna Checkout for WooCommerce","woocommerce-admin"),"klarna-payments-for-woocommerce":Object(r.__)("Klarna Payments for WooCommerce","woocommerce-admin"),"mailchimp-for-woocommerce":Object(r.__)("Mailchimp for WooCommerce","woocommerce-admin"),"woocommerce-gateway-paypal-express-checkout":Object(r.__)("WooCommerce PayPal","woocommerce-admin"),"woocommerce-gateway-stripe":Object(r.__)("WooCommerce Stripe","woocommerce-admin"),"woocommerce-payfast-gateway":Object(r.__)("WooCommerce PayFast","woocommerce-admin"),"woocommerce-payments":Object(r.__)("WooCommerce Payments","woocommerce-admin"),"woocommerce-services":Object(r.__)("WooCommerce Services","woocommerce-admin"),"woocommerce-shipstation-integration":Object(r.__)("WooCommerce ShipStation Gateway","woocommerce-admin"),"kliken-marketing-for-google":Object(r.__)("Google Ads","woocommerce-admin")}},760:function(e,t,n){"use strict";var r=n(11),o=n(16),c=n(0),a=n(173),i=n(171),l=n(80);t.a=Object(a.a)((function(e){var t=e.label,n=e.className,a=e.heading,s=e.checked,m=e.help,C=e.instanceId,u=e.onChange,p=Object(o.a)(e,["label","className","heading","checked","help","instanceId","onChange"]),d="inspector-checkbox-control-".concat(C);return Object(c.createElement)(i.a,{label:a,id:d,help:m,className:n},Object(c.createElement)("span",{className:"components-checkbox-control__input-container"},Object(c.createElement)("input",Object(r.a)({id:d,className:"components-checkbox-control__input",type:"checkbox",value:"1",onChange:function(e){return u(e.target.checked)},checked:s,"aria-describedby":m?d+"__help":void 0},p)),s?Object(c.createElement)(l.a,{icon:"yes",className:"components-checkbox-control__checked",role:"presentation"}):null),Object(c.createElement)("label",{className:"components-checkbox-control__label",htmlFor:d},t))}))},768:function(e,t,n){"use strict";n.d(t,"b",(function(){return f})),n.d(t,"a",(function(){return O}));var r=n(105),o=n.n(r),c=n(749),a=n.n(c),i=n(32),l=n.n(i),s=n(0),m=n(3),C=n(69),u=n(2),p=n(14),d=n(26),b=n(63),h=Object(d.g)("dataEndpoints",{countries:{}}).countries;function f(e){var t={};return e.addressLine1.length||(t.addressLine1=Object(m.__)("Please add an address","woocommerce-admin")),e.countryState.length||(t.countryState=Object(m.__)("Please select a country / region","woocommerce-admin")),e.city.length||(t.city=Object(m.__)("Please add a city","woocommerce-admin")),e.postCode.length||(t.postCode=Object(m.__)("Please add a post code","woocommerce-admin")),t}function O(e){var t=e.getInputProps,n=e.setValue,r=Object(p.useMemo)((function(){return h.reduce((function(e,t){if(!t.states.length)return e.push({key:t.code,label:Object(C.decodeEntities)(t.name)}),e;var n=t.states.map((function(e){return{key:t.code+":"+e.code,label:Object(C.decodeEntities)(t.name)+" -- "+Object(C.decodeEntities)(e.name)}}));return e.push.apply(e,l()(n)),e}),[])}),[]),c=function(e,t,n){var r=Object(p.useState)(""),o=a()(r,2),c=o[0],i=o[1],l=Object(p.useState)(""),m=a()(l,2),C=m[0],d=m[1];return Object(p.useEffect)((function(){var r=[],o=new RegExp(Object(u.escapeRegExp)(c),"i");if((C.length||c.length)&&(r=e.filter((function(e){return o.test(e.label)}))),c.length&&C.length){var a=new RegExp(Object(u.escapeRegExp)(C.replace(/\s/g,"")),"i");if((r=r.filter((function(e){return a.test(e.label.replace("-","").replace(/\s/g,""))}))).length>1){var i;(i=r.filter((function(e){return o.test(e.key)}))).length>0&&(r=i)}if(r.length>1){var l;1===(l=r.filter((function(e){return a.test(e.key)}))).length&&(r=l)}}1===r.length&&t!==r[0].key&&n("countryState",r[0].key)}),[c,C]),Object(s.createElement)(s.Fragment,null,Object(s.createElement)("input",{onChange:function(e){return i(e.target.value)},value:c,name:"country",type:"text",className:"woocommerce-select-control__autofill-input",tabIndex:"-1",autoComplete:"country"}),Object(s.createElement)("input",{onChange:function(e){return d(e.target.value)},value:C,name:"state",type:"text",className:"woocommerce-select-control__autofill-input",tabIndex:"-1",autoComplete:"address-level1"}))}(r,t("countryState").value,n);return Object(s.createElement)("div",{className:"woocommerce-store-address-fields"},Object(s.createElement)(b.TextControl,o()({label:Object(m.__)("Address line 1","woocommerce-admin"),required:!0,autoComplete:"address-line1"},t("addressLine1"))),Object(s.createElement)(b.TextControl,o()({label:Object(m.__)("Address line 2 (optional)","woocommerce-admin"),required:!0,autoComplete:"address-line2"},t("addressLine2"))),Object(s.createElement)(b.SelectControl,o()({label:Object(m.__)("Country / Region","woocommerce-admin"),required:!0,options:r,excludeSelectedOptions:!1,showAllOnFocus:!0,isSearchable:!0},t("countryState"),{controlClassName:t("countryState").className}),c),Object(s.createElement)(b.TextControl,o()({label:Object(m.__)("City","woocommerce-admin"),required:!0},t("city"),{autoComplete:"address-level2"})),Object(s.createElement)(b.TextControl,o()({label:Object(m.__)("Post code","woocommerce-admin"),required:!0,autoComplete:"postal-code"},t("postCode"))))}},889:function(e,t,n){},890:function(e,t,n){},897:function(e,t,n){"use strict";n.r(t);var r=n(15),o=n.n(r),c=n(46),a=n.n(c),i=n(41),l=n.n(i),s=n(40),m=n.n(s),C=n(59),u=n.n(C),p=n(44),d=n.n(p),b=n(29),h=n.n(b),f=n(42),O=n.n(f),g=n(3),j=n(0),_=n(256),v=n(2),y=n(19),w=n(22),E=n(51),k=n(88),L=n(63);function Z(){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}}var M=function(e){O()(r,e);var t,n=(t=r,function(){var e,n=h()(t);if(Z()){var r=h()(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return d()(this,e)});function r(){return l()(this,r),n.apply(this,arguments)}return m()(r,[{key:"render",value:function(){return Object(j.createElement)("svg",{width:"161",height:"46",viewBox:"0 0 161 46",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-label":Object(g.__)("WooCommerce + Jetpack","woocommerce-admin"),className:"woocommerce-profile-wizard__benefits-logo"},Object(j.createElement)("path",{d:"M139.071 45.4503C150.906 45.4503 160.5 35.7679 160.5 23.824C160.5 11.8802 150.906 2.19775 139.071 2.19775C127.236 2.19775 117.642 11.8802 117.642 23.824C117.642 35.7679 127.236 45.4503 139.071 45.4503Z",fill:"#008710"}),Object(j.createElement)("path",{d:"M140.134 20.1919V41.1578L150.849 20.1919H140.134Z",fill:"#F6F7F7"}),Object(j.createElement)("path",{d:"M137.967 27.4144V6.48975L127.293 27.4144H137.967Z",fill:"#F6F7F7"}),Object(j.createElement)("path",{d:"M95.7021 24.668H100.542V21.6445H95.7021V16.8633H92.7138V21.6445H87.8857V24.668H92.7138V29.4609H95.7021V24.668Z",fill:"#2C3338"}),Object(j.createElement)("g",{clipPath:"url(#clip0)"},Object(j.createElement)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.52123 2.25732H66.5046C70.2374 2.25732 73.2591 5.27907 73.2591 9.01182V31.5268C73.2591 35.2596 70.2374 38.2813 66.5046 38.2813H45.3524L48.2556 45.3913L35.4872 38.2813H7.55086C3.81811 38.2813 0.796359 35.2596 0.796359 31.5268V9.01182C0.766734 5.3087 3.78848 2.25732 7.52123 2.25732Z",fill:"#7F54B3"}),Object(j.createElement)("path",{d:"M4.41042 8.38982C4.82517 7.82695 5.4473 7.5307 6.2768 7.47145C7.78767 7.35295 8.6468 8.06395 8.85417 9.60445C9.77255 15.7961 10.7798 21.0397 11.8463 25.3353L18.3342 12.9817C18.9267 11.8559 19.6673 11.2634 20.5561 11.2042C21.8596 11.1153 22.6594 11.9448 22.9853 13.6927C23.7259 17.6328 24.6739 20.9805 25.7997 23.8245C26.5699 16.2997 27.8734 10.8783 29.7102 7.5307C30.1546 6.7012 30.8063 6.28645 31.6654 6.2272C32.3468 6.16795 32.9689 6.37533 33.5318 6.8197C34.0947 7.26408 34.3909 7.82695 34.4502 8.50832C34.4798 9.04157 34.3909 9.48595 34.1539 9.93033C32.9986 12.0633 32.0506 15.648 31.2803 20.625C30.5397 25.4538 30.2731 29.2162 30.4508 31.9121C30.5101 32.6527 30.3916 33.3045 30.0953 33.8673C29.7398 34.5191 29.2066 34.8746 28.5252 34.9338C27.7549 34.9931 26.955 34.6376 26.1848 33.8377C23.4297 31.0233 21.2374 26.8166 19.6377 21.2175C17.7121 25.0095 16.29 27.8535 15.3717 29.7495C13.6238 33.0971 12.1426 34.8153 10.8983 34.9042C10.0984 34.9635 9.41705 34.2821 8.82455 32.8601C7.31368 28.9792 5.6843 21.4841 3.93643 10.3747C3.84755 9.60445 3.99567 8.92307 4.41042 8.38982Z",fill:"#F6F7F7"}),Object(j.createElement)("path",{d:"M68.1043 13.041C67.0378 11.1746 65.4677 10.0489 63.3643 9.60451C62.8015 9.48601 62.2682 9.42676 61.7646 9.42676C58.9206 9.42676 56.6098 10.908 54.8027 13.8705C53.2622 16.3886 52.4919 19.1734 52.4919 22.2248C52.4919 24.5059 52.9659 26.4611 53.9139 28.0905C54.9804 29.9569 56.5506 31.0826 58.6539 31.527C59.2168 31.6455 59.7501 31.7048 60.2537 31.7048C63.1273 31.7048 65.4381 30.2235 67.2156 27.261C68.7561 24.7133 69.5263 21.9285 69.5263 18.8771C69.5263 16.5664 69.0523 14.6408 68.1043 13.041ZM64.3716 21.2471C63.9568 23.2024 63.2162 24.654 62.1201 25.6316C61.2609 26.4019 60.4611 26.7278 59.7204 26.5796C59.0094 26.4315 58.4169 25.8094 57.9726 24.654C57.6171 23.7356 57.4393 22.8173 57.4393 21.9581C57.4393 21.2175 57.4986 20.4769 57.6467 19.7955C57.9133 18.5809 58.417 17.3959 59.2168 16.2701C60.1945 14.8185 61.2313 14.226 62.2978 14.4334C63.0088 14.5815 63.6013 15.2036 64.0457 16.359C64.4012 17.2774 64.5789 18.1958 64.5789 19.0549C64.5789 19.8251 64.4901 20.5658 64.3716 21.2471Z",fill:"#F6F7F7"}),Object(j.createElement)("path",{d:"M49.5294 13.041C48.4629 11.1746 46.8631 10.0489 44.7894 9.60451C44.2265 9.48601 43.6932 9.42676 43.1896 9.42676C40.3456 9.42676 38.0349 10.908 36.2277 13.8705C34.6872 16.3886 33.917 19.1734 33.917 22.2248C33.917 24.5059 34.391 26.4611 35.339 28.0905C36.4055 29.9569 37.9756 31.0826 40.079 31.527C40.6419 31.6455 41.1751 31.7048 41.6787 31.7048C44.5524 31.7048 46.8631 30.2235 48.6406 27.261C50.1811 24.7133 50.9514 21.9285 50.9514 18.8771C50.9514 16.5664 50.4774 14.6408 49.5294 13.041ZM45.7966 21.2471C45.3819 23.2024 44.6412 24.654 43.5451 25.6316C42.686 26.4019 41.8861 26.7278 41.1455 26.5796C40.4345 26.4315 39.842 25.8094 39.3976 24.654C39.0421 23.7356 38.8644 22.8173 38.8644 21.9581C38.8644 21.2175 38.9236 20.4769 39.0717 19.7955C39.3384 18.5809 39.842 17.3959 40.6419 16.2701C41.6195 14.8185 42.6564 14.226 43.7229 14.4334C44.4339 14.5815 45.0264 15.2036 45.4707 16.359C45.8262 17.2774 46.004 18.1958 46.004 19.0549C46.004 19.8251 45.9447 20.5658 45.7966 21.2471Z",fill:"#F6F7F7"})),Object(j.createElement)("defs",null,Object(j.createElement)("clipPath",{id:"clip0"},Object(j.createElement)("rect",{x:"0.5",y:"2.19775",width:"72.8775",height:"43.2525",fill:"white"}))))}}]),r}(j.Component),S=function(){return Object(j.createElement)("svg",{width:"295",height:"160",viewBox:"0 0 295 160",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Object(j.createElement)("g",{clipPath:"url(#management-svg)"},Object(j.createElement)("path",{d:"M0 6C0 2.6863 2.68629 0 6 0H289C292.314 0 295 2.68629 295 6V160H0V6Z",fill:"#F7EDF7"}),Object(j.createElement)("path",{opacity:"0.05",d:"M268 125.429L188.122 25.6443C184.495 28.9602 180.026 31.2158 175.204 32.165C160.166 35.1256 145.48 24.8598 142.402 9.23575C140.226 -1.80872 144.438 -12.5683 152.403 -18.9762L125.167 -53L-30 79.5708L112.833 258L268 125.429Z",fill:"#7F54B3"}),Object(j.createElement)("path",{opacity:"0.05",d:"M169 27C181.703 27 192 16.9264 192 4.5C192 -7.9264 181.703 -18 169 -18C156.297 -18 146 -7.9264 146 4.5C146 16.9264 156.297 27 169 27Z",fill:"#7F54B3"}),Object(j.createElement)("path",{d:"M84.0826 16.6412H147.092C150.132 16.6411 153.082 17.6756 155.457 19.5743C157.832 21.4731 159.489 24.1232 160.158 27.0891L191.995 168.296C192.343 169.836 192.349 171.434 192.013 172.977C191.678 174.52 191.009 175.97 190.054 177.227C189.098 178.484 187.879 179.517 186.482 180.253C185.086 180.989 183.545 181.411 181.968 181.489L117.194 184.68C113.725 184.851 110.313 183.754 107.594 181.594C104.875 179.434 103.035 176.359 102.417 172.942L84.3566 73.107L83.013 73.4908L79.5574 54.5684L80.9405 54.2226L75.8993 26.3551C75.6834 25.1615 75.7334 23.9349 76.0459 22.7629C76.3584 21.5908 76.9257 20.5021 77.7072 19.5744C78.4887 18.6467 79.4653 17.9029 80.5673 17.3958C81.6693 16.8888 82.8696 16.6311 84.0826 16.6412Z",fill:"white"}),Object(j.createElement)("path",{d:"M138.797 19.6853H146.152C148.264 19.6853 150.313 20.4076 151.958 21.7324C153.603 23.0572 154.745 24.9047 155.195 26.9683L185.755 167.023C185.931 167.83 185.931 168.665 185.754 169.471C185.578 170.277 185.23 171.036 184.733 171.695C184.237 172.355 183.604 172.899 182.878 173.292C182.152 173.684 181.35 173.915 180.526 173.969L115.962 178.2C114.14 178.32 112.339 177.764 110.901 176.64C109.463 175.516 108.489 173.901 108.165 172.105L82.0889 27.3445C81.9201 26.4075 81.959 25.4449 82.2029 24.5247C82.4468 23.6044 82.8897 22.7489 83.5003 22.0185C84.111 21.288 84.8745 20.7005 85.737 20.2974C86.5995 19.8942 87.54 19.6853 88.4921 19.6853H95.4695C96.1448 19.6853 96.8013 19.9079 97.3373 20.3187C97.8734 20.7294 98.259 21.3054 98.4346 21.9575C98.5895 22.5331 98.93 23.0416 99.4032 23.4043C99.8764 23.7669 100.456 23.9634 101.052 23.9634H134.176C135.344 23.9634 136.468 23.5228 137.325 22.7296C138.181 21.9365 138.707 20.8492 138.797 19.6853L138.797 19.6853Z",fill:"#F6F7F7"}),Object(j.createElement)("path",{d:"M159.366 55.8843H92.5569V56.2134H159.366V55.8843Z",fill:"#2F2E41"}),Object(j.createElement)("path",{d:"M161.999 66.5796H94.532V66.9087H161.999V66.5796Z",fill:"#2F2E41"}),Object(j.createElement)("path",{d:"M96.7759 55.3634L98.294 53.3396L98.0308 53.1421L96.7189 54.8913L91.6633 50.7551L91.4551 51.0102L96.7759 55.3634Z",fill:"#2F2E41"}),Object(j.createElement)("path",{d:"M105.498 103.081L107.016 101.057L106.752 100.86L105.44 102.609L100.385 98.4729L100.177 98.7277L105.498 103.081Z",fill:"#2F2E41"}),Object(j.createElement)("path",{d:"M169.4 103.109L99.4648 104.59L99.4718 104.919L169.407 103.438L169.4 103.109Z",fill:"#2F2E41"}),Object(j.createElement)("path",{d:"M171.539 112.816L100.287 114.462L100.295 114.791L171.547 113.146L171.539 112.816Z",fill:"#2F2E41"}),Object(j.createElement)("path",{opacity:"0.1",d:"M127.854 140.871C127.854 145.017 129.501 148.993 132.433 151.924C135.364 154.856 139.341 156.503 143.487 156.503C147.633 156.503 151.609 154.856 154.54 151.924C157.472 148.993 159.119 145.017 159.119 140.871C159.119 140.675 159.116 140.481 159.108 140.287C158.955 136.195 157.202 132.326 154.226 129.512C151.25 126.699 147.289 125.166 143.194 125.242C139.099 125.319 135.198 126.999 132.33 129.922C129.461 132.844 127.854 136.776 127.854 140.871H127.854Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M129.335 146.96C129.335 147.155 129.338 147.349 129.346 147.544C130.863 150.756 133.428 153.355 136.619 154.915C139.81 156.475 143.438 156.901 146.904 156.125C150.37 155.348 153.468 153.414 155.688 150.642C157.908 147.869 159.118 144.423 159.119 140.871C159.119 140.676 159.116 140.481 159.107 140.287C157.591 137.075 155.026 134.476 151.835 132.916C148.643 131.356 145.016 130.93 141.55 131.706C138.084 132.483 134.986 134.417 132.765 137.189C130.545 139.962 129.335 143.408 129.335 146.96H129.335Z",fill:"black"}),Object(j.createElement)("path",{d:"M224.461 59.1491C229.783 59.1491 234.098 54.8348 234.098 49.513C234.098 44.1912 229.783 39.877 224.461 39.877C219.139 39.877 214.824 44.1912 214.824 49.513C214.824 54.8348 219.139 59.1491 224.461 59.1491Z",fill:"#2F2E41"}),Object(j.createElement)("path",{d:"M236.166 86.9957C236.166 86.9957 235.643 98.2553 235.119 99.0408C234.595 99.8264 229.881 111.086 229.881 111.086L227.525 103.754C227.525 103.754 231.191 97.7316 230.667 94.3275C230.143 90.9235 230.473 86.7346 230.473 86.7346L236.166 86.9957Z",fill:"#9F616A"}),Object(j.createElement)("path",{d:"M221.24 59.7637C225.29 59.7637 228.572 56.4811 228.572 52.4319C228.572 48.3827 225.29 45.1001 221.24 45.1001C217.191 45.1001 213.908 48.3827 213.908 52.4319C213.908 56.4811 217.191 59.7637 221.24 59.7637Z",fill:"#9F616A"}),Object(j.createElement)("path",{d:"M227.263 53.217C227.263 53.217 227.001 63.691 228.834 65.2621C230.667 66.8332 218.359 65.524 218.359 65.524C218.359 65.524 220.978 58.1922 218.883 56.6211C216.788 55.05 227.263 53.217 227.263 53.217Z",fill:"#9F616A"}),Object(j.createElement)("path",{d:"M217.574 65.0008C217.574 65.0008 219.145 62.1205 221.24 62.3823C223.335 62.6442 230.144 63.1679 230.406 63.6916C230.667 64.2153 231.453 66.0482 231.977 66.5719C232.501 67.0956 236.429 67.8812 236.69 71.0234C236.952 74.1656 227.263 93.2806 227.263 93.2806C227.263 93.2806 228.573 97.732 228.311 98.7794C228.049 99.8268 229.62 102.969 229.358 104.278C229.096 105.588 233.286 113.443 231.191 123.655V140.152C231.191 140.152 238.262 168.693 236.167 170.788C234.072 172.883 227.001 171.574 225.692 170.788C224.383 170.003 218.884 130.463 218.884 130.463L216.265 117.109L216.003 146.436C216.003 146.436 216.527 171.05 214.694 171.836C212.861 172.621 205.79 172.883 205.266 171.312C204.858 170.087 202.857 137.484 201.996 123.193C201.697 118.26 202.085 113.309 203.149 108.483C204.238 103.54 205.821 97.7324 207.623 95.3754C211.028 90.9239 213.122 76.7841 213.122 76.7841L208.671 68.6667C208.671 68.6667 211.289 66.0482 212.861 66.0482C214.432 66.0482 217.574 65.0008 217.574 65.0008Z",fill:"#444053"}),Object(j.createElement)("path",{d:"M235.119 69.1902L236.5 70.1301C236.5 70.1301 237.476 86.996 236.69 88.0434C235.904 89.0908 230.443 88.5796 230.031 87.6569C229.62 86.7341 235.119 69.1902 235.119 69.1902Z",fill:"#444053"}),Object(j.createElement)("path",{d:"M211.767 84.5249C212.533 89.8422 213.205 94.5756 209.286 98.8578C205.347 103.192 200.904 107.039 196.053 110.319C195.572 111.593 188.515 120.943 188.156 117.213C187.797 113.484 190.235 110.56 193.7 107.406C197.165 104.252 202.012 97.4081 204.747 93.6531C207.482 89.898 206.356 87.5565 206.261 84.42C206.166 81.2835 210.691 84.5628 211.767 84.5249Z",fill:"#9F616A"}),Object(j.createElement)("path",{d:"M212.337 67.8806L208.671 68.6662C208.671 68.6662 208.671 74.4269 207.623 76.7835C206.576 79.1402 204.743 84.639 205.528 84.9008C206.314 85.1627 213.646 88.8286 214.17 86.7338C214.694 84.639 216.003 67.8806 212.337 67.8806Z",fill:"#444053"}),Object(j.createElement)("path",{d:"M234.901 46.4615C240.223 46.4615 244.537 42.1473 244.537 36.8255C244.537 31.5037 240.223 27.1895 234.901 27.1895C229.579 27.1895 225.264 31.5037 225.264 36.8255C225.264 42.1473 229.579 46.4615 234.901 46.4615Z",fill:"#2F2E41"}),Object(j.createElement)("path",{d:"M243.213 44.8046C241.966 45.706 240.521 46.2957 238.999 46.5242C237.477 46.7527 235.922 46.6134 234.465 46.118C233.008 45.6226 231.691 44.7855 230.624 43.6767C229.557 42.5679 228.771 41.2197 228.331 39.7449C228.498 41.0666 228.936 42.3395 229.619 43.4832C230.302 44.6269 231.215 45.6166 232.3 46.3898C233.384 47.163 234.618 47.7029 235.922 47.9754C237.226 48.2479 238.572 48.2471 239.876 47.973C241.18 47.699 242.412 47.1576 243.496 46.3831C244.58 45.6087 245.492 44.6179 246.173 43.4734C246.855 42.3288 247.292 41.0554 247.456 39.7335C247.621 38.4116 247.51 37.07 247.13 35.7932C247.346 37.5085 247.096 39.2503 246.407 40.8358C245.718 42.4214 244.614 43.7922 243.213 44.8046Z",fill:"#2F2E41"}),Object(j.createElement)("path",{d:"M227.031 58.1854C230.934 58.1854 234.098 55.0216 234.098 51.1189C234.098 47.2162 230.934 44.0525 227.031 44.0525C223.128 44.0525 219.964 47.2162 219.964 51.1189C219.964 55.0216 223.128 58.1854 227.031 58.1854Z",fill:"#2F2E41"}),Object(j.createElement)("path",{d:"M221.088 53.3669C224.548 53.3669 227.352 51.1739 227.352 48.4686C227.352 45.7634 224.548 43.5703 221.088 43.5703C217.629 43.5703 214.824 45.7634 214.824 48.4686C214.824 51.1739 217.629 53.3669 221.088 53.3669Z",fill:"#2F2E41"}),Object(j.createElement)("path",{d:"M219.417 55.5916C220.074 55.5916 220.606 54.65 220.606 53.4884C220.606 52.3269 220.074 51.3853 219.417 51.3853C218.761 51.3853 218.229 52.3269 218.229 53.4884C218.229 54.65 218.761 55.5916 219.417 55.5916Z",fill:"#A0616A"})),Object(j.createElement)("defs",null,Object(j.createElement)("clipPath",{id:"management-svg"},Object(j.createElement)("path",{d:"M0 6C0 2.6863 2.68629 0 6 0H289C292.314 0 295 2.68629 295 6V160H0V6Z",fill:"white"}))))},D=function(){return Object(j.createElement)("svg",{width:"295",height:"160",viewBox:"0 0 295 160",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Object(j.createElement)("g",{clipPath:"url(#sales-tax-svg)"},Object(j.createElement)("path",{d:"M0 6C0 2.6863 2.68629 0 6 0H289C292.314 0 295 2.68629 295 6V160H0V6Z",fill:"#F7EDF7"}),Object(j.createElement)("path",{opacity:"0.05",d:"M164.773 36.3068C148.909 35.7553 133.8 30.6347 119.37 25.0313C104.94 19.4279 90.6516 13.2214 75.1674 10.2506C65.2082 8.34111 53.82 8.07148 45.7947 13.4102C38.0735 18.5577 35.5782 27.4188 34.2349 35.6499C33.2275 41.8416 32.6343 48.3594 35.3992 54.1564C37.3185 58.1813 40.7281 61.564 43.0862 65.4172C51.2879 78.8302 45.4908 95.3807 36.6052 108.468C32.4382 114.613 27.5995 120.478 24.3811 127.013C21.1627 133.548 19.6748 141.046 22.4888 147.719C25.2807 154.337 31.9308 159.298 39.1348 162.791C53.7636 169.9 71.0004 171.917 87.8181 173.066C125.032 175.613 162.447 174.51 199.759 173.407C213.569 172.998 227.438 172.584 241.025 170.449C248.568 169.265 256.357 167.382 261.833 162.85C268.785 157.082 270.508 147.317 265.851 140.083C258.037 127.952 236.437 124.94 230.968 111.921C227.96 104.754 231.049 96.7729 235.417 90.1253C244.79 75.8691 260.5 63.3607 261.328 47.0651C261.897 35.873 254.345 24.6636 242.668 19.3666C230.426 13.8171 213.454 14.5157 204.429 23.7028C195.119 33.1521 178.775 36.7971 164.773 36.3068Z",fill:"#7F54B3"}),Object(j.createElement)("path",{d:"M98.0173 58.1228C98.0173 58.1228 104.812 49.2691 108.518 49.9554C108.518 49.9554 104.4 57.8483 98.0173 59.0248V58.1228Z",fill:"#7F54B3"}),Object(j.createElement)("path",{d:"M101.445 47.2146C101.445 47.2146 107.45 40.4248 110.693 40.4419C110.693 40.4419 105.952 49.5113 101.197 49.428L101.445 47.2146Z",fill:"#7F54B3"}),Object(j.createElement)("path",{d:"M103.474 39.9447L109.273 25.8037C109.273 25.8037 109.565 38.5867 102.736 42.5674L103.474 39.9447Z",fill:"#7F54B3"}),Object(j.createElement)("path",{d:"M101.922 48.1023C101.922 48.1023 101.9 39.0329 99.4566 36.9077C99.4566 36.9077 97.0225 46.8424 100.645 49.9285L101.922 48.1023Z",fill:"#7F54B3"}),Object(j.createElement)("path",{d:"M198.534 25.4629H97.6055C96.2789 25.4629 95.2034 26.5384 95.2034 27.8651V180.276C95.2034 181.602 96.2789 182.678 97.6055 182.678H198.534C199.86 182.678 200.936 181.602 200.936 180.276V27.8651C200.936 26.5384 199.86 25.4629 198.534 25.4629Z",fill:"white"}),Object(j.createElement)("path",{opacity:"0.1",d:"M185.408 38.9763H112.041C108.086 38.9763 104.881 42.1819 104.881 46.1363V62.7235C104.881 66.6778 108.086 69.8835 112.041 69.8835H185.408C189.362 69.8835 192.567 66.6778 192.567 62.7235V46.1363C192.567 42.1819 189.362 38.9763 185.408 38.9763Z",fill:"black"}),Object(j.createElement)("path",{d:"M189.303 39.5791H107.945C106.564 39.5791 105.445 40.6985 105.445 42.0793V66.9712C105.445 68.3521 106.564 69.4715 107.945 69.4715H189.303C190.683 69.4715 191.803 68.3521 191.803 66.9712V42.0793C191.803 40.6985 190.683 39.5791 189.303 39.5791Z",fill:"#E6E8EC"}),Object(j.createElement)("path",{opacity:"0.1",d:"M122.728 82.7573H110.58C109.119 82.7573 107.935 83.9415 107.935 85.4022V99.4867C107.935 100.947 109.119 102.132 110.58 102.132H122.728C124.189 102.132 125.373 100.947 125.373 99.4867V85.4022C125.373 83.9415 124.189 82.7573 122.728 82.7573Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M144.041 82.7573H131.893C130.432 82.7573 129.248 83.9415 129.248 85.4022V99.4867C129.248 100.947 130.432 102.132 131.893 102.132H144.041C145.502 102.132 146.686 100.947 146.686 99.4867V85.4022C146.686 83.9415 145.502 82.7573 144.041 82.7573Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M165.354 82.7573H153.206C151.745 82.7573 150.561 83.9415 150.561 85.4022V99.4867C150.561 100.947 151.745 102.132 153.206 102.132H165.354C166.815 102.132 167.999 100.947 167.999 99.4867V85.4022C167.999 83.9415 166.815 82.7573 165.354 82.7573Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M182.243 83.1694H178.944C175.04 83.1694 171.875 86.3344 171.875 90.2387V95.4745C171.875 99.3787 175.04 102.544 178.944 102.544H182.243C186.147 102.544 189.312 99.3787 189.312 95.4745V90.2387C189.312 86.3344 186.147 83.1694 182.243 83.1694Z",fill:"black"}),Object(j.createElement)("path",{d:"M186.667 82.7573H174.519C173.059 82.7573 171.875 83.9415 171.875 85.4022V99.4867C171.875 100.947 173.059 102.132 174.519 102.132H186.667C188.128 102.132 189.312 100.947 189.312 99.4867V85.4022C189.312 83.9415 188.128 82.7573 186.667 82.7573Z",fill:"#646970"}),Object(j.createElement)("path",{opacity:"0.1",d:"M122.728 104.07H110.58C109.119 104.07 107.935 105.254 107.935 106.715V120.8C107.935 122.26 109.119 123.445 110.58 123.445H122.728C124.189 123.445 125.373 122.26 125.373 120.8V106.715C125.373 105.254 124.189 104.07 122.728 104.07Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M144.041 104.07H131.893C130.432 104.07 129.248 105.254 129.248 106.715V120.8C129.248 122.26 130.432 123.445 131.893 123.445H144.041C145.502 123.445 146.686 122.26 146.686 120.8V106.715C146.686 105.254 145.502 104.07 144.041 104.07Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M165.354 104.07H153.206C151.745 104.07 150.561 105.254 150.561 106.715V120.8C150.561 122.26 151.745 123.445 153.206 123.445H165.354C166.815 123.445 167.999 122.26 167.999 120.8V106.715C167.999 105.254 166.815 104.07 165.354 104.07Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M122.728 127.597H110.58C109.119 127.597 107.935 128.781 107.935 130.242V144.327C107.935 145.787 109.119 146.971 110.58 146.971H122.728C124.189 146.971 125.373 145.787 125.373 144.327V130.242C125.373 128.781 124.189 127.597 122.728 127.597Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M144.041 127.597H131.893C130.432 127.597 129.248 128.781 129.248 130.242V144.327C129.248 145.787 130.432 146.971 131.893 146.971H144.041C145.502 146.971 146.686 145.787 146.686 144.327V130.242C146.686 128.781 145.502 127.597 144.041 127.597Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M165.354 127.597H153.206C151.745 127.597 150.561 128.781 150.561 130.242V144.327C150.561 145.787 151.745 146.971 153.206 146.971H165.354C166.815 146.971 167.999 145.787 167.999 144.327V130.242C167.999 128.781 166.815 127.597 165.354 127.597Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M165.354 151.123H153.206C151.745 151.123 150.561 152.307 150.561 153.768V167.853C150.561 169.313 151.745 170.498 153.206 170.498H165.354C166.815 170.498 167.999 169.313 167.999 167.853V153.768C167.999 152.307 166.815 151.123 165.354 151.123Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M186.542 104.07H174.644C173.115 104.07 171.875 105.31 171.875 106.84V120.675C171.875 122.205 173.115 123.445 174.644 123.445H186.542C188.072 123.445 189.312 122.205 189.312 120.675V106.84C189.312 105.31 188.072 104.07 186.542 104.07Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M144.225 151.123H110.396C109.037 151.123 107.935 152.225 107.935 153.584V168.037C107.935 169.396 109.037 170.498 110.396 170.498H144.225C145.584 170.498 146.686 169.396 146.686 168.037V153.584C146.686 152.225 145.584 151.123 144.225 151.123Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M186.452 127.597H173.071C171.492 127.597 170.213 128.877 170.213 130.455V167.642C170.213 169.221 171.492 170.5 173.071 170.5H186.452C188.031 170.5 189.31 169.221 189.31 167.642V130.455C189.31 128.877 188.031 127.597 186.452 127.597Z",fill:"black"}),Object(j.createElement)("path",{d:"M187.925 64.251H180.292V65.077H187.925V64.251Z",fill:"#646970"}),Object(j.createElement)("path",{d:"M176.75 64.251H169.117V65.077H176.75V64.251Z",fill:"#646970"}),Object(j.createElement)("path",{d:"M165.572 64.251H157.939V65.077H165.572V64.251Z",fill:"#646970"}),Object(j.createElement)("path",{d:"M154.398 64.251H146.765V65.077H154.398V64.251Z",fill:"#646970"}),Object(j.createElement)("path",{d:"M236.67 122.236C237.456 119.589 236.67 116.941 236.67 116.941V114.444C236.67 114.444 237.569 109.561 233.554 106.428L230.892 104.08C230.892 104.08 229.399 102.798 228.965 102.717C228.885 102.7 228.803 102.687 228.72 102.68L228.642 102.634C228.413 102.242 228.218 101.832 228.058 101.408C228.231 101.43 228.406 101.413 228.57 101.357C228.735 101.301 228.884 101.208 229.007 101.085C229.103 100.974 229.179 100.847 229.23 100.71C229.385 100.364 229.412 99.9448 229.541 99.5771C229.655 99.2789 229.821 99.0034 230.032 98.7633C230.005 98.8074 229.975 98.8491 229.951 98.8956C230.328 98.425 230.821 98.023 231.176 97.5279C231.247 97.4297 231.312 97.3273 231.37 97.2215C231.355 97.2435 231.336 97.2631 231.319 97.2852C231.809 96.4984 231.958 95.5449 232.101 94.6257C232.169 94.3128 232.174 93.9894 232.115 93.6746C232.046 93.4657 231.958 93.2637 231.85 93.0716C231.272 91.8779 231.282 90.3753 230.358 89.4218C229.662 88.7085 228.608 88.4903 227.615 88.3678C226.622 88.2452 225.578 88.1741 224.725 87.6545C224.487 87.4739 224.223 87.3294 223.943 87.2255C223.802 87.1763 223.648 87.1778 223.508 87.2297C223.368 87.2816 223.251 87.3806 223.176 87.5098C223.158 87.5863 223.123 87.6577 223.073 87.7182C223.028 87.7434 222.979 87.7581 222.928 87.761C222.877 87.764 222.826 87.7552 222.779 87.7353L221.457 87.3824L221.472 87.4486H221.438L221.487 87.6569C221.513 87.6523 221.539 87.657 221.562 87.6699C221.585 87.6829 221.603 87.7034 221.612 87.728L221.399 88.0565C220.99 88.049 220.586 87.9659 220.207 87.8113C220.205 87.8325 220.205 87.8539 220.207 87.8751H220.188C220.163 88.2476 220.587 88.4903 220.717 88.8408C220.769 88.9942 220.769 89.1605 220.717 89.3139C220.664 89.4562 220.58 89.585 220.472 89.6914C220.004 90.1547 219.403 90.064 218.864 90.3557C218.817 90.3756 218.776 90.4054 218.742 90.4431C218.708 90.4808 218.683 90.5254 218.668 90.5738C218.647 90.61 218.64 90.6532 218.651 90.6939C218.672 90.7502 218.711 90.7983 218.761 90.8312C218.918 90.9581 219.09 91.0651 219.273 91.1499C219.219 91.1989 219.168 91.2479 219.119 91.2994C218.435 91.9949 217.933 92.8492 217.659 93.7859C217.386 94.7225 217.348 95.7124 217.551 96.667C217.753 97.6216 218.188 98.5113 218.818 99.2565C219.448 100.002 220.253 100.579 221.161 100.938C221.18 101.04 221.195 101.146 221.21 101.256C221.21 101.268 221.21 101.276 221.21 101.288L221.225 101.43L219.445 102.188C219.177 102.186 218.914 102.107 218.689 101.962C218.463 101.817 218.283 101.61 218.17 101.366C217.756 100.511 216.293 101.366 216.293 101.366C216.293 101.366 211.829 101.033 210.165 101.857C210.165 101.857 207.5 100.739 207.125 100.663C206.75 100.587 206.189 100.29 205.927 100.366C205.664 100.442 205.326 99.8761 205.137 99.9178C204.949 99.9595 204.875 99.5452 204.275 99.3957C203.674 99.2462 203.448 99.4349 202.774 98.7633C202.1 98.0917 196.619 95.4444 196.619 95.4444L194.158 93.4197L191.533 91.3313L191.487 91.417C191.469 91.3558 191.452 91.292 191.435 91.2234C191.174 90.183 190.846 89.1604 190.455 88.1619C190.286 87.7574 190.21 87.2476 189.982 87.5172C189.842 87.679 189.604 87.3235 189.246 87.0833C189.17 87.0309 189.084 86.9961 188.993 86.9813C188.902 86.9666 188.809 86.9724 188.72 86.9982C188.631 87.024 188.55 87.0693 188.481 87.1307C188.412 87.192 188.358 87.268 188.322 87.353C186.278 90.5591 185.545 90.7846 186.729 91.9637C187.785 93.0103 188.486 93.9246 189.347 94.2139L189.45 94.2457C189.431 94.2506 189.412 94.2506 189.393 94.2457L194.384 100.212C194.384 100.212 197.985 103.345 200.463 104.35C202.941 105.355 202.75 105.656 202.75 105.656C202.75 105.656 210.255 109.458 211.417 109.384C212.579 109.311 212.356 117.177 211.868 118.454C211.381 119.731 210.594 128.893 210.594 128.893C210.594 128.893 209.841 130.832 210.63 132.173C210.63 132.173 210.805 134.742 210.648 135.36C209.964 136.414 208.988 138.203 208.829 140.044C208.829 140.142 208.809 140.233 208.799 140.328C208.749 140.386 208.69 140.435 208.623 140.473L208.79 140.424C208.719 141.191 208.554 141.947 208.299 142.674C207.903 143.695 207.693 144.78 207.679 145.875V151.797L207.189 155.474C207.189 155.474 206.588 158.256 207.189 158.906C207.442 159.23 207.56 159.639 207.517 160.048C207.492 160.523 207.627 160.992 207.9 161.382C208.004 161.495 208.081 161.632 208.123 161.78C208.166 161.929 208.173 162.085 208.145 162.237C207.946 162.882 208.439 169.743 208.439 169.743C208.439 169.743 208.294 171.632 208.096 171.733C207.897 171.833 208.439 173.919 208.439 173.919C208.439 173.919 206.412 175.611 206.929 176.505L207.446 177.3L207.309 177.434L207.226 177.52C207.069 177.43 206.887 177.396 206.709 177.422C206.071 178.074 205.39 178.681 204.669 179.239C203.755 179.898 201.267 180.854 201.267 180.854L199.306 181.013H199.269C199.269 181.013 198.33 180.925 198.857 182.379C199.384 183.832 204.096 183.386 204.096 183.386L206.846 182.952C206.846 182.952 211.748 182.977 213.153 182.665C213.739 182.535 213.888 182.222 213.839 181.905L213.824 181.891C213.757 181.589 213.619 181.308 213.422 181.07C213.412 181.054 213.401 181.039 213.388 181.025L213.476 180.02C215.557 178.822 212.888 176.464 212.888 176.464C212.888 176.464 213.802 174.476 214.271 173.831C214.739 173.187 214.739 163.688 214.739 163.688C214.739 163.688 214.984 160.256 214.339 159.462C214.328 159.204 214.387 158.947 214.511 158.719C214.634 158.492 214.817 158.302 215.04 158.171C215.503 157.854 216.903 153.499 218.001 149.883L218.692 154.143C218.692 154.143 218.543 156.183 218.992 156.778C219.076 156.891 219.136 157.019 219.168 157.156C219.2 157.292 219.203 157.434 219.178 157.572C219.071 158.144 219.106 158.733 219.278 159.288C219.331 159.526 219.459 159.741 219.644 159.901C220.043 160.1 220.068 160.808 220.217 160.958C220.367 161.107 221.293 160.747 221.342 161.293C221.37 161.773 221.37 162.255 221.342 162.735L221.644 171.583C221.644 171.583 221.153 172.319 221.043 174.28C221.001 175.116 220.845 175.591 220.683 175.863C220.593 176.009 220.552 176.18 220.565 176.351C220.578 176.522 220.645 176.684 220.756 176.814L220.842 176.915L220.472 177.199C220.323 177.315 220.219 177.478 220.177 177.662C220.135 177.845 220.158 178.038 220.242 178.207C220.122 178.31 220.037 178.448 219.996 178.601C219.955 178.754 219.962 178.915 220.014 179.065C220.029 179.114 220.05 179.161 220.077 179.204C219.796 179.248 219.535 179.377 219.33 179.574C218.96 180.082 218.514 180.53 218.009 180.903C217.274 181.466 216.572 182.068 215.903 182.707C215.588 183.136 215.165 183.474 214.677 183.687C214.558 183.736 214.434 183.773 214.307 183.798C213.327 183.999 213.633 185.023 214.432 185.193C215.231 185.362 217.884 186.173 219.947 185.7C219.947 185.7 220.56 185.945 221.46 185.489C222.359 185.033 224.367 184.474 224.367 184.474C224.367 184.474 225.492 184.474 225.644 184.028C225.684 183.886 225.705 183.739 225.708 183.592L225.74 183.56L225.71 183.533C225.713 183.199 225.688 182.865 225.634 182.535C225.605 182.364 225.573 182.212 225.544 182.089C225.448 181.717 225.269 181.234 225.193 181.03C225.206 181.014 225.217 180.997 225.227 180.979C225.656 180.244 224.943 178.498 224.943 178.498C225.177 178.127 225.462 177.789 225.789 177.496C226.188 177.197 227.24 169.441 227.24 169.441C227.24 169.441 227.188 167.453 227.73 166.559C228.272 165.664 226.98 160.247 226.98 160.247C226.98 160.247 226.428 159.004 226.629 158.555C226.83 158.107 226.428 156.467 226.428 156.467V154.506C226.427 154.272 226.388 154.041 226.313 153.82C226.159 153.359 225.931 152.474 226.178 151.839C226.529 150.944 227.328 145.427 227.328 145.427C227.328 145.427 226.703 142.993 227.62 141.054C227.691 140.899 227.773 140.749 227.865 140.605C228.544 139.539 228.34 137.644 228.005 136.117C227.956 135.872 227.899 135.651 227.843 135.438C227.821 135.345 227.796 135.257 227.772 135.168L227.88 135.124C227.88 135.124 227.88 134.98 227.914 134.732C228.284 134.659 228.635 134.51 228.945 134.296C229.256 134.081 229.519 133.805 229.718 133.485C229.718 133.485 232.007 130.911 234.032 129.83C236.057 128.749 236.209 127.182 236.209 127.182C235.91 126.66 236.746 124.535 236.746 124.535L236.67 122.236ZM230.066 125.668L227.899 128.18V128.165C227.335 127.381 228.424 125.628 228.424 125.628L230.225 121.608C230.211 122.123 230.147 122.589 229.98 122.792C229.49 123.464 230.882 124.584 230.882 124.584C230.14 124.587 230.066 125.668 230.066 125.668Z",fill:"url(#paint0_linear)"}),Object(j.createElement)("path",{d:"M191.915 92.7263L190.732 95.023C190.357 94.991 189.987 94.9136 189.631 94.7926C189.066 94.624 188.544 94.3376 188.098 93.9522C187.652 93.5669 187.293 93.0914 187.045 92.5571C185.989 90.2236 187.736 88.7161 188.55 88.27C189.364 87.8238 190.121 87.3165 190.732 88.7798C191.115 89.7726 191.435 90.7886 191.69 91.8218C191.832 92.3586 191.915 92.7263 191.915 92.7263Z",fill:"#CC818C"}),Object(j.createElement)("path",{d:"M229.515 104.674L227.625 107.488C227.625 107.488 218.695 111.748 220.401 106.752C221.151 104.546 221.239 102.936 221.104 101.82C221.104 101.808 221.104 101.801 221.104 101.789C220.928 100.394 220.403 99.7884 220.403 99.7884C220.403 99.7884 229.108 95.3321 227.811 98.3789C227.546 99.0122 227.441 99.7007 227.505 100.384C227.611 101.368 227.931 102.318 228.441 103.166C228.747 103.703 229.107 104.208 229.515 104.674Z",fill:"#CC818C"}),Object(j.createElement)("path",{d:"M226.796 160.416C226.796 160.416 228.08 165.808 227.531 166.688C226.982 167.568 227.041 169.554 227.041 169.554C227.041 169.554 226.004 177.26 225.61 177.554C225.286 177.841 225.003 178.171 224.769 178.535C224.769 178.535 225.475 180.28 225.051 181.001C224.985 181.111 224.887 181.196 224.769 181.246C224.107 181.525 221.661 180.285 220.268 179.53C220.156 179.469 220.061 179.381 219.99 179.275C219.918 179.169 219.874 179.047 219.86 178.92C219.846 178.793 219.863 178.665 219.909 178.545C219.956 178.426 220.03 178.32 220.126 178.236C220.043 178.069 220.019 177.878 220.06 177.696C220.101 177.513 220.204 177.351 220.352 177.236L220.719 176.951L220.634 176.851C220.524 176.721 220.457 176.56 220.444 176.39C220.431 176.22 220.471 176.05 220.56 175.905C220.719 175.638 220.874 175.169 220.916 174.334C221.016 172.407 221.509 171.667 221.509 171.667L221.212 162.872C221.24 162.395 221.24 161.917 221.212 161.44C221.163 160.899 220.249 161.256 220.102 161.107C219.955 160.957 219.928 160.256 219.533 160.058C219.351 159.898 219.226 159.684 219.175 159.447C219.001 158.893 218.966 158.303 219.075 157.732C219.1 157.595 219.097 157.454 219.065 157.318C219.034 157.182 218.974 157.054 218.891 156.942C218.447 156.349 218.594 154.327 218.594 154.327L217.913 150.091C216.827 153.685 215.447 158.014 214.989 158.327C214.769 158.459 214.588 158.648 214.467 158.873C214.345 159.099 214.286 159.353 214.297 159.609C214.94 160.401 214.692 163.811 214.692 163.811C214.692 163.811 214.692 173.243 214.229 173.887C213.765 174.532 212.868 176.515 212.868 176.515C212.868 176.515 215.516 178.871 213.432 180.06H213.41C211.285 181.246 206.89 177.937 206.89 177.937L207.348 177.478L207.483 177.344L206.963 176.569C206.453 175.679 208.454 174 208.454 174C208.454 174 207.919 171.924 208.115 171.826C208.311 171.728 208.454 169.85 208.454 169.85C208.454 169.85 207.963 163.034 208.164 162.391C208.191 162.24 208.183 162.085 208.141 161.938C208.098 161.79 208.022 161.654 207.919 161.541C207.649 161.154 207.517 160.688 207.542 160.217C207.585 159.811 207.468 159.404 207.216 159.082C206.623 158.44 207.216 155.675 207.216 155.675L207.706 152.018V146.211C207.713 145.09 207.923 143.98 208.326 142.934C208.626 142.086 208.807 141.201 208.865 140.304C209.027 138.431 210.035 136.612 210.711 135.575C211.069 135.026 211.336 134.698 211.336 134.698L227.142 134.08C227.142 134.08 227.387 134.784 227.651 135.762C227.705 135.975 227.759 136.2 227.811 136.436C228.142 137.955 228.34 139.838 227.671 140.897C227.58 141.04 227.498 141.189 227.426 141.343C226.521 143.27 227.139 145.689 227.139 145.689C227.139 145.689 226.35 151.17 226.004 152.062C225.759 152.692 225.985 153.572 226.139 154.023C226.211 154.244 226.248 154.475 226.249 154.707V156.66C226.249 156.66 226.646 158.291 226.448 158.737C226.249 159.183 226.796 160.416 226.796 160.416Z",fill:"#444053"}),Object(j.createElement)("path",{opacity:"0.1",d:"M227.524 141.054C227.433 141.196 227.351 141.344 227.279 141.497L226.389 141.448C226.475 140.99 225.87 136.693 225.87 136.693L227.661 136.593C227.992 138.11 228.193 139.992 227.524 141.054Z",fill:"black"}),Object(j.createElement)("path",{d:"M227.671 140.904C227.58 141.048 227.499 141.197 227.426 141.35L226.536 141.299C226.622 140.843 226.017 136.543 226.017 136.543L227.808 136.443C228.142 137.963 228.34 139.845 227.671 140.904Z",fill:"#444053"}),Object(j.createElement)("path",{opacity:"0.05",d:"M227.671 140.904C227.58 141.048 227.499 141.197 227.426 141.35L226.536 141.299C226.622 140.843 226.017 136.543 226.017 136.543L227.808 136.443C228.142 137.963 228.34 139.845 227.671 140.904Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M220.869 160.774C220.869 160.774 221.894 159.303 223.649 159.303C225.404 159.303 226.154 159.104 226.154 159.104C226.154 159.104 225.031 159.771 224.254 159.857C223.477 159.943 220.869 160.774 220.869 160.774Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M208.662 140.728C208.736 140.74 209.983 139.431 210.069 138.914C210.137 138.587 210.332 138.299 210.611 138.115C210.611 138.115 211.415 138.436 210.699 139.421C209.983 140.407 208.662 140.728 208.662 140.728Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M227.799 98.3738C227.515 99.0454 227.265 99.1092 227.309 99.7489C226.978 100.099 226.597 100.399 226.179 100.639C225.296 101.163 224.335 102.19 223.237 102.19C222.501 102.191 221.772 102.053 221.088 101.783C220.911 100.389 220.386 99.7833 220.386 99.7833C220.386 99.7833 229.093 95.327 227.799 98.3738Z",fill:"black"}),Object(j.createElement)("path",{d:"M229.132 96.0035C229.132 97.167 228.787 98.3044 228.141 99.2718C227.494 100.239 226.575 100.993 225.5 101.439C224.425 101.884 223.243 102 222.101 101.773C220.96 101.546 219.912 100.986 219.089 100.163C218.267 99.3406 217.706 98.2923 217.479 97.1512C217.252 96.01 217.369 94.8272 217.814 93.7522C218.259 92.6772 219.013 91.7585 219.981 91.112C220.948 90.4656 222.086 90.1206 223.249 90.1206C224.809 90.1206 226.306 90.7404 227.409 91.8437C228.512 92.9469 229.132 94.4432 229.132 96.0035Z",fill:"#CC818C"}),Object(j.createElement)("path",{opacity:"0.1",d:"M229.515 104.673L227.625 107.487C227.625 107.487 218.695 111.747 220.401 106.752C221.151 104.546 221.239 102.935 221.104 101.82H221.119C221.225 102.19 221.285 102.571 221.298 102.955C221.325 103.725 221.345 104.698 223.259 105.019C226.446 105.553 228.147 103.563 228.446 103.173C228.751 103.708 229.109 104.21 229.515 104.673Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M191.915 92.7262L190.731 95.023C190.357 94.9909 189.987 94.9135 189.631 94.7926L189.528 94.67C190.018 94.8563 191.638 91.78 191.638 91.78L191.69 91.8217C191.832 92.3585 191.915 92.7262 191.915 92.7262Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M227.652 135.769C223.838 137.426 210.645 136.015 210.645 136.015C210.685 135.874 210.707 135.729 210.711 135.583C211.069 135.034 211.337 134.706 211.337 134.706L227.142 134.088C227.142 134.088 227.399 134.791 227.652 135.769Z",fill:"black"}),Object(j.createElement)("path",{d:"M221.109 101.958L219.349 102.71C219.084 102.708 218.825 102.63 218.602 102.485C218.379 102.341 218.202 102.135 218.092 101.894C217.683 101.043 216.239 101.894 216.239 101.894C216.239 101.894 211.827 101.56 210.199 102.384C210.199 102.384 207.569 101.271 207.199 101.198C206.829 101.124 206.272 100.828 206.013 100.901C205.753 100.975 205.422 100.411 205.235 100.457C205.049 100.504 204.976 100.087 204.382 99.9377C203.789 99.7882 203.569 99.9745 202.912 99.3078C202.255 98.641 196.835 96.0109 196.835 96.0109L194.384 94.0107L191.791 91.937C191.791 91.937 190.161 95.0108 189.678 94.8245L194.605 100.754C194.605 100.754 198.161 103.865 200.608 104.865C203.054 105.865 202.868 106.161 202.868 106.161C202.868 106.161 210.278 109.941 211.425 109.868C212.572 109.794 212.356 117.601 211.866 118.861C211.376 120.121 210.609 129.234 210.609 129.234C210.609 129.234 209.873 131.161 210.645 132.495C210.645 132.495 210.829 135.237 210.645 135.718C210.645 135.718 223.919 137.137 227.686 135.458C227.686 135.458 228.242 129.308 227.686 128.531C227.13 127.754 228.206 126.021 228.206 126.021L230.576 120.724L236.356 114.907C236.356 114.907 237.243 110.054 233.28 106.943L230.649 104.607C230.649 104.607 229.179 103.335 228.747 103.254C228.316 103.173 228.475 103.254 228.475 103.254C228.475 103.254 226.759 105.757 223.24 105.164C221.333 104.843 221.313 103.869 221.279 103.102C221.269 102.715 221.212 102.331 221.109 101.958Z",fill:"#67647E"}),Object(j.createElement)("path",{opacity:"0.1",d:"M228.353 121.901C228.353 121.901 220.2 122.234 218.572 124.795C218.572 124.795 220.685 123.793 222.573 124.09C224.46 124.386 228.353 121.901 228.353 121.901Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M219.349 130.827C219.349 130.827 223.203 131.087 224.019 130.271C224.835 129.455 224.838 128.974 224.838 128.974L219.349 130.827Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M229.132 114.044C229.132 114.044 225.87 117.898 229.836 119.564L229.132 114.044Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M209.829 106.6C209.829 106.6 211.015 109.019 211.608 109.179L209.829 106.6Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M205.828 105.561C205.828 105.561 208.792 108.23 209.348 108.487C209.348 108.487 206.272 105.561 205.828 105.561Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M217.646 103.006C217.646 103.006 214.792 107.267 216.645 109.87C216.645 109.86 215.609 106.784 217.646 103.006Z",fill:"black"}),Object(j.createElement)("path",{d:"M224.838 135.274L223.965 136.096L223.842 136.208L222.832 137.164C222.761 137.218 222.69 137.272 222.617 137.321C218.506 140.263 217.682 135.792 217.682 135.792C217.682 135.792 215.869 136.978 215.609 136.015C215.349 135.051 219.832 133.681 220.511 133.755C220.571 133.761 220.631 133.761 220.69 133.755C221.014 133.701 221.326 133.59 221.612 133.429L221.81 133.323C222.039 133.195 222.26 133.055 222.475 132.904L224.838 135.274Z",fill:"#CC818C"}),Object(j.createElement)("path",{opacity:"0.1",d:"M229.27 96.0032C229.272 97.0235 229.009 98.0269 228.506 98.9148C228.003 99.8026 227.278 100.544 226.402 101.067C226.32 100.93 226.247 100.786 226.186 100.638C225.975 100.148 225.845 99.6187 225.632 99.126C225.399 98.5882 225.066 98.0992 224.652 97.6847C224.581 97.6026 224.491 97.5401 224.389 97.5033C224.294 97.4902 224.197 97.4967 224.104 97.5224C224.011 97.5481 223.925 97.5925 223.85 97.6528C223.6 97.8219 223.322 97.944 223.029 98.0132C222.882 98.0468 222.729 98.042 222.585 97.999C222.44 97.9561 222.31 97.8765 222.205 97.768C221.975 97.4935 222.007 97.0915 222.073 96.741C222.217 95.9738 222.458 95.2188 222.46 94.4393C222.463 93.6598 222.164 92.8215 221.48 92.4342C220.882 92.0935 220.139 92.1891 219.475 91.9979C219.372 91.971 219.271 91.9366 219.173 91.895C219.99 91.0568 221.038 90.4812 222.183 90.2418C223.329 90.0024 224.52 90.1102 225.604 90.5513C226.688 90.9923 227.616 91.7467 228.269 92.7179C228.922 93.689 229.27 94.8329 229.27 96.0032Z",fill:"black"}),Object(j.createElement)("path",{d:"M218.771 90.954C218.665 91.0104 218.548 91.1134 218.58 91.231C218.6 91.2871 218.638 91.3352 218.687 91.3683C218.962 91.5898 219.279 91.7525 219.619 91.8463C220.283 92.0277 221.028 91.9419 221.626 92.2826C222.303 92.6674 222.607 93.5082 222.607 94.2877C222.607 95.0671 222.362 95.8221 222.222 96.5869C222.156 96.9399 222.122 97.3419 222.352 97.6164C222.457 97.7242 222.588 97.8034 222.732 97.8463C222.876 97.8892 223.029 97.8945 223.176 97.8615C223.469 97.7937 223.747 97.6724 223.997 97.5036C224.072 97.4429 224.159 97.3981 224.252 97.372C224.345 97.3459 224.443 97.3389 224.538 97.3517C224.639 97.39 224.729 97.4523 224.801 97.533C225.216 97.9482 225.548 98.4381 225.781 98.9768C225.997 99.467 226.124 99.9941 226.335 100.489C226.519 100.994 226.863 101.425 227.316 101.715C227.786 101.975 228.438 101.96 228.801 101.558C229.164 101.156 229.134 100.604 229.306 100.122C229.6 99.2808 230.421 98.7537 230.936 98.0282C231.512 97.2119 231.671 96.1873 231.828 95.1995C231.898 94.8885 231.903 94.5664 231.843 94.2533C231.776 94.0461 231.689 93.8458 231.583 93.6552C231.01 92.4689 231.022 90.9761 230.112 90.0299C229.426 89.3191 228.384 89.1034 227.404 88.9808C226.423 88.8583 225.394 88.7896 224.553 88.2724C224.317 88.0942 224.057 87.9506 223.781 87.8459C223.641 87.7967 223.488 87.7982 223.349 87.8502C223.211 87.9021 223.094 88.0013 223.021 88.1303C223.004 88.2057 222.969 88.2761 222.921 88.3362C222.877 88.3615 222.827 88.3763 222.777 88.3792C222.726 88.3822 222.676 88.3733 222.629 88.3533L221.325 88.0028L221.474 88.6597C221 88.6796 220.528 88.5959 220.089 88.4146C220.065 88.7872 220.484 89.0274 220.614 89.3755C220.661 89.5338 220.663 89.702 220.619 89.8613C220.576 90.0206 220.489 90.1647 220.369 90.2775C219.896 90.753 219.305 90.6623 218.771 90.954Z",fill:"#2F2E41"}),Object(j.createElement)("path",{opacity:"0.1",d:"M224.838 135.274L223.965 136.095L221.798 133.321C222.027 133.192 222.248 133.052 222.463 132.901L224.838 135.274Z",fill:"black"}),Object(j.createElement)("path",{d:"M234.662 112.54L236.378 114.91V117.393C236.378 117.393 237.155 120.023 236.378 122.653L236.461 124.95C236.461 124.95 235.635 127.06 235.932 127.58C235.932 127.58 235.785 129.137 233.784 130.21C231.784 131.284 229.514 133.828 229.514 133.828C229.514 133.828 228.661 135.458 226.365 135.088L224.178 136.015L221.661 132.791L225.068 130.938C225.068 130.938 226.254 129.347 226.958 129.421L229.848 126.048C229.848 126.048 229.921 124.974 230.662 124.974C230.662 124.974 229.291 123.864 229.772 123.197C230.252 122.531 229.848 119.565 229.848 119.565L234.662 112.54Z",fill:"#67647E"}),Object(j.createElement)("path",{opacity:"0.1",d:"M231.476 123.344C231.476 123.344 235.366 123.27 235.846 124.271C236.326 125.271 232.65 122.788 231.476 123.344Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M223.86 136.014C223.86 136.079 223.855 136.144 223.843 136.208C223.798 136.506 223.651 136.78 223.428 136.983C223.205 137.185 222.918 137.305 222.617 137.321H222.548C222.201 137.321 221.868 137.183 221.623 136.937C221.377 136.692 221.239 136.359 221.239 136.012C221.24 135.867 221.265 135.724 221.313 135.588C220.695 135.098 220.661 134.195 220.678 133.749C221.002 133.695 221.314 133.585 221.6 133.423C221.761 133.886 221.977 134.328 222.244 134.74C222.344 134.716 222.446 134.704 222.548 134.703C222.721 134.703 222.891 134.737 223.05 134.803C223.209 134.869 223.354 134.965 223.476 135.087C223.597 135.209 223.694 135.353 223.76 135.512C223.826 135.672 223.86 135.842 223.86 136.014Z",fill:"black"}),Object(j.createElement)("path",{d:"M221.717 133.129C221.717 133.129 220.84 133.328 220.84 133.487C220.84 133.646 220.641 135.093 221.604 135.693C222.568 136.294 222.47 134.865 222.47 134.865C222.47 134.865 221.641 133.595 221.717 133.129Z",fill:"#575988"}),Object(j.createElement)("path",{d:"M222.695 137.323C223.418 137.323 224.004 136.737 224.004 136.015C224.004 135.292 223.418 134.706 222.695 134.706C221.972 134.706 221.386 135.292 221.386 136.015C221.386 136.737 221.972 137.323 222.695 137.323Z",fill:"#E4AAB4"}),Object(j.createElement)("path",{d:"M222.695 137.137C223.315 137.137 223.818 136.635 223.818 136.015C223.818 135.394 223.315 134.892 222.695 134.892C222.075 134.892 221.573 135.394 221.573 136.015C221.573 136.635 222.075 137.137 222.695 137.137Z",fill:"#DCE6F2"}),Object(j.createElement)("path",{opacity:"0.1",d:"M217.597 136.522C217.597 136.522 220.364 138.816 223.918 137.36V138.473C223.918 138.473 221.548 140.103 219.401 139.115C217.254 138.127 217.597 136.522 217.597 136.522Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M217.597 136.225C217.597 136.225 220.364 138.522 223.918 137.063V138.176C223.918 138.176 221.548 139.806 219.401 138.818C217.254 137.831 217.597 136.225 217.597 136.225Z",fill:"black"}),Object(j.createElement)("path",{d:"M217.597 136.225C217.597 136.225 220.364 138.522 223.918 137.063V138.176C223.918 138.176 221.548 139.806 219.401 138.818C217.254 137.831 217.597 136.225 217.597 136.225Z",fill:"#444053"}),Object(j.createElement)("path",{opacity:"0.05",d:"M217.67 136.225C217.67 136.225 220.438 138.522 223.994 137.063V138.176C223.994 138.176 221.624 139.806 219.474 138.818C217.325 137.831 217.67 136.225 217.67 136.225Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.05",d:"M215.298 143.179L217.925 150.108C217.925 150.108 218.295 145.65 217.513 144.316C217.291 143.935 216.965 143.625 216.572 143.424C216.179 143.222 215.737 143.137 215.298 143.179Z",fill:"black"}),Object(j.createElement)("g",{opacity:"0.1"},Object(j.createElement)("path",{opacity:"0.1",d:"M221.754 88.2718L221.732 88.1713L221.311 88.0586L221.357 88.2645C221.489 88.2743 221.622 88.2767 221.754 88.2718Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M220.595 89.9436L220.639 89.9043C220.76 89.7917 220.847 89.6476 220.89 89.4882C220.933 89.3288 220.931 89.1606 220.884 89.0023C220.833 88.8794 220.762 88.7658 220.673 88.6665C220.465 88.6255 220.262 88.5656 220.065 88.4875C220.041 88.8577 220.457 89.0979 220.587 89.446C220.648 89.6059 220.65 89.7819 220.595 89.9436Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M227.603 101.334C227.146 101.046 226.797 100.616 226.61 100.109C226.402 99.6186 226.272 99.0892 226.058 98.5989C225.826 98.0602 225.493 97.5703 225.078 97.1552C225.007 97.0736 224.917 97.0112 224.816 96.9738C224.72 96.9612 224.624 96.968 224.531 96.9937C224.438 97.0194 224.352 97.0634 224.276 97.1233C224.027 97.2924 223.749 97.4145 223.455 97.4836C223.309 97.5168 223.156 97.5117 223.011 97.4688C222.867 97.4259 222.736 97.3466 222.632 97.2385C222.401 96.964 222.433 96.5595 222.499 96.209C222.644 95.4442 222.884 94.6868 222.887 93.9098C222.889 93.1328 222.59 92.2896 221.906 91.9047C221.308 91.564 220.565 91.6596 219.901 91.4684C219.56 91.3747 219.243 91.212 218.967 90.9904C218.95 90.9762 218.933 90.9606 218.918 90.9438C218.862 90.9652 218.808 90.9906 218.756 91.0198C218.649 91.0762 218.533 91.1792 218.563 91.2968C218.585 91.3526 218.623 91.4004 218.673 91.4341C218.947 91.6561 219.264 91.8188 219.605 91.9121C220.269 92.0935 221.012 92.0077 221.61 92.3484C222.286 92.7332 222.59 93.574 222.59 94.3535C222.59 95.1329 222.345 95.8879 222.203 96.6527C222.137 97.0057 222.105 97.4077 222.335 97.6822C222.44 97.7902 222.571 97.8695 222.715 97.9125C222.859 97.9554 223.012 97.9605 223.159 97.9273C223.452 97.8595 223.73 97.7381 223.98 97.5694C224.055 97.5088 224.141 97.464 224.234 97.4379C224.327 97.4117 224.424 97.4048 224.519 97.4175C224.62 97.4552 224.71 97.5175 224.781 97.5988C225.195 98.0148 225.528 98.5045 225.762 99.0426C225.978 99.5328 226.105 100.06 226.316 100.555C226.5 101.06 226.844 101.491 227.296 101.781C227.765 102.04 228.419 102.026 228.767 101.624C228.863 101.515 228.938 101.388 228.988 101.251C228.79 101.398 228.554 101.485 228.308 101.5C228.062 101.514 227.817 101.457 227.603 101.334Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M229.721 99.4493C230.091 98.9811 230.579 98.5815 230.927 98.0913C230.995 97.9933 231.059 97.8903 231.118 97.7874C230.669 98.3585 230.054 98.812 229.721 99.4493Z",fill:"black"}))),Object(j.createElement)("defs",null,Object(j.createElement)("linearGradient",{id:"paint0_linear",x1:"211.591",y1:"185.849",x2:"211.591",y2:"86.973",gradientUnits:"userSpaceOnUse"},Object(j.createElement)("stop",{stopColor:"#808080",stopOpacity:"0.25"}),Object(j.createElement)("stop",{offset:"0.54",stopColor:"#808080",stopOpacity:"0.12"}),Object(j.createElement)("stop",{offset:"1",stopColor:"#808080",stopOpacity:"0.1"})),Object(j.createElement)("clipPath",{id:"sales-tax-svg"},Object(j.createElement)("path",{d:"M0 6C0 2.6863 2.68629 0 6 0H289C292.314 0 295 2.68629 295 6V160H0V6Z",fill:"white"}))))},N=function(){return Object(j.createElement)("svg",{width:"295",height:"160",viewBox:"0 0 295 160",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Object(j.createElement)("g",{clipPath:"url(#shipping-labels-svg)"},Object(j.createElement)("path",{d:"M0 6C0 2.6863 2.68629 0 6 0H289C292.314 0 295 2.68629 295 6V160H0V6Z",fill:"#F7EDF7"}),Object(j.createElement)("path",{opacity:"0.05",d:"M297.839 152.033C290.282 167.747 274.937 178.255 259.035 185.184C237.627 194.516 214.051 198.218 190.8 196.652C186.725 196.379 182.663 195.942 178.613 195.342C164.546 193.274 150.833 189.248 137.864 183.381C134.121 181.682 130.454 179.827 126.862 177.816C120.864 174.465 115.117 170.676 109.666 166.48C108.295 165.425 106.943 164.343 105.61 163.235C104.686 162.466 103.77 161.681 102.84 160.918C100.878 159.31 98.8582 157.782 96.6056 156.638C95.9259 156.292 95.2292 155.982 94.518 155.709C87.3847 152.974 79.1593 154.006 71.7331 156.139C66.0845 157.762 60.5781 159.983 54.9352 161.569C52.4252 162.296 49.8677 162.844 47.2815 163.209C41.5074 163.946 35.6437 163.426 30.0854 161.686L29.6105 161.537C28.8141 161.285 28.0243 161.009 27.2412 160.709L26.7663 160.525C26.0078 160.231 25.2655 159.915 24.5392 159.576L24.0643 159.358C23.3058 159.003 22.5635 158.627 21.8373 158.232C21.5756 158.094 21.3168 157.945 21.0608 157.805C16.9289 155.478 13.1731 152.531 9.92289 149.063C9.82903 148.969 9.74086 148.871 9.63847 148.776C9.18624 148.283 8.74255 147.782 8.31307 147.268C8.1538 147.079 7.99452 146.89 7.83809 146.695C7.32803 146.068 6.83598 145.427 6.36195 144.771C6.29085 144.677 6.22259 144.579 6.15433 144.485C4.21218 141.776 2.60205 138.841 1.359 135.743C1.31918 135.648 1.28221 135.551 1.24808 135.456C0.868851 134.472 0.522806 133.471 0.209944 132.455C0.0819547 132.03 -0.0403466 131.595 -0.148426 131.17C-0.185401 131.044 -0.219532 130.915 -0.250818 130.789C-1.82082 124.559 -2 118.082 -2 111.643C-2 110.892 -2 110.142 -2 109.393C-1.95449 98.9768 -1.79522 88.3833 -0.270727 78.1109C-0.270727 78.0392 -0.250817 77.9675 -0.239441 77.8987C0.270798 74.4405 0.964835 71.0124 1.83967 67.6291C2.75527 64.0792 3.92542 60.601 5.34088 57.222C8.84778 48.9077 13.9474 41.3417 19.6102 34.3291C33.8739 16.6827 52.5802 1.86901 74.4749 -3.67574C98.0675 -9.64768 124.288 -3.92517 143.319 11.3473C149.121 16.0033 154.334 21.5165 160.85 25.0859C166.539 28.1937 173.197 29.481 179.289 27.0354C184.324 25.0142 187.6 24.0108 193.254 24.3175C204.96 24.985 216.5 27.4215 227.487 31.5452C227.931 31.7086 228.375 31.8778 228.815 32.0469C257.459 43.0934 282.082 65.0403 294.881 93.2428C295.22 93.9882 295.549 94.7394 295.868 95.4963C303.499 113.464 306.257 134.522 297.839 152.033Z",fill:"#7F54B3"}),Object(j.createElement)("path",{d:"M238.595 87.2081H167V163.188H238.595V87.2081Z",fill:"white"}),Object(j.createElement)("path",{d:"M170.312 125.071V90.0034H174.389L194.39 90.6387L193.498 95.848V125.071H170.312Z",fill:"#DCDCDE"}),Object(j.createElement)("path",{opacity:"0.5",d:"M190.44 93.561H172.86V94.5775H190.44V93.561Z",fill:"#7F54B3"}),Object(j.createElement)("path",{opacity:"0.5",d:"M190.44 98.1351H172.86V99.1516H190.44V98.1351Z",fill:"#7F54B3"}),Object(j.createElement)("path",{opacity:"0.5",d:"M190.44 102.709H180.504V103.726H190.44V102.709Z",fill:"#7F54B3"}),Object(j.createElement)("path",{opacity:"0.5",d:"M177.701 101.184H172.86V105.25H177.701V101.184Z",fill:"#7F54B3"}),Object(j.createElement)("path",{opacity:"0.5",d:"M190.441 117.702H179.994V121.768H190.441V117.702Z",fill:"#7F54B3"}),Object(j.createElement)("path",{opacity:"0.5",d:"M190.44 107.283H172.86V108.3H190.44V107.283Z",fill:"#7F54B3"}),Object(j.createElement)("path",{opacity:"0.5",d:"M190.44 111.857H172.86V112.874H190.44V111.857Z",fill:"#7F54B3"}),Object(j.createElement)("path",{d:"M209.04 140.572H196.555V162.934H209.04V140.572Z",fill:"#DCDCDE"}),Object(j.createElement)("path",{d:"M112.731 122.276H61.5195V163.442H112.731V122.276Z",fill:"white"}),Object(j.createElement)("path",{d:"M88.7813 151.499H80.1187V163.188H88.7813V151.499Z",fill:"#DCDCDE"}),Object(j.createElement)("path",{d:"M185.577 98.8864C183.646 102.254 170.048 96.6409 170.048 96.6409L144.067 86.2055L137.786 81.5686L133.785 78.6144L142.672 76.1334L142.921 76.2524L149.113 79.2016L172.864 93.3487C172.864 93.3487 190.613 90.1043 185.577 98.8864Z",fill:"#A0616A"}),Object(j.createElement)("path",{d:"M120.088 59.773C120.088 59.773 116.745 61.1143 116.358 64.8721C115.971 68.63 115.939 89.8314 115.939 89.8314C115.939 89.8314 124.674 84.8159 129.371 84.7133C134.068 84.6107 144.979 76.708 144.979 76.708C144.979 76.708 124.421 58.1896 120.088 59.773Z",fill:"#67647E"}),Object(j.createElement)("path",{opacity:"0.1",d:"M120.088 59.773C120.088 59.773 116.745 61.1143 116.358 64.8721C115.971 68.63 115.939 89.8314 115.939 89.8314C115.939 89.8314 124.674 84.8159 129.371 84.7133C134.068 84.6107 144.979 76.708 144.979 76.708C144.979 76.708 124.421 58.1896 120.088 59.773Z",fill:"black"}),Object(j.createElement)("path",{d:"M152.86 129.137L145.726 129.645C145.726 129.645 145.507 142.995 144.579 146.417L156.809 156.073L154.261 147.942L152.86 129.137Z",fill:"#A0616A"}),Object(j.createElement)("path",{d:"M157.501 156.35L157.501 156.35L157.501 156.35C156.994 156.171 157.064 156.073 157.064 156.073V155.565L144.599 145.588C144.478 146.035 144.344 146.329 144.197 146.417C143.74 146.69 143.086 147.585 142.435 148.621C141.678 149.834 141.193 151.196 141.013 152.614C140.833 154.032 140.964 155.472 141.394 156.835V156.835L140.885 165.475H142.923L143.433 157.598H145.98C145.98 157.598 150.312 163.188 151.586 165.221C152.86 167.254 158.465 167.762 164.07 163.951C168.807 160.73 160.263 157.328 157.501 156.35Z",fill:"#444053"}),Object(j.createElement)("path",{d:"M90.1827 99.0244C90.1827 99.0244 77.6983 114.017 89.6732 123.165C94.9424 127.191 99.5703 134.808 103.101 142.076C105.871 147.808 109.869 152.863 114.813 156.884C119.757 160.906 125.526 163.795 131.713 165.348C131.713 165.348 174.262 115.796 159.739 101.82C145.216 87.8434 105.779 99.1902 105.779 99.1902L90.1827 99.0244Z",fill:"#444053"}),Object(j.createElement)("path",{d:"M125.529 86.3823C125.585 89.729 124.943 93.4035 122.031 94.1963C116.425 95.721 115.916 94.9587 115.916 94.9587C115.916 94.9587 114.897 96.7375 115.152 98.7704C115.406 100.803 112.731 99.1516 112.731 99.1516C112.731 99.1516 85.5965 102.582 86.6157 98.7704C87.6348 94.9587 97.3166 81.7447 97.3166 81.7447C97.3166 81.7447 113.113 59.6368 116.425 60.3992C116.538 60.4246 116.652 60.4551 116.772 60.4881C120.145 61.469 125.87 65.7965 126.362 67.5144C126.872 69.2931 124.833 80.4742 124.833 80.4742C125.248 82.4178 125.481 84.3957 125.529 86.3823Z",fill:"#67647E"}),Object(j.createElement)("path",{d:"M165.599 117.575C162.287 119.608 160.249 105.123 160.249 105.123L136.299 90.6388L130.852 85.0508L127.381 81.4907L136.554 80.4742L136.78 80.6318L142.414 84.5401L163.561 102.328C163.561 102.328 168.911 115.542 165.599 117.575Z",fill:"#A0616A"}),Object(j.createElement)("path",{opacity:"0.1",d:"M124.833 80.4741C125.248 82.4178 125.481 84.3957 125.529 86.3823C123.748 86.705 122.14 86.8219 121.012 86.5729C116.425 85.5564 106.744 88.3517 106.744 88.3517C106.744 88.3517 111.839 67.7684 113.113 64.2108C113.417 63.3632 113.901 62.5914 114.533 61.9487C115.164 61.3059 115.928 60.8076 116.772 60.488C120.145 61.4689 125.87 65.7965 126.362 67.5143C126.872 69.2931 124.833 80.4741 124.833 80.4741Z",fill:"black"}),Object(j.createElement)("path",{d:"M124.717 57.2728C119.214 54.6655 116.866 48.0884 119.472 42.5824C122.077 37.0763 128.651 34.7264 134.154 37.3336C139.657 39.9409 142.006 46.518 139.4 52.024C136.794 57.5301 130.221 59.88 124.717 57.2728Z",fill:"#2F2E41"}),Object(j.createElement)("path",{opacity:"0.1",d:"M138.082 82.5072C138.082 82.5072 134.724 83.8743 130.852 85.0508L127.381 81.4907L136.554 80.4742L136.78 80.6318C137.601 81.7982 138.082 82.5072 138.082 82.5072Z",fill:"black"}),Object(j.createElement)("path",{d:"M132.131 54.7977L128.077 71.9742L118.3 62.9339C118.3 62.9339 123.308 56.0031 123.308 54.195C123.308 52.3869 132.131 54.7977 132.131 54.7977Z",fill:"#A0616A"}),Object(j.createElement)("path",{d:"M118.719 58.8744C118.719 58.8744 115.152 59.3827 113.878 62.9403C112.604 66.4979 107.508 87.0811 107.508 87.0811C107.508 87.0811 117.19 84.2859 121.776 85.3023C126.362 86.3188 138.847 81.2365 138.847 81.2365C138.847 81.2365 123.305 58.3662 118.719 58.8744Z",fill:"#67647E"}),Object(j.createElement)("path",{d:"M127.459 59.6811C123.207 57.6664 121.392 52.5841 123.406 48.3295C125.419 44.0748 130.499 42.2589 134.751 44.2736C139.003 46.2883 140.818 51.3706 138.805 55.6253C136.791 59.8799 131.712 61.6958 127.459 59.6811Z",fill:"#9F616A"}),Object(j.createElement)("path",{d:"M122.429 55.079C118.426 53.1828 116.718 48.3995 118.613 44.3951C120.508 40.3907 125.289 38.6816 129.291 40.5778C133.294 42.474 135.002 47.2573 133.107 51.2617C131.211 55.2661 126.431 56.9752 122.429 55.079Z",fill:"#2F2E41"}),Object(j.createElement)("path",{d:"M117.254 40.5669C113.557 38.8153 111.979 34.3967 113.729 30.6977C115.48 26.9987 119.896 25.4199 123.593 27.1715C127.29 28.9231 128.868 33.3417 127.117 37.0407C125.367 40.7397 120.951 42.3185 117.254 40.5669Z",fill:"#2F2E41"}),Object(j.createElement)("path",{d:"M112.267 36.8522C112.843 37.8846 113.659 38.7679 114.645 39.4279C115.632 40.088 116.762 40.5057 117.939 40.6462C119.116 40.7866 120.308 40.6457 121.413 40.2351C122.518 39.8246 123.506 39.1564 124.292 38.2865C123.746 39.1413 123.025 39.8724 122.177 40.4339C121.328 40.9954 120.369 41.375 119.361 41.5487C118.352 41.7224 117.317 41.6865 116.318 41.4432C115.32 41.1999 114.382 40.7546 113.562 40.1353C112.742 39.5159 112.059 38.7361 111.555 37.845C111.052 36.9538 110.739 35.9708 110.636 34.9579C110.534 33.945 110.644 32.9243 110.959 31.9601C111.275 30.996 111.79 30.1093 112.471 29.3562C111.761 30.4654 111.368 31.7467 111.332 33.0656C111.297 34.3845 111.619 35.6924 112.267 36.8522Z",fill:"#2F2E41"}),Object(j.createElement)("path",{d:"M130.914 53.5515C127.412 51.8923 125.63 48.3155 126.933 45.5625C128.236 42.8095 132.131 41.9227 135.633 43.5819C139.135 45.241 140.917 48.8178 139.614 51.5708C138.311 54.3239 134.416 55.2106 130.914 53.5515Z",fill:"#2F2E41"}),Object(j.createElement)("path",{d:"M131.416 56.008C130.665 55.6525 130.537 54.3498 131.129 53.0984C131.721 51.8471 132.81 51.1208 133.56 51.4764C134.311 51.8319 134.439 53.1346 133.847 54.3859C133.254 55.6373 132.166 56.3635 131.416 56.008Z",fill:"#A0616A"})),Object(j.createElement)("defs",null,Object(j.createElement)("clipPath",{id:"shipping-labels-svg"},Object(j.createElement)("path",{d:"M0 6C0 2.6863 2.68629 0 6 0H289C292.314 0 295 2.68629 295 6V160H0V6Z",fill:"white"}))))},V=function(){return Object(j.createElement)("svg",{width:"295",height:"160",viewBox:"0 0 295 160",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Object(j.createElement)("g",{clipPath:"url(#speed-svg)"},Object(j.createElement)("path",{d:"M0 6C0 2.6863 2.68629 0 6 0H289C292.314 0 295 2.68629 295 6V160H0V6Z",fill:"#F7EDF7"}),Object(j.createElement)("path",{opacity:"0.05",d:"M287.559 129.935C280.58 144.446 266.411 154.149 251.726 160.548C231.957 169.166 210.186 172.584 188.715 171.138C184.952 170.886 181.2 170.482 177.46 169.928C164.471 168.018 151.807 164.301 139.831 158.883C136.374 157.314 132.988 155.601 129.672 153.744C124.133 150.649 118.825 147.151 113.792 143.276C112.526 142.302 111.278 141.303 110.047 140.279C109.193 139.569 108.347 138.844 107.489 138.14C105.676 136.654 103.812 135.243 101.731 134.187C101.104 133.868 100.46 133.582 99.8036 133.329C93.2164 130.803 85.6207 131.757 78.763 133.726C73.5468 135.225 68.462 137.277 63.2511 138.741C60.9333 139.412 58.5715 139.918 56.1833 140.255C50.8512 140.935 45.4365 140.456 40.3037 138.849L39.8651 138.712C39.1297 138.479 38.4004 138.224 37.6772 137.946L37.2386 137.777C36.5382 137.505 35.8527 137.213 35.1821 136.901L34.7435 136.699C34.0431 136.371 33.3576 136.024 32.687 135.659C32.4453 135.532 32.2063 135.394 31.9699 135.264C28.1544 133.116 24.6861 130.394 21.6847 127.192C21.598 127.105 21.5166 127.015 21.422 126.927C21.0044 126.472 20.5947 126.009 20.1981 125.535C20.051 125.36 19.904 125.185 19.7595 125.005C19.2885 124.426 18.8341 123.834 18.3964 123.229C18.3307 123.142 18.2677 123.052 18.2046 122.964C16.4112 120.463 14.9243 117.753 13.7764 114.892C13.7396 114.805 13.7055 114.715 13.674 114.627C13.3238 113.718 13.0042 112.794 12.7153 111.855C12.5971 111.463 12.4842 111.061 12.3844 110.669C12.3502 110.553 12.3187 110.434 12.2898 110.317C10.84 104.564 10.6746 98.5833 10.6746 92.637C10.6746 91.9433 10.6746 91.2506 10.6746 90.5587C10.7166 80.9403 10.8637 71.1578 12.2714 61.6718C12.2714 61.6056 12.2898 61.5394 12.3003 61.4758C12.7715 58.2824 13.4124 55.1167 14.2203 51.9925C15.0658 48.7143 16.1464 45.5024 17.4535 42.382C20.6919 34.7042 25.4011 27.7175 30.6304 21.2417C43.8021 4.94627 61.0764 -8.7334 81.2949 -13.8537C103.081 -19.3684 127.295 -14.084 144.868 0.0192566C150.226 4.31881 155.041 9.40996 161.058 12.7061C166.311 15.576 172.459 16.7647 178.085 14.5064C182.734 12.6399 185.76 11.7133 190.981 11.9966C201.791 12.613 212.447 14.8629 222.593 18.6709C223.003 18.8218 223.413 18.9781 223.82 19.1343C250.271 29.3351 273.008 49.6018 284.827 75.6453C285.141 76.3336 285.445 77.0273 285.739 77.7262C292.786 94.3181 295.333 113.764 287.559 129.935Z",fill:"#7F54B3"}),Object(j.createElement)("path",{d:"M245.704 26.7351H50.4275C48.9672 26.7351 47.7834 27.9277 47.7834 29.3988V136.883C47.7834 138.354 48.9672 139.546 50.4275 139.546H245.704C247.165 139.546 248.349 138.354 248.349 136.883V29.3988C248.349 27.9277 247.165 26.7351 245.704 26.7351Z",fill:"white"}),Object(j.createElement)("path",{d:"M245.704 26.7351H50.4275C48.9672 26.7351 47.7834 27.9277 47.7834 29.3988V136.883C47.7834 138.354 48.9672 139.546 50.4275 139.546H245.704C247.165 139.546 248.349 138.354 248.349 136.883V29.3988C248.349 27.9277 247.165 26.7351 245.704 26.7351Z",fill:"white"}),Object(j.createElement)("path",{opacity:"0.04",d:"M245.704 26.7351H50.4275C48.9672 26.7351 47.7834 27.9277 47.7834 29.3988V136.883C47.7834 138.354 48.9672 139.546 50.4275 139.546H245.704C247.165 139.546 248.349 138.354 248.349 136.883V29.3988C248.349 27.9277 247.165 26.7351 245.704 26.7351Z",fill:"white"}),Object(j.createElement)("path",{d:"M247.33 25.4404H48.8017C48.5316 25.4404 48.2727 25.5485 48.0817 25.7409C47.8907 25.9333 47.7834 26.1942 47.7834 26.4662V30.8019H248.34V26.4662C248.34 26.1957 248.234 25.936 248.045 25.7439C247.856 25.5517 247.599 25.4427 247.33 25.4404Z",fill:"#5A5773"}),Object(j.createElement)("path",{d:"M51.7886 29.5076C52.5486 29.5076 53.1646 28.8869 53.1646 28.1213C53.1646 27.3557 52.5486 26.7351 51.7886 26.7351C51.0287 26.7351 50.4126 27.3557 50.4126 28.1213C50.4126 28.8869 51.0287 29.5076 51.7886 29.5076Z",fill:"white"}),Object(j.createElement)("path",{d:"M55.4935 29.5073C56.2534 29.5073 56.8695 28.8867 56.8695 28.1211C56.8695 27.3555 56.2534 26.7349 55.4935 26.7349C54.7335 26.7349 54.1174 27.3555 54.1174 28.1211C54.1174 28.8867 54.7335 29.5073 55.4935 29.5073Z",fill:"white"}),Object(j.createElement)("path",{d:"M59.198 29.5073C59.958 29.5073 60.5741 28.8867 60.5741 28.1211C60.5741 27.3555 59.958 26.7349 59.198 26.7349C58.4381 26.7349 57.822 27.3555 57.822 28.1211C57.822 28.8867 58.4381 29.5073 59.198 29.5073Z",fill:"white"}),Object(j.createElement)("path",{opacity:"0.2",d:"M118.126 40.8855H64.3022V45.4878H118.126V40.8855Z",fill:"#646970"}),Object(j.createElement)("path",{opacity:"0.1",d:"M231.83 59.3391H64.3022V130.135H231.83V59.3391Z",fill:"#5A5773"}),Object(j.createElement)("path",{opacity:"0.1",d:"M162.391 63.9563H159.523V58.3431C159.523 52.0091 154.51 46.7436 148.223 46.6476C146.706 46.6316 145.202 46.9179 143.796 47.4902C142.391 48.0625 141.111 48.9094 140.032 49.9821C138.953 51.0548 138.095 52.3321 137.507 53.7404C136.92 55.1486 136.616 56.66 136.611 58.1874V63.9563H133.749C132.484 63.9602 131.272 64.4682 130.378 65.3692C129.483 66.2702 128.979 67.4912 128.975 68.7654V91.8451C128.979 93.1194 129.483 94.3403 130.378 95.2413C131.272 96.1424 132.484 96.6503 133.749 96.6542H162.391C163.656 96.6503 164.868 96.1423 165.762 95.2412C166.656 94.3401 167.16 93.1192 167.163 91.8451V68.7654C167.16 67.4914 166.656 66.2704 165.762 65.3693C164.868 64.4682 163.656 63.9602 162.391 63.9563ZM149.742 78.9596V87.2257C149.745 87.6634 149.583 88.0858 149.288 88.4074C148.993 88.7289 148.588 88.9256 148.155 88.9575C147.929 88.9681 147.703 88.9325 147.49 88.8526C147.278 88.7728 147.084 88.6504 146.921 88.4929C146.757 88.3354 146.626 88.1461 146.537 87.9363C146.448 87.7266 146.402 87.5008 146.402 87.2727V78.9553C145.627 78.5748 145.004 77.9411 144.633 77.1577C144.262 76.3742 144.166 75.4873 144.359 74.6415C144.553 73.7957 145.026 73.0411 145.7 72.5007C146.374 71.9603 147.211 71.6662 148.072 71.6662C148.934 71.6662 149.77 71.9603 150.444 72.5007C151.119 73.0411 151.591 73.7957 151.785 74.6415C151.979 75.4873 151.882 76.3742 151.511 77.1577C151.141 77.9411 150.517 78.5748 149.742 78.9553V78.9596ZM156.187 63.9563H139.952V58.1874C139.952 56.0194 140.806 53.9402 142.328 52.4072C143.85 50.8742 145.914 50.013 148.066 50.013C150.218 50.013 152.282 50.8742 153.804 52.4072C155.325 53.9402 156.18 56.0194 156.18 58.1874L156.187 63.9563Z",fill:"black"}),Object(j.createElement)("path",{d:"M162.391 63.5298H159.523V57.9166C159.523 51.5826 154.51 46.3171 148.223 46.2211C146.706 46.2051 145.202 46.4914 143.796 47.0637C142.391 47.636 141.111 48.4829 140.032 49.5556C138.953 50.6283 138.095 51.9056 137.507 53.3138C136.92 54.7221 136.616 56.2335 136.611 57.7609V63.5298H133.749C132.484 63.5337 131.272 64.0416 130.378 64.9427C129.483 65.8437 128.979 67.0647 128.975 68.3389V91.4186C128.979 92.6928 129.483 93.9137 130.378 94.8148C131.272 95.7158 132.484 96.2238 133.749 96.2277H162.391C163.656 96.2238 164.868 95.7158 165.762 94.8147C166.656 93.9136 167.16 92.6926 167.163 91.4186V68.3389C167.16 67.0649 166.656 65.8439 165.762 64.9428C164.868 64.0417 163.656 63.5337 162.391 63.5298ZM149.742 78.533V86.7992C149.745 87.2369 149.583 87.6593 149.288 87.9808C148.993 88.3024 148.588 88.499 148.155 88.5309C147.929 88.5416 147.703 88.5059 147.49 88.4261C147.278 88.3462 147.084 88.2239 146.921 88.0664C146.757 87.9089 146.626 87.7195 146.537 87.5098C146.448 87.3001 146.402 87.0743 146.402 86.8461V78.5288C145.627 78.1483 145.004 77.5146 144.633 76.7312C144.262 75.9477 144.166 75.0607 144.359 74.2149C144.553 73.3692 145.026 72.6145 145.7 72.0742C146.374 71.5338 147.211 71.2396 148.072 71.2396C148.934 71.2396 149.77 71.5338 150.444 72.0742C151.119 72.6145 151.591 73.3692 151.785 74.2149C151.979 75.0607 151.882 75.9477 151.511 76.7312C151.141 77.5146 150.517 78.1483 149.742 78.5288V78.533ZM156.187 63.5298H139.952V57.7609C139.952 55.5929 140.806 53.5137 142.328 51.9807C143.85 50.4477 145.914 49.5864 148.066 49.5864C150.218 49.5864 152.282 50.4477 153.804 51.9807C155.325 53.5137 156.18 55.5929 156.18 57.7609L156.187 63.5298Z",fill:"#444053"}),Object(j.createElement)("path",{opacity:"0.1",d:"M231.83 52.5251H214.873V56.558H231.83V52.5251Z",fill:"#5A5773"}),Object(j.createElement)("path",{d:"M237.601 174.735C237.489 174.17 237.298 173.623 237.034 173.112L234.493 169.291H234.508C234.508 169.291 234.108 167.371 234.508 166.429C234.908 165.486 233.081 163.168 233.081 163.168C233.081 163.168 232.859 162.586 233.439 161.869C234.019 161.152 233.081 159.054 233.081 159.054C233.081 159.054 232.637 154.671 232.592 154.002C232.548 153.332 232.19 149.621 232.19 149.621L231.343 141.754L229.836 120.903L229.809 120.512C229.995 120.421 230.094 120.363 230.094 120.363L229.794 108.834L230.054 108.597C232.328 106.524 237.572 101.726 237.519 101.621C237.466 101.517 236.884 93.6089 236.816 91.6298C236.758 90.2233 236.452 88.8384 235.914 87.5393C235.783 87.277 235.404 85.5474 235.247 84.8159C235.205 84.6155 235.177 84.4896 235.177 84.4896C235.177 84.4896 233.64 81.538 233.774 80.1966C233.907 78.8552 234.174 77.8507 230.897 77.3815C230.897 77.3815 228.145 76.9677 226.506 75.8396C225.537 75.1638 224.478 74.6296 223.36 74.2529C223.36 74.2529 222.442 72.5467 221.802 73.1247C221.532 72.5159 221.329 71.8786 221.199 71.2245L221.18 71.1051C222.394 70.2526 223.267 68.9933 223.644 67.5521C223.665 67.471 223.682 67.3878 223.701 67.3068C223.765 67.3285 223.831 67.3407 223.898 67.3431C224.455 67.3431 224.798 66.7182 225.319 66.5198C225.53 66.4367 225.791 66.4239 225.954 66.2554C226.007 66.1904 226.047 66.1152 226.071 66.0342C226.095 65.9532 226.103 65.8681 226.093 65.7841C226.099 65.7259 226.099 65.6674 226.093 65.6092C226.094 65.5886 226.094 65.568 226.093 65.5474V65.5687C225.952 64.7924 225.355 64.1035 225.42 63.3145C225.484 62.5723 226.131 61.9197 226.079 61.1967C226.078 61.1396 226.073 61.0825 226.064 61.0261V61.0517C225.985 60.7694 225.84 60.5105 225.64 60.2967C225.412 59.984 225.113 59.7309 224.768 59.5588C224.474 59.4287 224.133 59.3989 223.858 59.2432C223.049 58.7996 223.051 57.6437 222.571 56.8546C222.365 56.5252 222.073 56.2595 221.726 56.0868C221.38 55.914 220.993 55.841 220.608 55.8757C220.007 55.9355 219.463 56.2575 218.868 56.362C218.055 56.507 217.228 56.2404 216.457 55.9355C215.686 55.6305 214.905 55.2957 214.078 55.2957C213.25 55.2957 212.354 55.7222 212.105 56.5091C211.971 56.9357 212.037 57.3942 211.935 57.8271C211.753 58.5906 211.088 59.1366 210.4 59.5162C209.977 59.7529 209.473 60.0238 209.342 60.4716C209.342 60.4588 209.342 60.4482 209.342 60.4375C209.332 60.4732 209.325 60.5096 209.321 60.5463C209.316 60.5938 209.316 60.6416 209.321 60.6892C209.321 60.9963 209.482 61.2884 209.59 61.5806C209.791 62.1365 209.786 62.7468 209.577 63.2995C209.42 63.7047 209.153 64.0609 209.001 64.464C208.929 64.6517 208.882 64.8482 208.861 65.0483V65.0142C208.856 65.1051 208.856 65.1963 208.861 65.2872C208.859 65.5986 208.931 65.906 209.073 66.1829C209.17 66.3741 209.304 66.5437 209.468 66.6818C209.631 66.8199 209.82 66.9236 210.024 66.9869C210.447 67.085 210.712 66.667 211.158 66.7736C211.238 66.793 211.317 66.818 211.393 66.8483C211.408 66.9442 211.423 67.0402 211.44 67.1341C211.71 68.5694 212.469 69.8645 213.586 70.7958C213.586 70.847 213.603 70.8982 213.61 70.9515C213.745 71.8018 213.804 72.6626 213.785 73.5235C213.785 73.5235 213.119 72.5403 212.204 74.4384C212.204 74.4384 209.818 75.8246 208.995 75.9825C208.171 76.1403 205.248 77.1661 205.248 77.1661C204.807 77.4873 204.276 77.6598 203.732 77.6587C202.82 77.6587 202.062 79.6698 202.172 80.7639C202.282 81.8579 202.106 82.6641 201.257 82.7089C200.408 82.7537 200.872 84.4875 200.878 84.5174L200.8 84.8906C200.635 85.6541 200.275 87.292 200.148 87.5479C199.61 88.847 199.304 90.2318 199.244 91.6383C199.178 93.6174 198.609 101.495 198.543 101.63C198.499 101.717 202.091 105.025 204.617 107.337L204.983 107.67L203.821 118.606C203.855 119.027 203.979 119.436 204.185 119.804C204.391 120.173 204.674 120.491 205.015 120.738C205.015 120.866 205.015 120.997 205.002 121.131C204.951 122.41 204.85 123.959 204.646 124.364C204.291 125.081 204.38 128.924 204.38 128.924C204.38 128.924 204.022 136.746 203.577 137.597C203.133 138.448 203.042 140.233 203.175 140.583C203.309 140.933 202.728 150.327 202.728 150.327L202.284 154.53C202.284 154.53 202.417 158.553 202.015 158.642C201.613 158.732 201.391 161.504 201.391 161.504C201.391 161.504 199.966 163.471 200.588 164.185C201.211 164.899 200.497 165.215 200.432 165.392C200.366 165.569 199.073 166.245 200.008 168.745C200.017 168.769 200.027 168.794 200.038 168.817C199.161 170.043 196.384 174 196.553 174.601C196.678 174.984 196.943 175.304 197.294 175.497C197.948 175.891 199.07 176.075 200.855 175.497C203.819 174.535 203.607 173.842 203.607 173.842C203.622 173.518 203.76 173.212 203.993 172.987C204.225 172.763 204.534 172.636 204.856 172.635C206.082 172.545 206.996 171.406 206.996 171.406L206.852 170.867L206.655 170.12C206.679 169.907 206.829 169.534 207.502 169.327C208.529 169.013 208.26 167.047 208.26 167.047C208.26 167.047 208.171 164.991 208.616 164.722C209.06 164.454 208.885 161.056 208.885 161.056C208.885 161.056 209.376 158.597 210.087 156.943C210.798 155.288 211.649 145.456 211.649 145.456C211.649 145.456 212.227 140.628 212.763 139.241C213.298 137.855 213.79 133.967 213.79 133.967C213.79 133.967 217.09 127.529 217.132 126.098C217.132 126.098 217.556 124.756 217.979 126.232C218.402 127.708 219.592 131.24 219.592 131.24L220.75 135.575L222.133 142.057L223.026 147.512C223.026 147.512 222.89 149.568 223.238 150.284C223.585 151.001 224.084 152.652 223.818 152.965C223.551 153.279 224.351 154.754 224.576 155.066C224.8 155.377 224.576 161.995 224.576 161.995C224.576 161.995 225.6 167.627 227.071 168.606C227.174 168.674 227.283 168.731 227.397 168.777C227.376 169.387 227.355 170.203 227.383 170.63C227.379 170.725 227.395 170.82 227.429 170.909C227.563 171.088 229.078 172.296 229.392 172.296C229.705 172.296 230.816 173.078 230.863 173.458C230.909 173.837 234.121 175.445 234.576 175.492C235.031 175.539 237.237 175.938 237.54 175.313C237.615 175.13 237.636 174.93 237.601 174.735ZM229.711 94.1805L229.94 94.3788C229.94 94.3788 230.175 96.2235 230.342 96.7759C230.509 97.3283 230.308 98.4031 230.308 98.4031C230.324 98.8043 230.403 99.2003 230.543 99.5761C230.742 99.9792 230.141 100.856 230.141 100.856H229.605L229.438 93.9501L229.711 94.1805ZM213.785 73.5619V73.5214C213.781 73.5342 213.779 73.5491 213.779 73.5619H213.785ZM205.561 100.146C205.479 99.9669 205.466 99.7634 205.527 99.5761C205.575 99.4748 205.612 99.3691 205.639 99.2605C205.705 98.9803 205.746 98.6948 205.762 98.4074C205.762 98.4038 205.762 98.4003 205.762 98.3967C205.743 98.2944 205.572 97.3048 205.73 96.7802C205.889 96.2555 206.13 94.3831 206.13 94.3831L206.283 94.253L206.636 93.9437C206.636 93.9437 206.636 93.8286 206.662 93.6388C206.736 95.2596 206.795 97.051 206.7 97.1406C206.522 97.3176 205.874 99.06 206.031 99.1282C206.082 99.1517 206.012 99.8491 205.893 100.787C205.76 100.586 205.649 100.371 205.561 100.146Z",fill:"url(#paint0_linear)"}),Object(j.createElement)("path",{d:"M222.623 75.2659V77.9189L217.221 80.6551C217.221 80.6551 211.857 77.3857 213.18 76.0848C214.026 75.2616 213.863 73.001 213.635 71.4463C213.501 70.542 213.347 69.8787 213.347 69.8787C213.347 69.8787 222.983 67.1063 221.527 69.2112C221.04 69.915 221.002 70.8256 221.165 71.7278C221.495 73.5171 222.623 75.2659 222.623 75.2659Z",fill:"#CC818C"}),Object(j.createElement)("path",{d:"M207.824 101.21L207.127 109.851C207.127 109.851 206.083 108.898 204.733 107.657C202.228 105.356 198.672 102.065 198.714 101.977C198.78 101.843 199.349 94.0034 199.411 92.0328C199.469 90.6341 199.771 89.2566 200.304 87.9637C200.431 87.7078 200.789 86.0785 200.939 85.3171C200.99 85.0804 201.022 84.9268 201.022 84.9268L202.19 84.4534C202.19 84.4534 207.059 89.9258 207.059 90.026C207.059 90.1262 206.727 94.3297 206.727 94.3297L206.382 94.6326L206.232 94.7626C206.232 94.7626 205.999 96.5989 205.834 97.1491C205.668 97.6993 205.846 98.6548 205.865 98.7571C205.85 99.0445 205.809 99.3299 205.745 99.6102C205.717 99.718 205.68 99.8229 205.632 99.9237C205.573 100.11 205.585 100.313 205.666 100.491C205.76 100.738 205.883 100.974 206.03 101.193L207.824 101.21Z",fill:"#444053"}),Object(j.createElement)("path",{d:"M237.332 101.977C237.383 102.082 232.19 106.857 229.94 108.919L228.919 109.851L228.229 101.209H230.018C230.018 101.209 230.615 100.341 230.416 99.9405C230.277 99.5666 230.199 99.1727 230.185 98.7739C230.185 98.7739 230.382 97.7076 230.217 97.1552C230.052 96.6028 229.819 94.7688 229.819 94.7688L229.593 94.5726L229.324 94.3358C229.324 94.3358 228.991 90.1324 228.991 90.0321C228.991 89.9319 233.86 84.4595 233.86 84.4595L235.02 84.9265C235.02 84.9265 235.046 85.0524 235.088 85.2528C235.245 85.9801 235.62 87.7011 235.749 87.9634C236.282 89.2563 236.584 90.6338 236.642 92.0326C236.697 94.0031 237.264 101.843 237.332 101.977Z",fill:"#444053"}),Object(j.createElement)("path",{d:"M234.349 166.476C233.951 167.41 234.349 169.323 234.349 169.323C234.349 169.323 228.422 169.634 226.974 168.655C225.526 167.676 224.501 162.069 224.501 162.069C224.501 162.069 224.713 155.486 224.501 155.175C224.29 154.863 223.485 153.396 223.75 153.085C224.014 152.773 223.538 151.127 223.176 150.414C222.814 149.702 222.964 147.657 222.964 147.657L222.08 142.227L220.712 135.778L219.55 131.461C219.55 131.461 218.358 127.947 217.954 126.48C217.549 125.012 217.122 126.345 217.122 126.345C217.079 127.77 213.811 134.176 213.811 134.176C213.811 134.176 213.324 138.047 212.795 139.425C212.265 140.803 211.689 145.61 211.689 145.61C211.689 145.61 210.843 155.396 210.144 157.043C209.445 158.689 208.965 161.135 208.965 161.135C208.965 161.135 209.143 164.518 208.7 164.784C208.258 165.051 208.33 167.098 208.33 167.098C208.33 167.098 208.594 169.054 207.578 169.367C206.562 169.681 206.732 170.346 206.732 170.346C206.732 170.346 201.079 171.28 200.152 168.787C199.225 166.294 200.506 165.631 200.575 165.452C200.645 165.273 201.35 164.963 200.732 164.249C200.114 163.535 201.526 161.581 201.526 161.581C201.526 161.581 201.748 158.824 202.144 158.734C202.54 158.644 202.411 154.641 202.411 154.641L202.851 150.459C202.851 150.459 203.427 141.116 203.294 140.76C203.16 140.404 203.249 138.627 203.692 137.774C204.134 136.921 204.485 129.141 204.485 129.141C204.485 129.141 204.397 125.317 204.75 124.605C204.962 124.202 205.051 122.651 205.101 121.387C205.14 120.421 205.148 119.621 205.148 119.621L210.093 117.753L216.444 115.708L221.787 118.288L229.605 119.8L229.703 121.159L231.195 141.912L232.042 149.741C232.042 149.741 232.395 153.432 232.44 154.1C232.484 154.767 232.925 159.129 232.925 159.129C232.925 159.129 233.852 161.219 233.278 161.931C232.705 162.643 232.925 163.21 232.925 163.21C232.925 163.21 234.747 165.541 234.349 166.476Z",fill:"#444053"}),Object(j.createElement)("path",{opacity:"0.1",d:"M221.531 69.2109C221.044 69.9147 221.006 70.8254 221.169 71.7275C220.057 72.5181 218.717 72.9186 217.356 72.8674C215.996 72.8161 214.69 72.316 213.639 71.4438C213.506 70.5396 213.351 69.8763 213.351 69.8763C213.351 69.8763 222.987 67.1081 221.531 69.2109Z",fill:"black"}),Object(j.createElement)("path",{d:"M223.783 66.4897C223.783 67.7256 223.42 68.9337 222.738 69.9613C222.056 70.9889 221.088 71.7898 219.954 72.2628C218.821 72.7357 217.574 72.8595 216.371 72.6184C215.167 72.3773 214.062 71.7821 213.195 70.9082C212.327 70.0343 211.736 68.9209 211.497 67.7088C211.258 66.4967 211.381 65.2403 211.85 64.0985C212.32 62.9567 213.115 61.9807 214.135 61.2941C215.155 60.6075 216.354 60.241 217.581 60.241C218.396 60.2371 219.205 60.396 219.959 60.7086C220.713 61.0213 221.399 61.4814 221.975 62.0624C222.552 62.6435 223.009 63.3339 223.319 64.0938C223.63 64.8537 223.787 65.668 223.783 66.4897Z",fill:"#CC818C"}),Object(j.createElement)("path",{opacity:"0.1",d:"M225.075 76.8738L223.043 113.332L212.003 110.996L209.816 96.3812L211.982 76.7607L213.612 76.9719L216.487 77.3408L219.334 77.5178L222.421 77.1723L225.075 76.8738Z",fill:"black"}),Object(j.createElement)("path",{d:"M225.075 77.1404L223.043 113.598L212.003 111.263L209.816 96.6479L211.982 77.0295L213.612 77.2385L216.487 77.6075L219.334 77.7845L222.421 77.439L225.075 77.1404Z",fill:"white"}),Object(j.createElement)("path",{d:"M216 78.1191L219.975 78.2535L218.858 79.8295C218.858 79.8295 218.936 83.0136 219.467 83.9264C219.999 84.8391 219.842 98.9403 219.842 98.9403L218.784 100.964L216.974 98.695L216.997 80.0769L216 78.1191Z",fill:"#7F54B3"}),Object(j.createElement)("path",{opacity:"0.1",d:"M216 78.1191L219.975 78.2535L218.858 79.8295C218.858 79.8295 218.936 83.0136 219.467 83.9264C219.999 84.8391 219.842 98.9403 219.842 98.9403L218.784 100.964L216.974 98.695L216.997 80.0769L216 78.1191Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M222.225 73.9817L218.517 78.1191L220.636 80.3434L224.148 76.8949L222.225 73.9817Z",fill:"black"}),Object(j.createElement)("path",{d:"M222.225 73.7151L218.517 77.8524L220.636 80.0768L224.148 76.6283L222.225 73.7151Z",fill:"white"}),Object(j.createElement)("path",{opacity:"0.1",d:"M216.95 77.9187L213.194 74.1375L212.841 76.1166L214.564 80.4544L216.95 77.9187Z",fill:"black"}),Object(j.createElement)("path",{d:"M217.082 77.652L213.328 73.8708L212.975 75.85L214.698 80.1878L217.082 77.652Z",fill:"white"}),Object(j.createElement)("path",{opacity:"0.1",d:"M229.722 121.165C227.919 122.03 225.988 122.592 224.006 122.83C220.363 123.297 217.979 118.627 217.979 118.627L216.588 120.45C216.146 122.387 209.412 122.875 206.674 122.141C206.106 122 205.572 121.746 205.104 121.393C205.142 120.427 205.15 119.627 205.15 119.627L210.095 117.759L216.446 115.714L221.789 118.294L229.607 119.806L229.722 121.165Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M225.075 77.1426L223.045 113.598L212.003 111.263L209.812 96.65L211.975 77.0295L213.605 77.2428C213.564 77.9575 213.484 78.6694 213.366 79.3755C213.102 80.6231 214.736 89.4757 214.736 89.4757C214.736 89.4757 217.841 99.4033 219.239 97.9723C220.636 96.5413 222.626 88.9852 222.626 88.9852C223.974 86.1829 222.649 78.3219 222.55 78.1641C222.48 77.9316 222.438 77.6919 222.423 77.4497L225.075 77.1426Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M229.845 105.353L229.938 108.925L228.917 109.857L228.229 101.209H229.753L229.845 105.353Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M205.868 98.7637C205.852 99.051 205.812 99.3364 205.747 99.6167C205.747 99.5378 205.747 99.493 205.73 99.4866C205.666 99.4695 205.743 99.1433 205.868 98.7637Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M207.824 101.21L207.127 109.851C207.127 109.851 206.084 108.898 204.733 107.657L204.894 106.125C204.894 106.125 205.464 102.363 205.671 100.508C205.765 100.755 205.887 100.991 206.035 101.21H207.824Z",fill:"black"}),Object(j.createElement)("path",{d:"M213.813 74.0032C213.813 74.0032 213.152 73.0243 212.246 74.9139C212.246 74.9139 209.884 76.2937 209.071 76.4494C208.258 76.6051 205.366 77.6288 205.366 77.6288C204.929 77.9468 204.404 78.1177 203.865 78.1171C202.959 78.1171 202.208 80.1197 202.318 81.2095C202.428 82.2993 202.252 83.1012 201.414 83.1459C200.575 83.1907 201.037 84.9459 201.037 84.9459L206.624 91.3972C206.624 91.3972 206.977 97.3367 206.801 97.5158C206.626 97.6949 205.984 99.4352 206.139 99.4949C206.293 99.5546 205.292 106.123 205.292 106.123L203.946 118.87C203.946 118.87 203.946 121.003 206.685 121.739C209.424 122.474 216.163 121.988 216.597 120.052L217.987 118.226C217.987 118.226 220.371 122.899 224.014 122.432C227.658 121.965 229.978 120.63 229.978 120.63L229.58 105.353L229.315 94.3424L235.004 84.9267C235.004 84.9267 233.479 81.99 233.613 80.6614C233.746 79.3327 234.009 78.3261 230.763 77.8591C230.763 77.8591 228.026 77.4475 226.413 76.3236C225.454 75.653 224.407 75.1217 223.301 74.7454C223.301 74.7454 222.391 73.0393 221.758 73.6236C221.758 73.6236 222.393 76.0357 222.34 76.3961C222.287 76.7565 222.439 78.3858 222.539 78.5543C222.638 78.7228 223.964 86.5731 222.615 89.3754C222.615 89.3754 220.636 96.9315 219.228 98.3625C217.82 99.7935 214.725 89.866 214.725 89.866C214.725 89.866 213.091 81.0112 213.355 79.7657C213.62 78.5202 213.813 74.0032 213.813 74.0032Z",fill:"#444053"}),Object(j.createElement)("path",{d:"M218.538 103.167C219.074 103.167 219.509 102.729 219.509 102.188C219.509 101.648 219.074 101.209 218.538 101.209C218.001 101.209 217.566 101.648 217.566 102.188C217.566 102.729 218.001 103.167 218.538 103.167Z",fill:"#50575E"}),Object(j.createElement)("path",{d:"M218.538 107.782C219.074 107.782 219.509 107.344 219.509 106.804C219.509 106.263 219.074 105.825 218.538 105.825C218.001 105.825 217.566 106.263 217.566 106.804C217.566 107.344 218.001 107.782 218.538 107.782Z",fill:"#50575E"}),Object(j.createElement)("path",{opacity:"0.1",d:"M223.783 66.4897C223.785 67.0229 223.718 67.554 223.584 68.07C223.454 68.01 223.345 67.9113 223.271 67.787C223.198 67.6628 223.164 67.519 223.174 67.3748C223.201 67.121 223.369 66.8885 223.333 66.6368C223.28 66.2487 222.814 66.0909 222.568 65.7838C222.266 65.4127 222.331 64.8731 222.357 64.3933C222.382 63.9134 222.261 63.3269 221.815 63.1627C221.681 63.1137 221.535 63.1094 221.406 63.054C221.055 62.9047 220.947 62.4653 220.712 62.1625C220.242 61.5526 219.308 61.5654 218.595 61.8554C218.284 62.0054 217.966 62.1392 217.642 62.2563C217.48 62.314 217.307 62.3372 217.136 62.3243C216.964 62.3115 216.797 62.2629 216.645 62.1817C216.505 62.0921 216.393 61.9684 216.249 61.8789C215.771 61.5888 215.144 61.8789 214.729 62.2521C214.314 62.6253 213.982 63.1265 213.459 63.3547C213.224 63.4613 212.934 63.5253 212.824 63.7556C212.769 63.881 212.746 64.0179 212.756 64.1544C212.756 64.984 212.854 65.8264 212.682 66.639C212.572 67.1615 212.208 67.7544 211.681 67.6904C211.615 67.6806 211.551 67.6642 211.488 67.6413C211.329 66.7872 211.349 65.9091 211.547 65.0631C211.744 64.2171 212.114 63.4219 212.634 62.7282C213.153 62.0346 213.811 61.4577 214.564 61.0344C215.317 60.6112 216.15 60.3509 217.009 60.2702C217.868 60.1895 218.734 60.2901 219.552 60.5657C220.37 60.8412 221.122 61.2857 221.76 61.8706C222.398 62.4555 222.908 63.168 223.257 63.9626C223.606 64.7572 223.787 65.6164 223.788 66.4854L223.783 66.4897Z",fill:"black"}),Object(j.createElement)("path",{d:"M211.211 67.2875C211.37 67.3237 211.52 67.4069 211.683 67.4282C212.21 67.4922 212.574 66.8993 212.684 66.3768C212.856 65.5643 212.767 64.7219 212.761 63.8923C212.749 63.7559 212.771 63.6187 212.826 63.4935C212.947 63.2632 213.237 63.1992 213.461 63.0925C213.974 62.8622 214.308 62.3717 214.731 61.99C215.155 61.6082 215.771 61.3267 216.249 61.6167C216.391 61.702 216.505 61.83 216.645 61.9196C216.798 61.9996 216.965 62.0475 217.137 62.0603C217.309 62.0732 217.481 62.0507 217.644 61.9942C217.972 61.8961 218.279 61.7234 218.595 61.5933C219.302 61.3032 220.238 61.2926 220.712 61.8982C220.947 62.2032 221.055 62.6404 221.406 62.7897C221.535 62.8452 221.681 62.8516 221.815 62.9006C222.261 63.0691 222.376 63.6513 222.357 64.1311C222.338 64.611 222.274 65.1506 222.568 65.5216C222.814 65.8245 223.28 65.9823 223.333 66.3747C223.366 66.6264 223.201 66.861 223.174 67.1126C223.168 67.2061 223.18 67.3 223.21 67.3887C223.24 67.4775 223.287 67.5594 223.349 67.6296C223.41 67.6998 223.485 67.757 223.569 67.7979C223.653 67.8387 223.744 67.8624 223.836 67.8676C224.387 67.8676 224.728 67.247 225.242 67.0486C225.454 66.9655 225.71 66.9527 225.877 66.7842C225.939 66.7032 225.983 66.6096 226.006 66.5098C226.029 66.41 226.029 66.3064 226.008 66.2062C225.905 65.3894 225.255 64.6792 225.325 63.8603C225.39 63.0755 226.112 62.3909 225.96 61.6189C225.882 61.3342 225.737 61.0729 225.536 60.8575C225.309 60.5477 225.014 60.2957 224.673 60.1217C224.378 59.9938 224.038 59.9639 223.769 59.8082C222.968 59.3668 222.971 58.2151 222.499 57.4303C222.296 57.106 222.009 56.8441 221.668 56.6733C221.328 56.5025 220.947 56.4294 220.568 56.4621C219.973 56.5218 219.433 56.8396 218.845 56.9462C218.038 57.0912 217.221 56.8247 216.457 56.5197C215.692 56.2147 214.92 55.8799 214.101 55.8799C213.281 55.8799 212.394 56.3064 212.144 57.087C212.013 57.5135 212.079 57.9699 211.977 58.3986C211.799 59.1599 211.13 59.7016 210.457 60.0791C209.994 60.3393 209.437 60.6379 209.382 61.1689C209.346 61.5058 209.53 61.8087 209.646 62.135C209.844 62.687 209.84 63.2922 209.634 63.8411C209.479 64.2442 209.221 64.5982 209.064 64.9991C208.953 65.2713 208.901 65.564 208.91 65.8582C208.92 66.1523 208.991 66.441 209.119 66.7053C209.218 66.8979 209.355 67.0683 209.521 67.2058C209.687 67.3433 209.88 67.4451 210.087 67.505C210.504 67.6052 210.766 67.1894 211.211 67.2875Z",fill:"#2F2E41"}),Object(j.createElement)("g",{opacity:"0.1"},Object(j.createElement)("path",{opacity:"0.1",d:"M212.685 65.9121C212.574 66.4346 212.208 67.0275 211.681 66.9635C211.518 66.9422 211.37 66.859 211.209 66.8227C210.767 66.7246 210.504 67.1426 210.087 67.036C209.88 66.9762 209.687 66.8744 209.52 66.7369C209.354 66.5993 209.217 66.429 209.117 66.2362C209.007 66.0192 208.94 65.7822 208.921 65.5389C208.878 65.9165 208.947 66.2983 209.117 66.6372C209.217 66.8299 209.354 67.0003 209.52 67.1378C209.687 67.2753 209.88 67.3771 210.087 67.4369C210.51 67.535 210.767 67.117 211.209 67.2237C211.364 67.278 211.522 67.3243 211.681 67.3623C212.208 67.4284 212.574 66.8355 212.685 66.313C212.771 65.8514 212.805 65.3813 212.786 64.9119C212.784 65.2478 212.75 65.5827 212.685 65.9121Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M209.784 62.7001C209.811 62.3506 209.764 61.9994 209.645 61.67C209.549 61.451 209.468 61.2259 209.401 60.9961C209.392 61.0319 209.385 61.0682 209.38 61.1049C209.344 61.4397 209.53 61.7447 209.645 62.071C209.719 62.2735 209.766 62.4851 209.784 62.7001Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M225.958 61.5762C225.858 62.1819 225.371 62.7513 225.323 63.3889C225.311 63.4981 225.311 63.6082 225.323 63.7174C225.429 62.9731 226.083 62.3141 225.958 61.5762Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M225.994 66.0762C225.976 66.1653 225.934 66.2479 225.873 66.315C225.717 66.4835 225.45 66.4963 225.238 66.5795C224.724 66.7778 224.392 67.4048 223.833 67.3984C223.69 67.3903 223.552 67.3386 223.439 67.2503C223.326 67.162 223.241 67.0411 223.198 66.9036C223.185 66.9499 223.175 66.9969 223.168 67.0444C223.162 67.1378 223.174 67.2314 223.204 67.3199C223.235 67.4084 223.282 67.49 223.343 67.56C223.405 67.63 223.48 67.687 223.563 67.7277C223.647 67.7684 223.738 67.7921 223.831 67.7972C224.383 67.7972 224.722 67.1766 225.236 66.9804C225.448 66.8972 225.706 66.8844 225.871 66.716C225.933 66.635 225.977 66.5413 226 66.4415C226.023 66.3418 226.024 66.2382 226.003 66.138C226 66.1124 225.996 66.0954 225.994 66.0762Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M223.339 65.8993C223.287 65.5111 222.821 65.3533 222.575 65.0462C222.425 64.8445 222.343 64.5991 222.342 64.3467C222.325 64.7434 222.332 65.1486 222.575 65.4471C222.819 65.7457 223.189 65.8737 223.308 66.1808C223.338 66.0902 223.348 65.9943 223.339 65.8993Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M222.355 63.6662C222.372 63.1863 222.257 62.5998 221.811 62.4356C221.679 62.3866 221.533 62.3802 221.404 62.3269C221.053 62.1776 220.943 61.7383 220.71 61.4354C220.238 60.8276 219.304 60.8383 218.593 61.1283C218.275 61.2584 217.973 61.4311 217.642 61.5293C217.48 61.5869 217.308 61.6101 217.136 61.5972C216.964 61.5844 216.797 61.5358 216.645 61.4546C216.506 61.365 216.391 61.2413 216.249 61.1518C215.769 60.8617 215.142 61.1518 214.729 61.525C214.317 61.8982 213.982 62.3972 213.459 62.6276C213.222 62.7342 212.934 62.7982 212.811 63.0285C212.758 63.1541 212.735 63.291 212.746 63.4273C212.746 63.5105 212.746 63.5937 212.746 63.6768C212.749 63.5909 212.77 63.5066 212.807 63.4295C212.93 63.1991 213.218 63.1351 213.455 63.0285C213.967 62.7982 214.302 62.3077 214.725 61.9259C215.149 61.5442 215.765 61.2627 216.245 61.5527C216.387 61.638 216.501 61.766 216.641 61.8534C216.793 61.9351 216.96 61.984 217.132 61.9968C217.303 62.0097 217.476 61.9862 217.638 61.9281C217.962 61.812 218.279 61.6789 218.589 61.5293C219.298 61.2392 220.231 61.2264 220.706 61.8342C220.938 62.1371 221.049 62.5764 221.4 62.7257C221.529 62.7811 221.675 62.7875 221.806 62.8366C222.168 62.9731 222.312 63.3825 222.344 63.7877L222.355 63.6662Z",fill:"black"})),Object(j.createElement)("g",{opacity:"0.1"},Object(j.createElement)("path",{opacity:"0.1",d:"M211.928 65.8994C211.94 65.5454 212.066 65.205 212.287 64.9292C212.508 64.6535 212.811 64.4573 213.152 64.3703C214.096 64.1378 215.086 64.183 216.006 64.5004C218.015 65.17 215.752 67.5799 215.752 67.5799C215.752 67.5799 214.246 69.0728 212.843 68.0299C212.428 67.7143 212.138 67.2609 212.024 66.7503C211.955 66.4721 211.923 66.186 211.928 65.8994Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M222.972 65.8991C222.96 65.5448 222.834 65.2042 222.613 64.9284C222.392 64.6526 222.088 64.4566 221.747 64.37C220.803 64.1379 219.814 64.1831 218.895 64.5001C216.886 65.1697 219.149 67.5796 219.149 67.5796C219.149 67.5796 220.652 69.0725 222.058 68.0296C222.472 67.714 222.763 67.2606 222.877 66.75C222.946 66.4718 222.978 66.1857 222.972 65.8991Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M215.627 64.3039V64.4041H219.295V64.2847L215.627 64.3039Z",fill:"black"}),Object(j.createElement)("path",{opacity:"0.1",d:"M216.797 65.3724H216.914V65.0333C216.914 65.0333 217.286 64.7412 217.905 65.0333V65.3362H218.116V65.1378H218.013C218.013 65.1378 218.055 64.7262 217.365 64.7923C217.365 64.7923 216.81 64.739 216.823 65.093H216.696L216.797 65.3724Z",fill:"black"})),Object(j.createElement)("path",{d:"M211.928 65.7608C211.941 65.4068 212.066 65.0664 212.287 64.7906C212.508 64.5149 212.811 64.3187 213.152 64.2317C214.096 64.0008 215.086 64.0459 216.006 64.3618C218.015 65.0336 215.752 67.4413 215.752 67.4413C215.752 67.4413 214.246 68.9342 212.843 67.8913C212.428 67.5765 212.137 67.1228 212.024 66.6117C211.955 66.3336 211.923 66.0474 211.928 65.7608Z",fill:"#2F2E41"}),Object(j.createElement)("path",{d:"M222.973 65.7608C222.961 65.4066 222.835 65.0659 222.613 64.7902C222.392 64.5144 222.088 64.3184 221.747 64.2317C220.804 64.0008 219.815 64.0459 218.896 64.3618C216.887 65.0336 219.15 67.4414 219.15 67.4414C219.15 67.4414 220.653 68.9342 222.058 67.8914C222.474 67.5765 222.764 67.1229 222.878 66.6118C222.947 66.3336 222.979 66.0475 222.973 65.7608Z",fill:"#2F2E41"}),Object(j.createElement)("path",{d:"M215.627 64.1696V64.2719H219.295V64.1504L215.627 64.1696Z",fill:"#2F2E41"}),Object(j.createElement)("path",{d:"M216.797 65.2382H216.914V64.8991C216.914 64.8991 217.286 64.6091 217.905 64.8991V65.2041H218.116V65.0036H218.013C218.013 65.0036 218.055 64.5942 217.365 64.6582C217.365 64.6582 216.81 64.607 216.823 64.9589H216.696L216.797 65.2382Z",fill:"#2F2E41"})),Object(j.createElement)("defs",null,Object(j.createElement)("linearGradient",{id:"paint0_linear",x1:"38982",y1:"103102",x2:"38982",y2:"34934.7",gradientUnits:"userSpaceOnUse"},Object(j.createElement)("stop",{stopColor:"#808080",stopOpacity:"0.25"}),Object(j.createElement)("stop",{offset:"0.54",stopColor:"#808080",stopOpacity:"0.12"}),Object(j.createElement)("stop",{offset:"1",stopColor:"#808080",stopOpacity:"0.1"})),Object(j.createElement)("clipPath",{id:"speed-svg"},Object(j.createElement)("path",{d:"M0 6C0 2.6863 2.68629 0 6 0H289C292.314 0 295 2.68629 295 6V160H0V6Z",fill:"white"}))))},H=n(101),P=n(79),x=n(759);function I(){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}}var F=function(e){O()(c,e);var t,n,r,o=(t=c,function(){var e,n=h()(t);if(I()){var r=h()(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return d()(this,e)});function c(e){var t;return l()(this,c),(t=o.call(this,e)).state={isInstalling:!1,isPending:!1},t.isJetpackActive=e.activePlugins.includes("jetpack"),t.isWcsActive=e.activePlugins.includes("woocommerce-services"),t.pluginsToInstall=[],t.isJetpackActive||t.pluginsToInstall.push("jetpack"),t.isWcsActive||t.pluginsToInstall.push("woocommerce-services"),Object(P.b)("storeprofiler_plugins_to_install",{plugins:t.pluginsToInstall}),t.startPluginInstall=t.startPluginInstall.bind(u()(t)),t.skipPluginInstall=t.skipPluginInstall.bind(u()(t)),t}return m()(c,[{key:"componentDidUpdate",value:function(e,t){var n=this.props,r=n.goToNextStep,o=n.isRequesting,c=this.state,a=c.isInstalling;!c.isPending||o||a||!e.isRequesting&&!t.isInstalling||r()}},{key:"skipPluginInstall",value:(r=a()(regeneratorRuntime.mark((function e(){var t,n,r,o,c;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=this.props,n=t.createNotice,r=t.isProfileItemsError,o=t.updateProfileItems,this.setState({isPending:!0}),c=this.isJetpackActive?"skipped-wcs":"skipped",e.next=5,o({plugins:c});case 5:r?n("error",Object(g.__)("There was a problem updating your preferences.","woocommerce-admin")):Object(P.b)("storeprofiler_install_plugins",{install:!1,plugins:c});case 6:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"startPluginInstall",value:(n=a()(regeneratorRuntime.mark((function e(){var t,n,r,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=this.props,n=t.updateProfileItems,r=t.updateOptions,this.setState({isInstalling:!0,isPending:!0}),e.next=4,r({woocommerce_setup_jetpack_opted_in:!0});case 4:o=this.isJetpackActive?"installed-wcs":"installed",Object(P.b)("storeprofiler_install_plugins",{install:!0,plugins:o}),n({plugins:o});case 7:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"renderBenefit",value:function(e){var t=e.description,n=e.icon,r=e.title;return Object(j.createElement)("div",{className:"woocommerce-profile-wizard__benefit-card",key:r},n,Object(j.createElement)("div",{className:"woocommerce-profile-wizard__benefit-card-content"},Object(j.createElement)(L.H,{className:"woocommerce-profile-wizard__benefit-card-title"},r),Object(j.createElement)("p",null,t)))}},{key:"getBenefits",value:function(){return[{title:Object(g.__)("Store management on the go","woocommerce-admin"),icon:Object(j.createElement)(S,null),description:Object(g.__)("Your store in your pocket. Manage orders, receive sales notifications, and more. Only with a Jetpack connection.","woocommerce-admin"),visible:!this.isJetpackActive},{title:Object(g.__)("Automated sales taxes","woocommerce-admin"),icon:Object(j.createElement)(D,null),description:Object(g.__)("Ensure that the correct rate of tax is charged on all of your orders automatically, and print shipping labels at home.","woocommerce-admin"),visible:!this.isWcsActive||!this.isJetpackActive},{title:Object(g.__)("Improved speed & security","woocommerce-admin"),icon:Object(j.createElement)(V,null),description:Object(g.__)("Automatically block brute force attacks and speed up your store using our powerful, global server network to cache images.","woocommerce-admin"),visible:!this.isJetpackActive},{title:Object(g.__)("Print shipping labels at home","woocommerce-admin"),icon:Object(j.createElement)(N,null),description:Object(g.__)("Save time at the post office by printing shipping labels for your orders at home.","woocommerce-admin"),visible:this.isJetpackActive&&!this.isWcsActive}]}},{key:"renderBenefits",value:function(){var e=this;return Object(j.createElement)("div",{className:"woocommerce-profile-wizard__benefits"},Object(v.filter)(this.getBenefits(),(function(e){return e.visible})).map((function(t){return e.renderBenefit(t)})))}},{key:"render",value:function(){var e=this,t=this.state,n=t.isInstalling,r=t.isPending,o=this.pluginsToInstall.map((function(e){return x.a[e]})).join(" "+Object(g.__)("and","woocommerce-admin")+" ");return Object(j.createElement)(L.Card,{className:"woocommerce-profile-wizard__benefits-card"},Object(j.createElement)(M,null),Object(j.createElement)(L.H,{className:"woocommerce-profile-wizard__header-title"},Object(g.sprintf)(Object(g.__)("Enhance your store with %s","woocommerce-admin"),o)),this.renderBenefits(),Object(j.createElement)("div",{className:"woocommerce-profile-wizard__card-actions"},Object(j.createElement)(k.a,{isPrimary:!0,isBusy:r&&n,disabled:r,onClick:this.startPluginInstall,className:"woocommerce-profile-wizard__continue"},Object(g.__)("Yes please!","woocommerce-admin")),Object(j.createElement)(k.a,{isDefault:!0,isBusy:r&&!n,disabled:r,className:"woocommerce-profile-wizard__skip",onClick:this.skipPluginInstall},Object(g.__)("No thanks","woocommerce-admin")),n&&Object(j.createElement)(L.Plugins,{autoInstall:!0,onComplete:function(){return e.setState({isInstalling:!1})},onError:function(){return e.setState({isInstalling:!1})},pluginSlugs:this.pluginsToInstall})),Object(j.createElement)("p",{className:"woocommerce-profile-wizard__benefits-install-notice"},Object(g.sprintf)(Object(g.__)("%s %s will be installed & activated for free.","woocommerce-admin"),o,Object(g._n)("plugin","plugins",this.pluginsToInstall.length,"woocommerce-admin"))))}}]),c}(j.Component),R=Object(_.a)(Object(H.a)((function(e){var t=e("wc-api"),n=t.getProfileItemsError,r=t.getProfileItems,o=t.isGetProfileItemsRequesting,c=e(E.PLUGINS_STORE_NAME).getActivePlugins,a=Boolean(n());return{activePlugins:c(),isProfileItemsError:a,profileItems:r(),isRequesting:o()}})),Object(y.withDispatch)((function(e){var t=e("wc-api"),n=t.updateProfileItems,r=t.updateOptions;return{createNotice:e("core/notices").createNotice,updateProfileItems:n,updateOptions:r}})))(F),T=n(105),z=n.n(T),B=n(718),A=n(204),U=n(26),q=n(742),W=n(203);function G(){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}}var J=Object(U.g)("wcAdminAssetUrl",""),Y=function(e){O()(o,e);var t,n,r=(t=o,function(){var e,n=h()(t);if(G()){var r=h()(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return d()(this,e)});function o(e){var t;l()(this,o),t=r.call(this);var n=Object(v.get)(e,"profileItems",{}),c=Object(v.get)(n,"business_extensions",!1);return t.initialValues={other_platform:n.other_platform||"",other_platform_name:n.other_platform_name||"",product_count:n.product_count||"",selling_venues:n.selling_venues||"",revenue:n.revenue||"","facebook-for-woocommerce":!c||c.includes("facebook-for-woocommerce"),"mailchimp-for-woocommerce":!c||c.includes("mailchimp-for-woocommerce"),"kliken-marketing-for-google":!c||c.includes("kliken-marketing-for-google")},t.state={installExtensions:!1,isInstallingExtensions:!1,extensionInstallError:!1},t.extensions=["facebook-for-woocommerce","mailchimp-for-woocommerce","kliken-marketing-for-google"],t.onContinue=t.onContinue.bind(u()(t)),t.validate=t.validate.bind(u()(t)),t.getNumberRangeString=t.getNumberRangeString.bind(u()(t)),t.numberFormat=t.numberFormat.bind(u()(t)),t}return m()(o,[{key:"onContinue",value:(n=a()(regeneratorRuntime.mark((function e(t){var n,r,o,c,a,i,l,s,m,C,u,p,d,b;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=this.props,r=n.createNotice,o=n.goToNextStep,c=n.isError,a=n.updateProfileItems,i=t.other_platform,l=t.other_platform_name,s=t.product_count,m=t.revenue,C=t.selling_venues,u=this.getBusinessExtensions(t),p=this.context.getCurrency,Object(P.b)("storeprofiler_store_business_details_continue",{product_number:s,already_selling:C,currency:p().code,revenue:m,used_platform:i,used_platform_name:l,install_facebook:t["facebook-for-woocommerce"],install_mailchimp:t["mailchimp-for-woocommerce"],install_google_ads:t["kliken-marketing-for-google"]}),d={other_platform:i,other_platform_name:"other"===i?l:"",product_count:s,revenue:m,selling_venues:C,business_extensions:u},b={},Object.keys(d).forEach((function(e){""!==d[e]&&(b[e]=d[e])})),e.next=10,a(b);case 10:if(c){e.next=17;break}if(0!==u.length){e.next=14;break}return o(),e.abrupt("return");case 14:this.setState({installExtensions:!0,isInstallingExtensions:!0}),e.next=18;break;case 17:r("error",Object(g.__)("There was a problem updating your business details.","woocommerce-admin"));case 18:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"validate",value:function(e){var t=this,n={};return Object.keys(e).forEach((function(r){"other_platform"===r?!e.other_platform.length&&["other","brick-mortar-other"].includes(e.selling_venues)&&(n.other_platform=Object(g.__)("This field is required","woocommerce-admin")):"other_platform_name"===r?!e.other_platform_name&&"other"===e.other_platform&&["other","brick-mortar-other"].includes(e.selling_venues)&&(n.other_platform_name=Object(g.__)("This field is required","woocommerce-admin")):"revenue"===r?!e.revenue.length&&["other","brick-mortar","brick-mortar-other","other-woocommerce"].includes(e.selling_venues)&&(n.revenue=Object(g.__)("This field is required","woocommerce-admin")):t.extensions.includes(r)||e[r].length||(n[r]=Object(g.__)("This field is required","woocommerce-admin"))})),n}},{key:"getBusinessExtensions",value:function(e){var t=this;return Object(v.keys)(Object(v.pickBy)(e)).filter((function(e){return t.extensions.includes(e)}))}},{key:"convertCurrency",value:function(e){var t=Object(q.b)(this.props.settings.woocommerce_default_country);if("US"===t)return e;var n={US:1,EU:.9,IN:71.24,GB:.76,BR:4.19,VN:23172.5,ID:14031,BD:84.87,PK:154.8,RU:63.74,TR:5.75,MX:19.37,CA:1.32},r=n[t]||n.US,o=r.toString().split(".")[0].length,c=Math.pow(10,2+o);return Math.round(e*r/c)*c}},{key:"numberFormat",value:function(e){var t=this.context.getCurrency;return Object(A.formatValue)(t(),"number",e)}},{key:"getNumberRangeString",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.numberFormat;return t?Object(g.sprintf)(Object(g._x)("%1$s - %2$s","store product count or revenue range","woocommerce-admin"),n(e),n(t)):Object(g.sprintf)(Object(g._x)("%s+","store product count or revenue","woocommerce-admin"),n(e))}},{key:"renderBusinessExtensionHelpText",value:function(e){var t=this.state.isInstallingExtensions,n=this.getBusinessExtensions(e);if(0===n.length)return null;var r=n.map((function(e){return x.a[e]})).join(", ");return t?Object(j.createElement)("p",null,Object(g.sprintf)(Object(g._n)("Installing the following plugin: %s","Installing the following plugins: %s",n.length,"woocommerce-admin"),r)):Object(j.createElement)("p",null,Object(g.sprintf)(Object(g._n)("The following plugin will be installed for free: %s","The following plugins will be installed for free: %s",n.length,"woocommerce-admin"),r))}},{key:"renderBusinessExtensions",value:function(e,t){var n=this,r=this.state,o=r.installExtensions,c=r.extensionInstallError,a=this.props.goToNextStep,i=this.getBusinessExtensions(e),l=[{slug:"facebook-for-woocommerce",title:Object(g.__)("Market on Facebook","woocommerce-admin"),icon:"onboarding/fb-woocommerce.png",description:Object(g.__)("Grow your business by targeting the right people and driving sales with Facebook.","woocommerce-admin")},{slug:"mailchimp-for-woocommerce",title:Object(g.__)("Contact customers with Mailchimp","woocommerce-admin"),icon:"onboarding/mailchimp.png",description:Object(g.__)("Send targeted campaigns, recover abandoned carts and much more with Mailchimp.","woocommerce-admin")},{slug:"kliken-marketing-for-google",title:Object(g.__)("Drive sales with Google Ads","woocommerce-admin"),icon:"onboarding/g-shopping.png",description:Object(g.__)("Get in front of new customers on Google and secure $150 in ads credit with Kliken’s integration.","woocommerce-admin")}];return Object(j.createElement)(j.Fragment,null,l.map((function(n){return Object(j.createElement)("div",{className:"woocommerce-profile-wizard__benefit",key:n.title},Object(j.createElement)("div",{className:"woocommerce-profile-wizard__business-extension"},Object(j.createElement)("img",{src:J+n.icon,alt:""})),Object(j.createElement)("div",{className:"woocommerce-profile-wizard__benefit-content"},Object(j.createElement)(L.H,{className:"woocommerce-profile-wizard__benefit-title"},n.title),Object(j.createElement)("p",null,n.description)),Object(j.createElement)("div",{className:"woocommerce-profile-wizard__benefit-toggle"},Object(j.createElement)(B.a,z()({checked:e[n.slug]},t(n.slug)))))})),o&&Object(j.createElement)("div",{className:"woocommerce-profile-wizard__card-actions"},Object(j.createElement)(L.Plugins,{onComplete:function(){a()},onSkip:function(){a()},onError:function(){n.setState({extensionInstallError:!0,isInstallingExtensions:!1})},autoInstall:!c,pluginSlugs:i})))}},{key:"render",value:function(){var e=this,t=this.state,n=t.isInstallingExtensions,r=t.extensionInstallError,o=this.context.formatCurrency,c=[{key:"0",label:Object(g.__)("I don't have any products yet.","woocommerce-admin")},{key:"1-10",label:this.getNumberRangeString(1,10)},{key:"11-100",label:this.getNumberRangeString(11,100)},{key:"101-1000",label:this.getNumberRangeString(101,1e3)},{key:"1000+",label:this.getNumberRangeString(1e3)}],a=[{key:"none",label:Object(g.sprintf)(Object(g.__)("%s (I'm just getting started)","woocommerce-admin"),o(0))},{key:"up-to-2500",label:Object(g.sprintf)(Object(g.__)("Up to %s","woocommerce-admin"),o(this.convertCurrency(2500)))},{key:"2500-10000",label:this.getNumberRangeString(this.convertCurrency(2500),this.convertCurrency(1e4),o)},{key:"10000-50000",label:this.getNumberRangeString(this.convertCurrency(1e4),this.convertCurrency(5e4),o)},{key:"50000-250000",label:this.getNumberRangeString(this.convertCurrency(5e4),this.convertCurrency(25e4),o)},{key:"more-than-250000",label:Object(g.sprintf)(Object(g.__)("More than %s","woocommerce-admin"),o(this.convertCurrency(25e4)))}],i=[{key:"no",label:Object(g.__)("No","woocommerce-admin")},{key:"other",label:Object(g.__)("Yes, on another platform","woocommerce-admin")},{key:"other-woocommerce",label:Object(g.__)("Yes, I own a different store powered by WooCommerce","woocommerce-admin")},{key:"brick-mortar",label:Object(g.__)("Yes, in person at physical stores and/or events","woocommerce-admin")},{key:"brick-mortar-other",label:Object(g.__)("Yes, on another platform and in person at physical stores and/or events","woocommerce-admin")}],l=[{key:"shopify",label:Object(g.__)("Shopify","woocommerce-admin")},{key:"bigcommerce",label:Object(g.__)("BigCommerce","woocommerce-admin")},{key:"magento",label:Object(g.__)("Magento","woocommerce-admin")},{key:"wix",label:Object(g.__)("Wix","woocommerce-admin")},{key:"amazon",label:Object(g.__)("Amazon","woocommerce-admin")},{key:"ebay",label:Object(g.__)("eBay","woocommerce-admin")},{key:"etsy",label:Object(g.__)("Etsy","woocommerce-admin")},{key:"squarespace",label:Object(g.__)("Squarespace","woocommerce-admin")},{key:"other",label:Object(g.__)("Other","woocommerce-admin")}];return Object(j.createElement)(L.Form,{initialValues:this.initialValues,onSubmitCallback:this.onContinue,validate:this.validate},(function(t){var o=t.getInputProps,s=t.handleSubmit,m=t.values,C=t.isValidForm,u=""!==m.selling_venues;return Object(j.createElement)(j.Fragment,null,Object(j.createElement)(L.H,{className:"woocommerce-profile-wizard__header-title"},Object(g.__)("Tell us about your business","woocommerce-admin")),Object(j.createElement)("p",null,Object(g.__)("We'd love to know if you are just getting started or you already have a business in place.","woocommerce-admin")),Object(j.createElement)(L.Card,null,Object(j.createElement)(j.Fragment,null,Object(j.createElement)(L.SelectControl,z()({label:Object(g.__)("How many products do you plan to display?","woocommerce-admin"),options:c,required:!0},o("product_count"))),Object(j.createElement)(L.SelectControl,z()({label:Object(g.__)("Currently selling elsewhere?","woocommerce-admin"),options:i,required:!0},o("selling_venues"))),["other","brick-mortar","brick-mortar-other","other-woocommerce"].includes(m.selling_venues)&&Object(j.createElement)(L.SelectControl,z()({label:Object(g.__)("What's your current annual revenue?","woocommerce-admin"),options:a,required:!0},o("revenue"))),["other","brick-mortar-other"].includes(m.selling_venues)&&Object(j.createElement)(j.Fragment,null,Object(j.createElement)("div",{className:"business-competitors"},Object(j.createElement)(L.SelectControl,z()({label:Object(g.__)("Which platform is the store using?","woocommerce-admin"),options:l,required:!0},o("other_platform"))),"other"===m.other_platform&&Object(j.createElement)(L.TextControl,z()({label:Object(g.__)("What is the platform name?","woocommerce-admin"),required:!0},o("other_platform_name"))))),u&&e.renderBusinessExtensions(m,o),!r&&Object(j.createElement)(k.a,{isPrimary:!0,className:"woocommerce-profile-wizard__continue",onClick:s,disabled:!C,isBusy:n},Object(g.__)("Continue","woocommerce-admin")))),u&&e.renderBusinessExtensionHelpText(m))}))}}]),o}(j.Component);Y.contextType=W.a;var K=Object(_.a)(Object(H.a)((function(e){var t=e("wc-api"),n=t.getProfileItems,r=t.getProfileItemsError;return{isError:Boolean(r()),profileItems:n()}})),Object(y.withSelect)((function(e){var t=e(E.SETTINGS_STORE_NAME),n=t.getSettings,r=t.getSettingsError,o=t.isGetSettingsRequesting,c=n("general").general,a=void 0===c?{}:c;return{isSettingsError:Boolean(r("general")),isSettingsRequesting:o("general"),settings:a}})),Object(y.withDispatch)((function(e){var t=e("wc-api").updateProfileItems;return{createNotice:e("core/notices").createNotice,updateProfileItems:t}})))(Y),X=n(760);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}}var Q=Object(U.g)("onboarding",{}),ee=function(e){O()(c,e);var t,n,r,o=(t=c,function(){var e,n=h()(t);if($()){var r=h()(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return d()(this,e)});function c(e){var t;l()(this,c);var n=Object(v.get)(e,"profileItems",{}).industry||[],r=e.locationSettings;if("US"!==Object(q.b)(r.woocommerce_default_country)){var a="cbd-other-hemp-derived-products";n=n.filter((function(e){return a!==e&&a!==e.slug}))}return(t=o.call(this)).state={error:null,selected:n,textInputListContent:{}},t.onContinue=t.onContinue.bind(u()(t)),t.onIndustryChange=t.onIndustryChange.bind(u()(t)),t.onDetailChange=t.onDetailChange.bind(u()(t)),t}return m()(c,[{key:"onContinue",value:(r=a()(regeneratorRuntime.mark((function e(){var t,n,r,o,c,a,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.validateField();case 2:if(!this.state.error){e.next=4;break}return e.abrupt("return");case 4:return t=this.props,n=t.createNotice,r=t.goToNextStep,o=t.isError,c=t.updateProfileItems,a=this.state.selected.map((function(e){return e.slug})),i=this.state.selected.map((function(e){return e.detail})).filter((function(e){return e})).join(","),Object(P.b)("storeprofiler_store_industry_continue",{store_industry:a,industries_with_detail:i}),e.next=10,c({industry:this.state.selected});case 10:o?n("error",Object(g.__)("There was a problem updating your industries.","woocommerce-admin")):r();case 11:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"validateField",value:(n=a()(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=this.state.selected.length?null:Object(g.__)("Please select at least one industry","woocommerce-admin"),this.setState({error:t});case 2:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"onIndustryChange",value:function(e){var t=this;this.setState((function(t){var n=t.selected,r=Object(v.find)(n,{slug:e});if(r){var o=t.textInputListContent;return o[e]=r.detail,{selected:Object(v.filter)(t.selected,(function(t){return t.slug!==e}))||[],textInputListContent:o}}return n.push({slug:e,detail:t.textInputListContent[e]}),{selected:n}}),(function(){return t.validateField()}))}},{key:"onDetailChange",value:function(e,t){this.setState((function(n){var r=n.selected,o=n.textInputListContent;return r[Object(v.findIndex)(r,{slug:t})].detail=e,o[t]=e,{selected:r,textInputListContent:o}}))}},{key:"render",value:function(){var e=this,t=Q.industries,n=this.state,r=n.error,o=n.selected,c=n.textInputListContent,a=this.props.locationSettings,i=Object(q.b)(a.woocommerce_default_country),l=Object.keys(t),s="US"===i?l:l.filter((function(e){return"cbd-other-hemp-derived-products"!==e}));return Object(j.createElement)(j.Fragment,null,Object(j.createElement)(L.H,{className:"woocommerce-profile-wizard__header-title"},Object(g.__)("In which industry does the store operate?","woocommerce-admin")),Object(j.createElement)("p",{className:"woocommerce-profile-wizard__intro-paragraph"},Object(g.__)("Choose any that apply")),Object(j.createElement)(L.Card,null,Object(j.createElement)("div",{className:"woocommerce-profile-wizard__checkbox-group"},s.map((function(n){var r=Object(v.find)(o,{slug:n});return Object(j.createElement)("div",{key:"div-".concat(n)},Object(j.createElement)(X.a,{key:"checkbox-control-".concat(n),label:t[n].label,onChange:function(){return e.onIndustryChange(n)},checked:r||!1,className:"woocommerce-profile-wizard__checkbox"}),t[n].use_description&&r&&Object(j.createElement)(L.TextControl,{key:"text-control-".concat(r.slug),label:t[r.slug].description_label,value:r.detail||c[n]||"",onChange:function(t){return e.onDetailChange(t,r.slug)},className:"woocommerce-profile-wizard__text"}))})),r&&Object(j.createElement)("span",{className:"woocommerce-profile-wizard__error"},r)),Object(j.createElement)(k.a,{isPrimary:!0,onClick:this.onContinue,disabled:!o.length},Object(g.__)("Continue","woocommerce-admin"))))}}]),c}(j.Component),te=Object(_.a)(Object(H.a)((function(e){var t=e("wc-api"),n=t.getProfileItems,r=t.getProfileItemsError,o=(0,e(E.SETTINGS_STORE_NAME).getSettings)("general").general,c=void 0===o?{}:o;return{isError:Boolean(r()),profileItems:n(),locationSettings:c}})),Object(y.withDispatch)((function(e){var t=e("wc-api").updateProfileItems;return{createNotice:e("core/notices").createNotice,updateProfileItems:t}})))(ee),ne=n(35),re=n.n(ne);function oe(){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}}var ce=function(e){O()(c,e);var t,n,r,o=(t=c,function(){var e,n=h()(t);if(oe()){var r=h()(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return d()(this,e)});function c(e){var t;l()(this,c),t=o.call(this);var n=Object(v.get)(e,"profileItems",{});return t.state={error:null,selected:n.product_types||[]},t.onContinue=t.onContinue.bind(u()(t)),t.onChange=t.onChange.bind(u()(t)),t}return m()(c,[{key:"validateField",value:(r=a()(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=this.state.selected.length?null:Object(g.__)("Please select at least one product type","woocommerce-admin"),this.setState({error:t});case 2:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"onContinue",value:(n=a()(regeneratorRuntime.mark((function e(){var t,n,r,o,c;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.validateField();case 2:if(!this.state.error){e.next=4;break}return e.abrupt("return");case 4:return t=this.props,n=t.createNotice,r=t.goToNextStep,o=t.isError,c=t.updateProfileItems,Object(P.b)("storeprofiler_store_product_type_continue",{product_type:this.state.selected}),e.next=8,c({product_types:this.state.selected});case 8:o?n("error",Object(g.__)("There was a problem updating your product types.","woocommerce-admin")):r();case 9:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"onChange",value:function(e){var t=this;this.setState((function(t){if(Object(v.includes)(t.selected,e))return{selected:Object(v.filter)(t.selected,(function(t){return t!==e}))||[]};var n=t.selected;return n.push(e),{selected:n}}),(function(){return t.validateField()}))}},{key:"onLearnMore",value:function(e){Object(P.b)("storeprofiler_store_product_type_learn_more",{product_type:e})}},{key:"render",value:function(){var e=this,t=Object(U.g)("onboarding",{}).productTypes,n=void 0===t?{}:t,r=this.state,o=r.error,c=r.selected;return Object(j.createElement)(j.Fragment,null,Object(j.createElement)(L.H,{className:"woocommerce-profile-wizard__header-title"},Object(g.__)("What type of products will be listed?","woocommerce-admin")),Object(j.createElement)("p",null,Object(g.__)("Choose any that apply")),Object(j.createElement)(L.Card,null,Object(j.createElement)("div",{className:"woocommerce-profile-wizard__checkbox-group"},Object.keys(n).map((function(t){var r=n[t].description&&re()({mixedString:n[t].description+(n[t].more_url?" {{moreLink/}}":""),components:{moreLink:n[t].more_url?Object(j.createElement)(L.Link,{href:n[t].more_url,target:"_blank",type:"external",onClick:function(){return e.onLearnMore(t)}},Object(g.__)("Learn more","woocommerce-admin")):""}});return Object(j.createElement)(X.a,{key:t,label:n[t].label,help:r,onChange:function(){return e.onChange(t)},checked:c.includes(t),className:"woocommerce-profile-wizard__checkbox"})})),o&&Object(j.createElement)("span",{className:"woocommerce-profile-wizard__error"},o)),Object(j.createElement)(k.a,{isPrimary:!0,className:"woocommerce-profile-wizard__continue",onClick:this.onContinue,disabled:!c.length},Object(g.__)("Continue","woocommerce-admin"))))}}]),c}(j.Component),ae=Object(_.a)(Object(H.a)((function(e){var t=e("wc-api"),n=t.getProfileItems,r=t.getProfileItemsError;return{isError:Boolean(r()),profileItems:n()}})),Object(y.withDispatch)((function(e){var t=e("wc-api").updateProfileItems;return{createNotice:e("core/notices").createNotice,updateProfileItems:t}})))(ce);function ie(){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}}var le=function(e){O()(r,e);var t,n=(t=r,function(){var e,n=h()(t);if(ie()){var r=h()(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return d()(this,e)});function r(){return l()(this,r),n.apply(this,arguments)}return m()(r,[{key:"renderStepper",value:function(){var e=this.props,t=e.currentStep,n=e.steps,r=Object(v.filter)(n,(function(e){return!!e.label})),o=r.findIndex((function(e){return e.key===t}));return r.map((function(e,t){var n=r[t-1];return t=r.left&&t<=r.right&&n>=r.top&&n<=r.bottom)}(e.element,r.clientX,r.clientY)})),c=Object(v.find)(o,(function(e){return!Object(v.some)(o,(function(t){return t!==e&&e.element.parentElement.contains(t.element)}))})),a=this.dropZones.indexOf(c),i=null;if(c){var l=c.element.getBoundingClientRect();i={x:r.clientX-l.left1&&void 0!==arguments[1]?arguments[1]:"",n=this.props.updateProfileItems,r=e.is_installed,o=e.price,c=e.slug,a=Object(U.g)("onboarding",{}),i=a.activeTheme,l=void 0===i?"":i;this.setState({chosen:c}),Object(P.b)("storeprofiler_store_theme_choose",{theme:c,location:t}),c!==l&&Object(q.c)(o)<=0?r?this.activateTheme(c):this.installTheme(c):n({theme:c})}},{key:"installTheme",value:function(e){var t=this,n=this.props.createNotice;Ce()({path:"/wc-admin/onboarding/themes/install?theme="+e,method:"POST"}).then((function(r){n("success",Object(g.sprintf)(Object(g.__)("%s was installed on your site.","woocommerce-admin"),r.name)),t.activateTheme(e)})).catch((function(e){t.setState({chosen:null}),n("error",e.message)}))}},{key:"activateTheme",value:function(e){var t=this,n=this.props,r=n.createNotice,c=n.updateProfileItems;Ce()({path:"/wc-admin/onboarding/themes/activate?theme="+e,method:"POST"}).then((function(t){r("success",Object(g.sprintf)(Object(g.__)("%s was activated on your site.","woocommerce-admin"),t.name)),Object(U.h)("onboarding",function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:"all",t=this.state.uploadedThemes,n=Object(U.g)("onboarding",{}),r=n.activeTheme,o=void 0===r?"":r,c=n.themes,a=void 0===c?[]:c,i=[].concat(ve()(a.filter((function(e){return e&&(e.has_woocommerce_support||e.slug===o)}))),ve()(t));switch(e){case"paid":return i.filter((function(e){return Object(q.c)(e.price)>0}));case"free":return i.filter((function(e){return Object(q.c)(e.price)<=0}));case"all":default:return i}}},{key:"handleUploadComplete",value:function(e){"success"===e.status&&e.theme_data&&(this.setState({uploadedThemes:[].concat(ve()(this.state.uploadedThemes),[e.theme_data])}),Object(P.b)("storeprofiler_store_theme_upload",{theme:e.theme_data.slug}))}},{key:"render",value:function(){var e=this,t=this.state,n=t.activeTab,r=t.chosen,o=t.demo,c=this.getThemes(n),a=this.doesActiveThemeSupportWooCommerce();return Object(j.createElement)(j.Fragment,null,Object(j.createElement)(L.H,{className:"woocommerce-profile-wizard__header-title"},Object(g.__)("Choose a theme","woocommerce-admin")),Object(j.createElement)(L.H,{className:"woocommerce-profile-wizard__header-subtitle"},Object(g.__)("Choose how your store appears to customers. And don't worry, you can always switch themes and edit them later.","woocommerce-admin")),Object(j.createElement)(Le.a,{className:"woocommerce-profile-wizard__themes-tab-panel",activeClass:"is-active",onSelect:this.onSelectTab,tabs:[{name:"all",title:Object(g.__)("All themes","woocommerce-admin")},{name:"paid",title:Object(g.__)("Paid themes","woocommerce-admin")},{name:"free",title:Object(g.__)("Free themes","woocommerce-admin")}]},(function(){return Object(j.createElement)("div",{className:"woocommerce-profile-wizard__themes"},c&&c.map((function(t){return e.renderTheme(t)})),Object(j.createElement)(rt,{onUploadComplete:e.handleUploadComplete}))})),o&&Object(j.createElement)(at,{theme:o,onChoose:this.onChoose,onClose:this.onClosePreview,isBusy:r===o.slug}),a&&Object(j.createElement)("p",null,Object(j.createElement)(k.a,{isLink:!0,className:"woocommerce-profile-wizard__skip",onClick:function(){return e.skipStep()}},Object(g.__)("Skip this step","woocommerce-admin"))))}}]),r}(j.Component),mt=Object(_.a)(Object(H.a)((function(e){var t=e("wc-api"),n=t.getProfileItems,r=t.getProfileItemsError,o=t.isGetProfileItemsRequesting;return{isError:Boolean(r()),isGetProfileItemsRequesting:o(),profileItems:n()}})),Object(y.withDispatch)((function(e){var t=e("wc-api").updateProfileItems;return{createNotice:e("core/notices").createNotice,updateProfileItems:t}})))(st);n(890);function Ct(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ut(){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}}var pt=function(e){O()(o,e);var t,n,r=(t=o,function(){var e,n=h()(t);if(ut()){var r=h()(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return d()(this,e)});function o(e){var t;return l()(this,o),(t=r.call(this,e)).state={cartRedirectUrl:null},t.activePlugins=e.activePlugins,t.goToNextStep=t.goToNextStep.bind(u()(t)),t}return m()(o,[{key:"componentDidUpdate",value:function(e){var t=e.query.step,n=this.props.query.step,r=this.props,o=r.isError,c=r.isGetProfileItemsRequesting,a=r.createNotice;!c&&e.isRequesting&&o&&a("error",Object(g.__)("There was a problem finishing the profile wizard.","woocommerce-admin")),t!==n&&(window.document.documentElement.scrollTop=0,Object(P.b)("storeprofiler_step_view",{step:this.getCurrentStep().key}))}},{key:"componentDidMount",value:function(){var e=this.props,t=e.profileItems,n=e.updateProfileItems;document.body.classList.remove("woocommerce-admin-is-loading"),document.documentElement.classList.remove("wp-toolbar"),document.body.classList.add("woocommerce-onboarding"),document.body.classList.add("woocommerce-profile-wizard__body"),document.body.classList.add("woocommerce-admin-full-screen"),Object(P.b)("storeprofiler_step_view",{step:this.getCurrentStep().key}),this.activePlugins.includes("woocommerce-services")&&this.activePlugins.includes("jetpack")&&"already-installed"!==t.plugins&&(Object(P.b)("wcadmin_storeprofiler_already_installed_plugins",{}),n({plugins:"already-installed"}))}},{key:"componentWillUnmount",value:function(){var e=this.state.cartRedirectUrl;e&&(document.body.classList.add("woocommerce-admin-is-loading"),window.location=e),document.documentElement.classList.add("wp-toolbar"),document.body.classList.remove("woocommerce-onboarding"),document.body.classList.remove("woocommerce-profile-wizard__body"),document.body.classList.remove("woocommerce-admin-full-screen")}},{key:"getSteps",value:function(){var e=this.props.profileItems,t=[];return t.push({key:"store-details",container:je,label:Object(g.__)("Store Details","woocommerce-admin"),isComplete:e.hasOwnProperty("setup_client")&&null!==e.setup_client}),t.push({key:"industry",container:te,label:Object(g.__)("Industry","woocommerce-admin"),isComplete:e.hasOwnProperty("industry")&&null!==e.industry}),t.push({key:"product-types",container:ae,label:Object(g.__)("Product Types","woocommerce-admin"),isComplete:e.hasOwnProperty("product_types")&&null!==e.product_types}),t.push({key:"business-details",container:K,label:Object(g.__)("Business Details","woocommerce-admin"),isComplete:e.hasOwnProperty("product_count")&&null!==e.product_count}),t.push({key:"theme",container:mt,label:Object(g.__)("Theme","woocommerce-admin"),isComplete:e.hasOwnProperty("theme")&&null!==e.theme}),this.activePlugins.includes("woocommerce-services")&&this.activePlugins.includes("jetpack")||t.push({key:"benefits",container:R}),t}},{key:"getCurrentStep",value:function(){var e=this.props.query.step,t=this.getSteps().find((function(t){return t.key===e}));return t||this.getSteps()[0]}},{key:"goToNextStep",value:(n=a()(regeneratorRuntime.mark((function e(){var t,n,r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=this.getCurrentStep(),n=this.getSteps().findIndex((function(e){return e.key===t.key})),Object(P.b)("storeprofiler_step_complete",{step:t.key}),void 0!==(r=this.getSteps()[n+1])){e.next=7;break}return this.completeProfiler(),e.abrupt("return");case 7:return e.abrupt("return",Object(w.updateQueryString)({step:r.key}));case 8:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"completeProfiler",value:function(){var e=this.props,t=e.notes,n=e.updateNote;(0,e.updateProfileItems)({completed:!0}),Object(P.b)("storeprofiler_complete");var r=t.find((function(e){return"wc-admin-onboarding-profiler-reminder"===e.name}));r&&n(r.id,{status:"actioned"})}},{key:"render",value:function(){var e=this.props.query,t=this.getCurrentStep(),n=Object(j.createElement)(t.container,{query:e,step:t,goToNextStep:this.goToNextStep}),r=this.getSteps().map((function(e){return Object(v.pick)(e,["key","label","isComplete"])}));return Object(j.createElement)(j.Fragment,null,Object(j.createElement)(le,{currentStep:t.key,steps:r}),Object(j.createElement)("div",{className:"woocommerce-profile-wizard__container"},n))}}]),o}(j.Component),dt=window.wcSettings.preloadSettings&&window.wcSettings.preloadSettings.general;t.default=Object(_.a)(Object(H.a)((function(e){var t=e("wc-api"),n=t.getNotes,r=t.getProfileItems,o=t.getProfileItemsError,c=e(E.PLUGINS_STORE_NAME).getActivePlugins,a=n({page:1,per_page:se.d.pageSize,type:"update",status:"unactioned"}),i=c();return{isError:Boolean(o()),notes:a,profileItems:r(),activePlugins:i}})),Object(y.withDispatch)((function(e){var t=e("wc-api"),n=t.updateNote,r=t.updateProfileItems;return{createNotice:e("core/notices").createNotice,updateNote:n,updateProfileItems:r}})),dt?Object(E.withSettingsHydration)("general",{general:window.wcSettings.preloadSettings.general}):v.identity,window.wcSettings.plugins?Object(E.withPluginsHydration)(function(e){for(var t=1;t 0) {
+ this.setState({
+ currentIndex: currentIndex - 1
+ });
+ }
+ }
+ }, {
+ key: "nextAlert",
+ value: function nextAlert(event) {
+ event.stopPropagation();
+ var alerts = this.props.alerts;
+ var currentIndex = this.state.currentIndex;
+
+ if (currentIndex < alerts.length - 1) {
+ this.setState({
+ currentIndex: currentIndex + 1
+ });
+ }
+ }
+ }, {
+ key: "renderActions",
+ value: function renderActions(alert) {
+ var _this$props = this.props,
+ triggerNoteAction = _this$props.triggerNoteAction,
+ updateNote = _this$props.updateNote;
+ var actions = alert.actions.map(function (action) {
+ return Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ key: action.name,
+ isDefault: true,
+ isPrimary: action.primary,
+ href: action.url || undefined,
+ onClick: function onClick() {
+ return triggerNoteAction(alert.id, action.id);
+ }
+ }, action.label);
+ }); // TODO: should "next X" be the start, or exactly 1X from the current date?
+
+ var snoozeOptions = [{
+ value: external_moment_default()().add(4, 'hours').unix().toString(),
+ label: Object(external_this_wp_i18n_["__"])('Later Today', 'woocommerce-admin')
+ }, {
+ value: external_moment_default()().add(1, 'day').hour(9).minute(0).second(0).millisecond(0).unix().toString(),
+ label: Object(external_this_wp_i18n_["__"])('Tomorrow', 'woocommerce-admin')
+ }, {
+ value: external_moment_default()().add(1, 'week').hour(9).minute(0).second(0).millisecond(0).unix().toString(),
+ label: Object(external_this_wp_i18n_["__"])('Next Week', 'woocommerce-admin')
+ }, {
+ value: external_moment_default()().add(1, 'month').hour(9).minute(0).second(0).millisecond(0).unix().toString(),
+ label: Object(external_this_wp_i18n_["__"])('Next Month', 'woocommerce-admin')
+ }];
+
+ var setReminderDate = function setReminderDate(snoozeOption) {
+ updateNote(alert.id, {
+ status: 'snoozed',
+ date_reminder: snoozeOption.value
+ });
+ var eventProps = {
+ alert_name: alert.name,
+ alert_title: alert.title,
+ snooze_duration: snoozeOption.value,
+ snooze_label: snoozeOption.label
+ };
+ Object(tracks["b" /* recordEvent */])('store_alert_snooze', eventProps);
+ };
+
+ var snooze = alert.is_snoozable && Object(external_this_wp_element_["createElement"])(select_control["a" /* default */], {
+ className: "woocommerce-store-alerts__snooze",
+ options: [{
+ label: Object(external_this_wp_i18n_["__"])('Remind Me Later', 'woocommerce-admin'),
+ value: '0'
+ }].concat(snoozeOptions),
+ onChange: function onChange(value) {
+ if (value === '0') {
+ return;
+ }
+
+ var reminderOption = snoozeOptions.find(function (option) {
+ return option.value === value;
+ });
+ var reminderDate = {
+ value: value,
+ label: reminderOption && reminderOption.label
+ };
+ setReminderDate(reminderDate);
+ }
+ });
+
+ if (actions || snooze) {
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-store-alerts__actions"
+ }, actions, snooze);
+ }
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var alerts = this.props.alerts || [];
+ var preloadAlertCount = Object(settings["g" /* getSetting */])('alertCount', 0, function (count) {
+ return parseInt(count, 10);
+ });
+
+ if (preloadAlertCount > 0 && this.props.isLoading) {
+ return Object(external_this_wp_element_["createElement"])(placeholder, {
+ hasMultipleAlerts: preloadAlertCount > 1
+ });
+ } else if (alerts.length === 0) {
+ return null;
+ }
+
+ var currentIndex = this.state.currentIndex;
+ var numberOfAlerts = alerts.length;
+ var alert = alerts[currentIndex];
+ var type = alert.type;
+ var className = classnames_default()('woocommerce-store-alerts', 'woocommerce-analytics__card', {
+ 'is-alert-error': type === 'error',
+ 'is-alert-update': type === 'update'
+ });
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Card"], {
+ title: [alert.icon && Object(external_this_wp_element_["createElement"])(dashicon["a" /* default */], {
+ key: "icon",
+ icon: alert.icon
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], {
+ key: "title"
+ }, alert.title)],
+ className: className,
+ action: numberOfAlerts > 1 && Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-store-alerts__pagination"
+ }, Object(external_this_wp_element_["createElement"])(icon_button["a" /* default */], {
+ icon: "arrow-left-alt2",
+ onClick: this.previousAlert,
+ disabled: currentIndex === 0,
+ label: Object(external_this_wp_i18n_["__"])('Previous Alert', 'woocommerce-admin')
+ }), Object(external_this_wp_element_["createElement"])("span", {
+ className: "woocommerce-store-alerts__pagination-label",
+ role: "status",
+ "aria-live": "polite"
+ }, lib_default()({
+ mixedString: Object(external_this_wp_i18n_["__"])('{{current /}} of {{total /}}', 'woocommerce-admin'),
+ components: {
+ current: Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, currentIndex + 1),
+ total: Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, numberOfAlerts)
+ }
+ })), Object(external_this_wp_element_["createElement"])(icon_button["a" /* default */], {
+ icon: "arrow-right-alt2",
+ onClick: this.nextAlert,
+ disabled: numberOfAlerts - 1 === currentIndex,
+ label: Object(external_this_wp_i18n_["__"])('Next Alert', 'woocommerce-admin')
+ }))
+ }, Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-store-alerts__message",
+ dangerouslySetInnerHTML: Object(sanitize_html["a" /* default */])(alert.content)
+ }), this.renderActions(alert));
+ }
+ }]);
+
+ return StoreAlerts;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var store_alerts = __webpack_exports__["default"] = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select) {
+ var _select = select('wc-api'),
+ getNotes = _select.getNotes,
+ isGetNotesRequesting = _select.isGetNotesRequesting;
+
+ var alertsQuery = {
+ page: 1,
+ per_page: constants["d" /* QUERY_DEFAULTS */].pageSize,
+ type: 'error,update',
+ status: 'unactioned'
+ }; // Filter out notes that may have been marked actioned or not delayed after the initial request
+
+ var filterNotes = function filterNotes(note) {
+ return note.status === 'unactioned';
+ };
+
+ var alerts = getNotes(alertsQuery).filter(filterNotes);
+ var isLoading = isGetNotesRequesting(alertsQuery);
+ return {
+ alerts: alerts,
+ isLoading: isLoading
+ };
+}), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('wc-api'),
+ triggerNoteAction = _dispatch.triggerNoteAction,
+ updateNote = _dispatch.updateNote;
+
+ return {
+ triggerNoteAction: triggerNoteAction,
+ updateNote: updateNote
+ };
+}))(store_alerts_StoreAlerts));
+
+/***/ })
+
+}]);
\ No newline at end of file
diff --git a/dist/chunks/store-alerts.75c1c866910a9d4a64bc.min.js b/dist/chunks/store-alerts.75c1c866910a9d4a64bc.min.js
new file mode 100644
index 00000000000..2501bacb1c0
--- /dev/null
+++ b/dist/chunks/store-alerts.75c1c866910a9d4a64bc.min.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[41],{119:function(e,t,a){"use strict";var n=a(27),r=a(16),c=a(0);t.a=function(e){var t=e.as,a=void 0===t?"div":t,o=Object(r.a)(e,["as"]);return function(e){var t=e.as,a=void 0===t?"div":t,n=Object(r.a)(e,["as"]);return"function"==typeof n.children?n.children(n):Object(c.createElement)(a,n)}(Object(n.a)({as:a,className:"components-visually-hidden"},o))}},171:function(e,t,a){"use strict";var n=a(0),r=a(10),c=a.n(r),o=a(119);function l(e){var t=e.id,a=e.label,r=e.hideLabelFromVision,i=e.help,s=e.className,u=e.children;return Object(n.createElement)("div",{className:c()("components-base-control",s)},Object(n.createElement)("div",{className:"components-base-control__field"},a&&t&&(r?Object(n.createElement)(o.a,{as:"label",htmlFor:t},a):Object(n.createElement)("label",{className:"components-base-control__label",htmlFor:t},a)),a&&!t&&(r?Object(n.createElement)(o.a,{as:"label"},a):Object(n.createElement)(l.VisualLabel,null,a)),u),!!i&&Object(n.createElement)("p",{id:t+"__help",className:"components-base-control__help"},i))}l.VisualLabel=function(e){var t=e.className,a=e.children;return t=c()("components-base-control__label",t),Object(n.createElement)("span",{className:t},a)},t.a=l},173:function(e,t,a){"use strict";var n=a(11),r=a(0),c=a(53),o=new WeakMap;function l(e){return Object(r.useMemo)((function(){return function(e){var t=o.get(e)||0;return o.set(e,t+1),t}(e)}),[e])}t.a=Object(c.a)((function(e){return function(t){var a=l(e);return Object(r.createElement)(e,Object(n.a)({},t,{instanceId:a}))}}),"withInstanceId")},709:function(e,t,a){"use strict";var n=a(11),r=a(17),c=a(16),o=a(0),l=a(2),i=a(173),s=a(171);t.a=Object(i.a)((function(e){var t=e.help,a=e.instanceId,i=e.label,u=e.multiple,m=void 0!==u&&u,d=e.onChange,b=e.options,p=void 0===b?[]:b,f=e.className,v=e.hideLabelFromVision,h=Object(c.a)(e,["help","instanceId","label","multiple","onChange","options","className","hideLabelFromVision"]),_="inspector-select-control-".concat(a);return!Object(l.isEmpty)(p)&&Object(o.createElement)(s.a,{label:i,hideLabelFromVision:v,id:_,help:t,className:f},Object(o.createElement)("select",Object(n.a)({id:_,className:"components-select-control__input",onChange:function(e){if(m){var t=Object(r.a)(e.target.options).filter((function(e){return e.selected})).map((function(e){return e.value}));d(t)}else d(e.target.value)},"aria-describedby":t?"".concat(_,"__help"):void 0,multiple:m},h),p.map((function(e,t){return Object(o.createElement)("option",{key:"".concat(e.label,"-").concat(e.value,"-").concat(t),value:e.value,disabled:e.disabled},e.label)}))))}))},747:function(e,t,a){"use strict";var n=a(758),r=["a","b","em","i","strong","p"],c=["target","href","rel","name","download"];t.a=function(e){return{__html:Object(n.sanitize)(e,{ALLOWED_TAGS:r,ALLOWED_ATTR:c})}}},778:function(e,t,a){},910:function(e,t,a){"use strict";a.r(t);var n=a(41),r=a.n(n),c=a(40),o=a.n(c),l=a(59),i=a.n(l),s=a(44),u=a.n(s),m=a(29),d=a.n(m),b=a(42),p=a.n(b),f=a(0),v=a(3),h=a(88),_=a(709),O=a(80),j=a(85),g=a(10),E=a.n(g),w=a(35),N=a.n(w),y=a(256),A=a(19),x=a(12),k=a.n(x),L=a(63),I=a(26),R=a(101),S=a(24),C=a(747),F=a(1),M=a.n(F);function z(){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}}var D=function(e){p()(n,e);var t,a=(t=n,function(){var e,a=d()(t);if(z()){var n=d()(this).constructor;e=Reflect.construct(a,arguments,n)}else e=a.apply(this,arguments);return u()(this,e)});function n(){return r()(this,n),a.apply(this,arguments)}return o()(n,[{key:"render",value:function(){var e=this.props.hasMultipleAlerts;return Object(f.createElement)("div",{className:"woocommerce-card woocommerce-store-alerts is-loading","aria-hidden":!0},Object(f.createElement)("div",{className:"woocommerce-card__header"},Object(f.createElement)("div",{className:"woocommerce-card__title woocommerce-card__header-item"},Object(f.createElement)("span",{className:"is-placeholder"})),e&&Object(f.createElement)("div",{className:"woocommerce-card__action woocommerce-card__header-item"},Object(f.createElement)("span",{className:"is-placeholder"}))),Object(f.createElement)("div",{className:"woocommerce-card__body"},Object(f.createElement)("div",{className:"woocommerce-store-alerts__message"},Object(f.createElement)("span",{className:"is-placeholder"}),Object(f.createElement)("span",{className:"is-placeholder"})),Object(f.createElement)("div",{className:"woocommerce-store-alerts__actions"},Object(f.createElement)("span",{className:"is-placeholder"}))))}}]),n}(f.Component),P=D;D.propTypes={hasMultipleAlerts:M.a.bool},D.defaultProps={hasMultipleAlerts:!1};var T=a(79);a(778);function V(){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}}var W=function(e){p()(n,e);var t,a=(t=n,function(){var e,a=d()(t);if(V()){var n=d()(this).constructor;e=Reflect.construct(a,arguments,n)}else e=a.apply(this,arguments);return u()(this,e)});function n(e){var t;r()(this,n);var c=(t=a.call(this,e)).props.alerts;return t.state={currentIndex:c?0:null},t.previousAlert=t.previousAlert.bind(i()(t)),t.nextAlert=t.nextAlert.bind(i()(t)),t}return o()(n,[{key:"previousAlert",value:function(e){e.stopPropagation();var t=this.state.currentIndex;t>0&&this.setState({currentIndex:t-1})}},{key:"nextAlert",value:function(e){e.stopPropagation();var t=this.props.alerts,a=this.state.currentIndex;a0&&this.props.isLoading)return Object(f.createElement)(P,{hasMultipleAlerts:t>1});if(0===e.length)return null;var a=this.state.currentIndex,n=e.length,r=e[a],c=r.type,o=E()("woocommerce-store-alerts","woocommerce-analytics__card",{"is-alert-error":"error"===c,"is-alert-update":"update"===c});return Object(f.createElement)(L.Card,{title:[r.icon&&Object(f.createElement)(O.a,{key:"icon",icon:r.icon}),Object(f.createElement)(f.Fragment,{key:"title"},r.title)],className:o,action:n>1&&Object(f.createElement)("div",{className:"woocommerce-store-alerts__pagination"},Object(f.createElement)(j.a,{icon:"arrow-left-alt2",onClick:this.previousAlert,disabled:0===a,label:Object(v.__)("Previous Alert","woocommerce-admin")}),Object(f.createElement)("span",{className:"woocommerce-store-alerts__pagination-label",role:"status","aria-live":"polite"},N()({mixedString:Object(v.__)("{{current /}} of {{total /}}","woocommerce-admin"),components:{current:Object(f.createElement)(f.Fragment,null,a+1),total:Object(f.createElement)(f.Fragment,null,n)}})),Object(f.createElement)(j.a,{icon:"arrow-right-alt2",onClick:this.nextAlert,disabled:n-1===a,label:Object(v.__)("Next Alert","woocommerce-admin")}))},Object(f.createElement)("div",{className:"woocommerce-store-alerts__message",dangerouslySetInnerHTML:Object(C.a)(r.content)}),this.renderActions(r))}}]),n}(f.Component);t.default=Object(y.a)(Object(R.a)((function(e){var t=e("wc-api"),a=t.getNotes,n=t.isGetNotesRequesting,r={page:1,per_page:S.d.pageSize,type:"error,update",status:"unactioned"};return{alerts:a(r).filter((function(e){return"unactioned"===e.status})),isLoading:n(r)}})),Object(A.withDispatch)((function(e){var t=e("wc-api");return{triggerNoteAction:t.triggerNoteAction,updateNote:t.updateNote}})))(W)}}]);
\ No newline at end of file
diff --git a/dist/chunks/store-performance.f97eae21bc823553bd16.js b/dist/chunks/store-performance.f97eae21bc823553bd16.js
new file mode 100644
index 00000000000..9abff7ef00d
--- /dev/null
+++ b/dist/chunks/store-performance.f97eae21bc823553bd16.js
@@ -0,0 +1,313 @@
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[42],{
+
+/***/ 896:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ }),
+
+/***/ 902:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(41);
+/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(40);
+/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(44);
+/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(29);
+/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(42);
+/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(3);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(256);
+/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(19);
+/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_8__);
+/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(12);
+/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_9__);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_10__);
+/* harmony import */ var lib_date__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(104);
+/* harmony import */ var _woocommerce_navigation__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(22);
+/* harmony import */ var _woocommerce_navigation__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_12__);
+/* harmony import */ var _woocommerce_number__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(204);
+/* harmony import */ var _woocommerce_number__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_number__WEBPACK_IMPORTED_MODULE_13__);
+/* harmony import */ var _woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(26);
+/* harmony import */ var _woocommerce_data__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(51);
+/* harmony import */ var _woocommerce_data__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_data__WEBPACK_IMPORTED_MODULE_15__);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_16__);
+/* harmony import */ var wc_api_with_select__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(101);
+/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(896);
+/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_18__);
+/* harmony import */ var lib_tracks__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(79);
+/* harmony import */ var lib_currency_context__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(203);
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+var _getSetting = Object(_woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_14__[/* getSetting */ "g"])('dataEndpoints', {
+ performanceIndicators: []
+}),
+ indicators = _getSetting.performanceIndicators;
+
+var StorePerformance = /*#__PURE__*/function (_Component) {
+ _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(StorePerformance, _Component);
+
+ var _super = _createSuper(StorePerformance);
+
+ function StorePerformance() {
+ _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, StorePerformance);
+
+ return _super.apply(this, arguments);
+ }
+
+ _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(StorePerformance, [{
+ key: "renderMenu",
+ value: function renderMenu() {
+ var _this$props = this.props,
+ hiddenBlocks = _this$props.hiddenBlocks,
+ isFirst = _this$props.isFirst,
+ isLast = _this$props.isLast,
+ onMove = _this$props.onMove,
+ onRemove = _this$props.onRemove,
+ onTitleBlur = _this$props.onTitleBlur,
+ onTitleChange = _this$props.onTitleChange,
+ onToggleHiddenBlock = _this$props.onToggleHiddenBlock,
+ titleInput = _this$props.titleInput,
+ Controls = _this$props.controls;
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_16__["EllipsisMenu"], {
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('Choose which analytics to display and the section name', 'woocommerce-admin'),
+ renderContent: function renderContent(_ref) {
+ var onToggle = _ref.onToggle;
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["Fragment"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_16__["MenuTitle"], null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('Display Stats:', 'woocommerce-admin')), indicators.map(function (indicator, i) {
+ var checked = !hiddenBlocks.includes(indicator.stat);
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_16__["MenuItem"], {
+ checked: checked,
+ isCheckbox: true,
+ isClickable: true,
+ key: i,
+ onInvoke: function onInvoke() {
+ onToggleHiddenBlock(indicator.stat)();
+ Object(lib_tracks__WEBPACK_IMPORTED_MODULE_19__[/* recordEvent */ "b"])('dash_indicators_toggle', {
+ status: checked ? 'off' : 'on',
+ key: indicator.stat
+ });
+ }
+ }, indicator.label);
+ }), true && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(Controls, {
+ onToggle: onToggle,
+ onMove: onMove,
+ onRemove: onRemove,
+ isFirst: isFirst,
+ isLast: isLast,
+ onTitleBlur: onTitleBlur,
+ onTitleChange: onTitleChange,
+ titleInput: titleInput
+ }));
+ }
+ });
+ }
+ }, {
+ key: "renderList",
+ value: function renderList() {
+ var _this$props2 = this.props,
+ query = _this$props2.query,
+ primaryRequesting = _this$props2.primaryRequesting,
+ secondaryRequesting = _this$props2.secondaryRequesting,
+ primaryError = _this$props2.primaryError,
+ secondaryError = _this$props2.secondaryError,
+ primaryData = _this$props2.primaryData,
+ secondaryData = _this$props2.secondaryData,
+ userIndicators = _this$props2.userIndicators,
+ defaultDateRange = _this$props2.defaultDateRange;
+
+ if (primaryRequesting || secondaryRequesting) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_16__["SummaryListPlaceholder"], {
+ numberOfItems: userIndicators.length
+ });
+ }
+
+ if (primaryError || secondaryError) {
+ return null;
+ }
+
+ var persistedQuery = Object(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_12__["getPersistedQuery"])(query);
+
+ var _getDateParamsFromQue = Object(lib_date__WEBPACK_IMPORTED_MODULE_11__[/* getDateParamsFromQuery */ "h"])(query, defaultDateRange),
+ compare = _getDateParamsFromQue.compare;
+
+ var prevLabel = compare === 'previous_period' ? Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('Previous Period:', 'woocommerce-admin') : Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('Previous Year:', 'woocommerce-admin');
+ var _this$context = this.context,
+ formatCurrency = _this$context.formatCurrency,
+ getCurrency = _this$context.getCurrency;
+ var currency = getCurrency();
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_16__["SummaryList"], null, function () {
+ return userIndicators.map(function (indicator, i) {
+ var primaryItem = Object(lodash__WEBPACK_IMPORTED_MODULE_10__["find"])(primaryData.data, function (data) {
+ return data.stat === indicator.stat;
+ });
+ var secondaryItem = Object(lodash__WEBPACK_IMPORTED_MODULE_10__["find"])(secondaryData.data, function (data) {
+ return data.stat === indicator.stat;
+ });
+
+ if (!primaryItem || !secondaryItem) {
+ return null;
+ }
+
+ var href = primaryItem._links && primaryItem._links.report[0] && primaryItem._links.report[0].href || '';
+ var reportUrl = href && Object(_woocommerce_navigation__WEBPACK_IMPORTED_MODULE_12__["getNewPath"])(persistedQuery, href, {
+ chart: primaryItem.chart
+ }) || '';
+ var isCurrency = primaryItem.format === 'currency';
+ var delta = Object(_woocommerce_number__WEBPACK_IMPORTED_MODULE_13__["calculateDelta"])(primaryItem.value, secondaryItem.value);
+ var primaryValue = isCurrency ? formatCurrency(primaryItem.value) : Object(_woocommerce_number__WEBPACK_IMPORTED_MODULE_13__["formatValue"])(currency, primaryItem.format, primaryItem.value);
+ var secondaryValue = isCurrency ? formatCurrency(secondaryItem.value) : Object(_woocommerce_number__WEBPACK_IMPORTED_MODULE_13__["formatValue"])(currency, secondaryItem.format, secondaryItem.value);
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_16__["SummaryNumber"], {
+ key: i,
+ href: reportUrl,
+ label: indicator.label,
+ value: primaryValue,
+ prevLabel: prevLabel,
+ prevValue: secondaryValue,
+ delta: delta,
+ onLinkClickCallback: function onLinkClickCallback() {
+ Object(lib_tracks__WEBPACK_IMPORTED_MODULE_19__[/* recordEvent */ "b"])('dash_indicators_click', {
+ key: indicator.stat
+ });
+ }
+ });
+ });
+ });
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props3 = this.props,
+ userIndicators = _this$props3.userIndicators,
+ title = _this$props3.title;
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["Fragment"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_16__["SectionHeader"], {
+ title: title || Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('Store Performance', 'woocommerce-admin'),
+ menu: this.renderMenu()
+ }), userIndicators.length > 0 && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])("div", {
+ className: "woocommerce-dashboard__store-performance"
+ }, this.renderList()));
+ }
+ }]);
+
+ return StorePerformance;
+}(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["Component"]);
+
+StorePerformance.contextType = lib_currency_context__WEBPACK_IMPORTED_MODULE_20__[/* CurrencyContext */ "a"];
+/* harmony default export */ __webpack_exports__["default"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_7__[/* default */ "a"])(Object(wc_api_with_select__WEBPACK_IMPORTED_MODULE_17__[/* default */ "a"])(function (select, props) {
+ var hiddenBlocks = props.hiddenBlocks,
+ query = props.query;
+
+ var _select = select('wc-api'),
+ getReportItems = _select.getReportItems,
+ getReportItemsError = _select.getReportItemsError,
+ isReportItemsRequesting = _select.isReportItemsRequesting;
+
+ var _select$getSetting = select(_woocommerce_data__WEBPACK_IMPORTED_MODULE_15__["SETTINGS_STORE_NAME"]).getSetting('wc_admin', 'wcAdminSettings'),
+ defaultDateRange = _select$getSetting.woocommerce_default_date_range;
+
+ var datesFromQuery = Object(lib_date__WEBPACK_IMPORTED_MODULE_11__[/* getCurrentDates */ "f"])(query, defaultDateRange);
+ var endPrimary = datesFromQuery.primary.before;
+ var endSecondary = datesFromQuery.secondary.before;
+ var userIndicators = indicators.filter(function (indicator) {
+ return !hiddenBlocks.includes(indicator.stat);
+ });
+ var statKeys = userIndicators.map(function (indicator) {
+ return indicator.stat;
+ }).join(',');
+
+ if (statKeys.length === 0) {
+ return {
+ hiddenBlocks: hiddenBlocks,
+ userIndicators: userIndicators,
+ indicators: indicators,
+ defaultDateRange: defaultDateRange
+ };
+ }
+
+ var primaryQuery = {
+ after: Object(lib_date__WEBPACK_IMPORTED_MODULE_11__[/* appendTimestamp */ "a"])(datesFromQuery.primary.after, 'start'),
+ before: Object(lib_date__WEBPACK_IMPORTED_MODULE_11__[/* appendTimestamp */ "a"])(endPrimary, endPrimary.isSame(moment__WEBPACK_IMPORTED_MODULE_9___default()(), 'day') ? 'now' : 'end'),
+ stats: statKeys
+ };
+ var secondaryQuery = {
+ after: Object(lib_date__WEBPACK_IMPORTED_MODULE_11__[/* appendTimestamp */ "a"])(datesFromQuery.secondary.after, 'start'),
+ before: Object(lib_date__WEBPACK_IMPORTED_MODULE_11__[/* appendTimestamp */ "a"])(endSecondary, endSecondary.isSame(moment__WEBPACK_IMPORTED_MODULE_9___default()(), 'day') ? 'now' : 'end'),
+ stats: statKeys
+ };
+ var primaryData = getReportItems('performance-indicators', primaryQuery);
+ var primaryError = getReportItemsError('performance-indicators', primaryQuery) || null;
+ var primaryRequesting = isReportItemsRequesting('performance-indicators', primaryQuery);
+ var secondaryData = getReportItems('performance-indicators', secondaryQuery);
+ var secondaryError = getReportItemsError('performance-indicators', secondaryQuery) || null;
+ var secondaryRequesting = isReportItemsRequesting('performance-indicators', secondaryQuery);
+ return {
+ hiddenBlocks: hiddenBlocks,
+ userIndicators: userIndicators,
+ indicators: indicators,
+ primaryData: primaryData,
+ primaryError: primaryError,
+ primaryRequesting: primaryRequesting,
+ secondaryData: secondaryData,
+ secondaryError: secondaryError,
+ secondaryRequesting: secondaryRequesting,
+ defaultDateRange: defaultDateRange
+ };
+}), Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_8__["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('wc-api'),
+ updateCurrentUserData = _dispatch.updateCurrentUserData;
+
+ return {
+ updateCurrentUserData: updateCurrentUserData
+ };
+}))(StorePerformance));
+
+/***/ })
+
+}]);
\ No newline at end of file
diff --git a/dist/chunks/store-performance.f97eae21bc823553bd16.min.js b/dist/chunks/store-performance.f97eae21bc823553bd16.min.js
new file mode 100644
index 00000000000..96e0a254581
--- /dev/null
+++ b/dist/chunks/store-performance.f97eae21bc823553bd16.min.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[42],{896:function(e,t,r){},902:function(e,t,r){"use strict";r.r(t);var n=r(41),a=r.n(n),c=r(40),o=r.n(c),i=r(44),s=r.n(i),u=r(29),l=r.n(u),d=r(42),m=r.n(d),f=r(0),p=r(3),b=r(256),y=r(19),h=r(12),O=r.n(h),j=r(2),v=r(104),g=r(22),_=r(204),k=r(26),w=r(51),E=r(63),R=r(101),I=(r(896),r(79)),D=r(203);function S(){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}}var C=Object(k.g)("dataEndpoints",{performanceIndicators:[]}).performanceIndicators,T=function(e){m()(n,e);var t,r=(t=n,function(){var e,r=l()(t);if(S()){var n=l()(this).constructor;e=Reflect.construct(r,arguments,n)}else e=r.apply(this,arguments);return s()(this,e)});function n(){return a()(this,n),r.apply(this,arguments)}return o()(n,[{key:"renderMenu",value:function(){var e=this.props,t=e.hiddenBlocks,r=e.isFirst,n=e.isLast,a=e.onMove,c=e.onRemove,o=e.onTitleBlur,i=e.onTitleChange,s=e.onToggleHiddenBlock,u=e.titleInput,l=e.controls;return Object(f.createElement)(E.EllipsisMenu,{label:Object(p.__)("Choose which analytics to display and the section name","woocommerce-admin"),renderContent:function(e){var d=e.onToggle;return Object(f.createElement)(f.Fragment,null,Object(f.createElement)(E.MenuTitle,null,Object(p.__)("Display Stats:","woocommerce-admin")),C.map((function(e,r){var n=!t.includes(e.stat);return Object(f.createElement)(E.MenuItem,{checked:n,isCheckbox:!0,isClickable:!0,key:r,onInvoke:function(){s(e.stat)(),Object(I.b)("dash_indicators_toggle",{status:n?"off":"on",key:e.stat})}},e.label)})),Object(f.createElement)(l,{onToggle:d,onMove:a,onRemove:c,isFirst:r,isLast:n,onTitleBlur:o,onTitleChange:i,titleInput:u}))}})}},{key:"renderList",value:function(){var e=this.props,t=e.query,r=e.primaryRequesting,n=e.secondaryRequesting,a=e.primaryError,c=e.secondaryError,o=e.primaryData,i=e.secondaryData,s=e.userIndicators,u=e.defaultDateRange;if(r||n)return Object(f.createElement)(E.SummaryListPlaceholder,{numberOfItems:s.length});if(a||c)return null;var l=Object(g.getPersistedQuery)(t),d="previous_period"===Object(v.h)(t,u).compare?Object(p.__)("Previous Period:","woocommerce-admin"):Object(p.__)("Previous Year:","woocommerce-admin"),m=this.context,b=m.formatCurrency,y=(0,m.getCurrency)();return Object(f.createElement)(E.SummaryList,null,(function(){return s.map((function(e,t){var r=Object(j.find)(o.data,(function(t){return t.stat===e.stat})),n=Object(j.find)(i.data,(function(t){return t.stat===e.stat}));if(!r||!n)return null;var a=r._links&&r._links.report[0]&&r._links.report[0].href||"",c=a&&Object(g.getNewPath)(l,a,{chart:r.chart})||"",s="currency"===r.format,u=Object(_.calculateDelta)(r.value,n.value),m=s?b(r.value):Object(_.formatValue)(y,r.format,r.value),p=s?b(n.value):Object(_.formatValue)(y,n.format,n.value);return Object(f.createElement)(E.SummaryNumber,{key:t,href:c,label:e.label,value:m,prevLabel:d,prevValue:p,delta:u,onLinkClickCallback:function(){Object(I.b)("dash_indicators_click",{key:e.stat})}})}))}))}},{key:"render",value:function(){var e=this.props,t=e.userIndicators,r=e.title;return Object(f.createElement)(f.Fragment,null,Object(f.createElement)(E.SectionHeader,{title:r||Object(p.__)("Store Performance","woocommerce-admin"),menu:this.renderMenu()}),t.length>0&&Object(f.createElement)("div",{className:"woocommerce-dashboard__store-performance"},this.renderList()))}}]),n}(f.Component);T.contextType=D.a,t.default=Object(b.a)(Object(R.a)((function(e,t){var r=t.hiddenBlocks,n=t.query,a=e("wc-api"),c=a.getReportItems,o=a.getReportItemsError,i=a.isReportItemsRequesting,s=e(w.SETTINGS_STORE_NAME).getSetting("wc_admin","wcAdminSettings").woocommerce_default_date_range,u=Object(v.f)(n,s),l=u.primary.before,d=u.secondary.before,m=C.filter((function(e){return!r.includes(e.stat)})),f=m.map((function(e){return e.stat})).join(",");if(0===f.length)return{hiddenBlocks:r,userIndicators:m,indicators:C,defaultDateRange:s};var p={after:Object(v.a)(u.primary.after,"start"),before:Object(v.a)(l,l.isSame(O()(),"day")?"now":"end"),stats:f},b={after:Object(v.a)(u.secondary.after,"start"),before:Object(v.a)(d,d.isSame(O()(),"day")?"now":"end"),stats:f},y=c("performance-indicators",p),h=o("performance-indicators",p)||null,j=i("performance-indicators",p),g=c("performance-indicators",b),_=o("performance-indicators",b)||null,k=i("performance-indicators",b);return{hiddenBlocks:r,userIndicators:m,indicators:C,primaryData:y,primaryError:h,primaryRequesting:j,secondaryData:g,secondaryError:_,secondaryRequesting:k,defaultDateRange:s}})),Object(y.withDispatch)((function(e){return{updateCurrentUserData:e("wc-api").updateCurrentUserData}})))(T)}}]);
\ No newline at end of file
diff --git a/dist/chunks/task-list.396c743bbcd65bd90ccc.js b/dist/chunks/task-list.396c743bbcd65bd90ccc.js
new file mode 100644
index 00000000000..16b3970c3d7
--- /dev/null
+++ b/dist/chunks/task-list.396c743bbcd65bd90ccc.js
@@ -0,0 +1,5972 @@
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[43],{
+
+/***/ 747:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export ALLOWED_TAGS */
+/* unused harmony export ALLOWED_ATTR */
+/* harmony import */ var dompurify__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(758);
+/* harmony import */ var dompurify__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(dompurify__WEBPACK_IMPORTED_MODULE_0__);
+/**
+ * External dependencies
+ */
+
+var ALLOWED_TAGS = ['a', 'b', 'em', 'i', 'strong', 'p'];
+var ALLOWED_ATTR = ['target', 'href', 'rel', 'name', 'download'];
+/* harmony default export */ __webpack_exports__["a"] = (function (html) {
+ return {
+ __html: Object(dompurify__WEBPACK_IMPORTED_MODULE_0__["sanitize"])(html, {
+ ALLOWED_TAGS: ALLOWED_TAGS,
+ ALLOWED_ATTR: ALLOWED_ATTR
+ })
+ };
+});
+
+/***/ }),
+
+/***/ 759:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return pluginNames; });
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__);
+/**
+ * External dependencies
+ */
+
+/**
+ * Plugin slugs and names as key/value pairs.
+ */
+
+var pluginNames = {
+ 'facebook-for-woocommerce': Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Facebook for WooCommerce', 'woocommerce-admin'),
+ jetpack: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Jetpack', 'woocommerce-admin'),
+ 'klarna-checkout-for-woocommerce': Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Klarna Checkout for WooCommerce', 'woocommerce-admin'),
+ 'klarna-payments-for-woocommerce': Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Klarna Payments for WooCommerce', 'woocommerce-admin'),
+ 'mailchimp-for-woocommerce': Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Mailchimp for WooCommerce', 'woocommerce-admin'),
+ 'woocommerce-gateway-paypal-express-checkout': Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('WooCommerce PayPal', 'woocommerce-admin'),
+ 'woocommerce-gateway-stripe': Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('WooCommerce Stripe', 'woocommerce-admin'),
+ 'woocommerce-payfast-gateway': Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('WooCommerce PayFast', 'woocommerce-admin'),
+ 'woocommerce-payments': Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('WooCommerce Payments', 'woocommerce-admin'),
+ 'woocommerce-services': Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('WooCommerce Services', 'woocommerce-admin'),
+ 'woocommerce-shipstation-integration': Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('WooCommerce ShipStation Gateway', 'woocommerce-admin'),
+ 'kliken-marketing-for-google': Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Google Ads', 'woocommerce-admin')
+};
+
+/***/ }),
+
+/***/ 768:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return validateStoreAddress; });
+/* unused harmony export getCountryStateOptions */
+/* unused harmony export useGetCountryStateAutofill */
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return StoreAddress; });
+/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(105);
+/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(749);
+/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(32);
+/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(3);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__);
+/* harmony import */ var _wordpress_html_entities__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(69);
+/* harmony import */ var _wordpress_html_entities__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_5__);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_6__);
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(14);
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_7__);
+/* harmony import */ var _woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(26);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(63);
+/* harmony import */ var _woocommerce_components__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_components__WEBPACK_IMPORTED_MODULE_9__);
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var _getSetting = Object(_woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_8__[/* getSetting */ "g"])('dataEndpoints', {
+ countries: {}
+}),
+ countries = _getSetting.countries;
+/**
+ * Form validation.
+ *
+ * @param {Object} values Keyed values of all fields in the form.
+ * @return {Object} Key value of fields and error messages, { myField: 'This field is required' }
+ */
+
+
+function validateStoreAddress(values) {
+ var errors = {};
+
+ if (!values.addressLine1.length) {
+ errors.addressLine1 = Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__["__"])('Please add an address', 'woocommerce-admin');
+ }
+
+ if (!values.countryState.length) {
+ errors.countryState = Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__["__"])('Please select a country / region', 'woocommerce-admin');
+ }
+
+ if (!values.city.length) {
+ errors.city = Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__["__"])('Please add a city', 'woocommerce-admin');
+ }
+
+ if (!values.postCode.length) {
+ errors.postCode = Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__["__"])('Please add a post code', 'woocommerce-admin');
+ }
+
+ return errors;
+}
+/**
+ * Get all country and state combinations used for select dropdowns.
+ *
+ * @return {Object} Select options, { value: 'US:GA', label: 'United States - Georgia' }
+ */
+
+function getCountryStateOptions() {
+ var countryStateOptions = countries.reduce(function (acc, country) {
+ if (!country.states.length) {
+ acc.push({
+ key: country.code,
+ label: Object(_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_5__["decodeEntities"])(country.name)
+ });
+ return acc;
+ }
+
+ var countryStates = country.states.map(function (state) {
+ return {
+ key: country.code + ':' + state.code,
+ label: Object(_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_5__["decodeEntities"])(country.name) + ' -- ' + Object(_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_5__["decodeEntities"])(state.name)
+ };
+ });
+ acc.push.apply(acc, _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_2___default()(countryStates));
+ return acc;
+ }, []);
+ return countryStateOptions;
+}
+/**
+ * Get the autofill countryState fields and set value from filtered options.
+ *
+ * @param {Array} options Array of filterable options.
+ * @param {string} countryState The value of the countryState field.
+ * @param {Function} setValue Set value of the countryState input.
+ * @return {Object} React component.
+ */
+
+function useGetCountryStateAutofill(options, countryState, setValue) {
+ var _useState = Object(react__WEBPACK_IMPORTED_MODULE_7__["useState"])(''),
+ _useState2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1___default()(_useState, 2),
+ autofillCountry = _useState2[0],
+ setAutofillCountry = _useState2[1];
+
+ var _useState3 = Object(react__WEBPACK_IMPORTED_MODULE_7__["useState"])(''),
+ _useState4 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1___default()(_useState3, 2),
+ autofillState = _useState4[0],
+ setAutofillState = _useState4[1];
+
+ Object(react__WEBPACK_IMPORTED_MODULE_7__["useEffect"])(function () {
+ var filteredOptions = [];
+ var countrySearch = new RegExp(Object(lodash__WEBPACK_IMPORTED_MODULE_6__["escapeRegExp"])(autofillCountry), 'i');
+
+ if (autofillState.length || autofillCountry.length) {
+ filteredOptions = options.filter(function (option) {
+ return countrySearch.test(option.label);
+ });
+ }
+
+ if (autofillCountry.length && autofillState.length) {
+ var stateSearch = new RegExp(Object(lodash__WEBPACK_IMPORTED_MODULE_6__["escapeRegExp"])(autofillState.replace(/\s/g, '')), 'i');
+ filteredOptions = filteredOptions.filter(function (option) {
+ return stateSearch.test(option.label.replace('-', '').replace(/\s/g, ''));
+ });
+
+ if (filteredOptions.length > 1) {
+ var countryKeyOptions = [];
+ countryKeyOptions = filteredOptions.filter(function (option) {
+ return countrySearch.test(option.key);
+ });
+
+ if (countryKeyOptions.length > 0) {
+ filteredOptions = countryKeyOptions;
+ }
+ }
+
+ if (filteredOptions.length > 1) {
+ var stateKeyOptions = [];
+ stateKeyOptions = filteredOptions.filter(function (option) {
+ return stateSearch.test(option.key);
+ });
+
+ if (stateKeyOptions.length === 1) {
+ filteredOptions = stateKeyOptions;
+ }
+ }
+ }
+
+ if (filteredOptions.length === 1 && countryState !== filteredOptions[0].key) {
+ setValue('countryState', filteredOptions[0].key);
+ }
+ }, [autofillCountry, autofillState]);
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["Fragment"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])("input", {
+ onChange: function onChange(event) {
+ return setAutofillCountry(event.target.value);
+ },
+ value: autofillCountry,
+ name: "country",
+ type: "text",
+ className: "woocommerce-select-control__autofill-input",
+ tabIndex: "-1",
+ autoComplete: "country"
+ }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])("input", {
+ onChange: function onChange(event) {
+ return setAutofillState(event.target.value);
+ },
+ value: autofillState,
+ name: "state",
+ type: "text",
+ className: "woocommerce-select-control__autofill-input",
+ tabIndex: "-1",
+ autoComplete: "address-level1"
+ }));
+}
+/**
+ * Store address fields.
+ *
+ * @param {Object} props Props for input components.
+ * @return {Object} -
+ */
+
+function StoreAddress(props) {
+ var getInputProps = props.getInputProps,
+ setValue = props.setValue;
+ var countryStateOptions = Object(react__WEBPACK_IMPORTED_MODULE_7__["useMemo"])(function () {
+ return getCountryStateOptions();
+ }, []);
+ var countryStateAutofill = useGetCountryStateAutofill(countryStateOptions, getInputProps('countryState').value, setValue);
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])("div", {
+ className: "woocommerce-store-address-fields"
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_9__["TextControl"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__["__"])('Address line 1', 'woocommerce-admin'),
+ required: true,
+ autoComplete: "address-line1"
+ }, getInputProps('addressLine1'))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_9__["TextControl"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__["__"])('Address line 2 (optional)', 'woocommerce-admin'),
+ required: true,
+ autoComplete: "address-line2"
+ }, getInputProps('addressLine2'))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_9__["SelectControl"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__["__"])('Country / Region', 'woocommerce-admin'),
+ required: true,
+ options: countryStateOptions,
+ excludeSelectedOptions: false,
+ showAllOnFocus: true,
+ isSearchable: true
+ }, getInputProps('countryState'), {
+ controlClassName: getInputProps('countryState').className
+ }), countryStateAutofill), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_9__["TextControl"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__["__"])('City', 'woocommerce-admin'),
+ required: true
+ }, getInputProps('city'), {
+ autoComplete: "address-level2"
+ })), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])(_woocommerce_components__WEBPACK_IMPORTED_MODULE_9__["TextControl"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({
+ label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__["__"])('Post code', 'woocommerce-admin'),
+ required: true,
+ autoComplete: "postal-code"
+ }, getInputProps('postCode'))));
+}
+
+/***/ }),
+
+/***/ 891:
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+
+/***/ }),
+
+/***/ 903:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+// ESM COMPAT FLAG
+__webpack_require__.r(__webpack_exports__);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js
+var defineProperty = __webpack_require__(15);
+var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js
+var classCallCheck = __webpack_require__(41);
+var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js
+var createClass = __webpack_require__(40);
+var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(44);
+var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(29);
+var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js
+var inherits = __webpack_require__(42);
+var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: external {"this":["wp","i18n"]}
+var external_this_wp_i18n_ = __webpack_require__(3);
+
+// EXTERNAL MODULE: external "lodash"
+var external_lodash_ = __webpack_require__(2);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/compose/build-module/higher-order/compose.js
+var compose = __webpack_require__(256);
+
+// EXTERNAL MODULE: ./node_modules/classnames/index.js
+var classnames = __webpack_require__(10);
+var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/snackbar/index.js
+var snackbar = __webpack_require__(415);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/button/index.js
+var build_module_button = __webpack_require__(88);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/icon/index.js
+var icon = __webpack_require__(109);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/modal/index.js + 3 modules
+var modal = __webpack_require__(721);
+
+// EXTERNAL MODULE: external {"this":["wp","data"]}
+var external_this_wp_data_ = __webpack_require__(19);
+
+// EXTERNAL MODULE: external {"this":["wc","components"]}
+var external_this_wc_components_ = __webpack_require__(63);
+
+// EXTERNAL MODULE: external {"this":["wc","navigation"]}
+var external_this_wc_navigation_ = __webpack_require__(22);
+
+// EXTERNAL MODULE: external {"this":["wc","data"]}
+var external_this_wc_data_ = __webpack_require__(51);
+
+// EXTERNAL MODULE: ./client/dashboard/task-list/style.scss
+var style = __webpack_require__(891);
+
+// EXTERNAL MODULE: external {"this":["wp","url"]}
+var external_this_wp_url_ = __webpack_require__(30);
+
+// EXTERNAL MODULE: external {"this":["wp","htmlEntities"]}
+var external_this_wp_htmlEntities_ = __webpack_require__(69);
+
+// EXTERNAL MODULE: ./client/settings/index.js
+var client_settings = __webpack_require__(26);
+
+// EXTERNAL MODULE: ./client/wc-api/with-select.js
+var with_select = __webpack_require__(101);
+
+// EXTERNAL MODULE: ./client/dashboard/utils.js
+var utils = __webpack_require__(742);
+
+// EXTERNAL MODULE: ./client/lib/sanitize-html/index.js
+var sanitize_html = __webpack_require__(747);
+
+// EXTERNAL MODULE: ./client/lib/tracks.js
+var tracks = __webpack_require__(79);
+
+// CONCATENATED MODULE: ./client/dashboard/components/cart-modal.js
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+var cart_modal_CartModal = /*#__PURE__*/function (_Component) {
+ inherits_default()(CartModal, _Component);
+
+ var _super = _createSuper(CartModal);
+
+ function CartModal(props) {
+ var _this;
+
+ classCallCheck_default()(this, CartModal);
+
+ _this = _super.call(this, props);
+ _this.state = {
+ purchaseNowButtonBusy: false,
+ purchaseLaterButtonBusy: false
+ };
+ return _this;
+ }
+
+ createClass_default()(CartModal, [{
+ key: "onClickPurchaseNow",
+ value: function onClickPurchaseNow() {
+ var _this$props = this.props,
+ productIds = _this$props.productIds,
+ onClickPurchaseNow = _this$props.onClickPurchaseNow;
+ this.setState({
+ purchaseNowButtonBusy: true
+ });
+
+ if (!productIds.length) {
+ return;
+ }
+
+ Object(tracks["b" /* recordEvent */])('tasklist_modal_proceed_checkout', {
+ product_ids: productIds,
+ purchase_install: true
+ });
+
+ var _getSetting = Object(client_settings["g" /* getSetting */])('onboarding', {}),
+ connectNonce = _getSetting.connectNonce;
+
+ var backPath = Object(external_this_wc_navigation_["getNewPath"])({}, '/', {});
+ var url = Object(external_this_wp_url_["addQueryArgs"])('https://woocommerce.com/cart', {
+ 'wccom-site': Object(client_settings["g" /* getSetting */])('siteUrl'),
+ 'wccom-woo-version': Object(client_settings["g" /* getSetting */])('wcVersion'),
+ 'wccom-replace-with': productIds.join(','),
+ 'wccom-connect-nonce': connectNonce,
+ 'wccom-back': backPath
+ });
+
+ if (onClickPurchaseNow) {
+ onClickPurchaseNow(url);
+ return;
+ }
+
+ window.location = url;
+ }
+ }, {
+ key: "onClickPurchaseLater",
+ value: function onClickPurchaseLater() {
+ var productIds = this.props.productIds;
+ Object(tracks["b" /* recordEvent */])('tasklist_modal_proceed_checkout', {
+ product_ids: productIds,
+ purchase_install: false
+ });
+ this.setState({
+ purchaseLaterButtonBusy: true
+ });
+ this.props.onClickPurchaseLater();
+ }
+ }, {
+ key: "onClose",
+ value: function onClose() {
+ var _this$props2 = this.props,
+ onClose = _this$props2.onClose,
+ productIds = _this$props2.productIds;
+ Object(tracks["b" /* recordEvent */])('tasklist_modal_proceed_checkout', {
+ product_ids: productIds,
+ purchase_install: false
+ });
+ onClose();
+ }
+ }, {
+ key: "renderProducts",
+ value: function renderProducts() {
+ var productIds = this.props.productIds;
+
+ var _getSetting2 = Object(client_settings["g" /* getSetting */])('onboarding', {}),
+ _getSetting2$productT = _getSetting2.productTypes,
+ productTypes = _getSetting2$productT === void 0 ? {} : _getSetting2$productT,
+ _getSetting2$themes = _getSetting2.themes,
+ themes = _getSetting2$themes === void 0 ? [] : _getSetting2$themes;
+
+ var listItems = [];
+ productIds.forEach(function (productId) {
+ var productInfo = Object(external_lodash_["find"])(productTypes, function (productType) {
+ return productType.product === productId;
+ });
+
+ if (productInfo) {
+ listItems.push({
+ title: productInfo.label,
+ content: productInfo.description
+ });
+ }
+
+ var themeInfo = Object(external_lodash_["find"])(themes, function (theme) {
+ return theme.id === productId;
+ });
+
+ if (themeInfo) {
+ listItems.push({
+ title: Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('%s — %s per year', 'woocommerce-admin'), themeInfo.title, Object(external_this_wp_htmlEntities_["decodeEntities"])(themeInfo.price)),
+ content: Object(external_this_wp_element_["createElement"])("span", {
+ dangerouslySetInnerHTML: Object(sanitize_html["a" /* default */])(themeInfo.excerpt)
+ })
+ });
+ }
+ });
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["List"], {
+ items: listItems
+ });
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this2 = this;
+
+ var _this$state = this.state,
+ purchaseNowButtonBusy = _this$state.purchaseNowButtonBusy,
+ purchaseLaterButtonBusy = _this$state.purchaseLaterButtonBusy;
+ return Object(external_this_wp_element_["createElement"])(modal["a" /* default */], {
+ title: Object(external_this_wp_i18n_["__"])('Would you like to purchase and install the following features now?', 'woocommerce-admin'),
+ onRequestClose: function onRequestClose() {
+ return _this2.onClose();
+ },
+ className: "woocommerce-cart-modal"
+ }, this.renderProducts(), Object(external_this_wp_element_["createElement"])("p", {
+ className: "woocommerce-cart-modal__help-text"
+ }, Object(external_this_wp_i18n_["__"])("You won't have access to this functionality until the extensions have been purchased and installed.", 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-cart-modal__actions"
+ }, Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isLink: true,
+ isBusy: purchaseLaterButtonBusy,
+ onClick: function onClick() {
+ return _this2.onClickPurchaseLater();
+ }
+ }, Object(external_this_wp_i18n_["__"])("I'll do it later", 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isPrimary: true,
+ isDefault: true,
+ isBusy: purchaseNowButtonBusy,
+ onClick: function onClick() {
+ return _this2.onClickPurchaseNow();
+ }
+ }, Object(external_this_wp_i18n_["__"])('Purchase & install now', 'woocommerce-admin'))));
+ }
+ }]);
+
+ return CartModal;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var cart_modal = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select) {
+ var _select = select('wc-api'),
+ getProfileItems = _select.getProfileItems;
+
+ var profileItems = getProfileItems();
+ var productIds = Object(utils["d" /* getProductIdsForCart */])(profileItems);
+ return {
+ profileItems: profileItems,
+ productIds: productIds
+ };
+}))(cart_modal_CartModal));
+// EXTERNAL MODULE: external {"this":["wp","hooks"]}
+var external_this_wp_hooks_ = __webpack_require__(48);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js
+var asyncToGenerator = __webpack_require__(46);
+var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/assertThisInitialized.js
+var assertThisInitialized = __webpack_require__(59);
+var assertThisInitialized_default = /*#__PURE__*/__webpack_require__.n(assertThisInitialized);
+
+// EXTERNAL MODULE: external {"this":["wp","apiFetch"]}
+var external_this_wp_apiFetch_ = __webpack_require__(20);
+var external_this_wp_apiFetch_default = /*#__PURE__*/__webpack_require__.n(external_this_wp_apiFetch_);
+
+// EXTERNAL MODULE: ./client/wc-api/constants.js
+var constants = __webpack_require__(24);
+
+// CONCATENATED MODULE: ./client/dashboard/task-list/tasks/appearance.js
+
+
+
+
+
+
+
+
+
+
+function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+function appearance_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (appearance_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function appearance_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+var appearance_Appearance = /*#__PURE__*/function (_Component) {
+ inherits_default()(Appearance, _Component);
+
+ var _super = appearance_createSuper(Appearance);
+
+ function Appearance(props) {
+ var _this;
+
+ classCallCheck_default()(this, Appearance);
+
+ _this = _super.call(this, props);
+
+ var _getSetting = Object(client_settings["g" /* getSetting */])('onboarding', {}),
+ hasHomepage = _getSetting.hasHomepage,
+ hasProducts = _getSetting.hasProducts;
+
+ _this.stepVisibility = {
+ homepage: !hasHomepage,
+ import: !hasProducts
+ };
+ _this.state = {
+ isDirty: false,
+ isPending: false,
+ logo: null,
+ stepIndex: 0,
+ storeNoticeText: props.options.woocommerce_demo_store_notice || ''
+ };
+ _this.completeStep = _this.completeStep.bind(assertThisInitialized_default()(_this));
+ _this.createHomepage = _this.createHomepage.bind(assertThisInitialized_default()(_this));
+ _this.importProducts = _this.importProducts.bind(assertThisInitialized_default()(_this));
+ _this.updateLogo = _this.updateLogo.bind(assertThisInitialized_default()(_this));
+ _this.updateNotice = _this.updateNotice.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(Appearance, [{
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ var _getSetting2 = Object(client_settings["g" /* getSetting */])('onboarding', {}),
+ themeMods = _getSetting2.themeMods;
+
+ if (themeMods.custom_logo) {
+ /* eslint-disable react/no-did-mount-set-state */
+ this.setState({
+ logo: {
+ id: themeMods.custom_logo
+ }
+ });
+ /* eslint-enable react/no-did-mount-set-state */
+ }
+ }
+ }, {
+ key: "componentDidUpdate",
+ value: function () {
+ var _componentDidUpdate = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee(prevProps) {
+ var _this2 = this;
+
+ var _this$state, isPending, logo, stepIndex, _this$props, createNotice, errors, hasErrors, isRequesting, options, step, isRequestSuccessful, newErrors;
+
+ return regeneratorRuntime.wrap(function _callee$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ _this$state = this.state, isPending = _this$state.isPending, logo = _this$state.logo, stepIndex = _this$state.stepIndex;
+ _this$props = this.props, createNotice = _this$props.createNotice, errors = _this$props.errors, hasErrors = _this$props.hasErrors, isRequesting = _this$props.isRequesting, options = _this$props.options;
+ step = this.getSteps()[stepIndex].key;
+ isRequestSuccessful = !isRequesting && prevProps.isRequesting && !hasErrors;
+
+ if (logo && !logo.url && !isPending) {
+ /* eslint-disable react/no-did-update-set-state */
+ this.setState({
+ isPending: true
+ });
+ wp.media.attachment(logo.id).fetch().then(function () {
+ var logoUrl = wp.media.attachment(logo.id).get('url');
+
+ _this2.setState({
+ isPending: false,
+ logo: {
+ id: logo.id,
+ url: logoUrl
+ }
+ });
+ });
+ /* eslint-enable react/no-did-update-set-state */
+ }
+
+ if (options.woocommerce_demo_store_notice && prevProps.options.woocommerce_demo_store_notice !== options.woocommerce_demo_store_notice) {
+ /* eslint-disable react/no-did-update-set-state */
+ this.setState({
+ storeNoticeText: options.woocommerce_demo_store_notice
+ });
+ /* eslint-enable react/no-did-update-set-state */
+ }
+
+ if (step === 'logo' && isRequestSuccessful) {
+ createNotice('success', Object(external_this_wp_i18n_["__"])('Store logo updated sucessfully.', 'woocommerce-admin'));
+ this.completeStep();
+ }
+
+ if (step === 'notice' && isRequestSuccessful) {
+ createNotice('success', Object(external_this_wp_i18n_["__"])("🎨 Your store is looking great! Don't forget to continue personalizing it.", 'woocommerce-admin'));
+ this.completeStep();
+ }
+
+ newErrors = Object(external_lodash_["difference"])(errors, prevProps.errors);
+ newErrors.map(function (error) {
+ return createNotice('error', error);
+ });
+
+ case 10:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, _callee, this);
+ }));
+
+ function componentDidUpdate(_x) {
+ return _componentDidUpdate.apply(this, arguments);
+ }
+
+ return componentDidUpdate;
+ }()
+ }, {
+ key: "completeStep",
+ value: function completeStep() {
+ var stepIndex = this.state.stepIndex;
+ var nextStep = this.getSteps()[stepIndex + 1];
+
+ if (nextStep) {
+ this.setState({
+ stepIndex: stepIndex + 1
+ });
+ } else {
+ Object(external_this_wc_navigation_["getHistory"])().push(Object(external_this_wc_navigation_["getNewPath"])({}, '/', {}));
+ }
+ }
+ }, {
+ key: "importProducts",
+ value: function importProducts() {
+ var _this3 = this;
+
+ var createNotice = this.props.createNotice;
+ this.setState({
+ isPending: true
+ });
+ Object(tracks["b" /* recordEvent */])('tasklist_appearance_import_demo', {});
+ external_this_wp_apiFetch_default()({
+ path: "".concat(constants["f" /* WC_ADMIN_NAMESPACE */], "/onboarding/tasks/import_sample_products"),
+ method: 'POST'
+ }).then(function (result) {
+ if (result.failed && result.failed.length) {
+ createNotice('error', Object(external_this_wp_i18n_["__"])('There was an error importing some of the sample products.', 'woocommerce-admin'));
+ } else {
+ createNotice('success', Object(external_this_wp_i18n_["__"])('All sample products have been imported.', 'woocommerce-admin'));
+ Object(client_settings["h" /* setSetting */])('onboarding', _objectSpread({}, Object(client_settings["g" /* getSetting */])('onboarding', {}), {
+ hasProducts: true
+ }));
+ }
+
+ _this3.setState({
+ isPending: false
+ });
+
+ _this3.completeStep();
+ }).catch(function (error) {
+ createNotice('error', error.message);
+
+ _this3.setState({
+ isPending: false
+ });
+ });
+ }
+ }, {
+ key: "createHomepage",
+ value: function createHomepage() {
+ var _this4 = this;
+
+ var createNotice = this.props.createNotice;
+ this.setState({
+ isPending: true
+ });
+ Object(tracks["b" /* recordEvent */])('tasklist_appearance_create_homepage', {
+ create_homepage: true
+ });
+ external_this_wp_apiFetch_default()({
+ path: '/wc-admin/onboarding/tasks/create_homepage',
+ method: 'POST'
+ }).then(function (response) {
+ createNotice(response.status, response.message, {
+ actions: response.edit_post_link ? [{
+ label: Object(external_this_wp_i18n_["__"])('Customize', 'woocommerce-admin'),
+ onClick: function onClick() {
+ Object(tracks["a" /* queueRecordEvent */])('tasklist_appearance_customize_homepage', {});
+ window.location = "".concat(response.edit_post_link, "&wc_onboarding_active_task=homepage");
+ }
+ }] : null
+ });
+
+ _this4.setState({
+ isPending: false
+ });
+
+ _this4.completeStep();
+ }).catch(function (error) {
+ createNotice('error', error.message);
+
+ _this4.setState({
+ isPending: false
+ });
+ });
+ }
+ }, {
+ key: "updateLogo",
+ value: function updateLogo() {
+ var updateOptions = this.props.updateOptions;
+ var logo = this.state.logo;
+
+ var _getSetting3 = Object(client_settings["g" /* getSetting */])('onboarding', {}),
+ stylesheet = _getSetting3.stylesheet,
+ themeMods = _getSetting3.themeMods;
+
+ var updatedThemeMods = _objectSpread({}, themeMods, {
+ custom_logo: logo ? logo.id : null
+ });
+
+ Object(tracks["b" /* recordEvent */])('tasklist_appearance_upload_logo');
+ Object(client_settings["h" /* setSetting */])('onboarding', _objectSpread({}, Object(client_settings["g" /* getSetting */])('onboarding', {}), {
+ themeMods: updatedThemeMods
+ }));
+ updateOptions(defineProperty_default()({}, "theme_mods_".concat(stylesheet), updatedThemeMods));
+ }
+ }, {
+ key: "updateNotice",
+ value: function updateNotice() {
+ var updateOptions = this.props.updateOptions;
+ var storeNoticeText = this.state.storeNoticeText;
+ Object(tracks["b" /* recordEvent */])('tasklist_appearance_set_store_notice', {
+ added_text: Boolean(storeNoticeText.length)
+ });
+ Object(client_settings["h" /* setSetting */])('onboarding', _objectSpread({}, Object(client_settings["g" /* getSetting */])('onboarding', {}), {
+ isAppearanceComplete: true
+ }));
+ updateOptions({
+ woocommerce_task_list_appearance_complete: true,
+ woocommerce_demo_store: storeNoticeText.length ? 'yes' : 'no',
+ woocommerce_demo_store_notice: storeNoticeText
+ });
+ }
+ }, {
+ key: "getSteps",
+ value: function getSteps() {
+ var _this5 = this;
+
+ var _this$state2 = this.state,
+ isDirty = _this$state2.isDirty,
+ isPending = _this$state2.isPending,
+ logo = _this$state2.logo,
+ storeNoticeText = _this$state2.storeNoticeText;
+ var isRequesting = this.props.isRequesting;
+ var steps = [{
+ key: 'import',
+ label: Object(external_this_wp_i18n_["__"])('Import sample products', 'woocommerce-admin'),
+ description: Object(external_this_wp_i18n_["__"])('We’ll add some products that will make it easier to see what your store looks like', 'woocommerce-admin'),
+ content: Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ onClick: this.importProducts,
+ isBusy: isPending,
+ isPrimary: true
+ }, Object(external_this_wp_i18n_["__"])('Import products', 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ onClick: function onClick() {
+ return _this5.completeStep();
+ }
+ }, Object(external_this_wp_i18n_["__"])('Skip', 'woocommerce-admin'))),
+ visible: this.stepVisibility.import
+ }, {
+ key: 'homepage',
+ label: Object(external_this_wp_i18n_["__"])('Create a custom homepage', 'woocommerce-admin'),
+ description: Object(external_this_wp_i18n_["__"])('Create a new homepage and customize it to suit your needs', 'woocommerce-admin'),
+ content: Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isPrimary: true,
+ isBusy: isPending,
+ onClick: this.createHomepage
+ }, Object(external_this_wp_i18n_["__"])('Create homepage', 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ onClick: function onClick() {
+ Object(tracks["b" /* recordEvent */])('tasklist_appearance_create_homepage', {
+ create_homepage: false
+ });
+
+ _this5.completeStep();
+ }
+ }, Object(external_this_wp_i18n_["__"])('Skip', 'woocommerce-admin'))),
+ visible: this.stepVisibility.homepage
+ }, {
+ key: 'logo',
+ label: Object(external_this_wp_i18n_["__"])('Upload a logo', 'woocommerce-admin'),
+ description: Object(external_this_wp_i18n_["__"])('Ensure your store is on-brand by adding your logo', 'woocommerce-admin'),
+ content: isPending ? null : Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["ImageUpload"], {
+ image: logo,
+ onChange: function onChange(image) {
+ return _this5.setState({
+ isDirty: true,
+ logo: image
+ });
+ }
+ }), Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ disabled: !logo && !isDirty,
+ onClick: this.updateLogo,
+ isBusy: isRequesting,
+ isPrimary: true
+ }, Object(external_this_wp_i18n_["__"])('Proceed', 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ onClick: function onClick() {
+ return _this5.completeStep();
+ }
+ }, Object(external_this_wp_i18n_["__"])('Skip', 'woocommerce-admin'))),
+ visible: true
+ }, {
+ key: 'notice',
+ label: Object(external_this_wp_i18n_["__"])('Set a store notice', 'woocommerce-admin'),
+ description: Object(external_this_wp_i18n_["__"])('Optionally display a prominent notice across all pages of your store', 'woocommerce-admin'),
+ content: Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["TextControl"], {
+ label: Object(external_this_wp_i18n_["__"])('Store notice text', 'woocommerce-admin'),
+ placeholder: Object(external_this_wp_i18n_["__"])('Store notice text', 'woocommerce-admin'),
+ value: storeNoticeText,
+ onChange: function onChange(value) {
+ return _this5.setState({
+ storeNoticeText: value
+ });
+ }
+ }), Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ onClick: this.updateNotice,
+ isPrimary: true
+ }, Object(external_this_wp_i18n_["__"])('Complete task', 'woocommerce-admin'))),
+ visible: true
+ }];
+ return Object(external_lodash_["filter"])(steps, function (step) {
+ return step.visible;
+ });
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$state3 = this.state,
+ isPending = _this$state3.isPending,
+ stepIndex = _this$state3.stepIndex;
+ var _this$props2 = this.props,
+ isRequesting = _this$props2.isRequesting,
+ hasErrors = _this$props2.hasErrors;
+ var currentStep = this.getSteps()[stepIndex].key;
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-task-appearance"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Card"], {
+ className: "is-narrow"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Stepper"], {
+ isPending: isRequesting && !hasErrors || isPending,
+ isVertical: true,
+ currentStep: currentStep,
+ steps: this.getSteps()
+ })));
+ }
+ }]);
+
+ return Appearance;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var appearance = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select) {
+ var _select = select('wc-api'),
+ getOptions = _select.getOptions,
+ getOptionsError = _select.getOptionsError,
+ isUpdateOptionsRequesting = _select.isUpdateOptionsRequesting;
+
+ var _getSetting4 = Object(client_settings["g" /* getSetting */])('onboarding', {}),
+ stylesheet = _getSetting4.stylesheet;
+
+ var options = getOptions(['woocommerce_demo_store', 'woocommerce_demo_store_notice']);
+ var errors = [];
+ var uploadLogoError = getOptionsError(["theme_mods_".concat(stylesheet)]);
+ var storeNoticeError = getOptionsError(['woocommerce_demo_store', 'woocommerce_demo_store_notice']);
+
+ if (uploadLogoError) {
+ errors.push(uploadLogoError.message);
+ }
+
+ if (storeNoticeError) {
+ errors.push(storeNoticeError.message);
+ }
+
+ var hasErrors = Boolean(errors.length);
+ var isRequesting = Boolean(isUpdateOptionsRequesting(["theme_mods_".concat(stylesheet)])) || Boolean(isUpdateOptionsRequesting(['woocommerce_task_list_appearance_complete', 'woocommerce_demo_store', 'woocommerce_demo_store_notice']));
+ return {
+ errors: errors,
+ getOptionsError: getOptionsError,
+ hasErrors: hasErrors,
+ isRequesting: isRequesting,
+ options: options
+ };
+}), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('core/notices'),
+ createNotice = _dispatch.createNotice;
+
+ var _dispatch2 = dispatch('wc-api'),
+ updateOptions = _dispatch2.updateOptions;
+
+ return {
+ createNotice: createNotice,
+ updateOptions: updateOptions
+ };
+}))(appearance_Appearance));
+// CONCATENATED MODULE: ./client/dashboard/task-list/tasks/connect.js
+
+
+
+
+
+
+
+
+function connect_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function connect_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { connect_ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { connect_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+function connect_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (connect_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function connect_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var connect_Connect = /*#__PURE__*/function (_Component) {
+ inherits_default()(Connect, _Component);
+
+ var _super = connect_createSuper(Connect);
+
+ function Connect() {
+ classCallCheck_default()(this, Connect);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(Connect, [{
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ document.body.classList.add('woocommerce-admin-is-loading');
+ var query = this.props.query;
+
+ if (query.deny === '1') {
+ this.errorMessage(Object(external_this_wp_i18n_["__"])('You must click approve to install your extensions and connect to WooCommerce.com.', 'woocommerce-admin'));
+ return;
+ }
+
+ if (!query['wccom-connected'] || !query.request_token) {
+ this.request();
+ return;
+ }
+
+ this.finish();
+ }
+ }, {
+ key: "baseQuery",
+ value: function baseQuery() {
+ var query = this.props.query;
+ var baseQuery = Object(external_lodash_["omit"])(connect_objectSpread({}, query, {
+ page: 'wc-admin'
+ }), ['task', 'wccom-connected', 'request_token', 'deny']);
+ return Object(external_this_wc_navigation_["getNewPath"])({}, '/', baseQuery);
+ }
+ }, {
+ key: "errorMessage",
+ value: function errorMessage() {
+ var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Object(external_this_wp_i18n_["__"])('There was an error connecting to WooCommerce.com. Please try again.', 'woocommerce-admin');
+ document.body.classList.remove('woocommerce-admin-is-loading');
+ Object(external_this_wc_navigation_["getHistory"])().push(this.baseQuery());
+ this.props.createNotice('error', message);
+ }
+ }, {
+ key: "request",
+ value: function () {
+ var _request = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
+ var connectResponse;
+ return regeneratorRuntime.wrap(function _callee$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ _context.prev = 0;
+ _context.next = 3;
+ return external_this_wp_apiFetch_default()({
+ path: "".concat(constants["f" /* WC_ADMIN_NAMESPACE */], "/plugins/request-wccom-connect"),
+ method: 'POST'
+ });
+
+ case 3:
+ connectResponse = _context.sent;
+
+ if (!(connectResponse && connectResponse.connectAction)) {
+ _context.next = 7;
+ break;
+ }
+
+ window.location = connectResponse.connectAction;
+ return _context.abrupt("return");
+
+ case 7:
+ throw new Error();
+
+ case 10:
+ _context.prev = 10;
+ _context.t0 = _context["catch"](0);
+ this.errorMessage();
+
+ case 13:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, _callee, this, [[0, 10]]);
+ }));
+
+ function request() {
+ return _request.apply(this, arguments);
+ }
+
+ return request;
+ }()
+ }, {
+ key: "finish",
+ value: function () {
+ var _finish = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
+ var query, connectResponse;
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
+ while (1) {
+ switch (_context2.prev = _context2.next) {
+ case 0:
+ query = this.props.query;
+ _context2.prev = 1;
+ _context2.next = 4;
+ return external_this_wp_apiFetch_default()({
+ path: "".concat(constants["f" /* WC_ADMIN_NAMESPACE */], "/plugins/finish-wccom-connect"),
+ method: 'POST',
+ data: {
+ request_token: query.request_token
+ }
+ });
+
+ case 4:
+ connectResponse = _context2.sent;
+
+ if (!(connectResponse && connectResponse.success)) {
+ _context2.next = 10;
+ break;
+ }
+
+ _context2.next = 8;
+ return this.props.updateProfileItems({
+ wccom_connected: true
+ });
+
+ case 8:
+ if (!this.props.isProfileItemsError) {
+ this.props.createNotice('success', Object(external_this_wp_i18n_["__"])('Store connected to WooCommerce.com and extensions are being installed.', 'woocommerce-admin')); // @todo Show a notice for when extensions are correctly installed.
+
+ document.body.classList.remove('woocommerce-admin-is-loading');
+ Object(external_this_wc_navigation_["getHistory"])().push(this.baseQuery());
+ } else {
+ this.errorMessage();
+ }
+
+ return _context2.abrupt("return");
+
+ case 10:
+ throw new Error();
+
+ case 13:
+ _context2.prev = 13;
+ _context2.t0 = _context2["catch"](1);
+ this.errorMessage();
+
+ case 16:
+ case "end":
+ return _context2.stop();
+ }
+ }
+ }, _callee2, this, [[1, 13]]);
+ }));
+
+ function finish() {
+ return _finish.apply(this, arguments);
+ }
+
+ return finish;
+ }()
+ }, {
+ key: "render",
+ value: function render() {
+ return null;
+ }
+ }]);
+
+ return Connect;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var tasks_connect = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select) {
+ var _select = select('wc-api'),
+ getProfileItemsError = _select.getProfileItemsError;
+
+ var isProfileItemsError = Boolean(getProfileItemsError());
+ return {
+ isProfileItemsError: isProfileItemsError
+ };
+}), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('core/notices'),
+ createNotice = _dispatch.createNotice;
+
+ var _dispatch2 = dispatch('wc-api'),
+ updateProfileItems = _dispatch2.updateProfileItems;
+
+ return {
+ createNotice: createNotice,
+ updateProfileItems: updateProfileItems
+ };
+}))(connect_Connect));
+// CONCATENATED MODULE: ./client/dashboard/task-list/tasks/products.js
+
+
+
+
+
+
+
+function products_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (products_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function products_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+var subTasks = [{
+ title: Object(external_this_wp_i18n_["__"])('Add manually (recommended)', 'woocommerce-admin'),
+ content: Object(external_this_wp_i18n_["__"])('For small stores we recommend adding products manually', 'woocommerce-admin'),
+ before: Object(external_this_wp_element_["createElement"])("i", {
+ className: "material-icons-outlined"
+ }, "add_box"),
+ after: Object(external_this_wp_element_["createElement"])("i", {
+ className: "material-icons-outlined"
+ }, "chevron_right"),
+ onClick: function onClick() {
+ return Object(tracks["b" /* recordEvent */])('tasklist_add_product', {
+ method: 'manually'
+ });
+ },
+ href: Object(client_settings["f" /* getAdminLink */])('post-new.php?post_type=product&wc_onboarding_active_task=products&tutorial=true')
+}, {
+ title: Object(external_this_wp_i18n_["__"])('Import', 'woocommerce-admin'),
+ content: Object(external_this_wp_i18n_["__"])('For larger stores we recommend importing all products at once via CSV file', 'woocommerce-admin'),
+ before: Object(external_this_wp_element_["createElement"])("i", {
+ className: "material-icons-outlined"
+ }, "import_export"),
+ after: Object(external_this_wp_element_["createElement"])("i", {
+ className: "material-icons-outlined"
+ }, "chevron_right"),
+ onClick: function onClick() {
+ return Object(tracks["b" /* recordEvent */])('tasklist_add_product', {
+ method: 'import'
+ });
+ },
+ href: Object(client_settings["f" /* getAdminLink */])('edit.php?post_type=product&page=product_importer&wc_onboarding_active_task=product-import')
+}, {
+ title: Object(external_this_wp_i18n_["__"])('Migrate', 'woocommerce-admin'),
+ content: Object(external_this_wp_i18n_["__"])('For stores currently selling elsewhere we suggest using a product migration service', 'woocommerce-admin'),
+ before: Object(external_this_wp_element_["createElement"])("i", {
+ className: "material-icons-outlined"
+ }, "cloud_download"),
+ after: Object(external_this_wp_element_["createElement"])("i", {
+ className: "material-icons-outlined"
+ }, "chevron_right"),
+ onClick: function onClick() {
+ return Object(tracks["b" /* recordEvent */])('tasklist_add_product', {
+ method: 'migrate'
+ });
+ },
+ // @todo This should be replaced with the in-app purchase iframe when ready.
+ href: 'https://woocommerce.com/products/cart2cart/',
+ target: '_blank'
+}];
+
+var products_Products = /*#__PURE__*/function (_Component) {
+ inherits_default()(Products, _Component);
+
+ var _super = products_createSuper(Products);
+
+ function Products() {
+ classCallCheck_default()(this, Products);
+
+ return _super.apply(this, arguments);
+ }
+
+ createClass_default()(Products, [{
+ key: "render",
+ value: function render() {
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Card"], {
+ className: "woocommerce-task-card"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["List"], {
+ items: subTasks
+ })));
+ }
+ }]);
+
+ return Products;
+}(external_this_wp_element_["Component"]);
+
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/extends.js
+var helpers_extends = __webpack_require__(105);
+var extends_default = /*#__PURE__*/__webpack_require__.n(helpers_extends);
+
+// EXTERNAL MODULE: ./node_modules/interpolate-components/lib/index.js
+var lib = __webpack_require__(35);
+var lib_default = /*#__PURE__*/__webpack_require__.n(lib);
+
+// EXTERNAL MODULE: ./node_modules/prop-types/index.js
+var prop_types = __webpack_require__(1);
+var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
+
+// CONCATENATED MODULE: ./client/dashboard/components/connect/index.js
+
+
+
+
+
+
+
+
+
+function components_connect_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (components_connect_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function components_connect_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+var components_connect_Connect = /*#__PURE__*/function (_Component) {
+ inherits_default()(Connect, _Component);
+
+ var _super = components_connect_createSuper(Connect);
+
+ function Connect(props) {
+ var _this;
+
+ classCallCheck_default()(this, Connect);
+
+ _this = _super.call(this, props);
+ _this.connectJetpack = _this.connectJetpack.bind(assertThisInitialized_default()(_this));
+ props.setIsPending(true);
+ return _this;
+ }
+
+ createClass_default()(Connect, [{
+ key: "componentDidUpdate",
+ value: function componentDidUpdate(prevProps) {
+ var _this$props = this.props,
+ createNotice = _this$props.createNotice,
+ error = _this$props.error,
+ isRequesting = _this$props.isRequesting,
+ setIsPending = _this$props.setIsPending;
+
+ if (prevProps.isRequesting && !isRequesting) {
+ setIsPending(false);
+ }
+
+ if (error && error !== prevProps.error) {
+ createNotice('error', error);
+ }
+ }
+ }, {
+ key: "connectJetpack",
+ value: function () {
+ var _connectJetpack = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
+ var _this$props2, jetpackConnectUrl, onConnect;
+
+ return regeneratorRuntime.wrap(function _callee$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ _this$props2 = this.props, jetpackConnectUrl = _this$props2.jetpackConnectUrl, onConnect = _this$props2.onConnect;
+
+ if (onConnect) {
+ onConnect();
+ }
+
+ window.location = jetpackConnectUrl;
+
+ case 3:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, _callee, this);
+ }));
+
+ function connectJetpack() {
+ return _connectJetpack.apply(this, arguments);
+ }
+
+ return connectJetpack;
+ }()
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props3 = this.props,
+ hasErrors = _this$props3.hasErrors,
+ isRequesting = _this$props3.isRequesting,
+ onSkip = _this$props3.onSkip,
+ skipText = _this$props3.skipText;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, hasErrors ? Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isPrimary: true,
+ onClick: function onClick() {
+ return window.location.reload();
+ }
+ }, Object(external_this_wp_i18n_["__"])('Retry', 'woocommerce-admin')) : Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ disabled: isRequesting,
+ isPrimary: true,
+ onClick: this.connectJetpack
+ }, Object(external_this_wp_i18n_["__"])('Connect', 'woocommerce-admin')), onSkip && Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ onClick: onSkip
+ }, skipText || Object(external_this_wp_i18n_["__"])('No thanks', 'woocommerce-admin')));
+ }
+ }]);
+
+ return Connect;
+}(external_this_wp_element_["Component"]);
+
+components_connect_Connect.propTypes = {
+ /**
+ * Method to create a displayed notice.
+ */
+ createNotice: prop_types_default.a.func.isRequired,
+
+ /**
+ * Human readable error message.
+ */
+ error: prop_types_default.a.string,
+
+ /**
+ * Bool to determine if the "Retry" button should be displayed.
+ */
+ hasErrors: prop_types_default.a.bool,
+
+ /**
+ * Bool to check if the connection URL is still being requested.
+ */
+ isRequesting: prop_types_default.a.bool,
+
+ /**
+ * Generated Jetpack connection URL.
+ */
+ jetpackConnectUrl: prop_types_default.a.string,
+
+ /**
+ * Called when the plugin connection is skipped.
+ */
+ onSkip: prop_types_default.a.func,
+
+ /**
+ * Redirect URL to encode as a URL param for the connection path.
+ */
+ redirectUrl: prop_types_default.a.string,
+
+ /**
+ * Text used for the skip connection button.
+ */
+ skipText: prop_types_default.a.string,
+
+ /**
+ * Control the `isPending` logic of the parent containing the Stepper.
+ */
+ setIsPending: prop_types_default.a.func
+};
+components_connect_Connect.defaultProps = {
+ setIsPending: function setIsPending() {}
+};
+/* harmony default export */ var components_connect = (Object(compose["a" /* default */])(Object(external_this_wp_data_["withSelect"])(function (select, props) {
+ var _select = select(external_this_wc_data_["PLUGINS_STORE_NAME"]),
+ getJetpackConnectUrl = _select.getJetpackConnectUrl,
+ isPluginsRequesting = _select.isPluginsRequesting,
+ getPluginsError = _select.getPluginsError;
+
+ var queryArgs = {
+ redirect_url: props.redirectUrl || window.location.href
+ };
+ var isRequesting = isPluginsRequesting('getJetpackConnectUrl');
+ var error = getPluginsError('getJetpackConnectUrl') || '';
+ var jetpackConnectUrl = getJetpackConnectUrl(queryArgs);
+ return {
+ error: error,
+ isRequesting: isRequesting,
+ jetpackConnectUrl: jetpackConnectUrl
+ };
+}), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('core/notices'),
+ createNotice = _dispatch.createNotice;
+
+ return {
+ createNotice: createNotice
+ };
+}))(components_connect_Connect));
+// EXTERNAL MODULE: ./client/dashboard/components/settings/general/store-address.js
+var store_address = __webpack_require__(768);
+
+// CONCATENATED MODULE: ./client/dashboard/task-list/tasks/steps/location.js
+
+
+
+
+
+
+
+
+
+function location_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (location_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function location_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var location_StoreLocation = /*#__PURE__*/function (_Component) {
+ inherits_default()(StoreLocation, _Component);
+
+ var _super = location_createSuper(StoreLocation);
+
+ function StoreLocation() {
+ var _this;
+
+ classCallCheck_default()(this, StoreLocation);
+
+ _this = _super.apply(this, arguments);
+ _this.onSubmit = _this.onSubmit.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(StoreLocation, [{
+ key: "onSubmit",
+ value: function () {
+ var _onSubmit = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee(values) {
+ var _this$props, onComplete, createNotice, isSettingsError, updateAndPersistSettingsForGroup;
+
+ return regeneratorRuntime.wrap(function _callee$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ _this$props = this.props, onComplete = _this$props.onComplete, createNotice = _this$props.createNotice, isSettingsError = _this$props.isSettingsError, updateAndPersistSettingsForGroup = _this$props.updateAndPersistSettingsForGroup;
+ _context.next = 3;
+ return updateAndPersistSettingsForGroup('general', {
+ general: {
+ woocommerce_store_address: values.addressLine1,
+ woocommerce_store_address_2: values.addressLine2,
+ woocommerce_default_country: values.countryState,
+ woocommerce_store_city: values.city,
+ woocommerce_store_postcode: values.postCode
+ }
+ });
+
+ case 3:
+ if (!isSettingsError) {
+ onComplete(values);
+ } else {
+ createNotice('error', Object(external_this_wp_i18n_["__"])('There was a problem saving your store location.', 'woocommerce-admin'));
+ }
+
+ case 4:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, _callee, this);
+ }));
+
+ function onSubmit(_x) {
+ return _onSubmit.apply(this, arguments);
+ }
+
+ return onSubmit;
+ }()
+ }, {
+ key: "getInitialValues",
+ value: function getInitialValues() {
+ var settings = this.props.settings;
+ var storeAddress = settings.woocommerce_store_address,
+ storeAddress2 = settings.woocommerce_store_address_2,
+ storeCity = settings.woocommerce_store_city,
+ defaultCountry = settings.woocommerce_default_country,
+ storePostcode = settings.woocommerce_store_postcode;
+ return {
+ addressLine1: storeAddress || '',
+ addressLine2: storeAddress2 || '',
+ city: storeCity || '',
+ countryState: defaultCountry || '',
+ postCode: storePostcode || ''
+ };
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var isSettingsRequesting = this.props.isSettingsRequesting;
+
+ if (isSettingsRequesting) {
+ return null;
+ }
+
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Form"], {
+ initialValues: this.getInitialValues(),
+ onSubmitCallback: this.onSubmit,
+ validate: store_address["b" /* validateStoreAddress */]
+ }, function (_ref) {
+ var getInputProps = _ref.getInputProps,
+ handleSubmit = _ref.handleSubmit,
+ setValue = _ref.setValue;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(store_address["a" /* StoreAddress */], {
+ getInputProps: getInputProps,
+ setValue: setValue
+ }), Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isPrimary: true,
+ onClick: handleSubmit
+ }, Object(external_this_wp_i18n_["__"])('Continue', 'woocommerce-admin')));
+ });
+ }
+ }]);
+
+ return StoreLocation;
+}(external_this_wp_element_["Component"]);
+
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/form-toggle/index.js
+var form_toggle = __webpack_require__(718);
+
+// EXTERNAL MODULE: ./client/lib/currency-context.js
+var currency_context = __webpack_require__(203);
+
+// CONCATENATED MODULE: ./client/dashboard/task-list/tasks/shipping/rates.js
+
+
+
+
+
+
+
+
+
+
+
+function rates_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function rates_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { rates_ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { rates_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+function rates_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (rates_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function rates_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+var rates_ShippingRates = /*#__PURE__*/function (_Component) {
+ inherits_default()(ShippingRates, _Component);
+
+ var _super = rates_createSuper(ShippingRates);
+
+ function ShippingRates() {
+ var _this;
+
+ classCallCheck_default()(this, ShippingRates);
+
+ _this = _super.apply(this, arguments);
+ _this.updateShippingZones = _this.updateShippingZones.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(ShippingRates, [{
+ key: "getShippingMethods",
+ value: function getShippingMethods(zone) {
+ var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
+
+ // Sometimes the wc/v3/shipping/zones response does not include a methods attribute, return early if so.
+ if (!zone || !zone.methods || !Array.isArray(zone.methods)) {
+ return [];
+ }
+
+ if (!type) {
+ return zone.methods;
+ }
+
+ return zone.methods ? zone.methods.filter(function (method) {
+ return method.method_id === type;
+ }) : [];
+ }
+ }, {
+ key: "disableShippingMethods",
+ value: function disableShippingMethods(zone, methods) {
+ if (!methods.length) {
+ return;
+ }
+
+ methods.forEach(function (method) {
+ external_this_wp_apiFetch_default()({
+ method: 'POST',
+ path: "/wc/v3/shipping/zones/".concat(zone.id, "/methods/").concat(method.instance_id),
+ data: {
+ enabled: false
+ }
+ });
+ });
+ }
+ }, {
+ key: "updateShippingZones",
+ value: function () {
+ var _updateShippingZones = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee(values) {
+ var _this2 = this;
+
+ var _this$props, createNotice, shippingZones, restOfTheWorld, shippingCost;
+
+ return regeneratorRuntime.wrap(function _callee$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ _this$props = this.props, createNotice = _this$props.createNotice, shippingZones = _this$props.shippingZones;
+ restOfTheWorld = false;
+ shippingCost = false;
+ shippingZones.forEach(function (zone) {
+ if (zone.id === 0) {
+ restOfTheWorld = zone.toggleable && values["".concat(zone.id, "_enabled")];
+ } else {
+ shippingCost = values["".concat(zone.id, "_rate")] !== '' && parseFloat(values["".concat(zone.id, "_rate")]) !== parseFloat(0);
+ }
+
+ var shippingMethods = _this2.getShippingMethods(zone);
+
+ var methodType = parseFloat(values["".concat(zone.id, "_rate")]) === parseFloat(0) ? 'free_shipping' : 'flat_rate';
+ var shippingMethod = _this2.getShippingMethods(zone, methodType).length ? _this2.getShippingMethods(zone, methodType)[0] : null;
+
+ if (zone.toggleable && !values["".concat(zone.id, "_enabled")]) {
+ // Disable any shipping methods that exist if toggled off.
+ _this2.disableShippingMethods(zone, shippingMethods);
+
+ return;
+ } else if (shippingMethod) {
+ // Disable all methods except the one being updated.
+ var methodsToDisable = shippingMethods.filter(function (method) {
+ return method.instance_id !== shippingMethod.instance_id;
+ });
+
+ _this2.disableShippingMethods(zone, methodsToDisable);
+ }
+
+ external_this_wp_apiFetch_default()({
+ method: 'POST',
+ path: shippingMethod ? // Update the first existing method if one exists, otherwise create a new one.
+ "/wc/v3/shipping/zones/".concat(zone.id, "/methods/").concat(shippingMethod.instance_id) : "/wc/v3/shipping/zones/".concat(zone.id, "/methods"),
+ data: {
+ method_id: methodType,
+ enabled: true,
+ settings: {
+ cost: values["".concat(zone.id, "_rate")]
+ }
+ }
+ });
+ });
+ Object(tracks["b" /* recordEvent */])('tasklist_shipping_set_costs', {
+ shipping_cost: shippingCost,
+ rest_world: restOfTheWorld
+ }); // @todo This is a workaround to force the task to mark as complete.
+ // This should probably be updated to use wc-api so we can fetch shipping methods.
+
+ Object(client_settings["h" /* setSetting */])('onboarding', rates_objectSpread({}, Object(client_settings["g" /* getSetting */])('onboarding', {}), {
+ shippingZonesCount: 1
+ }));
+ createNotice('success', Object(external_this_wp_i18n_["__"])('Your shipping rates have been updated.', 'woocommerce-admin'));
+ this.props.onComplete();
+
+ case 8:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, _callee, this);
+ }));
+
+ function updateShippingZones(_x) {
+ return _updateShippingZones.apply(this, arguments);
+ }
+
+ return updateShippingZones;
+ }()
+ }, {
+ key: "renderInputPrefix",
+ value: function renderInputPrefix() {
+ var _this$context$getCurr = this.context.getCurrency(),
+ symbolPosition = _this$context$getCurr.symbolPosition,
+ symbol = _this$context$getCurr.symbol;
+
+ if (symbolPosition.indexOf('right') === 0) {
+ return null;
+ }
+
+ return Object(external_this_wp_element_["createElement"])("span", {
+ className: "woocommerce-shipping-rate__control-prefix"
+ }, symbol);
+ }
+ }, {
+ key: "renderInputSuffix",
+ value: function renderInputSuffix(rate) {
+ var _this$context$getCurr2 = this.context.getCurrency(),
+ symbolPosition = _this$context$getCurr2.symbolPosition,
+ symbol = _this$context$getCurr2.symbol;
+
+ if (symbolPosition.indexOf('right') === 0) {
+ return Object(external_this_wp_element_["createElement"])("span", {
+ className: "woocommerce-shipping-rate__control-suffix"
+ }, symbol);
+ }
+
+ return parseFloat(rate) === parseFloat(0) ? Object(external_this_wp_element_["createElement"])("span", {
+ className: "woocommerce-shipping-rate__control-suffix"
+ }, Object(external_this_wp_i18n_["__"])('Free shipping', 'woocommerce-admin')) : null;
+ }
+ }, {
+ key: "getFormattedRate",
+ value: function getFormattedRate(value) {
+ var formatDecimalString = this.context.formatDecimalString;
+ var currencyString = formatDecimalString(value);
+
+ if (!value.length || !currencyString.length) {
+ return formatDecimalString(0);
+ }
+
+ return formatDecimalString(value);
+ }
+ }, {
+ key: "getInitialValues",
+ value: function getInitialValues() {
+ var _this3 = this;
+
+ var formatDecimalString = this.context.formatDecimalString;
+ var values = {};
+ this.props.shippingZones.forEach(function (zone) {
+ var shippingMethods = _this3.getShippingMethods(zone);
+
+ var rate = shippingMethods.length && shippingMethods[0].settings.cost ? _this3.getFormattedRate(shippingMethods[0].settings.cost.value) : formatDecimalString(0);
+ values["".concat(zone.id, "_rate")] = rate;
+
+ if (shippingMethods.length && shippingMethods[0].enabled) {
+ values["".concat(zone.id, "_enabled")] = true;
+ } else {
+ values["".concat(zone.id, "_enabled")] = false;
+ }
+ });
+ return values;
+ }
+ }, {
+ key: "validate",
+ value: function validate(values) {
+ var errors = {};
+ var rates = Object.keys(values).filter(function (field) {
+ return field.endsWith('_rate');
+ });
+ rates.forEach(function (rate) {
+ if (values[rate] < 0) {
+ errors[rate] = Object(external_this_wp_i18n_["__"])('Shipping rates can not be negative numbers.', 'woocommerce-admin');
+ }
+ });
+ return errors;
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this4 = this;
+
+ var _this$props2 = this.props,
+ buttonText = _this$props2.buttonText,
+ shippingZones = _this$props2.shippingZones;
+
+ if (!shippingZones.length) {
+ return null;
+ }
+
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Form"], {
+ initialValues: this.getInitialValues(),
+ onSubmitCallback: this.updateShippingZones,
+ validate: this.validate
+ }, function (_ref) {
+ var getInputProps = _ref.getInputProps,
+ handleSubmit = _ref.handleSubmit,
+ setTouched = _ref.setTouched,
+ setValue = _ref.setValue,
+ values = _ref.values;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-shipping-rates"
+ }, shippingZones.map(function (zone) {
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-shipping-rate",
+ key: zone.id
+ }, Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-shipping-rate__icon"
+ }, zone.locations ? zone.locations.map(function (location) {
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Flag"], {
+ size: 24,
+ code: location.code,
+ key: location.code
+ });
+ }) : // Icon used for zones without locations or "Rest of the world".
+ Object(external_this_wp_element_["createElement"])("i", {
+ className: "material-icons-outlined"
+ }, "public")), Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-shipping-rate__main"
+ }, Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-shipping-rate__name"
+ }, zone.name, zone.toggleable && Object(external_this_wp_element_["createElement"])(form_toggle["a" /* default */], getInputProps("".concat(zone.id, "_enabled")))), (!zone.toggleable || values["".concat(zone.id, "_enabled")]) && Object(external_this_wp_element_["createElement"])(external_this_wc_components_["TextControlWithAffixes"], extends_default()({
+ label: Object(external_this_wp_i18n_["__"])('Shipping cost', 'woocommerce-admin'),
+ required: true
+ }, getInputProps("".concat(zone.id, "_rate")), {
+ onBlur: function onBlur() {
+ setTouched("".concat(zone.id, "_rate"));
+ setValue("".concat(zone.id, "_rate"), _this4.getFormattedRate(values["".concat(zone.id, "_rate")]));
+ },
+ prefix: _this4.renderInputPrefix(),
+ suffix: _this4.renderInputSuffix(values["".concat(zone.id, "_rate")]),
+ className: "muriel-input-text woocommerce-shipping-rate__control-wrapper"
+ }))));
+ })), Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isPrimary: true,
+ onClick: handleSubmit
+ }, buttonText || Object(external_this_wp_i18n_["__"])('Update', 'woocommerce-admin')));
+ });
+ }
+ }]);
+
+ return ShippingRates;
+}(external_this_wp_element_["Component"]);
+
+rates_ShippingRates.propTypes = {
+ /**
+ * Text displayed on the primary button.
+ */
+ buttonText: prop_types_default.a.string,
+
+ /**
+ * Function used to mark the step complete.
+ */
+ onComplete: prop_types_default.a.func.isRequired,
+
+ /**
+ * Function to create a transient notice in the store.
+ */
+ createNotice: prop_types_default.a.func.isRequired,
+
+ /**
+ * Array of shipping zones returned from the WC REST API with added
+ * `methods` and `locations` properties appended from separate API calls.
+ */
+ shippingZones: prop_types_default.a.array
+};
+rates_ShippingRates.defaultProps = {
+ shippingZones: []
+};
+rates_ShippingRates.contextType = currency_context["a" /* CurrencyContext */];
+/* harmony default export */ var shipping_rates = (rates_ShippingRates);
+// CONCATENATED MODULE: ./client/dashboard/task-list/tasks/shipping/index.js
+
+
+
+
+
+
+
+
+
+
+function shipping_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (shipping_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function shipping_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+var shipping_Shipping = /*#__PURE__*/function (_Component) {
+ inherits_default()(Shipping, _Component);
+
+ var _super = shipping_createSuper(Shipping);
+
+ function Shipping(props) {
+ var _this;
+
+ classCallCheck_default()(this, Shipping);
+
+ _this = _super.call(this, props);
+ _this.initialState = {
+ isPending: false,
+ step: 'store_location',
+ shippingZones: []
+ }; // Cache active plugins to prevent removal mid-step.
+
+ _this.activePlugins = props.activePlugins;
+ _this.state = _this.initialState;
+ _this.completeStep = _this.completeStep.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(Shipping, [{
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ this.reset();
+ }
+ }, {
+ key: "reset",
+ value: function reset() {
+ this.setState(this.initialState);
+ }
+ }, {
+ key: "fetchShippingZones",
+ value: function () {
+ var _fetchShippingZones = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
+ var _this$props, countryCode, countryName, shippingZones, zones, hasCountryZone, zone;
+
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
+ while (1) {
+ switch (_context2.prev = _context2.next) {
+ case 0:
+ this.setState({
+ isPending: true
+ });
+ _this$props = this.props, countryCode = _this$props.countryCode, countryName = _this$props.countryName; // @todo The following fetches for shipping information should be moved into
+ // the wc-api to make these methods and states more readily available.
+
+ shippingZones = [];
+ _context2.next = 5;
+ return external_this_wp_apiFetch_default()({
+ path: '/wc/v3/shipping/zones'
+ });
+
+ case 5:
+ zones = _context2.sent;
+ hasCountryZone = false;
+ _context2.next = 9;
+ return Promise.all(zones.map( /*#__PURE__*/function () {
+ var _ref = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee(zone) {
+ var countryLocation;
+ return regeneratorRuntime.wrap(function _callee$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ if (!(zone.id === 0)) {
+ _context.next = 8;
+ break;
+ }
+
+ _context.next = 3;
+ return external_this_wp_apiFetch_default()({
+ path: "/wc/v3/shipping/zones/".concat(zone.id, "/methods")
+ });
+
+ case 3:
+ zone.methods = _context.sent;
+ zone.name = Object(external_this_wp_i18n_["__"])('Rest of the world', 'woocommerce-admin');
+ zone.toggleable = true;
+ shippingZones.push(zone);
+ return _context.abrupt("return");
+
+ case 8:
+ _context.next = 10;
+ return external_this_wp_apiFetch_default()({
+ path: "/wc/v3/shipping/zones/".concat(zone.id, "/locations")
+ });
+
+ case 10:
+ zone.locations = _context.sent;
+ countryLocation = zone.locations.find(function (location) {
+ return countryCode === location.code;
+ });
+
+ if (!countryLocation) {
+ _context.next = 18;
+ break;
+ }
+
+ _context.next = 15;
+ return external_this_wp_apiFetch_default()({
+ path: "/wc/v3/shipping/zones/".concat(zone.id, "/methods")
+ });
+
+ case 15:
+ zone.methods = _context.sent;
+ shippingZones.push(zone);
+ hasCountryZone = true;
+
+ case 18:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, _callee);
+ }));
+
+ return function (_x) {
+ return _ref.apply(this, arguments);
+ };
+ }()));
+
+ case 9:
+ if (hasCountryZone) {
+ _context2.next = 17;
+ break;
+ }
+
+ _context2.next = 12;
+ return external_this_wp_apiFetch_default()({
+ method: 'POST',
+ path: '/wc/v3/shipping/zones',
+ data: {
+ name: countryName
+ }
+ });
+
+ case 12:
+ zone = _context2.sent;
+ _context2.next = 15;
+ return external_this_wp_apiFetch_default()({
+ method: 'POST',
+ path: "/wc/v3/shipping/zones/".concat(zone.id, "/locations"),
+ data: [{
+ code: countryCode,
+ type: 'country'
+ }]
+ });
+
+ case 15:
+ zone.locations = _context2.sent;
+ shippingZones.push(zone);
+
+ case 17:
+ shippingZones.reverse();
+ this.setState({
+ isPending: false,
+ shippingZones: shippingZones
+ });
+
+ case 19:
+ case "end":
+ return _context2.stop();
+ }
+ }
+ }, _callee2, this);
+ }));
+
+ function fetchShippingZones() {
+ return _fetchShippingZones.apply(this, arguments);
+ }
+
+ return fetchShippingZones;
+ }()
+ }, {
+ key: "componentDidUpdate",
+ value: function componentDidUpdate(prevProps, prevState) {
+ var countryCode = this.props.countryCode;
+ var step = this.state.step;
+
+ if (step === 'rates' && (prevProps.countryCode !== countryCode || prevState.step !== 'rates')) {
+ this.fetchShippingZones();
+ }
+ }
+ }, {
+ key: "completeStep",
+ value: function completeStep() {
+ var createNotice = this.props.createNotice;
+ var step = this.state.step;
+ var steps = this.getSteps();
+ var currentStepIndex = steps.findIndex(function (s) {
+ return s.key === step;
+ });
+ var nextStep = steps[currentStepIndex + 1];
+
+ if (nextStep) {
+ this.setState({
+ step: nextStep.key
+ });
+ } else {
+ createNotice('success', Object(external_this_wp_i18n_["__"])("📦 Shipping is done! Don't worry, you can always change it later.", 'woocommerce-admin'));
+ Object(external_this_wc_navigation_["getHistory"])().push(Object(external_this_wc_navigation_["getNewPath"])({}, '/', {}));
+ }
+ }
+ }, {
+ key: "getPluginsToActivate",
+ value: function getPluginsToActivate() {
+ var _this$props2 = this.props,
+ countryCode = _this$props2.countryCode,
+ isJetpackConnected = _this$props2.isJetpackConnected;
+ var plugins = [];
+
+ if (['GB', 'CA', 'AU'].includes(countryCode)) {
+ plugins.push('woocommerce-shipstation-integration');
+ } else if (countryCode === 'US') {
+ plugins.push('woocommerce-services');
+
+ if (!isJetpackConnected) {
+ plugins.push('jetpack');
+ }
+ }
+
+ return Object(external_lodash_["difference"])(plugins, this.activePlugins);
+ }
+ }, {
+ key: "getSteps",
+ value: function getSteps() {
+ var _this2 = this;
+
+ var pluginsToActivate = this.getPluginsToActivate();
+ var steps = [{
+ key: 'store_location',
+ label: Object(external_this_wp_i18n_["__"])('Set store location', 'woocommerce-admin'),
+ description: Object(external_this_wp_i18n_["__"])('The address from which your business operates', 'woocommerce-admin'),
+ content: Object(external_this_wp_element_["createElement"])(location_StoreLocation, extends_default()({}, this.props, {
+ onComplete: function onComplete(values) {
+ var country = Object(utils["a" /* getCountryCode */])(values.countryState);
+ Object(tracks["b" /* recordEvent */])('tasklist_shipping_set_location', {
+ country: country
+ });
+
+ _this2.completeStep();
+ }
+ })),
+ visible: true
+ }, {
+ key: 'rates',
+ label: Object(external_this_wp_i18n_["__"])('Set shipping costs', 'woocommerce-admin'),
+ description: Object(external_this_wp_i18n_["__"])('Define how much customers pay to ship to different destinations', 'woocommerce-admin'),
+ content: Object(external_this_wp_element_["createElement"])(shipping_rates, extends_default()({
+ buttonText: pluginsToActivate.length ? Object(external_this_wp_i18n_["__"])('Proceed', 'woocommerce-admin') : Object(external_this_wp_i18n_["__"])('Complete task', 'woocommerce-admin'),
+ shippingZones: this.state.shippingZones,
+ onComplete: this.completeStep
+ }, this.props)),
+ visible: true
+ }, {
+ key: 'label_printing',
+ label: Object(external_this_wp_i18n_["__"])('Enable shipping label printing', 'woocommerce-admin'),
+ description: pluginsToActivate.includes('woocommerce-shipstation-integration') ? lib_default()({
+ mixedString: Object(external_this_wp_i18n_["__"])('We recommend using ShipStation to save time at the post office by printing your shipping ' + 'labels at home. Try ShipStation free for 30 days. {{link}}Learn more{{/link}}.', 'woocommerce-admin'),
+ components: {
+ link: Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: "https://woocommerce.com/products/shipstation-integration",
+ target: "_blank",
+ type: "external"
+ })
+ }
+ }) : Object(external_this_wp_i18n_["__"])('With WooCommerce Services and Jetpack you can save time at the ' + 'Post Office by printing your shipping labels at home', 'woocommerce-admin'),
+ content: Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Plugins"], extends_default()({
+ onComplete: function onComplete() {
+ Object(tracks["b" /* recordEvent */])('tasklist_shipping_label_printing', {
+ install: true,
+ pluginsToActivate: pluginsToActivate
+ });
+
+ _this2.completeStep();
+ },
+ onSkip: function onSkip() {
+ Object(tracks["b" /* recordEvent */])('tasklist_shipping_label_printing', {
+ install: false,
+ pluginsToActivate: pluginsToActivate
+ });
+ Object(external_this_wc_navigation_["getHistory"])().push(Object(external_this_wc_navigation_["getNewPath"])({}, '/', {}));
+ },
+ pluginSlugs: pluginsToActivate
+ }, this.props)),
+ visible: pluginsToActivate.length
+ }, {
+ key: 'connect',
+ label: Object(external_this_wp_i18n_["__"])('Connect your store', 'woocommerce-admin'),
+ description: Object(external_this_wp_i18n_["__"])('Connect your store to WordPress.com to enable label printing', 'woocommerce-admin'),
+ content: Object(external_this_wp_element_["createElement"])(components_connect, extends_default()({
+ redirectUrl: Object(client_settings["f" /* getAdminLink */])('admin.php?page=wc-admin'),
+ completeStep: this.completeStep
+ }, this.props, {
+ onConnect: function onConnect() {
+ Object(tracks["b" /* recordEvent */])('tasklist_shipping_connect_store');
+ }
+ })),
+ visible: pluginsToActivate.includes('jetpack')
+ }];
+ return Object(external_lodash_["filter"])(steps, function (step) {
+ return step.visible;
+ });
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$state = this.state,
+ isPending = _this$state.isPending,
+ step = _this$state.step;
+ var isSettingsRequesting = this.props.isSettingsRequesting;
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-task-shipping"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Card"], {
+ className: "is-narrow"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Stepper"], {
+ isPending: isPending || isSettingsRequesting,
+ isVertical: true,
+ currentStep: step,
+ steps: this.getSteps()
+ })));
+ }
+ }]);
+
+ return Shipping;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var shipping = (Object(compose["a" /* default */])(Object(external_this_wp_data_["withSelect"])(function (select) {
+ var _select = select(external_this_wc_data_["SETTINGS_STORE_NAME"]),
+ getSettings = _select.getSettings,
+ getSettingsError = _select.getSettingsError,
+ isGetSettingsRequesting = _select.isGetSettingsRequesting;
+
+ var _select2 = select(external_this_wc_data_["PLUGINS_STORE_NAME"]),
+ getActivePlugins = _select2.getActivePlugins,
+ isJetpackConnected = _select2.isJetpackConnected;
+
+ var _getSettings = getSettings('general'),
+ _getSettings$general = _getSettings.general,
+ settings = _getSettings$general === void 0 ? {} : _getSettings$general;
+
+ var isSettingsError = Boolean(getSettingsError('general'));
+ var isSettingsRequesting = isGetSettingsRequesting('general');
+ var countryCode = Object(utils["a" /* getCountryCode */])(settings.woocommerce_default_country);
+
+ var _getSetting = Object(client_settings["g" /* getSetting */])('dataEndpoints', {}),
+ _getSetting$countries = _getSetting.countries,
+ countries = _getSetting$countries === void 0 ? [] : _getSetting$countries;
+
+ var country = countryCode ? countries.find(function (c) {
+ return c.code === countryCode;
+ }) : null;
+ var countryName = country ? country.name : null;
+ var activePlugins = getActivePlugins();
+ return {
+ countryCode: countryCode,
+ countryName: countryName,
+ isSettingsError: isSettingsError,
+ isSettingsRequesting: isSettingsRequesting,
+ settings: settings,
+ activePlugins: activePlugins,
+ isJetpackConnected: isJetpackConnected()
+ };
+}), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('core/notices'),
+ createNotice = _dispatch.createNotice;
+
+ var _dispatch2 = dispatch(external_this_wc_data_["SETTINGS_STORE_NAME"]),
+ updateAndPersistSettingsForGroup = _dispatch2.updateAndPersistSettingsForGroup;
+
+ return {
+ createNotice: createNotice,
+ updateAndPersistSettingsForGroup: updateAndPersistSettingsForGroup
+ };
+}))(shipping_Shipping));
+// CONCATENATED MODULE: ./client/dashboard/task-list/tasks/tax.js
+
+
+
+
+
+
+
+
+
+
+
+function tax_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function tax_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { tax_ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { tax_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+function tax_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (tax_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function tax_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+var tax_Tax = /*#__PURE__*/function (_Component) {
+ inherits_default()(Tax, _Component);
+
+ var _super = tax_createSuper(Tax);
+
+ function Tax(props) {
+ var _this;
+
+ classCallCheck_default()(this, Tax);
+
+ _this = _super.call(this, props);
+ _this.initialState = {
+ isPending: false,
+ stepIndex: 0,
+ automatedTaxEnabled: true,
+ // Cache the value of pluginsToActivate so that we can show/hide tasks based on it, but not have them update mid task.
+ pluginsToActivate: props.pluginsToActivate
+ };
+ _this.state = _this.initialState;
+ _this.completeStep = _this.completeStep.bind(assertThisInitialized_default()(_this));
+ _this.configureTaxRates = _this.configureTaxRates.bind(assertThisInitialized_default()(_this));
+ _this.updateAutomatedTax = _this.updateAutomatedTax.bind(assertThisInitialized_default()(_this));
+ _this.setIsPending = _this.setIsPending.bind(assertThisInitialized_default()(_this));
+ _this.shouldShowSuccessScreen = _this.shouldShowSuccessScreen.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(Tax, [{
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ this.reset();
+ }
+ }, {
+ key: "reset",
+ value: function reset() {
+ this.setState(this.initialState);
+ }
+ }, {
+ key: "shouldShowSuccessScreen",
+ value: function shouldShowSuccessScreen() {
+ var stepIndex = this.state.stepIndex;
+ var _this$props = this.props,
+ isJetpackConnected = _this$props.isJetpackConnected,
+ pluginsToActivate = _this$props.pluginsToActivate,
+ generalSettings = _this$props.generalSettings;
+ var storeAddress = generalSettings.woocommerce_store_address,
+ defaultCountry = generalSettings.woocommerce_default_country,
+ storePostCode = generalSettings.woocommerce_store_postcode;
+ var isCompleteAddress = Boolean(storeAddress && defaultCountry && storePostCode);
+ return stepIndex !== null && isCompleteAddress && !pluginsToActivate.length && isJetpackConnected && this.isTaxJarSupported();
+ }
+ }, {
+ key: "componentDidUpdate",
+ value: function componentDidUpdate(prevProps) {
+ var _this$props2 = this.props,
+ generalSettings = _this$props2.generalSettings,
+ isJetpackConnected = _this$props2.isJetpackConnected,
+ taxSettings = _this$props2.taxSettings,
+ isGeneralSettingsRequesting = _this$props2.isGeneralSettingsRequesting;
+ var calcTaxes = generalSettings.woocommerce_calc_taxes;
+ var stepIndex = this.state.stepIndex;
+ var currentStep = this.getSteps()[stepIndex];
+ var currentStepKey = currentStep && currentStep.key; // If general settings have stopped requesting, check if we should show success screen.
+
+ if (prevProps.isGeneralSettingsRequesting && !isGeneralSettingsRequesting) {
+ if (this.shouldShowSuccessScreen()) {
+ /* eslint-disable react/no-did-update-set-state */
+ this.setState({
+ stepIndex: null
+ });
+ /* eslint-enable react/no-did-update-set-state */
+
+ return;
+ }
+ }
+
+ if (taxSettings.wc_connect_taxes_enabled && taxSettings.wc_connect_taxes_enabled !== prevProps.taxSettings.wc_connect_taxes_enabled) {
+ /* eslint-disable react/no-did-update-set-state */
+ this.setState({
+ automatedTaxEnabled: taxSettings.wc_connect_taxes_enabled === 'yes' ? true : false
+ });
+ /* eslint-enable react/no-did-update-set-state */
+ }
+
+ if (currentStepKey === 'connect' && isJetpackConnected) {
+ this.completeStep();
+ }
+
+ var prevCalcTaxes = prevProps.generalSettings.woocommerce_calc_taxes;
+
+ if (prevCalcTaxes === 'no' && calcTaxes === 'yes') {
+ window.location = Object(client_settings["f" /* getAdminLink */])('admin.php?page=wc-settings&tab=tax§ion=standard');
+ }
+ }
+ }, {
+ key: "isTaxJarSupported",
+ value: function isTaxJarSupported() {
+ var _this$props3 = this.props,
+ countryCode = _this$props3.countryCode,
+ tosAccepted = _this$props3.tosAccepted;
+
+ var _getSetting = Object(client_settings["g" /* getSetting */])('onboarding', {}),
+ _getSetting$automated = _getSetting.automatedTaxSupportedCountries,
+ automatedTaxSupportedCountries = _getSetting$automated === void 0 ? [] : _getSetting$automated,
+ taxJarActivated = _getSetting.taxJarActivated;
+
+ return !taxJarActivated && // WCS integration doesn't work with the official TaxJar plugin.
+ tosAccepted && automatedTaxSupportedCountries.includes(countryCode);
+ }
+ }, {
+ key: "completeStep",
+ value: function completeStep() {
+ var stepIndex = this.state.stepIndex;
+ var steps = this.getSteps();
+ var nextStep = steps[stepIndex + 1];
+
+ if (nextStep) {
+ this.setState({
+ stepIndex: stepIndex + 1
+ });
+ } else {
+ Object(external_this_wc_navigation_["getHistory"])().push(Object(external_this_wc_navigation_["getNewPath"])({}, '/', {}));
+ }
+ }
+ }, {
+ key: "configureTaxRates",
+ value: function () {
+ var _configureTaxRates = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
+ var _this$props4, generalSettings, updateAndPersistSettingsForGroup;
+
+ return regeneratorRuntime.wrap(function _callee$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ _this$props4 = this.props, generalSettings = _this$props4.generalSettings, updateAndPersistSettingsForGroup = _this$props4.updateAndPersistSettingsForGroup;
+
+ if (!(generalSettings.woocommerce_calc_taxes !== 'yes')) {
+ _context.next = 5;
+ break;
+ }
+
+ this.setState({
+ isPending: true
+ });
+ _context.next = 5;
+ return updateAndPersistSettingsForGroup('general', {
+ general: {
+ woocommerce_calc_taxes: 'yes'
+ }
+ });
+
+ case 5:
+ window.location = Object(client_settings["f" /* getAdminLink */])('admin.php?page=wc-settings&tab=tax§ion=standard&wc_onboarding_active_task=tax');
+
+ case 6:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, _callee, this);
+ }));
+
+ function configureTaxRates() {
+ return _configureTaxRates.apply(this, arguments);
+ }
+
+ return configureTaxRates;
+ }()
+ }, {
+ key: "updateAutomatedTax",
+ value: function () {
+ var _updateAutomatedTax = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
+ var _this$props5, createNotice, updateAndPersistSettingsForGroup, automatedTaxEnabled;
+
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
+ while (1) {
+ switch (_context2.prev = _context2.next) {
+ case 0:
+ _this$props5 = this.props, createNotice = _this$props5.createNotice, updateAndPersistSettingsForGroup = _this$props5.updateAndPersistSettingsForGroup;
+ automatedTaxEnabled = this.state.automatedTaxEnabled;
+ _context2.next = 4;
+ return updateAndPersistSettingsForGroup('tax', {
+ tax: {
+ wc_connect_taxes_enabled: automatedTaxEnabled ? 'yes' : 'no'
+ }
+ });
+
+ case 4:
+ _context2.next = 6;
+ return updateAndPersistSettingsForGroup('general', {
+ general: {
+ woocommerce_calc_taxes: 'yes'
+ }
+ });
+
+ case 6:
+ if (!this.props.isTaxSettingsError && !this.props.isGeneralSettingsError) {
+ // @todo This is a workaround to force the task to mark as complete.
+ // This should probably be updated to use wc-api so we can fetch tax rates.
+ Object(client_settings["h" /* setSetting */])('onboarding', tax_objectSpread({}, Object(client_settings["g" /* getSetting */])('onboarding', {}), {
+ isTaxComplete: true
+ }));
+ createNotice('success', Object(external_this_wp_i18n_["__"])("You're awesome! One less item on your to-do list ✅", 'woocommerce-admin'));
+
+ if (automatedTaxEnabled) {
+ Object(external_this_wc_navigation_["getHistory"])().push(Object(external_this_wc_navigation_["getNewPath"])({}, '/', {}));
+ } else {
+ this.configureTaxRates();
+ }
+ } else {
+ createNotice('error', Object(external_this_wp_i18n_["__"])('There was a problem updating your tax settings.', 'woocommerce-admin'));
+ }
+
+ case 7:
+ case "end":
+ return _context2.stop();
+ }
+ }
+ }, _callee2, this);
+ }));
+
+ function updateAutomatedTax() {
+ return _updateAutomatedTax.apply(this, arguments);
+ }
+
+ return updateAutomatedTax;
+ }()
+ }, {
+ key: "setIsPending",
+ value: function setIsPending(value) {
+ this.setState({
+ isPending: value
+ });
+ }
+ }, {
+ key: "getSteps",
+ value: function getSteps() {
+ var _this2 = this;
+
+ var _this$props6 = this.props,
+ generalSettings = _this$props6.generalSettings,
+ isGeneralSettingsRequesting = _this$props6.isGeneralSettingsRequesting,
+ isJetpackConnected = _this$props6.isJetpackConnected;
+ var _this$state = this.state,
+ isPending = _this$state.isPending,
+ pluginsToActivate = _this$state.pluginsToActivate;
+ var steps = [{
+ key: 'store_location',
+ label: Object(external_this_wp_i18n_["__"])('Set store location', 'woocommerce-admin'),
+ description: Object(external_this_wp_i18n_["__"])('The address from which your business operates', 'woocommerce-admin'),
+ content: Object(external_this_wp_element_["createElement"])(location_StoreLocation, extends_default()({}, this.props, {
+ onComplete: function onComplete(values) {
+ var country = Object(utils["a" /* getCountryCode */])(values.countryState);
+ Object(tracks["b" /* recordEvent */])('tasklist_tax_set_location', {
+ country: country
+ });
+
+ if (_this2.shouldShowSuccessScreen()) {
+ _this2.setState({
+ stepIndex: null
+ }); // Only complete step if another update hasn't already shown succes screen.
+
+ } else if (_this2.state.stepIndex !== null) {
+ _this2.completeStep();
+ }
+ },
+ isSettingsRequesting: isGeneralSettingsRequesting,
+ settings: generalSettings
+ })),
+ visible: true
+ }, {
+ key: 'plugins',
+ label: Object(external_this_wp_i18n_["__"])('Install Jetpack and WooCommerce Services', 'woocommerce-admin'),
+ description: Object(external_this_wp_i18n_["__"])('Jetpack and WooCommerce Services allow you to automate sales tax calculations', 'woocommerce-admin'),
+ content: Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Plugins"], {
+ onComplete: function onComplete() {
+ Object(tracks["b" /* recordEvent */])('tasklist_tax_install_extensions', {
+ install_extensions: true
+ });
+
+ _this2.completeStep();
+ },
+ onSkip: function onSkip() {
+ Object(tracks["a" /* queueRecordEvent */])('tasklist_tax_install_extensions', {
+ install_extensions: false
+ });
+ window.location.href = Object(client_settings["f" /* getAdminLink */])('admin.php?page=wc-settings&tab=tax§ion=standard');
+ },
+ skipText: Object(external_this_wp_i18n_["__"])('Set up tax rates manually', 'woocommerce-admin')
+ }),
+ visible: pluginsToActivate.length && this.isTaxJarSupported()
+ }, {
+ key: 'connect',
+ label: Object(external_this_wp_i18n_["__"])('Connect your store', 'woocommerce-admin'),
+ description: Object(external_this_wp_i18n_["__"])('Connect your store to WordPress.com to enable automated sales tax calculations', 'woocommerce-admin'),
+ content: Object(external_this_wp_element_["createElement"])(components_connect, extends_default()({}, this.props, {
+ setIsPending: this.setIsPending,
+ onConnect: function onConnect() {
+ Object(tracks["b" /* recordEvent */])('tasklist_tax_connect_store', {
+ connect: true
+ });
+ },
+ onSkip: function onSkip() {
+ Object(tracks["a" /* queueRecordEvent */])('tasklist_tax_connect_store', {
+ connect: false
+ });
+ window.location.href = Object(client_settings["f" /* getAdminLink */])('admin.php?page=wc-settings&tab=tax§ion=standard');
+ },
+ skipText: Object(external_this_wp_i18n_["__"])('Set up tax rates manually', 'woocommerce-admin')
+ })),
+ visible: !isJetpackConnected && this.isTaxJarSupported()
+ }, {
+ key: 'manual_configuration',
+ label: Object(external_this_wp_i18n_["__"])('Configure tax rates', 'woocommerce-admin'),
+ description: Object(external_this_wp_i18n_["__"])('Head over to the tax rate settings screen to configure your tax rates', 'woocommerce-admin'),
+ content: Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isPrimary: true,
+ isBusy: isPending,
+ onClick: function onClick() {
+ Object(tracks["b" /* recordEvent */])('tasklist_tax_config_rates');
+
+ _this2.configureTaxRates();
+ }
+ }, Object(external_this_wp_i18n_["__"])('Configure', 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])("p", null, generalSettings.woocommerce_calc_taxes !== 'yes' && lib_default()({
+ mixedString: Object(external_this_wp_i18n_["__"])(
+ /*eslint-disable max-len*/
+ 'By clicking "Configure" you\'re enabling tax rates and calculations. More info {{link}}here{{/link}}.',
+ /*eslint-enable max-len*/
+ 'woocommerce-admin'),
+ components: {
+ link: Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: "https://docs.woocommerce.com/document/setting-up-taxes-in-woocommerce/#section-1",
+ target: "_blank",
+ type: "external"
+ })
+ }
+ }))),
+ visible: !this.isTaxJarSupported()
+ }];
+ return Object(external_lodash_["filter"])(steps, function (step) {
+ return step.visible;
+ });
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this3 = this;
+
+ var _this$state2 = this.state,
+ isPending = _this$state2.isPending,
+ stepIndex = _this$state2.stepIndex;
+ var _this$props7 = this.props,
+ isGeneralSettingsRequesting = _this$props7.isGeneralSettingsRequesting,
+ isTaxSettingsRequesting = _this$props7.isTaxSettingsRequesting,
+ taxSettings = _this$props7.taxSettings;
+ var step = this.getSteps()[stepIndex];
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-task-tax"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Card"], {
+ className: "is-narrow"
+ }, step ? Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Stepper"], {
+ isPending: isPending || isGeneralSettingsRequesting || isTaxSettingsRequesting,
+ isVertical: true,
+ currentStep: step.key,
+ steps: this.getSteps()
+ }) : Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-task-tax__success"
+ }, Object(external_this_wp_element_["createElement"])("span", {
+ className: "woocommerce-task-tax__success-icon",
+ role: "img",
+ "aria-labelledby": "woocommerce-task-tax__success-message"
+ }, "\uD83C\uDF8A"), Object(external_this_wp_element_["createElement"])(external_this_wc_components_["H"], {
+ id: "woocommerce-task-tax__success-message"
+ }, Object(external_this_wp_i18n_["__"])('Good news!', 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])("p", null, lib_default()({
+ mixedString: Object(external_this_wp_i18n_["__"])('{{strong}}Jetpack{{/strong}} and {{strong}}WooCommerce Services{{/strong}} ' + 'can automate your sales tax calculations for you.', 'woocommerce-admin'),
+ components: {
+ strong: Object(external_this_wp_element_["createElement"])("strong", null)
+ }
+ })), Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isPrimary: true,
+ isBusy: Object.keys(taxSettings).length && isTaxSettingsRequesting,
+ onClick: function onClick() {
+ Object(tracks["b" /* recordEvent */])('tasklist_tax_setup_automated_proceed', {
+ setup_automatically: true
+ });
+
+ _this3.setState({
+ automatedTaxEnabled: true
+ }, _this3.updateAutomatedTax);
+ }
+ }, Object(external_this_wp_i18n_["__"])('Yes please', 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ onClick: function onClick() {
+ Object(tracks["b" /* recordEvent */])('tasklist_tax_setup_automated_proceed', {
+ setup_automatically: false
+ });
+
+ _this3.setState({
+ automatedTaxEnabled: false
+ }, _this3.updateAutomatedTax);
+ }
+ }, Object(external_this_wp_i18n_["__"])("No thanks, I'll configure taxes manually", 'woocommerce-admin')))));
+ }
+ }]);
+
+ return Tax;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var tax = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select) {
+ var _select = select('wc-api'),
+ getOptions = _select.getOptions;
+
+ var _select2 = select(external_this_wc_data_["PLUGINS_STORE_NAME"]),
+ getActivePlugins = _select2.getActivePlugins,
+ isJetpackConnected = _select2.isJetpackConnected;
+
+ var activePlugins = getActivePlugins();
+ var pluginsToActivate = Object(external_lodash_["difference"])(['jetpack', 'woocommerce-services'], activePlugins);
+ var options = getOptions(['wc_connect_options', 'woocommerce_setup_jetpack_opted_in']);
+ var connectOptions = Object(external_lodash_["get"])(options, 'wc_connect_options', {});
+ var tosAccepted = connectOptions.tos_accepted || options.woocommerce_setup_jetpack_opted_in;
+ return {
+ isJetpackConnected: isJetpackConnected(),
+ pluginsToActivate: pluginsToActivate,
+ tosAccepted: tosAccepted
+ };
+}), Object(external_this_wp_data_["withSelect"])(function (select) {
+ var _select3 = select(external_this_wc_data_["SETTINGS_STORE_NAME"]),
+ getSettings = _select3.getSettings,
+ getSettingsError = _select3.getSettingsError,
+ isGetSettingsRequesting = _select3.isGetSettingsRequesting;
+
+ var _getSettings = getSettings('general'),
+ _getSettings$general = _getSettings.general,
+ generalSettings = _getSettings$general === void 0 ? {} : _getSettings$general;
+
+ var isGeneralSettingsError = Boolean(getSettingsError('general'));
+ var isGeneralSettingsRequesting = isGetSettingsRequesting('general');
+ var countryCode = Object(utils["a" /* getCountryCode */])(generalSettings.woocommerce_default_country);
+
+ var _getSettings2 = getSettings('tax'),
+ _getSettings2$tax = _getSettings2.tax,
+ taxSettings = _getSettings2$tax === void 0 ? {} : _getSettings2$tax;
+
+ var isTaxSettingsError = Boolean(getSettingsError('tax'));
+ var isTaxSettingsRequesting = isGetSettingsRequesting('tax');
+ return {
+ isGeneralSettingsError: isGeneralSettingsError,
+ isGeneralSettingsRequesting: isGeneralSettingsRequesting,
+ generalSettings: generalSettings,
+ countryCode: countryCode,
+ taxSettings: taxSettings,
+ isTaxSettingsError: isTaxSettingsError,
+ isTaxSettingsRequesting: isTaxSettingsRequesting
+ };
+}), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('core/notices'),
+ createNotice = _dispatch.createNotice;
+
+ var _dispatch2 = dispatch(external_this_wc_data_["SETTINGS_STORE_NAME"]),
+ updateAndPersistSettingsForGroup = _dispatch2.updateAndPersistSettingsForGroup;
+
+ return {
+ createNotice: createNotice,
+ updateAndPersistSettingsForGroup: updateAndPersistSettingsForGroup
+ };
+}))(tax_Tax));
+// EXTERNAL MODULE: ./client/wc-api/onboarding/constants.js
+var onboarding_constants = __webpack_require__(759);
+
+// CONCATENATED MODULE: ./client/dashboard/task-list/tasks/payments/bacs.js
+
+
+
+
+
+
+
+
+function bacs_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (bacs_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function bacs_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var bacs_PayFast = /*#__PURE__*/function (_Component) {
+ inherits_default()(PayFast, _Component);
+
+ var _super = bacs_createSuper(PayFast);
+
+ function PayFast() {
+ var _temp, _this;
+
+ classCallCheck_default()(this, PayFast);
+
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
+ args[_key] = arguments[_key];
+ }
+
+ return possibleConstructorReturn_default()(_this, (_temp = _this = _super.call.apply(_super, [this].concat(args)), _this.getInitialConfigValues = function () {
+ return {
+ account_name: '',
+ account_number: '',
+ bank_name: '',
+ sort_code: '',
+ iban: '',
+ bic: ''
+ };
+ }, _this.validate = function (values) {
+ var errors = {};
+
+ if (!values.account_number && !values.iban) {
+ errors.account_number = errors.iban = Object(external_this_wp_i18n_["__"])('Please enter an account number or IBAN', 'woocommerce-admin');
+ }
+
+ return errors;
+ }, _this.updateSettings = function (values) {
+ var updateOptions = _this.props.updateOptions;
+ updateOptions({
+ woocommerce_bacs_settings: {
+ enabled: 'yes'
+ },
+ woocommerce_bacs_accounts: [values]
+ });
+ }, _temp));
+ }
+
+ createClass_default()(PayFast, [{
+ key: "componentDidUpdate",
+ value: function componentDidUpdate(prevProps) {
+ var _this$props = this.props,
+ createNotice = _this$props.createNotice,
+ isOptionsRequesting = _this$props.isOptionsRequesting,
+ hasOptionsError = _this$props.hasOptionsError,
+ markConfigured = _this$props.markConfigured;
+
+ if (prevProps.isOptionsRequesting && !isOptionsRequesting) {
+ if (!hasOptionsError) {
+ markConfigured('bacs');
+ createNotice('success', Object(external_this_wp_i18n_["__"])('Direct bank transfer details added successfully', 'woocommerce-admin'));
+ } else {
+ createNotice('error', Object(external_this_wp_i18n_["__"])('There was a problem saving your payment setings', 'woocommerce-admin'));
+ }
+ }
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var isOptionsRequesting = this.props.isOptionsRequesting;
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Form"], {
+ initialValues: this.getInitialConfigValues(),
+ onSubmitCallback: this.updateSettings,
+ validate: this.validate
+ }, function (_ref) {
+ var getInputProps = _ref.getInputProps,
+ handleSubmit = _ref.handleSubmit;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["H"], null, Object(external_this_wp_i18n_["__"])('Add your bank details', 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])("p", null, Object(external_this_wp_i18n_["__"])('These details are required to receive payments via bank transfer', 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-task-payment-method__fields"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["TextControl"], extends_default()({
+ label: Object(external_this_wp_i18n_["__"])('Account name', 'woocommerce-admin'),
+ required: true
+ }, getInputProps('account_name'))), Object(external_this_wp_element_["createElement"])(external_this_wc_components_["TextControl"], extends_default()({
+ label: Object(external_this_wp_i18n_["__"])('Account number', 'woocommerce-admin'),
+ required: true
+ }, getInputProps('account_number'))), Object(external_this_wp_element_["createElement"])(external_this_wc_components_["TextControl"], extends_default()({
+ label: Object(external_this_wp_i18n_["__"])('Bank name', 'woocommerce-admin'),
+ required: true
+ }, getInputProps('bank_name'))), Object(external_this_wp_element_["createElement"])(external_this_wc_components_["TextControl"], extends_default()({
+ label: Object(external_this_wp_i18n_["__"])('Sort code', 'woocommerce-admin'),
+ required: true
+ }, getInputProps('sort_code'))), Object(external_this_wp_element_["createElement"])(external_this_wc_components_["TextControl"], extends_default()({
+ label: Object(external_this_wp_i18n_["__"])('IBAN', 'woocommerce-admin'),
+ required: true
+ }, getInputProps('iban'))), Object(external_this_wp_element_["createElement"])(external_this_wc_components_["TextControl"], extends_default()({
+ label: Object(external_this_wp_i18n_["__"])('BIC / Swift', 'woocommerce-admin'),
+ required: true
+ }, getInputProps('bic')))), Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isPrimary: true,
+ isBusy: isOptionsRequesting,
+ onClick: handleSubmit
+ }, Object(external_this_wp_i18n_["__"])('Save', 'woocommerce-admin')));
+ });
+ }
+ }]);
+
+ return PayFast;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var bacs = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select) {
+ var _select = select('wc-api'),
+ getOptionsError = _select.getOptionsError,
+ isUpdateOptionsRequesting = _select.isUpdateOptionsRequesting;
+
+ var isOptionsRequesting = Boolean(isUpdateOptionsRequesting(['woocommerce_bacs_settings', 'woocommerce_bacs_accounts']));
+ var hasOptionsError = getOptionsError(['woocommerce_bacs_settings', 'woocommerce_bacs_accounts']);
+ return {
+ hasOptionsError: hasOptionsError,
+ isOptionsRequesting: isOptionsRequesting
+ };
+}), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('core/notices'),
+ createNotice = _dispatch.createNotice;
+
+ var _dispatch2 = dispatch('wc-api'),
+ updateOptions = _dispatch2.updateOptions;
+
+ return {
+ createNotice: createNotice,
+ updateOptions: updateOptions
+ };
+}))(bacs_PayFast));
+// CONCATENATED MODULE: ./client/dashboard/task-list/tasks/payments/images/bacs.js
+
+/* harmony default export */ var images_bacs = (function () {
+ return Object(external_this_wp_element_["createElement"])("svg", {
+ width: "96",
+ height: "32",
+ viewBox: "0 0 96 32",
+ fill: "none",
+ xmlns: "http://www.w3.org/2000/svg"
+ }, Object(external_this_wp_element_["createElement"])("rect", {
+ width: "32",
+ height: "32",
+ rx: "16",
+ fill: "#8E9196"
+ }), Object(external_this_wp_element_["createElement"])("mask", {
+ id: "bacs0",
+ "mask-type": "alpha",
+ maskUnits: "userSpaceOnUse",
+ x: "8",
+ y: "8",
+ width: "16",
+ height: "16"
+ }, Object(external_this_wp_element_["createElement"])("path", {
+ fillRule: "evenodd",
+ clipRule: "evenodd",
+ d: "M8.875 12.25L16 8.5L23.125 12.25V13.75H8.875V12.25ZM16 10.195L19.9075 12.25H12.0925L16 10.195ZM10.75 15.25H12.25V20.5H10.75V15.25ZM15.25 20.5V15.25H16.75V20.5H15.25ZM23.125 23.5V22H8.875V23.5H23.125ZM19.75 15.25H21.25V20.5H19.75V15.25Z",
+ fill: "white"
+ })), Object(external_this_wp_element_["createElement"])("g", {
+ mask: "url(#bacs0)"
+ }, Object(external_this_wp_element_["createElement"])("rect", {
+ x: "7",
+ y: "7",
+ width: "18",
+ height: "18",
+ fill: "white"
+ })), Object(external_this_wp_element_["createElement"])("mask", {
+ id: "bacs1",
+ "mask-type": "alpha",
+ maskUnits: "userSpaceOnUse",
+ x: "39",
+ y: "10",
+ width: "18",
+ height: "12"
+ }, Object(external_this_wp_element_["createElement"])("path", {
+ d: "M39 17L53.17 17L49.59 20.59L51 22L57 16L51 10L49.59 11.41L53.17 15L39 15L39 17Z",
+ fill: "white"
+ })), Object(external_this_wp_element_["createElement"])("g", {
+ mask: "url(#bacs1)"
+ }, Object(external_this_wp_element_["createElement"])("rect", {
+ x: "60",
+ y: "28",
+ width: "24",
+ height: "24",
+ transform: "rotate(-180 60 28)",
+ fill: "#8E9196"
+ })), Object(external_this_wp_element_["createElement"])("rect", {
+ x: "64",
+ width: "32",
+ height: "32",
+ rx: "16",
+ fill: "#8E9196"
+ }), Object(external_this_wp_element_["createElement"])("mask", {
+ id: "bacs2",
+ "mask-type": "alpha",
+ maskUnits: "userSpaceOnUse",
+ x: "72",
+ y: "8",
+ width: "16",
+ height: "16"
+ }, Object(external_this_wp_element_["createElement"])("path", {
+ fillRule: "evenodd",
+ clipRule: "evenodd",
+ d: "M72.875 12.25L80 8.5L87.125 12.25V13.75H72.875V12.25ZM80 10.195L83.9075 12.25H76.0925L80 10.195ZM74.75 15.25H76.25V20.5H74.75V15.25ZM79.25 20.5V15.25H80.75V20.5H79.25ZM87.125 23.5V22H72.875V23.5H87.125ZM83.75 15.25H85.25V20.5H83.75V15.25Z",
+ fill: "white"
+ })), Object(external_this_wp_element_["createElement"])("g", {
+ mask: "url(#bacs2)"
+ }, Object(external_this_wp_element_["createElement"])("rect", {
+ x: "71",
+ y: "7",
+ width: "18",
+ height: "18",
+ fill: "white"
+ })));
+});
+// CONCATENATED MODULE: ./client/dashboard/task-list/tasks/payments/images/cod.js
+
+/* harmony default export */ var cod = (function () {
+ return Object(external_this_wp_element_["createElement"])("svg", {
+ width: "96",
+ height: "32",
+ viewBox: "0 0 96 32",
+ fill: "none",
+ xmlns: "http://www.w3.org/2000/svg"
+ }, Object(external_this_wp_element_["createElement"])("rect", {
+ width: "32",
+ height: "32",
+ rx: "16",
+ fill: "#8E9196"
+ }), Object(external_this_wp_element_["createElement"])("mask", {
+ id: "cod-mask-0",
+ "mask-type": "alpha",
+ maskUnits: "userSpaceOnUse",
+ x: "7",
+ y: "10",
+ width: "18",
+ height: "12"
+ }, Object(external_this_wp_element_["createElement"])("path", {
+ fillRule: "evenodd",
+ clipRule: "evenodd",
+ d: "M22 13H19.75V10H9.25C8.425 10 7.75 10.675 7.75 11.5V19.75H9.25C9.25 20.995 10.255 22 11.5 22C12.745 22 13.75 20.995 13.75 19.75H18.25C18.25 20.995 19.255 22 20.5 22C21.745 22 22.75 20.995 22.75 19.75H24.25V16L22 13ZM21.625 14.125L23.095 16H19.75V14.125H21.625ZM10.75 19.75C10.75 20.1625 11.0875 20.5 11.5 20.5C11.9125 20.5 12.25 20.1625 12.25 19.75C12.25 19.3375 11.9125 19 11.5 19C11.0875 19 10.75 19.3375 10.75 19.75ZM13.165 18.25C12.7525 17.7925 12.1675 17.5 11.5 17.5C10.8325 17.5 10.2475 17.7925 9.835 18.25H9.25V11.5H18.25V18.25H13.165ZM19.75 19.75C19.75 20.1625 20.0875 20.5 20.5 20.5C20.9125 20.5 21.25 20.1625 21.25 19.75C21.25 19.3375 20.9125 19 20.5 19C20.0875 19 19.75 19.3375 19.75 19.75Z",
+ fill: "white"
+ })), Object(external_this_wp_element_["createElement"])("g", {
+ mask: "url(#cod-mask-0)"
+ }, Object(external_this_wp_element_["createElement"])("rect", {
+ x: "7",
+ y: "7",
+ width: "18",
+ height: "18",
+ fill: "white"
+ })), Object(external_this_wp_element_["createElement"])("mask", {
+ id: "cod-mask-1",
+ "mask-type": "alpha",
+ maskUnits: "userSpaceOnUse",
+ x: "39",
+ y: "10",
+ width: "18",
+ height: "12"
+ }, Object(external_this_wp_element_["createElement"])("path", {
+ d: "M39 17L53.17 17L49.59 20.59L51 22L57 16L51 10L49.59 11.41L53.17 15L39 15L39 17Z",
+ fill: "white"
+ })), Object(external_this_wp_element_["createElement"])("g", {
+ mask: "url(#cod-mask-1)"
+ }, Object(external_this_wp_element_["createElement"])("rect", {
+ x: "60",
+ y: "28",
+ width: "24",
+ height: "24",
+ transform: "rotate(-180 60 28)",
+ fill: "#8E9196"
+ })), Object(external_this_wp_element_["createElement"])("rect", {
+ x: "64",
+ width: "32",
+ height: "32",
+ rx: "16",
+ fill: "#8E9196"
+ }), Object(external_this_wp_element_["createElement"])("mask", {
+ id: "cod-mask-2",
+ "mask-type": "alpha",
+ maskUnits: "userSpaceOnUse",
+ x: "76",
+ y: "9",
+ width: "8",
+ height: "14"
+ }, Object(external_this_wp_element_["createElement"])("path", {
+ d: "M80.2926 15.175C78.5901 14.7325 78.0426 14.275 78.0426 13.5625C78.0426 12.745 78.8001 12.175 80.0676 12.175C81.4026 12.175 81.8976 12.8125 81.9426 13.75H83.6001C83.5476 12.46 82.7601 11.275 81.1926 10.8925V9.25H78.9426V10.87C77.4876 11.185 76.3176 12.13 76.3176 13.5775C76.3176 15.31 77.7501 16.1725 79.8426 16.675C81.7176 17.125 82.0926 17.785 82.0926 18.4825C82.0926 19 81.7251 19.825 80.0676 19.825C78.5226 19.825 77.9151 19.135 77.8326 18.25H76.1826C76.2726 19.8925 77.5026 20.815 78.9426 21.1225V22.75H81.1926V21.1375C82.6551 20.86 83.8176 20.0125 83.8176 18.475C83.8176 16.345 81.9951 15.6175 80.2926 15.175Z",
+ fill: "white"
+ })), Object(external_this_wp_element_["createElement"])("g", {
+ mask: "url(#cod-mask-2)"
+ }, Object(external_this_wp_element_["createElement"])("rect", {
+ x: "71",
+ y: "7",
+ width: "18",
+ height: "18",
+ fill: "white"
+ })));
+});
+// CONCATENATED MODULE: ./client/dashboard/task-list/tasks/payments/stripe.js
+
+
+
+
+
+
+
+
+
+
+
+function stripe_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function stripe_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { stripe_ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { stripe_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+function stripe_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (stripe_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function stripe_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+
+
+
+
+var stripe_Stripe = /*#__PURE__*/function (_Component) {
+ inherits_default()(Stripe, _Component);
+
+ var _super = stripe_createSuper(Stripe);
+
+ function Stripe(props) {
+ var _this;
+
+ classCallCheck_default()(this, Stripe);
+
+ _this = _super.call(this, props);
+ _this.state = {
+ oAuthConnectFailed: false,
+ connectURL: null,
+ isPending: false
+ };
+ _this.updateSettings = _this.updateSettings.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(Stripe, [{
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ var stripeSettings = this.props.stripeSettings;
+ var query = Object(external_this_wc_navigation_["getQuery"])(); // Handle redirect back from Stripe.
+
+ if (query['stripe-connect'] && query['stripe-connect'] === '1') {
+ var isStripeConnected = stripeSettings.publishable_key && stripeSettings.secret_key;
+
+ if (isStripeConnected) {
+ this.completeMethod();
+ return;
+ }
+ }
+
+ if (!this.requiresManualConfig()) {
+ this.fetchOAuthConnectURL();
+ }
+ }
+ }, {
+ key: "componentDidUpdate",
+ value: function componentDidUpdate(prevProps) {
+ var _this$props = this.props,
+ activePlugins = _this$props.activePlugins,
+ createNotice = _this$props.createNotice,
+ isOptionsRequesting = _this$props.isOptionsRequesting,
+ hasOptionsError = _this$props.hasOptionsError;
+
+ if (prevProps.isOptionsRequesting && !isOptionsRequesting) {
+ if (!hasOptionsError) {
+ this.completeMethod();
+ } else {
+ createNotice('error', Object(external_this_wp_i18n_["__"])('There was a problem saving your payment setings', 'woocommerce-admin'));
+ }
+ }
+
+ if (!prevProps.activePlugins.includes('woocommerce-gateway-stripe') && activePlugins.includes('woocommerce-gateway-stripe')) {
+ this.fetchOAuthConnectURL();
+ }
+ }
+ }, {
+ key: "requiresManualConfig",
+ value: function requiresManualConfig() {
+ var _this$props2 = this.props,
+ activePlugins = _this$props2.activePlugins,
+ isJetpackConnected = _this$props2.isJetpackConnected;
+ var oAuthConnectFailed = this.state.oAuthConnectFailed;
+ return !isJetpackConnected || !activePlugins.includes('woocommerce-services') || oAuthConnectFailed;
+ }
+ }, {
+ key: "completeMethod",
+ value: function completeMethod() {
+ var _this$props3 = this.props,
+ createNotice = _this$props3.createNotice,
+ markConfigured = _this$props3.markConfigured;
+ this.setState({
+ isPending: false
+ });
+ createNotice('success', Object(external_this_wp_i18n_["__"])('Stripe connected successfully.', 'woocommerce-admin'));
+ markConfigured('stripe');
+ }
+ }, {
+ key: "fetchOAuthConnectURL",
+ value: function () {
+ var _fetchOAuthConnectURL = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
+ var activePlugins, result;
+ return regeneratorRuntime.wrap(function _callee$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ activePlugins = this.props.activePlugins;
+
+ if (activePlugins.includes('woocommerce-gateway-stripe')) {
+ _context.next = 3;
+ break;
+ }
+
+ return _context.abrupt("return");
+
+ case 3:
+ _context.prev = 3;
+ this.setState({
+ isPending: true
+ });
+ _context.next = 7;
+ return external_this_wp_apiFetch_default()({
+ path: constants["e" /* WCS_NAMESPACE */] + '/connect/stripe/oauth/init',
+ method: 'POST',
+ data: {
+ returnUrl: Object(client_settings["f" /* getAdminLink */])('admin.php?page=wc-admin&task=payments&method=stripe&stripe-connect=1')
+ }
+ });
+
+ case 7:
+ result = _context.sent;
+
+ if (!(!result || !result.oauthUrl)) {
+ _context.next = 11;
+ break;
+ }
+
+ this.setState({
+ oAuthConnectFailed: true,
+ isPending: false
+ });
+ return _context.abrupt("return");
+
+ case 11:
+ this.setState({
+ connectURL: result.oauthUrl,
+ isPending: false
+ });
+ _context.next = 17;
+ break;
+
+ case 14:
+ _context.prev = 14;
+ _context.t0 = _context["catch"](3);
+ this.setState({
+ oAuthConnectFailed: true,
+ isPending: false
+ });
+
+ case 17:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, _callee, this, [[3, 14]]);
+ }));
+
+ function fetchOAuthConnectURL() {
+ return _fetchOAuthConnectURL.apply(this, arguments);
+ }
+
+ return fetchOAuthConnectURL;
+ }()
+ }, {
+ key: "renderConnectButton",
+ value: function renderConnectButton() {
+ var connectURL = this.state.connectURL;
+ return Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isPrimary: true,
+ isDefault: true,
+ href: connectURL
+ }, Object(external_this_wp_i18n_["__"])('Connect', 'woocommerce-admin'));
+ }
+ }, {
+ key: "updateSettings",
+ value: function updateSettings(values) {
+ var _this$props4 = this.props,
+ updateOptions = _this$props4.updateOptions,
+ stripeSettings = _this$props4.stripeSettings;
+ updateOptions({
+ woocommerce_stripe_settings: stripe_objectSpread({}, stripeSettings, {
+ publishable_key: values.publishable_key,
+ secret_key: values.secret_key,
+ enabled: 'yes'
+ })
+ });
+ }
+ }, {
+ key: "getInitialConfigValues",
+ value: function getInitialConfigValues() {
+ return {
+ publishable_key: '',
+ secret_key: ''
+ };
+ }
+ }, {
+ key: "validateManualConfig",
+ value: function validateManualConfig(values) {
+ var errors = {};
+
+ if (values.publishable_key.match(/^pk_live_/) === null) {
+ errors.publishable_key = Object(external_this_wp_i18n_["__"])('Please enter a valid publishable key. Valid keys start with "pk_live".', 'woocommerce-admin');
+ }
+
+ if (values.secret_key.match(/^[rs]k_live_/) === null) {
+ errors.secret_key = Object(external_this_wp_i18n_["__"])('Please enter a valid secret key. Valid keys start with "sk_live" or "rk_live".', 'woocommerce-admin');
+ }
+
+ return errors;
+ }
+ }, {
+ key: "renderManualConfig",
+ value: function renderManualConfig() {
+ var isOptionsRequesting = this.props.isOptionsRequesting;
+ var stripeHelp = lib_default()({
+ mixedString: Object(external_this_wp_i18n_["__"])('Your API details can be obtained from your {{docsLink}}Stripe account{{/docsLink}}. Don’t have a Stripe account? {{registerLink}}Create one.{{/registerLink}}', 'woocommerce-admin'),
+ components: {
+ docsLink: Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: "https://stripe.com/docs/keys",
+ target: "_blank",
+ type: "external"
+ }),
+ registerLink: Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: "https://dashboard.stripe.com/register",
+ target: "_blank",
+ type: "external"
+ })
+ }
+ });
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Form"], {
+ initialValues: this.getInitialConfigValues(),
+ onSubmitCallback: this.updateSettings,
+ validate: this.validateManualConfig
+ }, function (_ref) {
+ var getInputProps = _ref.getInputProps,
+ handleSubmit = _ref.handleSubmit;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["TextControl"], extends_default()({
+ label: Object(external_this_wp_i18n_["__"])('Live Publishable Key', 'woocommerce-admin'),
+ required: true
+ }, getInputProps('publishable_key'))), Object(external_this_wp_element_["createElement"])(external_this_wc_components_["TextControl"], extends_default()({
+ label: Object(external_this_wp_i18n_["__"])('Live Secret Key', 'woocommerce-admin'),
+ required: true
+ }, getInputProps('secret_key'))), Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isPrimary: true,
+ isBusy: isOptionsRequesting,
+ onClick: handleSubmit
+ }, Object(external_this_wp_i18n_["__"])('Proceed', 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])("p", null, stripeHelp));
+ });
+ }
+ }, {
+ key: "getConnectStep",
+ value: function getConnectStep() {
+ var _this$state = this.state,
+ connectURL = _this$state.connectURL,
+ isPending = _this$state.isPending,
+ oAuthConnectFailed = _this$state.oAuthConnectFailed;
+ var connectStep = {
+ key: 'connect',
+ label: Object(external_this_wp_i18n_["__"])('Connect your Stripe account', 'woocommerce-admin')
+ };
+
+ if (isPending) {
+ return connectStep;
+ }
+
+ if (!oAuthConnectFailed && connectURL) {
+ return stripe_objectSpread({}, connectStep, {
+ description: Object(external_this_wp_i18n_["__"])('A Stripe account is required to process payments.', 'woocommerce-admin'),
+ content: this.renderConnectButton()
+ });
+ }
+
+ return stripe_objectSpread({}, connectStep, {
+ description: Object(external_this_wp_i18n_["__"])('Connect your store to your Stripe account. Don’t have a Stripe account? Create one.', 'woocommerce-admin'),
+ content: this.renderManualConfig()
+ });
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props5 = this.props,
+ installStep = _this$props5.installStep,
+ isOptionsRequesting = _this$props5.isOptionsRequesting;
+ var isPending = this.state.isPending;
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Stepper"], {
+ isVertical: true,
+ isPending: !installStep.isComplete || isOptionsRequesting || isPending,
+ currentStep: installStep.isComplete ? 'connect' : 'install',
+ steps: [installStep, this.getConnectStep()]
+ });
+ }
+ }]);
+
+ return Stripe;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var stripe = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select) {
+ var _select = select('wc-api'),
+ getOptions = _select.getOptions,
+ getOptionsError = _select.getOptionsError,
+ isUpdateOptionsRequesting = _select.isUpdateOptionsRequesting;
+
+ var _select2 = select(external_this_wc_data_["PLUGINS_STORE_NAME"]),
+ getActivePlugins = _select2.getActivePlugins,
+ isJetpackConnected = _select2.isJetpackConnected;
+
+ var options = getOptions(['woocommerce_stripe_settings']);
+ var stripeSettings = Object(external_lodash_["get"])(options, ['woocommerce_stripe_settings'], []);
+ var isOptionsRequesting = Boolean(isUpdateOptionsRequesting(['woocommerce_stripe_settings']));
+ var hasOptionsError = getOptionsError(['woocommerce_stripe_settings']);
+ return {
+ activePlugins: getActivePlugins(),
+ hasOptionsError: hasOptionsError,
+ isJetpackConnected: isJetpackConnected(),
+ isOptionsRequesting: isOptionsRequesting,
+ stripeSettings: stripeSettings
+ };
+}), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('core/notices'),
+ createNotice = _dispatch.createNotice;
+
+ var _dispatch2 = dispatch('wc-api'),
+ updateOptions = _dispatch2.updateOptions;
+
+ return {
+ createNotice: createNotice,
+ updateOptions: updateOptions
+ };
+}))(stripe_Stripe));
+// CONCATENATED MODULE: ./client/dashboard/task-list/tasks/payments/square.js
+
+
+
+
+
+
+
+
+
+
+function square_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function square_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { square_ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { square_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+function square_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (square_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function square_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+
+
+
+var square_Square = /*#__PURE__*/function (_Component) {
+ inherits_default()(Square, _Component);
+
+ var _super = square_createSuper(Square);
+
+ function Square(props) {
+ var _this;
+
+ classCallCheck_default()(this, Square);
+
+ _this = _super.call(this, props);
+ _this.state = {
+ isPending: false
+ };
+ _this.connect = _this.connect.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(Square, [{
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ var _this$props = this.props,
+ createNotice = _this$props.createNotice,
+ markConfigured = _this$props.markConfigured;
+ var query = Object(external_this_wc_navigation_["getQuery"])(); // Handle redirect back from Square
+
+ if (query['square-connect']) {
+ if (query['square-connect'] === '1') {
+ createNotice('success', Object(external_this_wp_i18n_["__"])('Square connected successfully.', 'woocommerce-admin'));
+ markConfigured('square');
+ }
+ }
+ }
+ }, {
+ key: "connect",
+ value: function () {
+ var _connect = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
+ var _this$props2, createNotice, hasCbdIndustry, options, updateOptions, errorMessage, newWindow, result;
+
+ return regeneratorRuntime.wrap(function _callee$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ _this$props2 = this.props, createNotice = _this$props2.createNotice, hasCbdIndustry = _this$props2.hasCbdIndustry, options = _this$props2.options, updateOptions = _this$props2.updateOptions;
+ this.setState({
+ isPending: true
+ });
+ updateOptions({
+ woocommerce_square_credit_card_settings: square_objectSpread({}, options.woocommerce_square_credit_card_settings, {
+ enabled: 'yes'
+ })
+ });
+ errorMessage = Object(external_this_wp_i18n_["__"])('There was an error connecting to Square. Please try again or skip to connect later in store settings.', 'woocommerce-admin');
+ _context.prev = 4;
+ newWindow = null;
+
+ if (hasCbdIndustry) {
+ // It's necessary to declare the new tab before the async call,
+ // otherwise, it won't be possible to open it.
+ newWindow = window.open('/', '_blank');
+ }
+
+ _context.next = 9;
+ return external_this_wp_apiFetch_default()({
+ path: constants["f" /* WC_ADMIN_NAMESPACE */] + '/plugins/connect-square',
+ method: 'POST'
+ });
+
+ case 9:
+ result = _context.sent;
+
+ if (!(!result || !result.connectUrl)) {
+ _context.next = 15;
+ break;
+ }
+
+ this.setState({
+ isPending: false
+ });
+ createNotice('error', errorMessage);
+
+ if (hasCbdIndustry) {
+ newWindow.close();
+ }
+
+ return _context.abrupt("return");
+
+ case 15:
+ this.setState({
+ isPending: true
+ });
+ this.redirect(result.connectUrl, newWindow);
+ _context.next = 23;
+ break;
+
+ case 19:
+ _context.prev = 19;
+ _context.t0 = _context["catch"](4);
+ this.setState({
+ isPending: false
+ });
+ createNotice('error', errorMessage);
+
+ case 23:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, _callee, this, [[4, 19]]);
+ }));
+
+ function connect() {
+ return _connect.apply(this, arguments);
+ }
+
+ return connect;
+ }()
+ }, {
+ key: "redirect",
+ value: function redirect(connectUrl, newWindow) {
+ if (newWindow) {
+ newWindow.location.href = connectUrl;
+ window.location = Object(client_settings["f" /* getAdminLink */])('admin.php?page=wc-admin');
+ } else {
+ window.location = connectUrl;
+ }
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var installStep = this.props.installStep;
+ var isPending = this.state.isPending;
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Stepper"], {
+ isVertical: true,
+ isPending: !installStep.isComplete || isPending,
+ currentStep: installStep.isComplete ? 'connect' : 'install',
+ steps: [installStep, {
+ key: 'connect',
+ label: Object(external_this_wp_i18n_["__"])('Connect your Square account', 'woocommerce-admin'),
+ description: Object(external_this_wp_i18n_["__"])('A Square account is required to process payments. You will be redirected to the Square website to create the connection.', 'woocommerce-admin'),
+ content: Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isPrimary: true,
+ isDefault: true,
+ isBusy: isPending,
+ onClick: this.connect
+ }, Object(external_this_wp_i18n_["__"])('Connect', 'woocommerce-admin')))
+ }]
+ });
+ }
+ }]);
+
+ return Square;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var square = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select) {
+ var _select = select('wc-api'),
+ getOptions = _select.getOptions,
+ isGetOptionsRequesting = _select.isGetOptionsRequesting;
+
+ var options = getOptions(['woocommerce_square_credit_card_settings']);
+ var optionsIsRequesting = Boolean(isGetOptionsRequesting(['woocommerce_square_credit_card_settings']));
+ return {
+ options: options,
+ optionsIsRequesting: optionsIsRequesting
+ };
+}), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('core/notices'),
+ createNotice = _dispatch.createNotice;
+
+ var _dispatch2 = dispatch('wc-api'),
+ updateOptions = _dispatch2.updateOptions;
+
+ return {
+ createNotice: createNotice,
+ updateOptions: updateOptions
+ };
+}))(square_Square));
+// CONCATENATED MODULE: ./client/dashboard/task-list/tasks/payments/wcpay.js
+
+
+
+
+
+
+
+
+
+
+function wcpay_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function wcpay_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { wcpay_ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { wcpay_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+function wcpay_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (wcpay_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function wcpay_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+
+
+var wcpay_WCPay = /*#__PURE__*/function (_Component) {
+ inherits_default()(WCPay, _Component);
+
+ var _super = wcpay_createSuper(WCPay);
+
+ function WCPay(props) {
+ var _this;
+
+ classCallCheck_default()(this, WCPay);
+
+ _this = _super.call(this, props);
+ _this.state = {
+ isPending: false
+ };
+ _this.connect = _this.connect.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(WCPay, [{
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ var _this$props = this.props,
+ createNotice = _this$props.createNotice,
+ markConfigured = _this$props.markConfigured;
+ var query = Object(external_this_wc_navigation_["getQuery"])(); // Handle redirect back from WCPay on-boarding
+
+ if (query['wcpay-connect']) {
+ if (query['wcpay-connect'] === '1') {
+ createNotice('success', Object(external_this_wp_i18n_["__"])('WooCommerce Payments connected successfully.', 'woocommerce-admin'));
+ markConfigured('wcpay');
+ }
+ }
+ }
+ }, {
+ key: "connect",
+ value: function () {
+ var _connect = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
+ var _this$props2, createNotice, options, updateOptions, errorMessage, result;
+
+ return regeneratorRuntime.wrap(function _callee$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ _this$props2 = this.props, createNotice = _this$props2.createNotice, options = _this$props2.options, updateOptions = _this$props2.updateOptions;
+ this.setState({
+ isPending: true
+ });
+ updateOptions({
+ woocommerce_woocommerce_payments_settings: wcpay_objectSpread({}, options.woocommerce_woocommerce_payments_settings, {
+ enabled: 'yes'
+ })
+ });
+ errorMessage = Object(external_this_wp_i18n_["__"])('There was an error connecting to WooCommerce Payments. Please try again or skip to connect later in store settings.', 'woocommerce-admin');
+ _context.prev = 4;
+ _context.next = 7;
+ return external_this_wp_apiFetch_default()({
+ path: constants["f" /* WC_ADMIN_NAMESPACE */] + '/plugins/connect-wcpay',
+ method: 'POST'
+ });
+
+ case 7:
+ result = _context.sent;
+
+ if (!(!result || !result.connectUrl)) {
+ _context.next = 12;
+ break;
+ }
+
+ this.setState({
+ isPending: false
+ });
+ createNotice('error', errorMessage);
+ return _context.abrupt("return");
+
+ case 12:
+ this.setState({
+ isPending: true
+ });
+ window.location = result.connectUrl;
+ _context.next = 20;
+ break;
+
+ case 16:
+ _context.prev = 16;
+ _context.t0 = _context["catch"](4);
+ this.setState({
+ isPending: false
+ });
+ createNotice('error', errorMessage);
+
+ case 20:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, _callee, this, [[4, 16]]);
+ }));
+
+ function connect() {
+ return _connect.apply(this, arguments);
+ }
+
+ return connect;
+ }()
+ }, {
+ key: "render",
+ value: function render() {
+ var installStep = this.props.installStep;
+ var isPending = this.state.isPending;
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Stepper"], {
+ isVertical: true,
+ isPending: !installStep.isComplete || isPending,
+ currentStep: installStep.isComplete ? 'connect' : 'install',
+ steps: [installStep, {
+ key: 'connect',
+ label: Object(external_this_wp_i18n_["__"])('Verify business details', 'woocommerce-admin'),
+ description: Object(external_this_wp_i18n_["__"])('Verify your business details with our payment partner, Stripe.', 'woocommerce-admin'),
+ content: Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isPrimary: true,
+ isDefault: true,
+ isBusy: isPending,
+ onClick: this.connect
+ }, Object(external_this_wp_i18n_["__"])('Verify details', 'woocommerce-admin')))
+ }]
+ });
+ }
+ }]);
+
+ return WCPay;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var wcpay = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select) {
+ var _select = select('wc-api'),
+ getOptions = _select.getOptions,
+ isGetOptionsRequesting = _select.isGetOptionsRequesting;
+
+ var options = getOptions(['woocommerce_woocommerce_payments_settings']);
+ var optionsIsRequesting = Boolean(isGetOptionsRequesting(['woocommerce_woocommerce_payments_settings']));
+ return {
+ options: options,
+ optionsIsRequesting: optionsIsRequesting
+ };
+}), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('core/notices'),
+ createNotice = _dispatch.createNotice;
+
+ var _dispatch2 = dispatch('wc-api'),
+ updateOptions = _dispatch2.updateOptions;
+
+ return {
+ createNotice: createNotice,
+ updateOptions: updateOptions
+ };
+}))(wcpay_WCPay));
+// CONCATENATED MODULE: ./client/dashboard/task-list/tasks/payments/images/wcpay.js
+
+/* harmony default export */ var images_wcpay = (function () {
+ return Object(external_this_wp_element_["createElement"])("svg", {
+ width: "100",
+ height: "64",
+ viewBox: "-10 0 120 64",
+ fill: "none",
+ xmlns: "http://www.w3.org/2000/svg"
+ }, Object(external_this_wp_element_["createElement"])("path", {
+ fillRule: "evenodd",
+ clipRule: "evenodd",
+ d: "M9.78073 0.5H91.1787C96.3299 0.5 100.5 4.77335 100.5 10.0522V41.8929C100.5 47.1717 96.3299 51.4451 91.1787 51.4451H61.9883L65.9948 61.5L48.3742 51.4451H9.82161C4.67036 51.4451 0.500298 47.1717 0.500298 41.8929V10.0522C0.459415 4.81524 4.62947 0.5 9.78073 0.5Z",
+ fill: "#7F54B3"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M5.48791 9.1725C6.06028 8.37648 6.91882 7.95752 8.06354 7.87373C10.1486 7.70615 11.3342 8.71165 11.6204 10.8902C12.8877 19.6464 14.2778 27.0619 15.7495 33.1368L24.7029 15.6663C25.5206 14.0743 26.5426 13.2364 27.7691 13.1526C29.568 13.0269 30.6718 14.2 31.1215 16.6718C32.1436 22.2439 33.4519 26.9781 35.0054 31.0001C36.0684 20.3586 37.8672 12.6917 40.402 7.95753C41.0152 6.78445 41.9146 6.19791 43.1002 6.11412C44.0405 6.03033 44.8991 6.3236 45.6759 6.95203C46.4526 7.58047 46.8615 8.37648 46.9432 9.34008C46.9841 10.0942 46.8615 10.7226 46.5344 11.3511C44.94 14.3676 43.6317 19.4369 42.5688 26.4754C41.5467 33.3044 41.1787 38.6251 41.424 42.4376C41.5058 43.485 41.3423 44.4067 40.9334 45.2027C40.4428 46.1244 39.707 46.6272 38.7666 46.711C37.7037 46.7948 36.5998 46.292 35.5369 45.1608C31.7348 41.1807 28.7094 35.2316 26.5018 27.3133C23.8444 32.6759 21.882 36.6979 20.6146 39.3792C18.2025 44.1134 16.1584 46.5434 14.4413 46.6691C13.3374 46.7529 12.3971 45.7893 11.5795 43.7783C9.49445 38.2899 7.24589 27.6904 4.83379 11.9795C4.71114 10.8902 4.91555 9.92662 5.48791 9.1725Z",
+ fill: "white"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M93.3864 15.7499C91.9146 13.1105 89.7478 11.5185 86.8451 10.89C86.0683 10.7225 85.3324 10.6387 84.6374 10.6387C80.7127 10.6387 77.5238 12.7335 75.0299 16.923C72.904 20.4841 71.8411 24.4223 71.8411 28.7376C71.8411 31.9635 72.4952 34.7286 73.8034 37.0329C75.2752 39.6723 77.442 41.2644 80.3447 41.8928C81.1215 42.0604 81.8574 42.1442 82.5524 42.1442C86.518 42.1442 89.7069 40.0494 92.1599 35.8598C94.2858 32.2568 95.3488 28.3186 95.3488 24.0034C95.3488 20.7355 94.6946 18.0123 93.3864 15.7499ZM88.2351 27.355C87.6628 30.1201 86.6407 32.173 85.128 33.5556C83.9424 34.6449 82.8386 35.1057 81.8165 34.8962C80.8353 34.6868 80.0177 33.8069 79.4044 32.173C78.9138 30.8742 78.6685 29.5755 78.6685 28.3605C78.6685 27.3131 78.7503 26.2657 78.9547 25.3021C79.3226 23.5844 80.0177 21.9086 81.1215 20.3166C82.4706 18.2637 83.9015 17.4258 85.3733 17.719C86.3545 17.9285 87.1722 18.8083 87.7854 20.4422C88.276 21.741 88.5213 23.0398 88.5213 24.2547C88.5213 25.344 88.3987 26.3914 88.2351 27.355Z",
+ fill: "white"
+ }), Object(external_this_wp_element_["createElement"])("path", {
+ d: "M67.7528 15.7499C66.281 13.1105 64.0734 11.5185 61.2116 10.89C60.4348 10.7225 59.6989 10.6387 59.0039 10.6387C55.0791 10.6387 51.8903 12.7335 49.3964 16.923C47.2705 20.4841 46.2075 24.4223 46.2075 28.7376C46.2075 31.9635 46.8616 34.7286 48.1699 37.0329C49.6417 39.6723 51.8085 41.2644 54.7112 41.8928C55.488 42.0604 56.2238 42.1442 56.9189 42.1442C60.8845 42.1442 64.0734 40.0494 66.5263 35.8598C68.6523 32.2568 69.7152 28.3186 69.7152 24.0034C69.7152 20.7355 69.0611 18.0123 67.7528 15.7499ZM62.6016 27.355C62.0292 30.1201 61.0071 32.173 59.4945 33.5556C58.3089 34.6449 57.205 35.1057 56.183 34.8962C55.2018 34.6868 54.3841 33.8069 53.7709 32.173C53.2803 30.8742 53.035 29.5755 53.035 28.3605C53.035 27.3131 53.1167 26.2657 53.3212 25.3021C53.6891 23.5844 54.3841 21.9086 55.4879 20.3166C56.8371 18.2637 58.268 17.4258 59.7398 17.719C60.721 17.9285 61.5386 18.8083 62.1519 20.4422C62.6425 21.741 62.8878 23.0398 62.8878 24.2547C62.8878 25.344 62.806 26.3914 62.6016 27.355Z",
+ fill: "white"
+ }));
+});
+// CONCATENATED MODULE: ./client/dashboard/task-list/tasks/payments/paypal.js
+
+
+
+
+
+
+
+
+
+
+
+function paypal_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function paypal_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { paypal_ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { paypal_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+function paypal_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (paypal_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function paypal_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+
+
+
+var paypal_PayPal = /*#__PURE__*/function (_Component) {
+ inherits_default()(PayPal, _Component);
+
+ var _super = paypal_createSuper(PayPal);
+
+ function PayPal(props) {
+ var _this;
+
+ classCallCheck_default()(this, PayPal);
+
+ _this = _super.call(this, props);
+ _this.state = {
+ autoConnectFailed: false,
+ connectURL: '',
+ isPending: false
+ };
+ _this.updateSettings = _this.updateSettings.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(PayPal, [{
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ var _this$props = this.props,
+ createNotice = _this$props.createNotice,
+ markConfigured = _this$props.markConfigured;
+ var query = Object(external_this_wc_navigation_["getQuery"])(); // Handle redirect back from PayPal
+
+ if (query['paypal-connect']) {
+ if (query['paypal-connect'] === '1') {
+ createNotice('success', Object(external_this_wp_i18n_["__"])('PayPal connected successfully.', 'woocommerce-admin'));
+ markConfigured('paypal');
+ return;
+ }
+ /* eslint-disable react/no-did-mount-set-state */
+
+
+ this.setState({
+ autoConnectFailed: true
+ });
+ /* eslint-enable react/no-did-mount-set-state */
+
+ return;
+ }
+
+ this.fetchOAuthConnectURL();
+ }
+ }, {
+ key: "componentDidUpdate",
+ value: function componentDidUpdate(prevProps) {
+ var activePlugins = this.props.activePlugins;
+
+ if (!prevProps.activePlugins.includes('woocommerce-gateway-paypal-express-checkout') && activePlugins.includes('woocommerce-gateway-paypal-express-checkout')) {
+ this.fetchOAuthConnectURL();
+ }
+ }
+ }, {
+ key: "fetchOAuthConnectURL",
+ value: function () {
+ var _fetchOAuthConnectURL = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
+ var activePlugins, result;
+ return regeneratorRuntime.wrap(function _callee$(_context) {
+ while (1) {
+ switch (_context.prev = _context.next) {
+ case 0:
+ activePlugins = this.props.activePlugins;
+
+ if (activePlugins.includes('woocommerce-gateway-paypal-express-checkout')) {
+ _context.next = 3;
+ break;
+ }
+
+ return _context.abrupt("return");
+
+ case 3:
+ this.setState({
+ isPending: true
+ });
+ _context.prev = 4;
+ _context.next = 7;
+ return external_this_wp_apiFetch_default()({
+ path: constants["f" /* WC_ADMIN_NAMESPACE */] + '/plugins/connect-paypal',
+ method: 'POST'
+ });
+
+ case 7:
+ result = _context.sent;
+
+ if (!(!result || !result.connectUrl)) {
+ _context.next = 11;
+ break;
+ }
+
+ this.setState({
+ autoConnectFailed: true
+ });
+ return _context.abrupt("return");
+
+ case 11:
+ this.setState({
+ connectURL: result.connectUrl,
+ isPending: false
+ });
+ _context.next = 17;
+ break;
+
+ case 14:
+ _context.prev = 14;
+ _context.t0 = _context["catch"](4);
+ this.setState({
+ autoConnectFailed: true,
+ isPending: false
+ });
+
+ case 17:
+ case "end":
+ return _context.stop();
+ }
+ }
+ }, _callee, this, [[4, 14]]);
+ }));
+
+ function fetchOAuthConnectURL() {
+ return _fetchOAuthConnectURL.apply(this, arguments);
+ }
+
+ return fetchOAuthConnectURL;
+ }()
+ }, {
+ key: "renderConnectButton",
+ value: function renderConnectButton() {
+ var connectURL = this.state.connectURL;
+ return Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isPrimary: true,
+ isDefault: true,
+ href: connectURL
+ }, Object(external_this_wp_i18n_["__"])('Connect', 'woocommerce-admin'));
+ }
+ }, {
+ key: "updateSettings",
+ value: function () {
+ var _updateSettings = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(values) {
+ var _this$props2, createNotice, isSettingsError, options, updateOptions, markConfigured;
+
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
+ while (1) {
+ switch (_context2.prev = _context2.next) {
+ case 0:
+ _this$props2 = this.props, createNotice = _this$props2.createNotice, isSettingsError = _this$props2.isSettingsError, options = _this$props2.options, updateOptions = _this$props2.updateOptions, markConfigured = _this$props2.markConfigured;
+ _context2.next = 3;
+ return updateOptions({
+ woocommerce_ppec_paypal_settings: paypal_objectSpread({}, options.woocommerce_ppec_paypal_settings, {
+ api_username: values.api_username,
+ api_password: values.api_password,
+ enabled: 'yes'
+ })
+ });
+
+ case 3:
+ if (!isSettingsError) {
+ createNotice('success', Object(external_this_wp_i18n_["__"])('PayPal connected successfully.', 'woocommerce-admin'));
+ markConfigured('paypal');
+ } else {
+ createNotice('error', Object(external_this_wp_i18n_["__"])('There was a problem saving your payment settings.', 'woocommerce-admin'));
+ }
+
+ case 4:
+ case "end":
+ return _context2.stop();
+ }
+ }
+ }, _callee2, this);
+ }));
+
+ function updateSettings(_x) {
+ return _updateSettings.apply(this, arguments);
+ }
+
+ return updateSettings;
+ }()
+ }, {
+ key: "getInitialConfigValues",
+ value: function getInitialConfigValues() {
+ return {
+ api_username: '',
+ api_password: ''
+ };
+ }
+ }, {
+ key: "validate",
+ value: function validate(values) {
+ var errors = {};
+
+ if (!values.api_username) {
+ errors.api_username = Object(external_this_wp_i18n_["__"])('Please enter your API username', 'woocommerce-admin');
+ }
+
+ if (!values.api_password) {
+ errors.api_password = Object(external_this_wp_i18n_["__"])('Please enter your API password', 'woocommerce-admin');
+ }
+
+ return errors;
+ }
+ }, {
+ key: "renderManualConfig",
+ value: function renderManualConfig() {
+ var isOptionsRequesting = this.props.isOptionsRequesting;
+ var link = Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: "https://docs.woocommerce.com/document/paypal-express-checkout/#section-8",
+ target: "_blank",
+ type: "external"
+ });
+ var help = lib_default()({
+ mixedString: Object(external_this_wp_i18n_["__"])('Your API details can be obtained from your {{link}}PayPal account{{/link}}', 'woocommerce-admin'),
+ components: {
+ link: link
+ }
+ });
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Form"], {
+ initialValues: this.getInitialConfigValues(),
+ onSubmitCallback: this.updateSettings,
+ validate: this.validate
+ }, function (_ref) {
+ var getInputProps = _ref.getInputProps,
+ handleSubmit = _ref.handleSubmit;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["TextControl"], extends_default()({
+ label: Object(external_this_wp_i18n_["__"])('API Username', 'woocommerce-admin'),
+ required: true
+ }, getInputProps('api_username'))), Object(external_this_wp_element_["createElement"])(external_this_wc_components_["TextControl"], extends_default()({
+ label: Object(external_this_wp_i18n_["__"])('API Password', 'woocommerce-admin'),
+ required: true
+ }, getInputProps('api_password'))), Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ onClick: handleSubmit,
+ isPrimary: true,
+ disabled: isOptionsRequesting
+ }, Object(external_this_wp_i18n_["__"])('Proceed', 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])("p", null, help));
+ });
+ }
+ }, {
+ key: "getConnectStep",
+ value: function getConnectStep() {
+ var _this$state = this.state,
+ autoConnectFailed = _this$state.autoConnectFailed,
+ connectURL = _this$state.connectURL,
+ isPending = _this$state.isPending;
+ var connectStep = {
+ key: 'connect',
+ label: Object(external_this_wp_i18n_["__"])('Connect your PayPal account', 'woocommerce-admin')
+ };
+
+ if (isPending) {
+ return connectStep;
+ }
+
+ if (!autoConnectFailed && connectURL) {
+ return paypal_objectSpread({}, connectStep, {
+ description: Object(external_this_wp_i18n_["__"])('A Paypal account is required to process payments. You will be redirected to the Paypal website to create the connection.', 'woocommerce-admin'),
+ content: this.renderConnectButton()
+ });
+ }
+
+ return paypal_objectSpread({}, connectStep, {
+ description: Object(external_this_wp_i18n_["__"])('Connect your store to your PayPal account. Don’t have a PayPal account? Create one.', 'woocommerce-admin'),
+ content: this.renderManualConfig()
+ });
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var installStep = this.props.installStep;
+ var isPending = this.state.isPending;
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Stepper"], {
+ isVertical: true,
+ isPending: !installStep.isComplete || isPending,
+ currentStep: installStep.isComplete ? 'connect' : 'install',
+ steps: [installStep, this.getConnectStep()]
+ });
+ }
+ }]);
+
+ return PayPal;
+}(external_this_wp_element_["Component"]);
+
+paypal_PayPal.defaultProps = {
+ manualConfig: false // WCS is not required for the PayPal OAuth flow, so we can default to smooth connection.
+
+};
+/* harmony default export */ var paypal = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select) {
+ var _select = select('wc-api'),
+ getOptions = _select.getOptions,
+ isGetOptionsRequesting = _select.isGetOptionsRequesting;
+
+ var _select2 = select(external_this_wc_data_["PLUGINS_STORE_NAME"]),
+ getActivePlugins = _select2.getActivePlugins;
+
+ var options = getOptions(['woocommerce_ppec_paypal_settings']);
+ var isOptionsRequesting = Boolean(isGetOptionsRequesting(['woocommerce_ppec_paypal_settings']));
+ var activePlugins = getActivePlugins();
+ return {
+ activePlugins: activePlugins,
+ options: options,
+ isOptionsRequesting: isOptionsRequesting
+ };
+}), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('core/notices'),
+ createNotice = _dispatch.createNotice;
+
+ var _dispatch2 = dispatch('wc-api'),
+ updateOptions = _dispatch2.updateOptions;
+
+ return {
+ createNotice: createNotice,
+ updateOptions: updateOptions
+ };
+}))(paypal_PayPal));
+// CONCATENATED MODULE: ./client/dashboard/task-list/tasks/payments/klarna.js
+
+
+
+
+
+
+
+
+function klarna_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (klarna_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function klarna_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+var klarna_Klarna = /*#__PURE__*/function (_Component) {
+ inherits_default()(Klarna, _Component);
+
+ var _super = klarna_createSuper(Klarna);
+
+ function Klarna(props) {
+ var _this;
+
+ classCallCheck_default()(this, Klarna);
+
+ _this = _super.call(this, props);
+ _this.continue = _this.continue.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(Klarna, [{
+ key: "continue",
+ value: function _continue() {
+ var _this$props = this.props,
+ markConfigured = _this$props.markConfigured,
+ plugin = _this$props.plugin;
+ var slug = plugin === 'checkout' ? 'klarna-checkout' : 'klarna-payments';
+ markConfigured(slug);
+ }
+ }, {
+ key: "renderConnectStep",
+ value: function renderConnectStep() {
+ var plugin = this.props.plugin;
+ var slug = plugin === 'checkout' ? 'klarna-checkout' : 'klarna-payments';
+ var section = plugin === 'checkout' ? 'kco' : 'klarna_payments';
+ var link = Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: client_settings["a" /* ADMIN_URL */] + 'admin.php?page=wc-settings&tab=checkout§ion=' + section,
+ target: "_blank",
+ type: "external"
+ });
+ var helpLink = Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: 'https://docs.woocommerce.com/document/' + slug + '/#section-3',
+ target: "_blank",
+ type: "external"
+ });
+ var configureText = lib_default()({
+ mixedString: Object(external_this_wp_i18n_["__"])('Klarna can be configured under your {{link}}store settings{{/link}}. Figure out {{helpLink}}what you need{{/helpLink}}.', 'woocommerce-admin'),
+ components: {
+ link: link,
+ helpLink: helpLink
+ }
+ });
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])("p", null, configureText), Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isPrimary: true,
+ isDefault: true,
+ onClick: this.continue
+ }, Object(external_this_wp_i18n_["__"])('Continue', 'woocommerce-admin')));
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var installStep = this.props.installStep;
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Stepper"], {
+ isVertical: true,
+ isPending: !installStep.isComplete,
+ currentStep: installStep.isComplete ? 'connect' : 'install',
+ steps: [installStep, {
+ key: 'connect',
+ label: Object(external_this_wp_i18n_["__"])('Connect your Klarna account', 'woocommerce-admin'),
+ content: this.renderConnectStep()
+ }]
+ });
+ }
+ }]);
+
+ return Klarna;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var klarna = (klarna_Klarna);
+// CONCATENATED MODULE: ./client/dashboard/task-list/tasks/payments/payfast.js
+
+
+
+
+
+
+
+
+function payfast_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (payfast_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function payfast_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var payfast_PayFast = /*#__PURE__*/function (_Component) {
+ inherits_default()(PayFast, _Component);
+
+ var _super = payfast_createSuper(PayFast);
+
+ function PayFast() {
+ var _temp, _this;
+
+ classCallCheck_default()(this, PayFast);
+
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
+ args[_key] = arguments[_key];
+ }
+
+ return possibleConstructorReturn_default()(_this, (_temp = _this = _super.call.apply(_super, [this].concat(args)), _this.getInitialConfigValues = function () {
+ return {
+ merchant_id: '',
+ merchant_key: '',
+ pass_phrase: ''
+ };
+ }, _this.validate = function (values) {
+ var errors = {};
+
+ if (!values.merchant_id) {
+ errors.merchant_id = Object(external_this_wp_i18n_["__"])('Please enter your merchant ID', 'woocommerce-admin');
+ }
+
+ if (!values.merchant_key) {
+ errors.merchant_key = Object(external_this_wp_i18n_["__"])('Please enter your merchant key', 'woocommerce-admin');
+ }
+
+ if (!values.pass_phrase) {
+ errors.pass_phrase = Object(external_this_wp_i18n_["__"])('Please enter your passphrase', 'woocommerce-admin');
+ }
+
+ return errors;
+ }, _this.updateSettings = function (values) {
+ var updateOptions = _this.props.updateOptions; // Because the PayFast extension only works with the South African Rand
+ // currency, force the store to use it while setting the PayFast settings
+
+ updateOptions({
+ woocommerce_currency: 'ZAR',
+ woocommerce_payfast_settings: {
+ merchant_id: values.merchant_id,
+ merchant_key: values.merchant_key,
+ pass_phrase: values.pass_phrase,
+ enabled: 'yes'
+ }
+ });
+ }, _temp));
+ }
+
+ createClass_default()(PayFast, [{
+ key: "componentDidUpdate",
+ value: function componentDidUpdate(prevProps) {
+ var _this$props = this.props,
+ createNotice = _this$props.createNotice,
+ isOptionsRequesting = _this$props.isOptionsRequesting,
+ hasOptionsError = _this$props.hasOptionsError,
+ markConfigured = _this$props.markConfigured;
+
+ if (prevProps.isOptionsRequesting && !isOptionsRequesting) {
+ if (!hasOptionsError) {
+ markConfigured('payfast');
+ createNotice('success', Object(external_this_wp_i18n_["__"])('PayFast connected successfully', 'woocommerce-admin'));
+ } else {
+ createNotice('error', Object(external_this_wp_i18n_["__"])('There was a problem saving your payment setings', 'woocommerce-admin'));
+ }
+ }
+ }
+ }, {
+ key: "renderConnectStep",
+ value: function renderConnectStep() {
+ var isOptionsRequesting = this.props.isOptionsRequesting;
+ var helpText = lib_default()({
+ mixedString: Object(external_this_wp_i18n_["__"])('Your API details can be obtained from your {{link}}PayFast account{{/link}}', 'woocommerce-admin'),
+ components: {
+ link: Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: "https://www.payfast.co.za/",
+ target: "_blank",
+ type: "external"
+ })
+ }
+ });
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Form"], {
+ initialValues: this.getInitialConfigValues(),
+ onSubmitCallback: this.updateSettings,
+ validate: this.validate
+ }, function (_ref) {
+ var getInputProps = _ref.getInputProps,
+ handleSubmit = _ref.handleSubmit;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["TextControl"], extends_default()({
+ label: Object(external_this_wp_i18n_["__"])('Merchant ID', 'woocommerce-admin'),
+ required: true
+ }, getInputProps('merchant_id'))), Object(external_this_wp_element_["createElement"])(external_this_wc_components_["TextControl"], extends_default()({
+ label: Object(external_this_wp_i18n_["__"])('Merchant Key', 'woocommerce-admin'),
+ required: true
+ }, getInputProps('merchant_key'))), Object(external_this_wp_element_["createElement"])(external_this_wc_components_["TextControl"], extends_default()({
+ label: Object(external_this_wp_i18n_["__"])('Passphrase', 'woocommerce-admin'),
+ required: true
+ }, getInputProps('pass_phrase'))), Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isPrimary: true,
+ isBusy: isOptionsRequesting,
+ onClick: handleSubmit
+ }, Object(external_this_wp_i18n_["__"])('Proceed', 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])("p", null, helpText));
+ });
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props2 = this.props,
+ installStep = _this$props2.installStep,
+ isOptionsRequesting = _this$props2.isOptionsRequesting;
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Stepper"], {
+ isVertical: true,
+ isPending: !installStep.isComplete || isOptionsRequesting,
+ currentStep: installStep.isComplete ? 'connect' : 'install',
+ steps: [installStep, {
+ key: 'connect',
+ label: Object(external_this_wp_i18n_["__"])('Connect your PayFast account', 'woocommerce-admin'),
+ content: this.renderConnectStep()
+ }]
+ });
+ }
+ }]);
+
+ return PayFast;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var payfast = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select) {
+ var _select = select('wc-api'),
+ getOptionsError = _select.getOptionsError,
+ isUpdateOptionsRequesting = _select.isUpdateOptionsRequesting;
+
+ var isOptionsRequesting = Boolean(isUpdateOptionsRequesting(['woocommerce_currency', 'woocommerce_payfast_settings']));
+ var hasOptionsError = getOptionsError(['woocommerce_currency', 'woocommerce_payfast_settings']);
+ return {
+ hasOptionsError: hasOptionsError,
+ isOptionsRequesting: isOptionsRequesting
+ };
+}), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('core/notices'),
+ createNotice = _dispatch.createNotice;
+
+ var _dispatch2 = dispatch('wc-api'),
+ updateOptions = _dispatch2.updateOptions;
+
+ return {
+ createNotice: createNotice,
+ updateOptions: updateOptions
+ };
+}))(payfast_PayFast));
+// CONCATENATED MODULE: ./client/dashboard/task-list/tasks/payments/methods.js
+
+
+/**
+ * External dependencies
+ */
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+
+
+
+
+function getPaymentMethods(_ref) {
+ var activePlugins = _ref.activePlugins,
+ countryCode = _ref.countryCode,
+ isJetpackConnected = _ref.isJetpackConnected,
+ options = _ref.options,
+ profileItems = _ref.profileItems;
+ var stripeCountries = Object(client_settings["g" /* getSetting */])('onboarding', {
+ stripeSupportedCountries: []
+ }).stripeSupportedCountries;
+ var hasCbdIndustry = Object(external_lodash_["some"])(profileItems.industry, {
+ slug: 'cbd-other-hemp-derived-products'
+ }) || false;
+ var methods = [];
+
+ if (true) {
+ var tosLink = Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: 'https://wordpress.com/tos/',
+ target: "_blank",
+ type: "external"
+ });
+ var tosPrompt = lib_default()({
+ mixedString: Object(external_this_wp_i18n_["__"])('By clicking "Set up," you agree to the {{link}}Terms of Service{{/link}}', 'woocommerce-admin'),
+ components: {
+ link: tosLink
+ }
+ });
+ var wcPayDocLink = Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: 'https://docs.woocommerce.com/document/payments/testing/dev-mode/',
+ target: "_blank",
+ type: "external"
+ });
+ var wcPayDocPrompt = lib_default()({
+ mixedString: Object(external_this_wp_i18n_["__"])('Setting up a store for a client? {{link}}Start here{{/link}}', 'woocommerce-admin'),
+ components: {
+ link: wcPayDocLink
+ }
+ });
+ var wcPaySettingsLink = Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
+ href: '/wp-admin/admin.php?page=wc-settings&tab=checkout§ion=woocommerce_payments'
+ }, Object(external_this_wp_i18n_["__"])('Settings', 'woocommerce-admin')); // @todo This should check actual connection information.
+
+ var wcPayIsConfigured = activePlugins.includes('woocommerce-payments');
+ methods.push({
+ key: 'wcpay',
+ title: Object(external_this_wp_i18n_["__"])('WooCommerce Payments', 'woocommerce-admin'),
+ content: Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_i18n_["__"])('Accept credit card payments the easy way! No setup fees. No ' + 'monthly fees. Just 2.9% + $0.30 per transaction ' + 'on U.S. issued cards. ', 'woocommerce-admin'), wcPayIsConfigured && wcPaySettingsLink, !wcPayIsConfigured && Object(external_this_wp_element_["createElement"])("p", null, tosPrompt), profileItems.setup_client && Object(external_this_wp_element_["createElement"])("p", null, wcPayDocPrompt)),
+ before: Object(external_this_wp_element_["createElement"])(images_wcpay, null),
+ visible: ['US'].includes(countryCode) && !hasCbdIndustry && isJetpackConnected,
+ plugins: ['woocommerce-payments'],
+ container: Object(external_this_wp_element_["createElement"])(wcpay, null),
+ isConfigured: wcPayIsConfigured,
+ isEnabled: options.woocommerce_woocommerce_payments_settings && options.woocommerce_woocommerce_payments_settings.enabled === 'yes',
+ optionName: 'woocommerce_woocommerce_payments_settings'
+ });
+ }
+
+ methods.push({
+ key: 'stripe',
+ title: Object(external_this_wp_i18n_["__"])('Credit cards - powered by Stripe', 'woocommerce-admin'),
+ content: Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_i18n_["__"])('Accept debit and credit cards in 135+ currencies, methods such as Alipay, ' + 'and one-touch checkout with Apple Pay.', 'woocommerce-admin')),
+ before: Object(external_this_wp_element_["createElement"])("img", {
+ src: client_settings["e" /* WC_ASSET_URL */] + 'images/stripe.png',
+ alt: ""
+ }),
+ visible: stripeCountries.includes(countryCode) && !hasCbdIndustry,
+ plugins: ['woocommerce-gateway-stripe'],
+ container: Object(external_this_wp_element_["createElement"])(stripe, null),
+ isConfigured: options.woocommerce_stripe_settings && options.woocommerce_stripe_settings.publishable_key && options.woocommerce_stripe_settings.secret_key,
+ isEnabled: options.woocommerce_stripe_settings && options.woocommerce_stripe_settings.enabled === 'yes',
+ optionName: 'woocommerce_stripe_settings'
+ }, {
+ key: 'paypal',
+ title: Object(external_this_wp_i18n_["__"])('PayPal Checkout', 'woocommerce-admin'),
+ content: Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_i18n_["__"])("Safe and secure payments using credit cards or your customer's PayPal account.", 'woocommerce-admin')),
+ before: Object(external_this_wp_element_["createElement"])("img", {
+ src: client_settings["e" /* WC_ASSET_URL */] + 'images/paypal.png',
+ alt: ""
+ }),
+ visible: !hasCbdIndustry,
+ plugins: ['woocommerce-gateway-paypal-express-checkout'],
+ container: Object(external_this_wp_element_["createElement"])(paypal, null),
+ isConfigured: options.woocommerce_ppec_paypal_settings && options.woocommerce_ppec_paypal_settings.api_username && options.woocommerce_ppec_paypal_settings.api_password,
+ isEnabled: options.woocommerce_ppec_paypal_settings && options.woocommerce_ppec_paypal_settings.enabled === 'yes',
+ optionName: 'woocommerce_ppec_paypal_settings'
+ }, {
+ key: 'klarna_checkout',
+ title: Object(external_this_wp_i18n_["__"])('Klarna Checkout', 'woocommerce-admin'),
+ content: Object(external_this_wp_i18n_["__"])('Choose the payment that you want, pay now, pay later or slice it. No credit card numbers, no passwords, no worries.', 'woocommerce-admin'),
+ before: Object(external_this_wp_element_["createElement"])("img", {
+ src: client_settings["e" /* WC_ASSET_URL */] + 'images/klarna-black.png',
+ alt: ""
+ }),
+ visible: ['SE', 'FI', 'NO', 'NL'].includes(countryCode) && !hasCbdIndustry,
+ plugins: ['klarna-checkout-for-woocommerce'],
+ container: Object(external_this_wp_element_["createElement"])(klarna, {
+ plugin: 'checkout'
+ }),
+ // @todo This should check actual Klarna connection information.
+ isConfigured: activePlugins.includes('klarna-checkout-for-woocommerce'),
+ isEnabled: options.woocommerce_kco_settings && options.woocommerce_kco_settings.enabled === 'yes',
+ optionName: 'woocommerce_kco_settings'
+ }, {
+ key: 'klarna_payments',
+ title: Object(external_this_wp_i18n_["__"])('Klarna Payments', 'woocommerce-admin'),
+ content: Object(external_this_wp_i18n_["__"])('Choose the payment that you want, pay now, pay later or slice it. No credit card numbers, no passwords, no worries.', 'woocommerce-admin'),
+ before: Object(external_this_wp_element_["createElement"])("img", {
+ src: client_settings["e" /* WC_ASSET_URL */] + 'images/klarna-black.png',
+ alt: ""
+ }),
+ visible: ['DK', 'DE', 'AT'].includes(countryCode) && !hasCbdIndustry,
+ plugins: ['klarna-payments-for-woocommerce'],
+ container: Object(external_this_wp_element_["createElement"])(klarna, {
+ plugin: 'payments'
+ }),
+ // @todo This should check actual Klarna connection information.
+ isConfigured: activePlugins.includes('klarna-payments-for-woocommerce'),
+ isEnabled: options.woocommerce_klarna_payments_settings && options.woocommerce_klarna_payments_settings.enabled === 'yes',
+ optionName: 'woocommerce_klarna_payments_settings'
+ }, {
+ key: 'square',
+ title: Object(external_this_wp_i18n_["__"])('Square', 'woocommerce-admin'),
+ content: Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_i18n_["__"])('Securely accept credit and debit cards with one low rate, no surprise fees (custom rates available). ' + 'Sell online and in store and track sales and inventory in one place.', 'woocommerce-admin'), hasCbdIndustry && Object(external_this_wp_element_["createElement"])("span", {
+ className: "text-style-strong"
+ }, Object(external_this_wp_i18n_["__"])(' Selling CBD products is only supported by Square.', 'woocommerce-admin'))),
+ before: Object(external_this_wp_element_["createElement"])("img", {
+ src: client_settings["e" /* WC_ASSET_URL */] + 'images/square-black.png',
+ alt: ""
+ }),
+ visible: hasCbdIndustry && ['US'].includes(countryCode) || ['brick-mortar', 'brick-mortar-other'].includes(profileItems.selling_venues) && ['US', 'CA', 'JP', 'GB', 'AU'].includes(countryCode),
+ plugins: ['woocommerce-square'],
+ container: Object(external_this_wp_element_["createElement"])(square, null),
+ isConfigured: options.wc_square_refresh_tokens && options.wc_square_refresh_tokens.length,
+ isEnabled: options.woocommerce_square_credit_card_settings && options.woocommerce_square_credit_card_settings.enabled === 'yes',
+ optionName: 'woocommerce_square_credit_card_settings',
+ hasCbdIndustry: hasCbdIndustry
+ }, {
+ key: 'payfast',
+ title: Object(external_this_wp_i18n_["__"])('PayFast', 'woocommerce-admin'),
+ content: Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_i18n_["__"])('The PayFast extension for WooCommerce enables you to accept payments by Credit Card and EFT via one of South Africa’s most popular payment gateways. No setup fees or monthly subscription costs.', 'woocommerce-admin'), Object(external_this_wp_element_["createElement"])("p", null, Object(external_this_wp_i18n_["__"])('Selecting this extension will configure your store to use South African rands as the selected currency.', 'woocommerce-admin'))),
+ before: Object(external_this_wp_element_["createElement"])("img", {
+ src: client_settings["e" /* WC_ASSET_URL */] + 'images/payfast.png',
+ alt: "PayFast logo"
+ }),
+ visible: ['ZA'].includes(countryCode) && !hasCbdIndustry,
+ plugins: ['woocommerce-payfast-gateway'],
+ container: Object(external_this_wp_element_["createElement"])(payfast, null),
+ isConfigured: options.woocommerce_payfast_settings && options.woocommerce_payfast_settings.merchant_id && options.woocommerce_payfast_settings.merchant_key && options.woocommerce_payfast_settings.pass_phrase,
+ isEnabled: options.woocommerce_payfast_settings && options.woocommerce_payfast_settings.enabled === 'yes',
+ optionName: 'woocommerce_payfast_settings'
+ }, {
+ key: 'cod',
+ title: Object(external_this_wp_i18n_["__"])('Cash on delivery', 'woocommerce-admin'),
+ content: Object(external_this_wp_i18n_["__"])('Take payments in cash upon delivery.', 'woocommerce-admin'),
+ before: Object(external_this_wp_element_["createElement"])(cod, null),
+ visible: !hasCbdIndustry,
+ isEnabled: options.woocommerce_cod_settings && options.woocommerce_cod_settings.enabled === 'yes',
+ optionName: 'woocommerce_cod_settings'
+ }, {
+ key: 'bacs',
+ title: Object(external_this_wp_i18n_["__"])('Direct bank transfer', 'woocommerce-admin'),
+ content: Object(external_this_wp_i18n_["__"])('Take payments via bank transfer.', 'woocommerce-admin'),
+ before: Object(external_this_wp_element_["createElement"])(images_bacs, null),
+ visible: !hasCbdIndustry,
+ container: Object(external_this_wp_element_["createElement"])(bacs, null),
+ isConfigured: options.woocommerce_bacs_accounts && options.woocommerce_bacs_accounts.length,
+ isEnabled: options.woocommerce_bacs_settings && options.woocommerce_bacs_settings.enabled === 'yes',
+ optionName: 'woocommerce_bacs_settings'
+ });
+ return Object(external_lodash_["filter"])(methods, function (method) {
+ return method.visible;
+ });
+}
+// CONCATENATED MODULE: ./client/dashboard/task-list/tasks/payments/index.js
+
+
+
+
+
+
+
+
+
+function payments_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function payments_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { payments_ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { payments_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+function payments_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (payments_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function payments_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+var payments_Payments = /*#__PURE__*/function (_Component) {
+ inherits_default()(Payments, _Component);
+
+ var _super = payments_createSuper(Payments);
+
+ function Payments(props) {
+ var _this;
+
+ classCallCheck_default()(this, Payments);
+
+ _this = _super.apply(this, arguments);
+ var methods = props.methods;
+ var enabledMethods = {};
+ methods.forEach(function (method) {
+ return enabledMethods[method.key] = method.isEnabled;
+ });
+ _this.state = {
+ enabledMethods: enabledMethods
+ };
+ _this.recommendedMethod = 'stripe';
+ methods.forEach(function (method) {
+ if (method.key === 'wcpay' && method.visible) {
+ _this.recommendedMethod = 'wcpay';
+ }
+ });
+ _this.completeTask = _this.completeTask.bind(assertThisInitialized_default()(_this));
+ _this.markConfigured = _this.markConfigured.bind(assertThisInitialized_default()(_this));
+ _this.skipTask = _this.skipTask.bind(assertThisInitialized_default()(_this));
+ return _this;
+ }
+
+ createClass_default()(Payments, [{
+ key: "componentDidUpdate",
+ value: function componentDidUpdate(prevProps) {
+ var _this$props = this.props,
+ createNotice = _this$props.createNotice,
+ errors = _this$props.errors,
+ methods = _this$props.methods,
+ requesting = _this$props.requesting;
+ methods.forEach(function (method) {
+ var key = method.key,
+ title = method.title;
+
+ if (prevProps.requesting[key] && !requesting[key] && errors[key]) {
+ createNotice('error', Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('There was a problem updating settings for %s', 'woocommerce-admin'), title));
+ }
+ });
+ }
+ }, {
+ key: "completeTask",
+ value: function completeTask() {
+ var _this$props2 = this.props,
+ createNotice = _this$props2.createNotice,
+ methods = _this$props2.methods,
+ updateOptions = _this$props2.updateOptions;
+ updateOptions({
+ woocommerce_task_list_payments: {
+ completed: 1,
+ timestamp: Math.floor(Date.now() / 1000)
+ }
+ });
+ Object(tracks["b" /* recordEvent */])('tasklist_payment_done', {
+ configured: methods.filter(function (method) {
+ return method.isConfigured;
+ }).map(function (method) {
+ return method.key;
+ })
+ });
+ createNotice('success', Object(external_this_wp_i18n_["__"])('💰 Ka-ching! Your store can now accept payments 💳', 'woocommerce-admin'));
+ Object(external_this_wc_navigation_["getHistory"])().push(Object(external_this_wc_navigation_["getNewPath"])({}, '/', {}));
+ }
+ }, {
+ key: "skipTask",
+ value: function skipTask() {
+ var _this$props3 = this.props,
+ methods = _this$props3.methods,
+ updateOptions = _this$props3.updateOptions;
+ updateOptions({
+ woocommerce_task_list_payments: {
+ skipped: 1,
+ timestamp: Math.floor(Date.now() / 1000)
+ }
+ });
+ Object(tracks["b" /* recordEvent */])('tasklist_payment_skip_task', {
+ options: methods.map(function (method) {
+ return method.key;
+ })
+ });
+ Object(external_this_wc_navigation_["getHistory"])().push(Object(external_this_wc_navigation_["getNewPath"])({}, '/', {}));
+ }
+ }, {
+ key: "markConfigured",
+ value: function markConfigured(method) {
+ var enabledMethods = this.state.enabledMethods;
+ this.setState({
+ enabledMethods: payments_objectSpread({}, enabledMethods, defineProperty_default()({}, method, true))
+ });
+ Object(external_this_wc_navigation_["getHistory"])().push(Object(external_this_wc_navigation_["getNewPath"])({
+ task: 'payments'
+ }, '/', {}));
+ Object(tracks["b" /* recordEvent */])('tasklist_payment_connect_method', {
+ payment_method: method
+ });
+ }
+ }, {
+ key: "getCurrentMethod",
+ value: function getCurrentMethod() {
+ var _this$props4 = this.props,
+ methods = _this$props4.methods,
+ query = _this$props4.query;
+
+ if (!query.method) {
+ return;
+ }
+
+ return methods.find(function (method) {
+ return method.key === query.method;
+ });
+ }
+ }, {
+ key: "getInstallStep",
+ value: function getInstallStep() {
+ var currentMethod = this.getCurrentMethod();
+
+ if (!currentMethod.plugins || !currentMethod.plugins.length) {
+ return;
+ }
+
+ var activePlugins = this.props.activePlugins;
+ var pluginsToInstall = currentMethod.plugins.filter(function (method) {
+ return !activePlugins.includes(method);
+ });
+ var pluginNamesString = currentMethod.plugins.map(function (pluginSlug) {
+ return onboarding_constants["a" /* pluginNames */][pluginSlug];
+ }).join(' ' + Object(external_this_wp_i18n_["__"])('and', 'woocommerce-admin') + ' ');
+ return {
+ key: 'install',
+ label: Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["__"])('Install %s', 'woocommerce-admin'), pluginNamesString),
+ content: Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Plugins"], {
+ onComplete: function onComplete() {
+ Object(tracks["b" /* recordEvent */])('tasklist_payment_install_method', {
+ plugins: currentMethod.plugins
+ });
+ },
+ autoInstall: true,
+ pluginSlugs: currentMethod.plugins
+ }),
+ isComplete: !pluginsToInstall.length
+ };
+ }
+ }, {
+ key: "toggleMethod",
+ value: function toggleMethod(key) {
+ var _this$props5 = this.props,
+ methods = _this$props5.methods,
+ options = _this$props5.options,
+ updateOptions = _this$props5.updateOptions;
+ var enabledMethods = this.state.enabledMethods;
+ var method = methods.find(function (option) {
+ return option.key === key;
+ });
+ enabledMethods[key] = !enabledMethods[key];
+ this.setState({
+ enabledMethods: enabledMethods
+ });
+ Object(tracks["b" /* recordEvent */])('tasklist_payment_toggle', {
+ enabled: !method.isEnabled,
+ payment_method: key
+ });
+ updateOptions(defineProperty_default()({}, method.optionName, payments_objectSpread({}, options[method.optionName], {
+ enabled: method.isEnabled ? 'no' : 'yes'
+ })));
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this2 = this;
+
+ var currentMethod = this.getCurrentMethod();
+ var _this$props6 = this.props,
+ methods = _this$props6.methods,
+ query = _this$props6.query;
+ var enabledMethods = this.state.enabledMethods;
+ var configuredMethods = methods.filter(function (method) {
+ return method.isConfigured;
+ }).length;
+
+ if (currentMethod) {
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Card"], {
+ className: "woocommerce-task-payment-method is-narrow"
+ }, Object(external_this_wp_element_["cloneElement"])(currentMethod.container, {
+ query: query,
+ installStep: this.getInstallStep(),
+ markConfigured: this.markConfigured,
+ hasCbdIndustry: currentMethod.hasCbdIndustry
+ }));
+ }
+
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-task-payments"
+ }, methods.map(function (method) {
+ var before = method.before,
+ container = method.container,
+ content = method.content,
+ isConfigured = method.isConfigured,
+ key = method.key,
+ title = method.title,
+ visible = method.visible;
+
+ if (!visible) {
+ return null;
+ }
+
+ var classes = classnames_default()('woocommerce-task-payment', 'is-narrow', !isConfigured && 'woocommerce-task-payment-not-configured', 'woocommerce-task-payment-' + key);
+ var isRecommended = key === _this2.recommendedMethod && !isConfigured;
+ var showRecommendedRibbon = isRecommended && _this2.recommendedMethod !== 'wcpay';
+ var showRecommendedPill = isRecommended && _this2.recommendedMethod === 'wcpay';
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Card"], {
+ key: key,
+ className: classes
+ }, Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-task-payment__before"
+ }, showRecommendedRibbon && Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-task-payment__recommended-ribbon"
+ }, Object(external_this_wp_element_["createElement"])("span", null, Object(external_this_wp_i18n_["__"])('Recommended', 'woocommerce-admin'))), before), Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-task-payment__text"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["H"], {
+ className: "woocommerce-task-payment__title"
+ }, title, showRecommendedPill && Object(external_this_wp_element_["createElement"])("span", {
+ className: "woocommerce-task-payment__recommended-pill"
+ }, Object(external_this_wp_i18n_["__"])('Recommended', 'woocommerce-admin'))), Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-task-payment__content"
+ }, content)), Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-task-payment__after"
+ }, container && !isConfigured ? Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isPrimary: key === _this2.recommendedMethod,
+ isDefault: key !== _this2.recommendedMethod,
+ onClick: function onClick() {
+ Object(tracks["b" /* recordEvent */])('tasklist_payment_setup', {
+ options: methods.map(function (option) {
+ return option.key;
+ }),
+ selected: key
+ });
+ Object(external_this_wc_navigation_["updateQueryString"])({
+ method: key
+ });
+ }
+ }, Object(external_this_wp_i18n_["__"])('Set up', 'woocommerce-admin')) : Object(external_this_wp_element_["createElement"])(form_toggle["a" /* default */], {
+ checked: enabledMethods[key],
+ onChange: function onChange() {
+ return _this2.toggleMethod(key);
+ },
+ onClick: function onClick(e) {
+ return e.stopPropagation();
+ }
+ })));
+ }), Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-task-payments__actions"
+ }, configuredMethods.length === 0 ? Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isLink: true,
+ onClick: this.skipTask
+ }, Object(external_this_wp_i18n_["__"])('My store doesn’t take payments', 'woocommerce-admin')) : Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isPrimary: true,
+ onClick: this.completeTask
+ }, Object(external_this_wp_i18n_["__"])('Done', 'woocommerce-admin'))));
+ }
+ }]);
+
+ return Payments;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var payments = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select) {
+ var _select = select('wc-api'),
+ getProfileItems = _select.getProfileItems,
+ getOptions = _select.getOptions,
+ getUpdateOptionsError = _select.getUpdateOptionsError,
+ isUpdateOptionsRequesting = _select.isUpdateOptionsRequesting;
+
+ var _select2 = select(external_this_wc_data_["PLUGINS_STORE_NAME"]),
+ getActivePlugins = _select2.getActivePlugins,
+ isJetpackConnected = _select2.isJetpackConnected;
+
+ var activePlugins = getActivePlugins();
+ var profileItems = getProfileItems();
+ var options = getOptions(['woocommerce_default_country', 'woocommerce_woocommerce_payments_settings', 'woocommerce_stripe_settings', 'woocommerce_ppec_paypal_settings', 'woocommerce_payfast_settings', 'woocommerce_square_credit_card_settings', 'woocommerce_klarna_payments_settings', 'woocommerce_kco_settings', 'wc_square_refresh_tokens', 'woocommerce_cod_settings', 'woocommerce_bacs_settings', 'woocommerce_bacs_accounts']);
+ var countryCode = Object(utils["a" /* getCountryCode */])(options.woocommerce_default_country);
+ var methods = getPaymentMethods({
+ activePlugins: activePlugins,
+ countryCode: countryCode,
+ isJetpackConnected: isJetpackConnected(),
+ options: options,
+ profileItems: profileItems
+ });
+ var errors = {};
+ var requesting = {};
+ methods.forEach(function (method) {
+ errors[method.key] = Boolean(getUpdateOptionsError([method.optionName]));
+ requesting[method.key] = Boolean(isUpdateOptionsRequesting([method.optionName]));
+ });
+ return {
+ countryCode: countryCode,
+ errors: errors,
+ profileItems: profileItems,
+ activePlugins: activePlugins,
+ options: options,
+ methods: methods,
+ requesting: requesting
+ };
+}), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('core/notices'),
+ createNotice = _dispatch.createNotice;
+
+ var _dispatch2 = dispatch('wc-api'),
+ updateOptions = _dispatch2.updateOptions;
+
+ return {
+ createNotice: createNotice,
+ updateOptions: updateOptions
+ };
+}))(payments_Payments));
+// CONCATENATED MODULE: ./client/dashboard/task-list/tasks.js
+
+
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+
+function getAllTasks(_ref) {
+ var profileItems = _ref.profileItems,
+ options = _ref.options,
+ query = _ref.query,
+ toggleCartModal = _ref.toggleCartModal;
+
+ var _getSetting = Object(client_settings["g" /* getSetting */])('onboarding', {
+ hasPhysicalProducts: false,
+ hasProducts: false,
+ isAppearanceComplete: false,
+ isTaxComplete: false,
+ shippingZonesCount: 0
+ }),
+ hasPhysicalProducts = _getSetting.hasPhysicalProducts,
+ hasProducts = _getSetting.hasProducts,
+ isAppearanceComplete = _getSetting.isAppearanceComplete,
+ isTaxComplete = _getSetting.isTaxComplete,
+ shippingZonesCount = _getSetting.shippingZonesCount;
+
+ var productIds = Object(utils["d" /* getProductIdsForCart */])(profileItems, true);
+ var remainingProductIds = Object(utils["d" /* getProductIdsForCart */])(profileItems);
+ var paymentsCompleted = Object(external_lodash_["get"])(options, ['woocommerce_task_list_payments', 'completed'], false);
+ var paymentsSkipped = Object(external_lodash_["get"])(options, ['woocommerce_task_list_payments', 'skipped'], false);
+ var tasks = [{
+ key: 'purchase',
+ title: Object(external_this_wp_i18n_["__"])('Purchase & install extensions', 'woocommerce-admin'),
+ content: Object(external_this_wp_i18n_["__"])('Purchase, install, and manage your extensions directly from your dashboard', 'wooocommerce-admin'),
+ icon: 'extension',
+ container: null,
+ onClick: function onClick() {
+ return remainingProductIds.length ? toggleCartModal() : null;
+ },
+ visible: productIds.length,
+ completed: !remainingProductIds.length
+ }, {
+ key: 'connect',
+ title: Object(external_this_wp_i18n_["__"])('Connect your store to WooCommerce.com', 'woocommerce-admin'),
+ content: Object(external_this_wp_i18n_["__"])('Install and manage your extensions directly from your Dashboard', 'wooocommerce-admin'),
+ icon: 'extension',
+ container: Object(external_this_wp_element_["createElement"])(tasks_connect, {
+ query: query
+ }),
+ visible: profileItems.items_purchased && !profileItems.wccom_connected,
+ completed: profileItems.wccom_connected
+ }, {
+ key: 'products',
+ title: Object(external_this_wp_i18n_["__"])('Add your first product', 'woocommerce-admin'),
+ content: Object(external_this_wp_i18n_["__"])('Add products manually, import from a sheet or migrate from another platform', 'wooocommerce-admin'),
+ icon: 'add_box',
+ container: Object(external_this_wp_element_["createElement"])(products_Products, null),
+ completed: hasProducts,
+ visible: true
+ }, {
+ key: 'appearance',
+ title: Object(external_this_wp_i18n_["__"])('Personalize your store', 'woocommerce-admin'),
+ content: Object(external_this_wp_i18n_["__"])('Create a custom homepage and upload your logo', 'wooocommerce-admin'),
+ icon: 'palette',
+ container: Object(external_this_wp_element_["createElement"])(appearance, null),
+ completed: isAppearanceComplete,
+ visible: true
+ }, {
+ key: 'shipping',
+ title: Object(external_this_wp_i18n_["__"])('Set up shipping', 'woocommerce-admin'),
+ content: Object(external_this_wp_i18n_["__"])('Configure some basic shipping rates to get started', 'wooocommerce-admin'),
+ icon: 'local_shipping',
+ container: Object(external_this_wp_element_["createElement"])(shipping, null),
+ completed: shippingZonesCount > 0,
+ visible: profileItems.product_types && profileItems.product_types.includes('physical') || hasPhysicalProducts
+ }, {
+ key: 'tax',
+ title: Object(external_this_wp_i18n_["__"])('Set up tax', 'woocommerce-admin'),
+ content: Object(external_this_wp_i18n_["__"])('Choose how to configure tax rates - manually or automatically', 'wooocommerce-admin'),
+ icon: 'account_balance',
+ container: Object(external_this_wp_element_["createElement"])(tax, null),
+ completed: isTaxComplete,
+ visible: true
+ }, {
+ key: 'payments',
+ title: Object(external_this_wp_i18n_["__"])('Set up payments', 'woocommerce-admin'),
+ content: Object(external_this_wp_i18n_["__"])('Select which payment providers you’d like to use and configure them', 'wooocommerce-admin'),
+ icon: 'payment',
+ container: Object(external_this_wp_element_["createElement"])(payments, null),
+ completed: paymentsCompleted || paymentsSkipped,
+ onClick: function onClick() {
+ if (paymentsCompleted || paymentsSkipped) {
+ window.location = Object(client_settings["f" /* getAdminLink */])('admin.php?page=wc-settings&tab=checkout');
+ return;
+ }
+
+ Object(external_this_wc_navigation_["updateQueryString"])({
+ task: 'payments'
+ });
+ },
+ visible: true
+ }];
+ return Object(external_this_wp_hooks_["applyFilters"])('woocommerce_admin_onboarding_task_list', tasks, query);
+}
+// CONCATENATED MODULE: ./client/dashboard/task-list/index.js
+
+
+
+
+
+
+
+
+function task_list_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function task_list_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { task_list_ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { task_list_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+function task_list_createSuper(Derived) { return function () { var Super = getPrototypeOf_default()(Derived), result; if (task_list_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
+
+function task_list_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+
+
+
+
+
+/**
+ * WooCommerce dependencies
+ */
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+var task_list_TaskDashboard = /*#__PURE__*/function (_Component) {
+ inherits_default()(TaskDashboard, _Component);
+
+ var _super = task_list_createSuper(TaskDashboard);
+
+ function TaskDashboard(props) {
+ var _this;
+
+ classCallCheck_default()(this, TaskDashboard);
+
+ _this = _super.call(this, props);
+
+ _this.onSkipStoreSetup = function () {
+ var completedTaskKeys = _this.getTasks().filter(function (x) {
+ return x.completed;
+ }).map(function (x) {
+ return x.key;
+ });
+
+ Object(tracks["b" /* recordEvent */])('tasklist_skip', {
+ completed_tasks_count: completedTaskKeys.length,
+ completed_tasks: completedTaskKeys,
+ reason: 'skip'
+ });
+
+ _this.props.updateOptions({
+ woocommerce_task_list_hidden: 'yes'
+ });
+ };
+
+ _this.state = {
+ isCartModalOpen: false,
+ isWelcomeModalOpen: !props.modalDismissed
+ };
+ return _this;
+ }
+
+ createClass_default()(TaskDashboard, [{
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ var _this$props = this.props,
+ incompleteTasks = _this$props.incompleteTasks,
+ updateOptions = _this$props.updateOptions;
+ document.body.classList.add('woocommerce-onboarding');
+ document.body.classList.add('woocommerce-task-dashboard__body');
+ this.recordTaskView();
+ this.recordTaskListView();
+
+ if (!incompleteTasks.length) {
+ updateOptions({
+ woocommerce_task_list_complete: true
+ });
+ }
+
+ this.possiblyTrackCompletedTasks();
+ }
+ }, {
+ key: "componentDidUpdate",
+ value: function componentDidUpdate(prevProps) {
+ var _this$props2 = this.props,
+ completedTaskKeys = _this$props2.completedTaskKeys,
+ incompleteTasks = _this$props2.incompleteTasks,
+ query = _this$props2.query,
+ updateOptions = _this$props2.updateOptions;
+ var prevCompletedTaskKeys = prevProps.completedTaskKeys,
+ prevIncompleteTasks = prevProps.incompleteTasks,
+ prevQuery = prevProps.query;
+ var prevTask = prevQuery.task;
+ var task = query.task;
+
+ if (prevTask !== task) {
+ window.document.documentElement.scrollTop = 0;
+ this.recordTaskView();
+ }
+
+ if (!incompleteTasks.length && prevIncompleteTasks.length) {
+ updateOptions({
+ woocommerce_task_list_complete: true
+ });
+ }
+
+ if (!Object(external_lodash_["isEqual"])(prevCompletedTaskKeys, completedTaskKeys)) {
+ this.possiblyTrackCompletedTasks();
+ }
+ }
+ }, {
+ key: "possiblyTrackCompletedTasks",
+ value: function possiblyTrackCompletedTasks() {
+ var _this$props3 = this.props,
+ completedTaskKeys = _this$props3.completedTaskKeys,
+ trackedCompletedTasks = _this$props3.trackedCompletedTasks,
+ updateOptions = _this$props3.updateOptions;
+
+ if (!Object(external_lodash_["isEqual"])(trackedCompletedTasks, completedTaskKeys)) {
+ updateOptions({
+ woocommerce_task_list_tracked_completed_tasks: completedTaskKeys
+ });
+ }
+ }
+ }, {
+ key: "componentWillUnmount",
+ value: function componentWillUnmount() {
+ document.body.classList.remove('woocommerce-onboarding');
+ document.body.classList.remove('woocommerce-task-dashboard__body');
+ }
+ }, {
+ key: "getTasks",
+ value: function getTasks() {
+ var _this$props4 = this.props,
+ profileItems = _this$props4.profileItems,
+ query = _this$props4.query,
+ taskListPayments = _this$props4.taskListPayments;
+ return getAllTasks({
+ profileItems: profileItems,
+ options: taskListPayments,
+ query: query,
+ toggleCartModal: this.toggleCartModal.bind(this)
+ }).filter(function (task) {
+ return task.visible;
+ });
+ }
+ }, {
+ key: "getPluginsInformation",
+ value: function getPluginsInformation() {
+ var _this$props5 = this.props,
+ isJetpackConnected = _this$props5.isJetpackConnected,
+ activePlugins = _this$props5.activePlugins,
+ installedPlugins = _this$props5.installedPlugins;
+ return {
+ wcs_installed: installedPlugins.includes('woocommerce-services'),
+ wcs_active: activePlugins.includes('woocommerce-services'),
+ jetpack_installed: installedPlugins.includes('jetpack'),
+ jetpack_active: activePlugins.includes('jetpack'),
+ jetpack_connected: isJetpackConnected
+ };
+ }
+ }, {
+ key: "recordTaskView",
+ value: function recordTaskView() {
+ var task = this.props.query.task; // eslint-disable-next-line @wordpress/no-unused-vars-before-return
+
+ var pluginsInformation = this.getPluginsInformation();
+
+ if (!task) {
+ return;
+ }
+
+ Object(tracks["b" /* recordEvent */])('task_view', task_list_objectSpread({
+ task_name: task
+ }, pluginsInformation));
+ }
+ }, {
+ key: "recordTaskListView",
+ value: function recordTaskListView() {
+ if (this.getCurrentTask()) {
+ return;
+ }
+
+ var profileItems = this.props.profileItems;
+ var tasks = this.getTasks();
+ Object(tracks["b" /* recordEvent */])('tasklist_view', {
+ number_tasks: tasks.length,
+ store_connected: profileItems.wccom_connected
+ });
+ }
+ }, {
+ key: "keepTaskCard",
+ value: function keepTaskCard() {
+ Object(tracks["b" /* recordEvent */])('tasklist_completed', {
+ action: 'keep_card'
+ });
+ this.props.updateOptions({
+ woocommerce_task_list_prompt_shown: true
+ });
+ }
+ }, {
+ key: "hideTaskCard",
+ value: function hideTaskCard(action) {
+ Object(tracks["b" /* recordEvent */])('tasklist_completed', {
+ action: action
+ });
+ this.props.updateOptions({
+ woocommerce_task_list_hidden: 'yes',
+ woocommerce_task_list_prompt_shown: true
+ });
+ }
+ }, {
+ key: "getCurrentTask",
+ value: function getCurrentTask() {
+ var task = this.props.query.task;
+ var currentTask = this.getTasks().find(function (s) {
+ return s.key === task;
+ });
+
+ if (!currentTask) {
+ return null;
+ }
+
+ return currentTask;
+ }
+ }, {
+ key: "renderPrompt",
+ value: function renderPrompt() {
+ var _this2 = this;
+
+ if (this.props.promptShown) {
+ return null;
+ }
+
+ return Object(external_this_wp_element_["createElement"])(snackbar["a" /* default */], {
+ className: "woocommerce-task-card__prompt"
+ }, Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-task-card__prompt-pointer"
+ }), Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-task-card__prompt-content"
+ }, Object(external_this_wp_element_["createElement"])("span", null, Object(external_this_wp_i18n_["__"])('Is this card useful?', 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-task-card__prompt-actions"
+ }, Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isLink: true,
+ onClick: function onClick() {
+ return _this2.hideTaskCard('hide_card');
+ }
+ }, Object(external_this_wp_i18n_["__"])('No, hide it', 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isLink: true,
+ onClick: function onClick() {
+ return _this2.keepTaskCard();
+ }
+ }, Object(external_this_wp_i18n_["__"])('Yes, keep it', 'woocommerce-admin')))));
+ }
+ }, {
+ key: "renderMenu",
+ value: function renderMenu() {
+ var _this3 = this;
+
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_components_["EllipsisMenu"], {
+ label: Object(external_this_wp_i18n_["__"])('Task List Options', 'woocommerce-admin'),
+ renderContent: function renderContent() {
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-task-card__section-controls"
+ }, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["MenuItem"], {
+ isClickable: true,
+ onInvoke: function onInvoke() {
+ return _this3.hideTaskCard('remove_card');
+ }
+ }, Object(external_this_wp_element_["createElement"])(icon["a" /* default */], {
+ icon: 'trash',
+ label: Object(external_this_wp_i18n_["__"])('Remove block')
+ }), Object(external_this_wp_i18n_["__"])('Remove this card', 'woocommerce-admin')));
+ }
+ });
+ }
+ }, {
+ key: "toggleCartModal",
+ value: function toggleCartModal() {
+ var isCartModalOpen = this.state.isCartModalOpen;
+
+ if (!isCartModalOpen) {
+ Object(tracks["b" /* recordEvent */])('tasklist_purchase_extensions');
+ }
+
+ this.setState({
+ isCartModalOpen: !isCartModalOpen
+ });
+ }
+ }, {
+ key: "closeWelcomeModal",
+ value: function closeWelcomeModal() {
+ // Prevent firing this event before the modal is seen.
+ if (document.body.classList.contains('woocommerce-admin-is-loading')) {
+ return;
+ }
+
+ this.setState({
+ isWelcomeModalOpen: false
+ });
+ this.props.updateOptions({
+ woocommerce_task_list_welcome_modal_dismissed: true
+ });
+ }
+ }, {
+ key: "renderWelcomeModal",
+ value: function renderWelcomeModal() {
+ var _this4 = this;
+
+ return Object(external_this_wp_element_["createElement"])(modal["a" /* default */], {
+ title: Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])("span", {
+ role: "img",
+ "aria-hidden": "true",
+ focusable: "false",
+ className: "woocommerce-task-dashboard__welcome-modal-icon"
+ }, "\uD83D\uDE80"), Object(external_this_wp_i18n_["__"])("Woo hoo - you're almost there!", 'woocommerce-admin')),
+ onRequestClose: function onRequestClose() {
+ return _this4.closeWelcomeModal();
+ },
+ className: "woocommerce-task-dashboard__welcome-modal"
+ }, Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-task-dashboard__welcome-modal-wrapper"
+ }, Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-task-dashboard__welcome-modal-message"
+ }, Object(external_this_wp_element_["createElement"])("p", null, Object(external_this_wp_i18n_["__"])('Based on the information you provided we’ve prepared some final set up tasks for you to perform.', 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])("p", null, Object(external_this_wp_i18n_["__"])('Once complete your store will be ready for launch - exciting!', 'woocommerce-admin'))), Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isPrimary: true,
+ isDefault: true,
+ onClick: function onClick() {
+ return _this4.closeWelcomeModal();
+ }
+ }, Object(external_this_wp_i18n_["__"])('Continue', 'woocommerce-admin'))));
+ }
+ }, {
+ key: "renderSkipActions",
+ value: function renderSkipActions() {
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: "skip-actions"
+ }, Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ isLink: true,
+ className: "is-secondary",
+ onClick: this.onSkipStoreSetup
+ }, Object(external_this_wp_i18n_["__"])('Skip store setup', 'woocommerce-admin')));
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this5 = this;
+
+ var _this$props6 = this.props,
+ inline = _this$props6.inline,
+ query = _this$props6.query;
+ var _this$state = this.state,
+ isCartModalOpen = _this$state.isCartModalOpen,
+ isWelcomeModalOpen = _this$state.isWelcomeModalOpen;
+ var currentTask = this.getCurrentTask();
+ var listTasks = this.getTasks().map(function (task) {
+ task.className = classnames_default()(task.completed ? 'is-complete' : null, task.className);
+ task.before = task.completed ? Object(external_this_wp_element_["createElement"])("i", {
+ className: "material-icons-outlined"
+ }, "check_circle") : Object(external_this_wp_element_["createElement"])("i", {
+ className: "material-icons-outlined"
+ }, task.icon);
+ task.after = Object(external_this_wp_element_["createElement"])("i", {
+ className: "material-icons-outlined"
+ }, "chevron_right");
+
+ if (!task.onClick) {
+ task.onClick = function () {
+ return Object(external_this_wc_navigation_["updateQueryString"])({
+ task: task.key
+ });
+ };
+ }
+
+ return task;
+ });
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])("div", {
+ className: "woocommerce-task-dashboard__container"
+ }, currentTask ? Object(external_this_wp_element_["cloneElement"])(currentTask.container, {
+ query: query
+ }) : Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Card"], {
+ className: "woocommerce-task-card",
+ title: Object(external_this_wp_i18n_["__"])('Set up your store and start selling', 'woocommerce-admin'),
+ description: Object(external_this_wp_i18n_["__"])('Below you’ll find a list of the most important steps to get your store up and running.', 'woocommerce-admin'),
+ menu: inline && this.renderMenu()
+ }, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["List"], {
+ items: listTasks
+ })), inline && this.renderPrompt(), isWelcomeModalOpen && this.renderWelcomeModal(), this.renderSkipActions())), isCartModalOpen && Object(external_this_wp_element_["createElement"])(cart_modal, {
+ onClose: function onClose() {
+ return _this5.toggleCartModal();
+ },
+ onClickPurchaseLater: function onClickPurchaseLater() {
+ return _this5.toggleCartModal();
+ }
+ }));
+ }
+ }]);
+
+ return TaskDashboard;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var task_list = __webpack_exports__["default"] = (Object(compose["a" /* default */])(Object(with_select["a" /* default */])(function (select, props) {
+ var _select = select('wc-api'),
+ getProfileItems = _select.getProfileItems,
+ getOptions = _select.getOptions;
+
+ var _select2 = select(external_this_wc_data_["PLUGINS_STORE_NAME"]),
+ getActivePlugins = _select2.getActivePlugins,
+ getInstalledPlugins = _select2.getInstalledPlugins,
+ isJetpackConnected = _select2.isJetpackConnected;
+
+ var profileItems = getProfileItems();
+ var options = getOptions(['woocommerce_task_list_prompt_shown', 'woocommerce_task_list_welcome_modal_dismissed', 'woocommerce_task_list_hidden', 'woocommerce_task_list_tracked_completed_tasks']);
+ var promptShown = Object(external_lodash_["get"])(options, ['woocommerce_task_list_prompt_shown'], false);
+ var modalDismissed = Object(external_lodash_["get"])(options, ['woocommerce_task_list_welcome_modal_dismissed'], false);
+ var taskListPayments = getOptions(['woocommerce_task_list_payments']);
+ var trackedCompletedTasks = Object(external_lodash_["get"])(options, ['woocommerce_task_list_tracked_completed_tasks'], []);
+ var tasks = getAllTasks({
+ profileItems: profileItems,
+ options: getOptions(['woocommerce_task_list_payments']),
+ query: props.query
+ });
+ var completedTaskKeys = tasks.filter(function (task) {
+ return task.completed;
+ }).map(function (task) {
+ return task.key;
+ });
+ var incompleteTasks = tasks.filter(function (task) {
+ return task.visible && !task.completed;
+ });
+ var activePlugins = getActivePlugins();
+ var installedPlugins = getInstalledPlugins();
+ return {
+ modalDismissed: modalDismissed,
+ profileItems: profileItems,
+ promptShown: promptShown,
+ taskListPayments: taskListPayments,
+ isJetpackConnected: isJetpackConnected(),
+ incompleteTasks: incompleteTasks,
+ trackedCompletedTasks: trackedCompletedTasks,
+ completedTaskKeys: completedTaskKeys,
+ activePlugins: activePlugins,
+ installedPlugins: installedPlugins
+ };
+}), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
+ var _dispatch = dispatch('wc-api'),
+ updateOptions = _dispatch.updateOptions;
+
+ return {
+ updateOptions: updateOptions
+ };
+}))(task_list_TaskDashboard));
+
+/***/ })
+
+}]);
\ No newline at end of file
diff --git a/dist/chunks/task-list.396c743bbcd65bd90ccc.min.js b/dist/chunks/task-list.396c743bbcd65bd90ccc.min.js
new file mode 100644
index 00000000000..df92b998f57
--- /dev/null
+++ b/dist/chunks/task-list.396c743bbcd65bd90ccc.min.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[43],{747:function(e,t,n){"use strict";var o=n(758),c=["a","b","em","i","strong","p"],r=["target","href","rel","name","download"];t.a=function(e){return{__html:Object(o.sanitize)(e,{ALLOWED_TAGS:c,ALLOWED_ATTR:r})}}},759:function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var o=n(3),c={"facebook-for-woocommerce":Object(o.__)("Facebook for WooCommerce","woocommerce-admin"),jetpack:Object(o.__)("Jetpack","woocommerce-admin"),"klarna-checkout-for-woocommerce":Object(o.__)("Klarna Checkout for WooCommerce","woocommerce-admin"),"klarna-payments-for-woocommerce":Object(o.__)("Klarna Payments for WooCommerce","woocommerce-admin"),"mailchimp-for-woocommerce":Object(o.__)("Mailchimp for WooCommerce","woocommerce-admin"),"woocommerce-gateway-paypal-express-checkout":Object(o.__)("WooCommerce PayPal","woocommerce-admin"),"woocommerce-gateway-stripe":Object(o.__)("WooCommerce Stripe","woocommerce-admin"),"woocommerce-payfast-gateway":Object(o.__)("WooCommerce PayFast","woocommerce-admin"),"woocommerce-payments":Object(o.__)("WooCommerce Payments","woocommerce-admin"),"woocommerce-services":Object(o.__)("WooCommerce Services","woocommerce-admin"),"woocommerce-shipstation-integration":Object(o.__)("WooCommerce ShipStation Gateway","woocommerce-admin"),"kliken-marketing-for-google":Object(o.__)("Google Ads","woocommerce-admin")}},768:function(e,t,n){"use strict";n.d(t,"b",(function(){return f})),n.d(t,"a",(function(){return g}));var o=n(105),c=n.n(o),r=n(749),a=n.n(r),i=n(32),s=n.n(i),l=n(0),m=n(3),u=n(69),p=n(2),d=n(14),b=n(26),h=n(63),_=Object(b.g)("dataEndpoints",{countries:{}}).countries;function f(e){var t={};return e.addressLine1.length||(t.addressLine1=Object(m.__)("Please add an address","woocommerce-admin")),e.countryState.length||(t.countryState=Object(m.__)("Please select a country / region","woocommerce-admin")),e.city.length||(t.city=Object(m.__)("Please add a city","woocommerce-admin")),e.postCode.length||(t.postCode=Object(m.__)("Please add a post code","woocommerce-admin")),t}function g(e){var t=e.getInputProps,n=e.setValue,o=Object(d.useMemo)((function(){return _.reduce((function(e,t){if(!t.states.length)return e.push({key:t.code,label:Object(u.decodeEntities)(t.name)}),e;var n=t.states.map((function(e){return{key:t.code+":"+e.code,label:Object(u.decodeEntities)(t.name)+" -- "+Object(u.decodeEntities)(e.name)}}));return e.push.apply(e,s()(n)),e}),[])}),[]),r=function(e,t,n){var o=Object(d.useState)(""),c=a()(o,2),r=c[0],i=c[1],s=Object(d.useState)(""),m=a()(s,2),u=m[0],b=m[1];return Object(d.useEffect)((function(){var o=[],c=new RegExp(Object(p.escapeRegExp)(r),"i");if((u.length||r.length)&&(o=e.filter((function(e){return c.test(e.label)}))),r.length&&u.length){var a=new RegExp(Object(p.escapeRegExp)(u.replace(/\s/g,"")),"i");if((o=o.filter((function(e){return a.test(e.label.replace("-","").replace(/\s/g,""))}))).length>1){var i;(i=o.filter((function(e){return c.test(e.key)}))).length>0&&(o=i)}if(o.length>1){var s;1===(s=o.filter((function(e){return a.test(e.key)}))).length&&(o=s)}}1===o.length&&t!==o[0].key&&n("countryState",o[0].key)}),[r,u]),Object(l.createElement)(l.Fragment,null,Object(l.createElement)("input",{onChange:function(e){return i(e.target.value)},value:r,name:"country",type:"text",className:"woocommerce-select-control__autofill-input",tabIndex:"-1",autoComplete:"country"}),Object(l.createElement)("input",{onChange:function(e){return b(e.target.value)},value:u,name:"state",type:"text",className:"woocommerce-select-control__autofill-input",tabIndex:"-1",autoComplete:"address-level1"}))}(o,t("countryState").value,n);return Object(l.createElement)("div",{className:"woocommerce-store-address-fields"},Object(l.createElement)(h.TextControl,c()({label:Object(m.__)("Address line 1","woocommerce-admin"),required:!0,autoComplete:"address-line1"},t("addressLine1"))),Object(l.createElement)(h.TextControl,c()({label:Object(m.__)("Address line 2 (optional)","woocommerce-admin"),required:!0,autoComplete:"address-line2"},t("addressLine2"))),Object(l.createElement)(h.SelectControl,c()({label:Object(m.__)("Country / Region","woocommerce-admin"),required:!0,options:o,excludeSelectedOptions:!1,showAllOnFocus:!0,isSearchable:!0},t("countryState"),{controlClassName:t("countryState").className}),r),Object(l.createElement)(h.TextControl,c()({label:Object(m.__)("City","woocommerce-admin"),required:!0},t("city"),{autoComplete:"address-level2"})),Object(l.createElement)(h.TextControl,c()({label:Object(m.__)("Post code","woocommerce-admin"),required:!0,autoComplete:"postal-code"},t("postCode"))))}},891:function(e,t,n){},903:function(e,t,n){"use strict";n.r(t);var o=n(15),c=n.n(o),r=n(41),a=n.n(r),i=n(40),s=n.n(i),l=n(44),m=n.n(l),u=n(29),p=n.n(u),d=n(42),b=n.n(d),h=n(0),_=n(3),f=n(2),g=n(256),y=n(10),O=n.n(y),w=n(415),j=n(88),k=n(109),v=n(721),C=n(19),S=n(63),E=n(22),P=n(51),x=(n(891),n(30)),R=n(69),N=n(26),T=n(101),D=n(742),q=n(747),I=n(79);function M(){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}}var L=function(e){b()(o,e);var t,n=(t=o,function(){var e,n=p()(t);if(M()){var o=p()(this).constructor;e=Reflect.construct(n,arguments,o)}else e=n.apply(this,arguments);return m()(this,e)});function o(e){var t;return a()(this,o),(t=n.call(this,e)).state={purchaseNowButtonBusy:!1,purchaseLaterButtonBusy:!1},t}return s()(o,[{key:"onClickPurchaseNow",value:function(){var e=this.props,t=e.productIds,n=e.onClickPurchaseNow;if(this.setState({purchaseNowButtonBusy:!0}),t.length){Object(I.b)("tasklist_modal_proceed_checkout",{product_ids:t,purchase_install:!0});var o=Object(N.g)("onboarding",{}).connectNonce,c=Object(E.getNewPath)({},"/",{}),r=Object(x.addQueryArgs)("https://woocommerce.com/cart",{"wccom-site":Object(N.g)("siteUrl"),"wccom-woo-version":Object(N.g)("wcVersion"),"wccom-replace-with":t.join(","),"wccom-connect-nonce":o,"wccom-back":c});n?n(r):window.location=r}}},{key:"onClickPurchaseLater",value:function(){var e=this.props.productIds;Object(I.b)("tasklist_modal_proceed_checkout",{product_ids:e,purchase_install:!1}),this.setState({purchaseLaterButtonBusy:!0}),this.props.onClickPurchaseLater()}},{key:"onClose",value:function(){var e=this.props,t=e.onClose,n=e.productIds;Object(I.b)("tasklist_modal_proceed_checkout",{product_ids:n,purchase_install:!1}),t()}},{key:"renderProducts",value:function(){var e=this.props.productIds,t=Object(N.g)("onboarding",{}),n=t.productTypes,o=void 0===n?{}:n,c=t.themes,r=void 0===c?[]:c,a=[];return e.forEach((function(e){var t=Object(f.find)(o,(function(t){return t.product===e}));t&&a.push({title:t.label,content:t.description});var n=Object(f.find)(r,(function(t){return t.id===e}));n&&a.push({title:Object(_.sprintf)(Object(_.__)("%s — %s per year","woocommerce-admin"),n.title,Object(R.decodeEntities)(n.price)),content:Object(h.createElement)("span",{dangerouslySetInnerHTML:Object(q.a)(n.excerpt)})})})),Object(h.createElement)(S.List,{items:a})}},{key:"render",value:function(){var e=this,t=this.state,n=t.purchaseNowButtonBusy,o=t.purchaseLaterButtonBusy;return Object(h.createElement)(v.a,{title:Object(_.__)("Would you like to purchase and install the following features now?","woocommerce-admin"),onRequestClose:function(){return e.onClose()},className:"woocommerce-cart-modal"},this.renderProducts(),Object(h.createElement)("p",{className:"woocommerce-cart-modal__help-text"},Object(_.__)("You won't have access to this functionality until the extensions have been purchased and installed.","woocommerce-admin")),Object(h.createElement)("div",{className:"woocommerce-cart-modal__actions"},Object(h.createElement)(j.a,{isLink:!0,isBusy:o,onClick:function(){return e.onClickPurchaseLater()}},Object(_.__)("I'll do it later","woocommerce-admin")),Object(h.createElement)(j.a,{isPrimary:!0,isDefault:!0,isBusy:n,onClick:function(){return e.onClickPurchaseNow()}},Object(_.__)("Purchase & install now","woocommerce-admin"))))}}]),o}(h.Component),A=Object(g.a)(Object(T.a)((function(e){var t=(0,e("wc-api").getProfileItems)();return{profileItems:t,productIds:Object(D.d)(t)}})))(L),U=n(48),V=n(46),F=n.n(V),B=n(59),H=n.n(B),Z=n(20),W=n.n(Z),J=n(24);function G(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function z(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:Object(_.__)("There was an error connecting to WooCommerce.com. Please try again.","woocommerce-admin");document.body.classList.remove("woocommerce-admin-is-loading"),Object(E.getHistory)().push(this.baseQuery()),this.props.createNotice("error",e)}},{key:"request",value:(o=F()(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,W()({path:"".concat(J.f,"/plugins/request-wccom-connect"),method:"POST"});case 3:if(!(t=e.sent)||!t.connectAction){e.next=7;break}return window.location=t.connectAction,e.abrupt("return");case 7:throw new Error;case 10:e.prev=10,e.t0=e.catch(0),this.errorMessage();case 13:case"end":return e.stop()}}),e,this,[[0,10]])}))),function(){return o.apply(this,arguments)})},{key:"finish",value:(n=F()(regeneratorRuntime.mark((function e(){var t,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=this.props.query,e.prev=1,e.next=4,W()({path:"".concat(J.f,"/plugins/finish-wccom-connect"),method:"POST",data:{request_token:t.request_token}});case 4:if(!(n=e.sent)||!n.success){e.next=10;break}return e.next=8,this.props.updateProfileItems({wccom_connected:!0});case 8:return this.props.isProfileItemsError?this.errorMessage():(this.props.createNotice("success",Object(_.__)("Store connected to WooCommerce.com and extensions are being installed.","woocommerce-admin")),document.body.classList.remove("woocommerce-admin-is-loading"),Object(E.getHistory)().push(this.baseQuery())),e.abrupt("return");case 10:throw new Error;case 13:e.prev=13,e.t0=e.catch(1),this.errorMessage();case 16:case"end":return e.stop()}}),e,this,[[1,13]])}))),function(){return n.apply(this,arguments)})},{key:"render",value:function(){return null}}]),i}(h.Component),te=Object(g.a)(Object(T.a)((function(e){var t=e("wc-api").getProfileItemsError;return{isProfileItemsError:Boolean(t())}})),Object(C.withDispatch)((function(e){return{createNotice:e("core/notices").createNotice,updateProfileItems:e("wc-api").updateProfileItems}})))(ee);function ne(){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}}var oe=[{title:Object(_.__)("Add manually (recommended)","woocommerce-admin"),content:Object(_.__)("For small stores we recommend adding products manually","woocommerce-admin"),before:Object(h.createElement)("i",{className:"material-icons-outlined"},"add_box"),after:Object(h.createElement)("i",{className:"material-icons-outlined"},"chevron_right"),onClick:function(){return Object(I.b)("tasklist_add_product",{method:"manually"})},href:Object(N.f)("post-new.php?post_type=product&wc_onboarding_active_task=products&tutorial=true")},{title:Object(_.__)("Import","woocommerce-admin"),content:Object(_.__)("For larger stores we recommend importing all products at once via CSV file","woocommerce-admin"),before:Object(h.createElement)("i",{className:"material-icons-outlined"},"import_export"),after:Object(h.createElement)("i",{className:"material-icons-outlined"},"chevron_right"),onClick:function(){return Object(I.b)("tasklist_add_product",{method:"import"})},href:Object(N.f)("edit.php?post_type=product&page=product_importer&wc_onboarding_active_task=product-import")},{title:Object(_.__)("Migrate","woocommerce-admin"),content:Object(_.__)("For stores currently selling elsewhere we suggest using a product migration service","woocommerce-admin"),before:Object(h.createElement)("i",{className:"material-icons-outlined"},"cloud_download"),after:Object(h.createElement)("i",{className:"material-icons-outlined"},"chevron_right"),onClick:function(){return Object(I.b)("tasklist_add_product",{method:"migrate"})},href:"https://woocommerce.com/products/cart2cart/",target:"_blank"}],ce=function(e){b()(o,e);var t,n=(t=o,function(){var e,n=p()(t);if(ne()){var o=p()(this).constructor;e=Reflect.construct(n,arguments,o)}else e=n.apply(this,arguments);return m()(this,e)});function o(){return a()(this,o),n.apply(this,arguments)}return s()(o,[{key:"render",value:function(){return Object(h.createElement)(h.Fragment,null,Object(h.createElement)(S.Card,{className:"woocommerce-task-card"},Object(h.createElement)(S.List,{items:oe})))}}]),o}(h.Component),re=n(105),ae=n.n(re),ie=n(35),se=n.n(ie),le=n(1),me=n.n(le);function ue(){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}}var pe=function(e){b()(c,e);var t,n,o=(t=c,function(){var e,n=p()(t);if(ue()){var o=p()(this).constructor;e=Reflect.construct(n,arguments,o)}else e=n.apply(this,arguments);return m()(this,e)});function c(e){var t;return a()(this,c),(t=o.call(this,e)).connectJetpack=t.connectJetpack.bind(H()(t)),e.setIsPending(!0),t}return s()(c,[{key:"componentDidUpdate",value:function(e){var t=this.props,n=t.createNotice,o=t.error,c=t.isRequesting,r=t.setIsPending;e.isRequesting&&!c&&r(!1),o&&o!==e.error&&n("error",o)}},{key:"connectJetpack",value:(n=F()(regeneratorRuntime.mark((function e(){var t,n,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=this.props,n=t.jetpackConnectUrl,(o=t.onConnect)&&o(),window.location=n;case 3:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"render",value:function(){var e=this.props,t=e.hasErrors,n=e.isRequesting,o=e.onSkip,c=e.skipText;return Object(h.createElement)(h.Fragment,null,t?Object(h.createElement)(j.a,{isPrimary:!0,onClick:function(){return window.location.reload()}},Object(_.__)("Retry","woocommerce-admin")):Object(h.createElement)(j.a,{disabled:n,isPrimary:!0,onClick:this.connectJetpack},Object(_.__)("Connect","woocommerce-admin")),o&&Object(h.createElement)(j.a,{onClick:o},c||Object(_.__)("No thanks","woocommerce-admin")))}}]),c}(h.Component);pe.propTypes={createNotice:me.a.func.isRequired,error:me.a.string,hasErrors:me.a.bool,isRequesting:me.a.bool,jetpackConnectUrl:me.a.string,onSkip:me.a.func,redirectUrl:me.a.string,skipText:me.a.string,setIsPending:me.a.func},pe.defaultProps={setIsPending:function(){}};var de=Object(g.a)(Object(C.withSelect)((function(e,t){var n=e(P.PLUGINS_STORE_NAME),o=n.getJetpackConnectUrl,c=n.isPluginsRequesting,r=n.getPluginsError,a={redirect_url:t.redirectUrl||window.location.href},i=c("getJetpackConnectUrl");return{error:r("getJetpackConnectUrl")||"",isRequesting:i,jetpackConnectUrl:o(a)}})),Object(C.withDispatch)((function(e){return{createNotice:e("core/notices").createNotice}})))(pe),be=n(768);function he(){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}}var _e=function(e){b()(c,e);var t,n,o=(t=c,function(){var e,n=p()(t);if(he()){var o=p()(this).constructor;e=Reflect.construct(n,arguments,o)}else e=n.apply(this,arguments);return m()(this,e)});function c(){var e;return a()(this,c),(e=o.apply(this,arguments)).onSubmit=e.onSubmit.bind(H()(e)),e}return s()(c,[{key:"onSubmit",value:(n=F()(regeneratorRuntime.mark((function e(t){var n,o,c,r,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=this.props,o=n.onComplete,c=n.createNotice,r=n.isSettingsError,a=n.updateAndPersistSettingsForGroup,e.next=3,a("general",{general:{woocommerce_store_address:t.addressLine1,woocommerce_store_address_2:t.addressLine2,woocommerce_default_country:t.countryState,woocommerce_store_city:t.city,woocommerce_store_postcode:t.postCode}});case 3:r?c("error",Object(_.__)("There was a problem saving your store location.","woocommerce-admin")):o(t);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"getInitialValues",value:function(){var e=this.props.settings;return{addressLine1:e.woocommerce_store_address||"",addressLine2:e.woocommerce_store_address_2||"",city:e.woocommerce_store_city||"",countryState:e.woocommerce_default_country||"",postCode:e.woocommerce_store_postcode||""}}},{key:"render",value:function(){return this.props.isSettingsRequesting?null:Object(h.createElement)(S.Form,{initialValues:this.getInitialValues(),onSubmitCallback:this.onSubmit,validate:be.b},(function(e){var t=e.getInputProps,n=e.handleSubmit,o=e.setValue;return Object(h.createElement)(h.Fragment,null,Object(h.createElement)(be.a,{getInputProps:t,setValue:o}),Object(h.createElement)(j.a,{isPrimary:!0,onClick:n},Object(_.__)("Continue","woocommerce-admin")))}))}}]),c}(h.Component),fe=n(718),ge=n(203);function ye(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function Oe(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:null;return e&&e.methods&&Array.isArray(e.methods)?t?e.methods?e.methods.filter((function(e){return e.method_id===t})):[]:e.methods:[]}},{key:"disableShippingMethods",value:function(e,t){t.length&&t.forEach((function(t){W()({method:"POST",path:"/wc/v3/shipping/zones/".concat(e.id,"/methods/").concat(t.instance_id),data:{enabled:!1}})}))}},{key:"updateShippingZones",value:(n=F()(regeneratorRuntime.mark((function e(t){var n,o,c,r,a,i=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=this.props,o=n.createNotice,c=n.shippingZones,r=!1,a=!1,c.forEach((function(e){0===e.id?r=e.toggleable&&t["".concat(e.id,"_enabled")]:a=""!==t["".concat(e.id,"_rate")]&&parseFloat(t["".concat(e.id,"_rate")])!==parseFloat(0);var n=i.getShippingMethods(e),o=parseFloat(t["".concat(e.id,"_rate")])===parseFloat(0)?"free_shipping":"flat_rate",c=i.getShippingMethods(e,o).length?i.getShippingMethods(e,o)[0]:null;if(!e.toggleable||t["".concat(e.id,"_enabled")]){if(c){var s=n.filter((function(e){return e.instance_id!==c.instance_id}));i.disableShippingMethods(e,s)}W()({method:"POST",path:c?"/wc/v3/shipping/zones/".concat(e.id,"/methods/").concat(c.instance_id):"/wc/v3/shipping/zones/".concat(e.id,"/methods"),data:{method_id:o,enabled:!0,settings:{cost:t["".concat(e.id,"_rate")]}}})}else i.disableShippingMethods(e,n)})),Object(I.b)("tasklist_shipping_set_costs",{shipping_cost:a,rest_world:r}),Object(N.h)("onboarding",Oe({},Object(N.g)("onboarding",{}),{shippingZonesCount:1})),o("success",Object(_.__)("Your shipping rates have been updated.","woocommerce-admin")),this.props.onComplete();case 8:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"renderInputPrefix",value:function(){var e=this.context.getCurrency(),t=e.symbolPosition,n=e.symbol;return 0===t.indexOf("right")?null:Object(h.createElement)("span",{className:"woocommerce-shipping-rate__control-prefix"},n)}},{key:"renderInputSuffix",value:function(e){var t=this.context.getCurrency(),n=t.symbolPosition,o=t.symbol;return 0===n.indexOf("right")?Object(h.createElement)("span",{className:"woocommerce-shipping-rate__control-suffix"},o):parseFloat(e)===parseFloat(0)?Object(h.createElement)("span",{className:"woocommerce-shipping-rate__control-suffix"},Object(_.__)("Free shipping","woocommerce-admin")):null}},{key:"getFormattedRate",value:function(e){var t=this.context.formatDecimalString,n=t(e);return e.length&&n.length?t(e):t(0)}},{key:"getInitialValues",value:function(){var e=this,t=this.context.formatDecimalString,n={};return this.props.shippingZones.forEach((function(o){var c=e.getShippingMethods(o),r=c.length&&c[0].settings.cost?e.getFormattedRate(c[0].settings.cost.value):t(0);n["".concat(o.id,"_rate")]=r,c.length&&c[0].enabled?n["".concat(o.id,"_enabled")]=!0:n["".concat(o.id,"_enabled")]=!1})),n}},{key:"validate",value:function(e){var t={};return Object.keys(e).filter((function(e){return e.endsWith("_rate")})).forEach((function(n){e[n]<0&&(t[n]=Object(_.__)("Shipping rates can not be negative numbers.","woocommerce-admin"))})),t}},{key:"render",value:function(){var e=this,t=this.props,n=t.buttonText,o=t.shippingZones;return o.length?Object(h.createElement)(S.Form,{initialValues:this.getInitialValues(),onSubmitCallback:this.updateShippingZones,validate:this.validate},(function(t){var c=t.getInputProps,r=t.handleSubmit,a=t.setTouched,i=t.setValue,s=t.values;return Object(h.createElement)(h.Fragment,null,Object(h.createElement)("div",{className:"woocommerce-shipping-rates"},o.map((function(t){return Object(h.createElement)("div",{className:"woocommerce-shipping-rate",key:t.id},Object(h.createElement)("div",{className:"woocommerce-shipping-rate__icon"},t.locations?t.locations.map((function(e){return Object(h.createElement)(S.Flag,{size:24,code:e.code,key:e.code})})):Object(h.createElement)("i",{className:"material-icons-outlined"},"public")),Object(h.createElement)("div",{className:"woocommerce-shipping-rate__main"},Object(h.createElement)("div",{className:"woocommerce-shipping-rate__name"},t.name,t.toggleable&&Object(h.createElement)(fe.a,c("".concat(t.id,"_enabled")))),(!t.toggleable||s["".concat(t.id,"_enabled")])&&Object(h.createElement)(S.TextControlWithAffixes,ae()({label:Object(_.__)("Shipping cost","woocommerce-admin"),required:!0},c("".concat(t.id,"_rate")),{onBlur:function(){a("".concat(t.id,"_rate")),i("".concat(t.id,"_rate"),e.getFormattedRate(s["".concat(t.id,"_rate")]))},prefix:e.renderInputPrefix(),suffix:e.renderInputSuffix(s["".concat(t.id,"_rate")]),className:"muriel-input-text woocommerce-shipping-rate__control-wrapper"}))))}))),Object(h.createElement)(j.a,{isPrimary:!0,onClick:r},n||Object(_.__)("Update","woocommerce-admin")))})):null}}]),c}(h.Component);je.propTypes={buttonText:me.a.string,onComplete:me.a.func.isRequired,createNotice:me.a.func.isRequired,shippingZones:me.a.array},je.defaultProps={shippingZones:[]},je.contextType=ge.a;var ke=je;function ve(){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}}var Ce=function(e){b()(c,e);var t,n,o=(t=c,function(){var e,n=p()(t);if(ve()){var o=p()(this).constructor;e=Reflect.construct(n,arguments,o)}else e=n.apply(this,arguments);return m()(this,e)});function c(e){var t;return a()(this,c),(t=o.call(this,e)).initialState={isPending:!1,step:"store_location",shippingZones:[]},t.activePlugins=e.activePlugins,t.state=t.initialState,t.completeStep=t.completeStep.bind(H()(t)),t}return s()(c,[{key:"componentDidMount",value:function(){this.reset()}},{key:"reset",value:function(){this.setState(this.initialState)}},{key:"fetchShippingZones",value:(n=F()(regeneratorRuntime.mark((function e(){var t,n,o,c,r,a,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.setState({isPending:!0}),t=this.props,n=t.countryCode,o=t.countryName,c=[],e.next=5,W()({path:"/wc/v3/shipping/zones"});case 5:return r=e.sent,a=!1,e.next=9,Promise.all(r.map(function(){var e=F()(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(0!==t.id){e.next=8;break}return e.next=3,W()({path:"/wc/v3/shipping/zones/".concat(t.id,"/methods")});case 3:return t.methods=e.sent,t.name=Object(_.__)("Rest of the world","woocommerce-admin"),t.toggleable=!0,c.push(t),e.abrupt("return");case 8:return e.next=10,W()({path:"/wc/v3/shipping/zones/".concat(t.id,"/locations")});case 10:if(t.locations=e.sent,!t.locations.find((function(e){return n===e.code}))){e.next=18;break}return e.next=15,W()({path:"/wc/v3/shipping/zones/".concat(t.id,"/methods")});case 15:t.methods=e.sent,c.push(t),a=!0;case 18:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 9:if(a){e.next=17;break}return e.next=12,W()({method:"POST",path:"/wc/v3/shipping/zones",data:{name:o}});case 12:return i=e.sent,e.next=15,W()({method:"POST",path:"/wc/v3/shipping/zones/".concat(i.id,"/locations"),data:[{code:n,type:"country"}]});case 15:i.locations=e.sent,c.push(i);case 17:c.reverse(),this.setState({isPending:!1,shippingZones:c});case 19:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"componentDidUpdate",value:function(e,t){var n=this.props.countryCode;"rates"!==this.state.step||e.countryCode===n&&"rates"===t.step||this.fetchShippingZones()}},{key:"completeStep",value:function(){var e=this.props.createNotice,t=this.state.step,n=this.getSteps(),o=n.findIndex((function(e){return e.key===t})),c=n[o+1];c?this.setState({step:c.key}):(e("success",Object(_.__)("📦 Shipping is done! Don't worry, you can always change it later.","woocommerce-admin")),Object(E.getHistory)().push(Object(E.getNewPath)({},"/",{})))}},{key:"getPluginsToActivate",value:function(){var e=this.props,t=e.countryCode,n=e.isJetpackConnected,o=[];return["GB","CA","AU"].includes(t)?o.push("woocommerce-shipstation-integration"):"US"===t&&(o.push("woocommerce-services"),n||o.push("jetpack")),Object(f.difference)(o,this.activePlugins)}},{key:"getSteps",value:function(){var e=this,t=this.getPluginsToActivate(),n=[{key:"store_location",label:Object(_.__)("Set store location","woocommerce-admin"),description:Object(_.__)("The address from which your business operates","woocommerce-admin"),content:Object(h.createElement)(_e,ae()({},this.props,{onComplete:function(t){var n=Object(D.a)(t.countryState);Object(I.b)("tasklist_shipping_set_location",{country:n}),e.completeStep()}})),visible:!0},{key:"rates",label:Object(_.__)("Set shipping costs","woocommerce-admin"),description:Object(_.__)("Define how much customers pay to ship to different destinations","woocommerce-admin"),content:Object(h.createElement)(ke,ae()({buttonText:t.length?Object(_.__)("Proceed","woocommerce-admin"):Object(_.__)("Complete task","woocommerce-admin"),shippingZones:this.state.shippingZones,onComplete:this.completeStep},this.props)),visible:!0},{key:"label_printing",label:Object(_.__)("Enable shipping label printing","woocommerce-admin"),description:t.includes("woocommerce-shipstation-integration")?se()({mixedString:Object(_.__)("We recommend using ShipStation to save time at the post office by printing your shipping labels at home. Try ShipStation free for 30 days. {{link}}Learn more{{/link}}.","woocommerce-admin"),components:{link:Object(h.createElement)(S.Link,{href:"https://woocommerce.com/products/shipstation-integration",target:"_blank",type:"external"})}}):Object(_.__)("With WooCommerce Services and Jetpack you can save time at the Post Office by printing your shipping labels at home","woocommerce-admin"),content:Object(h.createElement)(S.Plugins,ae()({onComplete:function(){Object(I.b)("tasklist_shipping_label_printing",{install:!0,pluginsToActivate:t}),e.completeStep()},onSkip:function(){Object(I.b)("tasklist_shipping_label_printing",{install:!1,pluginsToActivate:t}),Object(E.getHistory)().push(Object(E.getNewPath)({},"/",{}))},pluginSlugs:t},this.props)),visible:t.length},{key:"connect",label:Object(_.__)("Connect your store","woocommerce-admin"),description:Object(_.__)("Connect your store to WordPress.com to enable label printing","woocommerce-admin"),content:Object(h.createElement)(de,ae()({redirectUrl:Object(N.f)("admin.php?page=wc-admin"),completeStep:this.completeStep},this.props,{onConnect:function(){Object(I.b)("tasklist_shipping_connect_store")}})),visible:t.includes("jetpack")}];return Object(f.filter)(n,(function(e){return e.visible}))}},{key:"render",value:function(){var e=this.state,t=e.isPending,n=e.step,o=this.props.isSettingsRequesting;return Object(h.createElement)("div",{className:"woocommerce-task-shipping"},Object(h.createElement)(S.Card,{className:"is-narrow"},Object(h.createElement)(S.Stepper,{isPending:t||o,isVertical:!0,currentStep:n,steps:this.getSteps()})))}}]),c}(h.Component),Se=Object(g.a)(Object(C.withSelect)((function(e){var t=e(P.SETTINGS_STORE_NAME),n=t.getSettings,o=t.getSettingsError,c=t.isGetSettingsRequesting,r=e(P.PLUGINS_STORE_NAME),a=r.getActivePlugins,i=r.isJetpackConnected,s=n("general").general,l=void 0===s?{}:s,m=Boolean(o("general")),u=c("general"),p=Object(D.a)(l.woocommerce_default_country),d=Object(N.g)("dataEndpoints",{}).countries,b=p?(void 0===d?[]:d).find((function(e){return e.code===p})):null,h=b?b.name:null,_=a();return{countryCode:p,countryName:h,isSettingsError:m,isSettingsRequesting:u,settings:l,activePlugins:_,isJetpackConnected:i()}})),Object(C.withDispatch)((function(e){return{createNotice:e("core/notices").createNotice,updateAndPersistSettingsForGroup:e(P.SETTINGS_STORE_NAME).updateAndPersistSettingsForGroup}})))(Ce);function Ee(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function Pe(e){for(var t=1;t0,visible:t.product_types&&t.product_types.includes("physical")||a},{key:"tax",title:Object(_.__)("Set up tax","woocommerce-admin"),content:Object(_.__)("Choose how to configure tax rates - manually or automatically","wooocommerce-admin"),icon:"account_balance",container:Object(h.createElement)(Ne,null),completed:l,visible:!0},{key:"payments",title:Object(_.__)("Set up payments","woocommerce-admin"),content:Object(_.__)("Select which payment providers you’d like to use and configure them","wooocommerce-admin"),icon:"payment",container:Object(h.createElement)(bt,null),completed:d||b,onClick:function(){d||b?window.location=Object(N.f)("admin.php?page=wc-settings&tab=checkout"):Object(E.updateQueryString)({task:"payments"})},visible:!0}];return Object(U.applyFilters)("woocommerce_admin_onboarding_task_list",g,o)}function _t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function ft(){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}}var gt=function(e){b()(o,e);var t,n=(t=o,function(){var e,n=p()(t);if(ft()){var o=p()(this).constructor;e=Reflect.construct(n,arguments,o)}else e=n.apply(this,arguments);return m()(this,e)});function o(e){var t;return a()(this,o),(t=n.call(this,e)).onSkipStoreSetup=function(){var e=t.getTasks().filter((function(e){return e.completed})).map((function(e){return e.key}));Object(I.b)("tasklist_skip",{completed_tasks_count:e.length,completed_tasks:e,reason:"skip"}),t.props.updateOptions({woocommerce_task_list_hidden:"yes"})},t.state={isCartModalOpen:!1,isWelcomeModalOpen:!e.modalDismissed},t}return s()(o,[{key:"componentDidMount",value:function(){var e=this.props,t=e.incompleteTasks,n=e.updateOptions;document.body.classList.add("woocommerce-onboarding"),document.body.classList.add("woocommerce-task-dashboard__body"),this.recordTaskView(),this.recordTaskListView(),t.length||n({woocommerce_task_list_complete:!0}),this.possiblyTrackCompletedTasks()}},{key:"componentDidUpdate",value:function(e){var t=this.props,n=t.completedTaskKeys,o=t.incompleteTasks,c=t.query,r=t.updateOptions,a=e.completedTaskKeys,i=e.incompleteTasks;e.query.task!==c.task&&(window.document.documentElement.scrollTop=0,this.recordTaskView()),!o.length&&i.length&&r({woocommerce_task_list_complete:!0}),Object(f.isEqual)(a,n)||this.possiblyTrackCompletedTasks()}},{key:"possiblyTrackCompletedTasks",value:function(){var e=this.props,t=e.completedTaskKeys,n=e.trackedCompletedTasks,o=e.updateOptions;Object(f.isEqual)(n,t)||o({woocommerce_task_list_tracked_completed_tasks:t})}},{key:"componentWillUnmount",value:function(){document.body.classList.remove("woocommerce-onboarding"),document.body.classList.remove("woocommerce-task-dashboard__body")}},{key:"getTasks",value:function(){var e=this.props,t=e.profileItems,n=e.query;return ht({profileItems:t,options:e.taskListPayments,query:n,toggleCartModal:this.toggleCartModal.bind(this)}).filter((function(e){return e.visible}))}},{key:"getPluginsInformation",value:function(){var e=this.props,t=e.isJetpackConnected,n=e.activePlugins,o=e.installedPlugins;return{wcs_installed:o.includes("woocommerce-services"),wcs_active:n.includes("woocommerce-services"),jetpack_installed:o.includes("jetpack"),jetpack_active:n.includes("jetpack"),jetpack_connected:t}}},{key:"recordTaskView",value:function(){var e=this.props.query.task,t=this.getPluginsInformation();e&&Object(I.b)("task_view",function(e){for(var t=1;t 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
+ args[_key - 1] = arguments[_key];
+ }
+
+ return apply(func, thisArg, args);
+ };
+}
+
+function unconstruct(func) {
+ return function () {
+ for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
+ args[_key2] = arguments[_key2];
+ }
+
+ return construct(func, args);
+ };
+}
+
+/* Add properties to a lookup table */
+function addToSet(set, array) {
+ if (setPrototypeOf) {
+ // Make 'in' and truthy checks like Boolean(set.constructor)
+ // independent of any properties defined on Object.prototype.
+ // Prevent prototype setters from intercepting set as a this value.
+ setPrototypeOf(set, null);
+ }
+
+ var l = array.length;
+ while (l--) {
+ var element = array[l];
+ if (typeof element === 'string') {
+ var lcElement = stringToLowerCase(element);
+ if (lcElement !== element) {
+ // Config presets (e.g. tags.js, attrs.js) are immutable.
+ if (!isFrozen(array)) {
+ array[l] = lcElement;
+ }
+
+ element = lcElement;
+ }
+ }
+
+ set[element] = true;
+ }
+
+ return set;
+}
+
+/* Shallow clone an object */
+function clone(object) {
+ var newObject = {};
+
+ var property = void 0;
+ for (property in object) {
+ if (apply(hasOwnProperty, object, [property])) {
+ newObject[property] = object[property];
+ }
+ }
+
+ return newObject;
+}
+
+var html = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);
+
+// SVG
+var svg = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'audio', 'canvas', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'video', 'view', 'vkern']);
+
+var svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);
+
+var mathMl = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover']);
+
+var text = freeze(['#text']);
+
+var html$1 = freeze(['accept', 'action', 'align', 'alt', 'autocomplete', 'background', 'bgcolor', 'border', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'coords', 'crossorigin', 'datetime', 'default', 'dir', 'disabled', 'download', 'enctype', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'integrity', 'ismap', 'label', 'lang', 'list', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'name', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'type', 'usemap', 'valign', 'value', 'width', 'xmlns']);
+
+var svg$1 = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'specularconstant', 'specularexponent', 'spreadmethod', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'tabindex', 'targetx', 'targety', 'transform', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);
+
+var mathMl$1 = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);
+
+var xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);
+
+var MUSTACHE_EXPR = seal(/\{\{[\s\S]*|[\s\S]*\}\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode
+var ERB_EXPR = seal(/<%[\s\S]*|[\s\S]*%>/gm);
+var DATA_ATTR = seal(/^data-[\-\w.\u00B7-\uFFFF]/); // eslint-disable-line no-useless-escape
+var ARIA_ATTR = seal(/^aria-[\-\w]+$/); // eslint-disable-line no-useless-escape
+var IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i // eslint-disable-line no-useless-escape
+);
+var IS_SCRIPT_OR_DATA = seal(/^(?:\w+script|data):/i);
+var ATTR_WHITESPACE = seal(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g // eslint-disable-line no-control-regex
+);
+
+var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
+
+function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
+
+var getGlobal = function getGlobal() {
+ return typeof window === 'undefined' ? null : window;
+};
+
+/**
+ * Creates a no-op policy for internal use only.
+ * Don't export this function outside this module!
+ * @param {?TrustedTypePolicyFactory} trustedTypes The policy factory.
+ * @param {Document} document The document object (to determine policy name suffix)
+ * @return {?TrustedTypePolicy} The policy created (or null, if Trusted Types
+ * are not supported).
+ */
+var _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, document) {
+ if ((typeof trustedTypes === 'undefined' ? 'undefined' : _typeof(trustedTypes)) !== 'object' || typeof trustedTypes.createPolicy !== 'function') {
+ return null;
+ }
+
+ // Allow the callers to control the unique policy name
+ // by adding a data-tt-policy-suffix to the script element with the DOMPurify.
+ // Policy creation with duplicate names throws in Trusted Types.
+ var suffix = null;
+ var ATTR_NAME = 'data-tt-policy-suffix';
+ if (document.currentScript && document.currentScript.hasAttribute(ATTR_NAME)) {
+ suffix = document.currentScript.getAttribute(ATTR_NAME);
+ }
+
+ var policyName = 'dompurify' + (suffix ? '#' + suffix : '');
+
+ try {
+ return trustedTypes.createPolicy(policyName, {
+ createHTML: function createHTML(html$$1) {
+ return html$$1;
+ }
+ });
+ } catch (error) {
+ // Policy creation failed (most likely another DOMPurify script has
+ // already run). Skip creating the policy, as this will only cause errors
+ // if TT are enforced.
+ console.warn('TrustedTypes policy ' + policyName + ' could not be created.');
+ return null;
+ }
+};
+
+function createDOMPurify() {
+ var window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();
+
+ var DOMPurify = function DOMPurify(root) {
+ return createDOMPurify(root);
+ };
+
+ /**
+ * Version label, exposed for easier checks
+ * if DOMPurify is up to date or not
+ */
+ DOMPurify.version = '2.0.8';
+
+ /**
+ * Array of elements that DOMPurify removed during sanitation.
+ * Empty if nothing was removed.
+ */
+ DOMPurify.removed = [];
+
+ if (!window || !window.document || window.document.nodeType !== 9) {
+ // Not running in a browser, provide a factory function
+ // so that you can pass your own Window
+ DOMPurify.isSupported = false;
+
+ return DOMPurify;
+ }
+
+ var originalDocument = window.document;
+ var useDOMParser = false;
+ var removeTitle = false;
+
+ var document = window.document;
+ var DocumentFragment = window.DocumentFragment,
+ HTMLTemplateElement = window.HTMLTemplateElement,
+ Node = window.Node,
+ NodeFilter = window.NodeFilter,
+ _window$NamedNodeMap = window.NamedNodeMap,
+ NamedNodeMap = _window$NamedNodeMap === undefined ? window.NamedNodeMap || window.MozNamedAttrMap : _window$NamedNodeMap,
+ Text = window.Text,
+ Comment = window.Comment,
+ DOMParser = window.DOMParser,
+ trustedTypes = window.trustedTypes;
+
+ // As per issue #47, the web-components registry is inherited by a
+ // new document created via createHTMLDocument. As per the spec
+ // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)
+ // a new empty registry is used when creating a template contents owner
+ // document, so we use that as our parent document to ensure nothing
+ // is inherited.
+
+ if (typeof HTMLTemplateElement === 'function') {
+ var template = document.createElement('template');
+ if (template.content && template.content.ownerDocument) {
+ document = template.content.ownerDocument;
+ }
+ }
+
+ var trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, originalDocument);
+ var emptyHTML = trustedTypesPolicy ? trustedTypesPolicy.createHTML('') : '';
+
+ var _document = document,
+ implementation = _document.implementation,
+ createNodeIterator = _document.createNodeIterator,
+ getElementsByTagName = _document.getElementsByTagName,
+ createDocumentFragment = _document.createDocumentFragment;
+ var importNode = originalDocument.importNode;
+
+
+ var hooks = {};
+
+ /**
+ * Expose whether this browser supports running the full DOMPurify.
+ */
+ DOMPurify.isSupported = implementation && typeof implementation.createHTMLDocument !== 'undefined' && document.documentMode !== 9;
+
+ var MUSTACHE_EXPR$$1 = MUSTACHE_EXPR,
+ ERB_EXPR$$1 = ERB_EXPR,
+ DATA_ATTR$$1 = DATA_ATTR,
+ ARIA_ATTR$$1 = ARIA_ATTR,
+ IS_SCRIPT_OR_DATA$$1 = IS_SCRIPT_OR_DATA,
+ ATTR_WHITESPACE$$1 = ATTR_WHITESPACE;
+ var IS_ALLOWED_URI$$1 = IS_ALLOWED_URI;
+
+ /**
+ * We consider the elements and attributes below to be safe. Ideally
+ * don't add any new ones but feel free to remove unwanted ones.
+ */
+
+ /* allowed element names */
+
+ var ALLOWED_TAGS = null;
+ var DEFAULT_ALLOWED_TAGS = addToSet({}, [].concat(_toConsumableArray(html), _toConsumableArray(svg), _toConsumableArray(svgFilters), _toConsumableArray(mathMl), _toConsumableArray(text)));
+
+ /* Allowed attribute names */
+ var ALLOWED_ATTR = null;
+ var DEFAULT_ALLOWED_ATTR = addToSet({}, [].concat(_toConsumableArray(html$1), _toConsumableArray(svg$1), _toConsumableArray(mathMl$1), _toConsumableArray(xml)));
+
+ /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */
+ var FORBID_TAGS = null;
+
+ /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */
+ var FORBID_ATTR = null;
+
+ /* Decide if ARIA attributes are okay */
+ var ALLOW_ARIA_ATTR = true;
+
+ /* Decide if custom data attributes are okay */
+ var ALLOW_DATA_ATTR = true;
+
+ /* Decide if unknown protocols are okay */
+ var ALLOW_UNKNOWN_PROTOCOLS = false;
+
+ /* Output should be safe for jQuery's $() factory? */
+ var SAFE_FOR_JQUERY = false;
+
+ /* Output should be safe for common template engines.
+ * This means, DOMPurify removes data attributes, mustaches and ERB
+ */
+ var SAFE_FOR_TEMPLATES = false;
+
+ /* Decide if document with ... should be returned */
+ var WHOLE_DOCUMENT = false;
+
+ /* Track whether config is already set on this instance of DOMPurify. */
+ var SET_CONFIG = false;
+
+ /* Decide if all elements (e.g. style, script) must be children of
+ * document.body. By default, browsers might move them to document.head */
+ var FORCE_BODY = false;
+
+ /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html
+ * string (or a TrustedHTML object if Trusted Types are supported).
+ * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead
+ */
+ var RETURN_DOM = false;
+
+ /* Decide if a DOM `DocumentFragment` should be returned, instead of a html
+ * string (or a TrustedHTML object if Trusted Types are supported) */
+ var RETURN_DOM_FRAGMENT = false;
+
+ /* If `RETURN_DOM` or `RETURN_DOM_FRAGMENT` is enabled, decide if the returned DOM
+ * `Node` is imported into the current `Document`. If this flag is not enabled the
+ * `Node` will belong (its ownerDocument) to a fresh `HTMLDocument`, created by
+ * DOMPurify. */
+ var RETURN_DOM_IMPORT = false;
+
+ /* Try to return a Trusted Type object instead of a string, retrun a string in
+ * case Trusted Types are not supported */
+ var RETURN_TRUSTED_TYPE = false;
+
+ /* Output should be free from DOM clobbering attacks? */
+ var SANITIZE_DOM = true;
+
+ /* Keep element content when removing element? */
+ var KEEP_CONTENT = true;
+
+ /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead
+ * of importing it into a new Document and returning a sanitized copy */
+ var IN_PLACE = false;
+
+ /* Allow usage of profiles like html, svg and mathMl */
+ var USE_PROFILES = {};
+
+ /* Tags to ignore content of when KEEP_CONTENT is true */
+ var FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);
+
+ /* Tags that are safe for data: URIs */
+ var DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image']);
+
+ /* Attributes safe for values like "javascript:" */
+ var URI_SAFE_ATTRIBUTES = null;
+ var DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'summary', 'title', 'value', 'style', 'xmlns']);
+
+ /* Keep a reference to config to pass to hooks */
+ var CONFIG = null;
+
+ /* Ideally, do not touch anything below this line */
+ /* ______________________________________________ */
+
+ var formElement = document.createElement('form');
+
+ /**
+ * _parseConfig
+ *
+ * @param {Object} cfg optional config literal
+ */
+ // eslint-disable-next-line complexity
+ var _parseConfig = function _parseConfig(cfg) {
+ if (CONFIG && CONFIG === cfg) {
+ return;
+ }
+
+ /* Shield configuration object from tampering */
+ if (!cfg || (typeof cfg === 'undefined' ? 'undefined' : _typeof(cfg)) !== 'object') {
+ cfg = {};
+ }
+
+ /* Set configuration parameters */
+ ALLOWED_TAGS = 'ALLOWED_TAGS' in cfg ? addToSet({}, cfg.ALLOWED_TAGS) : DEFAULT_ALLOWED_TAGS;
+ ALLOWED_ATTR = 'ALLOWED_ATTR' in cfg ? addToSet({}, cfg.ALLOWED_ATTR) : DEFAULT_ALLOWED_ATTR;
+ URI_SAFE_ATTRIBUTES = 'ADD_URI_SAFE_ATTR' in cfg ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR) : DEFAULT_URI_SAFE_ATTRIBUTES;
+ FORBID_TAGS = 'FORBID_TAGS' in cfg ? addToSet({}, cfg.FORBID_TAGS) : {};
+ FORBID_ATTR = 'FORBID_ATTR' in cfg ? addToSet({}, cfg.FORBID_ATTR) : {};
+ USE_PROFILES = 'USE_PROFILES' in cfg ? cfg.USE_PROFILES : false;
+ ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true
+ ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true
+ ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false
+ SAFE_FOR_JQUERY = cfg.SAFE_FOR_JQUERY || false; // Default false
+ SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false
+ WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false
+ RETURN_DOM = cfg.RETURN_DOM || false; // Default false
+ RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false
+ RETURN_DOM_IMPORT = cfg.RETURN_DOM_IMPORT || false; // Default false
+ RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false
+ FORCE_BODY = cfg.FORCE_BODY || false; // Default false
+ SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true
+ KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true
+ IN_PLACE = cfg.IN_PLACE || false; // Default false
+ IS_ALLOWED_URI$$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI$$1;
+ if (SAFE_FOR_TEMPLATES) {
+ ALLOW_DATA_ATTR = false;
+ }
+
+ if (RETURN_DOM_FRAGMENT) {
+ RETURN_DOM = true;
+ }
+
+ /* Parse profile info */
+ if (USE_PROFILES) {
+ ALLOWED_TAGS = addToSet({}, [].concat(_toConsumableArray(text)));
+ ALLOWED_ATTR = [];
+ if (USE_PROFILES.html === true) {
+ addToSet(ALLOWED_TAGS, html);
+ addToSet(ALLOWED_ATTR, html$1);
+ }
+
+ if (USE_PROFILES.svg === true) {
+ addToSet(ALLOWED_TAGS, svg);
+ addToSet(ALLOWED_ATTR, svg$1);
+ addToSet(ALLOWED_ATTR, xml);
+ }
+
+ if (USE_PROFILES.svgFilters === true) {
+ addToSet(ALLOWED_TAGS, svgFilters);
+ addToSet(ALLOWED_ATTR, svg$1);
+ addToSet(ALLOWED_ATTR, xml);
+ }
+
+ if (USE_PROFILES.mathMl === true) {
+ addToSet(ALLOWED_TAGS, mathMl);
+ addToSet(ALLOWED_ATTR, mathMl$1);
+ addToSet(ALLOWED_ATTR, xml);
+ }
+ }
+
+ /* Merge configuration parameters */
+ if (cfg.ADD_TAGS) {
+ if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {
+ ALLOWED_TAGS = clone(ALLOWED_TAGS);
+ }
+
+ addToSet(ALLOWED_TAGS, cfg.ADD_TAGS);
+ }
+
+ if (cfg.ADD_ATTR) {
+ if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {
+ ALLOWED_ATTR = clone(ALLOWED_ATTR);
+ }
+
+ addToSet(ALLOWED_ATTR, cfg.ADD_ATTR);
+ }
+
+ if (cfg.ADD_URI_SAFE_ATTR) {
+ addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR);
+ }
+
+ /* Add #text in case KEEP_CONTENT is set to true */
+ if (KEEP_CONTENT) {
+ ALLOWED_TAGS['#text'] = true;
+ }
+
+ /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */
+ if (WHOLE_DOCUMENT) {
+ addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);
+ }
+
+ /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */
+ if (ALLOWED_TAGS.table) {
+ addToSet(ALLOWED_TAGS, ['tbody']);
+ delete FORBID_TAGS.tbody;
+ }
+
+ // Prevent further manipulation of configuration.
+ // Not available in IE8, Safari 5, etc.
+ if (freeze) {
+ freeze(cfg);
+ }
+
+ CONFIG = cfg;
+ };
+
+ /**
+ * _forceRemove
+ *
+ * @param {Node} node a DOM node
+ */
+ var _forceRemove = function _forceRemove(node) {
+ arrayPush(DOMPurify.removed, { element: node });
+ try {
+ node.parentNode.removeChild(node);
+ } catch (error) {
+ node.outerHTML = emptyHTML;
+ }
+ };
+
+ /**
+ * _removeAttribute
+ *
+ * @param {String} name an Attribute name
+ * @param {Node} node a DOM node
+ */
+ var _removeAttribute = function _removeAttribute(name, node) {
+ try {
+ arrayPush(DOMPurify.removed, {
+ attribute: node.getAttributeNode(name),
+ from: node
+ });
+ } catch (error) {
+ arrayPush(DOMPurify.removed, {
+ attribute: null,
+ from: node
+ });
+ }
+
+ node.removeAttribute(name);
+ };
+
+ /**
+ * _initDocument
+ *
+ * @param {String} dirty a string of dirty markup
+ * @return {Document} a DOM, filled with the dirty markup
+ */
+ var _initDocument = function _initDocument(dirty) {
+ /* Create a HTML document */
+ var doc = void 0;
+ var leadingWhitespace = void 0;
+
+ if (FORCE_BODY) {
+ dirty = ' ' + dirty;
+ } else {
+ /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */
+ var matches = stringMatch(dirty, /^[\s]+/);
+ leadingWhitespace = matches && matches[0];
+ }
+
+ var dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;
+ /* Use DOMParser to workaround Firefox bug (see comment below) */
+ if (useDOMParser) {
+ try {
+ doc = new DOMParser().parseFromString(dirtyPayload, 'text/html');
+ } catch (error) {}
+ }
+
+ /* Remove title to fix a mXSS bug in older MS Edge */
+ if (removeTitle) {
+ addToSet(FORBID_TAGS, ['title']);
+ }
+
+ /* Otherwise use createHTMLDocument, because DOMParser is unsafe in
+ Safari (see comment below) */
+ if (!doc || !doc.documentElement) {
+ doc = implementation.createHTMLDocument('');
+ var _doc = doc,
+ body = _doc.body;
+
+ body.parentNode.removeChild(body.parentNode.firstElementChild);
+ body.outerHTML = dirtyPayload;
+ }
+
+ if (dirty && leadingWhitespace) {
+ doc.body.insertBefore(document.createTextNode(leadingWhitespace), doc.body.childNodes[0] || null);
+ }
+
+ /* Work on whole document or just its body */
+ return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];
+ };
+
+ // Firefox uses a different parser for innerHTML rather than
+ // DOMParser (see https://bugzilla.mozilla.org/show_bug.cgi?id=1205631)
+ // which means that you *must* use DOMParser, otherwise the output may
+ // not be safe if used in a document.write context later.
+ //
+ // So we feature detect the Firefox bug and use the DOMParser if necessary.
+ //
+ // Chrome 77 and other versions ship an mXSS bug that caused a bypass to
+ // happen. We now check for the mXSS trigger and react accordingly.
+ if (DOMPurify.isSupported) {
+ (function () {
+ try {
+ var doc = _initDocument('