@eifi1/ui-kit 0.51.6 → 0.52.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 +146 -26
- package/dist/account/account-parts.d.ts +10 -8
- package/dist/account/account-parts.js +1 -18
- package/dist/account/account-parts.js.map +1 -1
- package/dist/account/data-export-setting-labels.js +1 -1
- package/dist/account/data-export-setting-labels.js.map +1 -1
- package/dist/account/delete-account-setting-labels.js +1 -1
- package/dist/account/delete-account-setting-labels.js.map +1 -1
- package/dist/account/email-change-setting-labels.js +1 -1
- package/dist/account/email-change-setting-labels.js.map +1 -1
- package/dist/account/passkeys-setting.d.ts +9 -2
- package/dist/account/passkeys-setting.js +41 -29
- package/dist/account/passkeys-setting.js.map +1 -1
- package/dist/account/sessions-setting.d.ts +3 -2
- package/dist/account/sessions-setting.js +10 -8
- package/dist/account/sessions-setting.js.map +1 -1
- package/dist/admin/admin-action-confirm.js +3 -7
- package/dist/admin/admin-action-confirm.js.map +1 -1
- package/dist/admin/admin-parts.d.ts +6 -3
- package/dist/admin/admin-parts.js +6 -21
- package/dist/admin/admin-parts.js.map +1 -1
- package/dist/admin/mail-test-card-labels.js +1 -1
- package/dist/admin/mail-test-card-labels.js.map +1 -1
- package/dist/admin/plan-change-labels.d.ts +2 -2
- package/dist/admin/plan-change-labels.js +1 -17
- package/dist/admin/plan-change-labels.js.map +1 -1
- package/dist/admin/plan-change.d.ts +3 -42
- package/dist/admin/plan-change.js +1 -1
- package/dist/admin/plan-change.js.map +1 -1
- package/dist/admin/reviewer-scope-editor.js +3 -3
- package/dist/admin/reviewer-scope-editor.js.map +1 -1
- package/dist/auth/auth-errors-labels.d.ts +11 -0
- package/dist/auth/auth-errors-labels.js +13 -0
- package/dist/auth/auth-errors-labels.js.map +1 -0
- package/dist/auth/auth-errors.d.ts +7 -23
- package/dist/auth/auth-errors.js +2 -15
- package/dist/auth/auth-errors.js.map +1 -1
- package/dist/auth/complete-name-dialog.d.ts +3 -2
- package/dist/auth/complete-name-dialog.js +3 -5
- package/dist/auth/complete-name-dialog.js.map +1 -1
- package/dist/auth/forgot-password-form-labels.js +1 -1
- package/dist/auth/forgot-password-form-labels.js.map +1 -1
- package/dist/auth/forgot-password-form.js +7 -2
- package/dist/auth/forgot-password-form.js.map +1 -1
- package/dist/auth/register-form-labels.js +1 -1
- package/dist/auth/register-form-labels.js.map +1 -1
- package/dist/auth/reset-password-form-labels.js +1 -1
- package/dist/auth/reset-password-form-labels.js.map +1 -1
- package/dist/auth/reset-password-form.js +5 -1
- package/dist/auth/reset-password-form.js.map +1 -1
- package/dist/auth/sign-in-form-labels.js +1 -1
- package/dist/auth/sign-in-form-labels.js.map +1 -1
- package/dist/auth/status-parts.d.ts +0 -3
- package/dist/auth/status-parts.js +0 -4
- package/dist/auth/status-parts.js.map +1 -1
- package/dist/auth/verify-email-labels.js +1 -1
- package/dist/auth/verify-email-labels.js.map +1 -1
- package/dist/auth/verify-email.js +7 -2
- package/dist/auth/verify-email.js.map +1 -1
- package/dist/billing/cancel-request.d.ts +11 -2
- package/dist/billing/cancel-request.js +15 -3
- package/dist/billing/cancel-request.js.map +1 -1
- package/dist/billing/cancel-subscription.d.ts +22 -10
- package/dist/billing/cancel-subscription.js +8 -11
- package/dist/billing/cancel-subscription.js.map +1 -1
- package/dist/billing/dialog-close.d.ts +29 -0
- package/dist/billing/dialog-close.js +8 -0
- package/dist/billing/dialog-close.js.map +1 -0
- package/dist/billing/plan-card.d.ts +14 -4
- package/dist/billing/plan-card.js +15 -8
- package/dist/billing/plan-card.js.map +1 -1
- package/dist/billing/plan-change-labels.d.ts +42 -0
- package/dist/billing/plan-change-labels.js +22 -0
- package/dist/billing/plan-change-labels.js.map +1 -0
- package/dist/billing/plan-switch.d.ts +21 -9
- package/dist/billing/plan-switch.js +10 -8
- package/dist/billing/plan-switch.js.map +1 -1
- package/dist/chart.d.ts +12 -0
- package/dist/chart.js +16 -1
- package/dist/chart.js.map +1 -1
- package/dist/components/account-chips.d.ts +5 -5
- package/dist/components/account-chips.js +11 -13
- package/dist/components/account-chips.js.map +1 -1
- package/dist/components/alert-banner.d.ts +16 -5
- package/dist/components/alert-banner.js +46 -1
- package/dist/components/alert-banner.js.map +1 -1
- package/dist/components/amount-input.d.ts +22 -4
- package/dist/components/amount-input.js +3 -3
- package/dist/components/amount-input.js.map +1 -1
- package/dist/components/autocomplete.js +57 -65
- package/dist/components/autocomplete.js.map +1 -1
- package/dist/components/bulk-action-bar.d.ts +12 -2
- package/dist/components/bulk-action-bar.js +65 -21
- package/dist/components/bulk-action-bar.js.map +1 -1
- package/dist/components/button-look.d.ts +5 -5
- package/dist/components/button-look.js.map +1 -1
- package/dist/components/button.d.ts +2 -2
- package/dist/components/button.js.map +1 -1
- package/dist/components/calculator.d.ts +21 -2
- package/dist/components/calculator.js +53 -14
- package/dist/components/calculator.js.map +1 -1
- package/dist/components/chart-edge.d.ts +16 -0
- package/dist/components/chart-edge.js +14 -1
- package/dist/components/chart-edge.js.map +1 -1
- package/dist/components/chart-figure.d.ts +13 -0
- package/dist/components/chart-figure.js +15 -0
- package/dist/components/chart-figure.js.map +1 -0
- package/dist/components/chart-zoom-core.js +1 -4
- package/dist/components/chart-zoom-core.js.map +1 -1
- package/dist/components/chart.d.ts +8 -1
- package/dist/components/chart.js +19 -10
- package/dist/components/chart.js.map +1 -1
- package/dist/components/combobox-core.d.ts +119 -7
- package/dist/components/combobox-core.js +151 -46
- package/dist/components/combobox-core.js.map +1 -1
- package/dist/components/combobox.d.ts +1 -1
- package/dist/components/combobox.js +142 -131
- package/dist/components/combobox.js.map +1 -1
- package/dist/components/copy-button.d.ts +6 -5
- package/dist/components/copy-button.js +5 -3
- package/dist/components/copy-button.js.map +1 -1
- package/dist/components/country-select.js +2 -2
- package/dist/components/country-select.js.map +1 -1
- package/dist/components/data-table-column-settings.d.ts +1 -1
- package/dist/components/data-table-column-settings.js +33 -7
- package/dist/components/data-table-column-settings.js.map +1 -1
- package/dist/components/data-table-filters.d.ts +4 -2
- package/dist/components/data-table-filters.js +2 -2
- package/dist/components/data-table-filters.js.map +1 -1
- package/dist/components/data-table-fit.d.ts +6 -4
- package/dist/components/data-table-fit.js +4 -1
- package/dist/components/data-table-fit.js.map +1 -1
- package/dist/components/data-table-groups.d.ts +1 -1
- package/dist/components/data-table-groups.js.map +1 -1
- package/dist/components/data-table-head.d.ts +1 -1
- package/dist/components/data-table-head.js +15 -12
- package/dist/components/data-table-head.js.map +1 -1
- package/dist/components/data-table-mobile.d.ts +36 -7
- package/dist/components/data-table-mobile.js +63 -31
- package/dist/components/data-table-mobile.js.map +1 -1
- package/dist/components/data-table-pagination.js +11 -6
- package/dist/components/data-table-pagination.js.map +1 -1
- package/dist/components/data-table-resize.d.ts +1 -1
- package/dist/components/data-table-resize.js.map +1 -1
- package/dist/components/data-table-row-actions.d.ts +2 -2
- package/dist/components/data-table-row-actions.js.map +1 -1
- package/dist/components/data-table-row.d.ts +6 -2
- package/dist/components/data-table-row.js +17 -10
- package/dist/components/data-table-row.js.map +1 -1
- package/dist/components/data-table-selection.d.ts +1 -1
- package/dist/components/data-table-selection.js.map +1 -1
- package/dist/components/data-table-shared.d.ts +10 -2
- package/dist/components/data-table-shared.js +18 -0
- package/dist/components/data-table-shared.js.map +1 -1
- package/dist/components/data-table-sort.d.ts +21 -2
- package/dist/components/data-table-sort.js +24 -0
- package/dist/components/data-table-sort.js.map +1 -1
- package/dist/components/data-table-virtual.d.ts +1 -1
- package/dist/components/data-table-virtual.js +18 -6
- package/dist/components/data-table-virtual.js.map +1 -1
- package/dist/components/data-table.d.ts +25 -8
- package/dist/components/data-table.js +154 -25
- package/dist/components/data-table.js.map +1 -1
- package/dist/components/date-field.d.ts +24 -2
- package/dist/components/date-field.js +33 -8
- package/dist/components/date-field.js.map +1 -1
- package/dist/components/date-picker.d.ts +15 -2
- package/dist/components/date-picker.js +55 -26
- package/dist/components/date-picker.js.map +1 -1
- package/dist/components/date-range-picker.d.ts +47 -20
- package/dist/components/date-range-picker.js +23 -7
- package/dist/components/date-range-picker.js.map +1 -1
- package/dist/components/dialog-frame.d.ts +2 -1
- package/dist/components/dialog-frame.js.map +1 -1
- package/dist/components/entity-combobox.js +4 -2
- package/dist/components/entity-combobox.js.map +1 -1
- package/dist/components/error-boundary.js +37 -30
- package/dist/components/error-boundary.js.map +1 -1
- package/dist/components/{ui-labels.d.ts → field-base-labels.d.ts} +0 -2
- package/dist/components/{ui-labels.js → field-base-labels.js} +2 -9
- package/dist/components/field-base-labels.js.map +1 -0
- package/dist/components/field-base.d.ts +4 -3
- package/dist/components/field-base.js +3 -3
- package/dist/components/field-base.js.map +1 -1
- package/dist/components/field-sync-labels.d.ts +1 -0
- package/dist/components/field-sync-labels.js.map +1 -1
- package/dist/components/field-sync.d.ts +23 -1
- package/dist/components/field-sync.js.map +1 -1
- package/dist/components/form-actions.js +11 -5
- package/dist/components/form-actions.js.map +1 -1
- package/dist/components/hover-menu.d.ts +3 -0
- package/dist/components/hover-menu.js +5 -3
- package/dist/components/hover-menu.js.map +1 -1
- package/dist/components/icon-button.js +14 -9
- package/dist/components/icon-button.js.map +1 -1
- package/dist/components/inline-confirm.d.ts +43 -0
- package/dist/components/inline-confirm.js +67 -0
- package/dist/components/inline-confirm.js.map +1 -0
- package/dist/components/inline-entity-combobox.d.ts +4 -3
- package/dist/components/inline-entity-combobox.js +150 -141
- package/dist/components/inline-entity-combobox.js.map +1 -1
- package/dist/components/input.js +1 -1
- package/dist/components/input.js.map +1 -1
- package/dist/components/jump-calendar.js +28 -112
- package/dist/components/jump-calendar.js.map +1 -1
- package/dist/components/legal-page.d.ts +3 -1
- package/dist/components/legal-page.js +3 -2
- package/dist/components/legal-page.js.map +1 -1
- package/dist/components/legal.d.ts +4 -2
- package/dist/components/legal.js.map +1 -1
- package/dist/components/lightbox.d.ts +2 -2
- package/dist/components/lightbox.js +17 -6
- package/dist/components/lightbox.js.map +1 -1
- package/dist/components/list.d.ts +6 -2
- package/dist/components/list.js +4 -3
- package/dist/components/list.js.map +1 -1
- package/dist/components/measured-grid.d.ts +1 -1
- package/dist/components/measured-grid.js +2 -1
- package/dist/components/measured-grid.js.map +1 -1
- package/dist/components/mini-calendar.js +3 -5
- package/dist/components/mini-calendar.js.map +1 -1
- package/dist/components/modal.d.ts +24 -0
- package/dist/components/modal.js +12 -4
- package/dist/components/modal.js.map +1 -1
- package/dist/components/money-draft.js +7 -5
- package/dist/components/money-draft.js.map +1 -1
- package/dist/components/money-field.d.ts +2 -2
- package/dist/components/money-field.js.map +1 -1
- package/dist/components/month-grid.d.ts +55 -0
- package/dist/components/month-grid.js +148 -0
- package/dist/components/month-grid.js.map +1 -0
- package/dist/components/month-picker.d.ts +36 -4
- package/dist/components/month-picker.js +123 -146
- package/dist/components/month-picker.js.map +1 -1
- package/dist/components/multi-entity-combobox.js +2 -1
- package/dist/components/multi-entity-combobox.js.map +1 -1
- package/dist/components/multi-select.d.ts +2 -2
- package/dist/components/multi-select.js +11 -6
- package/dist/components/multi-select.js.map +1 -1
- package/dist/components/number-field.d.ts +6 -4
- package/dist/components/number-field.js +3 -2
- package/dist/components/number-field.js.map +1 -1
- package/dist/components/number-input.d.ts +4 -1
- package/dist/components/number-input.js +3 -2
- package/dist/components/number-input.js.map +1 -1
- package/dist/components/numpad-sheet.js.map +1 -1
- package/dist/components/picker-sheet.js +2 -1
- package/dist/components/picker-sheet.js.map +1 -1
- package/dist/components/pie-chart-labels.d.ts +7 -0
- package/dist/components/pie-chart-labels.js +1 -0
- package/dist/components/pie-chart-labels.js.map +1 -1
- package/dist/components/pie-chart.d.ts +5 -3
- package/dist/components/pie-chart.js +7 -22
- package/dist/components/pie-chart.js.map +1 -1
- package/dist/components/popover.d.ts +3 -0
- package/dist/components/popover.js +7 -1
- package/dist/components/popover.js.map +1 -1
- package/dist/components/reauth-dialog.d.ts +4 -5
- package/dist/components/reauth-dialog.js +1 -4
- package/dist/components/reauth-dialog.js.map +1 -1
- package/dist/components/row-actions.js +2 -1
- package/dist/components/row-actions.js.map +1 -1
- package/dist/components/section-nav.d.ts +7 -0
- package/dist/components/section-nav.js.map +1 -1
- package/dist/components/series-chart-axes.d.ts +10 -3
- package/dist/components/series-chart-axes.js +1 -0
- package/dist/components/series-chart-axes.js.map +1 -1
- package/dist/components/series-chart-labels.d.ts +7 -4
- package/dist/components/series-chart-labels.js.map +1 -1
- package/dist/components/series-chart.d.ts +31 -7
- package/dist/components/series-chart.js +72 -29
- package/dist/components/series-chart.js.map +1 -1
- package/dist/components/share-card.js +3 -3
- package/dist/components/share-card.js.map +1 -1
- package/dist/components/sign-chip-labels.d.ts +1 -0
- package/dist/components/sign-chip-labels.js.map +1 -1
- package/dist/components/sign-chip.d.ts +10 -1
- package/dist/components/sign-chip.js.map +1 -1
- package/dist/components/tabs-labels.d.ts +2 -0
- package/dist/components/tabs-labels.js +11 -0
- package/dist/components/tabs-labels.js.map +1 -0
- package/dist/components/tabs.d.ts +1 -1
- package/dist/components/tabs.js +13 -11
- package/dist/components/tabs.js.map +1 -1
- package/dist/components/toggle-legend.d.ts +2 -2
- package/dist/components/toggle-legend.js +6 -6
- package/dist/components/toggle-legend.js.map +1 -1
- package/dist/components/translation-review-editor.d.ts +4 -2
- package/dist/components/translation-review-editor.js +2 -3
- package/dist/components/translation-review-editor.js.map +1 -1
- package/dist/components/translation-review.d.ts +2 -1
- package/dist/components/translation-review.js +2 -2
- package/dist/components/translation-review.js.map +1 -1
- package/dist/components/treemap-labels.d.ts +26 -0
- package/dist/components/treemap-labels.js +10 -0
- package/dist/components/treemap-labels.js.map +1 -0
- package/dist/components/treemap-layout.d.ts +62 -0
- package/dist/components/treemap-layout.js +126 -0
- package/dist/components/treemap-layout.js.map +1 -0
- package/dist/components/treemap.d.ts +140 -17
- package/dist/components/treemap.js +324 -97
- package/dist/components/treemap.js.map +1 -1
- package/dist/components/use-table-state.d.ts +5 -5
- package/dist/components/use-table-state.js +4 -1
- package/dist/components/use-table-state.js.map +1 -1
- package/dist/data-table.d.ts +6 -2
- package/dist/data-table.js +7 -2
- package/dist/data-table.js.map +1 -1
- package/dist/eslint/index.js +1 -1
- package/dist/eslint/role-utilities.d.ts +36 -7
- package/dist/eslint/role-utilities.js +42 -9
- package/dist/eslint/role-utilities.js.map +1 -1
- package/dist/feedback/feedback-dialog.d.ts +25 -16
- package/dist/feedback/feedback-dialog.js +6 -2
- package/dist/feedback/feedback-dialog.js.map +1 -1
- package/dist/feedback/feedback-mutation.d.ts +30 -0
- package/dist/feedback/feedback-mutation.js +16 -0
- package/dist/feedback/feedback-mutation.js.map +1 -0
- package/dist/feedback/feedback-page-link.d.ts +53 -0
- package/dist/feedback/feedback-page-link.js +37 -0
- package/dist/feedback/feedback-page-link.js.map +1 -0
- package/dist/feedback/feedback-public-list.d.ts +12 -3
- package/dist/feedback/feedback-public-list.js +2 -1
- package/dist/feedback/feedback-public-list.js.map +1 -1
- package/dist/feedback/feedback-replies.d.ts +3 -1
- package/dist/feedback/feedback-replies.js +5 -4
- package/dist/feedback/feedback-replies.js.map +1 -1
- package/dist/feedback/feedback-row-detail-labels.js +5 -0
- package/dist/feedback/feedback-row-detail-labels.js.map +1 -1
- package/dist/feedback/feedback-row-detail.d.ts +64 -28
- package/dist/feedback/feedback-row-detail.js +30 -28
- package/dist/feedback/feedback-row-detail.js.map +1 -1
- package/dist/feedback/feedback-status-undo.d.ts +30 -11
- package/dist/feedback/feedback-status-undo.js +10 -15
- package/dist/feedback/feedback-status-undo.js.map +1 -1
- package/dist/feedback/feedback-submit-dialog.d.ts +1 -1
- package/dist/feedback/feedback-submit-dialog.js +1 -1
- package/dist/feedback/feedback-submit-dialog.js.map +1 -1
- package/dist/feedback/feedback-submit.js +9 -3
- package/dist/feedback/feedback-submit.js.map +1 -1
- package/dist/feedback/feedback-swipe.d.ts +1 -1
- package/dist/feedback/feedback-swipe.js.map +1 -1
- package/dist/feedback/feedback-table.d.ts +21 -9
- package/dist/feedback/feedback-table.js +45 -25
- package/dist/feedback/feedback-table.js.map +1 -1
- package/dist/feedback/feedback-thread-labels.d.ts +2 -2
- package/dist/feedback/feedback-thread-labels.js.map +1 -1
- package/dist/feedback/feedback-thread.d.ts +24 -23
- package/dist/feedback/feedback-thread.js +2 -1
- package/dist/feedback/feedback-thread.js.map +1 -1
- package/dist/feedback.d.ts +34 -0
- package/dist/feedback.js +42 -0
- package/dist/feedback.js.map +1 -1
- package/dist/hooks/use-dismiss.js.map +1 -1
- package/dist/hooks/use-focus-trap.d.ts +35 -0
- package/dist/hooks/use-focus-trap.js +6 -4
- package/dist/hooks/use-focus-trap.js.map +1 -1
- package/dist/hooks/use-hotkey.d.ts +5 -2
- package/dist/hooks/use-hotkey.js +5 -4
- package/dist/hooks/use-hotkey.js.map +1 -1
- package/dist/hooks/use-long-press.d.ts +7 -4
- package/dist/hooks/use-long-press.js +3 -0
- package/dist/hooks/use-long-press.js.map +1 -1
- package/dist/hooks/use-media-query.js +12 -4
- package/dist/hooks/use-media-query.js.map +1 -1
- package/dist/hooks/use-mounted.d.ts +22 -0
- package/dist/hooks/use-mounted.js +24 -0
- package/dist/hooks/use-mounted.js.map +1 -0
- package/dist/hooks/use-overlay-history.d.ts +7 -1
- package/dist/hooks/use-overlay-history.js +35 -5
- package/dist/hooks/use-overlay-history.js.map +1 -1
- package/dist/i18n/defaults.js +4 -5
- package/dist/i18n/defaults.js.map +1 -1
- package/dist/i18n/german.js +7 -1
- package/dist/i18n/german.js.map +1 -1
- package/dist/i18n/kit-labels.d.ts +9 -2
- package/dist/i18n/kit-labels.js.map +1 -1
- package/dist/i18n/locales/en.js +20 -41
- package/dist/i18n/locales/en.js.map +3 -3
- package/dist/i18n/locales/es.js +7 -1
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.js +20 -10
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hu.js +9 -1
- package/dist/i18n/locales/hu.js.map +1 -1
- package/dist/i18n/locales/it.js +7 -1
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/zh.js +8 -1
- package/dist/i18n/locales/zh.js.map +1 -1
- package/dist/i18n/review.js +5 -0
- package/dist/i18n/review.js.map +1 -1
- package/dist/index.d.ts +64 -17
- package/dist/index.js +77 -12
- package/dist/index.js.map +1 -1
- package/dist/landing/routing.d.ts +3 -1
- package/dist/landing/routing.js +4 -7
- package/dist/landing/routing.js.map +1 -1
- package/dist/lib/broadcast.d.ts +17 -0
- package/dist/lib/broadcast.js +30 -0
- package/dist/lib/broadcast.js.map +1 -0
- package/dist/lib/calc.d.ts +7 -1
- package/dist/lib/calc.js +3 -1
- package/dist/lib/calc.js.map +1 -1
- package/dist/lib/clipboard-minus.d.ts +2 -2
- package/dist/lib/clipboard-minus.js +1 -1
- package/dist/lib/clipboard-minus.js.map +1 -1
- package/dist/lib/date-format.d.ts +37 -2
- package/dist/lib/date-format.js +34 -8
- package/dist/lib/date-format.js.map +1 -1
- package/dist/lib/day-format.d.ts +46 -0
- package/dist/lib/day-format.js +46 -0
- package/dist/lib/day-format.js.map +1 -0
- package/dist/lib/decimal-marks.d.ts +7 -1
- package/dist/lib/decimal-marks.js +5 -2
- package/dist/lib/decimal-marks.js.map +1 -1
- package/dist/lib/describe-failure.d.ts +14 -0
- package/dist/lib/describe-failure.js +9 -0
- package/dist/lib/describe-failure.js.map +1 -0
- package/dist/lib/direction.d.ts +16 -0
- package/dist/lib/direction.js +9 -1
- package/dist/lib/direction.js.map +1 -1
- package/dist/lib/focus-left.d.ts +63 -0
- package/dist/lib/focus-left.js +67 -0
- package/dist/lib/focus-left.js.map +1 -0
- package/dist/lib/format.d.ts +5 -3
- package/dist/lib/format.js +16 -13
- package/dist/lib/format.js.map +1 -1
- package/dist/lib/http-status.d.ts +24 -0
- package/dist/lib/http-status.js +14 -0
- package/dist/lib/http-status.js.map +1 -0
- package/dist/lib/intl-cache.d.ts +14 -0
- package/dist/lib/intl-cache.js +15 -0
- package/dist/lib/intl-cache.js.map +1 -0
- package/dist/lib/isin.d.ts +10 -0
- package/dist/lib/isin.js.map +1 -1
- package/dist/lib/iso-day.d.ts +11 -0
- package/dist/lib/iso-day.js +8 -0
- package/dist/lib/iso-day.js.map +1 -0
- package/dist/lib/lazy-with-fallback.d.ts +31 -0
- package/dist/lib/lazy-with-fallback.js +40 -0
- package/dist/lib/lazy-with-fallback.js.map +1 -0
- package/dist/lib/path-pattern.d.ts +34 -0
- package/dist/lib/path-pattern.js +24 -0
- package/dist/lib/path-pattern.js.map +1 -0
- package/dist/lib/reduced-motion.d.ts +2 -1
- package/dist/lib/reduced-motion.js.map +1 -1
- package/dist/lib/round.d.ts +2 -1
- package/dist/lib/round.js +2 -1
- package/dist/lib/round.js.map +1 -1
- package/dist/lib/safe-storage.d.ts +24 -5
- package/dist/lib/safe-storage.js +27 -2
- package/dist/lib/safe-storage.js.map +1 -1
- package/dist/lib/session-refresh.js +1 -1
- package/dist/lib/session-refresh.js.map +1 -1
- package/dist/lib/share-format.d.ts +13 -0
- package/dist/lib/share-format.js +10 -0
- package/dist/lib/share-format.js.map +1 -0
- package/dist/lib/text-case.d.ts +17 -0
- package/dist/lib/text-case.js +8 -0
- package/dist/lib/text-case.js.map +1 -0
- package/dist/lib/text-match.d.ts +38 -0
- package/dist/lib/text-match.js +24 -2
- package/dist/lib/text-match.js.map +1 -1
- package/dist/lib/thenable.d.ts +13 -0
- package/dist/lib/thenable.js +8 -0
- package/dist/lib/thenable.js.map +1 -0
- package/dist/lib/translation-review.d.ts +7 -2
- package/dist/lib/translation-review.js +4 -4
- package/dist/lib/translation-review.js.map +1 -1
- package/dist/notifications/device-zone-report.js +1 -1
- package/dist/notifications/device-zone-report.js.map +1 -1
- package/dist/notifications/notification-bell.d.ts +2 -1
- package/dist/notifications/notification-bell.js +3 -3
- package/dist/notifications/notification-bell.js.map +1 -1
- package/dist/notifications/notification-inbox.d.ts +10 -6
- package/dist/notifications/notification-inbox.js +26 -48
- package/dist/notifications/notification-inbox.js.map +1 -1
- package/dist/notifications/notification-parts.d.ts +3 -2
- package/dist/notifications/notification-parts.js +1 -3
- package/dist/notifications/notification-parts.js.map +1 -1
- package/dist/notifications/notification-types-setting.js +1 -1
- package/dist/notifications/notification-types-setting.js.map +1 -1
- package/dist/notifications/notifications-labels.d.ts +6 -0
- package/dist/notifications/notifications-labels.js +1 -0
- package/dist/notifications/notifications-labels.js.map +1 -1
- package/dist/notifications/push-device-setting.js +1 -1
- package/dist/notifications/push-device-setting.js.map +1 -1
- package/dist/notifications/push-devices-setting.d.ts +2 -1
- package/dist/notifications/push-devices-setting.js +27 -49
- package/dist/notifications/push-devices-setting.js.map +1 -1
- package/dist/notifications/quiet-hours-setting.d.ts +10 -3
- package/dist/notifications/quiet-hours-setting.js +65 -26
- package/dist/notifications/quiet-hours-setting.js.map +1 -1
- package/dist/notifications/unsubscribe-panel.js +4 -7
- package/dist/notifications/unsubscribe-panel.js.map +1 -1
- package/dist/notifications/use-push-device.d.ts +39 -1
- package/dist/notifications/use-push-device.js +28 -7
- package/dist/notifications/use-push-device.js.map +1 -1
- package/dist/offline/query-persistence.d.ts +3 -1
- package/dist/offline/query-persistence.js +19 -2
- package/dist/offline/query-persistence.js.map +1 -1
- package/dist/rhf/fields.d.ts +11 -4
- package/dist/rhf/fields.js.map +1 -1
- package/dist/search/command-palette.js +1 -1
- package/dist/search/command-palette.js.map +1 -1
- package/dist/search/global-search.js +19 -9
- package/dist/search/global-search.js.map +1 -1
- package/dist/search/use-command-key.d.ts +12 -1
- package/dist/search/use-command-key.js +3 -12
- package/dist/search/use-command-key.js.map +1 -1
- package/dist/search.d.ts +7 -0
- package/dist/search.js +10 -0
- package/dist/search.js.map +1 -1
- package/dist/settings/use-settings-focus.js +1 -0
- package/dist/settings/use-settings-focus.js.map +1 -1
- package/dist/shell/account-menu-language.d.ts +21 -5
- package/dist/shell/account-menu-language.js +3 -1
- package/dist/shell/account-menu-language.js.map +1 -1
- package/dist/shell/account-menu-text-size.d.ts +26 -9
- package/dist/shell/account-menu-text-size.js +3 -2
- package/dist/shell/account-menu-text-size.js.map +1 -1
- package/dist/shell/dev-menu.js +5 -18
- package/dist/shell/dev-menu.js.map +1 -1
- package/dist/shell/role-switcher.d.ts +7 -0
- package/dist/shell/role-switcher.js.map +1 -1
- package/dist/shell/top-bar-actions.d.ts +1 -1
- package/dist/shell/top-bar-actions.js.map +1 -1
- package/dist/shell/top-bar-parts-labels.d.ts +0 -2
- package/dist/shell/top-bar-parts-labels.js +0 -1
- package/dist/shell/top-bar-parts-labels.js.map +1 -1
- package/dist/shell.d.ts +27 -8
- package/dist/shell.js +28 -7
- package/dist/shell.js.map +1 -1
- package/dist/sync/engine.d.ts +30 -4
- package/dist/sync/engine.js +172 -52
- package/dist/sync/engine.js.map +1 -1
- package/dist/sync.d.ts +6 -2
- package/dist/sync.js +6 -1
- package/dist/sync.js.map +1 -1
- package/dist/testing/css-variables.js +3 -8
- package/dist/testing/css-variables.js.map +1 -1
- package/dist/theme/contrast.d.ts +2 -1
- package/dist/theme/contrast.js +3 -8
- package/dist/theme/contrast.js.map +1 -1
- package/dist/theme/palette-store.js +6 -6
- package/dist/theme/palette-store.js.map +1 -1
- package/dist/theme/text-size.js +3 -8
- package/dist/theme/text-size.js.map +1 -1
- package/dist/theme/theme-store.js +3 -6
- package/dist/theme/theme-store.js.map +1 -1
- package/dist/tour/tour-catalogue.d.ts +7 -4
- package/dist/tour/tour-catalogue.js +12 -10
- package/dist/tour/tour-catalogue.js.map +1 -1
- package/dist/tour/tour-dock.d.ts +0 -2
- package/dist/tour/tour-dock.js +0 -2
- package/dist/tour/tour-dock.js.map +1 -1
- package/dist/tour/tour-gates.d.ts +4 -0
- package/dist/tour/tour-gates.js +14 -0
- package/dist/tour/tour-gates.js.map +1 -1
- package/dist/tour/tour-overlay.d.ts +27 -0
- package/dist/tour/tour-overlay.js +741 -0
- package/dist/tour/tour-overlay.js.map +1 -0
- package/dist/tour/tour.d.ts +16 -4
- package/dist/tour/tour.js +62 -778
- package/dist/tour/tour.js.map +1 -1
- package/dist/tour/use-tour-progress.js +1 -1
- package/dist/tour/use-tour-progress.js.map +1 -1
- package/dist/tour/use-tour-url-sync.js +2 -2
- package/dist/tour/use-tour-url-sync.js.map +1 -1
- package/dist/wizard/stepper-nav.d.ts +5 -1
- package/dist/wizard/stepper-nav.js.map +1 -1
- package/dist/wizard/types.d.ts +6 -2
- package/dist/wizard/types.js.map +1 -1
- package/dist/wizard/use-wizard.d.ts +3 -1
- package/dist/wizard/use-wizard.js.map +1 -1
- package/dist/wizard/validation.d.ts +3 -1
- package/dist/wizard/validation.js.map +1 -1
- package/package.json +12 -8
- package/src/account/account-parts.ts +5 -25
- package/src/account/data-export-setting-labels.ts +1 -1
- package/src/account/delete-account-setting-labels.ts +1 -1
- package/src/account/email-change-setting-labels.ts +1 -1
- package/src/account/passkeys-setting.tsx +60 -38
- package/src/account/sessions-setting.tsx +18 -12
- package/src/admin/admin-action-confirm.tsx +5 -10
- package/src/admin/admin-parts.ts +11 -25
- package/src/admin/mail-test-card-labels.ts +1 -1
- package/src/admin/plan-change-labels.ts +5 -23
- package/src/admin/plan-change.tsx +7 -44
- package/src/admin/reviewer-scope-editor.tsx +3 -3
- package/src/auth/auth-errors-labels.ts +23 -0
- package/src/auth/auth-errors.ts +11 -38
- package/src/auth/complete-name-dialog.tsx +9 -8
- package/src/auth/forgot-password-form-labels.ts +1 -1
- package/src/auth/forgot-password-form.tsx +11 -6
- package/src/auth/register-form-labels.ts +1 -1
- package/src/auth/reset-password-form-labels.ts +1 -1
- package/src/auth/reset-password-form.tsx +8 -4
- package/src/auth/sign-in-form-labels.ts +1 -1
- package/src/auth/status-parts.tsx +0 -6
- package/src/auth/verify-email-labels.ts +1 -1
- package/src/auth/verify-email.tsx +11 -6
- package/src/billing/cancel-request.ts +28 -6
- package/src/billing/cancel-subscription.tsx +29 -22
- package/src/billing/dialog-close.ts +34 -0
- package/src/billing/plan-card.tsx +36 -11
- package/src/billing/plan-change-labels.ts +66 -0
- package/src/billing/plan-switch.tsx +31 -20
- package/src/chart.ts +21 -3
- package/src/components/account-chips.tsx +20 -23
- package/src/components/alert-banner.tsx +82 -5
- package/src/components/amount-input.tsx +32 -14
- package/src/components/autocomplete.tsx +64 -70
- package/src/components/bulk-action-bar.tsx +70 -2
- package/src/components/button-look.ts +5 -5
- package/src/components/button.tsx +2 -2
- package/src/components/calculator.tsx +98 -17
- package/src/components/chart-edge.ts +34 -1
- package/src/components/chart-figure.tsx +35 -0
- package/src/components/chart-zoom-core.tsx +6 -5
- package/src/components/chart.tsx +26 -5
- package/src/components/combobox-core.tsx +303 -69
- package/src/components/combobox.tsx +184 -155
- package/src/components/copy-button.tsx +34 -23
- package/src/components/country-select.tsx +16 -11
- package/src/components/data-table-column-settings.tsx +52 -10
- package/src/components/data-table-filters.ts +6 -4
- package/src/components/data-table-fit.ts +19 -5
- package/src/components/data-table-groups.tsx +1 -1
- package/src/components/data-table-head.tsx +32 -22
- package/src/components/data-table-mobile.tsx +110 -27
- package/src/components/data-table-pagination.tsx +21 -6
- package/src/components/data-table-resize.ts +1 -1
- package/src/components/data-table-row-actions.tsx +3 -3
- package/src/components/data-table-row.tsx +25 -14
- package/src/components/data-table-selection.ts +1 -1
- package/src/components/data-table-shared.tsx +33 -1
- package/src/components/data-table-sort.ts +57 -2
- package/src/components/data-table-virtual.ts +32 -8
- package/src/components/data-table.tsx +267 -41
- package/src/components/date-field.tsx +65 -8
- package/src/components/date-picker.tsx +125 -48
- package/src/components/date-range-picker.tsx +82 -31
- package/src/components/dialog-frame.tsx +2 -1
- package/src/components/entity-combobox.tsx +4 -1
- package/src/components/error-boundary.tsx +53 -39
- package/src/components/field-base-labels.ts +20 -0
- package/src/components/field-base.tsx +13 -7
- package/src/components/field-sync-labels.ts +1 -0
- package/src/components/field-sync.tsx +23 -1
- package/src/components/form-actions.tsx +20 -5
- package/src/components/hover-menu.tsx +18 -8
- package/src/components/icon-button.tsx +14 -9
- package/src/components/inline-confirm.tsx +116 -0
- package/src/components/inline-entity-combobox.tsx +198 -152
- package/src/components/input.tsx +1 -1
- package/src/components/jump-calendar.tsx +30 -146
- package/src/components/legal-page.tsx +10 -7
- package/src/components/legal.tsx +4 -2
- package/src/components/lightbox.tsx +21 -8
- package/src/components/list.tsx +14 -5
- package/src/components/measured-grid.tsx +8 -4
- package/src/components/mini-calendar.tsx +6 -5
- package/src/components/modal.tsx +45 -4
- package/src/components/money-draft.ts +16 -5
- package/src/components/money-field.tsx +2 -2
- package/src/components/month-grid.tsx +229 -0
- package/src/components/month-picker.tsx +192 -200
- package/src/components/multi-entity-combobox.tsx +1 -0
- package/src/components/multi-select.tsx +21 -9
- package/src/components/number-field.tsx +14 -7
- package/src/components/number-input.tsx +9 -3
- package/src/components/numpad-sheet.tsx +4 -3
- package/src/components/picker-sheet.tsx +12 -9
- package/src/components/pie-chart-labels.ts +8 -0
- package/src/components/pie-chart.tsx +22 -28
- package/src/components/popover.tsx +18 -1
- package/src/components/reauth-dialog.tsx +6 -10
- package/src/components/row-actions.tsx +2 -1
- package/src/components/section-nav.tsx +7 -0
- package/src/components/series-chart-axes.ts +11 -3
- package/src/components/series-chart-labels.ts +7 -4
- package/src/components/series-chart.tsx +178 -69
- package/src/components/share-card.tsx +6 -6
- package/src/components/sign-chip-labels.ts +1 -0
- package/src/components/sign-chip.tsx +10 -1
- package/src/components/tabs-labels.ts +13 -0
- package/src/components/tabs.tsx +35 -19
- package/src/components/toggle-legend.tsx +16 -11
- package/src/components/translation-review-editor.tsx +6 -5
- package/src/components/translation-review.tsx +4 -3
- package/src/components/treemap-labels.ts +39 -0
- package/src/components/treemap-layout.ts +210 -0
- package/src/components/treemap.tsx +722 -133
- package/src/components/use-table-state.ts +12 -9
- package/src/data-table.ts +9 -2
- package/src/eslint/role-utilities.ts +97 -19
- package/src/feedback/feedback-dialog.tsx +30 -19
- package/src/feedback/feedback-mutation.ts +41 -0
- package/src/feedback/feedback-page-link.ts +90 -0
- package/src/feedback/feedback-public-list.tsx +17 -5
- package/src/feedback/feedback-replies.tsx +13 -6
- package/src/feedback/feedback-row-detail-labels.ts +5 -0
- package/src/feedback/feedback-row-detail.tsx +103 -67
- package/src/feedback/feedback-status-undo.ts +41 -27
- package/src/feedback/feedback-submit-dialog.tsx +2 -2
- package/src/feedback/feedback-submit.tsx +21 -7
- package/src/feedback/feedback-swipe.tsx +1 -1
- package/src/feedback/feedback-table.tsx +86 -38
- package/src/feedback/feedback-thread-labels.ts +2 -2
- package/src/feedback/feedback-thread.tsx +27 -25
- package/src/feedback.ts +42 -0
- package/src/hooks/use-dismiss.ts +3 -2
- package/src/hooks/use-focus-trap.ts +8 -24
- package/src/hooks/use-hotkey.ts +24 -7
- package/src/hooks/use-long-press.ts +16 -2
- package/src/hooks/use-media-query.ts +20 -4
- package/src/hooks/use-mounted.ts +39 -0
- package/src/hooks/use-overlay-history.ts +70 -5
- package/src/i18n/defaults.ts +4 -5
- package/src/i18n/german.ts +8 -2
- package/src/i18n/kit-labels.tsx +9 -2
- package/src/i18n/locales/es.ts +8 -2
- package/src/i18n/locales/fr.ts +21 -13
- package/src/i18n/locales/hu.ts +10 -2
- package/src/i18n/locales/it.ts +8 -2
- package/src/i18n/locales/zh.ts +9 -2
- package/src/i18n/review.ts +5 -0
- package/src/index.ts +103 -13
- package/src/landing/routing.tsx +14 -10
- package/src/lib/broadcast.ts +52 -0
- package/src/lib/calc.ts +13 -2
- package/src/lib/clipboard-minus.ts +14 -4
- package/src/lib/date-format.ts +89 -13
- package/src/lib/day-format.ts +96 -0
- package/src/lib/decimal-marks.ts +12 -3
- package/src/lib/describe-failure.ts +18 -0
- package/src/lib/direction.ts +39 -0
- package/src/lib/focus-left.ts +156 -0
- package/src/lib/format.ts +34 -19
- package/src/lib/http-status.ts +38 -0
- package/src/lib/intl-cache.ts +25 -0
- package/src/lib/isin.ts +10 -0
- package/src/lib/iso-day.ts +13 -0
- package/src/lib/lazy-with-fallback.ts +82 -0
- package/src/lib/path-pattern.ts +55 -0
- package/src/lib/reduced-motion.ts +2 -1
- package/src/lib/round.ts +7 -2
- package/src/lib/safe-storage.ts +48 -6
- package/src/lib/session-refresh.ts +1 -1
- package/src/lib/share-format.ts +18 -0
- package/src/lib/text-case.ts +19 -0
- package/src/lib/text-match.ts +69 -2
- package/src/lib/thenable.ts +19 -0
- package/src/lib/translation-review.ts +13 -5
- package/src/notifications/device-zone-report.ts +1 -1
- package/src/notifications/notification-bell.tsx +7 -4
- package/src/notifications/notification-inbox.tsx +40 -58
- package/src/notifications/notification-parts.tsx +3 -4
- package/src/notifications/notification-types-setting.tsx +1 -1
- package/src/notifications/notifications-labels.ts +7 -0
- package/src/notifications/push-device-setting.tsx +1 -1
- package/src/notifications/push-devices-setting.tsx +30 -55
- package/src/notifications/quiet-hours-setting.tsx +93 -31
- package/src/notifications/unsubscribe-panel.tsx +4 -7
- package/src/notifications/use-push-device.ts +76 -10
- package/src/offline/query-persistence.ts +35 -3
- package/src/rhf/fields.tsx +11 -4
- package/src/search/command-palette.tsx +2 -4
- package/src/search/global-search.tsx +36 -15
- package/src/search/use-command-key.ts +13 -12
- package/src/search.ts +9 -0
- package/src/settings/use-settings-focus.ts +3 -0
- package/src/shell/account-menu-language.tsx +27 -5
- package/src/shell/account-menu-text-size.tsx +32 -10
- package/src/shell/dev-menu.tsx +7 -21
- package/src/shell/role-switcher.tsx +7 -0
- package/src/shell/top-bar-actions.tsx +1 -1
- package/src/shell/top-bar-parts-labels.ts +0 -3
- package/src/shell.ts +40 -9
- package/src/sync/engine.ts +339 -61
- package/src/sync.ts +8 -1
- package/src/testing/css-variables.ts +8 -9
- package/src/theme/contrast.ts +8 -9
- package/src/theme/palette-store.ts +9 -9
- package/src/theme/text-size.ts +6 -8
- package/src/theme/theme-store.ts +7 -9
- package/src/tour/tour-catalogue.tsx +26 -15
- package/src/tour/tour-dock.ts +0 -2
- package/src/tour/tour-gates.ts +23 -0
- package/src/tour/tour-overlay.tsx +1170 -0
- package/src/tour/tour.tsx +116 -1193
- package/src/tour/use-tour-progress.ts +1 -1
- package/src/tour/use-tour-url-sync.ts +7 -3
- package/src/wizard/stepper-nav.tsx +3 -1
- package/src/wizard/types.ts +11 -2
- package/src/wizard/use-wizard.ts +2 -1
- package/src/wizard/validation.ts +8 -2
- package/tokens.css +2 -1
- package/dist/components/ui-labels.js.map +0 -1
- package/dist/shell/dev-switchers.d.ts +0 -6
- package/dist/shell/dev-switchers.js +0 -12
- package/dist/shell/dev-switchers.js.map +0 -1
- package/src/components/ui-labels.ts +0 -24
- package/src/shell/dev-switchers.tsx +0 -18
|
@@ -9,6 +9,7 @@ import { useRangeSelection } from "./data-table-selection.js";
|
|
|
9
9
|
import { columnLabel, logicalAlign, resolveDataTableLabels } from "./data-table-shared.js";
|
|
10
10
|
import {
|
|
11
11
|
MobileFilters,
|
|
12
|
+
MobileLeadingRow,
|
|
12
13
|
MobileSelectBar,
|
|
13
14
|
MobileSort,
|
|
14
15
|
StackedFields,
|
|
@@ -35,7 +36,8 @@ import { ColumnSettingsPanel } from "./data-table-column-settings.js";
|
|
|
35
36
|
import { useLargeText } from "../hooks/use-large-text.js";
|
|
36
37
|
import { cn } from "../lib/cn.js";
|
|
37
38
|
import { isFilterActive, resolveFilter, rowMatches } from "./data-table-filters.js";
|
|
38
|
-
import {
|
|
39
|
+
import { matchesSearch, searchWords } from "../lib/text-match.js";
|
|
40
|
+
import { compareSortValues, nextSorts } from "./data-table-sort.js";
|
|
39
41
|
import { Pagination } from "./data-table-pagination.js";
|
|
40
42
|
import { FullBleedDialog } from "./full-bleed-dialog.js";
|
|
41
43
|
import { usePhoneLayout } from "../hooks/use-breakpoint.js";
|
|
@@ -48,7 +50,20 @@ import {
|
|
|
48
50
|
} from "../i18n/kit-labels.js";
|
|
49
51
|
import { useEdgeFade } from "../lib/strip-fade.js";
|
|
50
52
|
import { dirOf } from "../lib/direction.js";
|
|
53
|
+
import { focusContainer, focusFirst, focusIsLost, tabStops, whenFocusLeftForNothing } from "../lib/focus-left.js";
|
|
51
54
|
const FOOTER_CELL = "sticky bottom-0 z-10 bg-surface-2 shadow-[inset_0_2px_0_var(--border-strong)]";
|
|
55
|
+
const OVERLAY_SELECTOR = '[data-kit-layer],[role="dialog"],[role="alertdialog"],[aria-modal="true"],[role="menu"]';
|
|
56
|
+
function keyIndex(rows, rowKey) {
|
|
57
|
+
let at = null;
|
|
58
|
+
return (key) => {
|
|
59
|
+
if (!at) {
|
|
60
|
+
at = /* @__PURE__ */ new Map();
|
|
61
|
+
for (let i = rows.length - 1; i >= 0; i--) at.set(rowKey(rows[i]), i);
|
|
62
|
+
}
|
|
63
|
+
return at.get(key) ?? -1;
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
const FILTER_ANNOUNCE_DELAY_MS = 500;
|
|
52
67
|
const DEFAULT_DATA_TABLE_SORT_LABELS = {
|
|
53
68
|
sortBy: DEFAULT_DATA_TABLE_LABELS.sortBy,
|
|
54
69
|
sortDefault: DEFAULT_DATA_TABLE_LABELS.sortDefault,
|
|
@@ -64,6 +79,14 @@ const NO_VIRTUAL_OPTIONS = {};
|
|
|
64
79
|
import { DEFAULT_PERSIST_PREFIX, useTableState } from "./use-table-state.js";
|
|
65
80
|
import { useMobileReveal } from "./use-mobile-reveal.js";
|
|
66
81
|
import { GROW_CELL_CLASS, GROW_PEER_CELL_CLASS, useColumnFit } from "./data-table-fit.js";
|
|
82
|
+
function rowMatcher(col, state, locale) {
|
|
83
|
+
const filter = resolveFilter(col);
|
|
84
|
+
if (filter?.type === "text" && state.type === "text" && state.q.trim()) {
|
|
85
|
+
const words = searchWords(state.q, locale);
|
|
86
|
+
return (row) => matchesSearch(words, [filter.getValue(row)], locale);
|
|
87
|
+
}
|
|
88
|
+
return (row) => rowMatches(col, row, state, locale);
|
|
89
|
+
}
|
|
67
90
|
function DataTable({
|
|
68
91
|
rows,
|
|
69
92
|
columns: columnsProp,
|
|
@@ -175,13 +198,13 @@ function DataTable({
|
|
|
175
198
|
// Ignored in `serverPagination` mode, where the owner's is the page size.
|
|
176
199
|
pageSizeProp: isServer ? void 0 : pageSizeProp
|
|
177
200
|
});
|
|
201
|
+
const growKey = columns.find((c) => c.grow)?.key;
|
|
178
202
|
const widths = useMemo(() => {
|
|
179
203
|
if (!resizable) return {};
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
const { [grow]: _ignored, ...rest } = storedWidths;
|
|
204
|
+
if (!growKey || !(growKey in storedWidths)) return storedWidths;
|
|
205
|
+
const { [growKey]: _ignored, ...rest } = storedWidths;
|
|
183
206
|
return rest;
|
|
184
|
-
}, [resizable, storedWidths,
|
|
207
|
+
}, [resizable, storedWidths, growKey]);
|
|
185
208
|
const hiddenCols = useMemo(
|
|
186
209
|
() => columnSettings ? storedHiddenCols : /* @__PURE__ */ new Set(),
|
|
187
210
|
[columnSettings, storedHiddenCols]
|
|
@@ -206,17 +229,17 @@ function DataTable({
|
|
|
206
229
|
const v = f.getValue(row);
|
|
207
230
|
if (v && !seen.has(v)) seen.add(v);
|
|
208
231
|
}
|
|
209
|
-
map[col.key] = Array.from(seen).sort().map((v) => ({ value: v, label: v }));
|
|
232
|
+
map[col.key] = Array.from(seen).sort((a, b) => compareSortValues(a, b, locale)).map((v) => ({ value: v, label: v }));
|
|
210
233
|
}
|
|
211
234
|
return map;
|
|
212
|
-
}, [columnSig, selectOptionsSig, rows]);
|
|
235
|
+
}, [columnSig, selectOptionsSig, rows, locale]);
|
|
213
236
|
const filtered = useMemo(() => {
|
|
214
237
|
if (serverRows) return rows;
|
|
215
238
|
let result = rows;
|
|
216
239
|
for (const col of columns) {
|
|
217
240
|
const state = filters[col.key];
|
|
218
241
|
if (!state || !isFilterActive(state)) continue;
|
|
219
|
-
result = result.filter((
|
|
242
|
+
result = result.filter(rowMatcher(col, state, locale));
|
|
220
243
|
}
|
|
221
244
|
return result;
|
|
222
245
|
}, [rows, columnSig, filters, serverRows, locale]);
|
|
@@ -235,20 +258,24 @@ function DataTable({
|
|
|
235
258
|
if (av == null && bv == null) continue;
|
|
236
259
|
if (av == null) return 1;
|
|
237
260
|
if (bv == null) return -1;
|
|
238
|
-
|
|
239
|
-
if (
|
|
261
|
+
const order = compareSortValues(av, bv, locale);
|
|
262
|
+
if (order !== 0) return dir === "asc" ? order : -order;
|
|
240
263
|
}
|
|
241
264
|
return 0;
|
|
242
265
|
});
|
|
243
266
|
return copy;
|
|
244
|
-
}, [filtered, sorts, columnSig, serverRows]);
|
|
267
|
+
}, [filtered, sorts, columnSig, serverRows, locale]);
|
|
245
268
|
const unpaged = !isServer && (!paginated || !!loadMore || serverRows);
|
|
246
269
|
const effectivePageSize = isServer ? serverPagination.pageSize : unpaged || pageSize === Infinity ? sorted.length || 1 : pageSize;
|
|
247
270
|
const paginationTotal = isServer ? serverPagination.total : sorted.length;
|
|
248
271
|
const paginationPageSize = isServer ? serverPagination.pageSize : pageSize;
|
|
249
272
|
const totalPages = isServer ? Math.max(1, Math.ceil(serverPagination.total / Math.max(1, serverPagination.pageSize))) : Math.max(1, Math.ceil(sorted.length / effectivePageSize));
|
|
250
273
|
const safePage = isServer ? Math.min(Math.max(0, serverPagination.page), totalPages - 1) : Math.min(page, totalPages - 1);
|
|
251
|
-
const
|
|
274
|
+
const wholeList = isServer || unpaged || pageSize === Infinity;
|
|
275
|
+
const slice = useMemo(
|
|
276
|
+
() => wholeList ? sorted : sorted.slice(safePage * effectivePageSize, safePage * effectivePageSize + effectivePageSize),
|
|
277
|
+
[wholeList, sorted, safePage, effectivePageSize]
|
|
278
|
+
);
|
|
252
279
|
const toggleSort = (key, shiftKey) => {
|
|
253
280
|
const col = columns.find((c) => c.key === key);
|
|
254
281
|
const next = nextSorts(sorts, key, multiSort && shiftKey, {
|
|
@@ -307,12 +334,22 @@ function DataTable({
|
|
|
307
334
|
};
|
|
308
335
|
const filterKey = useMemo(() => JSON.stringify(filters), [filters]);
|
|
309
336
|
const announcedFilterKey = useRef(filterKey);
|
|
337
|
+
const filterSpeech = useRef({ shown: filtered.length, total: rows.length, labels });
|
|
338
|
+
useLayoutEffect(() => {
|
|
339
|
+
filterSpeech.current = { shown: filtered.length, total: rows.length, labels };
|
|
340
|
+
});
|
|
341
|
+
const filterTimer = useRef(void 0);
|
|
342
|
+
useEffect(() => () => clearTimeout(filterTimer.current), []);
|
|
310
343
|
useEffect(() => {
|
|
311
344
|
if (announcedFilterKey.current === filterKey) return;
|
|
312
345
|
announcedFilterKey.current = filterKey;
|
|
313
346
|
if (serverRows) return;
|
|
314
|
-
|
|
315
|
-
|
|
347
|
+
clearTimeout(filterTimer.current);
|
|
348
|
+
filterTimer.current = setTimeout(() => {
|
|
349
|
+
const { shown, total, labels: words } = filterSpeech.current;
|
|
350
|
+
announce(words.filterResults(shown, total));
|
|
351
|
+
}, FILTER_ANNOUNCE_DELAY_MS);
|
|
352
|
+
}, [filterKey, serverRows, announce]);
|
|
316
353
|
const goToPage = (p) => {
|
|
317
354
|
if (isServer) serverPagination.onPageChange(p);
|
|
318
355
|
else setPage(p);
|
|
@@ -325,8 +362,11 @@ function DataTable({
|
|
|
325
362
|
headRefs,
|
|
326
363
|
scroller: () => desktopScroller.current,
|
|
327
364
|
enabled: !usePhoneLayout(),
|
|
328
|
-
// Measured only when one of these changed (0.48.2): not on a ticked box.
|
|
329
|
-
|
|
365
|
+
// Measured only when one of these changed (0.48.2): not on a ticked box. The columns
|
|
366
|
+
// by their keys (DSP-19): an inline `columns={…}` is a new array every render. The
|
|
367
|
+
// locale (0.52 code review, data-table.tsx): the cells' dates, numbers and the kit's
|
|
368
|
+
// words follow it under the same rows and keys; the fit adds the headers' drawn text.
|
|
369
|
+
content: [slice, columnSig, hiddenCols, widths, density, large, locale]
|
|
330
370
|
});
|
|
331
371
|
const visibleColumns = useMemo(
|
|
332
372
|
() => columns.filter((c) => !hiddenCols.has(c.key) && !autoHidden.has(c.key)),
|
|
@@ -421,7 +461,9 @@ function DataTable({
|
|
|
421
461
|
if (el.parentElement) ro.observe(el.parentElement);
|
|
422
462
|
return () => ro.disconnect();
|
|
423
463
|
}, [phoneFill]);
|
|
464
|
+
const [phoneLeadHeight, setPhoneLeadHeight] = useState(0);
|
|
424
465
|
const { mobileSlice, canRevealMoreMobile, loadMoreRef } = useMobileReveal({
|
|
466
|
+
// Read only there; its `T[]` widens to `readonly T[]` with its owner (API-7).
|
|
425
467
|
rows: sorted,
|
|
426
468
|
slice,
|
|
427
469
|
isServer,
|
|
@@ -444,10 +486,36 @@ function DataTable({
|
|
|
444
486
|
});
|
|
445
487
|
const rowsFocusable = !!onRowClick;
|
|
446
488
|
const [focusRowKey, setFocusRowKey] = useState(null);
|
|
447
|
-
const
|
|
489
|
+
const sliceIndex = useMemo(() => keyIndex(slice, rowKey), [slice]);
|
|
490
|
+
const mobileIndex = useMemo(() => keyIndex(mobileSlice, rowKey), [mobileSlice]);
|
|
491
|
+
const tabRowKey = focusRowKey !== null && sliceIndex(focusRowKey) !== -1 ? focusRowKey : slice.length ? rowKey(slice[0]) : null;
|
|
448
492
|
const virtualOn = !!virtualize && isMdUp && slice.length > 0;
|
|
449
493
|
const focusRowRef = useRef(void 0);
|
|
494
|
+
const heldRow = useRef(null);
|
|
495
|
+
const noteRowFocus = (key) => {
|
|
496
|
+
heldRow.current = { key, index: (isMdUp ? sliceIndex : mobileIndex)(key) };
|
|
497
|
+
};
|
|
498
|
+
const overlayWatch = useRef(null);
|
|
499
|
+
const settleRef = useRef(() => {
|
|
500
|
+
});
|
|
501
|
+
const watchOverlay = (layer) => {
|
|
502
|
+
if (overlayWatch.current?.layer === layer) return;
|
|
503
|
+
overlayWatch.current?.stop();
|
|
504
|
+
const observer = new MutationObserver(() => {
|
|
505
|
+
if (layer.isConnected) return;
|
|
506
|
+
stop();
|
|
507
|
+
settleRef.current();
|
|
508
|
+
});
|
|
509
|
+
const stop = () => {
|
|
510
|
+
observer.disconnect();
|
|
511
|
+
if (overlayWatch.current?.layer === layer) overlayWatch.current = null;
|
|
512
|
+
};
|
|
513
|
+
observer.observe(layer.ownerDocument.body, { childList: true, subtree: true });
|
|
514
|
+
overlayWatch.current = { layer, stop };
|
|
515
|
+
};
|
|
516
|
+
useEffect(() => () => overlayWatch.current?.stop(), []);
|
|
450
517
|
const latestRowCtx = {
|
|
518
|
+
noteFocus: noteRowFocus,
|
|
451
519
|
moveFocus: virtualOn ? (from, key) => {
|
|
452
520
|
const target = rowNavTarget(from, key, slice.length);
|
|
453
521
|
if (target === null) return false;
|
|
@@ -479,7 +547,7 @@ function DataTable({
|
|
|
479
547
|
const closeDialog = () => {
|
|
480
548
|
if (mobileDialogRow) onRowClick?.(mobileDialogRow);
|
|
481
549
|
};
|
|
482
|
-
const renderMobileRow = (row) => {
|
|
550
|
+
const renderMobileRow = (row, index) => {
|
|
483
551
|
const key = rowKey(row);
|
|
484
552
|
const expanded = isExpanded?.(row) ?? false;
|
|
485
553
|
return /* @__PURE__ */ jsx(
|
|
@@ -487,6 +555,7 @@ function DataTable({
|
|
|
487
555
|
{
|
|
488
556
|
ctx: rowCtx,
|
|
489
557
|
rowKey: key,
|
|
558
|
+
rowIndex: index,
|
|
490
559
|
row,
|
|
491
560
|
expanded,
|
|
492
561
|
expansion: expanded ? openedRowContent(row) : null,
|
|
@@ -572,13 +641,47 @@ function DataTable({
|
|
|
572
641
|
useLayoutEffect(() => {
|
|
573
642
|
focusRowRef.current = focusRowAt;
|
|
574
643
|
}, [focusRowAt]);
|
|
644
|
+
const settleFocus = () => {
|
|
645
|
+
const held = heldRow.current;
|
|
646
|
+
if (!held) return;
|
|
647
|
+
const now = (isMdUp ? sliceIndex : mobileIndex)(held.key);
|
|
648
|
+
if (now !== -1) {
|
|
649
|
+
held.index = now;
|
|
650
|
+
return;
|
|
651
|
+
}
|
|
652
|
+
const list = isMdUp ? tableRef.current : phoneListRef.current;
|
|
653
|
+
const layer = focusIsLost() ? null : document.activeElement?.closest(OVERLAY_SELECTOR);
|
|
654
|
+
if (layer && !(list && layer.contains(list))) {
|
|
655
|
+
watchOverlay(layer);
|
|
656
|
+
return;
|
|
657
|
+
}
|
|
658
|
+
heldRow.current = null;
|
|
659
|
+
overlayWatch.current?.stop();
|
|
660
|
+
if (!list || !focusIsLost()) return;
|
|
661
|
+
const shown = isMdUp ? slice : mobileSlice;
|
|
662
|
+
const at = shown.length === 0 ? -1 : Math.min(Math.max(held.index, 0), shown.length - 1);
|
|
663
|
+
if (at === -1) list.focus();
|
|
664
|
+
else if (isMdUp && virtualOn && rowsFocusable) focusRowRef.current?.(at);
|
|
665
|
+
else {
|
|
666
|
+
const row = list.querySelector(
|
|
667
|
+
isMdUp ? `:scope > tbody > tr[data-row-index="${at}"]` : `:scope > li[data-row-index="${at}"]`
|
|
668
|
+
);
|
|
669
|
+
const stops = !row ? [] : isMdUp && rowsFocusable ? [row] : tabStops(row, { includeSelf: false });
|
|
670
|
+
if (!focusFirst(stops)) focusContainer(list);
|
|
671
|
+
}
|
|
672
|
+
announce(labels.filterResults(paginationTotal, isServer ? paginationTotal : rows.length));
|
|
673
|
+
};
|
|
674
|
+
useLayoutEffect(() => {
|
|
675
|
+
settleRef.current = settleFocus;
|
|
676
|
+
settleFocus();
|
|
677
|
+
});
|
|
575
678
|
const mobileLevel = typeof mobileGroupBy === "function" ? null : mobileGroupBy ?? null;
|
|
576
679
|
const mobileKey = typeof mobileGroupBy === "function" ? mobileGroupBy : mobileGroupBy?.key;
|
|
577
|
-
const mobileGroups = mobileKey ? mobileSlice.reduce((acc, row) => {
|
|
680
|
+
const mobileGroups = mobileKey ? mobileSlice.reduce((acc, row, i) => {
|
|
578
681
|
const key = mobileKey(row);
|
|
579
682
|
const last = acc[acc.length - 1];
|
|
580
683
|
if (last && last.key === key) last.rows.push(row);
|
|
581
|
-
else acc.push({ key, rows: [row] });
|
|
684
|
+
else acc.push({ key, rows: [row], start: i });
|
|
582
685
|
return acc;
|
|
583
686
|
}, []) : null;
|
|
584
687
|
const Root = frame ? FramedRoot : PlainRoot;
|
|
@@ -589,6 +692,18 @@ function DataTable({
|
|
|
589
692
|
"data-frame": frame ? void 0 : "none",
|
|
590
693
|
"data-clips": frame ? "" : void 0,
|
|
591
694
|
"data-fill-height": fillHeight ? "" : void 0,
|
|
695
|
+
onFocusCapture: () => {
|
|
696
|
+
heldRow.current = null;
|
|
697
|
+
overlayWatch.current?.stop();
|
|
698
|
+
},
|
|
699
|
+
onBlur: (e) => {
|
|
700
|
+
const to = e.relatedTarget;
|
|
701
|
+
if (to instanceof Element && !to.closest(OVERLAY_SELECTOR)) heldRow.current = null;
|
|
702
|
+
const held = heldRow.current;
|
|
703
|
+
whenFocusLeftForNothing(e, () => {
|
|
704
|
+
if (heldRow.current === held) heldRow.current = null;
|
|
705
|
+
});
|
|
706
|
+
},
|
|
592
707
|
className: cn(
|
|
593
708
|
"group/table",
|
|
594
709
|
frame ? "overflow-clip" : "min-w-0",
|
|
@@ -675,6 +790,8 @@ function DataTable({
|
|
|
675
790
|
"ul",
|
|
676
791
|
{
|
|
677
792
|
ref: phoneListRef,
|
|
793
|
+
"aria-label": labels.table,
|
|
794
|
+
tabIndex: mobileSlice.length === 0 ? -1 : void 0,
|
|
678
795
|
className: cn(
|
|
679
796
|
"divide-y divide-subtle",
|
|
680
797
|
// Under `fillHeight` the list takes the room its parent gives it, and in a
|
|
@@ -690,12 +807,20 @@ function DataTable({
|
|
|
690
807
|
),
|
|
691
808
|
"aria-busy": isLoading || void 0,
|
|
692
809
|
children: [
|
|
810
|
+
leadingRow ? /* @__PURE__ */ jsx(MobileLeadingRow, { sticky: leadingRowSticky, onHeight: setPhoneLeadHeight, children: leadingRow }) : null,
|
|
693
811
|
mobileGroups ? mobileGroups.map((g) => /* @__PURE__ */ jsxs(Fragment2, { children: [
|
|
694
|
-
/* @__PURE__ */ jsxs(
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
812
|
+
/* @__PURE__ */ jsxs(
|
|
813
|
+
"li",
|
|
814
|
+
{
|
|
815
|
+
className: "sticky top-0 z-10 flex flex-wrap items-baseline justify-between gap-x-3 bg-surface-2 px-4 py-1.5 text-xs font-semibold uppercase tracking-wide text-muted backdrop-blur",
|
|
816
|
+
style: leadingRow && leadingRowSticky ? { top: phoneLeadHeight } : void 0,
|
|
817
|
+
children: [
|
|
818
|
+
/* @__PURE__ */ jsx("span", { className: "min-w-0", children: mobileGroupLabel ? mobileGroupLabel(g.key) : mobileLevel?.label ? mobileLevel.label(g.key, g.rows) : g.key }),
|
|
819
|
+
mobileLevel?.end && /* @__PURE__ */ jsx("span", { className: "ms-auto tabular-nums", children: mobileLevel.end(g.key, g.rows) })
|
|
820
|
+
]
|
|
821
|
+
}
|
|
822
|
+
),
|
|
823
|
+
g.rows.map((r, i) => renderMobileRow(r, g.start + i))
|
|
699
824
|
] }, `hb-group:${g.key}`)) : mobileSlice.map(renderMobileRow),
|
|
700
825
|
mobileSlice.length === 0 && /* @__PURE__ */ jsx("li", { className: cn("text-center text-muted", compact ? "px-3 py-3 text-xs" : "px-4 py-6 text-sm"), children: isLoading ? /* @__PURE__ */ jsx(LoadingText, { label: labels.loading }) : empty ?? labels.empty }),
|
|
701
826
|
canRevealMoreMobile && /* @__PURE__ */ jsx("li", { ref: loadMoreRef, className: "px-4 py-4 text-center text-xs text-placeholder", children: /* @__PURE__ */ jsx("bdi", { children: labels.loading }) }),
|
|
@@ -755,6 +880,9 @@ function DataTable({
|
|
|
755
880
|
FullBleedDialog,
|
|
756
881
|
{
|
|
757
882
|
open: dialogOpen,
|
|
883
|
+
onFocus: () => {
|
|
884
|
+
if (mobileDialogRow) noteRowFocus(rowKey(mobileDialogRow));
|
|
885
|
+
},
|
|
758
886
|
onClose: closeDialog,
|
|
759
887
|
closeLabel: labels.close,
|
|
760
888
|
header: mobileDialogRow ? mobilePrimaryCol?.cell(mobileDialogRow) : null,
|
|
@@ -781,6 +909,7 @@ function DataTable({
|
|
|
781
909
|
className: cn("w-full", compact ? "text-xs" : "text-sm"),
|
|
782
910
|
"data-fit-grow": growDrawn ? "" : void 0,
|
|
783
911
|
"aria-label": labels.table,
|
|
912
|
+
tabIndex: slice.length === 0 ? -1 : void 0,
|
|
784
913
|
"aria-busy": isLoading || void 0,
|
|
785
914
|
"aria-rowcount": rowWindow?.rowCount,
|
|
786
915
|
"data-virtualized": rowWindow ? "" : void 0,
|