@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,180 +0,0 @@
|
|
|
1
|
-
// The row budget of a series chart: which rows of a long table reach recharts, when there
|
|
2
|
-
// are more than it should draw (`SeriesChartProps.maxRows`). Pure, and apart from the
|
|
3
|
-
// chart, so the rule is tested on numbers, as the axis budget is (`series-chart-budget.ts`).
|
|
4
|
-
//
|
|
5
|
-
// Kurvenschmiede asked for it (KS U2, from its F88; round 0.34 C10). A chart cannot draw
|
|
6
|
-
// two hundred thousand points — the SVG would hold more path nodes than the plot has
|
|
7
|
-
// pixels — so a long table is thinned before it reaches recharts, and HOW decides what
|
|
8
|
-
// the reader sees. Keeping every `ceil(n / 2000)`th sample, which the app did first,
|
|
9
|
-
// ALIASES: the 160 Hz top of an acoustic sweep sampled at 1 kHz was kept at about 167 Hz
|
|
10
|
-
// and drawn as a slow 6.7 Hz wave at full amplitude, a shape the data does not have,
|
|
11
|
-
// drawn with complete confidence. A stride also steps over a spike one sample wide
|
|
12
|
-
// whenever it falls between two kept rows — the sample a reader of a jerk channel is
|
|
13
|
-
// looking for. So the envelope is the only way the chart thins; there is no stride
|
|
14
|
-
// option beside it, because a stride is the one decimation that lies.
|
|
15
|
-
//
|
|
16
|
-
// **What is kept.** The table is cut into buckets, in order, and from each bucket the row
|
|
17
|
-
// where each drawn series is lowest and the row where it is highest — so every line
|
|
18
|
-
// still reaches every extreme the table reaches, in the bucket it reaches it in. A tone
|
|
19
|
-
// faster than the buckets draws as the band it fills, not as a wave it is not. Each
|
|
20
|
-
// series' first and last sample are kept too (a line starts where its data starts, and
|
|
21
|
-
// arrives where it arrives), and so are the table's first and last row. The kept rows
|
|
22
|
-
// are returned in their order, so a line is still the path in time — which matters where
|
|
23
|
-
// the abscissa doubles back (a hysteresis loop drawn against position), and there the
|
|
24
|
-
// abscissa is enveloped as well, so the path's turning points stay.
|
|
25
|
-
//
|
|
26
|
-
// Nothing is interpolated, averaged or smoothed: every point drawn is a row the caller
|
|
27
|
-
// handed in.
|
|
28
|
-
|
|
29
|
-
/** A sample, or a hole: anything that is not a finite number draws nothing. */
|
|
30
|
-
const sampled = (value: unknown): value is number => typeof value === "number" && Number.isFinite(value);
|
|
31
|
-
|
|
32
|
-
/** A table the rule reads: rows, and a cell by key. The chart's rows, or any others. */
|
|
33
|
-
type ThinRow = Readonly<Record<string, unknown>>;
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* The fewest rows a budget can be met with for `channels` series: the table's first and
|
|
37
|
-
* last row, each series' first and last sample, and one bucket's low and high of each.
|
|
38
|
-
* A smaller `maxRows` is raised to this — an envelope cannot be drawn with less.
|
|
39
|
-
*/
|
|
40
|
-
export function minimumRows(channels: number): number {
|
|
41
|
-
const c = Math.max(1, channels);
|
|
42
|
-
return 2 + 2 * c + 2 * c;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* The indices of `rows[from, to)` to draw `keys` from, in order — at most `maxRows` of
|
|
47
|
-
* them (but see {@link minimumRows}). A range no longer than `maxRows` comes back whole.
|
|
48
|
-
*
|
|
49
|
-
* Several series share one set of rows (that is what a recharts row is), so the buckets
|
|
50
|
-
* get fewer as the series get more: two rows per series per bucket, plus the first and
|
|
51
|
-
* last ones, and the total stays within the budget, which is what the budget is for.
|
|
52
|
-
* With no key to read an envelope off, each bucket keeps its first row.
|
|
53
|
-
*/
|
|
54
|
-
export function envelopeIndices(
|
|
55
|
-
rows: readonly ThinRow[],
|
|
56
|
-
keys: readonly string[],
|
|
57
|
-
maxRows: number,
|
|
58
|
-
from = 0,
|
|
59
|
-
to = rows.length,
|
|
60
|
-
): number[] {
|
|
61
|
-
const length = Math.max(0, to - from);
|
|
62
|
-
const budget = Math.max(Math.floor(maxRows), minimumRows(keys.length));
|
|
63
|
-
if (length <= budget) return Array.from({ length }, (_, offset) => from + offset);
|
|
64
|
-
|
|
65
|
-
const keep = new Uint8Array(length);
|
|
66
|
-
keep[0] = 1;
|
|
67
|
-
keep[length - 1] = 1;
|
|
68
|
-
for (const key of keys) {
|
|
69
|
-
// Where each line starts and stops, which for a series with holes at either end is
|
|
70
|
-
// not the table's first and last row.
|
|
71
|
-
let first = 0;
|
|
72
|
-
while (first < length && !sampled(rows[from + first][key])) first += 1;
|
|
73
|
-
let last = length - 1;
|
|
74
|
-
while (last > first && !sampled(rows[from + last][key])) last -= 1;
|
|
75
|
-
if (first < length) {
|
|
76
|
-
keep[first] = 1;
|
|
77
|
-
keep[last] = 1;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
// What is left after the first and last rows, two per series per bucket.
|
|
82
|
-
const series = Math.max(1, keys.length);
|
|
83
|
-
const buckets = Math.max(1, Math.floor((budget - 2 - 2 * series) / (2 * series)));
|
|
84
|
-
for (let bucket = 0; bucket < buckets; bucket += 1) {
|
|
85
|
-
const start = Math.floor((bucket * length) / buckets);
|
|
86
|
-
const end = Math.floor(((bucket + 1) * length) / buckets);
|
|
87
|
-
if (keys.length === 0) {
|
|
88
|
-
keep[start] = 1;
|
|
89
|
-
continue;
|
|
90
|
-
}
|
|
91
|
-
for (const key of keys) {
|
|
92
|
-
let low = -1;
|
|
93
|
-
let high = -1;
|
|
94
|
-
let lowest = Infinity;
|
|
95
|
-
let highest = -Infinity;
|
|
96
|
-
for (let offset = start; offset < end; offset += 1) {
|
|
97
|
-
const value = rows[from + offset][key];
|
|
98
|
-
if (!sampled(value)) continue;
|
|
99
|
-
if (value < lowest) {
|
|
100
|
-
lowest = value;
|
|
101
|
-
low = offset;
|
|
102
|
-
}
|
|
103
|
-
if (value > highest) {
|
|
104
|
-
highest = value;
|
|
105
|
-
high = offset;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
if (low >= 0) keep[low] = 1;
|
|
109
|
-
if (high >= 0) keep[high] = 1;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
const indices: number[] = [];
|
|
114
|
-
for (let offset = 0; offset < length; offset += 1) if (keep[offset]) indices.push(from + offset);
|
|
115
|
-
return indices;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
/** Whether `key` never decreases down the rows — a time axis, a sweep. Holes are skipped. */
|
|
119
|
-
export function ascending(rows: readonly ThinRow[], key: string): boolean {
|
|
120
|
-
let previous = -Infinity;
|
|
121
|
-
for (const row of rows) {
|
|
122
|
-
const value = row[key];
|
|
123
|
-
if (!sampled(value)) continue;
|
|
124
|
-
if (value < previous) return false;
|
|
125
|
-
previous = value;
|
|
126
|
-
}
|
|
127
|
-
return true;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
* The rows a chart draws under a row budget, as indices into `rows` — or `undefined` when
|
|
132
|
-
* it draws them all (no more rows than the budget, or no budget), so the caller can hand
|
|
133
|
-
* recharts its own array untouched.
|
|
134
|
-
*
|
|
135
|
-
* `xKey` is the abscissa, as plotted. Where it never decreases and the chart is zoomed to
|
|
136
|
-
* `window`, only the rows inside the window are thinned — with one more on each side, so
|
|
137
|
-
* the lines run to the plot's edges — and a zoom far enough in draws every sample there:
|
|
138
|
-
* the budget is spent on what is on show. Where the abscissa doubles back, the window
|
|
139
|
-
* does not cut the table into one stretch, so the whole table is thinned, and the
|
|
140
|
-
* abscissa is one of the enveloped keys: its turning points are part of the shape.
|
|
141
|
-
*/
|
|
142
|
-
export function thinnedRows(
|
|
143
|
-
rows: readonly ThinRow[],
|
|
144
|
-
xKey: string,
|
|
145
|
-
keys: readonly string[],
|
|
146
|
-
maxRows: number | undefined,
|
|
147
|
-
window?: readonly [number, number],
|
|
148
|
-
): number[] | undefined {
|
|
149
|
-
if (maxRows === undefined || !(maxRows > 0) || rows.length <= maxRows) return undefined;
|
|
150
|
-
if (!ascending(rows, xKey)) {
|
|
151
|
-
const indices = envelopeIndices(rows, [...keys, xKey], maxRows);
|
|
152
|
-
return indices.length === rows.length ? undefined : indices;
|
|
153
|
-
}
|
|
154
|
-
let from = 0;
|
|
155
|
-
let to = rows.length;
|
|
156
|
-
if (window) {
|
|
157
|
-
// The first row at or past the window's start, less one; the last at or before its
|
|
158
|
-
// end, plus one. Holes in the abscissa are neither.
|
|
159
|
-
let first = -1;
|
|
160
|
-
let last = -1;
|
|
161
|
-
rows.forEach((row, index) => {
|
|
162
|
-
const at = row[xKey];
|
|
163
|
-
if (!sampled(at)) return;
|
|
164
|
-
if (first === -1 && at >= window[0]) first = index;
|
|
165
|
-
if (at <= window[1]) last = index;
|
|
166
|
-
});
|
|
167
|
-
if (first !== -1 && last >= first) {
|
|
168
|
-
from = Math.max(0, first - 1);
|
|
169
|
-
to = Math.min(rows.length, last + 2);
|
|
170
|
-
} else {
|
|
171
|
-
// A window between two samples: the two rows either side of it, so the line is
|
|
172
|
-
// still drawn across.
|
|
173
|
-
const after = first === -1 ? rows.length : first;
|
|
174
|
-
from = Math.max(0, after - 1);
|
|
175
|
-
to = Math.min(rows.length, after + 1);
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
const indices = envelopeIndices(rows, keys, maxRows, from, to);
|
|
179
|
-
return indices.length === rows.length ? undefined : indices;
|
|
180
|
-
}
|
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
// Round tick values for `SeriesChart` — internal, not re-exported by `@eifi1/ui-kit/chart`.
|
|
2
|
-
//
|
|
3
|
-
// Handed an explicit numeric domain, recharts divides it into equal parts and prints
|
|
4
|
-
// wherever those land: a fitted band of [-11, 811] comes out as -11, 189, 389 … and a
|
|
5
|
-
// padded [89, 1011] as 89, 289, 489 — numbers nobody can put a ruler against. These
|
|
6
|
-
// are the ticks a person would draw instead: every multiple of a 1, 2 or 5 × 10^n step
|
|
7
|
-
// that lies INSIDE the domain. The domain itself is left alone, so the 4 % of air the
|
|
8
|
-
// fit leaves and a zoom window's exact edges both survive; the frame simply does not
|
|
9
|
-
// get a number of its own.
|
|
10
|
-
|
|
11
|
-
/** Roughly how many ticks to aim for. The 1/2/5 ladder lands anywhere from about half
|
|
12
|
-
* to about twice this, which is the price of every tick being a round number. */
|
|
13
|
-
const TARGET_TICKS = 5;
|
|
14
|
-
|
|
15
|
-
/** The aim at Large and Extra large (docs/text-size-harmonization.md §4): the labels are
|
|
16
|
-
* 25–50 % wider and taller, so five of them crowd an axis that holds them at Normal. */
|
|
17
|
-
export const LARGE_TEXT_TARGET_TICKS = 3;
|
|
18
|
-
|
|
19
|
-
/** How many ticks to aim for at a text `scale` (`useTextSize().scale`): five at Normal,
|
|
20
|
-
* three from Large up. */
|
|
21
|
-
export function tickTarget(scale = 1): number {
|
|
22
|
-
return scale > 1 ? LARGE_TEXT_TARGET_TICKS : TARGET_TICKS;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
/** The round step closest to `span / target`: 1, 2 or 5 times a power of ten. */
|
|
26
|
-
export function niceStep(span: number, target: number = TARGET_TICKS): number {
|
|
27
|
-
const rough = span / Math.max(1, target);
|
|
28
|
-
const magnitude = 10 ** Math.floor(Math.log10(rough));
|
|
29
|
-
const norm = rough / magnitude;
|
|
30
|
-
const factor = norm < 1.5 ? 1 : norm < 3 ? 2 : norm < 7 ? 5 : 10;
|
|
31
|
-
return factor * magnitude;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* The round ticks inside `[low, high]`, ascending — or `undefined` when there is no
|
|
36
|
-
* span to divide (no domain, a zero-height one, anything non-finite), which leaves the
|
|
37
|
-
* choice to recharts.
|
|
38
|
-
*
|
|
39
|
-
* Each tick is computed as `k × step` and then rounded to the step's own decimals:
|
|
40
|
-
* accumulating `+= 0.1` would print 0.30000000000000004 on the third tick.
|
|
41
|
-
*/
|
|
42
|
-
export function niceTicks(
|
|
43
|
-
domain: readonly [number, number] | undefined,
|
|
44
|
-
target: number = TARGET_TICKS,
|
|
45
|
-
): number[] | undefined {
|
|
46
|
-
if (!domain) return undefined;
|
|
47
|
-
const [low, high] = domain;
|
|
48
|
-
if (!Number.isFinite(low) || !Number.isFinite(high) || !(high > low)) return undefined;
|
|
49
|
-
const step = niceStep(high - low, target);
|
|
50
|
-
if (!(step > 0) || !Number.isFinite(step)) return undefined;
|
|
51
|
-
const decimals = Math.max(0, -Math.floor(Math.log10(step)));
|
|
52
|
-
const ticks: number[] = [];
|
|
53
|
-
// Half a step's tolerance per end would admit ticks outside the frame; a millionth
|
|
54
|
-
// of one only forgives the float error in `low / step`.
|
|
55
|
-
const first = Math.ceil(low / step - 1e-6);
|
|
56
|
-
const last = Math.floor(high / step + 1e-6);
|
|
57
|
-
for (let k = first; k <= last; k++) {
|
|
58
|
-
// `+ 0` turns the -0 that `Number("-0.00")` gives back into a plain 0.
|
|
59
|
-
ticks.push(Number((k * step).toFixed(decimals)) + 0);
|
|
60
|
-
}
|
|
61
|
-
return ticks.length ? ticks : undefined;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* {@link niceTicks} on whole numbers only: the step never drops below 1, so a short
|
|
66
|
-
* index series (a domain of [-0.2, 4.2]) is ticked 0 1 2 3 4 instead of every half.
|
|
67
|
-
* `undefined` when the window holds no whole number at all, so the caller can fall
|
|
68
|
-
* back to the fractional ticks of a deep zoom rather than show none.
|
|
69
|
-
*/
|
|
70
|
-
export function integerTicks(
|
|
71
|
-
domain: readonly [number, number] | undefined,
|
|
72
|
-
target: number = TARGET_TICKS,
|
|
73
|
-
): number[] | undefined {
|
|
74
|
-
if (!domain) return undefined;
|
|
75
|
-
const [low, high] = domain;
|
|
76
|
-
if (!Number.isFinite(low) || !Number.isFinite(high) || !(high >= low)) return undefined;
|
|
77
|
-
const step = high > low ? Math.max(1, niceStep(high - low, target)) : 1;
|
|
78
|
-
const ticks: number[] = [];
|
|
79
|
-
const first = Math.ceil(low / step - 1e-6);
|
|
80
|
-
const last = Math.floor(high / step + 1e-6);
|
|
81
|
-
for (let k = first; k <= last; k++) ticks.push(k * step + 0);
|
|
82
|
-
return ticks.length ? ticks : undefined;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* The slots of a CATEGORY axis that lie inside a window over their positions.
|
|
87
|
-
*
|
|
88
|
-
* `SeriesChart` draws a category axis on the slot INDEX (see `x.type: "category"`), so a
|
|
89
|
-
* zoom window is a range of fractional positions — [2.6, 8.3] after a drag across the
|
|
90
|
-
* third to ninth month. A tick belongs on every whole slot inside it, and on nothing in
|
|
91
|
-
* between: there is no month 2.5. Recharts' `minTickGap` thins them where they crowd.
|
|
92
|
-
*/
|
|
93
|
-
export function categoryTicks(domain: readonly [number, number] | undefined, count: number): number[] | undefined {
|
|
94
|
-
if (!domain || !(count > 0)) return undefined;
|
|
95
|
-
const first = Math.max(0, Math.ceil(domain[0] - 1e-6));
|
|
96
|
-
const last = Math.min(count - 1, Math.floor(domain[1] + 1e-6));
|
|
97
|
-
const ticks: number[] = [];
|
|
98
|
-
for (let slot = first; slot <= last; slot++) ticks.push(slot);
|
|
99
|
-
return ticks.length ? ticks : undefined;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
/** What one tick of a time axis stands for, which is also how its label is written. */
|
|
103
|
-
export type TimeTickUnit = "hour" | "day" | "month" | "year";
|
|
104
|
-
|
|
105
|
-
const HOUR = 3_600_000;
|
|
106
|
-
const DAY = 24 * HOUR;
|
|
107
|
-
|
|
108
|
-
/**
|
|
109
|
-
* The calendar steps a time axis may tick in, with their rough length for choosing.
|
|
110
|
-
* Months and years are stepped with `Date` setters, not by adding their "length":
|
|
111
|
-
* thirty days from the 1st of February is the 3rd of March, and a tick that promises a
|
|
112
|
-
* month start and prints the 3rd is the ruler lying.
|
|
113
|
-
*/
|
|
114
|
-
const TIME_STEPS: readonly { unit: TimeTickUnit; n: number; ms: number }[] = [
|
|
115
|
-
{ unit: "hour", n: 1, ms: HOUR },
|
|
116
|
-
{ unit: "hour", n: 3, ms: 3 * HOUR },
|
|
117
|
-
{ unit: "hour", n: 6, ms: 6 * HOUR },
|
|
118
|
-
{ unit: "hour", n: 12, ms: 12 * HOUR },
|
|
119
|
-
{ unit: "day", n: 1, ms: DAY },
|
|
120
|
-
{ unit: "day", n: 2, ms: 2 * DAY },
|
|
121
|
-
{ unit: "day", n: 7, ms: 7 * DAY },
|
|
122
|
-
{ unit: "month", n: 1, ms: 30.44 * DAY },
|
|
123
|
-
{ unit: "month", n: 2, ms: 60.88 * DAY },
|
|
124
|
-
{ unit: "month", n: 3, ms: 91.31 * DAY },
|
|
125
|
-
{ unit: "month", n: 6, ms: 182.62 * DAY },
|
|
126
|
-
];
|
|
127
|
-
|
|
128
|
-
/**
|
|
129
|
-
* Calendar ticks inside a window of epoch milliseconds — midnights, Mondays, month and
|
|
130
|
-
* quarter starts, new years, in LOCAL time — and the unit they are in, so the label can
|
|
131
|
-
* say as much as the tick means ("Mar 26" for a month start, "14 Mar" for a day).
|
|
132
|
-
*
|
|
133
|
-
* The time counterpart of {@link niceTicks}: a 1/2/5 ladder over raw milliseconds lands
|
|
134
|
-
* on 5 × 10⁹ ms, every 58 days, at whatever hour that happens to be. keksdose's price
|
|
135
|
-
* history and cash buffer each thinned their own ticks by hand for exactly this reason.
|
|
136
|
-
*/
|
|
137
|
-
export function timeTicksWithUnit(
|
|
138
|
-
domain: readonly [number, number] | undefined,
|
|
139
|
-
target: number = TARGET_TICKS,
|
|
140
|
-
): { ticks: number[]; unit: TimeTickUnit } | undefined {
|
|
141
|
-
if (!domain) return undefined;
|
|
142
|
-
const [low, high] = domain;
|
|
143
|
-
if (!Number.isFinite(low) || !Number.isFinite(high) || !(high > low)) return undefined;
|
|
144
|
-
const rough = (high - low) / Math.max(1, target);
|
|
145
|
-
let unit: TimeTickUnit = "year";
|
|
146
|
-
let n = 1;
|
|
147
|
-
let best = Infinity;
|
|
148
|
-
for (const step of TIME_STEPS) {
|
|
149
|
-
const miss = Math.abs(Math.log(step.ms / rough));
|
|
150
|
-
if (miss < best) {
|
|
151
|
-
best = miss;
|
|
152
|
-
unit = step.unit;
|
|
153
|
-
n = step.n;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
// The year ladder competes on the same terms as the table: one year is 365.25 days.
|
|
157
|
-
const yearN = Math.max(1, Math.round(niceStep((high - low) / (365.25 * DAY), target)));
|
|
158
|
-
if (Math.abs(Math.log((yearN * 365.25 * DAY) / rough)) < best) {
|
|
159
|
-
unit = "year";
|
|
160
|
-
n = yearN;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
const start = new Date(low);
|
|
164
|
-
start.setMinutes(0, 0, 0);
|
|
165
|
-
if (unit !== "hour") start.setHours(0);
|
|
166
|
-
if (unit === "month" || unit === "year") start.setDate(1);
|
|
167
|
-
if (unit === "year") start.setMonth(0);
|
|
168
|
-
// Onto the step's own grid: hours of the day, Mondays, month indices, years — so a
|
|
169
|
-
// zoom window starting on a Wednesday still ticks on Mondays.
|
|
170
|
-
if (unit === "hour") start.setHours(start.getHours() - (start.getHours() % n));
|
|
171
|
-
if (unit === "day" && n === 7) start.setDate(start.getDate() - ((start.getDay() + 6) % 7));
|
|
172
|
-
if (unit === "month") start.setMonth(start.getMonth() - (start.getMonth() % n));
|
|
173
|
-
if (unit === "year") start.setFullYear(start.getFullYear() - (start.getFullYear() % n));
|
|
174
|
-
|
|
175
|
-
const ticks: number[] = [];
|
|
176
|
-
const at = new Date(start);
|
|
177
|
-
// Bounded, so a window of a million years cannot hang the render.
|
|
178
|
-
for (let guard = 0; guard < 1000 && at.getTime() <= high; guard++) {
|
|
179
|
-
if (at.getTime() >= low) ticks.push(at.getTime());
|
|
180
|
-
if (unit === "hour") at.setHours(at.getHours() + n);
|
|
181
|
-
else if (unit === "day") at.setDate(at.getDate() + n);
|
|
182
|
-
else if (unit === "month") at.setMonth(at.getMonth() + n);
|
|
183
|
-
else at.setFullYear(at.getFullYear() + n);
|
|
184
|
-
}
|
|
185
|
-
return ticks.length ? { ticks, unit } : undefined;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
/** {@link timeTicksWithUnit}, ticks only. */
|
|
189
|
-
export function timeTicks(
|
|
190
|
-
domain: readonly [number, number] | undefined,
|
|
191
|
-
target: number = TARGET_TICKS,
|
|
192
|
-
): number[] | undefined {
|
|
193
|
-
return timeTicksWithUnit(domain, target)?.ticks;
|
|
194
|
-
}
|