@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,95 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Suspense } from "react";
|
|
4
|
+
import { useRouter, useSearchParams } from "next/navigation";
|
|
5
|
+
import { useModuleOn } from "../_shell/modules-context";
|
|
6
|
+
import { PageTabs, Pagination, useTabParam } from "../_ui";
|
|
7
|
+
import { CasesTab } from "./cases-tab";
|
|
8
|
+
import { InboxAddress } from "./inbox-address";
|
|
9
|
+
import { InboxHeader } from "./inbox-header";
|
|
10
|
+
import { useQueueFilters } from "./queue-filters";
|
|
11
|
+
import { SavedRepliesTab } from "./saved-replies/saved-replies-tab";
|
|
12
|
+
import { useQueueCases } from "./use-queue-cases";
|
|
13
|
+
import { useSupportAnalytics, useSupportViewer } from "./use-support-insights";
|
|
14
|
+
import { SupportWorkspace } from "./workspace/support-workspace";
|
|
15
|
+
const PAGE_SIZE = 20;
|
|
16
|
+
const TABS = [
|
|
17
|
+
{ id: "cases", label: "Cases" },
|
|
18
|
+
{ id: "saved-replies", label: "Saved replies" }
|
|
19
|
+
];
|
|
20
|
+
const TAB_KEYS = TABS.map((tab) => tab.id);
|
|
21
|
+
function useWaitingLine() {
|
|
22
|
+
const waiting = useSupportAnalytics().data?.byStatus?.waiting_on_potter;
|
|
23
|
+
if (waiting === void 0) return "Merchant cases and the replies we send";
|
|
24
|
+
if (waiting === 0) return "No cases waiting on a reply";
|
|
25
|
+
return `${waiting.toLocaleString()} ${waiting === 1 ? "case" : "cases"} waiting on a reply`;
|
|
26
|
+
}
|
|
27
|
+
function SupportDesk() {
|
|
28
|
+
const router = useRouter();
|
|
29
|
+
const params = useSearchParams();
|
|
30
|
+
const { me, canManage } = useSupportViewer();
|
|
31
|
+
const [tab, setTab] = useTabParam(TAB_KEYS);
|
|
32
|
+
const waitingLine = useWaitingLine();
|
|
33
|
+
const takesEmail = useModuleOn("supportEmail");
|
|
34
|
+
const selected = params.get("case");
|
|
35
|
+
const setSelected = (id) => router.replace(id ? `/admin/support?case=${id}` : "/admin/support", {
|
|
36
|
+
scroll: false
|
|
37
|
+
});
|
|
38
|
+
const filters = useQueueFilters(me, PAGE_SIZE);
|
|
39
|
+
const cases = useQueueCases(filters);
|
|
40
|
+
const pager = cases.data && cases.data.total > 0 ? /* @__PURE__ */ jsx(
|
|
41
|
+
Pagination,
|
|
42
|
+
{
|
|
43
|
+
page: filters.page,
|
|
44
|
+
totalPages: Math.max(
|
|
45
|
+
1,
|
|
46
|
+
Math.ceil(cases.data.total / Math.max(1, cases.data.pageSize))
|
|
47
|
+
),
|
|
48
|
+
total: cases.data.total,
|
|
49
|
+
noun: "cases",
|
|
50
|
+
onPage: filters.setPage
|
|
51
|
+
}
|
|
52
|
+
) : void 0;
|
|
53
|
+
if (selected)
|
|
54
|
+
return /* @__PURE__ */ jsx(
|
|
55
|
+
SupportWorkspace,
|
|
56
|
+
{
|
|
57
|
+
caseId: selected,
|
|
58
|
+
filters,
|
|
59
|
+
cases,
|
|
60
|
+
me,
|
|
61
|
+
canManage,
|
|
62
|
+
onSelect: setSelected,
|
|
63
|
+
pager
|
|
64
|
+
}
|
|
65
|
+
);
|
|
66
|
+
return /* @__PURE__ */ jsxs("div", { children: [
|
|
67
|
+
/* @__PURE__ */ jsx(
|
|
68
|
+
InboxHeader,
|
|
69
|
+
{
|
|
70
|
+
title: "Merchant support",
|
|
71
|
+
description: waitingLine,
|
|
72
|
+
actions: takesEmail ? /* @__PURE__ */ jsx(InboxAddress, {}) : void 0
|
|
73
|
+
}
|
|
74
|
+
),
|
|
75
|
+
/* @__PURE__ */ jsx(PageTabs, { tabs: TABS, active: tab, onChange: setTab }),
|
|
76
|
+
tab === "cases" ? /* @__PURE__ */ jsx(
|
|
77
|
+
CasesTab,
|
|
78
|
+
{
|
|
79
|
+
filters,
|
|
80
|
+
cases,
|
|
81
|
+
me,
|
|
82
|
+
selected,
|
|
83
|
+
onOpen: setSelected,
|
|
84
|
+
pager
|
|
85
|
+
}
|
|
86
|
+
) : /* @__PURE__ */ jsx(SavedRepliesTab, { canManage })
|
|
87
|
+
] });
|
|
88
|
+
}
|
|
89
|
+
function AdminSupportPage() {
|
|
90
|
+
return /* @__PURE__ */ jsx(Suspense, { children: /* @__PURE__ */ jsx(SupportDesk, {}) });
|
|
91
|
+
}
|
|
92
|
+
export {
|
|
93
|
+
AdminSupportPage as default
|
|
94
|
+
};
|
|
95
|
+
//# sourceMappingURL=page.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/admin/support/page.tsx"],"sourcesContent":["'use client';\n\nimport { Suspense } from 'react';\nimport { useRouter, useSearchParams } from 'next/navigation';\nimport { useModuleOn } from '../_shell/modules-context';\nimport { PageTabs, Pagination, useTabParam } from '../_ui';\nimport { CasesTab } from './cases-tab';\nimport { InboxAddress } from './inbox-address';\nimport { InboxHeader } from './inbox-header';\nimport { useQueueFilters } from './queue-filters';\nimport { SavedRepliesTab } from './saved-replies/saved-replies-tab';\nimport { useQueueCases } from './use-queue-cases';\nimport { useSupportAnalytics, useSupportViewer } from './use-support-insights';\nimport { SupportWorkspace } from './workspace/support-workspace';\n\nconst PAGE_SIZE = 20;\n\nconst TABS = [\n { id: 'cases', label: 'Cases' },\n { id: 'saved-replies', label: 'Saved replies' },\n] as const;\nconst TAB_KEYS = TABS.map((tab) => tab.id);\n\n/** The header's one line: how many cases wait on us right now. */\nfunction useWaitingLine() {\n const waiting = useSupportAnalytics().data?.byStatus?.waiting_on_potter;\n if (waiting === undefined) return 'Merchant cases and the replies we send';\n if (waiting === 0) return 'No cases waiting on a reply';\n return `${waiting.toLocaleString()} ${waiting === 1 ? 'case' : 'cases'} waiting on a reply`;\n}\n\nfunction SupportDesk() {\n const router = useRouter();\n const params = useSearchParams();\n const { me, canManage } = useSupportViewer();\n const [tab, setTab] = useTabParam(TAB_KEYS);\n const waitingLine = useWaitingLine();\n const takesEmail = useModuleOn('supportEmail');\n const selected = params.get('case');\n const setSelected = (id: string | null) =>\n router.replace(id ? `/admin/support?case=${id}` : '/admin/support', {\n scroll: false,\n });\n const filters = useQueueFilters(me, PAGE_SIZE);\n const cases = useQueueCases(filters);\n const pager =\n cases.data && cases.data.total > 0 ? (\n <Pagination\n page={filters.page}\n totalPages={Math.max(\n 1,\n Math.ceil(cases.data.total / Math.max(1, cases.data.pageSize)),\n )}\n total={cases.data.total}\n noun=\"cases\"\n onPage={filters.setPage}\n />\n ) : undefined;\n\n // A case in the address opens the workspace on it; none shows the tabs.\n if (selected)\n return (\n <SupportWorkspace\n caseId={selected}\n filters={filters}\n cases={cases}\n me={me}\n canManage={canManage}\n onSelect={setSelected}\n pager={pager}\n />\n );\n\n return (\n <div>\n <InboxHeader\n title=\"Merchant support\"\n description={waitingLine}\n actions={takesEmail ? <InboxAddress /> : undefined}\n />\n <PageTabs tabs={TABS} active={tab} onChange={setTab} />\n {tab === 'cases' ? (\n <CasesTab\n filters={filters}\n cases={cases}\n me={me}\n selected={selected}\n onOpen={setSelected}\n pager={pager}\n />\n ) : (\n <SavedRepliesTab canManage={canManage} />\n )}\n </div>\n );\n}\n\nexport default function AdminSupportPage() {\n return (\n <Suspense>\n <SupportDesk />\n </Suspense>\n );\n}\n"],"mappings":";AA+CM,cA2BF,YA3BE;AA7CN,SAAS,gBAAgB;AACzB,SAAS,WAAW,uBAAuB;AAC3C,SAAS,mBAAmB;AAC5B,SAAS,UAAU,YAAY,mBAAmB;AAClD,SAAS,gBAAgB;AACzB,SAAS,oBAAoB;AAC7B,SAAS,mBAAmB;AAC5B,SAAS,uBAAuB;AAChC,SAAS,uBAAuB;AAChC,SAAS,qBAAqB;AAC9B,SAAS,qBAAqB,wBAAwB;AACtD,SAAS,wBAAwB;AAEjC,MAAM,YAAY;AAElB,MAAM,OAAO;AAAA,EACX,EAAE,IAAI,SAAS,OAAO,QAAQ;AAAA,EAC9B,EAAE,IAAI,iBAAiB,OAAO,gBAAgB;AAChD;AACA,MAAM,WAAW,KAAK,IAAI,CAAC,QAAQ,IAAI,EAAE;AAGzC,SAAS,iBAAiB;AACxB,QAAM,UAAU,oBAAoB,EAAE,MAAM,UAAU;AACtD,MAAI,YAAY,OAAW,QAAO;AAClC,MAAI,YAAY,EAAG,QAAO;AAC1B,SAAO,GAAG,QAAQ,eAAe,CAAC,IAAI,YAAY,IAAI,SAAS,OAAO;AACxE;AAEA,SAAS,cAAc;AACrB,QAAM,SAAS,UAAU;AACzB,QAAM,SAAS,gBAAgB;AAC/B,QAAM,EAAE,IAAI,UAAU,IAAI,iBAAiB;AAC3C,QAAM,CAAC,KAAK,MAAM,IAAI,YAAY,QAAQ;AAC1C,QAAM,cAAc,eAAe;AACnC,QAAM,aAAa,YAAY,cAAc;AAC7C,QAAM,WAAW,OAAO,IAAI,MAAM;AAClC,QAAM,cAAc,CAAC,OACnB,OAAO,QAAQ,KAAK,uBAAuB,EAAE,KAAK,kBAAkB;AAAA,IAClE,QAAQ;AAAA,EACV,CAAC;AACH,QAAM,UAAU,gBAAgB,IAAI,SAAS;AAC7C,QAAM,QAAQ,cAAc,OAAO;AACnC,QAAM,QACJ,MAAM,QAAQ,MAAM,KAAK,QAAQ,IAC/B;AAAA,IAAC;AAAA;AAAA,MACC,MAAM,QAAQ;AAAA,MACd,YAAY,KAAK;AAAA,QACf;AAAA,QACA,KAAK,KAAK,MAAM,KAAK,QAAQ,KAAK,IAAI,GAAG,MAAM,KAAK,QAAQ,CAAC;AAAA,MAC/D;AAAA,MACA,OAAO,MAAM,KAAK;AAAA,MAClB,MAAK;AAAA,MACL,QAAQ,QAAQ;AAAA;AAAA,EAClB,IACE;AAGN,MAAI;AACF,WACE;AAAA,MAAC;AAAA;AAAA,QACC,QAAQ;AAAA,QACR;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACV;AAAA;AAAA,IACF;AAGJ,SACE,qBAAC,SACC;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,OAAM;AAAA,QACN,aAAa;AAAA,QACb,SAAS,aAAa,oBAAC,gBAAa,IAAK;AAAA;AAAA,IAC3C;AAAA,IACA,oBAAC,YAAS,MAAM,MAAM,QAAQ,KAAK,UAAU,QAAQ;AAAA,IACpD,QAAQ,UACP;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,QAAQ;AAAA,QACR;AAAA;AAAA,IACF,IAEA,oBAAC,mBAAgB,WAAsB;AAAA,KAE3C;AAEJ;AAEe,SAAR,mBAAoC;AACzC,SACE,oBAAC,YACC,8BAAC,eAAY,GACf;AAEJ;","names":[]}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import styles from "./queue-card.module.css";
|
|
3
|
+
function QueueCard({
|
|
4
|
+
title,
|
|
5
|
+
count,
|
|
6
|
+
caption,
|
|
7
|
+
toolbar,
|
|
8
|
+
footer,
|
|
9
|
+
busy,
|
|
10
|
+
height = "560px",
|
|
11
|
+
children
|
|
12
|
+
}) {
|
|
13
|
+
return /* @__PURE__ */ jsxs(
|
|
14
|
+
"section",
|
|
15
|
+
{
|
|
16
|
+
className: styles.card,
|
|
17
|
+
"aria-label": title,
|
|
18
|
+
"aria-busy": busy || void 0,
|
|
19
|
+
children: [
|
|
20
|
+
/* @__PURE__ */ jsxs("header", { className: styles.head, "data-toolbar": toolbar ? "" : void 0, children: [
|
|
21
|
+
/* @__PURE__ */ jsxs("h2", { className: styles.title, children: [
|
|
22
|
+
/* @__PURE__ */ jsx("span", { className: styles.titleText, children: title }),
|
|
23
|
+
count !== void 0 && /* @__PURE__ */ jsx("span", { className: styles.count, children: count.toLocaleString() })
|
|
24
|
+
] }),
|
|
25
|
+
caption && /* @__PURE__ */ jsx("span", { className: "adm-caption", children: caption }),
|
|
26
|
+
toolbar
|
|
27
|
+
] }),
|
|
28
|
+
/* @__PURE__ */ jsx(
|
|
29
|
+
"div",
|
|
30
|
+
{
|
|
31
|
+
className: styles.scroll,
|
|
32
|
+
style: { maxHeight: height },
|
|
33
|
+
tabIndex: 0,
|
|
34
|
+
"aria-label": `${title} list`,
|
|
35
|
+
children
|
|
36
|
+
}
|
|
37
|
+
),
|
|
38
|
+
footer && /* @__PURE__ */ jsx("footer", { className: styles.footer, children: footer })
|
|
39
|
+
]
|
|
40
|
+
}
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
export {
|
|
44
|
+
QueueCard
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=queue-card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/admin/support/queue-card.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport styles from './queue-card.module.css';\n\n/**\n * A work queue: a titled card whose toolbar (search, filters) and footer\n * (pagination) stay put while the rows scroll inside a fixed height, under\n * a sticky column header. Panel's shape, plus the toolbar row a list needs.\n */\nexport function QueueCard({\n title,\n count,\n caption,\n toolbar,\n footer,\n busy,\n height = '560px',\n children,\n}: {\n title: string;\n count?: number;\n /** The window or unit, stated once. */\n caption?: ReactNode;\n toolbar?: ReactNode;\n footer?: ReactNode;\n /** Rows are loading: the region is busy and the skeleton is aria-hidden. */\n busy?: boolean;\n height?: string;\n children: ReactNode;\n}) {\n return (\n <section\n className={styles.card}\n aria-label={title}\n aria-busy={busy || undefined}\n >\n {/* Title and count on the left, filters on the right of one row;\n the filters wrap under the title as a group when it is narrow. */}\n <header className={styles.head} data-toolbar={toolbar ? '' : undefined}>\n <h2 className={styles.title}>\n <span className={styles.titleText}>{title}</span>\n {count !== undefined && (\n <span className={styles.count}>{count.toLocaleString()}</span>\n )}\n </h2>\n {caption && <span className=\"adm-caption\">{caption}</span>}\n {toolbar}\n </header>\n <div\n className={styles.scroll}\n style={{ maxHeight: height }}\n tabIndex={0}\n aria-label={`${title} list`}\n >\n {children}\n </div>\n {footer && <footer className={styles.footer}>{footer}</footer>}\n </section>\n );\n}\n"],"mappings":"AAsCQ,SACE,KADF;AArCR,OAAO,YAAY;AAOZ,SAAS,UAAU;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT;AACF,GAWG;AACD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,OAAO;AAAA,MAClB,cAAY;AAAA,MACZ,aAAW,QAAQ;AAAA,MAInB;AAAA,6BAAC,YAAO,WAAW,OAAO,MAAM,gBAAc,UAAU,KAAK,QAC3D;AAAA,+BAAC,QAAG,WAAW,OAAO,OACpB;AAAA,gCAAC,UAAK,WAAW,OAAO,WAAY,iBAAM;AAAA,YACzC,UAAU,UACT,oBAAC,UAAK,WAAW,OAAO,OAAQ,gBAAM,eAAe,GAAE;AAAA,aAE3D;AAAA,UACC,WAAW,oBAAC,UAAK,WAAU,eAAe,mBAAQ;AAAA,UAClD;AAAA,WACH;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,WAAW,OAAO;AAAA,YAClB,OAAO,EAAE,WAAW,OAAO;AAAA,YAC3B,UAAU;AAAA,YACV,cAAY,GAAG,KAAK;AAAA,YAEnB;AAAA;AAAA,QACH;AAAA,QACC,UAAU,oBAAC,YAAO,WAAW,OAAO,QAAS,kBAAO;AAAA;AAAA;AAAA,EACvD;AAEJ;","names":[]}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/* A queue card: fixed toolbar and footer, rows scroll between them. */
|
|
2
|
+
|
|
3
|
+
.card {
|
|
4
|
+
display: flex;
|
|
5
|
+
flex-direction: column;
|
|
6
|
+
min-width: 0;
|
|
7
|
+
overflow: hidden;
|
|
8
|
+
border-radius: var(--adm-card-radius);
|
|
9
|
+
border: 1px solid var(--border-subtle);
|
|
10
|
+
background: var(--bg-base);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.head {
|
|
14
|
+
display: flex;
|
|
15
|
+
flex-wrap: wrap;
|
|
16
|
+
align-items: center;
|
|
17
|
+
gap: 8px;
|
|
18
|
+
padding: 12px 16px;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.head[data-toolbar] {
|
|
22
|
+
border-bottom: 1px solid var(--border-subtle);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.title {
|
|
26
|
+
display: flex;
|
|
27
|
+
flex: 1 0 auto;
|
|
28
|
+
align-items: center;
|
|
29
|
+
gap: 8px;
|
|
30
|
+
min-width: 0;
|
|
31
|
+
max-width: 100%;
|
|
32
|
+
margin: 0;
|
|
33
|
+
color: var(--text-primary);
|
|
34
|
+
font-size: 14px;
|
|
35
|
+
font-weight: 600;
|
|
36
|
+
line-height: 20px;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.titleText {
|
|
40
|
+
overflow: hidden;
|
|
41
|
+
text-overflow: ellipsis;
|
|
42
|
+
white-space: nowrap;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.count {
|
|
46
|
+
color: var(--text-tertiary);
|
|
47
|
+
font-size: 13px;
|
|
48
|
+
font-weight: 400;
|
|
49
|
+
font-variant-numeric: tabular-nums;
|
|
50
|
+
line-height: 20px;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/* The saved-views strip sits between the title and the filter group. */
|
|
54
|
+
.head > [role='tablist'] {
|
|
55
|
+
flex: 0 1 auto;
|
|
56
|
+
min-width: 0;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/* When saved views are present, the filter group always starts its own
|
|
60
|
+
row below them: a steady two-row header instead of one that reflows
|
|
61
|
+
by how many controls the active view happens to show. */
|
|
62
|
+
.head:has([role='tablist']) > [role='search'] {
|
|
63
|
+
flex: 1 1 100%;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.scroll {
|
|
67
|
+
min-height: 0;
|
|
68
|
+
overflow: auto;
|
|
69
|
+
overscroll-behavior: contain;
|
|
70
|
+
scrollbar-width: thin;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.scroll:focus-visible {
|
|
74
|
+
outline: 2px solid var(--accent-primary);
|
|
75
|
+
outline-offset: -2px;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/* Column header with a hairline, not a shadow. */
|
|
79
|
+
.scroll thead th {
|
|
80
|
+
background: var(--bg-base);
|
|
81
|
+
box-shadow: inset 0 -1px 0 var(--border-subtle);
|
|
82
|
+
white-space: nowrap;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.footer {
|
|
86
|
+
padding: 0 16px 12px;
|
|
87
|
+
border-top: 1px solid var(--border-subtle);
|
|
88
|
+
}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
import { FilterPress, FilterSearch, FilterSelect, Filters } from "../_ui";
|
|
5
|
+
import { PRIORITY_OPTIONS, STATUS_OPTIONS } from "./support-options";
|
|
6
|
+
import { SupportViews, viewOf } from "./support-views";
|
|
7
|
+
import { useViewCounts } from "./use-view-counts";
|
|
8
|
+
const UNASSIGNED_WINDOW = 100;
|
|
9
|
+
const STATUS_FILTER = [{ value: "", label: "Any status" }, ...STATUS_OPTIONS];
|
|
10
|
+
const PRIORITY_FILTER = [
|
|
11
|
+
{ value: "", label: "Any priority" },
|
|
12
|
+
...PRIORITY_OPTIONS
|
|
13
|
+
];
|
|
14
|
+
function useQueueFilters(me, pageSize) {
|
|
15
|
+
const [view, setView] = useState("all");
|
|
16
|
+
const [search, setSearch] = useState("");
|
|
17
|
+
const [status, setStatus] = useState("");
|
|
18
|
+
const [priority, setPriority] = useState("");
|
|
19
|
+
const [mine, setMine] = useState(false);
|
|
20
|
+
const [page, setPage] = useState(1);
|
|
21
|
+
const preset = viewOf(view);
|
|
22
|
+
const unassignedOnly = view === "unassigned";
|
|
23
|
+
const set = (setter) => (value) => {
|
|
24
|
+
setter(value);
|
|
25
|
+
setPage(1);
|
|
26
|
+
};
|
|
27
|
+
return {
|
|
28
|
+
view,
|
|
29
|
+
search,
|
|
30
|
+
status,
|
|
31
|
+
priority,
|
|
32
|
+
mine,
|
|
33
|
+
page,
|
|
34
|
+
setPage,
|
|
35
|
+
setView: set(setView),
|
|
36
|
+
setSearch: set(setSearch),
|
|
37
|
+
setStatus: set(setStatus),
|
|
38
|
+
setPriority: set(setPriority),
|
|
39
|
+
setMine: set(setMine),
|
|
40
|
+
narrowed: Boolean(search || status || priority || mine || view !== "all"),
|
|
41
|
+
clear: () => {
|
|
42
|
+
setView("all");
|
|
43
|
+
setSearch("");
|
|
44
|
+
setStatus("");
|
|
45
|
+
setPriority("");
|
|
46
|
+
setMine(false);
|
|
47
|
+
setPage(1);
|
|
48
|
+
},
|
|
49
|
+
/** Unassigned is filtered here, as the API cannot ask for "nobody". */
|
|
50
|
+
unassignedOnly,
|
|
51
|
+
query: {
|
|
52
|
+
page: unassignedOnly ? 1 : page,
|
|
53
|
+
pageSize: unassignedOnly ? UNASSIGNED_WINDOW : pageSize,
|
|
54
|
+
search: search || void 0,
|
|
55
|
+
status: preset.status ?? (status || void 0),
|
|
56
|
+
priority: preset.priority ?? (priority || void 0),
|
|
57
|
+
assignedAdminUserId: mine || view === "mine" ? me : void 0
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
function QueueToolbar({
|
|
62
|
+
filters,
|
|
63
|
+
me
|
|
64
|
+
}) {
|
|
65
|
+
const counts = useViewCounts(me);
|
|
66
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
67
|
+
/* @__PURE__ */ jsx(
|
|
68
|
+
SupportViews,
|
|
69
|
+
{
|
|
70
|
+
view: filters.view,
|
|
71
|
+
counts,
|
|
72
|
+
onChange: filters.setView
|
|
73
|
+
}
|
|
74
|
+
),
|
|
75
|
+
/* @__PURE__ */ jsxs(Filters, { label: "Filter cases", children: [
|
|
76
|
+
!viewOf(filters.view).status && /* @__PURE__ */ jsx(
|
|
77
|
+
FilterSelect,
|
|
78
|
+
{
|
|
79
|
+
label: "Status",
|
|
80
|
+
value: filters.status,
|
|
81
|
+
options: STATUS_FILTER,
|
|
82
|
+
onChange: (value) => filters.setStatus(value)
|
|
83
|
+
}
|
|
84
|
+
),
|
|
85
|
+
!viewOf(filters.view).priority && /* @__PURE__ */ jsx(
|
|
86
|
+
FilterSelect,
|
|
87
|
+
{
|
|
88
|
+
label: "Priority",
|
|
89
|
+
value: filters.priority,
|
|
90
|
+
options: PRIORITY_FILTER,
|
|
91
|
+
onChange: (value) => filters.setPriority(value)
|
|
92
|
+
}
|
|
93
|
+
),
|
|
94
|
+
me && filters.view !== "mine" && /* @__PURE__ */ jsx(
|
|
95
|
+
FilterPress,
|
|
96
|
+
{
|
|
97
|
+
on: filters.mine,
|
|
98
|
+
onToggle: () => filters.setMine(!filters.mine),
|
|
99
|
+
children: "Mine"
|
|
100
|
+
}
|
|
101
|
+
),
|
|
102
|
+
/* @__PURE__ */ jsx(
|
|
103
|
+
FilterSearch,
|
|
104
|
+
{
|
|
105
|
+
value: filters.search,
|
|
106
|
+
onChange: filters.setSearch,
|
|
107
|
+
placeholder: "Search reference or subject",
|
|
108
|
+
label: "Search reference or subject"
|
|
109
|
+
}
|
|
110
|
+
)
|
|
111
|
+
] })
|
|
112
|
+
] });
|
|
113
|
+
}
|
|
114
|
+
export {
|
|
115
|
+
QueueToolbar,
|
|
116
|
+
UNASSIGNED_WINDOW,
|
|
117
|
+
useQueueFilters
|
|
118
|
+
};
|
|
119
|
+
//# sourceMappingURL=queue-filters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/admin/support/queue-filters.tsx"],"sourcesContent":["'use client';\n\nimport { useState } from 'react';\nimport type {\n ServiceCasePriority,\n ServiceCaseStatus,\n} from '@withpotter/lib/admin-service-operations-api';\nimport { FilterPress, FilterSearch, FilterSelect, Filters } from '../_ui';\nimport { PRIORITY_OPTIONS, STATUS_OPTIONS } from './support-options';\nimport { SupportViews, viewOf, type SupportView } from './support-views';\nimport { useViewCounts } from './use-view-counts';\n\n/** The Unassigned view reads this many of the latest cases and filters. */\nexport const UNASSIGNED_WINDOW = 100;\n\nconst STATUS_FILTER = [{ value: '', label: 'Any status' }, ...STATUS_OPTIONS];\nconst PRIORITY_FILTER = [\n { value: '', label: 'Any priority' },\n ...PRIORITY_OPTIONS,\n];\n\n/** The queue's view, search and filters, and the case query they make. */\nexport function useQueueFilters(me: string | undefined, pageSize: number) {\n const [view, setView] = useState<SupportView>('all');\n const [search, setSearch] = useState('');\n const [status, setStatus] = useState<ServiceCaseStatus | ''>('');\n const [priority, setPriority] = useState<ServiceCasePriority | ''>('');\n const [mine, setMine] = useState(false);\n const [page, setPage] = useState(1);\n const preset = viewOf(view);\n const unassignedOnly = view === 'unassigned';\n /** Every change goes back to page one. */\n const set =\n <T,>(setter: (value: T) => void) =>\n (value: T) => {\n setter(value);\n setPage(1);\n };\n\n return {\n view,\n search,\n status,\n priority,\n mine,\n page,\n setPage,\n setView: set(setView),\n setSearch: set(setSearch),\n setStatus: set(setStatus),\n setPriority: set(setPriority),\n setMine: set(setMine),\n narrowed: Boolean(search || status || priority || mine || view !== 'all'),\n clear: () => {\n setView('all');\n setSearch('');\n setStatus('');\n setPriority('');\n setMine(false);\n setPage(1);\n },\n /** Unassigned is filtered here, as the API cannot ask for \"nobody\". */\n unassignedOnly,\n query: {\n page: unassignedOnly ? 1 : page,\n pageSize: unassignedOnly ? UNASSIGNED_WINDOW : pageSize,\n search: search || undefined,\n status: preset.status ?? (status || undefined),\n priority: preset.priority ?? (priority || undefined),\n assignedAdminUserId: mine || view === 'mine' ? me : undefined,\n },\n };\n}\n\n/** Saved views as tabs, then search, status, priority and \"Mine\". */\nexport function QueueToolbar({\n filters,\n me,\n}: {\n filters: ReturnType<typeof useQueueFilters>;\n me: string | undefined;\n}) {\n const counts = useViewCounts(me);\n\n return (\n <>\n <SupportViews\n view={filters.view}\n counts={counts}\n onChange={filters.setView}\n />\n <Filters label=\"Filter cases\">\n {!viewOf(filters.view).status && (\n <FilterSelect\n label=\"Status\"\n value={filters.status}\n options={STATUS_FILTER}\n onChange={(value) =>\n filters.setStatus(value as ServiceCaseStatus | '')\n }\n />\n )}\n {!viewOf(filters.view).priority && (\n <FilterSelect\n label=\"Priority\"\n value={filters.priority}\n options={PRIORITY_FILTER}\n onChange={(value) =>\n filters.setPriority(value as ServiceCasePriority | '')\n }\n />\n )}\n {me && filters.view !== 'mine' && (\n <FilterPress\n on={filters.mine}\n onToggle={() => filters.setMine(!filters.mine)}\n >\n Mine\n </FilterPress>\n )}\n <FilterSearch\n value={filters.search}\n onChange={filters.setSearch}\n placeholder=\"Search reference or subject\"\n label=\"Search reference or subject\"\n />\n </Filters>\n </>\n );\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useId, useMemo, useState } from "react";
|
|
4
|
+
import Link from "next/link";
|
|
5
|
+
import { SearchField } from "@withpotter/ui-kit";
|
|
6
|
+
import { categoryLabel } from "@withpotter/lib/admin-saved-replies-api";
|
|
7
|
+
import { ReplyBody } from "./saved-replies/reply-preview";
|
|
8
|
+
import { ReplyFacts } from "./saved-replies/reply-list";
|
|
9
|
+
import { ALL, categoryCounts, filterReplies } from "./saved-replies/reply-meta";
|
|
10
|
+
import styles from "./reply-picker.module.css";
|
|
11
|
+
const LIBRARY = "/admin/support?tab=saved-replies";
|
|
12
|
+
const STEP = { ArrowDown: 1, ArrowUp: -1 };
|
|
13
|
+
function ReplyPickerBody({
|
|
14
|
+
replies,
|
|
15
|
+
isLoading,
|
|
16
|
+
category,
|
|
17
|
+
onPick
|
|
18
|
+
}) {
|
|
19
|
+
const listId = useId();
|
|
20
|
+
const [query, setQuery] = useState("");
|
|
21
|
+
const [filter, setFilter] = useState(ALL);
|
|
22
|
+
const [index, setIndex] = useState(0);
|
|
23
|
+
const rows = useMemo(
|
|
24
|
+
() => filterReplies(replies, { category: filter, query, prefer: category }),
|
|
25
|
+
[replies, filter, query, category]
|
|
26
|
+
);
|
|
27
|
+
const active = rows[Math.min(index, rows.length - 1)] ?? null;
|
|
28
|
+
const chips = [{ key: ALL, label: "All" }, ...categoryCounts(replies ?? [])];
|
|
29
|
+
const onKeyDown = (event) => {
|
|
30
|
+
const step = STEP[event.key];
|
|
31
|
+
if (step && rows.length) {
|
|
32
|
+
event.preventDefault();
|
|
33
|
+
setIndex((current) => {
|
|
34
|
+
const from = Math.min(current, rows.length - 1);
|
|
35
|
+
return (from + step + rows.length) % rows.length;
|
|
36
|
+
});
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
if (event.key === "Enter" && active) {
|
|
40
|
+
event.preventDefault();
|
|
41
|
+
onPick(active);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
if (isLoading) return /* @__PURE__ */ jsx("p", { className: styles.note, children: "Loading replies\u2026" });
|
|
45
|
+
if (!replies?.length) {
|
|
46
|
+
return /* @__PURE__ */ jsxs("p", { className: styles.note, children: [
|
|
47
|
+
"No saved replies yet. ",
|
|
48
|
+
/* @__PURE__ */ jsx(Link, { href: LIBRARY, children: "Create the first one" })
|
|
49
|
+
] });
|
|
50
|
+
}
|
|
51
|
+
return /* @__PURE__ */ jsxs("div", { className: styles.body, onKeyDown, children: [
|
|
52
|
+
/* @__PURE__ */ jsx(
|
|
53
|
+
SearchField,
|
|
54
|
+
{
|
|
55
|
+
autoFocus: true,
|
|
56
|
+
value: query,
|
|
57
|
+
onChange: (value) => {
|
|
58
|
+
setQuery(value);
|
|
59
|
+
setIndex(0);
|
|
60
|
+
},
|
|
61
|
+
placeholder: "Search saved replies"
|
|
62
|
+
}
|
|
63
|
+
),
|
|
64
|
+
/* @__PURE__ */ jsx("div", { className: styles.chips, role: "group", "aria-label": "Category", children: chips.map((chip) => /* @__PURE__ */ jsx(
|
|
65
|
+
"button",
|
|
66
|
+
{
|
|
67
|
+
type: "button",
|
|
68
|
+
className: styles.chip,
|
|
69
|
+
"aria-pressed": chip.key === filter,
|
|
70
|
+
onClick: () => {
|
|
71
|
+
setFilter(chip.key);
|
|
72
|
+
setIndex(0);
|
|
73
|
+
},
|
|
74
|
+
children: chip.label
|
|
75
|
+
},
|
|
76
|
+
chip.key
|
|
77
|
+
)) }),
|
|
78
|
+
/* @__PURE__ */ jsxs("div", { className: styles.split, children: [
|
|
79
|
+
/* @__PURE__ */ jsxs(
|
|
80
|
+
"ul",
|
|
81
|
+
{
|
|
82
|
+
id: listId,
|
|
83
|
+
role: "listbox",
|
|
84
|
+
"aria-label": "Saved replies",
|
|
85
|
+
className: styles.list,
|
|
86
|
+
children: [
|
|
87
|
+
rows.map((reply, at) => /* @__PURE__ */ jsxs(
|
|
88
|
+
"li",
|
|
89
|
+
{
|
|
90
|
+
role: "option",
|
|
91
|
+
"aria-selected": reply === active,
|
|
92
|
+
ref: reply === active ? (node) => node?.scrollIntoView({ block: "nearest" }) : void 0,
|
|
93
|
+
className: styles.option,
|
|
94
|
+
onMouseEnter: () => setIndex(at),
|
|
95
|
+
onMouseDown: (event) => event.preventDefault(),
|
|
96
|
+
onClick: () => onPick(reply),
|
|
97
|
+
children: [
|
|
98
|
+
/* @__PURE__ */ jsx("span", { className: styles.optionTitle, children: reply.title }),
|
|
99
|
+
/* @__PURE__ */ jsx("span", { className: styles.optionHint, children: categoryLabel(reply.category) })
|
|
100
|
+
]
|
|
101
|
+
},
|
|
102
|
+
reply.id
|
|
103
|
+
)),
|
|
104
|
+
!rows.length && /* @__PURE__ */ jsx("li", { className: styles.note, children: "No reply matches" })
|
|
105
|
+
]
|
|
106
|
+
}
|
|
107
|
+
),
|
|
108
|
+
/* @__PURE__ */ jsx("div", { className: styles.preview, tabIndex: 0, "aria-label": "Reply preview", children: active && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
109
|
+
/* @__PURE__ */ jsx(ReplyFacts, { reply: active }),
|
|
110
|
+
/* @__PURE__ */ jsx(ReplyBody, { body: active.body })
|
|
111
|
+
] }) })
|
|
112
|
+
] }),
|
|
113
|
+
/* @__PURE__ */ jsxs("div", { className: styles.foot, children: [
|
|
114
|
+
/* @__PURE__ */ jsx("span", { children: "\u2191\u2193 to move \xB7 \u21B5 to insert \xB7 esc to close" }),
|
|
115
|
+
/* @__PURE__ */ jsx(Link, { href: LIBRARY, children: "Manage saved replies" })
|
|
116
|
+
] })
|
|
117
|
+
] });
|
|
118
|
+
}
|
|
119
|
+
export {
|
|
120
|
+
ReplyPickerBody
|
|
121
|
+
};
|
|
122
|
+
//# sourceMappingURL=reply-picker-body.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/admin/support/reply-picker-body.tsx"],"sourcesContent":["'use client';\n\nimport { useId, useMemo, useState, type KeyboardEvent } from 'react';\nimport Link from 'next/link';\nimport { SearchField } from '@withpotter/ui-kit';\nimport { categoryLabel, type SavedReply } from '@withpotter/lib/admin-saved-replies-api';\nimport { ReplyBody } from './saved-replies/reply-preview';\nimport { ReplyFacts } from './saved-replies/reply-list';\nimport { ALL, categoryCounts, filterReplies } from './saved-replies/reply-meta';\nimport styles from './reply-picker.module.css';\n\nconst LIBRARY = '/admin/support?tab=saved-replies';\nconst STEP: Record<string, number> = { ArrowDown: 1, ArrowUp: -1 };\n\n/**\n * Search, categories, the replies and a preview of the highlighted one.\n * Arrow keys move the highlight, hovering moves it too, Enter inserts.\n */\nexport function ReplyPickerBody({\n replies,\n isLoading,\n category,\n onPick,\n}: {\n replies: SavedReply[] | undefined;\n isLoading: boolean;\n /** The case's category; its replies are listed first. */\n category: string;\n onPick: (reply: SavedReply) => void;\n}) {\n const listId = useId();\n const [query, setQuery] = useState('');\n const [filter, setFilter] = useState(ALL);\n const [index, setIndex] = useState(0);\n const rows = useMemo(\n () => filterReplies(replies, { category: filter, query, prefer: category }),\n [replies, filter, query, category],\n );\n const active = rows[Math.min(index, rows.length - 1)] ?? null;\n const chips = [{ key: ALL, label: 'All' }, ...categoryCounts(replies ?? [])];\n\n const onKeyDown = (event: KeyboardEvent) => {\n const step = STEP[event.key];\n if (step && rows.length) {\n event.preventDefault();\n setIndex((current) => {\n const from = Math.min(current, rows.length - 1);\n return (from + step + rows.length) % rows.length;\n });\n return;\n }\n if (event.key === 'Enter' && active) {\n event.preventDefault();\n onPick(active);\n }\n };\n\n if (isLoading) return <p className={styles.note}>Loading replies…</p>;\n\n if (!replies?.length) {\n return (\n <p className={styles.note}>\n No saved replies yet. <Link href={LIBRARY}>Create the first one</Link>\n </p>\n );\n }\n\n return (\n <div className={styles.body} onKeyDown={onKeyDown}>\n <SearchField\n autoFocus\n value={query}\n onChange={(value) => {\n setQuery(value);\n setIndex(0);\n }}\n placeholder=\"Search saved replies\"\n />\n <div className={styles.chips} role=\"group\" aria-label=\"Category\">\n {chips.map((chip) => (\n <button\n key={chip.key}\n type=\"button\"\n className={styles.chip}\n aria-pressed={chip.key === filter}\n onClick={() => {\n setFilter(chip.key);\n setIndex(0);\n }}\n >\n {chip.label}\n </button>\n ))}\n </div>\n <div className={styles.split}>\n <ul\n id={listId}\n role=\"listbox\"\n aria-label=\"Saved replies\"\n className={styles.list}\n >\n {rows.map((reply, at) => (\n <li\n key={reply.id}\n role=\"option\"\n aria-selected={reply === active}\n ref={\n reply === active\n ? (node) => node?.scrollIntoView({ block: 'nearest' })\n : undefined\n }\n className={styles.option}\n onMouseEnter={() => setIndex(at)}\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => onPick(reply)}\n >\n <span className={styles.optionTitle}>{reply.title}</span>\n <span className={styles.optionHint}>\n {categoryLabel(reply.category)}\n </span>\n </li>\n ))}\n {!rows.length && <li className={styles.note}>No reply matches</li>}\n </ul>\n <div className={styles.preview} tabIndex={0} aria-label=\"Reply preview\">\n {active && (\n <>\n <ReplyFacts reply={active} />\n <ReplyBody body={active.body} />\n </>\n )}\n </div>\n </div>\n <div className={styles.foot}>\n <span>↑↓ to move · ↵ to insert · esc to close</span>\n <Link href={LIBRARY}>Manage saved replies</Link>\n </div>\n </div>\n );\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import * as Popover from "@radix-ui/react-popover";
|
|
4
|
+
import { Button } from "@withpotter/ui-kit";
|
|
5
|
+
import { Kbd } from "./kbd";
|
|
6
|
+
import { ReplyPickerBody } from "./reply-picker-body";
|
|
7
|
+
import styles from "./reply-picker.module.css";
|
|
8
|
+
function ReplyPicker({
|
|
9
|
+
open,
|
|
10
|
+
onOpenChange,
|
|
11
|
+
replies,
|
|
12
|
+
isLoading,
|
|
13
|
+
category,
|
|
14
|
+
onPick
|
|
15
|
+
}) {
|
|
16
|
+
return /* @__PURE__ */ jsxs(Popover.Root, { open, onOpenChange, children: [
|
|
17
|
+
/* @__PURE__ */ jsx(Popover.Trigger, { asChild: true, children: /* @__PURE__ */ jsxs(
|
|
18
|
+
Button,
|
|
19
|
+
{
|
|
20
|
+
size: "sm",
|
|
21
|
+
variant: open ? "secondary" : "ghost",
|
|
22
|
+
"aria-keyshortcuts": "#",
|
|
23
|
+
children: [
|
|
24
|
+
"Saved replies",
|
|
25
|
+
/* @__PURE__ */ jsx(Kbd, { children: "#" })
|
|
26
|
+
]
|
|
27
|
+
}
|
|
28
|
+
) }),
|
|
29
|
+
/* @__PURE__ */ jsx(Popover.Portal, { children: /* @__PURE__ */ jsx(
|
|
30
|
+
Popover.Content,
|
|
31
|
+
{
|
|
32
|
+
side: "top",
|
|
33
|
+
align: "end",
|
|
34
|
+
sideOffset: 8,
|
|
35
|
+
collisionPadding: 16,
|
|
36
|
+
"aria-label": "Saved replies",
|
|
37
|
+
className: styles.popover,
|
|
38
|
+
onCloseAutoFocus: (event) => event.preventDefault(),
|
|
39
|
+
children: /* @__PURE__ */ jsx(
|
|
40
|
+
ReplyPickerBody,
|
|
41
|
+
{
|
|
42
|
+
replies,
|
|
43
|
+
isLoading,
|
|
44
|
+
category,
|
|
45
|
+
onPick
|
|
46
|
+
}
|
|
47
|
+
)
|
|
48
|
+
}
|
|
49
|
+
) })
|
|
50
|
+
] });
|
|
51
|
+
}
|
|
52
|
+
export {
|
|
53
|
+
ReplyPicker
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=reply-picker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/admin/support/reply-picker.tsx"],"sourcesContent":["'use client';\n\nimport * as Popover from '@radix-ui/react-popover';\nimport { Button } from '@withpotter/ui-kit';\nimport type { SavedReply } from '@withpotter/lib/admin-saved-replies-api';\nimport { Kbd } from './kbd';\nimport { ReplyPickerBody } from './reply-picker-body';\nimport styles from './reply-picker.module.css';\n\n/**\n * The composer's one way into saved replies: this button, or # in the box.\n * Opens a picker above the composer; inserting closes it and hands focus\n * back to the message, where the reply now sits.\n */\nexport function ReplyPicker({\n open,\n onOpenChange,\n replies,\n isLoading,\n category,\n onPick,\n}: {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n replies: SavedReply[] | undefined;\n isLoading: boolean;\n category: string;\n onPick: (reply: SavedReply) => void;\n}) {\n return (\n <Popover.Root open={open} onOpenChange={onOpenChange}>\n <Popover.Trigger asChild>\n <Button\n size=\"sm\"\n variant={open ? 'secondary' : 'ghost'}\n aria-keyshortcuts=\"#\"\n >\n Saved replies\n <Kbd>#</Kbd>\n </Button>\n </Popover.Trigger>\n <Popover.Portal>\n <Popover.Content\n side=\"top\"\n align=\"end\"\n sideOffset={8}\n collisionPadding={16}\n aria-label=\"Saved replies\"\n className={styles.popover}\n // Inserting focuses the message itself; don't pull focus back.\n onCloseAutoFocus={(event) => event.preventDefault()}\n >\n <ReplyPickerBody\n replies={replies}\n isLoading={isLoading}\n category={category}\n onPick={onPick}\n />\n </Popover.Content>\n </Popover.Portal>\n </Popover.Root>\n );\n}\n"],"mappings":";AAgCQ,SAME,KANF;AA9BR,YAAY,aAAa;AACzB,SAAS,cAAc;AAEvB,SAAS,WAAW;AACpB,SAAS,uBAAuB;AAChC,OAAO,YAAY;AAOZ,SAAS,YAAY;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAOG;AACD,SACE,qBAAC,QAAQ,MAAR,EAAa,MAAY,cACxB;AAAA,wBAAC,QAAQ,SAAR,EAAgB,SAAO,MACtB;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,SAAS,OAAO,cAAc;AAAA,QAC9B,qBAAkB;AAAA,QACnB;AAAA;AAAA,UAEC,oBAAC,OAAI,eAAC;AAAA;AAAA;AAAA,IACR,GACF;AAAA,IACA,oBAAC,QAAQ,QAAR,EACC;AAAA,MAAC,QAAQ;AAAA,MAAR;AAAA,QACC,MAAK;AAAA,QACL,OAAM;AAAA,QACN,YAAY;AAAA,QACZ,kBAAkB;AAAA,QAClB,cAAW;AAAA,QACX,WAAW,OAAO;AAAA,QAElB,kBAAkB,CAAC,UAAU,MAAM,eAAe;AAAA,QAElD;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA;AAAA,QACF;AAAA;AAAA,IACF,GACF;AAAA,KACF;AAEJ;","names":[]}
|