@eifi1/ui-kit 0.31.1 → 0.32.0
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/README.md +51 -28
- package/dist/account/delete-account-setting.d.ts +8 -3
- package/dist/admin/admin-action-confirm.d.ts +8 -3
- package/dist/admin/invitations-panel.d.ts +8 -3
- package/dist/admin/invitations-panel.js +29 -26
- package/dist/admin/invitations-panel.js.map +1 -1
- package/dist/admin/reviewer-scope-editor.d.ts +8 -3
- package/dist/admin/role-select.d.ts +10 -5
- package/dist/admin/transfer-ownership-dialog.d.ts +8 -3
- package/dist/admin/user-roster.d.ts +10 -5
- package/dist/admin/user-roster.js +8 -47
- package/dist/admin/user-roster.js.map +1 -1
- package/dist/auth/auth-errors.d.ts +43 -8
- package/dist/auth/auth-errors.js +24 -1
- package/dist/auth/auth-errors.js.map +1 -1
- package/dist/auth/register-form.d.ts +8 -3
- package/dist/billing/billing-banner.d.ts +184 -0
- package/dist/billing/billing-banner.js +98 -0
- package/dist/billing/billing-banner.js.map +1 -0
- package/dist/billing/billing-labels.d.ts +100 -0
- package/dist/billing/billing-labels.js +74 -0
- package/dist/billing/billing-labels.js.map +1 -0
- package/dist/billing/billing-lock.d.ts +158 -0
- package/dist/billing/billing-lock.js +17 -0
- package/dist/billing/billing-lock.js.map +1 -0
- package/dist/billing/billing-standing.d.ts +149 -0
- package/dist/billing/billing-standing.js +28 -0
- package/dist/billing/billing-standing.js.map +1 -0
- package/dist/billing/plan-card.d.ts +248 -0
- package/dist/billing/plan-card.js +248 -0
- package/dist/billing/plan-card.js.map +1 -0
- package/dist/billing/plan-limit-notice.d.ts +156 -0
- package/dist/billing/plan-limit-notice.js +76 -0
- package/dist/billing/plan-limit-notice.js.map +1 -0
- package/dist/billing/plan-limit.d.ts +34 -0
- package/dist/billing/plan-limit.js +20 -0
- package/dist/billing/plan-limit.js.map +1 -0
- package/dist/billing/plan-price.d.ts +61 -0
- package/dist/billing/plan-price.js +45 -0
- package/dist/billing/plan-price.js.map +1 -0
- package/dist/billing/subscription-actions.d.ts +133 -0
- package/dist/billing/subscription-actions.js +28 -0
- package/dist/billing/subscription-actions.js.map +1 -0
- package/dist/billing/subscription-status-chip.d.ts +149 -0
- package/dist/billing/subscription-status-chip.js +48 -0
- package/dist/billing/subscription-status-chip.js.map +1 -0
- package/dist/chart.d.ts +9 -3
- package/dist/components/account-chips.d.ts +16 -4
- package/dist/components/account-chips.js +21 -3
- package/dist/components/account-chips.js.map +1 -1
- package/dist/components/alert-banner.d.ts +6 -1
- package/dist/components/alert-banner.js +4 -3
- package/dist/components/alert-banner.js.map +1 -1
- package/dist/components/amount-input.d.ts +8 -3
- package/dist/components/amount-input.js +5 -5
- package/dist/components/amount-input.js.map +1 -1
- package/dist/components/appearance-labels.d.ts +32 -0
- package/dist/components/appearance-labels.js +18 -0
- package/dist/components/appearance-labels.js.map +1 -0
- package/dist/components/autocomplete.js +2 -2
- package/dist/components/autocomplete.js.map +1 -1
- package/dist/components/breadcrumbs.js +3 -2
- package/dist/components/breadcrumbs.js.map +1 -1
- package/dist/components/bulk-action-bar.d.ts +2 -2
- package/dist/components/bulk-action-bar.js +7 -12
- package/dist/components/bulk-action-bar.js.map +1 -1
- package/dist/components/button-group.d.ts +8 -3
- package/dist/components/calculator.d.ts +8 -3
- package/dist/components/calculator.js +4 -3
- package/dist/components/calculator.js.map +1 -1
- package/dist/components/calendar-heatmap.js +5 -5
- package/dist/components/calendar-heatmap.js.map +1 -1
- package/dist/components/chart-height.d.ts +23 -0
- package/dist/components/chart-height.js +15 -0
- package/dist/components/chart-height.js.map +1 -0
- package/dist/components/chart-zoom.js +6 -1
- package/dist/components/chart-zoom.js.map +1 -1
- package/dist/components/checkbox-group.js +2 -2
- package/dist/components/checkbox-group.js.map +1 -1
- package/dist/components/checkbox.d.ts +10 -0
- package/dist/components/checkbox.js +25 -10
- package/dist/components/checkbox.js.map +1 -1
- package/dist/components/chip.d.ts +19 -3
- package/dist/components/chip.js +47 -21
- package/dist/components/chip.js.map +1 -1
- package/dist/components/choice-card.d.ts +1 -1
- package/dist/components/choice-card.js +8 -7
- package/dist/components/choice-card.js.map +1 -1
- package/dist/components/column-mapper.js +1 -1
- package/dist/components/column-mapper.js.map +1 -1
- package/dist/components/combobox-core.js +8 -7
- package/dist/components/combobox-core.js.map +1 -1
- package/dist/components/combobox.js +8 -8
- package/dist/components/combobox.js.map +1 -1
- package/dist/components/confirm-dialog.d.ts +8 -3
- package/dist/components/copy-button.d.ts +10 -5
- package/dist/components/country-select.js +1 -1
- package/dist/components/country-select.js.map +1 -1
- package/dist/components/currency-select.js +3 -3
- package/dist/components/currency-select.js.map +1 -1
- package/dist/components/danger-confirm.d.ts +8 -3
- package/dist/components/data-table-cells.d.ts +1 -1
- package/dist/components/data-table-filter-popover.d.ts +1 -1
- package/dist/components/data-table-filter-popover.js +4 -1
- package/dist/components/data-table-filter-popover.js.map +1 -1
- package/dist/components/data-table-filters.d.ts +1 -1
- package/dist/components/data-table-labels.d.ts +1 -1
- package/dist/components/data-table-pagination.d.ts +1 -1
- package/dist/components/data-table.d.ts +1 -1
- package/dist/components/data-table.js +123 -52
- package/dist/components/data-table.js.map +1 -1
- package/dist/components/date-picker.d.ts +1 -1
- package/dist/components/date-picker.js +7 -5
- package/dist/components/date-picker.js.map +1 -1
- package/dist/components/description-list.js +2 -2
- package/dist/components/description-list.js.map +1 -1
- package/dist/components/dialog-frame.js +2 -1
- package/dist/components/dialog-frame.js.map +1 -1
- package/dist/components/disclosure.js +3 -2
- package/dist/components/disclosure.js.map +1 -1
- package/dist/components/dropdown.d.ts +1 -1
- package/dist/components/dropdown.js +7 -1
- package/dist/components/dropdown.js.map +1 -1
- package/dist/components/facing-pair.d.ts +19 -6
- package/dist/components/facing-pair.js +3 -2
- package/dist/components/facing-pair.js.map +1 -1
- package/dist/components/field-parts.d.ts +102 -6
- package/dist/components/field-parts.js +81 -6
- package/dist/components/field-parts.js.map +1 -1
- package/dist/components/field-sync.d.ts +4 -1
- package/dist/components/field-sync.js +12 -2
- package/dist/components/field-sync.js.map +1 -1
- package/dist/components/field.js +2 -2
- package/dist/components/field.js.map +1 -1
- package/dist/components/file-button.d.ts +8 -3
- package/dist/components/file-dropzone.d.ts +8 -3
- package/dist/components/floating-panel.js +7 -4
- package/dist/components/floating-panel.js.map +1 -1
- package/dist/components/focus-ring.d.ts +12 -0
- package/dist/components/focus-ring.js +8 -0
- package/dist/components/focus-ring.js.map +1 -0
- package/dist/components/form-actions.d.ts +8 -3
- package/dist/components/form-actions.js +33 -19
- package/dist/components/form-actions.js.map +1 -1
- package/dist/components/full-bleed-dialog.d.ts +11 -1
- package/dist/components/full-bleed-dialog.js +3 -1
- package/dist/components/full-bleed-dialog.js.map +1 -1
- package/dist/components/iban-input.d.ts +8 -3
- package/dist/components/image-grid.js +1 -1
- package/dist/components/image-grid.js.map +1 -1
- package/dist/components/inline-edit-field.js +6 -3
- package/dist/components/inline-edit-field.js.map +1 -1
- package/dist/components/language-select.d.ts +8 -3
- package/dist/components/legal-page.d.ts +26 -5
- package/dist/components/legal-page.js +3 -1
- package/dist/components/legal-page.js.map +1 -1
- package/dist/components/legal.d.ts +8 -3
- package/dist/components/legal.js +2 -1
- package/dist/components/legal.js.map +1 -1
- package/dist/components/lightbox.js +24 -2
- package/dist/components/lightbox.js.map +1 -1
- package/dist/components/line-items.js +2 -1
- package/dist/components/line-items.js.map +1 -1
- package/dist/components/list.d.ts +5 -0
- package/dist/components/list.js +13 -9
- package/dist/components/list.js.map +1 -1
- package/dist/components/measured-grid.d.ts +3 -1
- package/dist/components/measured-grid.js +38 -20
- package/dist/components/measured-grid.js.map +1 -1
- package/dist/components/menu-item.js +2 -1
- package/dist/components/menu-item.js.map +1 -1
- package/dist/components/mini-calendar.js +8 -4
- package/dist/components/mini-calendar.js.map +1 -1
- package/dist/components/money-field.d.ts +8 -3
- package/dist/components/month-picker.js +9 -5
- package/dist/components/month-picker.js.map +1 -1
- package/dist/components/nav-pills.js +1 -1
- package/dist/components/nav-pills.js.map +1 -1
- package/dist/components/number-field.d.ts +8 -3
- package/dist/components/number-input.d.ts +11 -4
- package/dist/components/number-input.js +8 -6
- package/dist/components/number-input.js.map +1 -1
- package/dist/components/numpad-sheet.d.ts +8 -3
- package/dist/components/numpad-sheet.js +2 -1
- package/dist/components/numpad-sheet.js.map +1 -1
- package/dist/components/one-time-code-input.js +2 -2
- package/dist/components/one-time-code-input.js.map +1 -1
- package/dist/components/page-contents.js +2 -2
- package/dist/components/page-contents.js.map +1 -1
- package/dist/components/phone-input.d.ts +8 -3
- package/dist/components/phone-input.js +2 -2
- package/dist/components/phone-input.js.map +1 -1
- package/dist/components/pie-chart.d.ts +8 -2
- package/dist/components/pie-chart.js +11 -7
- package/dist/components/pie-chart.js.map +1 -1
- package/dist/components/popover.d.ts +9 -1
- package/dist/components/popover.js +8 -4
- package/dist/components/popover.js.map +1 -1
- package/dist/components/row-actions.d.ts +100 -0
- package/dist/components/row-actions.js +165 -0
- package/dist/components/row-actions.js.map +1 -0
- package/dist/components/scroll-area.js +1 -1
- package/dist/components/scroll-area.js.map +1 -1
- package/dist/components/search-field.js +3 -2
- package/dist/components/search-field.js.map +1 -1
- package/dist/components/series-chart-budget.d.ts +30 -7
- package/dist/components/series-chart-budget.js +12 -4
- package/dist/components/series-chart-budget.js.map +1 -1
- package/dist/components/series-chart-ticks.d.ts +7 -1
- package/dist/components/series-chart-ticks.js +6 -0
- package/dist/components/series-chart-ticks.js.map +1 -1
- package/dist/components/series-chart.d.ts +58 -28
- package/dist/components/series-chart.js +42 -32
- package/dist/components/series-chart.js.map +1 -1
- package/dist/components/settings-fields.d.ts +51 -6
- package/dist/components/settings-fields.js +37 -0
- package/dist/components/settings-fields.js.map +1 -1
- package/dist/components/share-card.d.ts +11 -6
- package/dist/components/share-card.js +2 -0
- package/dist/components/share-card.js.map +1 -1
- package/dist/components/sign-chip.d.ts +4 -0
- package/dist/components/sign-chip.js +17 -4
- package/dist/components/sign-chip.js.map +1 -1
- package/dist/components/signature-pad.d.ts +3 -1
- package/dist/components/signature-pad.js +8 -5
- package/dist/components/signature-pad.js.map +1 -1
- package/dist/components/slider.js +7 -6
- package/dist/components/slider.js.map +1 -1
- package/dist/components/sparkline.d.ts +5 -1
- package/dist/components/sparkline.js +4 -2
- package/dist/components/sparkline.js.map +1 -1
- package/dist/components/stat-tile.d.ts +17 -1
- package/dist/components/stat-tile.js +48 -20
- package/dist/components/stat-tile.js.map +1 -1
- package/dist/components/status-dot.d.ts +4 -0
- package/dist/components/swipeable-row.js +2 -1
- package/dist/components/swipeable-row.js.map +1 -1
- package/dist/components/switch.d.ts +21 -7
- package/dist/components/switch.js +24 -11
- package/dist/components/switch.js.map +1 -1
- package/dist/components/table.js +2 -2
- package/dist/components/table.js.map +1 -1
- package/dist/components/text-link.d.ts +8 -3
- package/dist/components/text-link.js +1 -1
- package/dist/components/text-link.js.map +1 -1
- package/dist/components/text.d.ts +7 -2
- package/dist/components/text.js +5 -5
- package/dist/components/text.js.map +1 -1
- package/dist/components/tile-radio.js +2 -1
- package/dist/components/tile-radio.js.map +1 -1
- package/dist/components/time-input.d.ts +8 -3
- package/dist/components/toast.d.ts +18 -2
- package/dist/components/toast.js +8 -5
- package/dist/components/toast.js.map +1 -1
- package/dist/components/toggle-group.d.ts +16 -1
- package/dist/components/toggle-group.js +40 -11
- package/dist/components/toggle-group.js.map +1 -1
- package/dist/components/toggle-legend.d.ts +10 -1
- package/dist/components/toggle-legend.js +21 -7
- package/dist/components/toggle-legend.js.map +1 -1
- package/dist/components/translation-review-parts.d.ts +4 -0
- package/dist/components/translation-review.d.ts +4 -0
- package/dist/components/translation-review.js +3 -3
- package/dist/components/translation-review.js.map +1 -1
- package/dist/components/tree-view.js +3 -2
- package/dist/components/tree-view.js.map +1 -1
- package/dist/components/treemap.d.ts +5 -2
- package/dist/components/treemap.js +33 -16
- package/dist/components/treemap.js.map +1 -1
- package/dist/components/ui.d.ts +8 -3
- package/dist/components/ui.js +202 -114
- package/dist/components/ui.js.map +1 -1
- package/dist/components/use-table-state.d.ts +1 -1
- package/dist/components/user-avatar.d.ts +5 -1
- package/dist/components/user-avatar.js +1 -1
- package/dist/components/user-avatar.js.map +1 -1
- package/dist/{data-table-labels-DUELeXpa.d.ts → data-table-labels-kpAAVi6g.d.ts} +26 -2
- package/dist/data-table.d.ts +1 -1
- package/dist/{delete-account-setting-CpIhzxxZ.d.ts → delete-account-setting-BvdQdbv3.d.ts} +605 -58
- package/dist/demo/demo-banner.js +1 -0
- package/dist/demo/demo-banner.js.map +1 -1
- package/dist/feedback/feedback-attachment.d.ts +8 -3
- package/dist/feedback/feedback-context.d.ts +8 -3
- package/dist/feedback/feedback-crash.d.ts +8 -3
- package/dist/feedback/feedback-dialog.d.ts +8 -3
- package/dist/feedback/feedback-dialog.js +3 -3
- package/dist/feedback/feedback-dialog.js.map +1 -1
- package/dist/feedback/feedback-inbox.d.ts +8 -3
- package/dist/feedback/feedback-inbox.js +2 -2
- package/dist/feedback/feedback-inbox.js.map +1 -1
- package/dist/feedback/feedback-labels.d.ts +8 -3
- package/dist/feedback/feedback-menu.d.ts +9 -4
- package/dist/feedback/feedback-record.d.ts +8 -3
- package/dist/feedback/feedback-row-detail.d.ts +8 -3
- package/dist/feedback/feedback-status-undo.d.ts +8 -3
- package/dist/feedback/feedback-submit.d.ts +8 -3
- package/dist/feedback/feedback-swipe.d.ts +8 -3
- package/dist/feedback/feedback-table.d.ts +8 -3
- package/dist/feedback/feedback-thread.d.ts +8 -3
- package/dist/feedback/feedback-thread.js +3 -3
- package/dist/feedback/feedback-thread.js.map +1 -1
- package/dist/feedback.d.ts +8 -3
- package/dist/hooks/use-anchored-panel.d.ts +32 -3
- package/dist/hooks/use-anchored-panel.js +21 -3
- package/dist/hooks/use-anchored-panel.js.map +1 -1
- package/dist/hooks/use-breakpoint.d.ts +77 -0
- package/dist/hooks/use-breakpoint.js +50 -0
- package/dist/hooks/use-breakpoint.js.map +1 -0
- package/dist/hooks/use-file-drop.d.ts +8 -3
- package/dist/hooks/use-large-text.d.ts +29 -0
- package/dist/hooks/use-large-text.js +20 -0
- package/dist/hooks/use-large-text.js.map +1 -0
- package/dist/hooks/use-windowed-rows.d.ts +52 -8
- package/dist/hooks/use-windowed-rows.js +94 -5
- package/dist/hooks/use-windowed-rows.js.map +1 -1
- package/dist/i18n/defaults.d.ts +8 -3
- package/dist/i18n/defaults.js +8 -0
- package/dist/i18n/defaults.js.map +1 -1
- package/dist/i18n/german.d.ts +8 -3
- package/dist/i18n/german.js +89 -2
- package/dist/i18n/german.js.map +1 -1
- package/dist/i18n/kit-labels.d.ts +8 -3
- package/dist/i18n/kit-labels.js.map +1 -1
- package/dist/i18n/languages.d.ts +10 -5
- package/dist/i18n/locales/de-CH.d.ts +8 -3
- package/dist/i18n/locales/en.d.ts +8 -3
- package/dist/i18n/locales/es.d.ts +8 -3
- package/dist/i18n/locales/es.js +84 -2
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.d.ts +8 -3
- package/dist/i18n/locales/fr.js +86 -2
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hu.d.ts +8 -3
- package/dist/i18n/locales/hu.js +86 -2
- package/dist/i18n/locales/hu.js.map +1 -1
- package/dist/i18n/locales/it.d.ts +8 -3
- package/dist/i18n/locales/it.js +87 -2
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/zh.d.ts +8 -3
- package/dist/i18n/locales/zh.js +84 -2
- package/dist/i18n/locales/zh.js.map +1 -1
- package/dist/i18n/review.d.ts +8 -3
- package/dist/i18n/review.js +15 -1
- package/dist/i18n/review.js.map +1 -1
- package/dist/index.d.ts +27 -11
- package/dist/index.js +75 -4
- package/dist/index.js.map +1 -1
- package/dist/landing/landing-actions.d.ts +8 -3
- package/dist/landing/landing-sections.d.ts +8 -3
- package/dist/landing/public-header.d.ts +9 -4
- package/dist/landing/public-header.js +3 -3
- package/dist/landing/public-header.js.map +1 -1
- package/dist/landing/routing.d.ts +8 -3
- package/dist/lib/cn.js +3 -2
- package/dist/lib/cn.js.map +1 -1
- package/dist/rhf/fields.d.ts +8 -3
- package/dist/rhf/fields.js +1 -1
- package/dist/rhf/fields.js.map +1 -1
- package/dist/rhf/form.d.ts +8 -3
- package/dist/rhf/form.js +2 -2
- package/dist/rhf/form.js.map +1 -1
- package/dist/rhf.d.ts +8 -3
- package/dist/search/command-palette.d.ts +1 -1
- package/dist/search/command-palette.js +9 -8
- package/dist/search/command-palette.js.map +1 -1
- package/dist/settings/settings-layout.js +2 -1
- package/dist/settings/settings-layout.js.map +1 -1
- package/dist/settings/settings-section.d.ts +8 -3
- package/dist/settings/use-account-appearance.d.ts +92 -0
- package/dist/settings/use-account-appearance.js +63 -0
- package/dist/settings/use-account-appearance.js.map +1 -0
- package/dist/settings/use-settings-route.d.ts +1 -1
- package/dist/settings/use-settings-route.js +2 -3
- package/dist/settings/use-settings-route.js.map +1 -1
- package/dist/shell/app-shell.d.ts +12 -171
- package/dist/shell/app-shell.js +144 -28
- package/dist/shell/app-shell.js.map +1 -1
- package/dist/shell/auth-layout.js +1 -1
- package/dist/shell/auth-layout.js.map +1 -1
- package/dist/shell/option-switcher-menu.js +1 -1
- package/dist/shell/option-switcher-menu.js.map +1 -1
- package/dist/shell/top-bar-brand.d.ts +8 -3
- package/dist/shell/top-bar-brand.js +3 -1
- package/dist/shell/top-bar-brand.js.map +1 -1
- package/dist/shell/topbar-action-menu.d.ts +4 -0
- package/dist/shell/topbar-action-menu.js +3 -3
- package/dist/shell/topbar-action-menu.js.map +1 -1
- package/dist/shell/topbar-controls.js +4 -4
- package/dist/shell/topbar-controls.js.map +1 -1
- package/dist/shell.d.ts +9 -5
- package/dist/theme/contrast-tokens.d.ts +41 -0
- package/dist/theme/contrast-tokens.js +59 -0
- package/dist/theme/contrast-tokens.js.map +1 -0
- package/dist/theme/contrast.d.ts +109 -0
- package/dist/theme/contrast.js +128 -0
- package/dist/theme/contrast.js.map +1 -0
- package/dist/theme/palette-presets.d.ts +12 -1
- package/dist/theme/palette-presets.js +9 -4
- package/dist/theme/palette-presets.js.map +1 -1
- package/dist/theme/palette-store.js.map +1 -1
- package/dist/theme/text-size.d.ts +157 -0
- package/dist/theme/text-size.js +121 -0
- package/dist/theme/text-size.js.map +1 -0
- package/dist/wizard/stepper-nav.d.ts +8 -3
- package/dist/wizard.d.ts +8 -3
- package/package.json +1 -1
- package/src/admin/invitations-panel.tsx +36 -29
- package/src/admin/user-roster.tsx +17 -72
- package/src/auth/auth-errors.ts +68 -7
- package/src/billing/billing-banner.tsx +205 -0
- package/src/billing/billing-labels.ts +224 -0
- package/src/billing/billing-lock.ts +75 -0
- package/src/billing/billing-standing.ts +72 -0
- package/src/billing/plan-card.tsx +458 -0
- package/src/billing/plan-limit-notice.tsx +145 -0
- package/src/billing/plan-limit.ts +53 -0
- package/src/billing/plan-price.ts +101 -0
- package/src/billing/subscription-actions.tsx +76 -0
- package/src/billing/subscription-status-chip.tsx +95 -0
- package/src/components/account-chips.tsx +36 -10
- package/src/components/alert-banner.tsx +11 -6
- package/src/components/amount-input.tsx +5 -5
- package/src/components/appearance-labels.ts +40 -0
- package/src/components/autocomplete.tsx +2 -2
- package/src/components/breadcrumbs.tsx +3 -3
- package/src/components/bulk-action-bar.tsx +11 -14
- package/src/components/calculator.tsx +4 -3
- package/src/components/calendar-heatmap.tsx +5 -5
- package/src/components/chart-height.ts +30 -0
- package/src/components/chart-zoom.tsx +6 -1
- package/src/components/checkbox-group.tsx +2 -2
- package/src/components/checkbox.tsx +62 -20
- package/src/components/chip.tsx +105 -24
- package/src/components/choice-card.tsx +15 -10
- package/src/components/column-mapper.tsx +1 -1
- package/src/components/combobox-core.tsx +8 -7
- package/src/components/combobox.tsx +8 -8
- package/src/components/country-select.tsx +1 -1
- package/src/components/currency-select.tsx +3 -3
- package/src/components/data-table-filter-popover.tsx +7 -1
- package/src/components/data-table.tsx +160 -43
- package/src/components/date-picker.tsx +12 -9
- package/src/components/description-list.tsx +2 -2
- package/src/components/dialog-frame.tsx +2 -1
- package/src/components/disclosure.tsx +3 -2
- package/src/components/dropdown.tsx +10 -2
- package/src/components/facing-pair.ts +12 -5
- package/src/components/field-parts.tsx +190 -7
- package/src/components/field-sync.tsx +17 -3
- package/src/components/field.tsx +2 -2
- package/src/components/floating-panel.tsx +7 -4
- package/src/components/focus-ring.ts +12 -0
- package/src/components/form-actions.tsx +55 -18
- package/src/components/full-bleed-dialog.tsx +18 -4
- package/src/components/image-grid.tsx +1 -1
- package/src/components/inline-edit-field.tsx +6 -3
- package/src/components/legal-page.tsx +28 -2
- package/src/components/legal.tsx +19 -1
- package/src/components/lightbox.tsx +24 -2
- package/src/components/line-items.tsx +7 -1
- package/src/components/list.tsx +36 -10
- package/src/components/measured-grid.tsx +49 -24
- package/src/components/menu-item.tsx +2 -2
- package/src/components/mini-calendar.tsx +8 -4
- package/src/components/month-picker.tsx +9 -5
- package/src/components/nav-pills.tsx +1 -1
- package/src/components/number-input.tsx +14 -7
- package/src/components/numpad-sheet.tsx +2 -2
- package/src/components/one-time-code-input.tsx +2 -2
- package/src/components/page-contents.tsx +2 -2
- package/src/components/phone-input.tsx +2 -2
- package/src/components/pie-chart.tsx +19 -9
- package/src/components/popover.tsx +22 -5
- package/src/components/row-actions.tsx +344 -0
- package/src/components/scroll-area.tsx +1 -1
- package/src/components/search-field.tsx +4 -2
- package/src/components/series-chart-budget.ts +40 -8
- package/src/components/series-chart-ticks.ts +10 -0
- package/src/components/series-chart.tsx +123 -72
- package/src/components/settings-fields.tsx +81 -2
- package/src/components/share-card.tsx +10 -0
- package/src/components/sign-chip.tsx +28 -4
- package/src/components/signature-pad.tsx +13 -7
- package/src/components/slider.tsx +22 -9
- package/src/components/sparkline.tsx +11 -3
- package/src/components/stat-tile.tsx +70 -14
- package/src/components/swipeable-row.tsx +2 -1
- package/src/components/switch.tsx +57 -23
- package/src/components/table.tsx +2 -2
- package/src/components/text-link.tsx +1 -1
- package/src/components/text.tsx +11 -6
- package/src/components/tile-radio.tsx +4 -1
- package/src/components/toast.tsx +27 -7
- package/src/components/toggle-group.tsx +99 -12
- package/src/components/toggle-legend.tsx +53 -8
- package/src/components/translation-review.tsx +10 -5
- package/src/components/tree-view.tsx +3 -2
- package/src/components/treemap.tsx +27 -10
- package/src/components/ui.tsx +331 -145
- package/src/components/user-avatar.tsx +1 -1
- package/src/demo/demo-banner.tsx +5 -0
- package/src/feedback/feedback-dialog.tsx +3 -3
- package/src/feedback/feedback-inbox.tsx +2 -2
- package/src/feedback/feedback-thread.tsx +3 -3
- package/src/hooks/use-anchored-panel.ts +67 -5
- package/src/hooks/use-breakpoint.ts +121 -0
- package/src/hooks/use-large-text.ts +41 -0
- package/src/hooks/use-windowed-rows.ts +168 -12
- package/src/i18n/defaults.ts +8 -0
- package/src/i18n/german.ts +103 -0
- package/src/i18n/kit-labels.tsx +12 -0
- package/src/i18n/locales/es.ts +94 -0
- package/src/i18n/locales/fr.ts +98 -0
- package/src/i18n/locales/hu.ts +96 -0
- package/src/i18n/locales/it.ts +99 -0
- package/src/i18n/locales/zh.ts +90 -0
- package/src/i18n/review.ts +14 -0
- package/src/index.ts +74 -6
- package/src/landing/public-header.tsx +4 -4
- package/src/lib/cn.ts +13 -2
- package/src/rhf/fields.tsx +1 -1
- package/src/rhf/form.tsx +2 -2
- package/src/search/command-palette.tsx +10 -9
- package/src/settings/settings-layout.tsx +2 -1
- package/src/settings/use-account-appearance.ts +148 -0
- package/src/settings/use-settings-route.ts +3 -4
- package/src/shell/app-shell.tsx +278 -54
- package/src/shell/auth-layout.tsx +1 -1
- package/src/shell/option-switcher-menu.tsx +1 -1
- package/src/shell/top-bar-brand.tsx +3 -1
- package/src/shell/topbar-action-menu.tsx +3 -3
- package/src/shell/topbar-controls.tsx +4 -4
- package/src/theme/contrast-tokens.ts +112 -0
- package/src/theme/contrast.ts +224 -0
- package/src/theme/palette-presets.ts +24 -4
- package/src/theme/palette-store.ts +6 -1
- package/src/theme/text-size.ts +267 -0
- package/tokens.css +143 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { createElement } from "react";
|
|
4
|
-
import { Fragment as Fragment2, useCallback, useEffect, useId, useMemo, useRef, useState } from "react";
|
|
4
|
+
import { Fragment as Fragment2, isValidElement, useCallback, useEffect, useId, useMemo, useRef, useState } from "react";
|
|
5
5
|
import { createPortal } from "react-dom";
|
|
6
6
|
import {
|
|
7
7
|
ArrowDown,
|
|
@@ -16,7 +16,9 @@ import {
|
|
|
16
16
|
Trash2,
|
|
17
17
|
X
|
|
18
18
|
} from "lucide-react";
|
|
19
|
-
import { Card, IconButton, Select, Spinner } from "./ui.js";
|
|
19
|
+
import { Card, FOCUS_RING, IconButton, Select, Spinner } from "./ui.js";
|
|
20
|
+
import { RowActions } from "./row-actions.js";
|
|
21
|
+
import { useLargeText } from "../hooks/use-large-text.js";
|
|
20
22
|
import { cn } from "../lib/cn.js";
|
|
21
23
|
import {
|
|
22
24
|
defaultFilterState,
|
|
@@ -33,7 +35,7 @@ import { useBodyScrollLock } from "../hooks/use-body-scroll-lock.js";
|
|
|
33
35
|
import { useOverlayHistory } from "../hooks/use-overlay-history.js";
|
|
34
36
|
import { FullBleedDialog } from "./full-bleed-dialog.js";
|
|
35
37
|
import { Popover } from "./popover.js";
|
|
36
|
-
import {
|
|
38
|
+
import { useBreakpoint } from "../hooks/use-breakpoint.js";
|
|
37
39
|
import { useAnnounce } from "../hooks/use-announce.js";
|
|
38
40
|
import { DEFAULT_DATA_TABLE_LABELS, resolveDataTableLabels } from "./data-table-labels.js";
|
|
39
41
|
import { useKitLabelOverrides, useKitLocale } from "../i18n/kit-labels.js";
|
|
@@ -73,6 +75,16 @@ async function runRowAction(action, row) {
|
|
|
73
75
|
if (action.confirm && !await action.confirm(row)) return;
|
|
74
76
|
action.onAction(row);
|
|
75
77
|
}
|
|
78
|
+
function toRowAction(a, row) {
|
|
79
|
+
return {
|
|
80
|
+
key: a.key,
|
|
81
|
+
label: a.label,
|
|
82
|
+
icon: isValidElement(a.icon) ? a.icon : a.icon != null && a.icon !== false ? /* @__PURE__ */ jsx(Fragment, { children: a.icon }) : void 0,
|
|
83
|
+
tone: a.tone,
|
|
84
|
+
disabledReason: a.action.disabledReason?.(row),
|
|
85
|
+
onSelect: () => void runRowAction(a.action, row)
|
|
86
|
+
};
|
|
87
|
+
}
|
|
76
88
|
function physicalSwipe(actions, dir) {
|
|
77
89
|
const rtl = dir === "rtl";
|
|
78
90
|
return {
|
|
@@ -102,6 +114,27 @@ function columnLabel(col, labels) {
|
|
|
102
114
|
if (col.key === ROW_ACTIONS_KEY && labels) return labels.actions;
|
|
103
115
|
return col.headerText ?? (typeof col.header === "string" ? col.header : col.key);
|
|
104
116
|
}
|
|
117
|
+
const CARD_NO_TRUNCATE = "large:[&_.truncate]:whitespace-normal large:[&_.truncate]:[overflow-wrap:anywhere]";
|
|
118
|
+
function StackedFields({ columns, row, compact }) {
|
|
119
|
+
return /* @__PURE__ */ jsx(
|
|
120
|
+
"dl",
|
|
121
|
+
{
|
|
122
|
+
"data-card-fields": "stacked",
|
|
123
|
+
className: cn("relative flex min-w-0 flex-col", compact ? "gap-1.5 text-xs" : "gap-2.5 text-sm", CARD_NO_TRUNCATE),
|
|
124
|
+
children: columns.map((col) => /* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
|
|
125
|
+
/* @__PURE__ */ jsx("dt", { className: "text-xs uppercase tracking-wide text-[var(--text-muted)]", children: col.header }),
|
|
126
|
+
/* @__PURE__ */ jsx(
|
|
127
|
+
"dd",
|
|
128
|
+
{
|
|
129
|
+
...dataAttrsOf(col.cellProps?.(row)),
|
|
130
|
+
className: "mt-0.5 min-w-0 break-words text-[var(--text-secondary)]",
|
|
131
|
+
children: col.cell(row)
|
|
132
|
+
}
|
|
133
|
+
)
|
|
134
|
+
] }, col.key))
|
|
135
|
+
}
|
|
136
|
+
);
|
|
137
|
+
}
|
|
105
138
|
const DEFAULT_DATA_TABLE_SORT_LABELS = {
|
|
106
139
|
sortBy: DEFAULT_DATA_TABLE_LABELS.sortBy,
|
|
107
140
|
sortDefault: DEFAULT_DATA_TABLE_LABELS.sortDefault,
|
|
@@ -129,7 +162,9 @@ function MobileSort({
|
|
|
129
162
|
{
|
|
130
163
|
"data-table-mobile-sort": "",
|
|
131
164
|
className: cn(
|
|
132
|
-
|
|
165
|
+
// At Large the direction button shows its words (IconButton's label, §4); the
|
|
166
|
+
// row wraps so the select keeps a usable width on a 240 px card.
|
|
167
|
+
"flex flex-wrap items-center gap-2 border-b border-[var(--border)]",
|
|
133
168
|
compact ? "px-3 py-1.5" : "px-4 py-2"
|
|
134
169
|
),
|
|
135
170
|
children: [
|
|
@@ -139,7 +174,7 @@ function MobileSort({
|
|
|
139
174
|
{
|
|
140
175
|
id: selectId,
|
|
141
176
|
size: compact ? "sm" : "md",
|
|
142
|
-
className: "min-w-0 flex-1",
|
|
177
|
+
className: "min-w-0 flex-1 large:basis-40",
|
|
143
178
|
value: primary?.key ?? "",
|
|
144
179
|
onChange: (e) => onPick(e.target.value || null),
|
|
145
180
|
children: [
|
|
@@ -245,6 +280,8 @@ function DataTable({
|
|
|
245
280
|
locale: localeProp,
|
|
246
281
|
storageKeyPrefix = DEFAULT_PERSIST_PREFIX,
|
|
247
282
|
mobileExpandAsDialog = false,
|
|
283
|
+
mobileDetailsInRow = false,
|
|
284
|
+
rowName,
|
|
248
285
|
mobileDialogBackCloses = true,
|
|
249
286
|
mobileGroupBy,
|
|
250
287
|
mobileGroupLabel,
|
|
@@ -295,19 +332,21 @@ function DataTable({
|
|
|
295
332
|
{
|
|
296
333
|
key: ROW_ACTIONS_KEY,
|
|
297
334
|
header: /* @__PURE__ */ jsx("span", { className: "sr-only", children: labels.actions }),
|
|
298
|
-
|
|
299
|
-
|
|
335
|
+
// Through RowActions (0.32, §10.8): the icons inline at Normal, one "⋯"
|
|
336
|
+
// menu at Large once there are two — every label at once does not fit a
|
|
337
|
+
// row. Each control stops its own click: the row's handler already skips
|
|
338
|
+
// its controls, and this is for the caller who wraps the table in a
|
|
339
|
+
// clickable element of their own.
|
|
340
|
+
cell: (row) => /* @__PURE__ */ jsx(
|
|
341
|
+
RowActions,
|
|
300
342
|
{
|
|
343
|
+
actions: rowActionsFor(row).map((a) => toRowAction(a, row)),
|
|
344
|
+
name: rowName?.(row),
|
|
301
345
|
size: density === "compact" ? "2xs" : "xs",
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
onClick: () => void runRowAction(a.action, row),
|
|
307
|
-
children: a.icon
|
|
308
|
-
},
|
|
309
|
-
a.key
|
|
310
|
-
)) }),
|
|
346
|
+
labels: { actions: labels.actions },
|
|
347
|
+
className: "justify-end"
|
|
348
|
+
}
|
|
349
|
+
),
|
|
311
350
|
className: "w-px whitespace-nowrap text-end",
|
|
312
351
|
headClassName: "w-px",
|
|
313
352
|
// On a phone the same actions are the card's swipes.
|
|
@@ -315,7 +354,7 @@ function DataTable({
|
|
|
315
354
|
noRowLink: true
|
|
316
355
|
}
|
|
317
356
|
] : columnsProp,
|
|
318
|
-
[columnsProp, rowActions, rowActionsFor, labels.actions, density]
|
|
357
|
+
[columnsProp, rowActions, rowActionsFor, rowName, labels.actions, density]
|
|
319
358
|
);
|
|
320
359
|
const swipesFromActions = (row) => {
|
|
321
360
|
const swipes = rowActionsFor(row).filter((a) => a.swipe && !a.action.disabledReason?.(row));
|
|
@@ -598,12 +637,23 @@ function DataTable({
|
|
|
598
637
|
const footerValue = (col) => col.footer?.(sorted, slice);
|
|
599
638
|
const footerHeadingId = useId();
|
|
600
639
|
const columnsCountLabel = rowActions ? labels.columnsCount(visibleCount - 1, totalCount - 1) : labels.columnsCount(visibleCount, totalCount);
|
|
601
|
-
const isMdUp =
|
|
640
|
+
const isMdUp = useBreakpoint("md", true);
|
|
602
641
|
const desktopScroller = useRef(null);
|
|
603
642
|
const edgeFadeProps = useEdgeFade(desktopScroller, edgeFade && isMdUp);
|
|
604
643
|
const mobileColumns = visibleColumns.filter((c) => !c.mobileHidden);
|
|
605
644
|
const mobilePrimaryCol = mobileColumns.find((c) => c.mobilePrimary) ?? mobileColumns[0] ?? null;
|
|
606
645
|
const mobileSecondaryColumns = mobileColumns.filter((c) => c !== mobilePrimaryCol);
|
|
646
|
+
const mobileDetailColumns = mobileDetailsInRow ? visibleColumns.filter((c) => c.mobileHidden) : [];
|
|
647
|
+
const large = useLargeText();
|
|
648
|
+
const opensRow = !!expandedRow || mobileDetailColumns.length > 0;
|
|
649
|
+
const openedRowContent = (row) => {
|
|
650
|
+
const detail = expandedRow?.(row) ?? null;
|
|
651
|
+
if (mobileDetailColumns.length === 0) return detail;
|
|
652
|
+
return /* @__PURE__ */ jsxs("div", { "data-row-details": "", className: cn("flex flex-col", compact ? "gap-2" : "gap-3"), children: [
|
|
653
|
+
/* @__PURE__ */ jsx(StackedFields, { columns: mobileDetailColumns, row, compact }),
|
|
654
|
+
detail
|
|
655
|
+
] });
|
|
656
|
+
};
|
|
607
657
|
const mobileCardLinkable = mobileColumns.every((c) => !c.noRowLink);
|
|
608
658
|
const [mobileDir, setMobileDir] = useState("ltr");
|
|
609
659
|
const mobileRootRef = (el) => {
|
|
@@ -640,24 +690,25 @@ function DataTable({
|
|
|
640
690
|
return true;
|
|
641
691
|
};
|
|
642
692
|
const mobileDialogRow = mobileExpandAsDialog && !isMdUp ? mobileSlice.find((r) => isExpanded?.(r)) : void 0;
|
|
643
|
-
const mobileDialogContent = mobileDialogRow ?
|
|
693
|
+
const mobileDialogContent = mobileDialogRow ? openedRowContent(mobileDialogRow) : null;
|
|
644
694
|
const dialogOpen = !!(mobileDialogRow && mobileDialogContent);
|
|
645
695
|
const closeDialog = () => {
|
|
646
696
|
if (mobileDialogRow) onRowClick?.(mobileDialogRow);
|
|
647
697
|
};
|
|
648
698
|
const renderMobileRow = (row) => {
|
|
649
699
|
const expanded = isExpanded?.(row) ?? false;
|
|
650
|
-
const expansion = expanded ?
|
|
700
|
+
const expansion = expanded ? openedRowContent(row) : null;
|
|
651
701
|
const tint = rowClassName?.(row);
|
|
652
702
|
const interactive = !!onRowClick;
|
|
653
|
-
const opensDetail = interactive &&
|
|
703
|
+
const opensDetail = interactive && opensRow;
|
|
654
704
|
const swipeActions = swipeActionsFor?.(row);
|
|
655
705
|
const swipe = swipeActions ? physicalSwipe(swipeActions, mobileDir) : null;
|
|
656
706
|
const swipeEnabled = !!swipe && !expanded;
|
|
657
707
|
const href = mobileCardLinkable ? rowHref?.(row) : void 0;
|
|
658
708
|
const cardClass = cn(
|
|
659
709
|
"w-full text-start flex items-center",
|
|
660
|
-
|
|
710
|
+
// §4: more room per row at Large — a taller row is a bigger tap target too.
|
|
711
|
+
compact ? "px-3 py-2 gap-2 text-sm large:py-3" : "px-4 py-3 gap-3 large:py-4",
|
|
661
712
|
// Live #320's other half: the card acknowledges the touch before the sheet
|
|
662
713
|
// arrives. On a cold route the data can take a beat, and an unacknowledged tap
|
|
663
714
|
// reads as "did that register?" — which is most of what "abrupt" means here.
|
|
@@ -672,32 +723,49 @@ function DataTable({
|
|
|
672
723
|
// AppShell main's `overflow-x-clip` — so the frame went missing on one side. A press
|
|
673
724
|
// keeps the fill and the squeeze above; an outline on every tap of a long list would
|
|
674
725
|
// be louder than the acknowledgement it replaces.
|
|
675
|
-
interactive && "[-webkit-tap-highlight-color:transparent] focus-visible:
|
|
726
|
+
interactive && cn("[-webkit-tap-highlight-color:transparent] focus-visible:ring-inset", FOCUS_RING)
|
|
676
727
|
);
|
|
677
728
|
const cardInner = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
678
|
-
/* @__PURE__ */ jsx(
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
729
|
+
/* @__PURE__ */ jsx(
|
|
730
|
+
"div",
|
|
731
|
+
{
|
|
732
|
+
className: cn(
|
|
733
|
+
"flex min-w-0 flex-1 flex-col",
|
|
734
|
+
compact ? "gap-1 large:gap-2" : "gap-2 large:gap-3",
|
|
735
|
+
// §4 "nothing truncates": at Large a cell's own `truncate` wraps instead —
|
|
736
|
+
// the reader who chose bigger type is the one an ellipsis fails. A caller's
|
|
737
|
+
// `mobileCard` is its own layout and keeps what it chose.
|
|
738
|
+
!mobileCard && CARD_NO_TRUNCATE
|
|
739
|
+
),
|
|
740
|
+
children: mobileCard ? mobileCard(row) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
741
|
+
mobilePrimaryCol && /* @__PURE__ */ jsx("div", { ...dataAttrsOf(mobilePrimaryCol.cellProps?.(row)), className: "min-w-0 break-words font-medium", children: mobilePrimaryCol.cell(row) }),
|
|
742
|
+
mobileSecondaryColumns.length > 0 && large ? (
|
|
743
|
+
// §4: each label ABOVE its value at Large. Side by side, a label column
|
|
744
|
+
// sized to the widest label leaves a value a sliver of a 240 px card.
|
|
745
|
+
/* @__PURE__ */ jsx(StackedFields, { columns: mobileSecondaryColumns, row, compact })
|
|
746
|
+
) : mobileSecondaryColumns.length > 0 && /* @__PURE__ */ jsx(
|
|
747
|
+
"dl",
|
|
748
|
+
{
|
|
749
|
+
className: cn(
|
|
750
|
+
"grid grid-cols-[auto_1fr] gap-x-3",
|
|
751
|
+
compact ? "gap-y-0.5 text-xs" : "gap-y-1 text-sm"
|
|
752
|
+
),
|
|
753
|
+
children: mobileSecondaryColumns.map((col) => /* @__PURE__ */ jsxs(Fragment2, { children: [
|
|
754
|
+
/* @__PURE__ */ jsx("dt", { className: "text-xs uppercase tracking-wide text-[var(--text-muted)] self-center", children: col.header }),
|
|
755
|
+
/* @__PURE__ */ jsx(
|
|
756
|
+
"dd",
|
|
757
|
+
{
|
|
758
|
+
...dataAttrsOf(col.cellProps?.(row)),
|
|
759
|
+
className: "min-w-0 text-[var(--text-secondary)] self-center",
|
|
760
|
+
children: col.cell(row)
|
|
761
|
+
}
|
|
762
|
+
)
|
|
763
|
+
] }, col.key))
|
|
764
|
+
}
|
|
765
|
+
)
|
|
766
|
+
] })
|
|
767
|
+
}
|
|
768
|
+
),
|
|
701
769
|
opensDetail && // `aria-hidden`: the row already announces itself as a button with
|
|
702
770
|
// `aria-expanded`, so the icon would only add a second, wordless stop.
|
|
703
771
|
(mobileExpandAsDialog ? (
|
|
@@ -729,7 +797,7 @@ function DataTable({
|
|
|
729
797
|
{
|
|
730
798
|
href,
|
|
731
799
|
onActivate: () => onRowClick(row),
|
|
732
|
-
"aria-expanded":
|
|
800
|
+
"aria-expanded": opensRow ? expanded : void 0,
|
|
733
801
|
className: cardClass,
|
|
734
802
|
onKeyDown: (e) => {
|
|
735
803
|
if (e.key !== " ") return;
|
|
@@ -759,7 +827,7 @@ function DataTable({
|
|
|
759
827
|
onRowClick(row);
|
|
760
828
|
}
|
|
761
829
|
} : void 0,
|
|
762
|
-
"aria-expanded":
|
|
830
|
+
"aria-expanded": opensRow ? expanded : void 0,
|
|
763
831
|
className: cardClass,
|
|
764
832
|
children: cardInner
|
|
765
833
|
}
|
|
@@ -1049,14 +1117,14 @@ function DataTable({
|
|
|
1049
1117
|
children: [
|
|
1050
1118
|
/* @__PURE__ */ jsx("span", { children: col.header }),
|
|
1051
1119
|
sortable && /* @__PURE__ */ jsx(Icon, { className: cn("size-3", active ? "opacity-100" : "opacity-40") }),
|
|
1052
|
-
active && sorts.length > 1 && /* @__PURE__ */ jsx("span", { className: "text-
|
|
1120
|
+
active && sorts.length > 1 && /* @__PURE__ */ jsx("span", { className: "text-micro font-semibold leading-none text-brand", children: sortIdx + 1 })
|
|
1053
1121
|
]
|
|
1054
1122
|
}
|
|
1055
1123
|
) }),
|
|
1056
1124
|
filter && /* @__PURE__ */ jsx(
|
|
1057
1125
|
Popover,
|
|
1058
1126
|
{
|
|
1059
|
-
width: filter.type === "date" ?
|
|
1127
|
+
width: filter.type === "date" ? "26.25rem" : void 0,
|
|
1060
1128
|
labels: { panel: labels.filter },
|
|
1061
1129
|
trigger: ({ toggle, ref }) => /* @__PURE__ */ jsx(
|
|
1062
1130
|
"button",
|
|
@@ -1152,7 +1220,10 @@ function DataTable({
|
|
|
1152
1220
|
className: cn(
|
|
1153
1221
|
"border-t border-[var(--border)]",
|
|
1154
1222
|
rowInteractive && "cursor-pointer hover:bg-[var(--bg-hover)]",
|
|
1155
|
-
|
|
1223
|
+
// The kit's focus frame width (§5, `--focus-ring-width`), drawn as an
|
|
1224
|
+
// OUTLINE rather than FOCUS_RING's box-shadow: a shadow on a `<tr>`
|
|
1225
|
+
// is not painted by every engine, an outline is.
|
|
1226
|
+
rowsFocusable && "focus-visible:bg-[var(--bg-hover)] focus-visible:outline-[length:var(--focus-ring-width)] focus-visible:-outline-offset-2 focus-visible:outline-[var(--brand)]",
|
|
1156
1227
|
rowClassName?.(row)
|
|
1157
1228
|
),
|
|
1158
1229
|
onClick: rowInteractive ? (e) => {
|
|
@@ -1471,7 +1542,7 @@ function MobileFilters({
|
|
|
1471
1542
|
children: [
|
|
1472
1543
|
/* @__PURE__ */ jsx(Filter, { className: "size-4" }),
|
|
1473
1544
|
/* @__PURE__ */ jsx("span", { children: labels.filters }),
|
|
1474
|
-
activeCount > 0 && /* @__PURE__ */ jsx("span", { className: "inline-flex min-w-4 items-center justify-center rounded-full bg-[var(--info-bg)] px-1 text-
|
|
1545
|
+
activeCount > 0 && /* @__PURE__ */ jsx("span", { className: "inline-flex min-w-4 items-center justify-center rounded-full bg-[var(--info-bg)] px-1 text-caption font-semibold text-[var(--info)]", children: activeCount })
|
|
1475
1546
|
]
|
|
1476
1547
|
}
|
|
1477
1548
|
),
|