@withpotter/pages-admin 0.13.0-next.101
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/_fx/entity-avatar.js +63 -0
- package/dist/admin/_fx/entity-avatar.js.map +1 -0
- package/dist/admin/_fx/index.js +14 -0
- package/dist/admin/_fx/index.js.map +1 -0
- package/dist/admin/_fx/motion.js +59 -0
- package/dist/admin/_fx/motion.js.map +1 -0
- package/dist/admin/_fx/page-transition.js +23 -0
- package/dist/admin/_fx/page-transition.js.map +1 -0
- package/dist/admin/_fx/tones.js +28 -0
- package/dist/admin/_fx/tones.js.map +1 -0
- package/dist/admin/_fx.js +1 -0
- package/dist/admin/_inbox/nav-badge.js +27 -0
- package/dist/admin/_inbox/nav-badge.js.map +1 -0
- package/dist/admin/_inbox/nav-badge.module.css +15 -0
- package/dist/admin/_inbox/use-admin-inbox.js +118 -0
- package/dist/admin/_inbox/use-admin-inbox.js.map +1 -0
- package/dist/admin/_money/business-ledger.js +65 -0
- package/dist/admin/_money/business-ledger.js.map +1 -0
- package/dist/admin/_money/business-picker.js +53 -0
- package/dist/admin/_money/business-picker.js.map +1 -0
- package/dist/admin/_money/cash-errors.js +42 -0
- package/dist/admin/_money/cash-errors.js.map +1 -0
- package/dist/admin/_money/cash-postings.js +93 -0
- package/dist/admin/_money/cash-postings.js.map +1 -0
- package/dist/admin/_money/cash.module.css +128 -0
- package/dist/admin/_money/finder-format.js +42 -0
- package/dist/admin/_money/finder-format.js.map +1 -0
- package/dist/admin/_money/finder-row.js +51 -0
- package/dist/admin/_money/finder-row.js.map +1 -0
- package/dist/admin/_money/format.js +62 -0
- package/dist/admin/_money/format.js.map +1 -0
- package/dist/admin/_money/ledger-activity.js +90 -0
- package/dist/admin/_money/ledger-activity.js.map +1 -0
- package/dist/admin/_money/ledger-balances.js +32 -0
- package/dist/admin/_money/ledger-balances.js.map +1 -0
- package/dist/admin/_money/ledger-body.js +62 -0
- package/dist/admin/_money/ledger-body.js.map +1 -0
- package/dist/admin/_money/ledger-holds.js +70 -0
- package/dist/admin/_money/ledger-holds.js.map +1 -0
- package/dist/admin/_money/ledger-statement.js +120 -0
- package/dist/admin/_money/ledger-statement.js.map +1 -0
- package/dist/admin/_money/ledger.js +94 -0
- package/dist/admin/_money/ledger.js.map +1 -0
- package/dist/admin/_money/ledger.module.css +88 -0
- package/dist/admin/_money/money-section.js +19 -0
- package/dist/admin/_money/money-section.js.map +1 -0
- package/dist/admin/_money/open-as-owner.js +32 -0
- package/dist/admin/_money/open-as-owner.js.map +1 -0
- package/dist/admin/_money/page.module.css +149 -0
- package/dist/admin/_money/permissions.js +46 -0
- package/dist/admin/_money/permissions.js.map +1 -0
- package/dist/admin/_money/proposal-status.js +20 -0
- package/dist/admin/_money/proposal-status.js.map +1 -0
- package/dist/admin/_money/proposal-store.js +65 -0
- package/dist/admin/_money/proposal-store.js.map +1 -0
- package/dist/admin/_money/propose-dialog.js +124 -0
- package/dist/admin/_money/propose-dialog.js.map +1 -0
- package/dist/admin/_money/propose-draft.js +40 -0
- package/dist/admin/_money/propose-draft.js.map +1 -0
- package/dist/admin/_money/propose-fields.js +113 -0
- package/dist/admin/_money/propose-fields.js.map +1 -0
- package/dist/admin/_money/propose-steps.js +73 -0
- package/dist/admin/_money/propose-steps.js.map +1 -0
- package/dist/admin/_money/propose.module.css +105 -0
- package/dist/admin/_money/review-dialog.js +149 -0
- package/dist/admin/_money/review-dialog.js.map +1 -0
- package/dist/admin/_money/review-rules.js +31 -0
- package/dist/admin/_money/review-rules.js.map +1 -0
- package/dist/admin/_money/save-csv.js +12 -0
- package/dist/admin/_money/save-csv.js.map +1 -0
- package/dist/admin/_money/skeleton-rows.js +10 -0
- package/dist/admin/_money/skeleton-rows.js.map +1 -0
- package/dist/admin/_money/statement-export.js +57 -0
- package/dist/admin/_money/statement-export.js.map +1 -0
- package/dist/admin/_money/tenant-param.js +26 -0
- package/dist/admin/_money/tenant-param.js.map +1 -0
- package/dist/admin/_money/use-ledger.js +47 -0
- package/dist/admin/_money/use-ledger.js.map +1 -0
- package/dist/admin/_money/waiting-proposals.js +89 -0
- package/dist/admin/_money/waiting-proposals.js.map +1 -0
- package/dist/admin/_overview/activation-panel.js +55 -0
- package/dist/admin/_overview/activation-panel.js.map +1 -0
- package/dist/admin/_overview/attention-groups.js +83 -0
- package/dist/admin/_overview/attention-groups.js.map +1 -0
- package/dist/admin/_overview/attention-panel.js +58 -0
- package/dist/admin/_overview/attention-panel.js.map +1 -0
- package/dist/admin/_overview/attention.module.css +109 -0
- package/dist/admin/_overview/control-room.js +88 -0
- package/dist/admin/_overview/control-room.js.map +1 -0
- package/dist/admin/_overview/control-room.module.css +20 -0
- package/dist/admin/_overview/figures.module.css +155 -0
- package/dist/admin/_overview/kpi-row.js +77 -0
- package/dist/admin/_overview/kpi-row.js.map +1 -0
- package/dist/admin/_overview/leaders-panel.js +71 -0
- package/dist/admin/_overview/leaders-panel.js.map +1 -0
- package/dist/admin/_overview/overdue-outstanding.js +37 -0
- package/dist/admin/_overview/overdue-outstanding.js.map +1 -0
- package/dist/admin/_overview/portfolio-panel.js +69 -0
- package/dist/admin/_overview/portfolio-panel.js.map +1 -0
- package/dist/admin/_overview/position-panel.js +66 -0
- package/dist/admin/_overview/position-panel.js.map +1 -0
- package/dist/admin/_overview/position.module.css +52 -0
- package/dist/admin/_overview/use-waiting-cases.js +17 -0
- package/dist/admin/_overview/use-waiting-cases.js.map +1 -0
- package/dist/admin/_pos/action-dialog.js +66 -0
- package/dist/admin/_pos/action-dialog.js.map +1 -0
- package/dist/admin/_pos/close-shift-dialog.js +62 -0
- package/dist/admin/_pos/close-shift-dialog.js.map +1 -0
- package/dist/admin/_pos/pos-figures.js +82 -0
- package/dist/admin/_pos/pos-figures.js.map +1 -0
- package/dist/admin/_pos/pos-money.js +14 -0
- package/dist/admin/_pos/pos-money.js.map +1 -0
- package/dist/admin/_pos/pos-parts.js +68 -0
- package/dist/admin/_pos/pos-parts.js.map +1 -0
- package/dist/admin/_pos/pos-rules.js +43 -0
- package/dist/admin/_pos/pos-rules.js.map +1 -0
- package/dist/admin/_pos/pos-words.js +101 -0
- package/dist/admin/_pos/pos-words.js.map +1 -0
- package/dist/admin/_pos/pos.module.css +154 -0
- package/dist/admin/_pos/shift-row.js +107 -0
- package/dist/admin/_pos/shift-row.js.map +1 -0
- package/dist/admin/_pos/shifts-table.js +72 -0
- package/dist/admin/_pos/shifts-table.js.map +1 -0
- package/dist/admin/_pos/terminal-actions.js +104 -0
- package/dist/admin/_pos/terminal-actions.js.map +1 -0
- package/dist/admin/_pos/use-pos-access.js +20 -0
- package/dist/admin/_pos/use-pos-access.js.map +1 -0
- package/dist/admin/_pos/use-pos-period.js +39 -0
- package/dist/admin/_pos/use-pos-period.js.map +1 -0
- package/dist/admin/_pos/use-pos.js +89 -0
- package/dist/admin/_pos/use-pos.js.map +1 -0
- package/dist/admin/_pos/use-tenant-param.js +20 -0
- package/dist/admin/_pos/use-tenant-param.js.map +1 -0
- package/dist/admin/_settings/index.js +28 -0
- package/dist/admin/_settings/index.js.map +1 -0
- package/dist/admin/_settings/live-announcer.js +35 -0
- package/dist/admin/_settings/live-announcer.js.map +1 -0
- package/dist/admin/_settings/schema.js +82 -0
- package/dist/admin/_settings/schema.js.map +1 -0
- package/dist/admin/_settings/store.js +82 -0
- package/dist/admin/_settings/store.js.map +1 -0
- package/dist/admin/_settings/use-apply-preferences.js +38 -0
- package/dist/admin/_settings/use-apply-preferences.js.map +1 -0
- package/dist/admin/_settings/use-start-page.js +20 -0
- package/dist/admin/_settings/use-start-page.js.map +1 -0
- package/dist/admin/_settings.js +1 -0
- package/dist/admin/_shell/admin-brand.js +15 -0
- package/dist/admin/_shell/admin-brand.js.map +1 -0
- package/dist/admin/_shell/brand.module.css +147 -0
- package/dist/admin/_shell/command-palette.js +103 -0
- package/dist/admin/_shell/command-palette.js.map +1 -0
- package/dist/admin/_shell/command-palette.module.css +109 -0
- package/dist/admin/_shell/frame.module.css +92 -0
- package/dist/admin/_shell/inbox-bell.js +74 -0
- package/dist/admin/_shell/inbox-bell.js.map +1 -0
- package/dist/admin/_shell/inbox.module.css +107 -0
- package/dist/admin/_shell/menus.module.css +55 -0
- package/dist/admin/_shell/modules-context.js +17 -0
- package/dist/admin/_shell/modules-context.js.map +1 -0
- package/dist/admin/_shell/nav-config.js +168 -0
- package/dist/admin/_shell/nav-config.js.map +1 -0
- package/dist/admin/_shell/nav-filter.js +45 -0
- package/dist/admin/_shell/nav-filter.js.map +1 -0
- package/dist/admin/_shell/nav-fold.js +14 -0
- package/dist/admin/_shell/nav-fold.js.map +1 -0
- package/dist/admin/_shell/nav-group.js +78 -0
- package/dist/admin/_shell/nav-group.js.map +1 -0
- package/dist/admin/_shell/nav-modules.js +36 -0
- package/dist/admin/_shell/nav-modules.js.map +1 -0
- package/dist/admin/_shell/nav-row.js +62 -0
- package/dist/admin/_shell/nav-row.js.map +1 -0
- package/dist/admin/_shell/seam-toggle.js +26 -0
- package/dist/admin/_shell/seam-toggle.js.map +1 -0
- package/dist/admin/_shell/section-tabs.js +28 -0
- package/dist/admin/_shell/section-tabs.js.map +1 -0
- package/dist/admin/_shell/shell-skeleton.js +30 -0
- package/dist/admin/_shell/shell-skeleton.js.map +1 -0
- package/dist/admin/_shell/shell-skeleton.module.css +57 -0
- package/dist/admin/_shell/sidebar-footer.js +85 -0
- package/dist/admin/_shell/sidebar-footer.js.map +1 -0
- package/dist/admin/_shell/sidebar-footer.module.css +144 -0
- package/dist/admin/_shell/sidebar.js +87 -0
- package/dist/admin/_shell/sidebar.js.map +1 -0
- package/dist/admin/_shell/sidebar.module.css +259 -0
- package/dist/admin/_shell/sign-out.js +14 -0
- package/dist/admin/_shell/sign-out.js.map +1 -0
- package/dist/admin/_shell/system-status-panel.js +100 -0
- package/dist/admin/_shell/system-status-panel.js.map +1 -0
- package/dist/admin/_shell/system-status-panel.module.css +195 -0
- package/dist/admin/_shell/topbar.js +26 -0
- package/dist/admin/_shell/topbar.js.map +1 -0
- package/dist/admin/_shell/topbar.module.css +84 -0
- package/dist/admin/_shell/use-admin-query-defaults.js +18 -0
- package/dist/admin/_shell/use-admin-query-defaults.js.map +1 -0
- package/dist/admin/_shell/use-fluid-hover.js +62 -0
- package/dist/admin/_shell/use-fluid-hover.js.map +1 -0
- package/dist/admin/_shell/use-open-groups.js +64 -0
- package/dist/admin/_shell/use-open-groups.js.map +1 -0
- package/dist/admin/_shell/use-shell-prefs.js +87 -0
- package/dist/admin/_shell/use-shell-prefs.js.map +1 -0
- package/dist/admin/_shell/user-menu.js +80 -0
- package/dist/admin/_shell/user-menu.js.map +1 -0
- package/dist/admin/_ui/admin.css +801 -0
- package/dist/admin/_ui/chart-colors.js +46 -0
- package/dist/admin/_ui/chart-colors.js.map +1 -0
- package/dist/admin/_ui/column-picker.js +77 -0
- package/dist/admin/_ui/column-picker.js.map +1 -0
- package/dist/admin/_ui/country-label.js +42 -0
- package/dist/admin/_ui/country-label.js.map +1 -0
- package/dist/admin/_ui/country-label.module.css +31 -0
- package/dist/admin/_ui/country-text.js +21 -0
- package/dist/admin/_ui/country-text.js.map +1 -0
- package/dist/admin/_ui/currency-filter-model.js +53 -0
- package/dist/admin/_ui/currency-filter-model.js.map +1 -0
- package/dist/admin/_ui/currency-filter.js +64 -0
- package/dist/admin/_ui/currency-filter.js.map +1 -0
- package/dist/admin/_ui/data-table.js +107 -0
- package/dist/admin/_ui/data-table.js.map +1 -0
- package/dist/admin/_ui/donut-chart.js +193 -0
- package/dist/admin/_ui/donut-chart.js.map +1 -0
- package/dist/admin/_ui/drawer.js +82 -0
- package/dist/admin/_ui/drawer.js.map +1 -0
- package/dist/admin/_ui/drawer.module.css +157 -0
- package/dist/admin/_ui/empty-state.js +47 -0
- package/dist/admin/_ui/empty-state.js.map +1 -0
- package/dist/admin/_ui/filter-bar.js +24 -0
- package/dist/admin/_ui/filter-bar.js.map +1 -0
- package/dist/admin/_ui/filter-dates.js +67 -0
- package/dist/admin/_ui/filter-dates.js.map +1 -0
- package/dist/admin/_ui/filters.js +93 -0
- package/dist/admin/_ui/filters.js.map +1 -0
- package/dist/admin/_ui/filters.module.css +88 -0
- package/dist/admin/_ui/index.js +120 -0
- package/dist/admin/_ui/index.js.map +1 -0
- package/dist/admin/_ui/list-card.js +119 -0
- package/dist/admin/_ui/list-card.js.map +1 -0
- package/dist/admin/_ui/list-card.module.css +96 -0
- package/dist/admin/_ui/loading.js +29 -0
- package/dist/admin/_ui/loading.js.map +1 -0
- package/dist/admin/_ui/money-lines.js +19 -0
- package/dist/admin/_ui/money-lines.js.map +1 -0
- package/dist/admin/_ui/money-lines.module.css +4 -0
- package/dist/admin/_ui/money-view.js +43 -0
- package/dist/admin/_ui/money-view.js.map +1 -0
- package/dist/admin/_ui/motion.css +22 -0
- package/dist/admin/_ui/page-header.js +54 -0
- package/dist/admin/_ui/page-header.js.map +1 -0
- package/dist/admin/_ui/page-header.module.css +45 -0
- package/dist/admin/_ui/page-tabs.js +46 -0
- package/dist/admin/_ui/page-tabs.js.map +1 -0
- package/dist/admin/_ui/pagination.js +68 -0
- package/dist/admin/_ui/pagination.js.map +1 -0
- package/dist/admin/_ui/panel.js +38 -0
- package/dist/admin/_ui/panel.js.map +1 -0
- package/dist/admin/_ui/panel.module.css +87 -0
- package/dist/admin/_ui/period-selector.js +81 -0
- package/dist/admin/_ui/period-selector.js.map +1 -0
- package/dist/admin/_ui/period.js +52 -0
- package/dist/admin/_ui/period.js.map +1 -0
- package/dist/admin/_ui/period.module.css +43 -0
- package/dist/admin/_ui/preferences.css +121 -0
- package/dist/admin/_ui/prefs.js +62 -0
- package/dist/admin/_ui/prefs.js.map +1 -0
- package/dist/admin/_ui/skeleton.js +26 -0
- package/dist/admin/_ui/skeleton.js.map +1 -0
- package/dist/admin/_ui/sparkline.js +56 -0
- package/dist/admin/_ui/sparkline.js.map +1 -0
- package/dist/admin/_ui/stat-card.js +85 -0
- package/dist/admin/_ui/stat-card.js.map +1 -0
- package/dist/admin/_ui/styles.js +74 -0
- package/dist/admin/_ui/styles.js.map +1 -0
- package/dist/admin/_ui/tint.css +87 -0
- package/dist/admin/_ui/trend.js +58 -0
- package/dist/admin/_ui/trend.js.map +1 -0
- package/dist/admin/_ui/workspace-tab.js +25 -0
- package/dist/admin/_ui/workspace-tab.js.map +1 -0
- package/dist/admin/_ui.js +1 -0
- package/dist/admin/accounts/account-activity.js +64 -0
- package/dist/admin/accounts/account-activity.js.map +1 -0
- package/dist/admin/accounts/account-activity.module.css +83 -0
- package/dist/admin/accounts/account-panel.js +177 -0
- package/dist/admin/accounts/account-panel.js.map +1 -0
- package/dist/admin/accounts/account-panel.module.css +213 -0
- package/dist/admin/accounts/account-row.js +122 -0
- package/dist/admin/accounts/account-row.js.map +1 -0
- package/dist/admin/accounts/account-sessions.js +70 -0
- package/dist/admin/accounts/account-sessions.js.map +1 -0
- package/dist/admin/accounts/account-sessions.module.css +55 -0
- package/dist/admin/accounts/account-stage-filter.js +29 -0
- package/dist/admin/accounts/account-stage-filter.js.map +1 -0
- package/dist/admin/accounts/account-stage.js +81 -0
- package/dist/admin/accounts/account-stage.js.map +1 -0
- package/dist/admin/accounts/account-vitals.js +46 -0
- package/dist/admin/accounts/account-vitals.js.map +1 -0
- package/dist/admin/accounts/account-workspaces.js +56 -0
- package/dist/admin/accounts/account-workspaces.js.map +1 -0
- package/dist/admin/accounts/accounts-analytics.js +113 -0
- package/dist/admin/accounts/accounts-analytics.js.map +1 -0
- package/dist/admin/accounts/accounts-kpis.js +70 -0
- package/dist/admin/accounts/accounts-kpis.js.map +1 -0
- package/dist/admin/accounts/accounts-table.js +266 -0
- package/dist/admin/accounts/accounts-table.js.map +1 -0
- package/dist/admin/accounts/accounts-workspace.js +85 -0
- package/dist/admin/accounts/accounts-workspace.js.map +1 -0
- package/dist/admin/accounts/hint.js +12 -0
- package/dist/admin/accounts/hint.js.map +1 -0
- package/dist/admin/accounts/owner-session.js +30 -0
- package/dist/admin/accounts/owner-session.js.map +1 -0
- package/dist/admin/accounts/page.js +11 -0
- package/dist/admin/accounts/page.js.map +1 -0
- package/dist/admin/accounts/relative-time.js +28 -0
- package/dist/admin/accounts/relative-time.js.map +1 -0
- package/dist/admin/accounts/rows.module.css +84 -0
- package/dist/admin/accounts/top-accounts.js +56 -0
- package/dist/admin/accounts/top-accounts.js.map +1 -0
- package/dist/admin/accounts/use-account-actions.js +42 -0
- package/dist/admin/accounts/use-account-actions.js.map +1 -0
- package/dist/admin/accounts/use-account-activity.js +37 -0
- package/dist/admin/accounts/use-account-activity.js.map +1 -0
- package/dist/admin/admins/access-dialog.js +130 -0
- package/dist/admin/admins/access-dialog.js.map +1 -0
- package/dist/admin/admins/admin-row.js +74 -0
- package/dist/admin/admins/admin-row.js.map +1 -0
- package/dist/admin/admins/admins-activity.js +28 -0
- package/dist/admin/admins/admins-activity.js.map +1 -0
- package/dist/admin/admins/admins-analytics.js +116 -0
- package/dist/admin/admins/admins-analytics.js.map +1 -0
- package/dist/admin/admins/admins-kpis.js +77 -0
- package/dist/admin/admins/admins-kpis.js.map +1 -0
- package/dist/admin/admins/admins-table.js +75 -0
- package/dist/admin/admins/admins-table.js.map +1 -0
- package/dist/admin/admins/admins-workspace.js +109 -0
- package/dist/admin/admins/admins-workspace.js.map +1 -0
- package/dist/admin/admins/admins.module.css +191 -0
- package/dist/admin/admins/invite-dialog.js +134 -0
- package/dist/admin/admins/invite-dialog.js.map +1 -0
- package/dist/admin/admins/page.js +11 -0
- package/dist/admin/admins/page.js.map +1 -0
- package/dist/admin/admins/recent-activity.js +38 -0
- package/dist/admin/admins/recent-activity.js.map +1 -0
- package/dist/admin/admins/recent-activity.module.css +60 -0
- package/dist/admin/admins/role-choices.js +27 -0
- package/dist/admin/admins/role-choices.js.map +1 -0
- package/dist/admin/admins/secret-field.js +60 -0
- package/dist/admin/admins/secret-field.js.map +1 -0
- package/dist/admin/admins/temp-password-dialog.js +39 -0
- package/dist/admin/admins/temp-password-dialog.js.map +1 -0
- package/dist/admin/admins/use-admin-actions.js +57 -0
- package/dist/admin/admins/use-admin-actions.js.map +1 -0
- package/dist/admin/audit/action-meta.js +26 -0
- package/dist/admin/audit/action-meta.js.map +1 -0
- package/dist/admin/audit/activity-chart.js +117 -0
- package/dist/admin/audit/activity-chart.js.map +1 -0
- package/dist/admin/audit/activity-chart.module.css +44 -0
- package/dist/admin/audit/audit-analytics.js +146 -0
- package/dist/admin/audit/audit-analytics.js.map +1 -0
- package/dist/admin/audit/audit-filters.js +78 -0
- package/dist/admin/audit/audit-filters.js.map +1 -0
- package/dist/admin/audit/audit-log.js +132 -0
- package/dist/admin/audit/audit-log.js.map +1 -0
- package/dist/admin/audit/audit-workspace.js +84 -0
- package/dist/admin/audit/audit-workspace.js.map +1 -0
- package/dist/admin/audit/audit.module.css +135 -0
- package/dist/admin/audit/bar-list.js +27 -0
- package/dist/admin/audit/bar-list.js.map +1 -0
- package/dist/admin/audit/empty-block.js +13 -0
- package/dist/admin/audit/empty-block.js.map +1 -0
- package/dist/admin/audit/format.js +22 -0
- package/dist/admin/audit/format.js.map +1 -0
- package/dist/admin/audit/kpi-brand.module.css +7 -0
- package/dist/admin/audit/load-failed.js +20 -0
- package/dist/admin/audit/load-failed.js.map +1 -0
- package/dist/admin/audit/metric-card.module.css +10 -0
- package/dist/admin/audit/page.js +11 -0
- package/dist/admin/audit/page.js.map +1 -0
- package/dist/admin/audit/page.module.css +12 -0
- package/dist/admin/audit/section-header.js +13 -0
- package/dist/admin/audit/section-header.js.map +1 -0
- package/dist/admin/audit/section-header.module.css +5 -0
- package/dist/admin/audit/status-fill.js +14 -0
- package/dist/admin/audit/status-fill.js.map +1 -0
- package/dist/admin/audit/status-pill.js +52 -0
- package/dist/admin/audit/status-pill.js.map +1 -0
- package/dist/admin/audit/status-pill.module.css +58 -0
- package/dist/admin/audit/tinted.js +17 -0
- package/dist/admin/audit/tinted.js.map +1 -0
- package/dist/admin/audit/use-range.js +16 -0
- package/dist/admin/audit/use-range.js.map +1 -0
- package/dist/admin/audit/when.js +14 -0
- package/dist/admin/audit/when.js.map +1 -0
- package/dist/admin/cash/page.js +184 -0
- package/dist/admin/cash/page.js.map +1 -0
- package/dist/admin/change-password/page.js +164 -0
- package/dist/admin/change-password/page.js.map +1 -0
- package/dist/admin/commerce/commerce-console.js +106 -0
- package/dist/admin/commerce/commerce-console.js.map +1 -0
- package/dist/admin/commerce/commerce-overview.js +102 -0
- package/dist/admin/commerce/commerce-overview.js.map +1 -0
- package/dist/admin/commerce/console.module.css +63 -0
- package/dist/admin/commerce/merchant-meta.js +40 -0
- package/dist/admin/commerce/merchant-meta.js.map +1 -0
- package/dist/admin/commerce/merchant-picker.js +114 -0
- package/dist/admin/commerce/merchant-picker.js.map +1 -0
- package/dist/admin/commerce/merchant-view.js +113 -0
- package/dist/admin/commerce/merchant-view.js.map +1 -0
- package/dist/admin/commerce/overview-kpis.js +100 -0
- package/dist/admin/commerce/overview-kpis.js.map +1 -0
- package/dist/admin/commerce/overview-services.js +40 -0
- package/dist/admin/commerce/overview-services.js.map +1 -0
- package/dist/admin/commerce/overview-top-merchants.js +51 -0
- package/dist/admin/commerce/overview-top-merchants.js.map +1 -0
- package/dist/admin/commerce/overview.module.css +145 -0
- package/dist/admin/commerce/page.js +11 -0
- package/dist/admin/commerce/page.js.map +1 -0
- package/dist/admin/commerce/picker.module.css +98 -0
- package/dist/admin/feedback/answer-case-button.js +30 -0
- package/dist/admin/feedback/answer-case-button.js.map +1 -0
- package/dist/admin/feedback/answers-view.js +87 -0
- package/dist/admin/feedback/answers-view.js.map +1 -0
- package/dist/admin/feedback/category-label.js +12 -0
- package/dist/admin/feedback/category-label.js.map +1 -0
- package/dist/admin/feedback/comment-stream.js +62 -0
- package/dist/admin/feedback/comment-stream.js.map +1 -0
- package/dist/admin/feedback/feedback-access.js +21 -0
- package/dist/admin/feedback/feedback-access.js.map +1 -0
- package/dist/admin/feedback/feedback-detail-drawer.js +95 -0
- package/dist/admin/feedback/feedback-detail-drawer.js.map +1 -0
- package/dist/admin/feedback/feedback-drawer-footer.js +60 -0
- package/dist/admin/feedback/feedback-drawer-footer.js.map +1 -0
- package/dist/admin/feedback/feedback-drawer.module.css +162 -0
- package/dist/admin/feedback/feedback-facts.js +84 -0
- package/dist/admin/feedback/feedback-facts.js.map +1 -0
- package/dist/admin/feedback/feedback-kpis.js +50 -0
- package/dist/admin/feedback/feedback-kpis.js.map +1 -0
- package/dist/admin/feedback/feedback-options.js +49 -0
- package/dist/admin/feedback/feedback-options.js.map +1 -0
- package/dist/admin/feedback/feedback-sentiment.js +45 -0
- package/dist/admin/feedback/feedback-sentiment.js.map +1 -0
- package/dist/admin/feedback/feedback.module.css +136 -0
- package/dist/admin/feedback/new-prompt-button.js +13 -0
- package/dist/admin/feedback/new-prompt-button.js.map +1 -0
- package/dist/admin/feedback/page.js +57 -0
- package/dist/admin/feedback/page.js.map +1 -0
- package/dist/admin/feedback/prompt-audience-fields.js +63 -0
- package/dist/admin/feedback/prompt-audience-fields.js.map +1 -0
- package/dist/admin/feedback/prompt-builder.js +85 -0
- package/dist/admin/feedback/prompt-builder.js.map +1 -0
- package/dist/admin/feedback/prompt-builder.module.css +134 -0
- package/dist/admin/feedback/prompt-delivery-fields.js +134 -0
- package/dist/admin/feedback/prompt-delivery-fields.js.map +1 -0
- package/dist/admin/feedback/prompt-dialog.js +88 -0
- package/dist/admin/feedback/prompt-dialog.js.map +1 -0
- package/dist/admin/feedback/prompt-dialog.module.css +199 -0
- package/dist/admin/feedback/prompt-draft.js +71 -0
- package/dist/admin/feedback/prompt-draft.js.map +1 -0
- package/dist/admin/feedback/prompt-insights.js +120 -0
- package/dist/admin/feedback/prompt-insights.js.map +1 -0
- package/dist/admin/feedback/prompt-operations.js +89 -0
- package/dist/admin/feedback/prompt-operations.js.map +1 -0
- package/dist/admin/feedback/prompt-operations.module.css +128 -0
- package/dist/admin/feedback/prompt-preview.js +71 -0
- package/dist/admin/feedback/prompt-preview.js.map +1 -0
- package/dist/admin/feedback/prompt-preview.module.css +135 -0
- package/dist/admin/feedback/prompt-question-fields.js +83 -0
- package/dist/admin/feedback/prompt-question-fields.js.map +1 -0
- package/dist/admin/feedback/prompt-response-fields.js +103 -0
- package/dist/admin/feedback/prompt-response-fields.js.map +1 -0
- package/dist/admin/feedback/prompt-review.js +80 -0
- package/dist/admin/feedback/prompt-review.js.map +1 -0
- package/dist/admin/feedback/prompt-schedule-field.js +67 -0
- package/dist/admin/feedback/prompt-schedule-field.js.map +1 -0
- package/dist/admin/feedback/prompt-stepper.js +33 -0
- package/dist/admin/feedback/prompt-stepper.js.map +1 -0
- package/dist/admin/feedback/prompt-summary.module.css +39 -0
- package/dist/admin/feedback/prompt-validation.js +48 -0
- package/dist/admin/feedback/prompt-validation.js.map +1 -0
- package/dist/admin/feedback/prompt-wizard.js +147 -0
- package/dist/admin/feedback/prompt-wizard.js.map +1 -0
- package/dist/admin/feedback/prompts-table.js +85 -0
- package/dist/admin/feedback/prompts-table.js.map +1 -0
- package/dist/admin/feedback/prompts-view.js +132 -0
- package/dist/admin/feedback/prompts-view.js.map +1 -0
- package/dist/admin/feedback/response-card.js +78 -0
- package/dist/admin/feedback/response-card.js.map +1 -0
- package/dist/admin/feedback/responses-table.js +132 -0
- package/dist/admin/feedback/responses-table.js.map +1 -0
- package/dist/admin/feedback/responses-view.js +142 -0
- package/dist/admin/feedback/responses-view.js.map +1 -0
- package/dist/admin/feedback/responses.module.css +147 -0
- package/dist/admin/feedback/sentiment-overview.js +103 -0
- package/dist/admin/feedback/sentiment-overview.js.map +1 -0
- package/dist/admin/feedback/sentiment.module.css +150 -0
- package/dist/admin/feedback/use-admin-feedback.js +15 -0
- package/dist/admin/feedback/use-admin-feedback.js.map +1 -0
- package/dist/admin/feedback/use-admin-prompts.js +15 -0
- package/dist/admin/feedback/use-admin-prompts.js.map +1 -0
- package/dist/admin/feedback/use-admin-signals.js +22 -0
- package/dist/admin/feedback/use-admin-signals.js.map +1 -0
- package/dist/admin/feedback/use-open-case.js +53 -0
- package/dist/admin/feedback/use-open-case.js.map +1 -0
- package/dist/admin/feedback/use-prompt-save.js +59 -0
- package/dist/admin/feedback/use-prompt-save.js.map +1 -0
- package/dist/admin/feedback/use-steps.js +45 -0
- package/dist/admin/feedback/use-steps.js.map +1 -0
- package/dist/admin/feedback-signals/_components/comments-panel.js +72 -0
- package/dist/admin/feedback-signals/_components/comments-panel.js.map +1 -0
- package/dist/admin/feedback-signals/_components/health-panel.js +46 -0
- package/dist/admin/feedback-signals/_components/health-panel.js.map +1 -0
- package/dist/admin/feedback-signals/_components/messages-panel.js +96 -0
- package/dist/admin/feedback-signals/_components/messages-panel.js.map +1 -0
- package/dist/admin/feedback-signals/_components/movement.js +27 -0
- package/dist/admin/feedback-signals/_components/movement.js.map +1 -0
- package/dist/admin/feedback-signals/_components/pick-up.js +67 -0
- package/dist/admin/feedback-signals/_components/pick-up.js.map +1 -0
- package/dist/admin/feedback-signals/_components/scores-panel.js +68 -0
- package/dist/admin/feedback-signals/_components/scores-panel.js.map +1 -0
- package/dist/admin/feedback-signals/_components/signals-workspace.js +84 -0
- package/dist/admin/feedback-signals/_components/signals-workspace.js.map +1 -0
- package/dist/admin/feedback-signals/_components/use-feedback-signals.js +51 -0
- package/dist/admin/feedback-signals/_components/use-feedback-signals.js.map +1 -0
- package/dist/admin/feedback-signals/page.js +11 -0
- package/dist/admin/feedback-signals/page.js.map +1 -0
- package/dist/admin/growth-chart-model.js +75 -0
- package/dist/admin/growth-chart-model.js.map +1 -0
- package/dist/admin/growth-chart-parts.js +186 -0
- package/dist/admin/growth-chart-parts.js.map +1 -0
- package/dist/admin/growth-chart.js +177 -0
- package/dist/admin/growth-chart.js.map +1 -0
- package/dist/admin/hooks.js +257 -0
- package/dist/admin/hooks.js.map +1 -0
- package/dist/admin/layout.js +153 -0
- package/dist/admin/layout.js.map +1 -0
- package/dist/admin/login/page.js +215 -0
- package/dist/admin/login/page.js.map +1 -0
- package/dist/admin/newsletters/[id]/page.js +13 -0
- package/dist/admin/newsletters/[id]/page.js.map +1 -0
- package/dist/admin/newsletters/audience/[contactId]/page.js +12 -0
- package/dist/admin/newsletters/audience/[contactId]/page.js.map +1 -0
- package/dist/admin/newsletters/audience/audience-list.js +163 -0
- package/dist/admin/newsletters/audience/audience-list.js.map +1 -0
- package/dist/admin/newsletters/audience/contact-deliveries.js +90 -0
- package/dist/admin/newsletters/audience/contact-deliveries.js.map +1 -0
- package/dist/admin/newsletters/audience/contact-row.js +63 -0
- package/dist/admin/newsletters/audience/contact-row.js.map +1 -0
- package/dist/admin/newsletters/audience/contact-screen.js +59 -0
- package/dist/admin/newsletters/audience/contact-screen.js.map +1 -0
- package/dist/admin/newsletters/audience/contact-summary.js +70 -0
- package/dist/admin/newsletters/audience/contact-summary.js.map +1 -0
- package/dist/admin/newsletters/audience/contacts.js +99 -0
- package/dist/admin/newsletters/audience/contacts.js.map +1 -0
- package/dist/admin/newsletters/audience/page.js +11 -0
- package/dist/admin/newsletters/audience/page.js.map +1 -0
- package/dist/admin/newsletters/audience/status-change.js +53 -0
- package/dist/admin/newsletters/audience/status-change.js.map +1 -0
- package/dist/admin/newsletters/audience/status-dialog.js +103 -0
- package/dist/admin/newsletters/audience/status-dialog.js.map +1 -0
- package/dist/admin/newsletters/audience/use-contacts.js +84 -0
- package/dist/admin/newsletters/audience/use-contacts.js.map +1 -0
- package/dist/admin/newsletters/autosave.js +58 -0
- package/dist/admin/newsletters/autosave.js.map +1 -0
- package/dist/admin/newsletters/brand-image-field.js +38 -0
- package/dist/admin/newsletters/brand-image-field.js.map +1 -0
- package/dist/admin/newsletters/composer.js +122 -0
- package/dist/admin/newsletters/composer.js.map +1 -0
- package/dist/admin/newsletters/content.js +59 -0
- package/dist/admin/newsletters/content.js.map +1 -0
- package/dist/admin/newsletters/deliveries.js +111 -0
- package/dist/admin/newsletters/deliveries.js.map +1 -0
- package/dist/admin/newsletters/digest-items.js +91 -0
- package/dist/admin/newsletters/digest-items.js.map +1 -0
- package/dist/admin/newsletters/editor-fields.js +135 -0
- package/dist/admin/newsletters/editor-fields.js.map +1 -0
- package/dist/admin/newsletters/format-date.js +11 -0
- package/dist/admin/newsletters/format-date.js.map +1 -0
- package/dist/admin/newsletters/image-field.js +55 -0
- package/dist/admin/newsletters/image-field.js.map +1 -0
- package/dist/admin/newsletters/image-picker.js +86 -0
- package/dist/admin/newsletters/image-picker.js.map +1 -0
- package/dist/admin/newsletters/image-upload.js +37 -0
- package/dist/admin/newsletters/image-upload.js.map +1 -0
- package/dist/admin/newsletters/labels.js +32 -0
- package/dist/admin/newsletters/labels.js.map +1 -0
- package/dist/admin/newsletters/layout-picker.js +58 -0
- package/dist/admin/newsletters/layout-picker.js.map +1 -0
- package/dist/admin/newsletters/layout-schematic.js +46 -0
- package/dist/admin/newsletters/layout-schematic.js.map +1 -0
- package/dist/admin/newsletters/markdown-field.js +98 -0
- package/dist/admin/newsletters/markdown-field.js.map +1 -0
- package/dist/admin/newsletters/markdown-insert.js +45 -0
- package/dist/admin/newsletters/markdown-insert.js.map +1 -0
- package/dist/admin/newsletters/newsletter-row.js +69 -0
- package/dist/admin/newsletters/newsletter-row.js.map +1 -0
- package/dist/admin/newsletters/newsletter-screen.js +25 -0
- package/dist/admin/newsletters/newsletter-screen.js.map +1 -0
- package/dist/admin/newsletters/newsletters-list.js +140 -0
- package/dist/admin/newsletters/newsletters-list.js.map +1 -0
- package/dist/admin/newsletters/not-available.js +7 -0
- package/dist/admin/newsletters/not-available.js.map +1 -0
- package/dist/admin/newsletters/page.js +11 -0
- package/dist/admin/newsletters/page.js.map +1 -0
- package/dist/admin/newsletters/preview-pane.js +68 -0
- package/dist/admin/newsletters/preview-pane.js.map +1 -0
- package/dist/admin/newsletters/problems.js +73 -0
- package/dist/admin/newsletters/problems.js.map +1 -0
- package/dist/admin/newsletters/recipient-row.js +73 -0
- package/dist/admin/newsletters/recipient-row.js.map +1 -0
- package/dist/admin/newsletters/recipients-empty.js +21 -0
- package/dist/admin/newsletters/recipients-empty.js.map +1 -0
- package/dist/admin/newsletters/recipients-selection.js +32 -0
- package/dist/admin/newsletters/recipients-selection.js.map +1 -0
- package/dist/admin/newsletters/recipients-tab.js +172 -0
- package/dist/admin/newsletters/recipients-tab.js.map +1 -0
- package/dist/admin/newsletters/record-header.js +28 -0
- package/dist/admin/newsletters/record-header.js.map +1 -0
- package/dist/admin/newsletters/retry-selection.js +45 -0
- package/dist/admin/newsletters/retry-selection.js.map +1 -0
- package/dist/admin/newsletters/review-dialog.js +95 -0
- package/dist/admin/newsletters/review-dialog.js.map +1 -0
- package/dist/admin/newsletters/save-file.js +12 -0
- package/dist/admin/newsletters/save-file.js.map +1 -0
- package/dist/admin/newsletters/save-indicator.js +28 -0
- package/dist/admin/newsletters/save-indicator.js.map +1 -0
- package/dist/admin/newsletters/section-tabs.js +26 -0
- package/dist/admin/newsletters/section-tabs.js.map +1 -0
- package/dist/admin/newsletters/sending.js +36 -0
- package/dist/admin/newsletters/sending.js.map +1 -0
- package/dist/admin/newsletters/sent-summary.js +77 -0
- package/dist/admin/newsletters/sent-summary.js.map +1 -0
- package/dist/admin/newsletters/sent-view.js +60 -0
- package/dist/admin/newsletters/sent-view.js.map +1 -0
- package/dist/admin/newsletters/signature-editor-fields.js +75 -0
- package/dist/admin/newsletters/signature-editor-fields.js.map +1 -0
- package/dist/admin/newsletters/signature-editor.js +63 -0
- package/dist/admin/newsletters/signature-editor.js.map +1 -0
- package/dist/admin/newsletters/signature-field.js +44 -0
- package/dist/admin/newsletters/signature-field.js.map +1 -0
- package/dist/admin/newsletters/signature-preview.js +27 -0
- package/dist/admin/newsletters/signature-preview.js.map +1 -0
- package/dist/admin/newsletters/signature-row.js +54 -0
- package/dist/admin/newsletters/signature-row.js.map +1 -0
- package/dist/admin/newsletters/signature-values.js +75 -0
- package/dist/admin/newsletters/signature-values.js.map +1 -0
- package/dist/admin/newsletters/signatures-dialog.js +98 -0
- package/dist/admin/newsletters/signatures-dialog.js.map +1 -0
- package/dist/admin/newsletters/signatures.js +34 -0
- package/dist/admin/newsletters/signatures.js.map +1 -0
- package/dist/admin/newsletters/use-autosave.js +147 -0
- package/dist/admin/newsletters/use-autosave.js.map +1 -0
- package/dist/admin/newsletters/use-deliveries.js +90 -0
- package/dist/admin/newsletters/use-deliveries.js.map +1 -0
- package/dist/admin/newsletters/use-newsletter-actions.js +68 -0
- package/dist/admin/newsletters/use-newsletter-actions.js.map +1 -0
- package/dist/admin/newsletters/use-newsletters.js +83 -0
- package/dist/admin/newsletters/use-newsletters.js.map +1 -0
- package/dist/admin/newsletters/use-send-actions.js +62 -0
- package/dist/admin/newsletters/use-send-actions.js.map +1 -0
- package/dist/admin/newsletters/use-signature-preview.js +29 -0
- package/dist/admin/newsletters/use-signature-preview.js.map +1 -0
- package/dist/admin/newsletters/use-signatures.js +55 -0
- package/dist/admin/newsletters/use-signatures.js.map +1 -0
- package/dist/admin/page.js +179 -0
- package/dist/admin/page.js.map +1 -0
- package/dist/admin/payout-providers/add-flow.js +84 -0
- package/dist/admin/payout-providers/add-flow.js.map +1 -0
- package/dist/admin/payout-providers/attention-list.js +135 -0
- package/dist/admin/payout-providers/attention-list.js.map +1 -0
- package/dist/admin/payout-providers/connect-step.js +180 -0
- package/dist/admin/payout-providers/connect-step.js.map +1 -0
- package/dist/admin/payout-providers/editor/auth-section.js +166 -0
- package/dist/admin/payout-providers/editor/auth-section.js.map +1 -0
- package/dist/admin/payout-providers/editor/call-editor.js +107 -0
- package/dist/admin/payout-providers/editor/call-editor.js.map +1 -0
- package/dist/admin/payout-providers/editor/condition-editor.js +109 -0
- package/dist/admin/payout-providers/editor/condition-editor.js.map +1 -0
- package/dist/admin/payout-providers/editor/editor.module.css +123 -0
- package/dist/admin/payout-providers/editor/fields.js +144 -0
- package/dist/admin/payout-providers/editor/fields.js.map +1 -0
- package/dist/admin/payout-providers/editor/flow-editor.js +160 -0
- package/dist/admin/payout-providers/editor/flow-editor.js.map +1 -0
- package/dist/admin/payout-providers/editor/flow-parts.js +69 -0
- package/dist/admin/payout-providers/editor/flow-parts.js.map +1 -0
- package/dist/admin/payout-providers/editor/flow-sections.js +147 -0
- package/dist/admin/payout-providers/editor/flow-sections.js.map +1 -0
- package/dist/admin/payout-providers/editor/rules-editor.js +151 -0
- package/dist/admin/payout-providers/editor/rules-editor.js.map +1 -0
- package/dist/admin/payout-providers/editor/step-editor.js +157 -0
- package/dist/admin/payout-providers/editor/step-editor.js.map +1 -0
- package/dist/admin/payout-providers/editor/transfer-section.js +103 -0
- package/dist/admin/payout-providers/editor/transfer-section.js.map +1 -0
- package/dist/admin/payout-providers/page.js +94 -0
- package/dist/admin/payout-providers/page.js.map +1 -0
- package/dist/admin/payout-providers/payout-providers.module.css +179 -0
- package/dist/admin/payout-providers/pin-step.js +84 -0
- package/dist/admin/payout-providers/pin-step.js.map +1 -0
- package/dist/admin/payout-providers/provider-detail.js +148 -0
- package/dist/admin/payout-providers/provider-detail.js.map +1 -0
- package/dist/admin/payout-providers/provider-list.js +37 -0
- package/dist/admin/payout-providers/provider-list.js.map +1 -0
- package/dist/admin/payout-providers/sections.module.css +151 -0
- package/dist/admin/payout-providers/shared.js +34 -0
- package/dist/admin/payout-providers/shared.js.map +1 -0
- package/dist/admin/payout-providers/status.js +17 -0
- package/dist/admin/payout-providers/status.js.map +1 -0
- package/dist/admin/payout-providers/step.js +31 -0
- package/dist/admin/payout-providers/step.js.map +1 -0
- package/dist/admin/payout-providers/test-transfer.js +161 -0
- package/dist/admin/payout-providers/test-transfer.js.map +1 -0
- package/dist/admin/payout-providers/use-connect.js +108 -0
- package/dist/admin/payout-providers/use-connect.js.map +1 -0
- package/dist/admin/payout-providers/verify-step.js +57 -0
- package/dist/admin/payout-providers/verify-step.js.map +1 -0
- package/dist/admin/payout-tiers/_tier-dialog.js +205 -0
- package/dist/admin/payout-tiers/_tier-dialog.js.map +1 -0
- package/dist/admin/payout-tiers/page.js +11 -0
- package/dist/admin/payout-tiers/page.js.map +1 -0
- package/dist/admin/payout-tiers/tier-preview-result.js +58 -0
- package/dist/admin/payout-tiers/tier-preview-result.js.map +1 -0
- package/dist/admin/payout-tiers/tier-preview-tab.js +67 -0
- package/dist/admin/payout-tiers/tier-preview-tab.js.map +1 -0
- package/dist/admin/payout-tiers/tier-preview.js +41 -0
- package/dist/admin/payout-tiers/tier-preview.js.map +1 -0
- package/dist/admin/payout-tiers/tiers-table.js +151 -0
- package/dist/admin/payout-tiers/tiers-table.js.map +1 -0
- package/dist/admin/payout-tiers/tiers-workspace.js +56 -0
- package/dist/admin/payout-tiers/tiers-workspace.js.map +1 -0
- package/dist/admin/payout-tiers/use-tiers.js +14 -0
- package/dist/admin/payout-tiers/use-tiers.js.map +1 -0
- package/dist/admin/pos/page.js +11 -0
- package/dist/admin/pos/page.js.map +1 -0
- package/dist/admin/pos/pos-workspace.js +66 -0
- package/dist/admin/pos/pos-workspace.js.map +1 -0
- package/dist/admin/pos/shifts-tab.js +111 -0
- package/dist/admin/pos/shifts-tab.js.map +1 -0
- package/dist/admin/pos/terminal-row.js +94 -0
- package/dist/admin/pos/terminal-row.js.map +1 -0
- package/dist/admin/pos/terminals/[id]/page.js +12 -0
- package/dist/admin/pos/terminals/[id]/page.js.map +1 -0
- package/dist/admin/pos/terminals/[id]/terminal-page.js +119 -0
- package/dist/admin/pos/terminals/[id]/terminal-page.js.map +1 -0
- package/dist/admin/pos/terminals/[id]/terminal-panels.js +58 -0
- package/dist/admin/pos/terminals/[id]/terminal-panels.js.map +1 -0
- package/dist/admin/pos/terminals/[id]/terminal-people.js +63 -0
- package/dist/admin/pos/terminals/[id]/terminal-people.js.map +1 -0
- package/dist/admin/pos/terminals/[id]/terminal.module.css +103 -0
- package/dist/admin/pos/terminals-tab.js +147 -0
- package/dist/admin/pos/terminals-tab.js.map +1 -0
- package/dist/admin/pricing/approvals-tab.js +47 -0
- package/dist/admin/pricing/approvals-tab.js.map +1 -0
- package/dist/admin/pricing/cancel-plan-dialog.js +85 -0
- package/dist/admin/pricing/cancel-plan-dialog.js.map +1 -0
- package/dist/admin/pricing/change-list.js +9 -0
- package/dist/admin/pricing/change-list.js.map +1 -0
- package/dist/admin/pricing/change-plan-dialog.js +84 -0
- package/dist/admin/pricing/change-plan-dialog.js.map +1 -0
- package/dist/admin/pricing/display-preview.js +51 -0
- package/dist/admin/pricing/display-preview.js.map +1 -0
- package/dist/admin/pricing/display-tab.js +76 -0
- package/dist/admin/pricing/display-tab.js.map +1 -0
- package/dist/admin/pricing/features-tab.js +48 -0
- package/dist/admin/pricing/features-tab.js.map +1 -0
- package/dist/admin/pricing/page.js +30 -0
- package/dist/admin/pricing/page.js.map +1 -0
- package/dist/admin/pricing/plan-approval.js +97 -0
- package/dist/admin/pricing/plan-approval.js.map +1 -0
- package/dist/admin/pricing/plan-card-product.js +63 -0
- package/dist/admin/pricing/plan-card-product.js.map +1 -0
- package/dist/admin/pricing/plan-changes.js +54 -0
- package/dist/admin/pricing/plan-changes.js.map +1 -0
- package/dist/admin/pricing/plan-drawer.js +97 -0
- package/dist/admin/pricing/plan-drawer.js.map +1 -0
- package/dist/admin/pricing/plan-form-basics.js +59 -0
- package/dist/admin/pricing/plan-form-basics.js.map +1 -0
- package/dist/admin/pricing/plan-form-dialog.js +103 -0
- package/dist/admin/pricing/plan-form-dialog.js.map +1 -0
- package/dist/admin/pricing/plan-form-features.js +59 -0
- package/dist/admin/pricing/plan-form-features.js.map +1 -0
- package/dist/admin/pricing/plan-form-review.js +67 -0
- package/dist/admin/pricing/plan-form-review.js.map +1 -0
- package/dist/admin/pricing/plan-model.js +91 -0
- package/dist/admin/pricing/plan-model.js.map +1 -0
- package/dist/admin/pricing/plan-row.js +59 -0
- package/dist/admin/pricing/plan-row.js.map +1 -0
- package/dist/admin/pricing/plans-tab.js +84 -0
- package/dist/admin/pricing/plans-tab.js.map +1 -0
- package/dist/admin/pricing/price-form-dialog.js +133 -0
- package/dist/admin/pricing/price-form-dialog.js.map +1 -0
- package/dist/admin/pricing/price-history.js +25 -0
- package/dist/admin/pricing/price-history.js.map +1 -0
- package/dist/admin/pricing/price-model.js +47 -0
- package/dist/admin/pricing/price-model.js.map +1 -0
- package/dist/admin/pricing/price-review.js +104 -0
- package/dist/admin/pricing/price-review.js.map +1 -0
- package/dist/admin/pricing/price-tab.js +101 -0
- package/dist/admin/pricing/price-tab.js.map +1 -0
- package/dist/admin/pricing/pricing-tabs.js +28 -0
- package/dist/admin/pricing/pricing-tabs.js.map +1 -0
- package/dist/admin/pricing/pricing.module.css +188 -0
- package/dist/admin/pricing/subscription-events.js +33 -0
- package/dist/admin/pricing/subscription-events.js.map +1 -0
- package/dist/admin/pricing/subscription-history.js +103 -0
- package/dist/admin/pricing/subscription-history.js.map +1 -0
- package/dist/admin/pricing/subscription-plan.js +51 -0
- package/dist/admin/pricing/subscription-plan.js.map +1 -0
- package/dist/admin/pricing/subscription-row.js +70 -0
- package/dist/admin/pricing/subscription-row.js.map +1 -0
- package/dist/admin/pricing/subscriptions-tab.js +141 -0
- package/dist/admin/pricing/subscriptions-tab.js.map +1 -0
- package/dist/admin/pricing/use-plans.js +49 -0
- package/dist/admin/pricing/use-plans.js.map +1 -0
- package/dist/admin/pricing/use-pricing.js +38 -0
- package/dist/admin/pricing/use-pricing.js.map +1 -0
- package/dist/admin/pricing/use-subscriptions.js +21 -0
- package/dist/admin/pricing/use-subscriptions.js.map +1 -0
- package/dist/admin/product-insights/all-merchants-view.js +146 -0
- package/dist/admin/product-insights/all-merchants-view.js.map +1 -0
- package/dist/admin/product-insights/page.js +11 -0
- package/dist/admin/product-insights/page.js.map +1 -0
- package/dist/admin/product-insights/product-insights-workspace.js +112 -0
- package/dist/admin/product-insights/product-insights-workspace.js.map +1 -0
- package/dist/admin/product-insights/product-insights.module.css +114 -0
- package/dist/admin/product-insights/report-copy.js +69 -0
- package/dist/admin/product-insights/report-copy.js.map +1 -0
- package/dist/admin/product-insights/report-empty.js +14 -0
- package/dist/admin/product-insights/report-empty.js.map +1 -0
- package/dist/admin/product-insights/report-kpis.js +54 -0
- package/dist/admin/product-insights/report-kpis.js.map +1 -0
- package/dist/admin/product-insights/report-panel.js +129 -0
- package/dist/admin/product-insights/report-panel.js.map +1 -0
- package/dist/admin/product-insights/report-ranking.js +44 -0
- package/dist/admin/product-insights/report-ranking.js.map +1 -0
- package/dist/admin/product-insights/use-insight-report.js +59 -0
- package/dist/admin/product-insights/use-insight-report.js.map +1 -0
- package/dist/admin/revenue/channel-panel.js +49 -0
- package/dist/admin/revenue/channel-panel.js.map +1 -0
- package/dist/admin/revenue/channel-rows.js +17 -0
- package/dist/admin/revenue/channel-rows.js.map +1 -0
- package/dist/admin/revenue/cohort-panel.js +74 -0
- package/dist/admin/revenue/cohort-panel.js.map +1 -0
- package/dist/admin/revenue/download-button.js +40 -0
- package/dist/admin/revenue/download-button.js.map +1 -0
- package/dist/admin/revenue/figure-list.js +19 -0
- package/dist/admin/revenue/figure-list.js.map +1 -0
- package/dist/admin/revenue/health-panel.js +59 -0
- package/dist/admin/revenue/health-panel.js.map +1 -0
- package/dist/admin/revenue/ledger-model.js +84 -0
- package/dist/admin/revenue/ledger-model.js.map +1 -0
- package/dist/admin/revenue/ledger.module.css +101 -0
- package/dist/admin/revenue/merchant-payments-view.js +231 -0
- package/dist/admin/revenue/merchant-payments-view.js.map +1 -0
- package/dist/admin/revenue/method-cards.js +32 -0
- package/dist/admin/revenue/method-cards.js.map +1 -0
- package/dist/admin/revenue/page.js +11 -0
- package/dist/admin/revenue/page.js.map +1 -0
- package/dist/admin/revenue/plan-mix-panel.js +62 -0
- package/dist/admin/revenue/plan-mix-panel.js.map +1 -0
- package/dist/admin/revenue/platform-fees.js +9 -0
- package/dist/admin/revenue/platform-fees.js.map +1 -0
- package/dist/admin/revenue/quality-panel.js +71 -0
- package/dist/admin/revenue/quality-panel.js.map +1 -0
- package/dist/admin/revenue/revenue-kpis.js +73 -0
- package/dist/admin/revenue/revenue-kpis.js.map +1 -0
- package/dist/admin/revenue/revenue-overview.js +132 -0
- package/dist/admin/revenue/revenue-overview.js.map +1 -0
- package/dist/admin/revenue/revenue-retention.js +31 -0
- package/dist/admin/revenue/revenue-retention.js.map +1 -0
- package/dist/admin/revenue/revenue-workspace.js +171 -0
- package/dist/admin/revenue/revenue-workspace.js.map +1 -0
- package/dist/admin/revenue/revenue.module.css +196 -0
- package/dist/admin/revenue/subscriptions-panel.js +58 -0
- package/dist/admin/revenue/subscriptions-panel.js.map +1 -0
- package/dist/admin/revenue/subscriptions-view.js +188 -0
- package/dist/admin/revenue/subscriptions-view.js.map +1 -0
- package/dist/admin/revenue/top-tenants-panel.js +96 -0
- package/dist/admin/revenue/top-tenants-panel.js.map +1 -0
- package/dist/admin/reviews/merchant-filter.js +122 -0
- package/dist/admin/reviews/merchant-filter.js.map +1 -0
- package/dist/admin/reviews/merchant-filter.module.css +113 -0
- package/dist/admin/reviews/page.js +124 -0
- package/dist/admin/reviews/page.js.map +1 -0
- package/dist/admin/reviews/review-row.js +44 -0
- package/dist/admin/reviews/review-row.js.map +1 -0
- package/dist/admin/reviews/reviews-kpis.js +55 -0
- package/dist/admin/reviews/reviews-kpis.js.map +1 -0
- package/dist/admin/reviews/reviews.module.css +68 -0
- package/dist/admin/reviews/use-admin-reviews.js +22 -0
- package/dist/admin/reviews/use-admin-reviews.js.map +1 -0
- package/dist/admin/reviews/use-merchant-search.js +32 -0
- package/dist/admin/reviews/use-merchant-search.js.map +1 -0
- package/dist/admin/roles/more-chip.js +48 -0
- package/dist/admin/roles/more-chip.js.map +1 -0
- package/dist/admin/roles/more-chip.module.css +70 -0
- package/dist/admin/roles/page.js +159 -0
- package/dist/admin/roles/page.js.map +1 -0
- package/dist/admin/roles/permission-picker.js +71 -0
- package/dist/admin/roles/permission-picker.js.map +1 -0
- package/dist/admin/roles/permission-picker.module.css +81 -0
- package/dist/admin/roles/permissions.js +66 -0
- package/dist/admin/roles/permissions.js.map +1 -0
- package/dist/admin/roles/role-dialog.js +162 -0
- package/dist/admin/roles/role-dialog.js.map +1 -0
- package/dist/admin/roles/role-row.js +51 -0
- package/dist/admin/roles/role-row.js.map +1 -0
- package/dist/admin/roles/roles-kpis.js +45 -0
- package/dist/admin/roles/roles-kpis.js.map +1 -0
- package/dist/admin/roles/roles.module.css +141 -0
- package/dist/admin/sales/activity-log-tab.js +154 -0
- package/dist/admin/sales/activity-log-tab.js.map +1 -0
- package/dist/admin/sales/bucket.js +29 -0
- package/dist/admin/sales/bucket.js.map +1 -0
- package/dist/admin/sales/conversion-panel.js +59 -0
- package/dist/admin/sales/conversion-panel.js.map +1 -0
- package/dist/admin/sales/growth-analysis.js +78 -0
- package/dist/admin/sales/growth-analysis.js.map +1 -0
- package/dist/admin/sales/leads-tab.js +134 -0
- package/dist/admin/sales/leads-tab.js.map +1 -0
- package/dist/admin/sales/overview-tab.js +92 -0
- package/dist/admin/sales/overview-tab.js.map +1 -0
- package/dist/admin/sales/page.js +11 -0
- package/dist/admin/sales/page.js.map +1 -0
- package/dist/admin/sales/pipeline/add-lead-dialog.js +143 -0
- package/dist/admin/sales/pipeline/add-lead-dialog.js.map +1 -0
- package/dist/admin/sales/pipeline/lead-card.js +44 -0
- package/dist/admin/sales/pipeline/lead-card.js.map +1 -0
- package/dist/admin/sales/pipeline/lead-drawer.js +139 -0
- package/dist/admin/sales/pipeline/lead-drawer.js.map +1 -0
- package/dist/admin/sales/pipeline/lead-timeline.js +34 -0
- package/dist/admin/sales/pipeline/lead-timeline.js.map +1 -0
- package/dist/admin/sales/pipeline/log-contact-dialog.js +126 -0
- package/dist/admin/sales/pipeline/log-contact-dialog.js.map +1 -0
- package/dist/admin/sales/pipeline/move-stage-dialog.js +119 -0
- package/dist/admin/sales/pipeline/move-stage-dialog.js.map +1 -0
- package/dist/admin/sales/pipeline/pipeline-board.js +77 -0
- package/dist/admin/sales/pipeline/pipeline-board.js.map +1 -0
- package/dist/admin/sales/pipeline/pipeline-filters.js +46 -0
- package/dist/admin/sales/pipeline/pipeline-filters.js.map +1 -0
- package/dist/admin/sales/pipeline/pipeline.module.css +141 -0
- package/dist/admin/sales/report-math.js +17 -0
- package/dist/admin/sales/report-math.js.map +1 -0
- package/dist/admin/sales/reports-tab.js +147 -0
- package/dist/admin/sales/reports-tab.js.map +1 -0
- package/dist/admin/sales/sales-kpis.js +69 -0
- package/dist/admin/sales/sales-kpis.js.map +1 -0
- package/dist/admin/sales/sales-workspace.js +55 -0
- package/dist/admin/sales/sales-workspace.js.map +1 -0
- package/dist/admin/sales/sales.module.css +52 -0
- package/dist/admin/sales/sources-panel.js +19 -0
- package/dist/admin/sales/sources-panel.js.map +1 -0
- package/dist/admin/sales/stage-meta.js +73 -0
- package/dist/admin/sales/stage-meta.js.map +1 -0
- package/dist/admin/sales/use-debounced.js +14 -0
- package/dist/admin/sales/use-debounced.js.map +1 -0
- package/dist/admin/sales/use-sales.js +51 -0
- package/dist/admin/sales/use-sales.js.map +1 -0
- package/dist/admin/scores/page.js +8 -0
- package/dist/admin/scores/page.js.map +1 -0
- package/dist/admin/settings/accessibility-tab.js +135 -0
- package/dist/admin/settings/accessibility-tab.js.map +1 -0
- package/dist/admin/settings/account-tab.js +59 -0
- package/dist/admin/settings/account-tab.js.map +1 -0
- package/dist/admin/settings/change-password-dialog.js +112 -0
- package/dist/admin/settings/change-password-dialog.js.map +1 -0
- package/dist/admin/settings/general-tab.js +143 -0
- package/dist/admin/settings/general-tab.js.map +1 -0
- package/dist/admin/settings/notifications-tab.js +155 -0
- package/dist/admin/settings/notifications-tab.js.map +1 -0
- package/dist/admin/settings/page.js +11 -0
- package/dist/admin/settings/page.js.map +1 -0
- package/dist/admin/settings/profile-card.js +35 -0
- package/dist/admin/settings/profile-card.js.map +1 -0
- package/dist/admin/settings/setting-row.js +85 -0
- package/dist/admin/settings/setting-row.js.map +1 -0
- package/dist/admin/settings/settings-workspace.js +47 -0
- package/dist/admin/settings/settings-workspace.js.map +1 -0
- package/dist/admin/settings/settings.module.css +162 -0
- package/dist/admin/settings/shortcut-list.js +42 -0
- package/dist/admin/settings/shortcut-list.js.map +1 -0
- package/dist/admin/settings/shortcuts-tab.js +42 -0
- package/dist/admin/settings/shortcuts-tab.js.map +1 -0
- package/dist/admin/settings/use-inbox-on.js +11 -0
- package/dist/admin/settings/use-inbox-on.js.map +1 -0
- package/dist/admin/settings/use-save.js +35 -0
- package/dist/admin/settings/use-save.js.map +1 -0
- package/dist/admin/support/case-field-selects.js +125 -0
- package/dist/admin/support/case-field-selects.js.map +1 -0
- package/dist/admin/support/case-header-controls.js +98 -0
- package/dist/admin/support/case-header-controls.js.map +1 -0
- package/dist/admin/support/case-origin.js +26 -0
- package/dist/admin/support/case-origin.js.map +1 -0
- package/dist/admin/support/case-pills.js +41 -0
- package/dist/admin/support/case-pills.js.map +1 -0
- package/dist/admin/support/case-pills.module.css +36 -0
- package/dist/admin/support/case-row-menu.js +77 -0
- package/dist/admin/support/case-row-menu.js.map +1 -0
- package/dist/admin/support/case-row.js +70 -0
- package/dist/admin/support/case-row.js.map +1 -0
- package/dist/admin/support/case-timeline.js +82 -0
- package/dist/admin/support/case-timeline.js.map +1 -0
- package/dist/admin/support/cases-tab.js +55 -0
- package/dist/admin/support/cases-tab.js.map +1 -0
- package/dist/admin/support/composer-aids.js +29 -0
- package/dist/admin/support/composer-aids.js.map +1 -0
- package/dist/admin/support/composer-assist.js +32 -0
- package/dist/admin/support/composer-assist.js.map +1 -0
- package/dist/admin/support/composer-assist.module.css +23 -0
- package/dist/admin/support/composer-footer.js +56 -0
- package/dist/admin/support/composer-footer.js.map +1 -0
- package/dist/admin/support/composer-header.js +44 -0
- package/dist/admin/support/composer-header.js.map +1 -0
- package/dist/admin/support/composer-keys.js +25 -0
- package/dist/admin/support/composer-keys.js.map +1 -0
- package/dist/admin/support/composer-toolbar.js +69 -0
- package/dist/admin/support/composer-toolbar.js.map +1 -0
- package/dist/admin/support/inbox-address.js +36 -0
- package/dist/admin/support/inbox-address.js.map +1 -0
- package/dist/admin/support/inbox-header.js +19 -0
- package/dist/admin/support/inbox-header.js.map +1 -0
- package/dist/admin/support/inbox-header.module.css +28 -0
- package/dist/admin/support/kbd.js +9 -0
- package/dist/admin/support/kbd.js.map +1 -0
- package/dist/admin/support/kbd.module.css +19 -0
- package/dist/admin/support/page.js +95 -0
- package/dist/admin/support/page.js.map +1 -0
- package/dist/admin/support/queue-card.js +46 -0
- package/dist/admin/support/queue-card.js.map +1 -0
- package/dist/admin/support/queue-card.module.css +88 -0
- package/dist/admin/support/queue-filters.js +119 -0
- package/dist/admin/support/queue-filters.js.map +1 -0
- package/dist/admin/support/reply-picker-body.js +122 -0
- package/dist/admin/support/reply-picker-body.js.map +1 -0
- package/dist/admin/support/reply-picker.js +55 -0
- package/dist/admin/support/reply-picker.js.map +1 -0
- package/dist/admin/support/reply-picker.module.css +152 -0
- package/dist/admin/support/saved-replies/library-categories.js +48 -0
- package/dist/admin/support/saved-replies/library-categories.js.map +1 -0
- package/dist/admin/support/saved-replies/library.js +121 -0
- package/dist/admin/support/saved-replies/library.js.map +1 -0
- package/dist/admin/support/saved-replies/library.module.css +157 -0
- package/dist/admin/support/saved-replies/page.js +16 -0
- package/dist/admin/support/saved-replies/page.js.map +1 -0
- package/dist/admin/support/saved-replies/placeholders.js +51 -0
- package/dist/admin/support/saved-replies/placeholders.js.map +1 -0
- package/dist/admin/support/saved-replies/reply-fields.js +102 -0
- package/dist/admin/support/saved-replies/reply-fields.js.map +1 -0
- package/dist/admin/support/saved-replies/reply-list.js +60 -0
- package/dist/admin/support/saved-replies/reply-list.js.map +1 -0
- package/dist/admin/support/saved-replies/reply-list.module.css +74 -0
- package/dist/admin/support/saved-replies/reply-meta.js +78 -0
- package/dist/admin/support/saved-replies/reply-meta.js.map +1 -0
- package/dist/admin/support/saved-replies/reply-preview.js +48 -0
- package/dist/admin/support/saved-replies/reply-preview.js.map +1 -0
- package/dist/admin/support/saved-replies/save-reply-dialog.js +66 -0
- package/dist/admin/support/saved-replies/save-reply-dialog.js.map +1 -0
- package/dist/admin/support/saved-replies/saved-replies-kpis.js +55 -0
- package/dist/admin/support/saved-replies/saved-replies-kpis.js.map +1 -0
- package/dist/admin/support/saved-replies/saved-replies-tab.js +22 -0
- package/dist/admin/support/saved-replies/saved-replies-tab.js.map +1 -0
- package/dist/admin/support/saved-replies/saved-replies.module.css +95 -0
- package/dist/admin/support/saved-replies/saved-reply-editor.js +55 -0
- package/dist/admin/support/saved-replies/saved-reply-editor.js.map +1 -0
- package/dist/admin/support/saved-replies/use-saved-replies.js +40 -0
- package/dist/admin/support/saved-replies/use-saved-replies.js.map +1 -0
- package/dist/admin/support/suggestion-card.js +70 -0
- package/dist/admin/support/suggestion-card.js.map +1 -0
- package/dist/admin/support/suggestion-card.module.css +72 -0
- package/dist/admin/support/support-case-detail.js +16 -0
- package/dist/admin/support/support-case-detail.js.map +1 -0
- package/dist/admin/support/support-case-identity.js +80 -0
- package/dist/admin/support/support-case-identity.js.map +1 -0
- package/dist/admin/support/support-case-table.js +89 -0
- package/dist/admin/support/support-case-table.js.map +1 -0
- package/dist/admin/support/support-case-thread.js +64 -0
- package/dist/admin/support/support-case-thread.js.map +1 -0
- package/dist/admin/support/support-case.module.css +178 -0
- package/dist/admin/support/support-composer.js +171 -0
- package/dist/admin/support/support-composer.js.map +1 -0
- package/dist/admin/support/support-kpis.js +106 -0
- package/dist/admin/support/support-kpis.js.map +1 -0
- package/dist/admin/support/support-options.js +87 -0
- package/dist/admin/support/support-options.js.map +1 -0
- package/dist/admin/support/support-queue.module.css +82 -0
- package/dist/admin/support/support-thread.module.css +174 -0
- package/dist/admin/support/support-trend.js +59 -0
- package/dist/admin/support/support-trend.js.map +1 -0
- package/dist/admin/support/support-views.js +79 -0
- package/dist/admin/support/support-views.js.map +1 -0
- package/dist/admin/support/support-views.module.css +80 -0
- package/dist/admin/support/support.module.css +98 -0
- package/dist/admin/support/thread-attachment.js +54 -0
- package/dist/admin/support/thread-attachment.js.map +1 -0
- package/dist/admin/support/thread-bubble.js +46 -0
- package/dist/admin/support/thread-bubble.js.map +1 -0
- package/dist/admin/support/thread-event.module.css +35 -0
- package/dist/admin/support/use-admin-support.js +90 -0
- package/dist/admin/support/use-admin-support.js.map +1 -0
- package/dist/admin/support/use-case-activity.js +68 -0
- package/dist/admin/support/use-case-activity.js.map +1 -0
- package/dist/admin/support/use-close-case.js +26 -0
- package/dist/admin/support/use-close-case.js.map +1 -0
- package/dist/admin/support/use-composer-assist.js +114 -0
- package/dist/admin/support/use-composer-assist.js.map +1 -0
- package/dist/admin/support/use-queue-cases.js +17 -0
- package/dist/admin/support/use-queue-cases.js.map +1 -0
- package/dist/admin/support/use-send-reply.js +73 -0
- package/dist/admin/support/use-send-reply.js.map +1 -0
- package/dist/admin/support/use-support-insights.js +53 -0
- package/dist/admin/support/use-support-insights.js.map +1 -0
- package/dist/admin/support/use-view-counts.js +36 -0
- package/dist/admin/support/use-view-counts.js.map +1 -0
- package/dist/admin/support/workspace/action-bar.js +69 -0
- package/dist/admin/support/workspace/action-bar.js.map +1 -0
- package/dist/admin/support/workspace/action-bar.module.css +85 -0
- package/dist/admin/support/workspace/case-card.js +58 -0
- package/dist/admin/support/workspace/case-card.js.map +1 -0
- package/dist/admin/support/workspace/case-facts.js +41 -0
- package/dist/admin/support/workspace/case-facts.js.map +1 -0
- package/dist/admin/support/workspace/case-list-pane.js +126 -0
- package/dist/admin/support/workspace/case-list-pane.js.map +1 -0
- package/dist/admin/support/workspace/case-properties.js +91 -0
- package/dist/admin/support/workspace/case-properties.js.map +1 -0
- package/dist/admin/support/workspace/conversation-header.js +128 -0
- package/dist/admin/support/workspace/conversation-header.js.map +1 -0
- package/dist/admin/support/workspace/conversation-pane.js +90 -0
- package/dist/admin/support/workspace/conversation-pane.js.map +1 -0
- package/dist/admin/support/workspace/conversation.module.css +191 -0
- package/dist/admin/support/workspace/details-pane.js +99 -0
- package/dist/admin/support/workspace/details-pane.js.map +1 -0
- package/dist/admin/support/workspace/details.module.css +137 -0
- package/dist/admin/support/workspace/list.module.css +193 -0
- package/dist/admin/support/workspace/merchant-card.js +58 -0
- package/dist/admin/support/workspace/merchant-card.js.map +1 -0
- package/dist/admin/support/workspace/merchant.module.css +97 -0
- package/dist/admin/support/workspace/related-cases.js +51 -0
- package/dist/admin/support/workspace/related-cases.js.map +1 -0
- package/dist/admin/support/workspace/sort-cases.js +16 -0
- package/dist/admin/support/workspace/sort-cases.js.map +1 -0
- package/dist/admin/support/workspace/status-banner.js +101 -0
- package/dist/admin/support/workspace/status-banner.js.map +1 -0
- package/dist/admin/support/workspace/step-case.js +9 -0
- package/dist/admin/support/workspace/step-case.js.map +1 -0
- package/dist/admin/support/workspace/support-workspace.js +127 -0
- package/dist/admin/support/workspace/support-workspace.js.map +1 -0
- package/dist/admin/support/workspace/use-media.js +17 -0
- package/dist/admin/support/workspace/use-media.js.map +1 -0
- package/dist/admin/support/workspace/use-workspace-keys.js +46 -0
- package/dist/admin/support/workspace/use-workspace-keys.js.map +1 -0
- package/dist/admin/support/workspace/workspace.module.css +89 -0
- package/dist/admin/tenants/[id]/account-officer-dialog.js +58 -0
- package/dist/admin/tenants/[id]/account-officer-dialog.js.map +1 -0
- package/dist/admin/tenants/[id]/account-officer.js +59 -0
- package/dist/admin/tenants/[id]/account-officer.js.map +1 -0
- package/dist/admin/tenants/[id]/commerce/best-sellers.js +56 -0
- package/dist/admin/tenants/[id]/commerce/best-sellers.js.map +1 -0
- package/dist/admin/tenants/[id]/commerce/commerce-flow.js +84 -0
- package/dist/admin/tenants/[id]/commerce/commerce-flow.js.map +1 -0
- package/dist/admin/tenants/[id]/commerce/drawer.module.css +89 -0
- package/dist/admin/tenants/[id]/commerce/flow.module.css +110 -0
- package/dist/admin/tenants/[id]/commerce/format.js +74 -0
- package/dist/admin/tenants/[id]/commerce/format.js.map +1 -0
- package/dist/admin/tenants/[id]/commerce/health.module.css +144 -0
- package/dist/admin/tenants/[id]/commerce/index.js +5 -0
- package/dist/admin/tenants/[id]/commerce/index.js.map +1 -0
- package/dist/admin/tenants/[id]/commerce/inventory-health.js +82 -0
- package/dist/admin/tenants/[id]/commerce/inventory-health.js.map +1 -0
- package/dist/admin/tenants/[id]/commerce/item-card.js +37 -0
- package/dist/admin/tenants/[id]/commerce/item-card.js.map +1 -0
- package/dist/admin/tenants/[id]/commerce/items-gallery.js +155 -0
- package/dist/admin/tenants/[id]/commerce/items-gallery.js.map +1 -0
- package/dist/admin/tenants/[id]/commerce/items-table.js +49 -0
- package/dist/admin/tenants/[id]/commerce/items-table.js.map +1 -0
- package/dist/admin/tenants/[id]/commerce/items.module.css +125 -0
- package/dist/admin/tenants/[id]/commerce/layout.module.css +27 -0
- package/dist/admin/tenants/[id]/commerce/merchant-commerce.js +103 -0
- package/dist/admin/tenants/[id]/commerce/merchant-commerce.js.map +1 -0
- package/dist/admin/tenants/[id]/commerce/money-panel.js +52 -0
- package/dist/admin/tenants/[id]/commerce/money-panel.js.map +1 -0
- package/dist/admin/tenants/[id]/commerce/money.module.css +122 -0
- package/dist/admin/tenants/[id]/commerce/order-drawer.js +65 -0
- package/dist/admin/tenants/[id]/commerce/order-drawer.js.map +1 -0
- package/dist/admin/tenants/[id]/commerce/order-pipeline.js +50 -0
- package/dist/admin/tenants/[id]/commerce/order-pipeline.js.map +1 -0
- package/dist/admin/tenants/[id]/commerce/orders.module.css +154 -0
- package/dist/admin/tenants/[id]/commerce/owner-card.js +55 -0
- package/dist/admin/tenants/[id]/commerce/owner-card.js.map +1 -0
- package/dist/admin/tenants/[id]/commerce/pill.module.css +47 -0
- package/dist/admin/tenants/[id]/commerce/recent-orders.js +98 -0
- package/dist/admin/tenants/[id]/commerce/recent-orders.js.map +1 -0
- package/dist/admin/tenants/[id]/commerce/shell.module.css +64 -0
- package/dist/admin/tenants/[id]/commerce/status-pill.js +19 -0
- package/dist/admin/tenants/[id]/commerce/status-pill.js.map +1 -0
- package/dist/admin/tenants/[id]/commerce.js +1 -0
- package/dist/admin/tenants/[id]/copy-text.js +30 -0
- package/dist/admin/tenants/[id]/copy-text.js.map +1 -0
- package/dist/admin/tenants/[id]/merchant-ledger.js +47 -0
- package/dist/admin/tenants/[id]/merchant-ledger.js.map +1 -0
- package/dist/admin/tenants/[id]/message-merchant-button.js +38 -0
- package/dist/admin/tenants/[id]/message-merchant-button.js.map +1 -0
- package/dist/admin/tenants/[id]/message-merchant-dialog.js +96 -0
- package/dist/admin/tenants/[id]/message-merchant-dialog.js.map +1 -0
- package/dist/admin/tenants/[id]/page.js +2308 -0
- package/dist/admin/tenants/[id]/page.js.map +1 -0
- package/dist/admin/tenants/[id]/subaccounts-panel.js +40 -0
- package/dist/admin/tenants/[id]/subaccounts-panel.js.map +1 -0
- package/dist/admin/tenants/[id]/tenant-activity-feed.js +92 -0
- package/dist/admin/tenants/[id]/tenant-activity-feed.js.map +1 -0
- package/dist/admin/tenants/[id]/tenant-activity.module.css +94 -0
- package/dist/admin/tenants/[id]/tenant-attention.js +93 -0
- package/dist/admin/tenants/[id]/tenant-attention.js.map +1 -0
- package/dist/admin/tenants/[id]/tenant-header.js +125 -0
- package/dist/admin/tenants/[id]/tenant-header.js.map +1 -0
- package/dist/admin/tenants/[id]/tenant-invites.js +49 -0
- package/dist/admin/tenants/[id]/tenant-invites.js.map +1 -0
- package/dist/admin/tenants/[id]/tenant-layout.module.css +106 -0
- package/dist/admin/tenants/[id]/tenant-overview.js +182 -0
- package/dist/admin/tenants/[id]/tenant-overview.js.map +1 -0
- package/dist/admin/tenants/[id]/tenant-overview.module.css +151 -0
- package/dist/admin/tenants/[id]/tenant-people-panel.js +109 -0
- package/dist/admin/tenants/[id]/tenant-people-panel.js.map +1 -0
- package/dist/admin/tenants/[id]/tenant-people.module.css +121 -0
- package/dist/admin/tenants/[id]/tenant-pos.js +101 -0
- package/dist/admin/tenants/[id]/tenant-pos.js.map +1 -0
- package/dist/admin/tenants/[id]/tenant-sidebar.js +115 -0
- package/dist/admin/tenants/[id]/tenant-sidebar.js.map +1 -0
- package/dist/admin/tenants/[id]/tenant-sidebar.module.css +53 -0
- package/dist/admin/tenants/[id]/tenant-support.js +37 -0
- package/dist/admin/tenants/[id]/tenant-support.js.map +1 -0
- package/dist/admin/tenants/[id]/tenant-tabs.js +22 -0
- package/dist/admin/tenants/[id]/tenant-tabs.js.map +1 -0
- package/dist/admin/tenants/[id]/tenant-wallet-card.js +53 -0
- package/dist/admin/tenants/[id]/tenant-wallet-card.js.map +1 -0
- package/dist/admin/tenants/[id]/use-set-account-officer.js +31 -0
- package/dist/admin/tenants/[id]/use-set-account-officer.js.map +1 -0
- package/dist/admin/tenants/[id]/use-tenant-wallet.js +23 -0
- package/dist/admin/tenants/[id]/use-tenant-wallet.js.map +1 -0
- package/dist/admin/tenants/[id]/verification/business-records.js +70 -0
- package/dist/admin/tenants/[id]/verification/business-records.js.map +1 -0
- package/dist/admin/tenants/[id]/verification/case-checks.js +81 -0
- package/dist/admin/tenants/[id]/verification/case-checks.js.map +1 -0
- package/dist/admin/tenants/[id]/verification/case-events.js +44 -0
- package/dist/admin/tenants/[id]/verification/case-events.js.map +1 -0
- package/dist/admin/tenants/[id]/verification/case-form-dialog.js +58 -0
- package/dist/admin/tenants/[id]/verification/case-form-dialog.js.map +1 -0
- package/dist/admin/tenants/[id]/verification/case-history.js +27 -0
- package/dist/admin/tenants/[id]/verification/case-history.js.map +1 -0
- package/dist/admin/tenants/[id]/verification/case-rules.js +72 -0
- package/dist/admin/tenants/[id]/verification/case-rules.js.map +1 -0
- package/dist/admin/tenants/[id]/verification/case-status.js +47 -0
- package/dist/admin/tenants/[id]/verification/case-status.js.map +1 -0
- package/dist/admin/tenants/[id]/verification/case-words.js +104 -0
- package/dist/admin/tenants/[id]/verification/case-words.js.map +1 -0
- package/dist/admin/tenants/[id]/verification/decision-bar.js +59 -0
- package/dist/admin/tenants/[id]/verification/decision-bar.js.map +1 -0
- package/dist/admin/tenants/[id]/verification/decision-dialogs.js +152 -0
- package/dist/admin/tenants/[id]/verification/decision-dialogs.js.map +1 -0
- package/dist/admin/tenants/[id]/verification/document-file.js +78 -0
- package/dist/admin/tenants/[id]/verification/document-file.js.map +1 -0
- package/dist/admin/tenants/[id]/verification/document-view.js +28 -0
- package/dist/admin/tenants/[id]/verification/document-view.js.map +1 -0
- package/dist/admin/tenants/[id]/verification/document-viewer.js +46 -0
- package/dist/admin/tenants/[id]/verification/document-viewer.js.map +1 -0
- package/dist/admin/tenants/[id]/verification/document-viewer.module.css +98 -0
- package/dist/admin/tenants/[id]/verification/person-card.js +111 -0
- package/dist/admin/tenants/[id]/verification/person-card.js.map +1 -0
- package/dist/admin/tenants/[id]/verification/reveal-number.js +48 -0
- package/dist/admin/tenants/[id]/verification/reveal-number.js.map +1 -0
- package/dist/admin/tenants/[id]/verification/reverse-dialog.js +52 -0
- package/dist/admin/tenants/[id]/verification/reverse-dialog.js.map +1 -0
- package/dist/admin/tenants/[id]/verification/sent-files.js +33 -0
- package/dist/admin/tenants/[id]/verification/sent-files.js.map +1 -0
- package/dist/admin/tenants/[id]/verification/tenant-verification.js +103 -0
- package/dist/admin/tenants/[id]/verification/tenant-verification.js.map +1 -0
- package/dist/admin/tenants/[id]/verification/use-case.js +57 -0
- package/dist/admin/tenants/[id]/verification/use-case.js.map +1 -0
- package/dist/admin/tenants/[id]/verification/verification.module.css +168 -0
- package/dist/admin/tenants/account-officer-action.js +8 -0
- package/dist/admin/tenants/account-officer-action.js.map +1 -0
- package/dist/admin/tenants/account-officer-filter.js +43 -0
- package/dist/admin/tenants/account-officer-filter.js.map +1 -0
- package/dist/admin/tenants/account-officer-options.js +15 -0
- package/dist/admin/tenants/account-officer-options.js.map +1 -0
- package/dist/admin/tenants/country-filter.js +53 -0
- package/dist/admin/tenants/country-filter.js.map +1 -0
- package/dist/admin/tenants/country-options.js +22 -0
- package/dist/admin/tenants/country-options.js.map +1 -0
- package/dist/admin/tenants/message-merchant.js +61 -0
- package/dist/admin/tenants/message-merchant.js.map +1 -0
- package/dist/admin/tenants/page.js +11 -0
- package/dist/admin/tenants/page.js.map +1 -0
- package/dist/admin/tenants/tenant-list-row.js +169 -0
- package/dist/admin/tenants/tenant-list-row.js.map +1 -0
- package/dist/admin/tenants/tenants-analytics.js +119 -0
- package/dist/admin/tenants/tenants-analytics.js.map +1 -0
- package/dist/admin/tenants/tenants-kpis.js +98 -0
- package/dist/admin/tenants/tenants-kpis.js.map +1 -0
- package/dist/admin/tenants/tenants-logo.js +8 -0
- package/dist/admin/tenants/tenants-logo.js.map +1 -0
- package/dist/admin/tenants/tenants-table.js +135 -0
- package/dist/admin/tenants/tenants-table.js.map +1 -0
- package/dist/admin/tenants/tenants-workspace.js +98 -0
- package/dist/admin/tenants/tenants-workspace.js.map +1 -0
- package/dist/admin/till-requests/decision-dialog.js +59 -0
- package/dist/admin/till-requests/decision-dialog.js.map +1 -0
- package/dist/admin/till-requests/page.js +124 -0
- package/dist/admin/till-requests/page.js.map +1 -0
- package/dist/admin/till-requests/till-request-row.js +72 -0
- package/dist/admin/till-requests/till-request-row.js.map +1 -0
- package/dist/admin/verification/page.js +11 -0
- package/dist/admin/verification/page.js.map +1 -0
- package/dist/admin/verification/preview-dialog.js +111 -0
- package/dist/admin/verification/preview-dialog.js.map +1 -0
- package/dist/admin/verification/reject-dialog.js +94 -0
- package/dist/admin/verification/reject-dialog.js.map +1 -0
- package/dist/admin/verification/review-queue.js +124 -0
- package/dist/admin/verification/review-queue.js.map +1 -0
- package/dist/admin/verification/review-row.js +55 -0
- package/dist/admin/verification/review-row.js.map +1 -0
- package/dist/admin/verification/review.js +69 -0
- package/dist/admin/verification/review.js.map +1 -0
- package/dist/admin/verification/use-review.js +26 -0
- package/dist/admin/verification/use-review.js.map +1 -0
- package/dist/admin/verification/verification-page.js +35 -0
- package/dist/admin/verification/verification-page.js.map +1 -0
- package/dist/admin/verification/verification.module.css +30 -0
- package/dist/admin/verification/waiting-cases.js +94 -0
- package/dist/admin/verification/waiting-cases.js.map +1 -0
- package/dist/admin/wallets/page.js +11 -0
- package/dist/admin/wallets/page.js.map +1 -0
- package/dist/admin/wallets/wallets-workspace.js +37 -0
- package/dist/admin/wallets/wallets-workspace.js.map +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -0
- package/package.json +56 -0
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/* Inventory health tiles and the best-sellers ranking. */
|
|
2
|
+
|
|
3
|
+
.tiles {
|
|
4
|
+
display: grid;
|
|
5
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
6
|
+
gap: 24px;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/* Cells, not cards: no border inside the panel's own card. */
|
|
10
|
+
.tile {
|
|
11
|
+
display: flex;
|
|
12
|
+
flex-direction: column;
|
|
13
|
+
gap: 8px;
|
|
14
|
+
min-width: 0;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.tileHead {
|
|
18
|
+
display: flex;
|
|
19
|
+
align-items: center;
|
|
20
|
+
gap: 8px;
|
|
21
|
+
min-width: 0;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.tileLabel {
|
|
25
|
+
overflow: hidden;
|
|
26
|
+
font-size: 13px;
|
|
27
|
+
font-weight: 600;
|
|
28
|
+
line-height: 20px;
|
|
29
|
+
text-overflow: ellipsis;
|
|
30
|
+
white-space: nowrap;
|
|
31
|
+
color: var(--text-secondary);
|
|
32
|
+
border-radius: 4px;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.tileLabel:focus-visible {
|
|
36
|
+
outline: 2px solid var(--accent-primary);
|
|
37
|
+
outline-offset: 2px;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.tileValue {
|
|
41
|
+
font-size: 24px;
|
|
42
|
+
font-weight: 500;
|
|
43
|
+
line-height: 32px;
|
|
44
|
+
white-space: nowrap;
|
|
45
|
+
color: var(--text-primary);
|
|
46
|
+
font-variant-numeric: tabular-nums;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.share,
|
|
50
|
+
.units,
|
|
51
|
+
.none {
|
|
52
|
+
overflow: hidden;
|
|
53
|
+
font-size: 12px;
|
|
54
|
+
line-height: 16px;
|
|
55
|
+
text-overflow: ellipsis;
|
|
56
|
+
white-space: nowrap;
|
|
57
|
+
color: var(--text-secondary);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.none {
|
|
61
|
+
margin: 0;
|
|
62
|
+
font-size: 13px;
|
|
63
|
+
line-height: 20px;
|
|
64
|
+
white-space: normal;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.sellers {
|
|
68
|
+
display: flex;
|
|
69
|
+
flex-direction: column;
|
|
70
|
+
gap: 4px;
|
|
71
|
+
margin: 0;
|
|
72
|
+
padding: 0;
|
|
73
|
+
list-style: none;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.seller {
|
|
77
|
+
display: flex;
|
|
78
|
+
align-items: center;
|
|
79
|
+
gap: 12px;
|
|
80
|
+
padding: 8px;
|
|
81
|
+
border-radius: 8px;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.rank {
|
|
85
|
+
display: grid;
|
|
86
|
+
place-items: center;
|
|
87
|
+
width: 24px;
|
|
88
|
+
height: 24px;
|
|
89
|
+
flex-shrink: 0;
|
|
90
|
+
border-radius: 6px;
|
|
91
|
+
background: var(--bg-subtle);
|
|
92
|
+
font-size: 12px;
|
|
93
|
+
font-weight: 600;
|
|
94
|
+
color: var(--text-secondary);
|
|
95
|
+
font-variant-numeric: tabular-nums;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.rank[data-top='true'] {
|
|
99
|
+
background: color-mix(in srgb, var(--brand-500) 10%, var(--bg-base));
|
|
100
|
+
color: color-mix(in srgb, var(--brand-500) 78%, var(--text-primary));
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.sellerMain {
|
|
104
|
+
display: flex;
|
|
105
|
+
flex: 1;
|
|
106
|
+
flex-direction: column;
|
|
107
|
+
gap: 4px;
|
|
108
|
+
min-width: 0;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.sellerRow {
|
|
112
|
+
display: flex;
|
|
113
|
+
align-items: center;
|
|
114
|
+
gap: 12px;
|
|
115
|
+
min-width: 0;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.sellerName {
|
|
119
|
+
flex: 1;
|
|
120
|
+
overflow: hidden;
|
|
121
|
+
font-size: 13px;
|
|
122
|
+
font-weight: 600;
|
|
123
|
+
line-height: 20px;
|
|
124
|
+
text-overflow: ellipsis;
|
|
125
|
+
white-space: nowrap;
|
|
126
|
+
color: var(--text-primary);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.sellerRevenue {
|
|
130
|
+
font-size: 13px;
|
|
131
|
+
font-weight: 600;
|
|
132
|
+
white-space: nowrap;
|
|
133
|
+
font-variant-numeric: tabular-nums;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
.sellerBar {
|
|
137
|
+
flex: 1;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
@media (max-width: 720px) {
|
|
141
|
+
.tiles {
|
|
142
|
+
grid-template-columns: minmax(0, 1fr);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/admin/tenants/%5Bid%5D/commerce/index.ts"],"sourcesContent":["export { MerchantCommerce } from './merchant-commerce';\n"],"mappings":"AAAA,SAAS,wBAAwB;","names":[]}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Progress, Tooltip } from "@withpotter/ui-kit";
|
|
4
|
+
import { CountUp } from "../../../_fx";
|
|
5
|
+
import { Panel, Skeleton } from "../../../_ui";
|
|
6
|
+
import styles from "./health.module.css";
|
|
7
|
+
const pct = (v, of) => of > 0 ? `${Math.round(v / of * 100)}%` : "0%";
|
|
8
|
+
function InventoryHealth({
|
|
9
|
+
data,
|
|
10
|
+
loading,
|
|
11
|
+
money
|
|
12
|
+
}) {
|
|
13
|
+
const tracked = data?.trackedProducts ?? 0;
|
|
14
|
+
const total = data?.totalProducts ?? 0;
|
|
15
|
+
const tiles = data ? [
|
|
16
|
+
{
|
|
17
|
+
key: "low",
|
|
18
|
+
label: "Low stock",
|
|
19
|
+
hint: "At or below the restock level the merchant set.",
|
|
20
|
+
bar: "warning",
|
|
21
|
+
value: data.lowStock,
|
|
22
|
+
of: tracked,
|
|
23
|
+
share: `${pct(data.lowStock, tracked)} of tracked items`
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
key: "out",
|
|
27
|
+
label: "Out of stock",
|
|
28
|
+
hint: "Tracked items with nothing left to sell.",
|
|
29
|
+
bar: "error",
|
|
30
|
+
value: data.outOfStock,
|
|
31
|
+
of: tracked,
|
|
32
|
+
share: `${pct(data.outOfStock, tracked)} of tracked items`
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
key: "dead",
|
|
36
|
+
label: "Dead stock",
|
|
37
|
+
hint: "Items that have never sold.",
|
|
38
|
+
bar: "brand",
|
|
39
|
+
value: data.deadStock,
|
|
40
|
+
of: total,
|
|
41
|
+
share: `${pct(data.deadStock, total)} of the catalogue`
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
key: "risk",
|
|
45
|
+
label: "Value at risk",
|
|
46
|
+
hint: "What low-stock items are worth at selling price.",
|
|
47
|
+
bar: "error",
|
|
48
|
+
value: data.inventoryAtRiskValue,
|
|
49
|
+
of: data.inventoryValue,
|
|
50
|
+
format: money,
|
|
51
|
+
share: `${pct(data.inventoryAtRiskValue, data.inventoryValue)} of ${money(data.inventoryValue)}`
|
|
52
|
+
}
|
|
53
|
+
] : [];
|
|
54
|
+
return /* @__PURE__ */ jsx(
|
|
55
|
+
Panel,
|
|
56
|
+
{
|
|
57
|
+
title: "Inventory health",
|
|
58
|
+
caption: data ? `${tracked.toLocaleString()} of ${total.toLocaleString()} tracked` : void 0,
|
|
59
|
+
children: /* @__PURE__ */ jsx("div", { className: styles.tiles, "aria-busy": loading, children: loading ? Array.from({ length: 4 }, (_, i) => /* @__PURE__ */ jsxs("div", { className: styles.tile, children: [
|
|
60
|
+
/* @__PURE__ */ jsx(Skeleton, { width: 96, height: 14 }),
|
|
61
|
+
/* @__PURE__ */ jsx(Skeleton, { width: 64, height: 28 }),
|
|
62
|
+
/* @__PURE__ */ jsx(Skeleton, { height: 6 })
|
|
63
|
+
] }, i)) : tiles.map((t) => /* @__PURE__ */ jsxs("div", { className: styles.tile, children: [
|
|
64
|
+
/* @__PURE__ */ jsx("div", { className: styles.tileHead, children: /* @__PURE__ */ jsx(Tooltip, { label: t.hint, children: /* @__PURE__ */ jsx("span", { className: styles.tileLabel, tabIndex: 0, children: t.label }) }) }),
|
|
65
|
+
/* @__PURE__ */ jsx("div", { className: styles.tileValue, children: /* @__PURE__ */ jsx(CountUp, { value: t.value, format: t.format }) }),
|
|
66
|
+
/* @__PURE__ */ jsx(
|
|
67
|
+
Progress,
|
|
68
|
+
{
|
|
69
|
+
value: t.value,
|
|
70
|
+
max: Math.max(t.of, 1),
|
|
71
|
+
tone: t.bar
|
|
72
|
+
}
|
|
73
|
+
),
|
|
74
|
+
/* @__PURE__ */ jsx("span", { className: styles.share, title: t.share, children: t.share })
|
|
75
|
+
] }, t.key)) })
|
|
76
|
+
}
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
export {
|
|
80
|
+
InventoryHealth
|
|
81
|
+
};
|
|
82
|
+
//# sourceMappingURL=inventory-health.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/admin/tenants/%5Bid%5D/commerce/inventory-health.tsx"],"sourcesContent":["'use client';\n\nimport type { ProductInsights } from '@withpotter/lib/admin-api';\nimport { Progress, Tooltip } from '@withpotter/ui-kit';\nimport { CountUp } from '../../../_fx';\nimport { Panel, Skeleton } from '../../../_ui';\nimport type { Money } from './format';\nimport styles from './health.module.css';\n\ntype Bar = 'warning' | 'error' | 'brand';\n\ninterface Tile {\n key: string;\n label: string;\n hint: string;\n bar: Bar;\n value: number;\n of: number;\n format?: (n: number) => string;\n share: string;\n}\n\nconst pct = (v: number, of: number) =>\n of > 0 ? `${Math.round((v / of) * 100)}%` : '0%';\n\n/** Low, out, dead and at-risk stock, each against what it is a share of. */\nexport function InventoryHealth({\n data,\n loading,\n money,\n}: {\n data: ProductInsights | undefined;\n loading: boolean;\n money: Money;\n}) {\n const tracked = data?.trackedProducts ?? 0;\n const total = data?.totalProducts ?? 0;\n const tiles: Tile[] = data\n ? [\n {\n key: 'low',\n label: 'Low stock',\n hint: 'At or below the restock level the merchant set.',\n bar: 'warning',\n value: data.lowStock,\n of: tracked,\n share: `${pct(data.lowStock, tracked)} of tracked items`,\n },\n {\n key: 'out',\n label: 'Out of stock',\n hint: 'Tracked items with nothing left to sell.',\n bar: 'error',\n value: data.outOfStock,\n of: tracked,\n share: `${pct(data.outOfStock, tracked)} of tracked items`,\n },\n {\n key: 'dead',\n label: 'Dead stock',\n hint: 'Items that have never sold.',\n bar: 'brand',\n value: data.deadStock,\n of: total,\n share: `${pct(data.deadStock, total)} of the catalogue`,\n },\n {\n key: 'risk',\n label: 'Value at risk',\n hint: 'What low-stock items are worth at selling price.',\n bar: 'error',\n value: data.inventoryAtRiskValue,\n of: data.inventoryValue,\n format: money,\n share: `${pct(data.inventoryAtRiskValue, data.inventoryValue)} of ${money(data.inventoryValue)}`,\n },\n ]\n : [];\n\n return (\n <Panel\n title=\"Inventory health\"\n caption={\n data\n ? `${tracked.toLocaleString()} of ${total.toLocaleString()} tracked`\n : undefined\n }\n >\n <div className={styles.tiles} aria-busy={loading}>\n {loading\n ? Array.from({ length: 4 }, (_, i) => (\n <div key={i} className={styles.tile}>\n <Skeleton width={96} height={14} />\n <Skeleton width={64} height={28} />\n <Skeleton height={6} />\n </div>\n ))\n : tiles.map((t) => (\n <div key={t.key} className={styles.tile}>\n <div className={styles.tileHead}>\n <Tooltip label={t.hint}>\n <span className={styles.tileLabel} tabIndex={0}>\n {t.label}\n </span>\n </Tooltip>\n </div>\n <div className={styles.tileValue}>\n <CountUp value={t.value} format={t.format} />\n </div>\n <Progress\n value={t.value}\n max={Math.max(t.of, 1)}\n tone={t.bar}\n />\n <span className={styles.share} title={t.share}>\n {t.share}\n </span>\n </div>\n ))}\n </div>\n </Panel>\n );\n}\n"],"mappings":";AA2Fc,SACE,KADF;AAxFd,SAAS,UAAU,eAAe;AAClC,SAAS,eAAe;AACxB,SAAS,OAAO,gBAAgB;AAEhC,OAAO,YAAY;AAenB,MAAM,MAAM,CAAC,GAAW,OACtB,KAAK,IAAI,GAAG,KAAK,MAAO,IAAI,KAAM,GAAG,CAAC,MAAM;AAGvC,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AACF,GAIG;AACD,QAAM,UAAU,MAAM,mBAAmB;AACzC,QAAM,QAAQ,MAAM,iBAAiB;AACrC,QAAM,QAAgB,OAClB;AAAA,IACE;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,MAAM;AAAA,MACN,KAAK;AAAA,MACL,OAAO,KAAK;AAAA,MACZ,IAAI;AAAA,MACJ,OAAO,GAAG,IAAI,KAAK,UAAU,OAAO,CAAC;AAAA,IACvC;AAAA,IACA;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,MAAM;AAAA,MACN,KAAK;AAAA,MACL,OAAO,KAAK;AAAA,MACZ,IAAI;AAAA,MACJ,OAAO,GAAG,IAAI,KAAK,YAAY,OAAO,CAAC;AAAA,IACzC;AAAA,IACA;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,MAAM;AAAA,MACN,KAAK;AAAA,MACL,OAAO,KAAK;AAAA,MACZ,IAAI;AAAA,MACJ,OAAO,GAAG,IAAI,KAAK,WAAW,KAAK,CAAC;AAAA,IACtC;AAAA,IACA;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,MAAM;AAAA,MACN,KAAK;AAAA,MACL,OAAO,KAAK;AAAA,MACZ,IAAI,KAAK;AAAA,MACT,QAAQ;AAAA,MACR,OAAO,GAAG,IAAI,KAAK,sBAAsB,KAAK,cAAc,CAAC,OAAO,MAAM,KAAK,cAAc,CAAC;AAAA,IAChG;AAAA,EACF,IACA,CAAC;AAEL,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,SACE,OACI,GAAG,QAAQ,eAAe,CAAC,OAAO,MAAM,eAAe,CAAC,aACxD;AAAA,MAGN,8BAAC,SAAI,WAAW,OAAO,OAAO,aAAW,SACtC,oBACG,MAAM,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,GAAG,MAC5B,qBAAC,SAAY,WAAW,OAAO,MAC7B;AAAA,4BAAC,YAAS,OAAO,IAAI,QAAQ,IAAI;AAAA,QACjC,oBAAC,YAAS,OAAO,IAAI,QAAQ,IAAI;AAAA,QACjC,oBAAC,YAAS,QAAQ,GAAG;AAAA,WAHb,CAIV,CACD,IACD,MAAM,IAAI,CAAC,MACT,qBAAC,SAAgB,WAAW,OAAO,MACjC;AAAA,4BAAC,SAAI,WAAW,OAAO,UACrB,8BAAC,WAAQ,OAAO,EAAE,MAChB,8BAAC,UAAK,WAAW,OAAO,WAAW,UAAU,GAC1C,YAAE,OACL,GACF,GACF;AAAA,QACA,oBAAC,SAAI,WAAW,OAAO,WACrB,8BAAC,WAAQ,OAAO,EAAE,OAAO,QAAQ,EAAE,QAAQ,GAC7C;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,OAAO,EAAE;AAAA,YACT,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC;AAAA,YACrB,MAAM,EAAE;AAAA;AAAA,QACV;AAAA,QACA,oBAAC,UAAK,WAAW,OAAO,OAAO,OAAO,EAAE,OACrC,YAAE,OACL;AAAA,WAlBQ,EAAE,GAmBZ,CACD,GACP;AAAA;AAAA,EACF;AAEJ;","names":[]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Badge } from "@withpotter/ui-kit";
|
|
3
|
+
import { humanize, moneyIn, stockOf } from "./format";
|
|
4
|
+
import { StatusPill } from "./status-pill";
|
|
5
|
+
import styles from "./items.module.css";
|
|
6
|
+
const priceOf = (p, currency) => p.price == null ? "\u2013" : moneyIn(p.currency || currency, 2)(p.price);
|
|
7
|
+
function ItemCard({
|
|
8
|
+
item,
|
|
9
|
+
currency,
|
|
10
|
+
index
|
|
11
|
+
}) {
|
|
12
|
+
const stock = stockOf(item);
|
|
13
|
+
return /* @__PURE__ */ jsxs("li", { className: styles.card, "data-index": index, children: [
|
|
14
|
+
/* @__PURE__ */ jsxs("div", { className: styles.media, children: [
|
|
15
|
+
item.image?.url && // eslint-disable-next-line @next/next/no-img-element -- merchant images, any host
|
|
16
|
+
/* @__PURE__ */ jsx("img", { src: item.image.url, alt: "", loading: "lazy" }),
|
|
17
|
+
item.featured && /* @__PURE__ */ jsx("span", { className: styles.featured, children: "Featured" })
|
|
18
|
+
] }),
|
|
19
|
+
/* @__PURE__ */ jsxs("div", { className: styles.body, children: [
|
|
20
|
+
/* @__PURE__ */ jsx("div", { className: styles.name, title: item.title, children: item.title }),
|
|
21
|
+
/* @__PURE__ */ jsxs("div", { className: styles.metaRow, children: [
|
|
22
|
+
/* @__PURE__ */ jsx(Badge, { variant: "secondary", children: humanize(item.type) }),
|
|
23
|
+
item.category && /* @__PURE__ */ jsx("span", { className: styles.category, title: item.category, children: item.category })
|
|
24
|
+
] }),
|
|
25
|
+
/* @__PURE__ */ jsxs("div", { className: styles.priceRow, children: [
|
|
26
|
+
/* @__PURE__ */ jsx("span", { className: styles.price, children: priceOf(item, currency) }),
|
|
27
|
+
item.compareAtPrice != null && item.price != null && item.compareAtPrice > item.price && /* @__PURE__ */ jsx("s", { className: styles.was, children: moneyIn(item.currency || currency, 2)(item.compareAtPrice) })
|
|
28
|
+
] }),
|
|
29
|
+
/* @__PURE__ */ jsx(StatusPill, { label: stock.label, tone: stock.tone })
|
|
30
|
+
] })
|
|
31
|
+
] });
|
|
32
|
+
}
|
|
33
|
+
export {
|
|
34
|
+
ItemCard,
|
|
35
|
+
priceOf
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=item-card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/admin/tenants/%5Bid%5D/commerce/item-card.tsx"],"sourcesContent":["import type { TenantProduct } from '@withpotter/lib/admin-api';\nimport { Badge } from '@withpotter/ui-kit';\nimport { humanize, moneyIn, stockOf } from './format';\nimport { StatusPill } from './status-pill';\nimport styles from './items.module.css';\n\n/** The item's price in its own currency, or the merchant's. */\nexport const priceOf = (p: TenantProduct, currency: string) =>\n p.price == null ? '–' : moneyIn(p.currency || currency, 2)(p.price);\n\n/** A product as a shopper would see it: picture first, then the facts. */\nexport function ItemCard({\n item,\n currency,\n index,\n}: {\n item: TenantProduct;\n currency: string;\n index: number;\n}) {\n const stock = stockOf(item);\n\n return (\n <li className={styles.card} data-index={index}>\n <div className={styles.media}>\n {item.image?.url && (\n // eslint-disable-next-line @next/next/no-img-element -- merchant images, any host\n <img src={item.image.url} alt=\"\" loading=\"lazy\" />\n )}\n {item.featured && <span className={styles.featured}>Featured</span>}\n </div>\n <div className={styles.body}>\n <div className={styles.name} title={item.title}>\n {item.title}\n </div>\n <div className={styles.metaRow}>\n <Badge variant=\"secondary\">{humanize(item.type)}</Badge>\n {item.category && (\n <span className={styles.category} title={item.category}>\n {item.category}\n </span>\n )}\n </div>\n <div className={styles.priceRow}>\n <span className={styles.price}>{priceOf(item, currency)}</span>\n {item.compareAtPrice != null &&\n item.price != null &&\n item.compareAtPrice > item.price && (\n <s className={styles.was}>\n {moneyIn(item.currency || currency, 2)(item.compareAtPrice)}\n </s>\n )}\n </div>\n <StatusPill label={stock.label} tone={stock.tone} />\n </div>\n </li>\n );\n}\n"],"mappings":"AAwBM,SAGI,KAHJ;AAvBN,SAAS,aAAa;AACtB,SAAS,UAAU,SAAS,eAAe;AAC3C,SAAS,kBAAkB;AAC3B,OAAO,YAAY;AAGZ,MAAM,UAAU,CAAC,GAAkB,aACxC,EAAE,SAAS,OAAO,WAAM,QAAQ,EAAE,YAAY,UAAU,CAAC,EAAE,EAAE,KAAK;AAG7D,SAAS,SAAS;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AACF,GAIG;AACD,QAAM,QAAQ,QAAQ,IAAI;AAE1B,SACE,qBAAC,QAAG,WAAW,OAAO,MAAM,cAAY,OACtC;AAAA,yBAAC,SAAI,WAAW,OAAO,OACpB;AAAA,WAAK,OAAO;AAAA,MAEX,oBAAC,SAAI,KAAK,KAAK,MAAM,KAAK,KAAI,IAAG,SAAQ,QAAO;AAAA,MAEjD,KAAK,YAAY,oBAAC,UAAK,WAAW,OAAO,UAAU,sBAAQ;AAAA,OAC9D;AAAA,IACA,qBAAC,SAAI,WAAW,OAAO,MACrB;AAAA,0BAAC,SAAI,WAAW,OAAO,MAAM,OAAO,KAAK,OACtC,eAAK,OACR;AAAA,MACA,qBAAC,SAAI,WAAW,OAAO,SACrB;AAAA,4BAAC,SAAM,SAAQ,aAAa,mBAAS,KAAK,IAAI,GAAE;AAAA,QAC/C,KAAK,YACJ,oBAAC,UAAK,WAAW,OAAO,UAAU,OAAO,KAAK,UAC3C,eAAK,UACR;AAAA,SAEJ;AAAA,MACA,qBAAC,SAAI,WAAW,OAAO,UACrB;AAAA,4BAAC,UAAK,WAAW,OAAO,OAAQ,kBAAQ,MAAM,QAAQ,GAAE;AAAA,QACvD,KAAK,kBAAkB,QACtB,KAAK,SAAS,QACd,KAAK,iBAAiB,KAAK,SACzB,oBAAC,OAAE,WAAW,OAAO,KAClB,kBAAQ,KAAK,YAAY,UAAU,CAAC,EAAE,KAAK,cAAc,GAC5D;AAAA,SAEN;AAAA,MACA,oBAAC,cAAW,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM;AAAA,OACpD;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useEffect, useMemo, useState } from "react";
|
|
4
|
+
import { Button, EmptyNote, ErrorBanner, ViewSwitch } from "@withpotter/ui-kit";
|
|
5
|
+
import { useTenantProducts } from "../../../hooks";
|
|
6
|
+
import { FilterSearch, FilterSelect, Filters, Skeleton } from "../../../_ui";
|
|
7
|
+
import { humanize } from "./format";
|
|
8
|
+
import { ItemCard } from "./item-card";
|
|
9
|
+
import { ItemsTable } from "./items-table";
|
|
10
|
+
import cards from "./items.module.css";
|
|
11
|
+
import styles from "./shell.module.css";
|
|
12
|
+
const PAGE = 12;
|
|
13
|
+
const CAP = 200;
|
|
14
|
+
const activeCaption = (total, shown) => shown >= CAP && total > shown ? `First ${CAP.toLocaleString()} of ${total.toLocaleString()} active items` : `${total.toLocaleString()} active items \xB7 hidden items not shown`;
|
|
15
|
+
function ItemsGallery({
|
|
16
|
+
tenantId,
|
|
17
|
+
currency
|
|
18
|
+
}) {
|
|
19
|
+
const [view, setView] = useState("grid");
|
|
20
|
+
const [type, setType] = useState("");
|
|
21
|
+
const [query, setQuery] = useState("");
|
|
22
|
+
const [search, setSearch] = useState("");
|
|
23
|
+
const [shown, setShown] = useState(PAGE);
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
const t = window.setTimeout(() => {
|
|
26
|
+
setSearch(query.trim());
|
|
27
|
+
setShown(PAGE);
|
|
28
|
+
}, 300);
|
|
29
|
+
return () => window.clearTimeout(t);
|
|
30
|
+
}, [query]);
|
|
31
|
+
const all = useTenantProducts(tenantId);
|
|
32
|
+
const list = useTenantProducts(tenantId, {
|
|
33
|
+
type: type || void 0,
|
|
34
|
+
search: search || void 0
|
|
35
|
+
});
|
|
36
|
+
const types = useMemo(() => {
|
|
37
|
+
const seen = new Set((all.data?.items ?? []).map((p) => p.type));
|
|
38
|
+
return [
|
|
39
|
+
{ value: "", label: "All types" },
|
|
40
|
+
...[...seen].sort().map((t) => ({ value: t, label: humanize(t) }))
|
|
41
|
+
];
|
|
42
|
+
}, [all.data]);
|
|
43
|
+
const items = list.data?.items ?? [];
|
|
44
|
+
const visible = items.slice(0, shown);
|
|
45
|
+
const filtered = !!type || !!search;
|
|
46
|
+
return /* @__PURE__ */ jsxs("section", { className: styles.panel, "aria-label": "Items", children: [
|
|
47
|
+
/* @__PURE__ */ jsxs("header", { className: styles.toolbar, children: [
|
|
48
|
+
/* @__PURE__ */ jsxs("div", { className: styles.titleBlock, children: [
|
|
49
|
+
/* @__PURE__ */ jsx("h2", { className: styles.title, children: "Items" }),
|
|
50
|
+
/* @__PURE__ */ jsx("p", { className: styles.caption, children: list.data ? activeCaption(list.data.total, items.length) : "What this merchant sells" })
|
|
51
|
+
] }),
|
|
52
|
+
/* @__PURE__ */ jsxs(Filters, { label: "Filter items", children: [
|
|
53
|
+
/* @__PURE__ */ jsx(
|
|
54
|
+
FilterSearch,
|
|
55
|
+
{
|
|
56
|
+
value: query,
|
|
57
|
+
onChange: setQuery,
|
|
58
|
+
placeholder: "Search items"
|
|
59
|
+
}
|
|
60
|
+
),
|
|
61
|
+
/* @__PURE__ */ jsx(
|
|
62
|
+
FilterSelect,
|
|
63
|
+
{
|
|
64
|
+
label: "Item type",
|
|
65
|
+
value: type,
|
|
66
|
+
onChange: (v) => {
|
|
67
|
+
setType(v);
|
|
68
|
+
setShown(PAGE);
|
|
69
|
+
},
|
|
70
|
+
options: types
|
|
71
|
+
}
|
|
72
|
+
),
|
|
73
|
+
/* @__PURE__ */ jsx(
|
|
74
|
+
ViewSwitch,
|
|
75
|
+
{
|
|
76
|
+
"aria-label": "Items view",
|
|
77
|
+
className: "adm-view-switch",
|
|
78
|
+
value: view,
|
|
79
|
+
onChange: setView,
|
|
80
|
+
options: [
|
|
81
|
+
{ value: "grid", label: "Grid" },
|
|
82
|
+
{ value: "table", label: "Table" }
|
|
83
|
+
]
|
|
84
|
+
}
|
|
85
|
+
)
|
|
86
|
+
] })
|
|
87
|
+
] }),
|
|
88
|
+
list.isError ? /* @__PURE__ */ jsx("div", { className: styles.state, children: /* @__PURE__ */ jsxs(ErrorBanner, { children: [
|
|
89
|
+
"The items could not be loaded.",
|
|
90
|
+
" ",
|
|
91
|
+
/* @__PURE__ */ jsx(
|
|
92
|
+
Button,
|
|
93
|
+
{
|
|
94
|
+
size: "sm",
|
|
95
|
+
variant: "secondary",
|
|
96
|
+
onClick: () => list.refetch(),
|
|
97
|
+
children: "Try again"
|
|
98
|
+
}
|
|
99
|
+
)
|
|
100
|
+
] }) }) : list.isLoading ? /* @__PURE__ */ jsx("ul", { className: cards.grid, "aria-busy": "true", "aria-label": "Loading items", children: Array.from({ length: 8 }, (_, i) => /* @__PURE__ */ jsxs("li", { className: cards.card, children: [
|
|
101
|
+
/* @__PURE__ */ jsx(Skeleton, { height: 140, radius: 10 }),
|
|
102
|
+
/* @__PURE__ */ jsxs("div", { className: cards.body, children: [
|
|
103
|
+
/* @__PURE__ */ jsx(Skeleton, { width: "70%" }),
|
|
104
|
+
/* @__PURE__ */ jsx(Skeleton, { width: "40%" })
|
|
105
|
+
] })
|
|
106
|
+
] }, i)) }) : items.length === 0 ? /* @__PURE__ */ jsx("div", { className: styles.state, children: /* @__PURE__ */ jsx(
|
|
107
|
+
EmptyNote,
|
|
108
|
+
{
|
|
109
|
+
well: true,
|
|
110
|
+
action: filtered && /* @__PURE__ */ jsx(
|
|
111
|
+
Button,
|
|
112
|
+
{
|
|
113
|
+
size: "sm",
|
|
114
|
+
variant: "secondary",
|
|
115
|
+
onClick: () => {
|
|
116
|
+
setQuery("");
|
|
117
|
+
setType("");
|
|
118
|
+
},
|
|
119
|
+
children: "Clear filters"
|
|
120
|
+
}
|
|
121
|
+
),
|
|
122
|
+
children: filtered ? "No items match these filters." : "No items listed yet. They appear here once the merchant adds them."
|
|
123
|
+
}
|
|
124
|
+
) }) : view === "grid" ? /* @__PURE__ */ jsx("ul", { className: cards.grid, "data-few": visible.length < 4, children: visible.map((item, i) => /* @__PURE__ */ jsx(
|
|
125
|
+
ItemCard,
|
|
126
|
+
{
|
|
127
|
+
item,
|
|
128
|
+
currency,
|
|
129
|
+
index: i % PAGE
|
|
130
|
+
},
|
|
131
|
+
item.id
|
|
132
|
+
)) }) : /* @__PURE__ */ jsx(ItemsTable, { items: visible, currency }),
|
|
133
|
+
items.length > shown && /* @__PURE__ */ jsxs("footer", { className: styles.more, children: [
|
|
134
|
+
/* @__PURE__ */ jsxs("span", { className: styles.caption, children: [
|
|
135
|
+
"Showing ",
|
|
136
|
+
shown.toLocaleString(),
|
|
137
|
+
" of ",
|
|
138
|
+
items.length.toLocaleString()
|
|
139
|
+
] }),
|
|
140
|
+
/* @__PURE__ */ jsx(
|
|
141
|
+
Button,
|
|
142
|
+
{
|
|
143
|
+
size: "sm",
|
|
144
|
+
variant: "secondary",
|
|
145
|
+
onClick: () => setShown((s) => s + PAGE),
|
|
146
|
+
children: "Show more"
|
|
147
|
+
}
|
|
148
|
+
)
|
|
149
|
+
] })
|
|
150
|
+
] });
|
|
151
|
+
}
|
|
152
|
+
export {
|
|
153
|
+
ItemsGallery
|
|
154
|
+
};
|
|
155
|
+
//# sourceMappingURL=items-gallery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/admin/tenants/%5Bid%5D/commerce/items-gallery.tsx"],"sourcesContent":["'use client';\n\nimport { useEffect, useMemo, useState } from 'react';\nimport { Button, EmptyNote, ErrorBanner, ViewSwitch } from '@withpotter/ui-kit';\nimport { useTenantProducts } from '../../../hooks';\nimport { FilterSearch, FilterSelect, Filters, Skeleton } from '../../../_ui';\nimport { humanize } from './format';\nimport { ItemCard } from './item-card';\nimport { ItemsTable } from './items-table';\nimport cards from './items.module.css';\nimport styles from './shell.module.css';\n\nconst PAGE = 12;\n/** The products endpoint returns active items only, at most this many. */\nconst CAP = 200;\ntype View = 'grid' | 'table';\n\n/** Hidden and archived items never come back, so only \"active\" is honest. */\nconst activeCaption = (total: number, shown: number) =>\n shown >= CAP && total > shown\n ? `First ${CAP.toLocaleString()} of ${total.toLocaleString()} active items`\n : `${total.toLocaleString()} active items · hidden items not shown`;\n\n/** What the merchant sells, as a shop window or a table. */\nexport function ItemsGallery({\n tenantId,\n currency,\n}: {\n tenantId: string;\n currency: string;\n}) {\n const [view, setView] = useState<View>('grid');\n const [type, setType] = useState('');\n const [query, setQuery] = useState('');\n const [search, setSearch] = useState('');\n const [shown, setShown] = useState(PAGE);\n\n useEffect(() => {\n const t = window.setTimeout(() => {\n setSearch(query.trim());\n setShown(PAGE);\n }, 300);\n return () => window.clearTimeout(t);\n }, [query]);\n\n const all = useTenantProducts(tenantId);\n const list = useTenantProducts(tenantId, {\n type: type || undefined,\n search: search || undefined,\n });\n\n const types = useMemo(() => {\n const seen = new Set((all.data?.items ?? []).map((p) => p.type));\n return [\n { value: '', label: 'All types' },\n ...[...seen].sort().map((t) => ({ value: t, label: humanize(t) })),\n ];\n }, [all.data]);\n\n const items = list.data?.items ?? [];\n const visible = items.slice(0, shown);\n const filtered = !!type || !!search;\n\n return (\n <section className={styles.panel} aria-label=\"Items\">\n <header className={styles.toolbar}>\n <div className={styles.titleBlock}>\n <h2 className={styles.title}>Items</h2>\n <p className={styles.caption}>\n {list.data\n ? activeCaption(list.data.total, items.length)\n : 'What this merchant sells'}\n </p>\n </div>\n <Filters label=\"Filter items\">\n <FilterSearch\n value={query}\n onChange={setQuery}\n placeholder=\"Search items\"\n />\n <FilterSelect\n label=\"Item type\"\n value={type}\n onChange={(v) => {\n setType(v);\n setShown(PAGE);\n }}\n options={types}\n />\n <ViewSwitch<View>\n aria-label=\"Items view\"\n className=\"adm-view-switch\"\n value={view}\n onChange={setView}\n options={[\n { value: 'grid', label: 'Grid' },\n { value: 'table', label: 'Table' },\n ]}\n />\n </Filters>\n </header>\n\n {list.isError ? (\n <div className={styles.state}>\n <ErrorBanner>\n The items could not be loaded.{' '}\n <Button\n size=\"sm\"\n variant=\"secondary\"\n onClick={() => list.refetch()}\n >\n Try again\n </Button>\n </ErrorBanner>\n </div>\n ) : list.isLoading ? (\n <ul className={cards.grid} aria-busy=\"true\" aria-label=\"Loading items\">\n {Array.from({ length: 8 }, (_, i) => (\n <li key={i} className={cards.card}>\n <Skeleton height={140} radius={10} />\n <div className={cards.body}>\n <Skeleton width=\"70%\" />\n <Skeleton width=\"40%\" />\n </div>\n </li>\n ))}\n </ul>\n ) : items.length === 0 ? (\n <div className={styles.state}>\n <EmptyNote\n well\n action={\n filtered && (\n <Button\n size=\"sm\"\n variant=\"secondary\"\n onClick={() => {\n setQuery('');\n setType('');\n }}\n >\n Clear filters\n </Button>\n )\n }\n >\n {filtered\n ? 'No items match these filters.'\n : 'No items listed yet. They appear here once the merchant adds them.'}\n </EmptyNote>\n </div>\n ) : view === 'grid' ? (\n <ul className={cards.grid} data-few={visible.length < 4}>\n {visible.map((item, i) => (\n <ItemCard\n key={item.id}\n item={item}\n currency={currency}\n index={i % PAGE}\n />\n ))}\n </ul>\n ) : (\n <ItemsTable items={visible} currency={currency} />\n )}\n\n {items.length > shown && (\n <footer className={styles.more}>\n <span className={styles.caption}>\n Showing {shown.toLocaleString()} of {items.length.toLocaleString()}\n </span>\n <Button\n size=\"sm\"\n variant=\"secondary\"\n onClick={() => setShown((s) => s + PAGE)}\n >\n Show more\n </Button>\n </footer>\n )}\n </section>\n );\n}\n"],"mappings":";AAkEQ,SACE,KADF;AAhER,SAAS,WAAW,SAAS,gBAAgB;AAC7C,SAAS,QAAQ,WAAW,aAAa,kBAAkB;AAC3D,SAAS,yBAAyB;AAClC,SAAS,cAAc,cAAc,SAAS,gBAAgB;AAC9D,SAAS,gBAAgB;AACzB,SAAS,gBAAgB;AACzB,SAAS,kBAAkB;AAC3B,OAAO,WAAW;AAClB,OAAO,YAAY;AAEnB,MAAM,OAAO;AAEb,MAAM,MAAM;AAIZ,MAAM,gBAAgB,CAAC,OAAe,UACpC,SAAS,OAAO,QAAQ,QACpB,SAAS,IAAI,eAAe,CAAC,OAAO,MAAM,eAAe,CAAC,kBAC1D,GAAG,MAAM,eAAe,CAAC;AAGxB,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA;AACF,GAGG;AACD,QAAM,CAAC,MAAM,OAAO,IAAI,SAAe,MAAM;AAC7C,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,EAAE;AACnC,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAS,EAAE;AACrC,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAS,EAAE;AACvC,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAS,IAAI;AAEvC,YAAU,MAAM;AACd,UAAM,IAAI,OAAO,WAAW,MAAM;AAChC,gBAAU,MAAM,KAAK,CAAC;AACtB,eAAS,IAAI;AAAA,IACf,GAAG,GAAG;AACN,WAAO,MAAM,OAAO,aAAa,CAAC;AAAA,EACpC,GAAG,CAAC,KAAK,CAAC;AAEV,QAAM,MAAM,kBAAkB,QAAQ;AACtC,QAAM,OAAO,kBAAkB,UAAU;AAAA,IACvC,MAAM,QAAQ;AAAA,IACd,QAAQ,UAAU;AAAA,EACpB,CAAC;AAED,QAAM,QAAQ,QAAQ,MAAM;AAC1B,UAAM,OAAO,IAAI,KAAK,IAAI,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AAC/D,WAAO;AAAA,MACL,EAAE,OAAO,IAAI,OAAO,YAAY;AAAA,MAChC,GAAG,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,SAAS,CAAC,EAAE,EAAE;AAAA,IACnE;AAAA,EACF,GAAG,CAAC,IAAI,IAAI,CAAC;AAEb,QAAM,QAAQ,KAAK,MAAM,SAAS,CAAC;AACnC,QAAM,UAAU,MAAM,MAAM,GAAG,KAAK;AACpC,QAAM,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC;AAE7B,SACE,qBAAC,aAAQ,WAAW,OAAO,OAAO,cAAW,SAC3C;AAAA,yBAAC,YAAO,WAAW,OAAO,SACxB;AAAA,2BAAC,SAAI,WAAW,OAAO,YACrB;AAAA,4BAAC,QAAG,WAAW,OAAO,OAAO,mBAAK;AAAA,QAClC,oBAAC,OAAE,WAAW,OAAO,SAClB,eAAK,OACF,cAAc,KAAK,KAAK,OAAO,MAAM,MAAM,IAC3C,4BACN;AAAA,SACF;AAAA,MACA,qBAAC,WAAQ,OAAM,gBACb;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,OAAO;AAAA,YACP,UAAU;AAAA,YACV,aAAY;AAAA;AAAA,QACd;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,OAAM;AAAA,YACN,OAAO;AAAA,YACP,UAAU,CAAC,MAAM;AACf,sBAAQ,CAAC;AACT,uBAAS,IAAI;AAAA,YACf;AAAA,YACA,SAAS;AAAA;AAAA,QACX;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,cAAW;AAAA,YACX,WAAU;AAAA,YACV,OAAO;AAAA,YACP,UAAU;AAAA,YACV,SAAS;AAAA,cACP,EAAE,OAAO,QAAQ,OAAO,OAAO;AAAA,cAC/B,EAAE,OAAO,SAAS,OAAO,QAAQ;AAAA,YACnC;AAAA;AAAA,QACF;AAAA,SACF;AAAA,OACF;AAAA,IAEC,KAAK,UACJ,oBAAC,SAAI,WAAW,OAAO,OACrB,+BAAC,eAAY;AAAA;AAAA,MACoB;AAAA,MAC/B;AAAA,QAAC;AAAA;AAAA,UACC,MAAK;AAAA,UACL,SAAQ;AAAA,UACR,SAAS,MAAM,KAAK,QAAQ;AAAA,UAC7B;AAAA;AAAA,MAED;AAAA,OACF,GACF,IACE,KAAK,YACP,oBAAC,QAAG,WAAW,MAAM,MAAM,aAAU,QAAO,cAAW,iBACpD,gBAAM,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,GAAG,MAC7B,qBAAC,QAAW,WAAW,MAAM,MAC3B;AAAA,0BAAC,YAAS,QAAQ,KAAK,QAAQ,IAAI;AAAA,MACnC,qBAAC,SAAI,WAAW,MAAM,MACpB;AAAA,4BAAC,YAAS,OAAM,OAAM;AAAA,QACtB,oBAAC,YAAS,OAAM,OAAM;AAAA,SACxB;AAAA,SALO,CAMT,CACD,GACH,IACE,MAAM,WAAW,IACnB,oBAAC,SAAI,WAAW,OAAO,OACrB;AAAA,MAAC;AAAA;AAAA,QACC,MAAI;AAAA,QACJ,QACE,YACE;AAAA,UAAC;AAAA;AAAA,YACC,MAAK;AAAA,YACL,SAAQ;AAAA,YACR,SAAS,MAAM;AACb,uBAAS,EAAE;AACX,sBAAQ,EAAE;AAAA,YACZ;AAAA,YACD;AAAA;AAAA,QAED;AAAA,QAIH,qBACG,kCACA;AAAA;AAAA,IACN,GACF,IACE,SAAS,SACX,oBAAC,QAAG,WAAW,MAAM,MAAM,YAAU,QAAQ,SAAS,GACnD,kBAAQ,IAAI,CAAC,MAAM,MAClB;AAAA,MAAC;AAAA;AAAA,QAEC;AAAA,QACA;AAAA,QACA,OAAO,IAAI;AAAA;AAAA,MAHN,KAAK;AAAA,IAIZ,CACD,GACH,IAEA,oBAAC,cAAW,OAAO,SAAS,UAAoB;AAAA,IAGjD,MAAM,SAAS,SACd,qBAAC,YAAO,WAAW,OAAO,MACxB;AAAA,2BAAC,UAAK,WAAW,OAAO,SAAS;AAAA;AAAA,QACtB,MAAM,eAAe;AAAA,QAAE;AAAA,QAAK,MAAM,OAAO,eAAe;AAAA,SACnE;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC,MAAK;AAAA,UACL,SAAQ;AAAA,UACR,SAAS,MAAM,SAAS,CAAC,MAAM,IAAI,IAAI;AAAA,UACxC;AAAA;AAAA,MAED;AAAA,OACF;AAAA,KAEJ;AAEJ;","names":[]}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { TableRow, TableShell, Th } from "@withpotter/ui-kit";
|
|
3
|
+
import { EntityAvatar } from "../../../_fx";
|
|
4
|
+
import { humanize, stockOf } from "./format";
|
|
5
|
+
import { priceOf } from "./item-card";
|
|
6
|
+
import { StatusPill } from "./status-pill";
|
|
7
|
+
import styles from "./shell.module.css";
|
|
8
|
+
function ItemsTable({
|
|
9
|
+
items,
|
|
10
|
+
currency
|
|
11
|
+
}) {
|
|
12
|
+
return /* @__PURE__ */ jsx(
|
|
13
|
+
TableShell,
|
|
14
|
+
{
|
|
15
|
+
bare: true,
|
|
16
|
+
minWidth: 720,
|
|
17
|
+
density: "compact",
|
|
18
|
+
head: /* @__PURE__ */ jsxs("tr", { children: [
|
|
19
|
+
/* @__PURE__ */ jsx(Th, { children: "Item" }),
|
|
20
|
+
/* @__PURE__ */ jsx(Th, { children: "Type" }),
|
|
21
|
+
/* @__PURE__ */ jsx(Th, { align: "right", children: "Price" }),
|
|
22
|
+
/* @__PURE__ */ jsx(Th, { children: "Stock" })
|
|
23
|
+
] }),
|
|
24
|
+
children: items.map((item) => {
|
|
25
|
+
const stock = stockOf(item);
|
|
26
|
+
return /* @__PURE__ */ jsxs(TableRow, { children: [
|
|
27
|
+
/* @__PURE__ */ jsx("td", { children: /* @__PURE__ */ jsxs("span", { className: styles.cellItem, children: [
|
|
28
|
+
item.image?.url && /* @__PURE__ */ jsx(
|
|
29
|
+
EntityAvatar,
|
|
30
|
+
{
|
|
31
|
+
name: item.title,
|
|
32
|
+
src: item.image.url,
|
|
33
|
+
size: 32
|
|
34
|
+
}
|
|
35
|
+
),
|
|
36
|
+
/* @__PURE__ */ jsx("span", { className: styles.cellName, title: item.title, children: item.title })
|
|
37
|
+
] }) }),
|
|
38
|
+
/* @__PURE__ */ jsx("td", { children: humanize(item.type) }),
|
|
39
|
+
/* @__PURE__ */ jsx("td", { className: styles.num, children: priceOf(item, currency) }),
|
|
40
|
+
/* @__PURE__ */ jsx("td", { children: /* @__PURE__ */ jsx(StatusPill, { label: stock.label, tone: stock.tone }) })
|
|
41
|
+
] }, item.id);
|
|
42
|
+
})
|
|
43
|
+
}
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
export {
|
|
47
|
+
ItemsTable
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=items-table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/admin/tenants/%5Bid%5D/commerce/items-table.tsx"],"sourcesContent":["import type { TenantProduct } from '@withpotter/lib/admin-api';\nimport { TableRow, TableShell, Th } from '@withpotter/ui-kit';\nimport { EntityAvatar } from '../../../_fx';\nimport { humanize, stockOf } from './format';\nimport { priceOf } from './item-card';\nimport { StatusPill } from './status-pill';\nimport styles from './shell.module.css';\n\n/**\n * The same items as rows, for comparing price and stock down a column. The\n * API returns active items only, so there is no listing column.\n */\nexport function ItemsTable({\n items,\n currency,\n}: {\n items: TenantProduct[];\n currency: string;\n}) {\n return (\n <TableShell\n bare\n minWidth={720}\n density=\"compact\"\n head={\n <tr>\n <Th>Item</Th>\n <Th>Type</Th>\n <Th align=\"right\">Price</Th>\n <Th>Stock</Th>\n </tr>\n }\n >\n {items.map((item) => {\n const stock = stockOf(item);\n\n return (\n <TableRow key={item.id}>\n <td>\n <span className={styles.cellItem}>\n {item.image?.url && (\n <EntityAvatar\n name={item.title}\n src={item.image.url}\n size={32}\n />\n )}\n <span className={styles.cellName} title={item.title}>\n {item.title}\n </span>\n </span>\n </td>\n <td>{humanize(item.type)}</td>\n <td className={styles.num}>{priceOf(item, currency)}</td>\n <td>\n <StatusPill label={stock.label} tone={stock.tone} />\n </td>\n </TableRow>\n );\n })}\n </TableShell>\n );\n}\n"],"mappings":"AAyBQ,SACE,KADF;AAxBR,SAAS,UAAU,YAAY,UAAU;AACzC,SAAS,oBAAoB;AAC7B,SAAS,UAAU,eAAe;AAClC,SAAS,eAAe;AACxB,SAAS,kBAAkB;AAC3B,OAAO,YAAY;AAMZ,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AACF,GAGG;AACD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAI;AAAA,MACJ,UAAU;AAAA,MACV,SAAQ;AAAA,MACR,MACE,qBAAC,QACC;AAAA,4BAAC,MAAG,kBAAI;AAAA,QACR,oBAAC,MAAG,kBAAI;AAAA,QACR,oBAAC,MAAG,OAAM,SAAQ,mBAAK;AAAA,QACvB,oBAAC,MAAG,mBAAK;AAAA,SACX;AAAA,MAGD,gBAAM,IAAI,CAAC,SAAS;AACnB,cAAM,QAAQ,QAAQ,IAAI;AAE1B,eACE,qBAAC,YACC;AAAA,8BAAC,QACC,+BAAC,UAAK,WAAW,OAAO,UACrB;AAAA,iBAAK,OAAO,OACX;AAAA,cAAC;AAAA;AAAA,gBACC,MAAM,KAAK;AAAA,gBACX,KAAK,KAAK,MAAM;AAAA,gBAChB,MAAM;AAAA;AAAA,YACR;AAAA,YAEF,oBAAC,UAAK,WAAW,OAAO,UAAU,OAAO,KAAK,OAC3C,eAAK,OACR;AAAA,aACF,GACF;AAAA,UACA,oBAAC,QAAI,mBAAS,KAAK,IAAI,GAAE;AAAA,UACzB,oBAAC,QAAG,WAAW,OAAO,KAAM,kBAAQ,MAAM,QAAQ,GAAE;AAAA,UACpD,oBAAC,QACC,8BAAC,cAAW,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,GACpD;AAAA,aAnBa,KAAK,EAoBpB;AAAA,MAEJ,CAAC;AAAA;AAAA,EACH;AAEJ;","names":[]}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/* Item cards: picture first, then name, type, price and stock. */
|
|
2
|
+
|
|
3
|
+
.grid {
|
|
4
|
+
display: grid;
|
|
5
|
+
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
|
|
6
|
+
gap: var(--adm-gap);
|
|
7
|
+
margin: 0;
|
|
8
|
+
padding: 0 20px 20px;
|
|
9
|
+
list-style: none;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.card {
|
|
13
|
+
display: flex;
|
|
14
|
+
flex-direction: column;
|
|
15
|
+
min-width: 0;
|
|
16
|
+
overflow: hidden;
|
|
17
|
+
border: 1px solid var(--border-subtle);
|
|
18
|
+
border-radius: var(--adm-card-radius);
|
|
19
|
+
background: var(--bg-base);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/* A short catalogue: wide cards, picture beside the facts, so two or three
|
|
23
|
+
items fill the band instead of leaving most of it empty. */
|
|
24
|
+
.grid[data-few='true'] {
|
|
25
|
+
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.grid[data-few='true'] .card {
|
|
29
|
+
flex-direction: row;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.grid[data-few='true'] .media {
|
|
33
|
+
flex: 0 0 40%;
|
|
34
|
+
max-width: 200px;
|
|
35
|
+
aspect-ratio: 1;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.grid[data-few='true'] .body {
|
|
39
|
+
flex: 1;
|
|
40
|
+
min-width: 0;
|
|
41
|
+
justify-content: center;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.media {
|
|
45
|
+
position: relative;
|
|
46
|
+
display: grid;
|
|
47
|
+
place-items: center;
|
|
48
|
+
aspect-ratio: 4 / 3;
|
|
49
|
+
overflow: hidden;
|
|
50
|
+
background: var(--bg-subtle);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/* No photo: a flat grey plate with a muted product glyph. */
|
|
54
|
+
.media img {
|
|
55
|
+
width: 100%;
|
|
56
|
+
height: 100%;
|
|
57
|
+
object-fit: cover;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.featured {
|
|
61
|
+
position: absolute;
|
|
62
|
+
top: 8px;
|
|
63
|
+
height: 20px;
|
|
64
|
+
padding: 0 8px;
|
|
65
|
+
border-radius: 6px;
|
|
66
|
+
font-size: 12px;
|
|
67
|
+
font-weight: 600;
|
|
68
|
+
line-height: 20px;
|
|
69
|
+
box-shadow: var(--adm-shadow-1);
|
|
70
|
+
left: 8px;
|
|
71
|
+
background: var(--bg-base);
|
|
72
|
+
color: color-mix(in srgb, var(--brand-500) 78%, var(--text-primary));
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.body {
|
|
76
|
+
display: flex;
|
|
77
|
+
flex-direction: column;
|
|
78
|
+
align-items: flex-start;
|
|
79
|
+
gap: 8px;
|
|
80
|
+
padding: 12px;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.name {
|
|
84
|
+
width: 100%;
|
|
85
|
+
overflow: hidden;
|
|
86
|
+
font-size: 14px;
|
|
87
|
+
font-weight: 600;
|
|
88
|
+
line-height: 20px;
|
|
89
|
+
text-overflow: ellipsis;
|
|
90
|
+
white-space: nowrap;
|
|
91
|
+
color: var(--text-primary);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.metaRow,
|
|
95
|
+
.priceRow {
|
|
96
|
+
display: flex;
|
|
97
|
+
align-items: center;
|
|
98
|
+
gap: 8px;
|
|
99
|
+
width: 100%;
|
|
100
|
+
min-width: 0;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.category {
|
|
104
|
+
overflow: hidden;
|
|
105
|
+
font-size: 12px;
|
|
106
|
+
line-height: 16px;
|
|
107
|
+
text-overflow: ellipsis;
|
|
108
|
+
white-space: nowrap;
|
|
109
|
+
color: var(--text-secondary);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.price {
|
|
113
|
+
font-size: 16px;
|
|
114
|
+
font-weight: 600;
|
|
115
|
+
line-height: 24px;
|
|
116
|
+
white-space: nowrap;
|
|
117
|
+
color: var(--text-primary);
|
|
118
|
+
font-variant-numeric: tabular-nums;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.was {
|
|
122
|
+
font-size: 12px;
|
|
123
|
+
white-space: nowrap;
|
|
124
|
+
color: var(--text-muted);
|
|
125
|
+
}
|