@eifi1/ui-kit 0.53.0 → 0.55.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 +96 -82
- package/dist/account/delete-account-setting.d.ts +3 -2
- package/dist/account/delete-account-setting.js.map +1 -1
- package/dist/admin/plan-change.js +2 -2
- package/dist/admin/plan-change.js.map +1 -1
- package/dist/admin/user-roster.d.ts +6 -0
- package/dist/admin/user-roster.js +4 -0
- package/dist/admin/user-roster.js.map +1 -1
- package/dist/auth/auth-errors.d.ts +36 -0
- package/dist/auth/auth-errors.js +20 -0
- package/dist/auth/auth-errors.js.map +1 -1
- package/dist/billing/billing-labels.d.ts +26 -0
- package/dist/billing/billing-labels.js +9 -0
- package/dist/billing/billing-labels.js.map +1 -1
- package/dist/billing/subscription-standing.d.ts +61 -0
- package/dist/billing/subscription-standing.js +51 -0
- package/dist/billing/subscription-standing.js.map +1 -0
- package/dist/billing/usage-meter.d.ts +52 -0
- package/dist/billing/usage-meter.js +52 -0
- package/dist/billing/usage-meter.js.map +1 -0
- package/dist/chart.d.ts +1 -0
- package/dist/chart.js +4 -0
- package/dist/chart.js.map +1 -1
- package/dist/components/alert-banner.js +2 -3
- package/dist/components/alert-banner.js.map +1 -1
- package/dist/components/amount-input.d.ts +2 -1
- package/dist/components/amount-input.js +3 -15
- package/dist/components/amount-input.js.map +1 -1
- package/dist/components/autocomplete.js +2 -2
- package/dist/components/autocomplete.js.map +1 -1
- package/dist/components/bulk-action-bar.js +2 -1
- package/dist/components/bulk-action-bar.js.map +1 -1
- package/dist/components/button.d.ts +35 -1
- package/dist/components/button.js +5 -9
- package/dist/components/button.js.map +1 -1
- package/dist/components/calendar-heatmap.js +6 -4
- package/dist/components/calendar-heatmap.js.map +1 -1
- package/dist/components/camera-button.d.ts +89 -0
- package/dist/components/camera-button.js +122 -0
- package/dist/components/camera-button.js.map +1 -0
- package/dist/components/camera-capture.d.ts +66 -0
- package/dist/components/camera-capture.js +190 -0
- package/dist/components/camera-capture.js.map +1 -0
- package/dist/components/camera-labels.d.ts +20 -0
- package/dist/components/camera-labels.js +15 -0
- package/dist/components/camera-labels.js.map +1 -0
- package/dist/components/chart-edge.d.ts +9 -0
- package/dist/components/chart-edge.js +14 -3
- package/dist/components/chart-edge.js.map +1 -1
- package/dist/components/chart-zoom-core.js +34 -29
- package/dist/components/chart-zoom-core.js.map +1 -1
- package/dist/components/checkbox-group.js +1 -1
- package/dist/components/checkbox-group.js.map +1 -1
- package/dist/components/combobox-core.js +3 -2
- package/dist/components/combobox-core.js.map +1 -1
- package/dist/components/combobox.js +2 -2
- package/dist/components/combobox.js.map +1 -1
- package/dist/components/consent-again-notice-labels.d.ts +25 -0
- package/dist/components/consent-again-notice-labels.js +15 -0
- package/dist/components/consent-again-notice-labels.js.map +1 -0
- package/dist/components/consent-again-notice.d.ts +85 -0
- package/dist/components/consent-again-notice.js +94 -0
- package/dist/components/consent-again-notice.js.map +1 -0
- package/dist/components/country-select.js +2 -7
- package/dist/components/country-select.js.map +1 -1
- package/dist/components/currency-option-list.d.ts +2 -1
- package/dist/components/currency-option-list.js +10 -3
- package/dist/components/currency-option-list.js.map +1 -1
- package/dist/components/currency-select.d.ts +3 -1
- package/dist/components/currency-select.js +2 -2
- package/dist/components/currency-select.js.map +1 -1
- package/dist/components/danger-confirm.d.ts +22 -1
- package/dist/components/danger-confirm.js +52 -30
- package/dist/components/danger-confirm.js.map +1 -1
- package/dist/components/data-table-column-settings.js +2 -2
- package/dist/components/data-table-column-settings.js.map +1 -1
- package/dist/components/data-table-filter-popover.d.ts +2 -1
- package/dist/components/data-table-filter-popover.js +3 -2
- package/dist/components/data-table-filter-popover.js.map +1 -1
- package/dist/components/data-table-filters.d.ts +33 -3
- package/dist/components/data-table-filters.js +6 -4
- package/dist/components/data-table-filters.js.map +1 -1
- package/dist/components/data-table-fit.js.map +1 -1
- package/dist/components/data-table-virtual.js +13 -3
- package/dist/components/data-table-virtual.js.map +1 -1
- package/dist/components/date-field.js +2 -2
- package/dist/components/date-field.js.map +1 -1
- package/dist/components/date-picker.js +2 -2
- package/dist/components/date-picker.js.map +1 -1
- package/dist/components/date-range-picker.js +2 -6
- package/dist/components/date-range-picker.js.map +1 -1
- package/dist/components/dialog-frame.d.ts +5 -1
- package/dist/components/dialog-frame.js +6 -2
- package/dist/components/dialog-frame.js.map +1 -1
- package/dist/components/dropdown.js +7 -3
- package/dist/components/dropdown.js.map +1 -1
- package/dist/components/entity-combobox.js +2 -2
- package/dist/components/entity-combobox.js.map +1 -1
- package/dist/components/field-parts.d.ts +108 -6
- package/dist/components/field-parts.js +59 -6
- package/dist/components/field-parts.js.map +1 -1
- package/dist/components/field-suggestion-labels.d.ts +2 -0
- package/dist/components/field-suggestion-labels.js +10 -0
- package/dist/components/field-suggestion-labels.js.map +1 -0
- package/dist/components/field.js +1 -1
- package/dist/components/field.js.map +1 -1
- package/dist/components/file-button.d.ts +1 -1
- package/dist/components/file-button.js.map +1 -1
- package/dist/components/floating-panel.d.ts +7 -6
- package/dist/components/floating-panel.js +3 -17
- package/dist/components/floating-panel.js.map +1 -1
- package/dist/components/form-actions.d.ts +3 -2
- package/dist/components/form-actions.js.map +1 -1
- package/dist/components/hover-menu.js +3 -2
- package/dist/components/hover-menu.js.map +1 -1
- package/dist/components/icon-button.d.ts +23 -5
- package/dist/components/icon-button.js +6 -8
- package/dist/components/icon-button.js.map +1 -1
- package/dist/components/inline-confirm.js +2 -1
- package/dist/components/inline-confirm.js.map +1 -1
- package/dist/components/inline-entity-combobox.js +2 -2
- package/dist/components/inline-entity-combobox.js.map +1 -1
- package/dist/components/input.js +2 -2
- package/dist/components/input.js.map +1 -1
- package/dist/components/jump-calendar.js +3 -3
- package/dist/components/jump-calendar.js.map +1 -1
- package/dist/components/legal.d.ts +13 -1
- package/dist/components/legal.js +12 -0
- package/dist/components/legal.js.map +1 -1
- package/dist/components/legended-series-chart.d.ts +80 -0
- package/dist/components/legended-series-chart.js +70 -0
- package/dist/components/legended-series-chart.js.map +1 -0
- package/dist/components/lightbox.js +2 -1
- package/dist/components/lightbox.js.map +1 -1
- package/dist/components/mini-calendar.js +16 -7
- package/dist/components/mini-calendar.js.map +1 -1
- package/dist/components/modal.d.ts +48 -0
- package/dist/components/modal.js +26 -6
- package/dist/components/modal.js.map +1 -1
- package/dist/components/month-picker.d.ts +1 -1
- package/dist/components/month-picker.js +6 -6
- package/dist/components/month-picker.js.map +1 -1
- package/dist/components/multi-entity-combobox.js +2 -2
- package/dist/components/multi-entity-combobox.js.map +1 -1
- package/dist/components/multi-select.js +2 -6
- package/dist/components/multi-select.js.map +1 -1
- package/dist/components/number-input.js +2 -2
- package/dist/components/number-input.js.map +1 -1
- package/dist/components/page-header-layout.d.ts +18 -0
- package/dist/components/page-header-layout.js +23 -0
- package/dist/components/page-header-layout.js.map +1 -0
- package/dist/components/page-header-skeleton.d.ts +41 -0
- package/dist/components/page-header-skeleton.js +52 -0
- package/dist/components/page-header-skeleton.js.map +1 -0
- package/dist/components/page-header.js +4 -17
- package/dist/components/page-header.js.map +1 -1
- package/dist/components/popover.js +7 -2
- package/dist/components/popover.js.map +1 -1
- package/dist/components/release-notes-labels.d.ts +16 -0
- package/dist/components/release-notes-labels.js +18 -0
- package/dist/components/release-notes-labels.js.map +1 -0
- package/dist/components/release-notes.d.ts +65 -0
- package/dist/components/release-notes.js +65 -0
- package/dist/components/release-notes.js.map +1 -0
- package/dist/components/select.js +2 -2
- package/dist/components/select.js.map +1 -1
- package/dist/components/series-chart-labels.d.ts +9 -0
- package/dist/components/series-chart-labels.js +3 -1
- package/dist/components/series-chart-labels.js.map +1 -1
- package/dist/components/series-chart.d.ts +5 -0
- package/dist/components/series-chart.js +89 -36
- package/dist/components/series-chart.js.map +1 -1
- package/dist/components/stat-tile.d.ts +21 -2
- package/dist/components/stat-tile.js +4 -2
- package/dist/components/stat-tile.js.map +1 -1
- package/dist/components/toggle-group.js +3 -2
- package/dist/components/toggle-group.js.map +1 -1
- package/dist/components/treemap-layout.js.map +1 -1
- package/dist/components/treemap.d.ts +17 -15
- package/dist/components/treemap.js +167 -85
- package/dist/components/treemap.js.map +1 -1
- package/dist/currencies.d.ts +16 -2
- package/dist/currencies.js +2 -1
- package/dist/currencies.js.map +1 -1
- package/dist/eslint/index.js +1 -1
- package/dist/eslint/role-utilities.d.ts +2 -2
- package/dist/eslint/role-utilities.js.map +1 -1
- package/dist/feedback/feedback-context-labels.js +2 -1
- package/dist/feedback/feedback-context-labels.js.map +1 -1
- package/dist/feedback/feedback-context.d.ts +19 -3
- package/dist/feedback/feedback-context.js +12 -1
- package/dist/feedback/feedback-context.js.map +1 -1
- package/dist/feedback/feedback-diagnostics.d.ts +17 -0
- package/dist/feedback/feedback-diagnostics.js +27 -0
- package/dist/feedback/feedback-diagnostics.js.map +1 -0
- package/dist/feedback/feedback-dialog.d.ts +10 -0
- package/dist/feedback/feedback-dialog.js +6 -4
- package/dist/feedback/feedback-dialog.js.map +1 -1
- package/dist/feedback/feedback-inbox-page.d.ts +260 -0
- package/dist/feedback/feedback-inbox-page.js +207 -0
- package/dist/feedback/feedback-inbox-page.js.map +1 -0
- package/dist/feedback/feedback-record.d.ts +5 -0
- package/dist/feedback/feedback-record.js.map +1 -1
- package/dist/feedback/feedback-row-detail-labels.js +1 -0
- package/dist/feedback/feedback-row-detail-labels.js.map +1 -1
- package/dist/feedback/feedback-row-detail.d.ts +3 -0
- package/dist/feedback/feedback-row-detail.js +3 -0
- package/dist/feedback/feedback-row-detail.js.map +1 -1
- package/dist/feedback/feedback-submit-dialog.d.ts +5 -1
- package/dist/feedback/feedback-submit-dialog.js +15 -3
- package/dist/feedback/feedback-submit-dialog.js.map +1 -1
- package/dist/feedback/feedback-submit.d.ts +30 -2
- package/dist/feedback/feedback-submit.js +5 -2
- package/dist/feedback/feedback-submit.js.map +1 -1
- package/dist/feedback/feedback-vocabulary.js +2 -2
- package/dist/feedback/feedback-vocabulary.js.map +1 -1
- package/dist/feedback.d.ts +1 -0
- package/dist/feedback.js +6 -0
- package/dist/feedback.js.map +1 -1
- package/dist/hooks/use-debounce.d.ts +32 -5
- package/dist/hooks/use-debounce.js +6 -5
- package/dist/hooks/use-debounce.js.map +1 -1
- package/dist/hooks/use-file-picker.d.ts +3 -1
- package/dist/hooks/use-file-picker.js.map +1 -1
- package/dist/hooks/use-focus-trap.d.ts +19 -3
- package/dist/hooks/use-focus-trap.js +15 -5
- package/dist/hooks/use-focus-trap.js.map +1 -1
- package/dist/hooks/use-has-camera.d.ts +36 -0
- package/dist/hooks/use-has-camera.js +53 -0
- package/dist/hooks/use-has-camera.js.map +1 -0
- package/dist/hooks/use-hotkey.js +2 -1
- package/dist/hooks/use-hotkey.js.map +1 -1
- package/dist/hooks/use-overlay-history.d.ts +6 -1
- package/dist/hooks/use-overlay-history.js +10 -2
- package/dist/hooks/use-overlay-history.js.map +1 -1
- package/dist/i18n/defaults.js +11 -1
- package/dist/i18n/defaults.js.map +1 -1
- package/dist/i18n/german.js +78 -4
- package/dist/i18n/german.js.map +1 -1
- package/dist/i18n/kit-labels.d.ts +20 -0
- package/dist/i18n/kit-labels.js.map +1 -1
- package/dist/i18n/locales/en.js +95 -5
- package/dist/i18n/locales/en.js.map +3 -3
- package/dist/i18n/locales/es.js +74 -4
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.js +75 -3
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hu.js +77 -4
- package/dist/i18n/locales/hu.js.map +1 -1
- package/dist/i18n/locales/it.js +77 -4
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/zh.js +74 -4
- package/dist/i18n/locales/zh.js.map +1 -1
- package/dist/i18n/review.js +22 -1
- package/dist/i18n/review.js.map +1 -1
- package/dist/index.d.ts +27 -8
- package/dist/index.js +41 -2
- package/dist/index.js.map +1 -1
- package/dist/landing/landing-labels.d.ts +8 -0
- package/dist/landing/landing-labels.js +2 -1
- package/dist/landing/landing-labels.js.map +1 -1
- package/dist/lib/changelog.d.ts +130 -0
- package/dist/lib/changelog.js +137 -0
- package/dist/lib/changelog.js.map +1 -0
- package/dist/lib/clipboard-minus.js +2 -2
- package/dist/lib/clipboard-minus.js.map +1 -1
- package/dist/lib/dates.d.ts +36 -4
- package/dist/lib/dates.js +49 -13
- package/dist/lib/dates.js.map +1 -1
- package/dist/lib/editable-content.d.ts +33 -0
- package/dist/lib/editable-content.js +15 -0
- package/dist/lib/editable-content.js.map +1 -0
- package/dist/lib/focus-left.d.ts +47 -1
- package/dist/lib/focus-left.js +11 -2
- package/dist/lib/focus-left.js.map +1 -1
- package/dist/lib/format.d.ts +37 -2
- package/dist/lib/format.js +25 -1
- package/dist/lib/format.js.map +1 -1
- package/dist/lib/intl-cache.d.ts +4 -2
- package/dist/lib/intl-cache.js.map +1 -1
- package/dist/lib/server-wake.d.ts +49 -9
- package/dist/lib/server-wake.js +25 -14
- package/dist/lib/server-wake.js.map +1 -1
- package/dist/lib/session-refresh.d.ts +53 -0
- package/dist/lib/session-refresh.js +27 -1
- package/dist/lib/session-refresh.js.map +1 -1
- package/dist/lib/translation-review.d.ts +26 -0
- package/dist/lib/translation-review.js +14 -0
- package/dist/lib/translation-review.js.map +1 -1
- package/dist/rhf/fields.js +3 -3
- package/dist/rhf/fields.js.map +1 -1
- package/dist/shell/app-shell.d.ts +25 -1
- package/dist/shell/app-shell.js +3 -1
- package/dist/shell/app-shell.js.map +1 -1
- package/dist/shell/dev-menu.d.ts +3 -0
- package/dist/shell/dev-menu.js +4 -2
- package/dist/shell/dev-menu.js.map +1 -1
- package/dist/shell/held-changes-banner-labels.d.ts +23 -0
- package/dist/shell/held-changes-banner-labels.js +14 -0
- package/dist/shell/held-changes-banner-labels.js.map +1 -0
- package/dist/shell/held-changes-banner.d.ts +75 -0
- package/dist/shell/held-changes-banner.js +106 -0
- package/dist/shell/held-changes-banner.js.map +1 -0
- package/dist/shell/sync-status-indicator.d.ts +27 -12
- package/dist/shell/sync-status-indicator.js +13 -4
- package/dist/shell/sync-status-indicator.js.map +1 -1
- package/dist/shell/top-bar-parts-labels.d.ts +5 -0
- package/dist/shell/top-bar-parts-labels.js +3 -1
- package/dist/shell/top-bar-parts-labels.js.map +1 -1
- package/dist/shell.d.ts +2 -0
- package/dist/shell.js +3 -0
- package/dist/shell.js.map +1 -1
- package/dist/sync/engine.d.ts +11 -2
- package/dist/sync/engine.js +13 -5
- package/dist/sync/engine.js.map +1 -1
- package/dist/sync/hooks.d.ts +3 -2
- package/dist/sync/hooks.js +4 -2
- package/dist/sync/hooks.js.map +1 -1
- package/dist/testing/css-variables.generated.d.ts +2 -2
- package/dist/testing/css-variables.generated.js +1 -1
- package/dist/testing/css-variables.generated.js.map +1 -1
- package/dist/theme/chart-palette.d.ts +18 -0
- package/dist/theme/chart-palette.js +17 -1
- package/dist/theme/chart-palette.js.map +1 -1
- package/dist/theme/contrast-tokens.d.ts +3 -3
- package/dist/theme/contrast-tokens.js.map +1 -1
- package/dist/theme/contrast.d.ts +4 -4
- package/dist/theme/contrast.js.map +1 -1
- package/dist/tour/tour-overlay.js +2 -1
- package/dist/tour/tour-overlay.js.map +1 -1
- package/package.json +5 -9
- package/tokens.css +19 -54
- package/src/account/account-parts.ts +0 -47
- package/src/account/account-settings-labels.ts +0 -240
- package/src/account/account-settings.tsx +0 -698
- package/src/account/data-export-setting-labels.ts +0 -20
- package/src/account/data-export-setting.tsx +0 -200
- package/src/account/delete-account-setting-labels.ts +0 -33
- package/src/account/delete-account-setting.tsx +0 -341
- package/src/account/email-change-setting-labels.ts +0 -31
- package/src/account/email-change-setting.tsx +0 -443
- package/src/account/passkeys-setting.tsx +0 -445
- package/src/account/sessions-setting-labels.ts +0 -24
- package/src/account/sessions-setting.tsx +0 -283
- package/src/admin/admin-action-confirm-labels.ts +0 -19
- package/src/admin/admin-action-confirm.tsx +0 -509
- package/src/admin/admin-action-log-labels.ts +0 -83
- package/src/admin/admin-action-log.tsx +0 -464
- package/src/admin/admin-area-labels.ts +0 -114
- package/src/admin/admin-forbidden.tsx +0 -75
- package/src/admin/admin-overview.tsx +0 -258
- package/src/admin/admin-parts.ts +0 -68
- package/src/admin/admin-sections.tsx +0 -208
- package/src/admin/admin-tool-links.tsx +0 -90
- package/src/admin/invitations-panel-labels.ts +0 -31
- package/src/admin/invitations-panel.tsx +0 -516
- package/src/admin/mail-test-card-labels.ts +0 -19
- package/src/admin/mail-test-card.tsx +0 -189
- package/src/admin/plan-change-labels.ts +0 -5
- package/src/admin/plan-change.tsx +0 -474
- package/src/admin/reviewer-scope-editor-labels.ts +0 -16
- package/src/admin/reviewer-scope-editor.tsx +0 -224
- package/src/admin/role-select-labels.ts +0 -16
- package/src/admin/role-select.tsx +0 -282
- package/src/admin/transfer-ownership-dialog-labels.ts +0 -20
- package/src/admin/transfer-ownership-dialog.tsx +0 -162
- package/src/admin/user-roster-labels.ts +0 -17
- package/src/admin/user-roster.tsx +0 -559
- package/src/auth/accept-invitation-labels.ts +0 -21
- package/src/auth/accept-invitation.tsx +0 -210
- package/src/auth/auth-errors-labels.ts +0 -23
- package/src/auth/auth-errors.ts +0 -370
- package/src/auth/complete-name-dialog-labels.ts +0 -16
- package/src/auth/complete-name-dialog.tsx +0 -253
- package/src/auth/email-tag.ts +0 -75
- package/src/auth/forgot-password-form-labels.ts +0 -20
- package/src/auth/forgot-password-form.tsx +0 -221
- package/src/auth/form-rules.ts +0 -40
- package/src/auth/new-password-fields.tsx +0 -85
- package/src/auth/not-found-page-labels.ts +0 -12
- package/src/auth/not-found-page.tsx +0 -95
- package/src/auth/register-form-labels.ts +0 -31
- package/src/auth/register-form.tsx +0 -456
- package/src/auth/reset-password-form-labels.ts +0 -27
- package/src/auth/reset-password-form.tsx +0 -341
- package/src/auth/sign-in-form-labels.ts +0 -44
- package/src/auth/sign-in-form.tsx +0 -858
- package/src/auth/status-parts.tsx +0 -132
- package/src/auth/verify-email-labels.ts +0 -26
- package/src/auth/verify-email.tsx +0 -445
- package/src/billing/billing-banner.tsx +0 -258
- package/src/billing/billing-labels.ts +0 -381
- package/src/billing/billing-lock.ts +0 -108
- package/src/billing/billing-overview.ts +0 -157
- package/src/billing/billing-standing.ts +0 -80
- package/src/billing/cancel-request.ts +0 -97
- package/src/billing/cancel-subscription.tsx +0 -98
- package/src/billing/checkout-processing.ts +0 -394
- package/src/billing/checkout-return.ts +0 -90
- package/src/billing/pay-page.ts +0 -330
- package/src/billing/plan-card.tsx +0 -562
- package/src/billing/plan-change-labels.ts +0 -66
- package/src/billing/plan-limit-notice.tsx +0 -148
- package/src/billing/plan-limit-toast.tsx +0 -90
- package/src/billing/plan-limit.ts +0 -52
- package/src/billing/plan-price.ts +0 -98
- package/src/billing/plan-switch.tsx +0 -216
- package/src/billing/provider-page.ts +0 -84
- package/src/billing/subscription-actions.tsx +0 -247
- package/src/billing/subscription-status-chip.tsx +0 -95
- package/src/chart.ts +0 -103
- package/src/components/account-chips-labels.ts +0 -16
- package/src/components/account-chips.tsx +0 -474
- package/src/components/alert-banner.tsx +0 -670
- package/src/components/amount-input.tsx +0 -815
- package/src/components/appearance-labels.ts +0 -63
- package/src/components/authed-image-labels.ts +0 -11
- package/src/components/authed-image.tsx +0 -209
- package/src/components/autocomplete.tsx +0 -645
- package/src/components/breadcrumbs-labels.ts +0 -10
- package/src/components/breadcrumbs.tsx +0 -205
- package/src/components/bulk-action-bar-labels.ts +0 -11
- package/src/components/bulk-action-bar.tsx +0 -443
- package/src/components/button-group.tsx +0 -223
- package/src/components/button-look.ts +0 -256
- package/src/components/button.tsx +0 -339
- package/src/components/calculator.tsx +0 -341
- package/src/components/calendar-heatmap-labels.ts +0 -15
- package/src/components/calendar-heatmap.tsx +0 -594
- package/src/components/card.tsx +0 -377
- package/src/components/chart-edge.ts +0 -106
- package/src/components/chart-figure.tsx +0 -35
- package/src/components/chart-height.ts +0 -30
- package/src/components/chart-zoom-core.tsx +0 -627
- package/src/components/chart-zoom.tsx +0 -22
- package/src/components/chart.tsx +0 -554
- package/src/components/checkbox-group.tsx +0 -247
- package/src/components/checkbox.tsx +0 -346
- package/src/components/chip-input.tsx +0 -370
- package/src/components/chip-labels.ts +0 -13
- package/src/components/chip.tsx +0 -843
- package/src/components/choice-card.tsx +0 -544
- package/src/components/column-mapper-labels.ts +0 -38
- package/src/components/column-mapper.tsx +0 -655
- package/src/components/combobox-core.tsx +0 -1321
- package/src/components/combobox-suggestions.tsx +0 -131
- package/src/components/combobox.tsx +0 -716
- package/src/components/confirm-context.ts +0 -7
- package/src/components/confirm-dialog-labels.ts +0 -13
- package/src/components/confirm-dialog.tsx +0 -341
- package/src/components/copy-button-labels.ts +0 -13
- package/src/components/copy-button.tsx +0 -192
- package/src/components/country-select-labels.ts +0 -11
- package/src/components/country-select.tsx +0 -539
- package/src/components/currency-option-list.tsx +0 -180
- package/src/components/currency-select.tsx +0 -341
- package/src/components/danger-confirm-labels.ts +0 -20
- package/src/components/danger-confirm.tsx +0 -934
- package/src/components/data-table-cells.tsx +0 -118
- package/src/components/data-table-column-settings.tsx +0 -198
- package/src/components/data-table-filter-popover.tsx +0 -281
- package/src/components/data-table-filters.ts +0 -287
- package/src/components/data-table-fit.ts +0 -301
- package/src/components/data-table-groups.tsx +0 -288
- package/src/components/data-table-head.tsx +0 -280
- package/src/components/data-table-labels.ts +0 -198
- package/src/components/data-table-leading-row.tsx +0 -58
- package/src/components/data-table-mobile.tsx +0 -1117
- package/src/components/data-table-pagination.tsx +0 -202
- package/src/components/data-table-resize.ts +0 -188
- package/src/components/data-table-row-actions.tsx +0 -302
- package/src/components/data-table-row.tsx +0 -496
- package/src/components/data-table-selection.ts +0 -71
- package/src/components/data-table-shared.tsx +0 -287
- package/src/components/data-table-sort.ts +0 -163
- package/src/components/data-table-virtual.ts +0 -576
- package/src/components/data-table.tsx +0 -2598
- package/src/components/date-field.tsx +0 -684
- package/src/components/date-format-setting.tsx +0 -64
- package/src/components/date-picker.tsx +0 -404
- package/src/components/date-range-picker.tsx +0 -518
- package/src/components/description-list-labels.ts +0 -9
- package/src/components/description-list.tsx +0 -386
- package/src/components/dialog-frame-labels.ts +0 -7
- package/src/components/dialog-frame.tsx +0 -276
- package/src/components/disclosure.tsx +0 -476
- package/src/components/dropdown.tsx +0 -461
- package/src/components/empty-state.tsx +0 -136
- package/src/components/entity-combobox.tsx +0 -422
- package/src/components/error-boundary-labels.ts +0 -20
- package/src/components/error-boundary.tsx +0 -675
- package/src/components/facing-pair.ts +0 -93
- package/src/components/field-base-labels.ts +0 -20
- package/src/components/field-base.tsx +0 -656
- package/src/components/field-parts.tsx +0 -825
- package/src/components/field-strip.tsx +0 -129
- package/src/components/field.tsx +0 -206
- package/src/components/file-button.tsx +0 -295
- package/src/components/file-dropzone.tsx +0 -559
- package/src/components/floating-panel-labels.ts +0 -10
- package/src/components/floating-panel.tsx +0 -828
- package/src/components/focus-ring.ts +0 -16
- package/src/components/form-actions-labels.ts +0 -11
- package/src/components/form-actions.tsx +0 -578
- package/src/components/full-bleed-dialog.tsx +0 -294
- package/src/components/grouped-picker.tsx +0 -184
- package/src/components/help-popover.tsx +0 -117
- package/src/components/hover-menu.tsx +0 -343
- package/src/components/iban-input-labels.ts +0 -14
- package/src/components/iban-input.tsx +0 -236
- package/src/components/icon-button.tsx +0 -959
- package/src/components/icon-picker-labels.ts +0 -13
- package/src/components/icon-picker.tsx +0 -232
- package/src/components/image-grid-labels.ts +0 -11
- package/src/components/image-grid.tsx +0 -202
- package/src/components/inline-confirm.tsx +0 -116
- package/src/components/inline-edit-field-labels.ts +0 -11
- package/src/components/inline-edit-field.tsx +0 -552
- package/src/components/inline-entity-combobox.tsx +0 -849
- package/src/components/input.tsx +0 -394
- package/src/components/jump-calendar.tsx +0 -265
- package/src/components/language-select.tsx +0 -93
- package/src/components/legal-labels.ts +0 -105
- package/src/components/legal-page.tsx +0 -711
- package/src/components/legal.tsx +0 -668
- package/src/components/lightbox-labels.ts +0 -18
- package/src/components/lightbox.tsx +0 -399
- package/src/components/line-items-labels.ts +0 -14
- package/src/components/line-items.tsx +0 -602
- package/src/components/list-labels.ts +0 -12
- package/src/components/list.tsx +0 -870
- package/src/components/loading-state.tsx +0 -78
- package/src/components/measured-grid-labels.ts +0 -25
- package/src/components/measured-grid.tsx +0 -837
- package/src/components/menu-item.tsx +0 -241
- package/src/components/mini-calendar-labels.ts +0 -17
- package/src/components/mini-calendar.tsx +0 -789
- package/src/components/modal.tsx +0 -505
- package/src/components/money-draft.ts +0 -83
- package/src/components/money-field.tsx +0 -76
- package/src/components/month-grid.tsx +0 -229
- package/src/components/month-picker-labels.ts +0 -22
- package/src/components/month-picker.tsx +0 -1087
- package/src/components/multi-entity-combobox.tsx +0 -369
- package/src/components/multi-select.tsx +0 -376
- package/src/components/nav-pills.tsx +0 -198
- package/src/components/number-field.tsx +0 -327
- package/src/components/number-input.tsx +0 -558
- package/src/components/numeric-field.ts +0 -169
- package/src/components/numpad-sheet.tsx +0 -285
- package/src/components/one-time-code-input.tsx +0 -270
- package/src/components/page-contents-labels.ts +0 -9
- package/src/components/page-contents.tsx +0 -282
- package/src/components/page-header-context.ts +0 -8
- package/src/components/page-header.tsx +0 -298
- package/src/components/password-strength-labels.ts +0 -22
- package/src/components/password-strength.tsx +0 -241
- package/src/components/phone-input-labels.ts +0 -10
- package/src/components/phone-input.tsx +0 -282
- package/src/components/picker-sheet.tsx +0 -330
- package/src/components/pie-chart-labels.ts +0 -40
- package/src/components/pie-chart.tsx +0 -480
- package/src/components/popover-labels.ts +0 -14
- package/src/components/popover.tsx +0 -268
- package/src/components/progress-bar-labels.ts +0 -10
- package/src/components/progress-bar.tsx +0 -479
- package/src/components/qr-code.tsx +0 -76
- package/src/components/reauth-dialog-labels.ts +0 -13
- package/src/components/reauth-dialog.tsx +0 -265
- package/src/components/row-actions-labels.ts +0 -12
- package/src/components/row-actions.tsx +0 -795
- package/src/components/scroll-area.tsx +0 -123
- package/src/components/search-field.tsx +0 -192
- package/src/components/select.tsx +0 -294
- package/src/components/separator.tsx +0 -33
- package/src/components/series-chart-axes.ts +0 -342
- package/src/components/series-chart-budget.ts +0 -150
- package/src/components/series-chart-labels.ts +0 -33
- package/src/components/series-chart-thin.ts +0 -180
- package/src/components/series-chart-ticks.ts +0 -194
- package/src/components/series-chart.tsx +0 -1906
- package/src/components/server-wake-labels.ts +0 -11
- package/src/components/server-wake.tsx +0 -129
- package/src/components/settings-fields.tsx +0 -237
- package/src/components/share-card-labels.ts +0 -30
- package/src/components/share-card.tsx +0 -675
- package/src/components/signature-pad-labels.ts +0 -24
- package/src/components/signature-pad.tsx +0 -747
- package/src/components/signed-amount-labels.ts +0 -10
- package/src/components/signed-amount.tsx +0 -336
- package/src/components/skeleton.tsx +0 -80
- package/src/components/slider.tsx +0 -338
- package/src/components/sparkline-labels.ts +0 -14
- package/src/components/sparkline.tsx +0 -322
- package/src/components/spinner.tsx +0 -81
- package/src/components/stat-tile-labels.ts +0 -15
- package/src/components/stat-tile.tsx +0 -725
- package/src/components/status-dot.tsx +0 -170
- package/src/components/swatch-picker-labels.ts +0 -10
- package/src/components/swatch-picker.tsx +0 -283
- package/src/components/swipeable-row.tsx +0 -386
- package/src/components/switch.tsx +0 -273
- package/src/components/table-skeleton.tsx +0 -136
- package/src/components/table.tsx +0 -647
- package/src/components/tabs-labels.ts +0 -13
- package/src/components/tabs.tsx +0 -693
- package/src/components/text-link.tsx +0 -359
- package/src/components/text.tsx +0 -150
- package/src/components/textarea.tsx +0 -330
- package/src/components/tile-radio.tsx +0 -332
- package/src/components/time-input.tsx +0 -121
- package/src/components/toast-labels.ts +0 -12
- package/src/components/toast.tsx +0 -519
- package/src/components/toggle-group.tsx +0 -752
- package/src/components/toggle-legend.tsx +0 -394
- package/src/components/tooltip.tsx +0 -1149
- package/src/components/translation-review-editor.tsx +0 -290
- package/src/components/translation-review-labels.ts +0 -181
- package/src/components/translation-review-parts.tsx +0 -272
- package/src/components/translation-review.tsx +0 -1240
- package/src/components/tree-view.tsx +0 -589
- package/src/components/treemap-labels.ts +0 -47
- package/src/components/treemap-layout.ts +0 -210
- package/src/components/treemap.tsx +0 -1184
- package/src/components/trigger-aria.ts +0 -44
- package/src/components/use-anchor-dir.ts +0 -20
- package/src/components/use-mobile-reveal.ts +0 -62
- package/src/components/use-table-state.ts +0 -753
- package/src/components/user-avatar.tsx +0 -116
- package/src/components/wizard-stepper.tsx +0 -42
- package/src/components/write-lock-labels.ts +0 -10
- package/src/components/write-lock.tsx +0 -253
- package/src/currencies.ts +0 -70
- package/src/data-table.ts +0 -42
- package/src/demo/demo-banner.tsx +0 -153
- package/src/demo/demo-countdown.ts +0 -136
- package/src/demo/demo-ended.tsx +0 -90
- package/src/demo/demo-labels.ts +0 -78
- package/src/demo/demo-session.ts +0 -32
- package/src/demo/demo-start.tsx +0 -156
- package/src/eslint/index.ts +0 -161
- package/src/eslint/role-utilities.generated.ts +0 -146
- package/src/eslint/role-utilities.ts +0 -233
- package/src/feedback/feedback-attachment-download.tsx +0 -77
- package/src/feedback/feedback-attachment-labels.ts +0 -37
- package/src/feedback/feedback-attachment.tsx +0 -1239
- package/src/feedback/feedback-capture.ts +0 -287
- package/src/feedback/feedback-comment-thread.tsx +0 -353
- package/src/feedback/feedback-context-labels.ts +0 -10
- package/src/feedback/feedback-context.tsx +0 -213
- package/src/feedback/feedback-crash.ts +0 -547
- package/src/feedback/feedback-dialog-labels.ts +0 -29
- package/src/feedback/feedback-dialog.tsx +0 -440
- package/src/feedback/feedback-entry-file.tsx +0 -150
- package/src/feedback/feedback-inbox.tsx +0 -552
- package/src/feedback/feedback-labels.ts +0 -144
- package/src/feedback/feedback-menu-labels.ts +0 -12
- package/src/feedback/feedback-menu.tsx +0 -177
- package/src/feedback/feedback-mutation.ts +0 -20
- package/src/feedback/feedback-page-link.ts +0 -90
- package/src/feedback/feedback-public-labels.ts +0 -81
- package/src/feedback/feedback-public-list.tsx +0 -524
- package/src/feedback/feedback-public-switch.tsx +0 -102
- package/src/feedback/feedback-public-types.ts +0 -101
- package/src/feedback/feedback-record.ts +0 -423
- package/src/feedback/feedback-replies-context.ts +0 -9
- package/src/feedback/feedback-replies.tsx +0 -343
- package/src/feedback/feedback-rework-entry-chip.tsx +0 -18
- package/src/feedback/feedback-row-detail-labels.ts +0 -30
- package/src/feedback/feedback-row-detail.tsx +0 -858
- package/src/feedback/feedback-status-undo.ts +0 -109
- package/src/feedback/feedback-submit-dialog.tsx +0 -118
- package/src/feedback/feedback-submit.tsx +0 -237
- package/src/feedback/feedback-swipe.tsx +0 -192
- package/src/feedback/feedback-table-labels.ts +0 -27
- package/src/feedback/feedback-table.tsx +0 -912
- package/src/feedback/feedback-thread-labels.ts +0 -22
- package/src/feedback/feedback-thread-parts-labels.ts +0 -41
- package/src/feedback/feedback-thread.tsx +0 -905
- package/src/feedback/feedback-vocabulary.ts +0 -263
- package/src/feedback/feedback-vote-button.tsx +0 -124
- package/src/feedback.ts +0 -116
- package/src/hooks/use-anchored-panel.ts +0 -396
- package/src/hooks/use-anchored-rect.ts +0 -77
- package/src/hooks/use-announce.ts +0 -85
- package/src/hooks/use-authed-src.ts +0 -167
- package/src/hooks/use-body-scroll-lock.ts +0 -119
- package/src/hooks/use-breakpoint.ts +0 -133
- package/src/hooks/use-close-transition.ts +0 -107
- package/src/hooks/use-copy-to-clipboard.ts +0 -122
- package/src/hooks/use-debounce.ts +0 -114
- package/src/hooks/use-dismiss.ts +0 -371
- package/src/hooks/use-document-title.ts +0 -33
- package/src/hooks/use-file-drop.ts +0 -121
- package/src/hooks/use-file-picker-labels.ts +0 -28
- package/src/hooks/use-file-picker.tsx +0 -359
- package/src/hooks/use-focus-trap.ts +0 -199
- package/src/hooks/use-hotkey.ts +0 -189
- package/src/hooks/use-large-text.ts +0 -41
- package/src/hooks/use-long-press.ts +0 -140
- package/src/hooks/use-media-query.ts +0 -39
- package/src/hooks/use-mounted.ts +0 -39
- package/src/hooks/use-noindex.ts +0 -37
- package/src/hooks/use-overlay-history.ts +0 -714
- package/src/hooks/use-row-swipe.ts +0 -207
- package/src/hooks/use-search-param-state.ts +0 -434
- package/src/hooks/use-windowed-rows.ts +0 -225
- package/src/i18n/defaults.ts +0 -267
- package/src/i18n/german.ts +0 -2057
- package/src/i18n/kit-labels.tsx +0 -1003
- package/src/i18n/languages.ts +0 -349
- package/src/i18n/locales/de-CH.ts +0 -24
- package/src/i18n/locales/en.ts +0 -267
- package/src/i18n/locales/es.ts +0 -1997
- package/src/i18n/locales/fr.ts +0 -2035
- package/src/i18n/locales/hu.ts +0 -2002
- package/src/i18n/locales/it.ts +0 -2012
- package/src/i18n/locales/zh.ts +0 -1910
- package/src/i18n/plurals.ts +0 -86
- package/src/i18n/review.ts +0 -475
- package/src/i18n/shared-labels.ts +0 -138
- package/src/i18n/swiss.ts +0 -29
- package/src/index.ts +0 -1179
- package/src/landing/access.ts +0 -93
- package/src/landing/landing-actions.tsx +0 -97
- package/src/landing/landing-labels.ts +0 -59
- package/src/landing/landing-sections.tsx +0 -341
- package/src/landing/page-seo.ts +0 -261
- package/src/landing/public-header.tsx +0 -121
- package/src/landing/public-page.tsx +0 -106
- package/src/landing/routing.tsx +0 -225
- package/src/lib/broadcast.ts +0 -52
- package/src/lib/calc.ts +0 -323
- package/src/lib/chip-edge-snap.ts +0 -212
- package/src/lib/clipboard-minus.ts +0 -107
- package/src/lib/clipping.ts +0 -34
- package/src/lib/cn.ts +0 -28
- package/src/lib/column-mapping.ts +0 -234
- package/src/lib/countries.ts +0 -91
- package/src/lib/data-attributes.ts +0 -14
- package/src/lib/date-format.ts +0 -227
- package/src/lib/dates.ts +0 -266
- package/src/lib/day-format.ts +0 -96
- package/src/lib/decimal-marks.ts +0 -108
- package/src/lib/describe-failure.ts +0 -18
- package/src/lib/device-settings.ts +0 -147
- package/src/lib/direction.ts +0 -74
- package/src/lib/document-navigation.ts +0 -17
- package/src/lib/document-title.ts +0 -41
- package/src/lib/download.ts +0 -172
- package/src/lib/float-clearance.ts +0 -70
- package/src/lib/floating-stack.ts +0 -70
- package/src/lib/focus-left.ts +0 -156
- package/src/lib/format.ts +0 -522
- package/src/lib/http-status.ts +0 -38
- package/src/lib/iban.ts +0 -251
- package/src/lib/ime.ts +0 -24
- package/src/lib/intl-cache.ts +0 -25
- package/src/lib/iso-day.ts +0 -13
- package/src/lib/lazy-with-fallback.ts +0 -82
- package/src/lib/logger.ts +0 -69
- package/src/lib/minus.ts +0 -50
- package/src/lib/path-pattern.ts +0 -55
- package/src/lib/person-name.ts +0 -155
- package/src/lib/phone.ts +0 -208
- package/src/lib/plain-text.ts +0 -22
- package/src/lib/presence.ts +0 -18
- package/src/lib/qr-encode.ts +0 -444
- package/src/lib/quiet-focus.ts +0 -32
- package/src/lib/reduced-motion.ts +0 -22
- package/src/lib/refs.ts +0 -22
- package/src/lib/round.ts +0 -43
- package/src/lib/safe-storage.ts +0 -119
- package/src/lib/server-wake.ts +0 -315
- package/src/lib/session-refresh.ts +0 -472
- package/src/lib/share-format.ts +0 -18
- package/src/lib/status-tone.ts +0 -43
- package/src/lib/strip-fade.ts +0 -287
- package/src/lib/table-text.ts +0 -554
- package/src/lib/text-case.ts +0 -19
- package/src/lib/text-match.ts +0 -169
- package/src/lib/thenable.ts +0 -19
- package/src/lib/translation-review.ts +0 -717
- package/src/notifications/device-zone-report.ts +0 -67
- package/src/notifications/feedback-notification-types-labels.ts +0 -33
- package/src/notifications/feedback-notification-types.ts +0 -71
- package/src/notifications/notification-bell.tsx +0 -119
- package/src/notifications/notification-inbox.tsx +0 -309
- package/src/notifications/notification-parts.tsx +0 -81
- package/src/notifications/notification-types-setting.tsx +0 -406
- package/src/notifications/notification-types.ts +0 -89
- package/src/notifications/notifications-labels.ts +0 -287
- package/src/notifications/push-device-setting.tsx +0 -230
- package/src/notifications/push-devices-setting.tsx +0 -374
- package/src/notifications/push-worker.ts +0 -168
- package/src/notifications/quiet-hours-setting.tsx +0 -238
- package/src/notifications/unsubscribe-panel.tsx +0 -200
- package/src/notifications/use-push-device.ts +0 -448
- package/src/offline/local-first.ts +0 -100
- package/src/offline/pwa-update-prompt-labels.ts +0 -9
- package/src/offline/pwa-update-prompt.tsx +0 -78
- package/src/offline/query-persistence.ts +0 -391
- package/src/offline/service-worker-updates.ts +0 -81
- package/src/offline/shared-computer-labels.ts +0 -8
- package/src/offline/shared-computer.tsx +0 -87
- package/src/offline/sign-out-pending-dialog-labels.ts +0 -21
- package/src/offline/sign-out-pending-dialog.tsx +0 -135
- package/src/offline.ts +0 -37
- package/src/push-worker.ts +0 -25
- package/src/rhf/fields.tsx +0 -2187
- package/src/rhf/form-core.tsx +0 -324
- package/src/rhf/form.tsx +0 -12
- package/src/rhf/line-items.tsx +0 -135
- package/src/rhf/use-rhf-wizard-step.ts +0 -104
- package/src/rhf.ts +0 -21
- package/src/search/command-palette-labels.ts +0 -16
- package/src/search/command-palette.tsx +0 -624
- package/src/search/global-search-labels.ts +0 -13
- package/src/search/global-search.tsx +0 -660
- package/src/search/search-index.ts +0 -283
- package/src/search/use-command-key.ts +0 -23
- package/src/search.ts +0 -14
- package/src/settings/device-reset-setting-labels.ts +0 -20
- package/src/settings/device-reset-setting.tsx +0 -116
- package/src/settings/settings-card-classes.ts +0 -11
- package/src/settings/settings-catalogue.ts +0 -150
- package/src/settings/settings-context.ts +0 -33
- package/src/settings/settings-heading.tsx +0 -67
- package/src/settings/settings-labels.ts +0 -87
- package/src/settings/settings-layout.tsx +0 -471
- package/src/settings/settings-section.tsx +0 -108
- package/src/settings/use-account-appearance.ts +0 -148
- package/src/settings/use-account-language.ts +0 -146
- package/src/settings/use-settings-focus.ts +0 -128
- package/src/settings/use-settings-route.ts +0 -258
- package/src/shell/account-menu-language.tsx +0 -130
- package/src/shell/account-menu-text-size.tsx +0 -80
- package/src/shell/admin-menu.tsx +0 -183
- package/src/shell/app-shell-labels.ts +0 -11
- package/src/shell/app-shell.tsx +0 -1560
- package/src/shell/auth-layout.tsx +0 -186
- package/src/shell/company-switcher-labels.ts +0 -13
- package/src/shell/company-switcher.tsx +0 -136
- package/src/shell/dev-menu.tsx +0 -257
- package/src/shell/fill-height.tsx +0 -45
- package/src/shell/language-code.ts +0 -5
- package/src/shell/option-switcher-menu.tsx +0 -84
- package/src/shell/sync-status-indicator.tsx +0 -303
- package/src/shell/top-bar-actions.tsx +0 -87
- package/src/shell/top-bar-brand.tsx +0 -78
- package/src/shell/top-bar-parts-labels.ts +0 -148
- package/src/shell/top-bar.tsx +0 -40
- package/src/shell/topbar-action-menu.tsx +0 -567
- package/src/shell/topbar-controls.tsx +0 -269
- package/src/shell/tour-menu.tsx +0 -187
- package/src/shell.ts +0 -108
- package/src/sync/db.ts +0 -129
- package/src/sync/engine.ts +0 -1011
- package/src/sync/hooks.ts +0 -98
- package/src/sync/testing.ts +0 -73
- package/src/sync/wire.ts +0 -61
- package/src/sync.ts +0 -37
- package/src/table-text.ts +0 -8
- package/src/testing/css-variables.generated.ts +0 -112
- package/src/testing/css-variables.ts +0 -189
- package/src/testing/index.ts +0 -29
- package/src/testing/react.ts +0 -58
- package/src/testing/tour.ts +0 -41
- package/src/testing/viewport.ts +0 -357
- package/src/theme/chart-palette.ts +0 -232
- package/src/theme/color.ts +0 -272
- package/src/theme/contrast-tokens.ts +0 -268
- package/src/theme/contrast.ts +0 -250
- package/src/theme/palette-derive.ts +0 -825
- package/src/theme/palette-presets.ts +0 -544
- package/src/theme/palette-store.ts +0 -108
- package/src/theme/text-size.ts +0 -289
- package/src/theme/theme-store.ts +0 -157
- package/src/tour/tour-catalogue-labels.ts +0 -75
- package/src/tour/tour-catalogue.tsx +0 -335
- package/src/tour/tour-dock.ts +0 -134
- package/src/tour/tour-engine.ts +0 -37
- package/src/tour/tour-gates.ts +0 -218
- package/src/tour/tour-guide-button.tsx +0 -64
- package/src/tour/tour-guide-labels.ts +0 -15
- package/src/tour/tour-info.ts +0 -144
- package/src/tour/tour-labels.ts +0 -23
- package/src/tour/tour-overlay.tsx +0 -1170
- package/src/tour/tour.tsx +0 -750
- package/src/tour/use-tour-progress.ts +0 -671
- package/src/tour/use-tour-url-sync.ts +0 -266
- package/src/tour.ts +0 -21
- package/src/vite-env.d.ts +0 -23
- package/src/wizard/stepper-nav.tsx +0 -360
- package/src/wizard/types.ts +0 -275
- package/src/wizard/use-wizard.ts +0 -560
- package/src/wizard/validation.ts +0 -39
- package/src/wizard/wizard-context.tsx +0 -74
- package/src/wizard/wizard-labels.ts +0 -29
- package/src/wizard/wizard-step.tsx +0 -76
- package/src/wizard/wizard-summary.tsx +0 -84
- package/src/wizard.ts +0 -15
|
@@ -1,518 +0,0 @@
|
|
|
1
|
-
// The two-date range picker: presets beside the calendar, `apply` drafts, a custom
|
|
2
|
-
// trigger. Moved out of date-picker.tsx as it was (MOD-9, refactor audit
|
|
3
|
-
// 2026-10); date-picker still exports every public name here.
|
|
4
|
-
import { useState } from "react";
|
|
5
|
-
import type { ReactNode } from "react";
|
|
6
|
-
import { cn } from "../lib/cn";
|
|
7
|
-
import { useKitLocale, type DatePickerLabels } from "../i18n/kit-labels";
|
|
8
|
-
import { Button } from "./button";
|
|
9
|
-
import { FieldBox, LockedReason, useFieldMessages, useLockReason } from "./field-parts";
|
|
10
|
-
import type { CommitScope } from "./write-lock";
|
|
11
|
-
import { usePhoneLayout } from "../hooks/use-breakpoint";
|
|
12
|
-
import {
|
|
13
|
-
DateField,
|
|
14
|
-
useDatePickerLabels,
|
|
15
|
-
useTriggerFormat,
|
|
16
|
-
withEndHint,
|
|
17
|
-
type DatePickerBaseProps,
|
|
18
|
-
type DateTriggerAttributes,
|
|
19
|
-
type PanelFrame,
|
|
20
|
-
} from "./date-field";
|
|
21
|
-
import { PanelCalendar, type PanelCalendarProps } from "./jump-calendar";
|
|
22
|
-
|
|
23
|
-
export interface DateRangePickerPreset {
|
|
24
|
-
/**
|
|
25
|
-
* The preset's identity, independent of its dates — `"last_3_months"`, not two ISO
|
|
26
|
-
* strings. Optional for the 0.x callers that pass anonymous pairs.
|
|
27
|
-
*
|
|
28
|
-
* keksdose's report range field (report-range-field.tsx, "Why this is app-level")
|
|
29
|
-
* is why it exists: its URL stores `?preset=last_3_months` and recomputes the dates
|
|
30
|
-
* from today on every read, so a preset that is only its dates froze "last 3 months"
|
|
31
|
-
* at whatever day the panel rendered, and two presets that happen to cover the same
|
|
32
|
-
* days (this week and today, on a Monday) could not be told apart. With an `id` the
|
|
33
|
-
* choice is reported to `onChange` and shown as selected for as long as the range
|
|
34
|
-
* still matches it. Recompute `from`/`to` on every render (`calendarMonthPresets()`,
|
|
35
|
-
* `dateRangePresets()`) and pass the key as the id.
|
|
36
|
-
*/
|
|
37
|
-
id?: string;
|
|
38
|
-
label: ReactNode;
|
|
39
|
-
from: string;
|
|
40
|
-
to: string;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export interface DateRangePickerProps extends DatePickerBaseProps {
|
|
44
|
-
from: string;
|
|
45
|
-
to: string;
|
|
46
|
-
/** The committed range. `presetId` is the chosen preset's `id` when a preset
|
|
47
|
-
* produced it (and the range was not nudged since), `undefined` for days picked by
|
|
48
|
-
* hand. A 0.x two-argument handler simply ignores it. */
|
|
49
|
-
onChange: (from: string, to: string, presetId?: string) => void;
|
|
50
|
-
/** Separator between the two formatted dates in the trigger (default " – "). */
|
|
51
|
-
separator?: string;
|
|
52
|
-
/** Optional named ranges rendered as a start-side column (last month / YTD / …).
|
|
53
|
-
* `readonly` since 0.52 (API-7): the picker never changes the list. */
|
|
54
|
-
presets?: readonly DateRangePickerPreset[];
|
|
55
|
-
/**
|
|
56
|
-
* The active preset's `id`, controlled — e.g. straight from keksdose's `?preset=`.
|
|
57
|
-
* `null` (or an id no preset has, such as `"custom"`) says "no preset": nothing in
|
|
58
|
-
* the column is marked even if a preset happens to cover the same days. A preset is
|
|
59
|
-
* marked only while its dates still equal `from`/`to`.
|
|
60
|
-
*
|
|
61
|
-
* Leave it `undefined` and the picker remembers the last preset it committed
|
|
62
|
-
* itself; with no memory at all it falls back to the first preset whose dates match.
|
|
63
|
-
*/
|
|
64
|
-
preset?: string | null;
|
|
65
|
-
/**
|
|
66
|
-
* When the picker hands its range to `onChange`.
|
|
67
|
-
*
|
|
68
|
-
* - Left out (the default, and all of 0.7): a preset click commits and closes, and
|
|
69
|
-
* each calendar click is reported as it happens — the half-made `(from, "")`
|
|
70
|
-
* included. The right shape for quick ranges on a filter, where one click is one
|
|
71
|
-
* answer.
|
|
72
|
-
* - `apply`: the panel works on a DRAFT. A preset ARMS the calendar instead of
|
|
73
|
-
* committing, days can then be nudged ("last 3 months, but end it last Friday"),
|
|
74
|
-
* and nothing reaches `onChange` until Apply — which stays disabled until both ends
|
|
75
|
-
* exist. Cancel, Escape and an outside click discard the draft, and every open
|
|
76
|
-
* starts again from the committed value. keksdose's report range asked for exactly
|
|
77
|
-
* this: each commit there re-runs a whole page of charts, so an intermediate state
|
|
78
|
-
* must never escape the panel.
|
|
79
|
-
*
|
|
80
|
-
* `commit="apply"` until 0.52 (refactor audit 2026-10-30, API-3): `commit` is the write
|
|
81
|
-
* lock's prop on every other kit control. The old spelling went in 0.53.
|
|
82
|
-
*/
|
|
83
|
-
apply?: boolean;
|
|
84
|
-
/**
|
|
85
|
-
* This picker COMMITS — picking a range saves it (a report's period kept per user, a
|
|
86
|
-
* filter persisted as it moves). Under a locked {@link WriteLockProvider} it is locked
|
|
87
|
-
* the `disabledReason` way, with the lock's reason; a {@link CommitScope}, as on every
|
|
88
|
-
* kit control since 0.33, and on this one since 0.52 (API-3). A range inside a form with
|
|
89
|
-
* its own Save stays editable under the lock — leave this off there.
|
|
90
|
-
*
|
|
91
|
-
* The strings `"immediate"` and `"apply"`, the panel's mode in 0.x, went in 0.53
|
|
92
|
-
* (deprecated in 0.52): `apply` is the mode.
|
|
93
|
-
*/
|
|
94
|
-
commit?: CommitScope;
|
|
95
|
-
/**
|
|
96
|
-
* Draw the trigger yourself. keksdose's report range field
|
|
97
|
-
* (reports/report-range-field.tsx, "Why this is app-level") is why: its trigger
|
|
98
|
-
* NAMES the active preset ("Last 3 months", the window as a muted suffix) where the
|
|
99
|
-
* kit's shows two dates, sits inside a Tooltip, and is squared off on one side so the
|
|
100
|
-
* granularity control can join it flush at the field's 42px.
|
|
101
|
-
*
|
|
102
|
-
* Spread `props.triggerProps` onto a `<button>` whole and put `props.valueProps` on
|
|
103
|
-
* the element that shows the value — see {@link DateTriggerAttributes} for what each
|
|
104
|
-
* part is for. The field around it (label, hidden name twin, clear/calendar glyph,
|
|
105
|
-
* popover or phone sheet) is unchanged.
|
|
106
|
-
*/
|
|
107
|
-
renderTrigger?: (props: DateRangeTriggerRenderProps) => ReactNode;
|
|
108
|
-
/**
|
|
109
|
-
* In the phone layout (`usePhoneLayout()`) the panel opens as a full-screen sheet (`FullBleedDialog`)
|
|
110
|
-
* with presets in a grid above the calendar and Apply pinned in the footer, instead
|
|
111
|
-
* of the 440px popover that hung off a 360px screen (keksdose's report range field,
|
|
112
|
-
* which hand-rolled exactly this). This is its `backCloses`: on by default, so Back
|
|
113
|
-
* dismisses the sheet; off for a caller whose commit rewrites the URL with
|
|
114
|
-
* `replaceState` in the same tick — keksdose's `?preset/from/to` — where the router
|
|
115
|
-
* would overwrite the sheet's history marker.
|
|
116
|
-
*/
|
|
117
|
-
sheetBackCloses?: boolean;
|
|
118
|
-
/**
|
|
119
|
-
* With `apply`: a line above the calendar saying what Apply would commit —
|
|
120
|
-
* keksdose's report range writes "Custom · 1 Mar 2026 – …" there
|
|
121
|
-
* (report-range-field.tsx), the one place a preset armed and then nudged by a day is
|
|
122
|
-
* seen to have become "Custom", and a half-made range to still lack its end. Called
|
|
123
|
-
* with the DRAFT on every change, in the popover and the phone sheet alike; `preset`
|
|
124
|
-
* is the preset the column marks for it (none once a day was picked by hand), `to` is
|
|
125
|
-
* `""` until the second click. The line is a polite live region, so a screen reader
|
|
126
|
-
* hears the draft change as the calendar is used.
|
|
127
|
-
*
|
|
128
|
-
* Ignored without `apply`, where there is no draft: every click is the value.
|
|
129
|
-
*/
|
|
130
|
-
renderDraftSummary?: (draft: DateRangeDraftSummary) => ReactNode;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
/** What {@link DateRangePickerProps.renderDraftSummary} is called with. */
|
|
134
|
-
export interface DateRangeDraftSummary {
|
|
135
|
-
from: string;
|
|
136
|
-
to: string;
|
|
137
|
-
/** The preset the column marks for the draft, if any. */
|
|
138
|
-
preset: DateRangePickerPreset | undefined;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
/** What {@link DateRangePickerProps.renderTrigger} is called with. */
|
|
142
|
-
export interface DateRangeTriggerRenderProps {
|
|
143
|
-
/** Spread onto the `<button>`, whole. Merge your class after `triggerProps.className`. */
|
|
144
|
-
triggerProps: DateTriggerAttributes;
|
|
145
|
-
/** Put on the element showing the value: the trigger is named "label, value" by
|
|
146
|
-
* reference to this id. Without it the name is the label alone. */
|
|
147
|
-
valueProps: { id: string };
|
|
148
|
-
open: boolean;
|
|
149
|
-
from: string;
|
|
150
|
-
to: string;
|
|
151
|
-
/** The preset the column marks for the committed range, if any — the one to name. */
|
|
152
|
-
preset: DateRangePickerPreset | undefined;
|
|
153
|
-
/** What the kit's own trigger would show: the formatted range, or the placeholder. */
|
|
154
|
-
text: string;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
interface RangeDraft {
|
|
158
|
-
from: string;
|
|
159
|
-
to: string;
|
|
160
|
-
presetId: string | undefined;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
/** Which preset (by index) the column marks, or -1. See `DateRangePickerProps.preset`. */
|
|
164
|
-
function markedPreset(
|
|
165
|
-
presets: readonly DateRangePickerPreset[],
|
|
166
|
-
from: string,
|
|
167
|
-
to: string,
|
|
168
|
-
activeId: string | null | undefined,
|
|
169
|
-
controlled: boolean,
|
|
170
|
-
): number {
|
|
171
|
-
const matches = (p: DateRangePickerPreset) => p.from === from && p.to === to;
|
|
172
|
-
if (activeId != null) {
|
|
173
|
-
const byId = presets.findIndex((p) => p.id === activeId && matches(p));
|
|
174
|
-
if (byId !== -1 || controlled) return byId;
|
|
175
|
-
} else if (controlled) {
|
|
176
|
-
return -1;
|
|
177
|
-
}
|
|
178
|
-
return presets.findIndex(matches);
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
/**
|
|
182
|
-
* The preset column: a named group of toggle buttons, `aria-pressed` on the marked one.
|
|
183
|
-
* Pressed-state rather than colour alone, because "which range is this" is the one
|
|
184
|
-
* thing a screen-reader user opening the panel needs to hear.
|
|
185
|
-
*/
|
|
186
|
-
function PresetColumn({
|
|
187
|
-
presets,
|
|
188
|
-
marked,
|
|
189
|
-
label,
|
|
190
|
-
onPick,
|
|
191
|
-
sheet,
|
|
192
|
-
}: {
|
|
193
|
-
presets: readonly DateRangePickerPreset[];
|
|
194
|
-
marked: number;
|
|
195
|
-
label: string;
|
|
196
|
-
onPick: (p: DateRangePickerPreset) => void;
|
|
197
|
-
/** The phone sheet's shape: a two-column grid ABOVE the calendar with 44px rows —
|
|
198
|
-
* a 128px column beside a month grid leaves the grid ~200px on a 360px screen. */
|
|
199
|
-
sheet?: boolean;
|
|
200
|
-
}) {
|
|
201
|
-
return (
|
|
202
|
-
// `border-e`/`pe`, not `-r`: the preset column is on the START side, and the rule
|
|
203
|
-
// between it and the calendar has to follow it in a right-to-left UI.
|
|
204
|
-
<div
|
|
205
|
-
role="group"
|
|
206
|
-
aria-label={label}
|
|
207
|
-
className={sheet ? "grid grid-cols-2 gap-0.5" : "flex w-32 shrink-0 flex-col gap-0.5 border-e border-subtle pe-2"}
|
|
208
|
-
>
|
|
209
|
-
{presets.map((p, i) => {
|
|
210
|
-
const selected = i === marked;
|
|
211
|
-
return (
|
|
212
|
-
<button
|
|
213
|
-
key={p.id ?? i}
|
|
214
|
-
type="button"
|
|
215
|
-
aria-pressed={selected}
|
|
216
|
-
data-preset={p.id}
|
|
217
|
-
onClick={() => onPick(p)}
|
|
218
|
-
className={cn(
|
|
219
|
-
"rounded px-2 text-start",
|
|
220
|
-
// 44px on a phone: the kit's touch-target size (`SHEET_ROW_CLASS`).
|
|
221
|
-
sheet ? "min-h-11 py-2 text-sm" : "py-1.5 text-xs",
|
|
222
|
-
selected ? "bg-active font-medium text-primary" : "text-secondary hover:bg-hover",
|
|
223
|
-
)}
|
|
224
|
-
>
|
|
225
|
-
{p.label}
|
|
226
|
-
</button>
|
|
227
|
-
);
|
|
228
|
-
})}
|
|
229
|
-
</div>
|
|
230
|
-
);
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
/**
|
|
234
|
-
* The panel's body. A component of its own so `apply` can keep its draft in state that
|
|
235
|
-
* is born when the panel opens: `Popover` unmounts its children on close,
|
|
236
|
-
* so the draft is re-seeded from the committed value on every open, and an abandoned
|
|
237
|
-
* half-selection cannot survive into the next one.
|
|
238
|
-
*/
|
|
239
|
-
function RangePanel({
|
|
240
|
-
from,
|
|
241
|
-
to,
|
|
242
|
-
presets,
|
|
243
|
-
activeId,
|
|
244
|
-
controlled,
|
|
245
|
-
drafting,
|
|
246
|
-
close,
|
|
247
|
-
frame,
|
|
248
|
-
sheet,
|
|
249
|
-
commitRange,
|
|
250
|
-
calendarProps,
|
|
251
|
-
labels,
|
|
252
|
-
renderDraftSummary,
|
|
253
|
-
}: {
|
|
254
|
-
from: string;
|
|
255
|
-
to: string;
|
|
256
|
-
presets: readonly DateRangePickerPreset[] | undefined;
|
|
257
|
-
activeId: string | null | undefined;
|
|
258
|
-
controlled: boolean;
|
|
259
|
-
/** `apply`: the panel works on a draft. */
|
|
260
|
-
drafting: boolean;
|
|
261
|
-
close: () => void;
|
|
262
|
-
/** Where the body and the Apply row go — see `PanelFrame`. */
|
|
263
|
-
frame: PanelFrame;
|
|
264
|
-
sheet: boolean;
|
|
265
|
-
commitRange: (from: string, to: string, presetId: string | undefined) => void;
|
|
266
|
-
calendarProps: Pick<PanelCalendarProps, "locale" | "min" | "max" | "labels" | "monthJump">;
|
|
267
|
-
labels: DatePickerLabels;
|
|
268
|
-
renderDraftSummary?: DateRangePickerProps["renderDraftSummary"];
|
|
269
|
-
}) {
|
|
270
|
-
const [draft, setDraft] = useState<RangeDraft>({
|
|
271
|
-
from,
|
|
272
|
-
to,
|
|
273
|
-
presetId: activeId ?? undefined,
|
|
274
|
-
});
|
|
275
|
-
// What the panel SHOWS: the draft while drafting, the committed value otherwise.
|
|
276
|
-
const shown = drafting ? draft : { from, to, presetId: activeId ?? undefined };
|
|
277
|
-
const marked = presets
|
|
278
|
-
? markedPreset(presets, shown.from, shown.to, drafting ? draft.presetId : activeId, drafting || controlled)
|
|
279
|
-
: -1;
|
|
280
|
-
const complete = Boolean(draft.from && draft.to);
|
|
281
|
-
|
|
282
|
-
const summary =
|
|
283
|
-
drafting && renderDraftSummary
|
|
284
|
-
? renderDraftSummary({ from: draft.from, to: draft.to, preset: presets?.[marked] })
|
|
285
|
-
: null;
|
|
286
|
-
|
|
287
|
-
const picker = (
|
|
288
|
-
<PanelCalendar
|
|
289
|
-
{...calendarProps}
|
|
290
|
-
focusOnOpen
|
|
291
|
-
from={shown.from}
|
|
292
|
-
to={shown.to}
|
|
293
|
-
onSelect={(f, t) => {
|
|
294
|
-
if (drafting) {
|
|
295
|
-
setDraft({ from: f, to: t, presetId: undefined });
|
|
296
|
-
return;
|
|
297
|
-
}
|
|
298
|
-
commitRange(f, t, undefined);
|
|
299
|
-
// Two-click range: only dismiss once both ends are chosen.
|
|
300
|
-
if (f && t) close();
|
|
301
|
-
}}
|
|
302
|
-
/>
|
|
303
|
-
);
|
|
304
|
-
// The summary heads the CALENDAR's column, not the panel: beside a preset column it
|
|
305
|
-
// reads as the calendar's caption, and in the sheet it sits between the presets and
|
|
306
|
-
// the month it describes. `null` renders no line — a caller may opt out per draft —
|
|
307
|
-
// but keeps the wrapper, so the calendar is not remounted (and its month and focus
|
|
308
|
-
// lost) when a line comes or goes.
|
|
309
|
-
const calendar =
|
|
310
|
-
drafting && renderDraftSummary ? (
|
|
311
|
-
<div className="flex flex-col gap-2">
|
|
312
|
-
{summary != null && (
|
|
313
|
-
<div aria-live="polite" data-draft-summary="" className="text-xs text-muted">
|
|
314
|
-
{summary}
|
|
315
|
-
</div>
|
|
316
|
-
)}
|
|
317
|
-
{picker}
|
|
318
|
-
</div>
|
|
319
|
-
) : (
|
|
320
|
-
picker
|
|
321
|
-
);
|
|
322
|
-
|
|
323
|
-
const body =
|
|
324
|
-
presets && presets.length > 0 ? (
|
|
325
|
-
<div className={sheet ? "flex flex-col gap-3" : "flex gap-3"}>
|
|
326
|
-
<PresetColumn
|
|
327
|
-
sheet={sheet}
|
|
328
|
-
presets={presets}
|
|
329
|
-
marked={marked}
|
|
330
|
-
label={labels.presets}
|
|
331
|
-
onPick={(p) => {
|
|
332
|
-
if (drafting) {
|
|
333
|
-
setDraft({ from: p.from, to: p.to, presetId: p.id });
|
|
334
|
-
return;
|
|
335
|
-
}
|
|
336
|
-
commitRange(p.from, p.to, p.id);
|
|
337
|
-
close();
|
|
338
|
-
}}
|
|
339
|
-
/>
|
|
340
|
-
{/* `flex-1`: the calendar takes the rest of the panel. Content-sized it was
|
|
341
|
-
seven tiny cells beside a wide preset column. */}
|
|
342
|
-
<div className="min-w-0 flex-1">{calendar}</div>
|
|
343
|
-
</div>
|
|
344
|
-
) : (
|
|
345
|
-
calendar
|
|
346
|
-
);
|
|
347
|
-
|
|
348
|
-
if (!drafting) return frame(body);
|
|
349
|
-
return frame(
|
|
350
|
-
body,
|
|
351
|
-
<>
|
|
352
|
-
{/* `flex-1` in the sheet: two thumb-wide halves of the footer, not two small
|
|
353
|
-
buttons in its corner. */}
|
|
354
|
-
<Button type="button" variant="ghost" className={sheet ? "flex-1" : undefined} onClick={close}>
|
|
355
|
-
{labels.cancel}
|
|
356
|
-
</Button>
|
|
357
|
-
<Button
|
|
358
|
-
type="button"
|
|
359
|
-
className={sheet ? "flex-1" : undefined}
|
|
360
|
-
// A half-made `(from, "")` would commit a window with no end — a blank
|
|
361
|
-
// report, one click into a two-click gesture.
|
|
362
|
-
disabled={!complete}
|
|
363
|
-
onClick={() => {
|
|
364
|
-
if (!complete) return;
|
|
365
|
-
commitRange(draft.from, draft.to, draft.presetId);
|
|
366
|
-
close();
|
|
367
|
-
}}
|
|
368
|
-
>
|
|
369
|
-
{labels.apply}
|
|
370
|
-
</Button>
|
|
371
|
-
</>,
|
|
372
|
-
);
|
|
373
|
-
}
|
|
374
|
-
|
|
375
|
-
/** Two-date range picker: click a start then an end; closes once both are set.
|
|
376
|
-
* With `presets`, a column of named ranges is shown beside the calendar; with `apply`
|
|
377
|
-
* the panel drafts and commits on Apply (see {@link DateRangePickerProps.apply}). */
|
|
378
|
-
export function DateRangePicker(props: DateRangePickerProps) {
|
|
379
|
-
const {
|
|
380
|
-
from,
|
|
381
|
-
to,
|
|
382
|
-
onChange,
|
|
383
|
-
locale: localeProp,
|
|
384
|
-
placeholder,
|
|
385
|
-
min,
|
|
386
|
-
max,
|
|
387
|
-
formatOptions,
|
|
388
|
-
formatValue,
|
|
389
|
-
separator = " – ",
|
|
390
|
-
presets,
|
|
391
|
-
preset,
|
|
392
|
-
apply,
|
|
393
|
-
commit,
|
|
394
|
-
renderTrigger,
|
|
395
|
-
sheetBackCloses,
|
|
396
|
-
renderDraftSummary,
|
|
397
|
-
calendarLabels,
|
|
398
|
-
monthJump,
|
|
399
|
-
label,
|
|
400
|
-
clearable,
|
|
401
|
-
clearLabel,
|
|
402
|
-
disabled,
|
|
403
|
-
disabledReason,
|
|
404
|
-
disabledReasonDisplay,
|
|
405
|
-
invalid,
|
|
406
|
-
hint,
|
|
407
|
-
help,
|
|
408
|
-
error,
|
|
409
|
-
className,
|
|
410
|
-
// The trigger's (API-3).
|
|
411
|
-
ref,
|
|
412
|
-
...rest
|
|
413
|
-
} = props;
|
|
414
|
-
const locale = useKitLocale(localeProp);
|
|
415
|
-
const text = useDatePickerLabels(clearLabel, undefined, undefined);
|
|
416
|
-
const render = useTriggerFormat("dateRangePicker", locale, formatOptions, formatValue);
|
|
417
|
-
const drafting = apply ?? false;
|
|
418
|
-
const lock = useLockReason(commit, disabledReason);
|
|
419
|
-
const locked = lock.locked;
|
|
420
|
-
const messages = useFieldMessages({
|
|
421
|
-
hint,
|
|
422
|
-
help,
|
|
423
|
-
name: label ?? rest["aria-label"],
|
|
424
|
-
error,
|
|
425
|
-
invalid,
|
|
426
|
-
describedBy: rest["aria-describedby"],
|
|
427
|
-
ariaInvalid: rest["aria-invalid"],
|
|
428
|
-
// A lock's reason between the caption and the error, as on Select.
|
|
429
|
-
reasonId: locked && lock.reasonId,
|
|
430
|
-
});
|
|
431
|
-
// The preset this picker committed itself, for a caller that does not control
|
|
432
|
-
// `preset`. Cleared by a hand-picked range or a clear.
|
|
433
|
-
const [ownPreset, setOwnPreset] = useState<string | undefined>(undefined);
|
|
434
|
-
const controlled = preset !== undefined;
|
|
435
|
-
const activeId = controlled ? preset : ownPreset;
|
|
436
|
-
const a = from ? render(from) : "";
|
|
437
|
-
const b = to ? render(to) : "";
|
|
438
|
-
const triggerText = from ? (to ? `${a}${separator}${b}` : `${a}${separator}…`) : (placeholder ?? "");
|
|
439
|
-
const hasPresets = Boolean(presets && presets.length > 0);
|
|
440
|
-
const sheet = usePhoneLayout();
|
|
441
|
-
const commitRange = (f: string, t: string, presetId: string | undefined) => {
|
|
442
|
-
if (locked) return;
|
|
443
|
-
setOwnPreset(presetId);
|
|
444
|
-
// Two arguments when no preset is involved — exactly the 0.7 call, so a caller's
|
|
445
|
-
// `toHaveBeenCalledWith(from, to)` and a variadic handler see no difference.
|
|
446
|
-
if (presetId === undefined) onChange(f, t);
|
|
447
|
-
else onChange(f, t, presetId);
|
|
448
|
-
};
|
|
449
|
-
const field = (
|
|
450
|
-
<DateField
|
|
451
|
-
{...rest}
|
|
452
|
-
fieldRef={ref}
|
|
453
|
-
aria-describedby={messages.describedBy}
|
|
454
|
-
label={label}
|
|
455
|
-
labelHint={messages.labelHint}
|
|
456
|
-
clearable={clearable}
|
|
457
|
-
clearLabel={text.clear}
|
|
458
|
-
panelLabel={text.rangePanel}
|
|
459
|
-
disabled={disabled}
|
|
460
|
-
locked={locked}
|
|
461
|
-
// Locked, the caller's classes are the reason's frame's (below).
|
|
462
|
-
className={locked ? undefined : className}
|
|
463
|
-
invalid={messages.isInvalid}
|
|
464
|
-
// Widen so the preset column sits beside the calendar (default otherwise).
|
|
465
|
-
width={hasPresets ? "27.5rem" : undefined}
|
|
466
|
-
hasValue={Boolean(from || to)}
|
|
467
|
-
triggerText={triggerText}
|
|
468
|
-
onClear={() => commitRange("", "", undefined)}
|
|
469
|
-
sheet={sheet}
|
|
470
|
-
sheetBackCloses={sheetBackCloses}
|
|
471
|
-
renderTrigger={
|
|
472
|
-
renderTrigger &&
|
|
473
|
-
((triggerProps, valueId) =>
|
|
474
|
-
renderTrigger({
|
|
475
|
-
triggerProps,
|
|
476
|
-
valueProps: { id: valueId },
|
|
477
|
-
open: triggerProps["aria-expanded"],
|
|
478
|
-
from,
|
|
479
|
-
to,
|
|
480
|
-
preset: presets?.[markedPreset(presets, from, to, activeId, controlled)],
|
|
481
|
-
text: triggerText,
|
|
482
|
-
}))
|
|
483
|
-
}
|
|
484
|
-
>
|
|
485
|
-
{(close, frame) => (
|
|
486
|
-
<RangePanel
|
|
487
|
-
from={from}
|
|
488
|
-
to={to}
|
|
489
|
-
presets={presets}
|
|
490
|
-
activeId={activeId}
|
|
491
|
-
controlled={controlled}
|
|
492
|
-
drafting={drafting}
|
|
493
|
-
close={close}
|
|
494
|
-
frame={frame}
|
|
495
|
-
sheet={sheet}
|
|
496
|
-
commitRange={commitRange}
|
|
497
|
-
calendarProps={{ locale, min, max, labels: calendarLabels, monthJump }}
|
|
498
|
-
labels={text}
|
|
499
|
-
renderDraftSummary={renderDraftSummary}
|
|
500
|
-
/>
|
|
501
|
-
)}
|
|
502
|
-
</DateField>
|
|
503
|
-
);
|
|
504
|
-
const box = withEndHint(field, label === undefined ? messages.labelHint : undefined);
|
|
505
|
-
return (
|
|
506
|
-
<FieldBox below={messages.below} reserve={"error" in props || "hint" in props}>
|
|
507
|
-
{locked ? (
|
|
508
|
-
// DatePicker's frame: the line under the field, or the Tooltip with a hidden copy
|
|
509
|
-
// for `aria-describedby`; the outermost box, so it takes the caller's classes.
|
|
510
|
-
<LockedReason lock={lock} display={disabledReasonDisplay} className={cn("block", className)}>
|
|
511
|
-
{box}
|
|
512
|
-
</LockedReason>
|
|
513
|
-
) : (
|
|
514
|
-
box
|
|
515
|
-
)}
|
|
516
|
-
</FieldBox>
|
|
517
|
-
);
|
|
518
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
// The English words of ./description-list, in a module with no component code: the English
|
|
2
|
-
// catalogue (src/i18n/defaults.ts) imports them without the component, so `en` loads as one
|
|
3
|
-
// chunk like the other languages (0.34, KS U8). ./description-list re-exports them.
|
|
4
|
-
|
|
5
|
-
import type { DescriptionListLabels } from "./description-list";
|
|
6
|
-
|
|
7
|
-
export const DEFAULT_DESCRIPTION_LIST_LABELS: DescriptionListLabels = {
|
|
8
|
-
empty: "—",
|
|
9
|
-
};
|