@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,11 +0,0 @@
|
|
|
1
|
-
// The English words of ./server-wake, 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). ./server-wake re-exports them.
|
|
4
|
-
|
|
5
|
-
import type { ServerWakeLabels } from "./server-wake";
|
|
6
|
-
|
|
7
|
-
export const DEFAULT_SERVER_WAKE_LABELS: ServerWakeLabels = {
|
|
8
|
-
slow: "Still loading — this is taking longer than usual.",
|
|
9
|
-
waking: (appName) =>
|
|
10
|
-
`The server goes to sleep when nobody is using ${appName ?? "the app"}, so the first request after a break has to start it again. That can take a moment — nothing is lost, the page fills in by itself.`,
|
|
11
|
-
};
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
import { useSyncExternalStore } from "react";
|
|
2
|
-
|
|
3
|
-
import { useKitLabels, type LabelOverride } from "../i18n/kit-labels";
|
|
4
|
-
import { cn } from "../lib/cn";
|
|
5
|
-
import { serverWake } from "../lib/server-wake";
|
|
6
|
-
import type { ServerWakeStage, ServerWakeWatcher } from "../lib/server-wake";
|
|
7
|
-
import { AlertBanner } from "./alert-banner";
|
|
8
|
-
import { Spinner } from "./spinner";
|
|
9
|
-
import { DEFAULT_SERVER_WAKE_LABELS } from "./server-wake-labels";
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* The visible half of the cold-start watchdog (`lib/server-wake.ts`), keksdose's
|
|
13
|
-
* `app/server-wake-notice.tsx` lifted into the kit: after a couple of seconds of an
|
|
14
|
-
* unanswered read it says the app is still loading, and after seven it says WHY — the
|
|
15
|
-
* server sleeps when nobody is using it, and the first request has to start it again.
|
|
16
|
-
*
|
|
17
|
-
* Non-blocking on purpose. The pages underneath already show their own skeletons; what
|
|
18
|
-
* was missing is the explanation, not another overlay.
|
|
19
|
-
*
|
|
20
|
-
* **At the top, centred, and it takes no taps** (0.34, round C13; keksdose live #399:
|
|
21
|
-
* *"Move the notification to the top where it can be better seen and not block any
|
|
22
|
-
* sticky elements."*). Until 0.34 it sat in the bottom-start corner above the phone's
|
|
23
|
-
* nav — exactly where a phone keeps what floats: a register's action group, a
|
|
24
|
-
* FloatingActionButton, a dialog's sticky Create/Cancel footer — and a cold start is
|
|
25
|
-
* when that Create is wanted first. It rose above a FloatingActionButton it measured,
|
|
26
|
-
* but a sticky footer is not one. The top bar is the one band whose contents nobody
|
|
27
|
-
* needs while the server is still waking, and `pointer-events-none` lets a tap through
|
|
28
|
-
* to whatever the notice does cover: it is a status line with nothing in it to press.
|
|
29
|
-
* Below the status bar and inside the side insets of a notched phone (`safe-area-inset-*`);
|
|
30
|
-
* its width is in rem, so at the Large text size it is wider and wraps less, and the
|
|
31
|
-
* screen's edges still stop it. The toasts stay readable: a phone shows them at the
|
|
32
|
-
* bottom, and a desktop `TOASTER_OFFSET_TOP` (4rem) down, where they draw over a long
|
|
33
|
-
* notice rather than under it (`--z-toast` is above this `z-50`).
|
|
34
|
-
*
|
|
35
|
-
* Mount it next to the router, not inside the app layout, so it also covers the login
|
|
36
|
-
* screen and the landing page — a cold start is at its most confusing exactly there,
|
|
37
|
-
* before anything of the app is on screen.
|
|
38
|
-
*/
|
|
39
|
-
|
|
40
|
-
// ── Labels ────────────────────────────────────────────────────────────────────
|
|
41
|
-
|
|
42
|
-
export interface ServerWakeLabels {
|
|
43
|
-
/** Past `slowMs` (2 s): a warm server would have answered by now. */
|
|
44
|
-
slow: string;
|
|
45
|
-
/** Past `wakingMs` (7 s): the explanation. `appName` is the notice's prop; without
|
|
46
|
-
* one the sentence says "the app". */
|
|
47
|
-
waking: (appName?: string) => string;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
// Defined in ./server-wake-labels, which holds no component code (0.34, KS U8).
|
|
51
|
-
export { DEFAULT_SERVER_WAKE_LABELS };
|
|
52
|
-
|
|
53
|
-
// ── Hook ──────────────────────────────────────────────────────────────────────
|
|
54
|
-
|
|
55
|
-
/** The watcher's current stage, re-rendering on every change. Default: the shared
|
|
56
|
-
* {@link serverWake} instance. */
|
|
57
|
-
export function useServerWakeStage(watcher: ServerWakeWatcher = serverWake): ServerWakeStage {
|
|
58
|
-
// The server snapshot is `idle`: nothing is in flight while the HTML is rendered.
|
|
59
|
-
return useSyncExternalStore(watcher.subscribe, watcher.getStage, () => "idle");
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
// ── Notice ────────────────────────────────────────────────────────────────────
|
|
63
|
-
|
|
64
|
-
export interface ServerWakeNoticeProps {
|
|
65
|
-
/** Default: the shared {@link serverWake} instance. Pass the app's own when it was
|
|
66
|
-
* made with {@link createServerWake} (e.g. to watch the login POST too). */
|
|
67
|
-
watcher?: ServerWakeWatcher;
|
|
68
|
-
/** Named in the `waking` sentence ("…when nobody is using Keksdose…"). Default: the
|
|
69
|
-
* label says "the app". */
|
|
70
|
-
appName?: string;
|
|
71
|
-
labels?: LabelOverride<ServerWakeLabels>;
|
|
72
|
-
/** Extra classes on the fixed anchor — a different width (`max-w-*`), or another
|
|
73
|
-
* `top-*` for an app that wants it under its top bar rather than over it. Merged, so
|
|
74
|
-
* a class given here replaces the kit's of the same kind. */
|
|
75
|
-
className?: string;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* Renders nothing visible while idle. The LIVE REGION, though, is always mounted: a
|
|
80
|
-
* `role="status"` element inserted together with its text is announced unreliably
|
|
81
|
-
* (several screen readers only speak changes to a region they already knew about),
|
|
82
|
-
* so the region waits empty and the banner appears inside it. keksdose's notice
|
|
83
|
-
* mounted the region and the words at once.
|
|
84
|
-
*/
|
|
85
|
-
export function ServerWakeNotice({ watcher, appName, labels: labelsProp, className }: ServerWakeNoticeProps) {
|
|
86
|
-
const labels = useKitLabels("serverWake", DEFAULT_SERVER_WAKE_LABELS, labelsProp);
|
|
87
|
-
const stage = useServerWakeStage(watcher);
|
|
88
|
-
const waking = stage === "waking";
|
|
89
|
-
|
|
90
|
-
return (
|
|
91
|
-
<div
|
|
92
|
-
role="status"
|
|
93
|
-
aria-live="polite"
|
|
94
|
-
data-stage={stage}
|
|
95
|
-
className={cn(
|
|
96
|
-
// Centred at the top (keksdose live #399): `left`/`right` hold it inside the
|
|
97
|
-
// side insets of a notched phone held sideways, `w-fit` + `mx-auto` centre it
|
|
98
|
-
// between them, and `top` puts it under the status bar.
|
|
99
|
-
"fixed z-50 mx-auto w-fit max-w-[24rem]",
|
|
100
|
-
"top-[calc(env(safe-area-inset-top,0px)+0.375rem)]",
|
|
101
|
-
"left-[max(1rem,env(safe-area-inset-left,0px))] right-[max(1rem,env(safe-area-inset-right,0px))]",
|
|
102
|
-
// No taps, ever: a status line has nothing in it to press, and whatever it
|
|
103
|
-
// covers — the top bar's buttons, a page's own header — must still answer
|
|
104
|
-
// underneath it. A link or button inside would take its taps back (none today:
|
|
105
|
-
// the labels are text), so the rule cannot quietly disable a control later.
|
|
106
|
-
"pointer-events-none [&_:is(a,button)]:pointer-events-auto",
|
|
107
|
-
className,
|
|
108
|
-
)}
|
|
109
|
-
>
|
|
110
|
-
{stage !== "idle" && (
|
|
111
|
-
// `elevated`: OPAQUE in both themes (keksdose live #209) — the notice that
|
|
112
|
-
// explains a stall is read over whatever stalled, and a translucent dark tint
|
|
113
|
-
// let the page's own text show through it. A box banner is role-less, so the
|
|
114
|
-
// wrapper above stays the one live region.
|
|
115
|
-
<AlertBanner
|
|
116
|
-
tone={waking ? "warning" : "neutral"}
|
|
117
|
-
size="sm"
|
|
118
|
-
elevated
|
|
119
|
-
// `label={null}`: a Spinner is its own `role="status"` saying "Loading…" —
|
|
120
|
-
// nested here, a second live region and a second announcement ahead of the
|
|
121
|
-
// words that actually explain the wait. Here it is decoration.
|
|
122
|
-
icon={<Spinner label={null} className="h-3.5 w-3.5" />}
|
|
123
|
-
>
|
|
124
|
-
{waking ? labels.waking(appName) : labels.slow}
|
|
125
|
-
</AlertBanner>
|
|
126
|
-
)}
|
|
127
|
-
</div>
|
|
128
|
-
);
|
|
129
|
-
}
|
|
@@ -1,237 +0,0 @@
|
|
|
1
|
-
import type { ReactNode } from "react";
|
|
2
|
-
import { Select } from "./select";
|
|
3
|
-
import type { SelectProps } from "./select";
|
|
4
|
-
import { ToggleGroup } from "./toggle-group";
|
|
5
|
-
import type { ToggleGroupBaseProps } from "./toggle-group";
|
|
6
|
-
import type { ThemePreference } from "../theme/theme-store";
|
|
7
|
-
import { TEXT_SIZES } from "../theme/text-size";
|
|
8
|
-
import type { TextSize } from "../theme/text-size";
|
|
9
|
-
import { CONTRAST_MODES } from "../theme/contrast";
|
|
10
|
-
import type { ContrastMode } from "../theme/contrast";
|
|
11
|
-
import { useAppearanceLabels } from "./appearance-labels";
|
|
12
|
-
import type { AppearanceLabels } from "./appearance-labels";
|
|
13
|
-
import type { LabelOverride } from "../i18n/kit-labels";
|
|
14
|
-
import { LanguageSelect } from "./language-select";
|
|
15
|
-
import type { KitLanguageCode } from "../i18n/languages";
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* App-agnostic settings-field components (feedback #333): the language + theme
|
|
19
|
-
* controls that every app's settings page needs — and, since 0.32, the text size and
|
|
20
|
-
* the contrast (docs/text-size-harmonization.md §6), whose words are the kit's own
|
|
21
|
-
* `appearance` namespace — so they live in @hb/ui and the app just supplies the
|
|
22
|
-
* current value, a change handler and translated labels.
|
|
23
|
-
* The app owns WHERE these render (its own settings page) and any app-specific
|
|
24
|
-
* fields around them.
|
|
25
|
-
*/
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Everything a {@link Select} takes, minus the two this component owns: the value is a
|
|
29
|
-
* {@link ThemePreference} rather than a string, and `onChange` hands over the preference
|
|
30
|
-
* itself because no caller of this wants the event. The rest — `disabled`, `required`,
|
|
31
|
-
* `invalid`, `error`, a `data-tour` anchor — passes straight through, which is what makes
|
|
32
|
-
* this a settings FIELD rather than a fixed widget.
|
|
33
|
-
*
|
|
34
|
-
* The `Select` half of {@link ThemeSettingProps}; until 0.34 it carried that name, which
|
|
35
|
-
* left the toggle out of the type the component is documented by (API-9).
|
|
36
|
-
*/
|
|
37
|
-
export interface ThemeSettingSelectProps extends Omit<SelectProps, "value" | "onChange" | "children"> {
|
|
38
|
-
/** The `Select` (default). See {@link ThemeSettingToggleProps} for `"toggle"`. */
|
|
39
|
-
variant?: "select";
|
|
40
|
-
value: ThemePreference;
|
|
41
|
-
onChange: (value: ThemePreference) => void;
|
|
42
|
-
label: ReactNode;
|
|
43
|
-
/** Translated option labels. */
|
|
44
|
-
optionLabels: { system: string; light: string; dark: string };
|
|
45
|
-
id?: string;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* `variant="toggle"` (0.31.0, docs/settings-harmonization.md §2.8): the three choices as
|
|
50
|
-
* one segmented control instead of a select — system, light and dark side by side, the
|
|
51
|
-
* choice visible without opening anything, in every app (keksdose offered light and dark
|
|
52
|
-
* only; its store already knew "system"). A {@link ToggleGroup}'s props pass through —
|
|
53
|
-
* `labelPlacement`, `disabledReason`, `commit`, `size`, `overflow` — minus the options
|
|
54
|
-
* and the value, which this owns. `ref` too: the group, whose `focus()` lands on the
|
|
55
|
-
* checked option (pinned in round 0.35 R4; the select variant's `ref` is the `<select>`).
|
|
56
|
-
*
|
|
57
|
-
* The options wrap rather than truncate (`overflow="wrap"`), as in its two siblings
|
|
58
|
-
* {@link TextSizeSetting} and {@link ContrastSetting} (0.32.1, Kurvenschmiede's 0.32
|
|
59
|
-
* report: "Syst… Li… D…" in a card at Extra large on a 360 px phone).
|
|
60
|
-
*
|
|
61
|
-
* Bind it to the PREFERENCE (`"system"` included), never to the resolved mode: on a
|
|
62
|
-
* system-dark device a control bound to the mode shows "dark" and cannot say "follow the
|
|
63
|
-
* system" (keksdose's control, §8).
|
|
64
|
-
*/
|
|
65
|
-
export interface ThemeSettingToggleProps extends Omit<ToggleGroupBaseProps<ThemePreference>, "options" | "label"> {
|
|
66
|
-
variant: "toggle";
|
|
67
|
-
value: ThemePreference;
|
|
68
|
-
onChange: (value: ThemePreference) => void;
|
|
69
|
-
/**
|
|
70
|
-
* Names the group: the field's label, or the label above it (`labelPlacement`). Leave
|
|
71
|
-
* it out inside a card already titled "Theme" and name the group with `aria-label` or
|
|
72
|
-
* `aria-labelledby` instead, so the card does not say "Theme" twice.
|
|
73
|
-
*/
|
|
74
|
-
label?: ReactNode;
|
|
75
|
-
/** Translated option labels. */
|
|
76
|
-
optionLabels: { system: string; light: string; dark: string };
|
|
77
|
-
id?: string;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* What {@link ThemeSetting} takes: the select ({@link ThemeSettingSelectProps}, the
|
|
82
|
-
* default) or the segmented control ({@link ThemeSettingToggleProps}, `variant="toggle"`)
|
|
83
|
-
* — the union, as {@link ProfileSettingProps} is (API-9).
|
|
84
|
-
*/
|
|
85
|
-
export type ThemeSettingProps = ThemeSettingSelectProps | ThemeSettingToggleProps;
|
|
86
|
-
|
|
87
|
-
export function ThemeSetting(props: ThemeSettingProps) {
|
|
88
|
-
if (props.variant === "toggle") {
|
|
89
|
-
const { variant: _variant, value, onChange, label, optionLabels, overflow = "wrap", ...rest } = props;
|
|
90
|
-
return (
|
|
91
|
-
<ToggleGroup<ThemePreference>
|
|
92
|
-
{...rest}
|
|
93
|
-
overflow={overflow}
|
|
94
|
-
label={label}
|
|
95
|
-
value={value}
|
|
96
|
-
onChange={onChange}
|
|
97
|
-
options={[
|
|
98
|
-
{ value: "system", label: optionLabels.system },
|
|
99
|
-
{ value: "light", label: optionLabels.light },
|
|
100
|
-
{ value: "dark", label: optionLabels.dark },
|
|
101
|
-
]}
|
|
102
|
-
/>
|
|
103
|
-
);
|
|
104
|
-
}
|
|
105
|
-
const { variant: _variant, value, onChange, label, optionLabels, id, ...rest } = props;
|
|
106
|
-
return (
|
|
107
|
-
<Select {...rest} id={id} label={label} value={value} onChange={(e) => onChange(e.target.value as ThemePreference)}>
|
|
108
|
-
<option value="system">{optionLabels.system}</option>
|
|
109
|
-
<option value="light">{optionLabels.light}</option>
|
|
110
|
-
<option value="dark">{optionLabels.dark}</option>
|
|
111
|
-
</Select>
|
|
112
|
-
);
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
/** See {@link ThemeSettingSelectProps}: a `Select`'s props with the value and the change
|
|
116
|
-
* handler re-typed to the language CODE the caller stores. */
|
|
117
|
-
export interface LanguageSettingProps extends Omit<SelectProps, "value" | "onChange" | "children" | "multiple"> {
|
|
118
|
-
/** The reader's language: one of the rows' codes — or any tag, shown as the row it
|
|
119
|
-
* resolves to ({@link LanguageSelect}'s rule). */
|
|
120
|
-
value: string;
|
|
121
|
-
onChange: (code: string) => void;
|
|
122
|
-
label: ReactNode;
|
|
123
|
-
/**
|
|
124
|
-
* The languages to offer, in order, and each one's text: {@link languageOptions}' rows
|
|
125
|
-
* as they come (the registry's names), or the app's own words for a code — keksdose's
|
|
126
|
-
* "Deutsch (Schweiz)". The text is the language's name in itself, as on every
|
|
127
|
-
* switcher, and each option carries that language's `lang`. A code the kit's registry
|
|
128
|
-
* does not know is not listed: the registry is where its `lang` comes from.
|
|
129
|
-
*/
|
|
130
|
-
options: { code: string; label: string }[];
|
|
131
|
-
id?: string;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
* The settings row for the reader's own language: a {@link LanguageSelect} over the rows
|
|
136
|
-
* the app hands in (0.34, refactor audit 2026-10, API-7). It was a bare `Select` over the
|
|
137
|
-
* same rows, so the three apps' language pickers lacked what LanguageSelect gives every
|
|
138
|
-
* option — its `lang`, by which a screen reader says "Français" in French — and showed a
|
|
139
|
-
* stored `de-AT` as nothing in particular rather than as the one German.
|
|
140
|
-
*/
|
|
141
|
-
export function LanguageSetting({ options, ...rest }: LanguageSettingProps) {
|
|
142
|
-
const text = new Map(options.map((option) => [option.code, option.label]));
|
|
143
|
-
return (
|
|
144
|
-
<LanguageSelect
|
|
145
|
-
{...rest}
|
|
146
|
-
codes={options.map((option) => option.code as KitLanguageCode)}
|
|
147
|
-
optionLabel={(language) => text.get(language.code) ?? language.nativeName}
|
|
148
|
-
optionLang="own"
|
|
149
|
-
/>
|
|
150
|
-
);
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
/**
|
|
154
|
-
* What {@link TextSizeSetting} and {@link ContrastSetting} take: a {@link ToggleGroup}'s
|
|
155
|
-
* props — `labelPlacement`, `disabledReason`, `commit`, `size`, `overflow` — minus the
|
|
156
|
-
* options and the value, which they own, as {@link ThemeSettingToggleProps} does. `ref`
|
|
157
|
-
* is the group's, as there (round 0.35 R4).
|
|
158
|
-
*/
|
|
159
|
-
type AppearanceToggleProps<T extends string> = Omit<ToggleGroupBaseProps<T>, "options" | "label"> & {
|
|
160
|
-
value: T;
|
|
161
|
-
onChange: (value: T) => void;
|
|
162
|
-
/**
|
|
163
|
-
* The field's visible label. Leave it out inside a row already titled with the
|
|
164
|
-
* setting's name: the group is then named by `aria-label` / `aria-labelledby` if
|
|
165
|
-
* given, else by the kit's own word ("Text size", "Contrast").
|
|
166
|
-
*/
|
|
167
|
-
label?: ReactNode;
|
|
168
|
-
/** The `appearance` namespace, for this instance. */
|
|
169
|
-
labels?: LabelOverride<AppearanceLabels>;
|
|
170
|
-
};
|
|
171
|
-
|
|
172
|
-
export type TextSizeSettingProps = AppearanceToggleProps<TextSize>;
|
|
173
|
-
|
|
174
|
-
/**
|
|
175
|
-
* The text size (0.32, docs/text-size-harmonization.md §6): Normal, Large, Extra large as
|
|
176
|
-
* one segmented control, in the core `appearance` group after the theme. Bind it to the
|
|
177
|
-
* size IN FORCE — `useAccountAppearance().textSize` — and hand a pick to its
|
|
178
|
-
* `pickTextSize`, which stores the device's choice and, signed in, the account's.
|
|
179
|
-
*
|
|
180
|
-
* The options wrap rather than truncate (`overflow="wrap"`): at Extra large on a 360 px
|
|
181
|
-
* phone the group has 240 px, and "Extra large" cut to "Extra l…" would be the one
|
|
182
|
-
* setting that cannot read its own value.
|
|
183
|
-
*/
|
|
184
|
-
export function TextSizeSetting({
|
|
185
|
-
value,
|
|
186
|
-
onChange,
|
|
187
|
-
label,
|
|
188
|
-
labels: labelsProp,
|
|
189
|
-
overflow = "wrap",
|
|
190
|
-
...rest
|
|
191
|
-
}: TextSizeSettingProps) {
|
|
192
|
-
const labels = useAppearanceLabels(labelsProp);
|
|
193
|
-
const named = label !== undefined && label !== null && label !== false;
|
|
194
|
-
return (
|
|
195
|
-
<ToggleGroup<TextSize>
|
|
196
|
-
{...rest}
|
|
197
|
-
aria-label={named || rest["aria-labelledby"] ? rest["aria-label"] : (rest["aria-label"] ?? labels.textSize)}
|
|
198
|
-
label={label}
|
|
199
|
-
overflow={overflow}
|
|
200
|
-
value={value}
|
|
201
|
-
onChange={onChange}
|
|
202
|
-
options={TEXT_SIZES.map((size) => ({ value: size, label: labels.textSizes[size] }))}
|
|
203
|
-
/>
|
|
204
|
-
);
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
export type ContrastSettingProps = AppearanceToggleProps<ContrastMode>;
|
|
208
|
-
|
|
209
|
-
/**
|
|
210
|
-
* More contrast (0.32, §5, §6): System, Standard, More as one segmented control, beside
|
|
211
|
-
* the text size. Bind it to the stored MODE, "system" included — never to whether more
|
|
212
|
-
* contrast is on at the moment, or a device that asks for more contrast would show
|
|
213
|
-
* "More" and could not say "follow the device" (the theme's lesson, §8 of the settings
|
|
214
|
-
* contract). `useAccountAppearance().contrast` is that mode.
|
|
215
|
-
*/
|
|
216
|
-
export function ContrastSetting({
|
|
217
|
-
value,
|
|
218
|
-
onChange,
|
|
219
|
-
label,
|
|
220
|
-
labels: labelsProp,
|
|
221
|
-
overflow = "wrap",
|
|
222
|
-
...rest
|
|
223
|
-
}: ContrastSettingProps) {
|
|
224
|
-
const labels = useAppearanceLabels(labelsProp);
|
|
225
|
-
const named = label !== undefined && label !== null && label !== false;
|
|
226
|
-
return (
|
|
227
|
-
<ToggleGroup<ContrastMode>
|
|
228
|
-
{...rest}
|
|
229
|
-
aria-label={named || rest["aria-labelledby"] ? rest["aria-label"] : (rest["aria-label"] ?? labels.contrast)}
|
|
230
|
-
label={label}
|
|
231
|
-
overflow={overflow}
|
|
232
|
-
value={value}
|
|
233
|
-
onChange={onChange}
|
|
234
|
-
options={CONTRAST_MODES.map((mode) => ({ value: mode, label: labels.contrastModes[mode] }))}
|
|
235
|
-
/>
|
|
236
|
-
);
|
|
237
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
// The English words of ./share-card, 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). ./share-card re-exports them.
|
|
4
|
-
|
|
5
|
-
import type { ShareCardLabels } from "./share-card";
|
|
6
|
-
|
|
7
|
-
export const DEFAULT_SHARE_CARD_LABELS: ShareCardLabels = {
|
|
8
|
-
dialogTitle: "Share",
|
|
9
|
-
close: "Close",
|
|
10
|
-
email: "Email address",
|
|
11
|
-
emailOptional: "Email address (optional)",
|
|
12
|
-
emailPlaceholder: "name@example.com",
|
|
13
|
-
invalidEmail: "Enter a complete email address.",
|
|
14
|
-
role: "Role",
|
|
15
|
-
roleOf: (name) => `Role of ${name}`,
|
|
16
|
-
add: "Share",
|
|
17
|
-
whoHasAccess: "Who has access",
|
|
18
|
-
nobodyYet: "Nobody else has access yet.",
|
|
19
|
-
pending: "Pending",
|
|
20
|
-
openInvite: "Open invite link",
|
|
21
|
-
copyLink: "Copy link",
|
|
22
|
-
team: "Team",
|
|
23
|
-
teamHint: (name) => `Everyone in ${name} gets access.`,
|
|
24
|
-
remove: "Remove access",
|
|
25
|
-
removeConfirm: (name) => `Remove access for ${name}?`,
|
|
26
|
-
revokePending: "Withdraw invitation",
|
|
27
|
-
revokePendingConfirm: (name) => `Withdraw the invitation for ${name}?`,
|
|
28
|
-
failed: "That did not work. Please try again.",
|
|
29
|
-
loading: "Loading…",
|
|
30
|
-
};
|