@eifi1/ui-kit 0.51.7 → 0.53.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 +178 -67
- package/dist/account/account-parts.d.ts +10 -8
- package/dist/account/account-parts.js +1 -18
- package/dist/account/account-parts.js.map +1 -1
- package/dist/account/data-export-setting-labels.js +1 -1
- package/dist/account/data-export-setting-labels.js.map +1 -1
- package/dist/account/delete-account-setting-labels.js +1 -1
- package/dist/account/delete-account-setting-labels.js.map +1 -1
- package/dist/account/email-change-setting-labels.js +1 -1
- package/dist/account/email-change-setting-labels.js.map +1 -1
- package/dist/account/passkeys-setting.d.ts +9 -2
- package/dist/account/passkeys-setting.js +41 -29
- package/dist/account/passkeys-setting.js.map +1 -1
- package/dist/account/sessions-setting.d.ts +3 -2
- package/dist/account/sessions-setting.js +10 -8
- package/dist/account/sessions-setting.js.map +1 -1
- package/dist/admin/admin-action-confirm.js +1 -3
- package/dist/admin/admin-action-confirm.js.map +1 -1
- package/dist/admin/admin-parts.d.ts +6 -3
- package/dist/admin/admin-parts.js +6 -21
- package/dist/admin/admin-parts.js.map +1 -1
- package/dist/admin/mail-test-card-labels.js +1 -1
- package/dist/admin/mail-test-card-labels.js.map +1 -1
- package/dist/admin/plan-change-labels.d.ts +2 -2
- package/dist/admin/plan-change-labels.js +1 -17
- package/dist/admin/plan-change-labels.js.map +1 -1
- package/dist/admin/plan-change.d.ts +3 -42
- package/dist/admin/plan-change.js +1 -1
- package/dist/admin/plan-change.js.map +1 -1
- package/dist/admin/reviewer-scope-editor.js +3 -3
- package/dist/admin/reviewer-scope-editor.js.map +1 -1
- package/dist/auth/auth-errors-labels.d.ts +11 -0
- package/dist/auth/auth-errors-labels.js +13 -0
- package/dist/auth/auth-errors-labels.js.map +1 -0
- package/dist/auth/auth-errors.d.ts +7 -23
- package/dist/auth/auth-errors.js +2 -15
- package/dist/auth/auth-errors.js.map +1 -1
- package/dist/auth/complete-name-dialog.js +2 -1
- package/dist/auth/complete-name-dialog.js.map +1 -1
- package/dist/auth/forgot-password-form-labels.js +1 -1
- package/dist/auth/forgot-password-form-labels.js.map +1 -1
- package/dist/auth/forgot-password-form.js +7 -2
- package/dist/auth/forgot-password-form.js.map +1 -1
- package/dist/auth/register-form-labels.js +1 -1
- package/dist/auth/register-form-labels.js.map +1 -1
- package/dist/auth/reset-password-form-labels.js +1 -1
- package/dist/auth/reset-password-form-labels.js.map +1 -1
- package/dist/auth/reset-password-form.js +5 -1
- package/dist/auth/reset-password-form.js.map +1 -1
- package/dist/auth/sign-in-form-labels.js +1 -1
- package/dist/auth/sign-in-form-labels.js.map +1 -1
- package/dist/auth/status-parts.d.ts +0 -3
- package/dist/auth/status-parts.js +0 -4
- package/dist/auth/status-parts.js.map +1 -1
- package/dist/auth/verify-email-labels.js +1 -1
- package/dist/auth/verify-email-labels.js.map +1 -1
- package/dist/auth/verify-email.js +7 -2
- package/dist/auth/verify-email.js.map +1 -1
- package/dist/billing/cancel-subscription.d.ts +10 -7
- package/dist/billing/cancel-subscription.js +6 -6
- package/dist/billing/cancel-subscription.js.map +1 -1
- package/dist/billing/plan-card.d.ts +5 -3
- package/dist/billing/plan-card.js +7 -8
- package/dist/billing/plan-card.js.map +1 -1
- package/dist/billing/plan-change-labels.d.ts +42 -0
- package/dist/billing/plan-change-labels.js +22 -0
- package/dist/billing/plan-change-labels.js.map +1 -0
- package/dist/billing/plan-switch.d.ts +9 -6
- package/dist/billing/plan-switch.js +7 -5
- package/dist/billing/plan-switch.js.map +1 -1
- package/dist/chart.d.ts +4 -3
- package/dist/chart.js +72 -4
- package/dist/chart.js.map +1 -1
- package/dist/components/account-chips.d.ts +5 -5
- package/dist/components/account-chips.js +11 -13
- package/dist/components/account-chips.js.map +1 -1
- package/dist/components/alert-banner.d.ts +16 -5
- package/dist/components/alert-banner.js +46 -1
- package/dist/components/alert-banner.js.map +1 -1
- package/dist/components/amount-input.d.ts +13 -0
- package/dist/components/amount-input.js +1 -0
- package/dist/components/amount-input.js.map +1 -1
- package/dist/components/autocomplete.js +57 -65
- package/dist/components/autocomplete.js.map +1 -1
- package/dist/components/bulk-action-bar.d.ts +12 -2
- package/dist/components/bulk-action-bar.js +65 -21
- package/dist/components/bulk-action-bar.js.map +1 -1
- package/dist/components/button-look.d.ts +5 -5
- package/dist/components/button-look.js.map +1 -1
- package/dist/components/button.d.ts +2 -2
- package/dist/components/button.js.map +1 -1
- package/dist/components/chart-edge.d.ts +16 -0
- package/dist/components/chart-edge.js +14 -1
- package/dist/components/chart-edge.js.map +1 -1
- package/dist/components/chart-figure.d.ts +13 -0
- package/dist/components/chart-figure.js +15 -0
- package/dist/components/chart-figure.js.map +1 -0
- package/dist/components/chart-zoom-core.js +1 -4
- package/dist/components/chart-zoom-core.js.map +1 -1
- package/dist/components/chart.d.ts +8 -1
- package/dist/components/chart.js +19 -10
- package/dist/components/chart.js.map +1 -1
- package/dist/components/combobox-core.d.ts +111 -2
- package/dist/components/combobox-core.js +148 -42
- package/dist/components/combobox-core.js.map +1 -1
- package/dist/components/combobox.d.ts +1 -1
- package/dist/components/combobox.js +141 -130
- package/dist/components/combobox.js.map +1 -1
- package/dist/components/copy-button.d.ts +6 -5
- package/dist/components/copy-button.js +5 -3
- package/dist/components/copy-button.js.map +1 -1
- package/dist/components/country-select.js +2 -2
- package/dist/components/country-select.js.map +1 -1
- package/dist/components/data-table-column-settings.d.ts +1 -1
- package/dist/components/data-table-column-settings.js +33 -7
- package/dist/components/data-table-column-settings.js.map +1 -1
- package/dist/components/data-table-filters.d.ts +4 -2
- package/dist/components/data-table-filters.js +2 -2
- package/dist/components/data-table-filters.js.map +1 -1
- package/dist/components/data-table-fit.d.ts +6 -4
- package/dist/components/data-table-fit.js +4 -1
- package/dist/components/data-table-fit.js.map +1 -1
- package/dist/components/data-table-groups.d.ts +1 -1
- package/dist/components/data-table-groups.js.map +1 -1
- package/dist/components/data-table-head.d.ts +1 -1
- package/dist/components/data-table-head.js +15 -12
- package/dist/components/data-table-head.js.map +1 -1
- package/dist/components/data-table-mobile.d.ts +12 -7
- package/dist/components/data-table-mobile.js +43 -30
- package/dist/components/data-table-mobile.js.map +1 -1
- package/dist/components/data-table-pagination.js +11 -6
- package/dist/components/data-table-pagination.js.map +1 -1
- package/dist/components/data-table-resize.d.ts +1 -1
- package/dist/components/data-table-resize.js.map +1 -1
- package/dist/components/data-table-row-actions.d.ts +2 -2
- package/dist/components/data-table-row-actions.js.map +1 -1
- package/dist/components/data-table-row.d.ts +6 -2
- package/dist/components/data-table-row.js +17 -10
- package/dist/components/data-table-row.js.map +1 -1
- package/dist/components/data-table-selection.d.ts +1 -1
- package/dist/components/data-table-selection.js.map +1 -1
- package/dist/components/data-table-shared.d.ts +10 -2
- package/dist/components/data-table-shared.js +18 -0
- package/dist/components/data-table-shared.js.map +1 -1
- package/dist/components/data-table-sort.d.ts +21 -2
- package/dist/components/data-table-sort.js +24 -0
- package/dist/components/data-table-sort.js.map +1 -1
- package/dist/components/data-table-virtual.d.ts +1 -1
- package/dist/components/data-table-virtual.js +18 -6
- package/dist/components/data-table-virtual.js.map +1 -1
- package/dist/components/data-table.d.ts +13 -4
- package/dist/components/data-table.js +139 -36
- package/dist/components/data-table.js.map +1 -1
- package/dist/components/date-field.d.ts +25 -3
- package/dist/components/date-field.js +33 -8
- package/dist/components/date-field.js.map +1 -1
- package/dist/components/date-picker.d.ts +16 -3
- package/dist/components/date-picker.js +55 -26
- package/dist/components/date-picker.js.map +1 -1
- package/dist/components/date-range-picker.d.ts +38 -24
- package/dist/components/date-range-picker.js +23 -7
- package/dist/components/date-range-picker.js.map +1 -1
- package/dist/components/error-boundary.js +37 -30
- package/dist/components/error-boundary.js.map +1 -1
- package/dist/components/{ui-labels.d.ts → field-base-labels.d.ts} +0 -2
- package/dist/components/{ui-labels.js → field-base-labels.js} +2 -9
- package/dist/components/field-base-labels.js.map +1 -0
- package/dist/components/field-base.d.ts +4 -3
- package/dist/components/field-base.js +3 -3
- package/dist/components/field-base.js.map +1 -1
- package/dist/components/form-actions.js +11 -5
- package/dist/components/form-actions.js.map +1 -1
- package/dist/components/hover-menu.d.ts +3 -0
- package/dist/components/hover-menu.js +5 -3
- package/dist/components/hover-menu.js.map +1 -1
- package/dist/components/icon-button.js +14 -9
- package/dist/components/icon-button.js.map +1 -1
- package/dist/components/inline-confirm.d.ts +43 -0
- package/dist/components/inline-confirm.js +67 -0
- package/dist/components/inline-confirm.js.map +1 -0
- package/dist/components/inline-entity-combobox.d.ts +4 -3
- package/dist/components/inline-entity-combobox.js +148 -140
- package/dist/components/inline-entity-combobox.js.map +1 -1
- package/dist/components/input.js +1 -1
- package/dist/components/input.js.map +1 -1
- package/dist/components/jump-calendar.js +28 -112
- package/dist/components/jump-calendar.js.map +1 -1
- package/dist/components/legal-page.d.ts +3 -1
- package/dist/components/legal-page.js +3 -2
- package/dist/components/legal-page.js.map +1 -1
- package/dist/components/legal.d.ts +4 -2
- package/dist/components/legal.js.map +1 -1
- package/dist/components/lightbox.d.ts +2 -2
- package/dist/components/lightbox.js +17 -6
- package/dist/components/lightbox.js.map +1 -1
- package/dist/components/list.d.ts +6 -2
- package/dist/components/list.js +3 -2
- package/dist/components/list.js.map +1 -1
- package/dist/components/measured-grid.d.ts +1 -1
- package/dist/components/measured-grid.js +2 -1
- package/dist/components/measured-grid.js.map +1 -1
- package/dist/components/mini-calendar.js +3 -5
- package/dist/components/mini-calendar.js.map +1 -1
- package/dist/components/modal.js +3 -1
- package/dist/components/modal.js.map +1 -1
- package/dist/components/month-grid.d.ts +55 -0
- package/dist/components/month-grid.js +148 -0
- package/dist/components/month-grid.js.map +1 -0
- package/dist/components/month-picker.d.ts +36 -4
- package/dist/components/month-picker.js +123 -146
- package/dist/components/month-picker.js.map +1 -1
- package/dist/components/multi-select.d.ts +2 -2
- package/dist/components/multi-select.js +11 -6
- package/dist/components/multi-select.js.map +1 -1
- package/dist/components/nav-pills.d.ts +1 -1
- package/dist/components/nav-pills.js.map +1 -1
- package/dist/components/picker-sheet.js +2 -1
- package/dist/components/picker-sheet.js.map +1 -1
- package/dist/components/pie-chart-labels.d.ts +7 -0
- package/dist/components/pie-chart-labels.js +1 -0
- package/dist/components/pie-chart-labels.js.map +1 -1
- package/dist/components/pie-chart.d.ts +5 -3
- package/dist/components/pie-chart.js +7 -22
- package/dist/components/pie-chart.js.map +1 -1
- package/dist/components/popover.d.ts +3 -0
- package/dist/components/popover.js +7 -1
- package/dist/components/popover.js.map +1 -1
- package/dist/components/row-actions.js +2 -1
- package/dist/components/row-actions.js.map +1 -1
- package/dist/components/series-chart-axes.d.ts +4 -4
- package/dist/components/series-chart-axes.js.map +1 -1
- package/dist/components/series-chart-labels.d.ts +7 -4
- package/dist/components/series-chart-labels.js.map +1 -1
- package/dist/components/series-chart.d.ts +92 -23
- package/dist/components/series-chart.js +74 -30
- package/dist/components/series-chart.js.map +1 -1
- package/dist/components/share-card.js +3 -3
- package/dist/components/share-card.js.map +1 -1
- package/dist/components/tabs-labels.d.ts +2 -0
- package/dist/components/tabs-labels.js +11 -0
- package/dist/components/tabs-labels.js.map +1 -0
- package/dist/components/tabs.d.ts +1 -1
- package/dist/components/tabs.js +1 -1
- package/dist/components/tabs.js.map +1 -1
- package/dist/components/toggle-legend.d.ts +2 -2
- package/dist/components/toggle-legend.js +6 -6
- package/dist/components/toggle-legend.js.map +1 -1
- package/dist/components/translation-review-editor.d.ts +4 -2
- package/dist/components/translation-review-editor.js +2 -3
- package/dist/components/translation-review-editor.js.map +1 -1
- package/dist/components/translation-review.d.ts +2 -1
- package/dist/components/translation-review.js +2 -2
- package/dist/components/translation-review.js.map +1 -1
- package/dist/components/treemap-labels.d.ts +31 -0
- package/dist/components/treemap-labels.js +10 -0
- package/dist/components/treemap-labels.js.map +1 -0
- package/dist/components/treemap-layout.d.ts +62 -0
- package/dist/components/treemap-layout.js +126 -0
- package/dist/components/treemap-layout.js.map +1 -0
- package/dist/components/treemap.d.ts +167 -19
- package/dist/components/treemap.js +340 -100
- package/dist/components/treemap.js.map +1 -1
- package/dist/components/use-table-state.d.ts +5 -5
- package/dist/components/use-table-state.js +4 -1
- package/dist/components/use-table-state.js.map +1 -1
- package/dist/data-table.d.ts +1 -2
- package/dist/data-table.js +1 -4
- package/dist/data-table.js.map +1 -1
- package/dist/demo/demo-countdown.d.ts +0 -5
- package/dist/demo/demo-countdown.js +0 -4
- package/dist/demo/demo-countdown.js.map +1 -1
- package/dist/eslint/index.js +1 -1
- package/dist/eslint/role-utilities.d.ts +36 -7
- package/dist/eslint/role-utilities.js +42 -9
- package/dist/eslint/role-utilities.js.map +1 -1
- package/dist/feedback/feedback-dialog.d.ts +25 -16
- package/dist/feedback/feedback-dialog.js +6 -2
- package/dist/feedback/feedback-dialog.js.map +1 -1
- package/dist/feedback/feedback-mutation.d.ts +18 -0
- package/dist/feedback/feedback-mutation.js +8 -0
- package/dist/feedback/feedback-mutation.js.map +1 -0
- package/dist/feedback/feedback-page-link.d.ts +53 -0
- package/dist/feedback/feedback-page-link.js +37 -0
- package/dist/feedback/feedback-page-link.js.map +1 -0
- package/dist/feedback/feedback-public-list.d.ts +8 -4
- package/dist/feedback/feedback-public-list.js +2 -2
- package/dist/feedback/feedback-public-list.js.map +1 -1
- package/dist/feedback/feedback-replies.d.ts +3 -1
- package/dist/feedback/feedback-replies.js +5 -4
- package/dist/feedback/feedback-replies.js.map +1 -1
- package/dist/feedback/feedback-row-detail-labels.js +0 -3
- package/dist/feedback/feedback-row-detail-labels.js.map +1 -1
- package/dist/feedback/feedback-row-detail.d.ts +33 -44
- package/dist/feedback/feedback-row-detail.js +28 -34
- package/dist/feedback/feedback-row-detail.js.map +1 -1
- package/dist/feedback/feedback-status-undo.d.ts +17 -14
- package/dist/feedback/feedback-status-undo.js +10 -15
- package/dist/feedback/feedback-status-undo.js.map +1 -1
- package/dist/feedback/feedback-submit-dialog.d.ts +1 -1
- package/dist/feedback/feedback-submit-dialog.js +1 -1
- package/dist/feedback/feedback-submit-dialog.js.map +1 -1
- package/dist/feedback/feedback-submit.js +9 -3
- package/dist/feedback/feedback-submit.js.map +1 -1
- package/dist/feedback/feedback-swipe.d.ts +1 -1
- package/dist/feedback/feedback-swipe.js.map +1 -1
- package/dist/feedback/feedback-table.d.ts +21 -9
- package/dist/feedback/feedback-table.js +45 -25
- package/dist/feedback/feedback-table.js.map +1 -1
- package/dist/feedback/feedback-thread-labels.d.ts +2 -2
- package/dist/feedback/feedback-thread-labels.js.map +1 -1
- package/dist/feedback/feedback-thread.d.ts +15 -23
- package/dist/feedback/feedback-thread.js +2 -1
- package/dist/feedback/feedback-thread.js.map +1 -1
- package/dist/feedback.d.ts +6 -6
- package/dist/feedback.js +90 -6
- package/dist/feedback.js.map +1 -1
- package/dist/hooks/use-focus-trap.d.ts +35 -0
- package/dist/hooks/use-focus-trap.js +6 -4
- package/dist/hooks/use-focus-trap.js.map +1 -1
- package/dist/hooks/use-hotkey.d.ts +5 -2
- package/dist/hooks/use-hotkey.js +5 -4
- package/dist/hooks/use-hotkey.js.map +1 -1
- package/dist/hooks/use-long-press.d.ts +7 -4
- package/dist/hooks/use-long-press.js +3 -0
- package/dist/hooks/use-long-press.js.map +1 -1
- package/dist/hooks/use-media-query.js +12 -4
- package/dist/hooks/use-media-query.js.map +1 -1
- package/dist/hooks/use-mounted.d.ts +22 -0
- package/dist/hooks/use-mounted.js +24 -0
- package/dist/hooks/use-mounted.js.map +1 -0
- package/dist/hooks/use-overlay-history.js +19 -3
- package/dist/hooks/use-overlay-history.js.map +1 -1
- package/dist/i18n/defaults.js +4 -9
- package/dist/i18n/defaults.js.map +1 -1
- package/dist/i18n/german.js +7 -18
- package/dist/i18n/german.js.map +1 -1
- package/dist/i18n/kit-labels.d.ts +9 -11
- package/dist/i18n/kit-labels.js.map +1 -1
- package/dist/i18n/locales/en.js +15 -64
- package/dist/i18n/locales/en.js.map +3 -3
- package/dist/i18n/locales/es.js +7 -18
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.js +20 -27
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hu.js +9 -18
- package/dist/i18n/locales/hu.js.map +1 -1
- package/dist/i18n/locales/it.js +7 -19
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/zh.js +8 -18
- package/dist/i18n/locales/zh.js.map +1 -1
- package/dist/i18n/review.js +12 -2
- package/dist/i18n/review.js.map +1 -1
- package/dist/i18n/shared-labels.js +0 -1
- package/dist/i18n/shared-labels.js.map +1 -1
- package/dist/index.d.ts +21 -23
- package/dist/index.js +50 -65
- package/dist/index.js.map +1 -1
- package/dist/landing/routing.d.ts +3 -1
- package/dist/landing/routing.js +4 -7
- package/dist/landing/routing.js.map +1 -1
- package/dist/lib/broadcast.d.ts +17 -0
- package/dist/lib/broadcast.js +30 -0
- package/dist/lib/broadcast.js.map +1 -0
- package/dist/lib/date-format.d.ts +37 -2
- package/dist/lib/date-format.js +34 -8
- package/dist/lib/date-format.js.map +1 -1
- package/dist/lib/day-format.d.ts +46 -0
- package/dist/lib/day-format.js +46 -0
- package/dist/lib/day-format.js.map +1 -0
- package/dist/lib/describe-failure.d.ts +14 -0
- package/dist/lib/describe-failure.js +9 -0
- package/dist/lib/describe-failure.js.map +1 -0
- package/dist/lib/direction.d.ts +16 -0
- package/dist/lib/direction.js +9 -1
- package/dist/lib/direction.js.map +1 -1
- package/dist/lib/focus-left.d.ts +63 -0
- package/dist/lib/focus-left.js +67 -0
- package/dist/lib/focus-left.js.map +1 -0
- package/dist/lib/format.js +5 -14
- package/dist/lib/format.js.map +1 -1
- package/dist/lib/http-status.d.ts +24 -0
- package/dist/lib/http-status.js +14 -0
- package/dist/lib/http-status.js.map +1 -0
- package/dist/lib/intl-cache.d.ts +14 -0
- package/dist/lib/intl-cache.js +15 -0
- package/dist/lib/intl-cache.js.map +1 -0
- package/dist/lib/iso-day.d.ts +11 -0
- package/dist/lib/iso-day.js +8 -0
- package/dist/lib/iso-day.js.map +1 -0
- package/dist/lib/lazy-with-fallback.d.ts +31 -0
- package/dist/lib/lazy-with-fallback.js +40 -0
- package/dist/lib/lazy-with-fallback.js.map +1 -0
- package/dist/lib/path-pattern.d.ts +34 -0
- package/dist/lib/path-pattern.js +24 -0
- package/dist/lib/path-pattern.js.map +1 -0
- package/dist/lib/reduced-motion.d.ts +2 -1
- package/dist/lib/reduced-motion.js.map +1 -1
- package/dist/lib/round.d.ts +2 -1
- package/dist/lib/round.js +2 -1
- package/dist/lib/round.js.map +1 -1
- package/dist/lib/safe-storage.d.ts +24 -5
- package/dist/lib/safe-storage.js +27 -2
- package/dist/lib/safe-storage.js.map +1 -1
- package/dist/lib/session-refresh.js +1 -1
- package/dist/lib/session-refresh.js.map +1 -1
- package/dist/lib/share-format.d.ts +13 -0
- package/dist/lib/share-format.js +10 -0
- package/dist/lib/share-format.js.map +1 -0
- package/dist/lib/text-case.d.ts +17 -0
- package/dist/lib/text-case.js +8 -0
- package/dist/lib/text-case.js.map +1 -0
- package/dist/lib/text-match.d.ts +29 -0
- package/dist/lib/text-match.js +20 -2
- package/dist/lib/text-match.js.map +1 -1
- package/dist/lib/thenable.d.ts +13 -0
- package/dist/lib/thenable.js +8 -0
- package/dist/lib/thenable.js.map +1 -0
- package/dist/lib/translation-review.d.ts +7 -2
- package/dist/lib/translation-review.js +4 -4
- package/dist/lib/translation-review.js.map +1 -1
- package/dist/notifications/device-zone-report.js +1 -1
- package/dist/notifications/device-zone-report.js.map +1 -1
- package/dist/notifications/notification-bell.d.ts +2 -1
- package/dist/notifications/notification-bell.js +3 -3
- package/dist/notifications/notification-bell.js.map +1 -1
- package/dist/notifications/notification-inbox.d.ts +10 -6
- package/dist/notifications/notification-inbox.js +26 -48
- package/dist/notifications/notification-inbox.js.map +1 -1
- package/dist/notifications/notification-parts.d.ts +3 -2
- package/dist/notifications/notification-parts.js +1 -3
- package/dist/notifications/notification-parts.js.map +1 -1
- package/dist/notifications/notification-types-setting.js +1 -1
- package/dist/notifications/notification-types-setting.js.map +1 -1
- package/dist/notifications/notifications-labels.d.ts +6 -0
- package/dist/notifications/notifications-labels.js +1 -0
- package/dist/notifications/notifications-labels.js.map +1 -1
- package/dist/notifications/push-device-setting.js +1 -1
- package/dist/notifications/push-device-setting.js.map +1 -1
- package/dist/notifications/push-devices-setting.d.ts +2 -1
- package/dist/notifications/push-devices-setting.js +27 -49
- package/dist/notifications/push-devices-setting.js.map +1 -1
- package/dist/notifications/quiet-hours-setting.d.ts +10 -3
- package/dist/notifications/quiet-hours-setting.js +65 -26
- package/dist/notifications/quiet-hours-setting.js.map +1 -1
- package/dist/notifications/unsubscribe-panel.js +4 -7
- package/dist/notifications/unsubscribe-panel.js.map +1 -1
- package/dist/notifications/use-push-device.d.ts +39 -1
- package/dist/notifications/use-push-device.js +28 -7
- package/dist/notifications/use-push-device.js.map +1 -1
- package/dist/offline/query-persistence.d.ts +3 -1
- package/dist/offline/query-persistence.js +19 -2
- package/dist/offline/query-persistence.js.map +1 -1
- package/dist/rhf/fields.d.ts +11 -4
- package/dist/rhf/fields.js.map +1 -1
- package/dist/search/command-palette.js +1 -1
- package/dist/search/command-palette.js.map +1 -1
- package/dist/search/global-search.js +19 -9
- package/dist/search/global-search.js.map +1 -1
- package/dist/search/search-index.d.ts +0 -6
- package/dist/search/search-index.js +0 -4
- package/dist/search/search-index.js.map +1 -1
- package/dist/search/use-command-key.d.ts +12 -1
- package/dist/search/use-command-key.js +3 -12
- package/dist/search/use-command-key.js.map +1 -1
- package/dist/search.d.ts +1 -1
- package/dist/search.js +6 -1
- package/dist/search.js.map +1 -1
- package/dist/settings/use-settings-focus.js +1 -0
- package/dist/settings/use-settings-focus.js.map +1 -1
- package/dist/shell/account-menu-language.d.ts +5 -3
- package/dist/shell/account-menu-language.js +2 -2
- package/dist/shell/account-menu-language.js.map +1 -1
- package/dist/shell/account-menu-text-size.d.ts +9 -6
- package/dist/shell/account-menu-text-size.js +2 -2
- package/dist/shell/account-menu-text-size.js.map +1 -1
- package/dist/shell/app-shell.d.ts +0 -10
- package/dist/shell/app-shell.js +1 -7
- package/dist/shell/app-shell.js.map +1 -1
- package/dist/shell/company-switcher.d.ts +1 -1
- package/dist/shell/company-switcher.js.map +1 -1
- package/dist/shell/dev-menu.d.ts +1 -1
- package/dist/shell/dev-menu.js +5 -18
- package/dist/shell/dev-menu.js.map +1 -1
- package/dist/shell/top-bar-actions.d.ts +1 -1
- package/dist/shell/top-bar-actions.js.map +1 -1
- package/dist/shell/top-bar-parts-labels.d.ts +1 -3
- package/dist/shell/top-bar-parts-labels.js +0 -1
- package/dist/shell/top-bar-parts-labels.js.map +1 -1
- package/dist/shell.d.ts +7 -10
- package/dist/shell.js +14 -23
- package/dist/shell.js.map +1 -1
- package/dist/sync/engine.d.ts +30 -4
- package/dist/sync/engine.js +172 -52
- package/dist/sync/engine.js.map +1 -1
- package/dist/sync.d.ts +2 -2
- package/dist/sync.js +2 -10
- package/dist/sync.js.map +1 -1
- package/dist/testing/css-variables.js +3 -8
- package/dist/testing/css-variables.js.map +1 -1
- package/dist/theme/chart-palette.d.ts +0 -5
- package/dist/theme/chart-palette.js +0 -2
- package/dist/theme/chart-palette.js.map +1 -1
- package/dist/theme/contrast.d.ts +2 -1
- package/dist/theme/contrast.js +3 -8
- package/dist/theme/contrast.js.map +1 -1
- package/dist/theme/palette-store.js +6 -6
- package/dist/theme/palette-store.js.map +1 -1
- package/dist/theme/text-size.js +3 -8
- package/dist/theme/text-size.js.map +1 -1
- package/dist/theme/theme-store.js +3 -6
- package/dist/theme/theme-store.js.map +1 -1
- package/dist/tour/tour-catalogue.d.ts +7 -4
- package/dist/tour/tour-catalogue.js +12 -10
- package/dist/tour/tour-catalogue.js.map +1 -1
- package/dist/tour/tour-dock.d.ts +0 -2
- package/dist/tour/tour-dock.js +0 -2
- package/dist/tour/tour-dock.js.map +1 -1
- package/dist/tour/tour-gates.d.ts +4 -0
- package/dist/tour/tour-gates.js +14 -0
- package/dist/tour/tour-gates.js.map +1 -1
- package/dist/tour/tour-overlay.d.ts +27 -0
- package/dist/tour/tour-overlay.js +741 -0
- package/dist/tour/tour-overlay.js.map +1 -0
- package/dist/tour/tour.d.ts +13 -3
- package/dist/tour/tour.js +59 -781
- package/dist/tour/tour.js.map +1 -1
- package/dist/tour/use-tour-progress.js +1 -1
- package/dist/tour/use-tour-progress.js.map +1 -1
- package/dist/wizard/stepper-nav.d.ts +5 -1
- package/dist/wizard/stepper-nav.js.map +1 -1
- package/dist/wizard/types.d.ts +6 -2
- package/dist/wizard/types.js.map +1 -1
- package/dist/wizard/use-wizard.d.ts +3 -1
- package/dist/wizard/use-wizard.js.map +1 -1
- package/dist/wizard/validation.d.ts +3 -1
- package/dist/wizard/validation.js.map +1 -1
- package/package.json +10 -6
- package/src/account/account-parts.ts +5 -25
- package/src/account/data-export-setting-labels.ts +1 -1
- package/src/account/delete-account-setting-labels.ts +1 -1
- package/src/account/email-change-setting-labels.ts +1 -1
- package/src/account/passkeys-setting.tsx +60 -38
- package/src/account/sessions-setting.tsx +18 -12
- package/src/admin/admin-action-confirm.tsx +1 -5
- package/src/admin/admin-parts.ts +11 -25
- package/src/admin/mail-test-card-labels.ts +1 -1
- package/src/admin/plan-change-labels.ts +5 -23
- package/src/admin/plan-change.tsx +7 -44
- package/src/admin/reviewer-scope-editor.tsx +3 -3
- package/src/auth/auth-errors-labels.ts +23 -0
- package/src/auth/auth-errors.ts +11 -38
- package/src/auth/complete-name-dialog.tsx +4 -1
- package/src/auth/forgot-password-form-labels.ts +1 -1
- package/src/auth/forgot-password-form.tsx +11 -6
- package/src/auth/register-form-labels.ts +1 -1
- package/src/auth/reset-password-form-labels.ts +1 -1
- package/src/auth/reset-password-form.tsx +8 -4
- package/src/auth/sign-in-form-labels.ts +1 -1
- package/src/auth/status-parts.tsx +0 -6
- package/src/auth/verify-email-labels.ts +1 -1
- package/src/auth/verify-email.tsx +11 -6
- package/src/billing/cancel-subscription.tsx +15 -12
- package/src/billing/plan-card.tsx +18 -10
- package/src/billing/plan-change-labels.ts +66 -0
- package/src/billing/plan-switch.tsx +15 -12
- package/src/chart.ts +73 -6
- package/src/components/account-chips.tsx +20 -23
- package/src/components/alert-banner.tsx +82 -5
- package/src/components/amount-input.tsx +18 -7
- package/src/components/autocomplete.tsx +64 -70
- package/src/components/bulk-action-bar.tsx +70 -2
- package/src/components/button-look.ts +5 -5
- package/src/components/button.tsx +2 -2
- package/src/components/chart-edge.ts +34 -1
- package/src/components/chart-figure.tsx +35 -0
- package/src/components/chart-zoom-core.tsx +6 -5
- package/src/components/chart.tsx +26 -5
- package/src/components/combobox-core.tsx +293 -62
- package/src/components/combobox.tsx +183 -153
- package/src/components/copy-button.tsx +34 -23
- package/src/components/country-select.tsx +16 -11
- package/src/components/data-table-column-settings.tsx +52 -10
- package/src/components/data-table-filters.ts +6 -4
- package/src/components/data-table-fit.ts +19 -5
- package/src/components/data-table-groups.tsx +1 -1
- package/src/components/data-table-head.tsx +32 -22
- package/src/components/data-table-mobile.tsx +61 -26
- package/src/components/data-table-pagination.tsx +21 -6
- package/src/components/data-table-resize.ts +1 -1
- package/src/components/data-table-row-actions.tsx +3 -3
- package/src/components/data-table-row.tsx +25 -14
- package/src/components/data-table-selection.ts +1 -1
- package/src/components/data-table-shared.tsx +33 -1
- package/src/components/data-table-sort.ts +57 -2
- package/src/components/data-table-virtual.ts +32 -8
- package/src/components/data-table.tsx +239 -68
- package/src/components/date-field.tsx +66 -9
- package/src/components/date-picker.tsx +125 -49
- package/src/components/date-range-picker.tsx +71 -36
- package/src/components/error-boundary.tsx +53 -39
- package/src/components/field-base-labels.ts +20 -0
- package/src/components/field-base.tsx +13 -7
- package/src/components/form-actions.tsx +20 -5
- package/src/components/hover-menu.tsx +18 -8
- package/src/components/icon-button.tsx +14 -9
- package/src/components/inline-confirm.tsx +116 -0
- package/src/components/inline-entity-combobox.tsx +197 -153
- package/src/components/input.tsx +1 -1
- package/src/components/jump-calendar.tsx +30 -146
- package/src/components/legal-page.tsx +10 -7
- package/src/components/legal.tsx +4 -2
- package/src/components/lightbox.tsx +21 -8
- package/src/components/list.tsx +10 -4
- package/src/components/measured-grid.tsx +8 -4
- package/src/components/mini-calendar.tsx +6 -5
- package/src/components/modal.tsx +6 -1
- package/src/components/month-grid.tsx +229 -0
- package/src/components/month-picker.tsx +192 -200
- package/src/components/multi-select.tsx +21 -9
- package/src/components/nav-pills.tsx +1 -1
- package/src/components/picker-sheet.tsx +12 -9
- package/src/components/pie-chart-labels.ts +8 -0
- package/src/components/pie-chart.tsx +22 -28
- package/src/components/popover.tsx +18 -1
- package/src/components/row-actions.tsx +2 -1
- package/src/components/series-chart-axes.ts +9 -4
- package/src/components/series-chart-labels.ts +7 -4
- package/src/components/series-chart.tsx +253 -87
- package/src/components/share-card.tsx +6 -6
- package/src/components/tabs-labels.ts +13 -0
- package/src/components/tabs.tsx +2 -2
- package/src/components/toggle-legend.tsx +16 -11
- package/src/components/translation-review-editor.tsx +6 -5
- package/src/components/translation-review.tsx +4 -3
- package/src/components/treemap-labels.ts +47 -0
- package/src/components/treemap-layout.ts +210 -0
- package/src/components/treemap.tsx +780 -138
- package/src/components/use-table-state.ts +12 -9
- package/src/data-table.ts +1 -4
- package/src/demo/demo-countdown.ts +3 -8
- package/src/eslint/role-utilities.ts +97 -19
- package/src/feedback/feedback-dialog.tsx +30 -19
- package/src/feedback/feedback-mutation.ts +20 -0
- package/src/feedback/feedback-page-link.ts +90 -0
- package/src/feedback/feedback-public-list.tsx +13 -7
- package/src/feedback/feedback-replies.tsx +13 -6
- package/src/feedback/feedback-row-detail-labels.ts +0 -3
- package/src/feedback/feedback-row-detail.tsx +70 -84
- package/src/feedback/feedback-status-undo.ts +28 -28
- package/src/feedback/feedback-submit-dialog.tsx +2 -2
- package/src/feedback/feedback-submit.tsx +21 -7
- package/src/feedback/feedback-swipe.tsx +1 -1
- package/src/feedback/feedback-table.tsx +86 -38
- package/src/feedback/feedback-thread-labels.ts +2 -2
- package/src/feedback/feedback-thread.tsx +18 -26
- package/src/feedback.ts +89 -6
- package/src/hooks/use-focus-trap.ts +8 -24
- package/src/hooks/use-hotkey.ts +24 -7
- package/src/hooks/use-long-press.ts +16 -2
- package/src/hooks/use-media-query.ts +20 -4
- package/src/hooks/use-mounted.ts +39 -0
- package/src/hooks/use-overlay-history.ts +32 -3
- package/src/i18n/defaults.ts +4 -9
- package/src/i18n/german.ts +8 -19
- package/src/i18n/kit-labels.tsx +9 -11
- package/src/i18n/locales/es.ts +8 -19
- package/src/i18n/locales/fr.ts +21 -30
- package/src/i18n/locales/hu.ts +10 -19
- package/src/i18n/locales/it.ts +8 -20
- package/src/i18n/locales/zh.ts +9 -19
- package/src/i18n/review.ts +12 -2
- package/src/i18n/shared-labels.ts +0 -1
- package/src/index.ts +57 -49
- package/src/landing/routing.tsx +14 -10
- package/src/lib/broadcast.ts +52 -0
- package/src/lib/date-format.ts +89 -13
- package/src/lib/day-format.ts +96 -0
- package/src/lib/describe-failure.ts +18 -0
- package/src/lib/direction.ts +39 -0
- package/src/lib/focus-left.ts +156 -0
- package/src/lib/format.ts +5 -17
- package/src/lib/http-status.ts +38 -0
- package/src/lib/intl-cache.ts +25 -0
- package/src/lib/iso-day.ts +13 -0
- package/src/lib/lazy-with-fallback.ts +82 -0
- package/src/lib/path-pattern.ts +55 -0
- package/src/lib/reduced-motion.ts +2 -1
- package/src/lib/round.ts +7 -2
- package/src/lib/safe-storage.ts +48 -6
- package/src/lib/session-refresh.ts +1 -1
- package/src/lib/share-format.ts +18 -0
- package/src/lib/text-case.ts +19 -0
- package/src/lib/text-match.ts +57 -2
- package/src/lib/thenable.ts +19 -0
- package/src/lib/translation-review.ts +13 -5
- package/src/notifications/device-zone-report.ts +1 -1
- package/src/notifications/notification-bell.tsx +7 -4
- package/src/notifications/notification-inbox.tsx +40 -58
- package/src/notifications/notification-parts.tsx +3 -4
- package/src/notifications/notification-types-setting.tsx +1 -1
- package/src/notifications/notifications-labels.ts +7 -0
- package/src/notifications/push-device-setting.tsx +1 -1
- package/src/notifications/push-devices-setting.tsx +30 -55
- package/src/notifications/quiet-hours-setting.tsx +93 -31
- package/src/notifications/unsubscribe-panel.tsx +4 -7
- package/src/notifications/use-push-device.ts +76 -10
- package/src/offline/query-persistence.ts +35 -3
- package/src/rhf/fields.tsx +11 -4
- package/src/search/command-palette.tsx +2 -4
- package/src/search/global-search.tsx +36 -15
- package/src/search/search-index.ts +0 -15
- package/src/search/use-command-key.ts +13 -12
- package/src/search.ts +10 -1
- package/src/settings/use-settings-focus.ts +3 -0
- package/src/shell/account-menu-language.tsx +6 -4
- package/src/shell/account-menu-text-size.tsx +10 -7
- package/src/shell/app-shell.tsx +0 -13
- package/src/shell/company-switcher.tsx +1 -1
- package/src/shell/dev-menu.tsx +8 -22
- package/src/shell/top-bar-actions.tsx +1 -1
- package/src/shell/top-bar-parts-labels.ts +1 -4
- package/src/shell.ts +21 -17
- package/src/sync/engine.ts +339 -61
- package/src/sync.ts +2 -8
- package/src/testing/css-variables.ts +8 -9
- package/src/theme/chart-palette.ts +0 -2
- package/src/theme/contrast.ts +8 -9
- package/src/theme/palette-store.ts +9 -9
- package/src/theme/text-size.ts +6 -8
- package/src/theme/theme-store.ts +7 -9
- package/src/tour/tour-catalogue.tsx +26 -15
- package/src/tour/tour-dock.ts +0 -2
- package/src/tour/tour-gates.ts +23 -0
- package/src/tour/tour-overlay.tsx +1170 -0
- package/src/tour/tour.tsx +108 -1202
- package/src/tour/use-tour-progress.ts +1 -1
- package/src/wizard/stepper-nav.tsx +3 -1
- package/src/wizard/types.ts +11 -2
- package/src/wizard/use-wizard.ts +2 -1
- package/src/wizard/validation.ts +8 -2
- package/tokens.css +6 -5
- package/dist/components/field-sync-labels.d.ts +0 -2
- package/dist/components/field-sync-labels.js +0 -12
- package/dist/components/field-sync-labels.js.map +0 -1
- package/dist/components/field-sync.d.ts +0 -164
- package/dist/components/field-sync.js +0 -269
- package/dist/components/field-sync.js.map +0 -1
- package/dist/components/section-nav.d.ts +0 -37
- package/dist/components/section-nav.js +0 -33
- package/dist/components/section-nav.js.map +0 -1
- package/dist/components/sign-chip-labels.d.ts +0 -2
- package/dist/components/sign-chip-labels.js +0 -11
- package/dist/components/sign-chip-labels.js.map +0 -1
- package/dist/components/sign-chip.d.ts +0 -68
- package/dist/components/sign-chip.js +0 -47
- package/dist/components/sign-chip.js.map +0 -1
- package/dist/components/ui-labels.js.map +0 -1
- package/dist/lib/isin.d.ts +0 -28
- package/dist/lib/isin.js +0 -36
- package/dist/lib/isin.js.map +0 -1
- package/dist/shell/dev-switchers.d.ts +0 -6
- package/dist/shell/dev-switchers.js +0 -12
- package/dist/shell/dev-switchers.js.map +0 -1
- package/dist/shell/role-switcher.d.ts +0 -21
- package/dist/shell/role-switcher.js +0 -31
- package/dist/shell/role-switcher.js.map +0 -1
- package/src/components/field-sync-labels.ts +0 -13
- package/src/components/field-sync.tsx +0 -482
- package/src/components/section-nav.tsx +0 -65
- package/src/components/sign-chip-labels.ts +0 -12
- package/src/components/sign-chip.tsx +0 -124
- package/src/components/ui-labels.ts +0 -24
- package/src/lib/isin.ts +0 -62
- package/src/shell/dev-switchers.tsx +0 -18
- package/src/shell/role-switcher.tsx +0 -46
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import type { NavPillItem, NavPillLinkProps } from "./nav-pills.js";
|
|
2
|
-
import type { ReactElement, Ref } from "react";
|
|
3
|
-
export interface SectionNavProps<T extends string> {
|
|
4
|
-
/** The section's pages, each with its `href` (a pill without one is a button that
|
|
5
|
-
* calls `onSelect`). Labels short: the row is one line. */
|
|
6
|
-
items: NavPillItem<T>[];
|
|
7
|
-
/** The page that is open. `null`: none of them. */
|
|
8
|
-
current: T | null;
|
|
9
|
-
/** The section's name — the landmark's accessible name ("Accounting"). */
|
|
10
|
-
label: string;
|
|
11
|
-
/** Called with a pill's value on a click, before the router follows its link. */
|
|
12
|
-
onSelect?: (value: T) => void;
|
|
13
|
-
/** Your router's link. Default: the `<UiKitProvider linkComponent>`, then `<a>`. */
|
|
14
|
-
renderLink?: (props: NavPillLinkProps) => ReactElement;
|
|
15
|
-
/** Default `true`: only below `md`, where the sidebar that lists the same pages is
|
|
16
|
-
* gone. `false` shows it at every width. */
|
|
17
|
-
phoneOnly?: boolean;
|
|
18
|
-
className?: string;
|
|
19
|
-
ref?: Ref<HTMLElement>;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* The pages of a section on a phone, as one row of pills under the page title (0.49
|
|
23
|
-
* KIT-6) — kastlan's section pills, which each section page drew by hand.
|
|
24
|
-
*
|
|
25
|
-
* On a desktop the sidebar lists a group's pages; on a phone the AppShell's bar holds
|
|
26
|
-
* the groups, and a group's pages are a sheet away. This row puts them on the page
|
|
27
|
-
* itself: {@link NavPills} with `layout="scroll"` — one line that scrolls sideways, faded
|
|
28
|
-
* where it is cut, the open page scrolled into view (the row only, never the page). At
|
|
29
|
-
* most 48 px high: 44 px pills, the touch target a finger needs, and 2 px above and
|
|
30
|
-
* below. Each pill is a link (`aria-current="page"` on the open one) and its own tab
|
|
31
|
-
* stop; the row is a `<nav>` named by `label`.
|
|
32
|
-
*
|
|
33
|
-
* Place it right under the page's title (`PageHeader`); the AppShell's own row of a
|
|
34
|
-
* group's pages above the bar (`mobileSubNav`) is the shell-wide alternative — use one,
|
|
35
|
-
* not both, for the same pages.
|
|
36
|
-
*/
|
|
37
|
-
export declare function SectionNav<T extends string>({ items, current, label, onSelect, renderLink, phoneOnly, className, ref, }: SectionNavProps<T>): import("react").JSX.Element;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx } from "react/jsx-runtime";
|
|
3
|
-
import { cn } from "../lib/cn.js";
|
|
4
|
-
import { NavPills } from "./nav-pills.js";
|
|
5
|
-
function SectionNav({
|
|
6
|
-
items,
|
|
7
|
-
current,
|
|
8
|
-
label,
|
|
9
|
-
onSelect,
|
|
10
|
-
renderLink,
|
|
11
|
-
phoneOnly = true,
|
|
12
|
-
className,
|
|
13
|
-
ref
|
|
14
|
-
}) {
|
|
15
|
-
return /* @__PURE__ */ jsx(
|
|
16
|
-
NavPills,
|
|
17
|
-
{
|
|
18
|
-
ref,
|
|
19
|
-
"aria-label": label,
|
|
20
|
-
items,
|
|
21
|
-
current,
|
|
22
|
-
onSelect,
|
|
23
|
-
renderLink,
|
|
24
|
-
layout: "scroll",
|
|
25
|
-
itemClassName: "min-h-11 focus-visible:ring-inset",
|
|
26
|
-
className: cn("py-0.5 large:py-0", phoneOnly && "md:hidden", className)
|
|
27
|
-
}
|
|
28
|
-
);
|
|
29
|
-
}
|
|
30
|
-
export {
|
|
31
|
-
SectionNav
|
|
32
|
-
};
|
|
33
|
-
//# sourceMappingURL=section-nav.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/section-nav.tsx"],"sourcesContent":["import { cn } from \"../lib/cn\";\nimport { NavPills } from \"./nav-pills\";\nimport type { NavPillItem, NavPillLinkProps } from \"./nav-pills\";\nimport type { ReactElement, Ref } from \"react\";\n\nexport interface SectionNavProps<T extends string> {\n /** The section's pages, each with its `href` (a pill without one is a button that\n * calls `onSelect`). Labels short: the row is one line. */\n items: NavPillItem<T>[];\n /** The page that is open. `null`: none of them. */\n current: T | null;\n /** The section's name — the landmark's accessible name (\"Accounting\"). */\n label: string;\n /** Called with a pill's value on a click, before the router follows its link. */\n onSelect?: (value: T) => void;\n /** Your router's link. Default: the `<UiKitProvider linkComponent>`, then `<a>`. */\n renderLink?: (props: NavPillLinkProps) => ReactElement;\n /** Default `true`: only below `md`, where the sidebar that lists the same pages is\n * gone. `false` shows it at every width. */\n phoneOnly?: boolean;\n className?: string;\n ref?: Ref<HTMLElement>;\n}\n\n/**\n * The pages of a section on a phone, as one row of pills under the page title (0.49\n * KIT-6) — kastlan's section pills, which each section page drew by hand.\n *\n * On a desktop the sidebar lists a group's pages; on a phone the AppShell's bar holds\n * the groups, and a group's pages are a sheet away. This row puts them on the page\n * itself: {@link NavPills} with `layout=\"scroll\"` — one line that scrolls sideways, faded\n * where it is cut, the open page scrolled into view (the row only, never the page). At\n * most 48 px high: 44 px pills, the touch target a finger needs, and 2 px above and\n * below. Each pill is a link (`aria-current=\"page\"` on the open one) and its own tab\n * stop; the row is a `<nav>` named by `label`.\n *\n * Place it right under the page's title (`PageHeader`); the AppShell's own row of a\n * group's pages above the bar (`mobileSubNav`) is the shell-wide alternative — use one,\n * not both, for the same pages.\n */\nexport function SectionNav<T extends string>({\n items,\n current,\n label,\n onSelect,\n renderLink,\n phoneOnly = true,\n className,\n ref,\n}: SectionNavProps<T>) {\n return (\n <NavPills\n ref={ref}\n aria-label={label}\n items={items}\n current={current}\n onSelect={onSelect}\n renderLink={renderLink}\n layout=\"scroll\"\n // The ring inside the pill: the row scrolls, so it clips what leaves its box.\n itemClassName=\"min-h-11 focus-visible:ring-inset\"\n className={cn(\"py-0.5 large:py-0\", phoneOnly && \"md:hidden\", className)}\n />\n );\n}\n"],"mappings":";AAmDI;AAnDJ,SAAS,UAAU;AACnB,SAAS,gBAAgB;AAuClB,SAAS,WAA6B;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA;AACF,GAAuB;AACrB,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,cAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAO;AAAA,MAEP,eAAc;AAAA,MACd,WAAW,GAAG,qBAAqB,aAAa,aAAa,SAAS;AAAA;AAAA,EACxE;AAEJ;","names":[]}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
const DEFAULT_SIGN_CHIP_LABELS = {
|
|
3
|
-
outflow: "Outflow",
|
|
4
|
-
inflow: "Inflow",
|
|
5
|
-
direction: (current, next) => `Direction: ${current} \u2014 switch to ${next}`,
|
|
6
|
-
switchTo: (next) => `Switch to ${next}`
|
|
7
|
-
};
|
|
8
|
-
export {
|
|
9
|
-
DEFAULT_SIGN_CHIP_LABELS
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=sign-chip-labels.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/sign-chip-labels.ts"],"sourcesContent":["// The English words of ./sign-chip, in a module with no component code: the English\n// catalogue (src/i18n/defaults.ts) imports them without the component, so `en` loads as one\n// chunk like the other languages (0.34, KS U8). ./sign-chip re-exports them.\n\nimport type { SignChipLabels } from \"./sign-chip\";\n\nexport const DEFAULT_SIGN_CHIP_LABELS: SignChipLabels = {\n outflow: \"Outflow\",\n inflow: \"Inflow\",\n direction: (current, next) => `Direction: ${current} — switch to ${next}`,\n switchTo: (next) => `Switch to ${next}`,\n};\n"],"mappings":";AAMO,MAAM,2BAA2C;AAAA,EACtD,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,WAAW,CAAC,SAAS,SAAS,cAAc,OAAO,qBAAgB,IAAI;AAAA,EACvE,UAAU,CAAC,SAAS,aAAa,IAAI;AACvC;","names":[]}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { type LabelOverride } from "../i18n/kit-labels.js";
|
|
2
|
-
import { DEFAULT_SIGN_CHIP_LABELS } from "./sign-chip-labels.js";
|
|
3
|
-
/** The words a {@link SignChip} says — the `signChip` namespace of
|
|
4
|
-
* `<UiKitProvider labels>`, and per chip through its `labels` prop. */
|
|
5
|
-
export interface SignChipLabels {
|
|
6
|
-
/** The chip's text while the figure is negative — money going out. */
|
|
7
|
-
outflow: string;
|
|
8
|
-
/** The chip's text while the figure is positive — money coming in. */
|
|
9
|
-
inflow: string;
|
|
10
|
-
/** The chip's accessible name and its tooltip: the state it is in, and what a press
|
|
11
|
-
* turns it into — `current` and `next` are the two words above. The other option is
|
|
12
|
-
* nowhere on screen to be read, so the name has to say both. */
|
|
13
|
-
direction: (current: string, next: string) => string;
|
|
14
|
-
/** 0.32: what a press does, in words under the chip at Large and Extra large —
|
|
15
|
-
* `next` is the other direction's word ("Switch to Inflow"). The tooltip's half of
|
|
16
|
-
* `direction`, shown, since a fact may not live only in a tooltip there (§4). */
|
|
17
|
-
switchTo: (next: string) => string;
|
|
18
|
-
}
|
|
19
|
-
export { DEFAULT_SIGN_CHIP_LABELS };
|
|
20
|
-
export interface SignChipProps {
|
|
21
|
-
/** The figure is negative (an outflow) — the same flag {@link AmountInput}'s
|
|
22
|
-
* `negative` is, so one state feeds both: `<AmountInput negative={neg}
|
|
23
|
-
* onNegativeChange={setNeg} />` and `<SignChip negative={neg}
|
|
24
|
-
* onNegativeChange={setNeg} />`. */
|
|
25
|
-
negative: boolean;
|
|
26
|
-
/** A press: the other direction. */
|
|
27
|
-
onNegativeChange: (negative: boolean) => void;
|
|
28
|
-
disabled?: boolean;
|
|
29
|
-
/** Per-chip overrides of the `signChip` namespace. */
|
|
30
|
-
labels?: LabelOverride<SignChipLabels>;
|
|
31
|
-
/** On the chip. Place it in its row from here — keksdose's form passes `self-end`
|
|
32
|
-
* to sit it on the display figure's baseline strip. */
|
|
33
|
-
className?: string;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* The SIGN of an amount, as one chip that shows only the state it is in — keksdose
|
|
37
|
-
* K15, its `DirectionToggle` (feedback #417, #430, #431, dev#434) made a kit piece,
|
|
38
|
-
* so the figure and its direction come from one package and wear one palette.
|
|
39
|
-
*
|
|
40
|
-
* WHY A CHIP, NOT A SEGMENTED CONTROL. A two-option toggle spends half its width
|
|
41
|
-
* telling you what the figure is NOT, and at a phone's width it was the widest thing on
|
|
42
|
-
* the form after the figure itself (#417). This sits beside the amount and reads as one
|
|
43
|
-
* phrase with it — "−42,50 Outflow" — and a press flips it. Hiding the alternative costs
|
|
44
|
-
* discoverability, so two things pay it back: the ± glyph and the swap arrows say "this
|
|
45
|
-
* is a control", not a badge; and the name and tooltip spell out both the current state
|
|
46
|
-
* and what a press will do.
|
|
47
|
-
*
|
|
48
|
-
* NOT A PRESSED/UNPRESSED TOGGLE. A {@link Chip} toggle has a FIXED label naming its
|
|
49
|
-
* on-state, with `aria-pressed` carrying the state. Here the word IS the state, so it
|
|
50
|
-
* is an action button with no `aria-pressed`: "Direction: Inflow, not pressed" would
|
|
51
|
-
* name no on-state for "not pressed" to be the absence of. The name changing under
|
|
52
|
-
* focus is the echo.
|
|
53
|
-
*
|
|
54
|
-
* THE COLOUR is the money pairing — the chip's `expense` / `income` tones, the same
|
|
55
|
-
* `--money-expense` / `--money-income` that {@link AmountInput}'s `tone` paints the
|
|
56
|
-
* figure with (dev#434): only the text and the border carry the tint, on a neutral
|
|
57
|
-
* surface, because a filled pill next to a tinted figure reads as one smear.
|
|
58
|
-
*
|
|
59
|
-
* SIZE. `lg` on a phone — the 44px touch target beside a display figure that has no
|
|
60
|
-
* field height to match — and from `md` up exactly a labelled field's 42px, so it never
|
|
61
|
-
* stands taller than the fields in its grid row (#431).
|
|
62
|
-
*
|
|
63
|
-
* An exported chip rather than an `AmountInput signControl` slot: the slot would have
|
|
64
|
-
* to own the row the two share, and every form lays that row out differently (beside
|
|
65
|
-
* the figure on a phone, in a grid column on a desktop). The chip is the part that was
|
|
66
|
-
* being re-written; the row stays the form's.
|
|
67
|
-
*/
|
|
68
|
-
export declare function SignChip({ negative, onNegativeChange, disabled, labels: labelsProp, className }: SignChipProps): import("react").JSX.Element;
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { ArrowUpDown, Minus, Plus } from "lucide-react";
|
|
4
|
-
import { Chip } from "./chip.js";
|
|
5
|
-
import { Tooltip } from "./tooltip.js";
|
|
6
|
-
import { cn } from "../lib/cn.js";
|
|
7
|
-
import { useKitLabels } from "../i18n/kit-labels.js";
|
|
8
|
-
import { useLargeText } from "../hooks/use-large-text.js";
|
|
9
|
-
import { DEFAULT_SIGN_CHIP_LABELS } from "./sign-chip-labels.js";
|
|
10
|
-
function SignChip({ negative, onNegativeChange, disabled, labels: labelsProp, className }) {
|
|
11
|
-
const labels = useKitLabels("signChip", DEFAULT_SIGN_CHIP_LABELS, labelsProp);
|
|
12
|
-
const current = negative ? labels.outflow : labels.inflow;
|
|
13
|
-
const next = negative ? labels.inflow : labels.outflow;
|
|
14
|
-
const name = labels.direction(current, next);
|
|
15
|
-
const large = useLargeText();
|
|
16
|
-
const chip = /* @__PURE__ */ jsxs(
|
|
17
|
-
Chip,
|
|
18
|
-
{
|
|
19
|
-
size: "lg",
|
|
20
|
-
tone: negative ? "expense" : "income",
|
|
21
|
-
icon: negative ? Minus : Plus,
|
|
22
|
-
onClick: () => onNegativeChange(!negative),
|
|
23
|
-
disabled,
|
|
24
|
-
"aria-label": name,
|
|
25
|
-
className: cn("shrink-0 gap-1.5 whitespace-nowrap px-3 font-medium md:min-h-0 md:py-2.5", !large && className),
|
|
26
|
-
children: [
|
|
27
|
-
current,
|
|
28
|
-
/* @__PURE__ */ jsx(ArrowUpDown, { className: "ms-1.5 inline size-3.5 align-[-0.2em] opacity-60", "aria-hidden": true })
|
|
29
|
-
]
|
|
30
|
-
}
|
|
31
|
-
);
|
|
32
|
-
if (!large) {
|
|
33
|
-
return /* @__PURE__ */ jsx(Tooltip, { label: name, lazy: true, children: chip });
|
|
34
|
-
}
|
|
35
|
-
return (
|
|
36
|
-
// The caller's placement (`self-end`…) moves to the pair, which is now the row's item.
|
|
37
|
-
/* @__PURE__ */ jsxs("span", { "data-slot": "sign-chip", className: cn("inline-flex shrink-0 flex-col items-start gap-0.5", className), children: [
|
|
38
|
-
chip,
|
|
39
|
-
/* @__PURE__ */ jsx("span", { "aria-hidden": true, className: "text-xs text-muted", children: labels.switchTo(next) })
|
|
40
|
-
] })
|
|
41
|
-
);
|
|
42
|
-
}
|
|
43
|
-
export {
|
|
44
|
-
DEFAULT_SIGN_CHIP_LABELS,
|
|
45
|
-
SignChip
|
|
46
|
-
};
|
|
47
|
-
//# sourceMappingURL=sign-chip.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/sign-chip.tsx"],"sourcesContent":["import { ArrowUpDown, Minus, Plus } from \"lucide-react\";\nimport { Chip } from \"./chip\";\nimport { Tooltip } from \"./tooltip\";\nimport { cn } from \"../lib/cn\";\nimport { useKitLabels, type LabelOverride } from \"../i18n/kit-labels\";\nimport { useLargeText } from \"../hooks/use-large-text\";\nimport { DEFAULT_SIGN_CHIP_LABELS } from \"./sign-chip-labels\";\n\n// ── Labels ────────────────────────────────────────────────────────────────────\n\n/** The words a {@link SignChip} says — the `signChip` namespace of\n * `<UiKitProvider labels>`, and per chip through its `labels` prop. */\nexport interface SignChipLabels {\n /** The chip's text while the figure is negative — money going out. */\n outflow: string;\n /** The chip's text while the figure is positive — money coming in. */\n inflow: string;\n /** The chip's accessible name and its tooltip: the state it is in, and what a press\n * turns it into — `current` and `next` are the two words above. The other option is\n * nowhere on screen to be read, so the name has to say both. */\n direction: (current: string, next: string) => string;\n /** 0.32: what a press does, in words under the chip at Large and Extra large —\n * `next` is the other direction's word (\"Switch to Inflow\"). The tooltip's half of\n * `direction`, shown, since a fact may not live only in a tooltip there (§4). */\n switchTo: (next: string) => string;\n}\n\n// Defined in ./sign-chip-labels, which holds no component code (0.34, KS U8).\nexport { DEFAULT_SIGN_CHIP_LABELS };\n\nexport interface SignChipProps {\n /** The figure is negative (an outflow) — the same flag {@link AmountInput}'s\n * `negative` is, so one state feeds both: `<AmountInput negative={neg}\n * onNegativeChange={setNeg} />` and `<SignChip negative={neg}\n * onNegativeChange={setNeg} />`. */\n negative: boolean;\n /** A press: the other direction. */\n onNegativeChange: (negative: boolean) => void;\n disabled?: boolean;\n /** Per-chip overrides of the `signChip` namespace. */\n labels?: LabelOverride<SignChipLabels>;\n /** On the chip. Place it in its row from here — keksdose's form passes `self-end`\n * to sit it on the display figure's baseline strip. */\n className?: string;\n}\n\n/**\n * The SIGN of an amount, as one chip that shows only the state it is in — keksdose\n * K15, its `DirectionToggle` (feedback #417, #430, #431, dev#434) made a kit piece,\n * so the figure and its direction come from one package and wear one palette.\n *\n * WHY A CHIP, NOT A SEGMENTED CONTROL. A two-option toggle spends half its width\n * telling you what the figure is NOT, and at a phone's width it was the widest thing on\n * the form after the figure itself (#417). This sits beside the amount and reads as one\n * phrase with it — \"−42,50 Outflow\" — and a press flips it. Hiding the alternative costs\n * discoverability, so two things pay it back: the ± glyph and the swap arrows say \"this\n * is a control\", not a badge; and the name and tooltip spell out both the current state\n * and what a press will do.\n *\n * NOT A PRESSED/UNPRESSED TOGGLE. A {@link Chip} toggle has a FIXED label naming its\n * on-state, with `aria-pressed` carrying the state. Here the word IS the state, so it\n * is an action button with no `aria-pressed`: \"Direction: Inflow, not pressed\" would\n * name no on-state for \"not pressed\" to be the absence of. The name changing under\n * focus is the echo.\n *\n * THE COLOUR is the money pairing — the chip's `expense` / `income` tones, the same\n * `--money-expense` / `--money-income` that {@link AmountInput}'s `tone` paints the\n * figure with (dev#434): only the text and the border carry the tint, on a neutral\n * surface, because a filled pill next to a tinted figure reads as one smear.\n *\n * SIZE. `lg` on a phone — the 44px touch target beside a display figure that has no\n * field height to match — and from `md` up exactly a labelled field's 42px, so it never\n * stands taller than the fields in its grid row (#431).\n *\n * An exported chip rather than an `AmountInput signControl` slot: the slot would have\n * to own the row the two share, and every form lays that row out differently (beside\n * the figure on a phone, in a grid column on a desktop). The chip is the part that was\n * being re-written; the row stays the form's.\n */\nexport function SignChip({ negative, onNegativeChange, disabled, labels: labelsProp, className }: SignChipProps) {\n const labels = useKitLabels(\"signChip\", DEFAULT_SIGN_CHIP_LABELS, labelsProp);\n const current = negative ? labels.outflow : labels.inflow;\n const next = negative ? labels.inflow : labels.outflow;\n const name = labels.direction(current, next);\n // §4: at Large the chip's word is joined by what a press does, as a line under it —\n // and the bubble that said only that goes.\n const large = useLargeText();\n const chip = (\n <Chip\n size=\"lg\"\n tone={negative ? \"expense\" : \"income\"}\n icon={negative ? Minus : Plus}\n onClick={() => onNegativeChange(!negative)}\n disabled={disabled}\n aria-label={name}\n // `gap-1.5 px-3`: the chip's narrower body, because on a 375px screen every\n // pixel of it is taken from the figure beside it (#430). `md:py-2.5` with the\n // hairline border is the 42px a labelled field measures (#431).\n className={cn(\"shrink-0 gap-1.5 whitespace-nowrap px-3 font-medium md:min-h-0 md:py-2.5\", !large && className)}\n >\n {current}\n {/* The swap arrows after the word, in the label's own row: decoration (the\n name already says what a press does), set a little apart from the word. */}\n <ArrowUpDown className=\"ms-1.5 inline size-3.5 align-[-0.2em] opacity-60\" aria-hidden />\n </Chip>\n );\n if (!large) {\n return (\n <Tooltip label={name} lazy>\n {chip}\n </Tooltip>\n );\n }\n return (\n // The caller's placement (`self-end`…) moves to the pair, which is now the row's item.\n <span data-slot=\"sign-chip\" className={cn(\"inline-flex shrink-0 flex-col items-start gap-0.5\", className)}>\n {chip}\n {/* Hidden from the accessibility tree: the chip's name already says it. */}\n <span aria-hidden className=\"text-xs text-muted\">\n {labels.switchTo(next)}\n </span>\n </span>\n );\n}\n"],"mappings":";AAwFI,SAeE,KAfF;AAxFJ,SAAS,aAAa,OAAO,YAAY;AACzC,SAAS,YAAY;AACrB,SAAS,eAAe;AACxB,SAAS,UAAU;AACnB,SAAS,oBAAwC;AACjD,SAAS,oBAAoB;AAC7B,SAAS,gCAAgC;AAyElC,SAAS,SAAS,EAAE,UAAU,kBAAkB,UAAU,QAAQ,YAAY,UAAU,GAAkB;AAC/G,QAAM,SAAS,aAAa,YAAY,0BAA0B,UAAU;AAC5E,QAAM,UAAU,WAAW,OAAO,UAAU,OAAO;AACnD,QAAM,OAAO,WAAW,OAAO,SAAS,OAAO;AAC/C,QAAM,OAAO,OAAO,UAAU,SAAS,IAAI;AAG3C,QAAM,QAAQ,aAAa;AAC3B,QAAM,OACJ;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,MAAM,WAAW,YAAY;AAAA,MAC7B,MAAM,WAAW,QAAQ;AAAA,MACzB,SAAS,MAAM,iBAAiB,CAAC,QAAQ;AAAA,MACzC;AAAA,MACA,cAAY;AAAA,MAIZ,WAAW,GAAG,4EAA4E,CAAC,SAAS,SAAS;AAAA,MAE5G;AAAA;AAAA,QAGD,oBAAC,eAAY,WAAU,oDAAmD,eAAW,MAAC;AAAA;AAAA;AAAA,EACxF;AAEF,MAAI,CAAC,OAAO;AACV,WACE,oBAAC,WAAQ,OAAO,MAAM,MAAI,MACvB,gBACH;AAAA,EAEJ;AACA;AAAA;AAAA,IAEE,qBAAC,UAAK,aAAU,aAAY,WAAW,GAAG,qDAAqD,SAAS,GACrG;AAAA;AAAA,MAED,oBAAC,UAAK,eAAW,MAAC,WAAU,sBACzB,iBAAO,SAAS,IAAI,GACvB;AAAA,OACF;AAAA;AAEJ;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/ui-labels.ts"],"sourcesContent":["// The English words of ./ui, in a module with no component code: the English catalogue\n// (src/i18n/defaults.ts) imports them without the component, so `en` loads as one chunk\n// like the other languages (0.34, KS U8). ./ui re-exports them.\n\nimport type { CharacterCountLabels, PasswordRevealLabels } from \"./field-base\";\nimport type { TabsLabels } from \"./tabs\";\n\nexport const DEFAULT_PASSWORD_REVEAL_LABELS: PasswordRevealLabels = {\n show: \"Show password\",\n hide: \"Hide password\",\n};\n\nexport const DEFAULT_CHARACTER_COUNT_LABELS: CharacterCountLabels = {\n count: (used, max) => `${used} of ${max} characters`,\n remaining: (left) => (left === 1 ? \"1 character left\" : `${left} characters left`),\n limitReached: \"Character limit reached\",\n};\n\nexport const DEFAULT_TABS_LABELS: TabsLabels = {\n add: \"Add tab\",\n remove: (tab) => `Remove ${tab}`,\n more: \"More tabs\",\n previous: \"Previous tabs\",\n};\n"],"mappings":";AAOO,MAAM,iCAAuD;AAAA,EAClE,MAAM;AAAA,EACN,MAAM;AACR;AAEO,MAAM,iCAAuD;AAAA,EAClE,OAAO,CAAC,MAAM,QAAQ,GAAG,IAAI,OAAO,GAAG;AAAA,EACvC,WAAW,CAAC,SAAU,SAAS,IAAI,qBAAqB,GAAG,IAAI;AAAA,EAC/D,cAAc;AAChB;AAEO,MAAM,sBAAkC;AAAA,EAC7C,KAAK;AAAA,EACL,QAAQ,CAAC,QAAQ,UAAU,GAAG;AAAA,EAC9B,MAAM;AAAA,EACN,UAAU;AACZ;","names":[]}
|
package/dist/lib/isin.d.ts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ISIN helpers — ISO 6166 — for keksdose, whose securities holdings are keyed by ISIN
|
|
3
|
-
* and whose import and edit forms checked only the shape (two letters, ten
|
|
4
|
-
* characters): a mistyped ISIN saved happily and then matched no price feed.
|
|
5
|
-
*
|
|
6
|
-
* An ISIN is twelve characters: a two-letter prefix (the issuing country, or a
|
|
7
|
-
* supranational code such as `XS`), nine letters or digits (the national number) and
|
|
8
|
-
* one check digit. The check digit is the Luhn digit of the first eleven characters
|
|
9
|
-
* with every letter expanded to two digits (A = 10 … Z = 35) — which is all that is
|
|
10
|
-
* checked here. Whether the prefix is an assigned code, and whether the security
|
|
11
|
-
* exists, is a lookup, not a checksum.
|
|
12
|
-
*/
|
|
13
|
-
/**
|
|
14
|
-
* The ISIN as it is printed: upper case, unbroken (ISO 6166 has no grouping), with
|
|
15
|
-
* the spaces and hyphens a paste from a broker's statement carries dropped.
|
|
16
|
-
*/
|
|
17
|
-
export declare function formatIsin(value: string): string;
|
|
18
|
-
/**
|
|
19
|
-
* The check digit for the first eleven characters of an ISIN (prefix and national
|
|
20
|
-
* number). For BUILDING one — a test fixture, a demo — rather than checking it.
|
|
21
|
-
*/
|
|
22
|
-
export declare function isinCheckDigit(body: string): string;
|
|
23
|
-
/**
|
|
24
|
-
* Whether `value` is a valid ISIN: two letters, nine letters or digits, one digit,
|
|
25
|
-
* and a matching Luhn check digit over the letter-expanded form. Spaces, hyphens and
|
|
26
|
-
* lower case are fine (see {@link formatIsin}).
|
|
27
|
-
*/
|
|
28
|
-
export declare function isValidIsin(value: string): boolean;
|
package/dist/lib/isin.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
function expandLetters(value) {
|
|
3
|
-
return value.replace(/[A-Z]/g, (c) => String(c.charCodeAt(0) - 55));
|
|
4
|
-
}
|
|
5
|
-
function luhnSum(digits, doubleRightmost) {
|
|
6
|
-
let sum = 0;
|
|
7
|
-
let double = doubleRightmost;
|
|
8
|
-
for (let i = digits.length - 1; i >= 0; i--) {
|
|
9
|
-
let d = digits.charCodeAt(i) - 48;
|
|
10
|
-
if (double) {
|
|
11
|
-
d *= 2;
|
|
12
|
-
if (d > 9) d -= 9;
|
|
13
|
-
}
|
|
14
|
-
sum += d;
|
|
15
|
-
double = !double;
|
|
16
|
-
}
|
|
17
|
-
return sum;
|
|
18
|
-
}
|
|
19
|
-
function formatIsin(value) {
|
|
20
|
-
return value.replace(/[\s-]/g, "").toUpperCase();
|
|
21
|
-
}
|
|
22
|
-
function isinCheckDigit(body) {
|
|
23
|
-
const sum = luhnSum(expandLetters(formatIsin(body)), true);
|
|
24
|
-
return String((10 - sum % 10) % 10);
|
|
25
|
-
}
|
|
26
|
-
function isValidIsin(value) {
|
|
27
|
-
const isin = formatIsin(value);
|
|
28
|
-
if (!/^[A-Z]{2}[A-Z0-9]{9}\d$/.test(isin)) return false;
|
|
29
|
-
return luhnSum(expandLetters(isin), false) % 10 === 0;
|
|
30
|
-
}
|
|
31
|
-
export {
|
|
32
|
-
formatIsin,
|
|
33
|
-
isValidIsin,
|
|
34
|
-
isinCheckDigit
|
|
35
|
-
};
|
|
36
|
-
//# sourceMappingURL=isin.js.map
|
package/dist/lib/isin.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/lib/isin.ts"],"sourcesContent":["/**\n * ISIN helpers — ISO 6166 — for keksdose, whose securities holdings are keyed by ISIN\n * and whose import and edit forms checked only the shape (two letters, ten\n * characters): a mistyped ISIN saved happily and then matched no price feed.\n *\n * An ISIN is twelve characters: a two-letter prefix (the issuing country, or a\n * supranational code such as `XS`), nine letters or digits (the national number) and\n * one check digit. The check digit is the Luhn digit of the first eleven characters\n * with every letter expanded to two digits (A = 10 … Z = 35) — which is all that is\n * checked here. Whether the prefix is an assigned code, and whether the security\n * exists, is a lookup, not a checksum.\n */\n\n/** Letters to their two-digit numbers (A = 10 … Z = 35), digits as they are. */\nfunction expandLetters(value: string): string {\n return value.replace(/[A-Z]/g, (c) => String(c.charCodeAt(0) - 55));\n}\n\n/** The Luhn sum of `digits` with the RIGHTMOST digit doubled first — the shape of the\n * sum when a check digit is about to be appended. */\nfunction luhnSum(digits: string, doubleRightmost: boolean): number {\n let sum = 0;\n let double = doubleRightmost;\n for (let i = digits.length - 1; i >= 0; i--) {\n let d = digits.charCodeAt(i) - 48;\n if (double) {\n d *= 2;\n if (d > 9) d -= 9;\n }\n sum += d;\n double = !double;\n }\n return sum;\n}\n\n/**\n * The ISIN as it is printed: upper case, unbroken (ISO 6166 has no grouping), with\n * the spaces and hyphens a paste from a broker's statement carries dropped.\n */\nexport function formatIsin(value: string): string {\n return value.replace(/[\\s-]/g, \"\").toUpperCase();\n}\n\n/**\n * The check digit for the first eleven characters of an ISIN (prefix and national\n * number). For BUILDING one — a test fixture, a demo — rather than checking it.\n */\nexport function isinCheckDigit(body: string): string {\n const sum = luhnSum(expandLetters(formatIsin(body)), true);\n return String((10 - (sum % 10)) % 10);\n}\n\n/**\n * Whether `value` is a valid ISIN: two letters, nine letters or digits, one digit,\n * and a matching Luhn check digit over the letter-expanded form. Spaces, hyphens and\n * lower case are fine (see {@link formatIsin}).\n */\nexport function isValidIsin(value: string): boolean {\n const isin = formatIsin(value);\n if (!/^[A-Z]{2}[A-Z0-9]{9}\\d$/.test(isin)) return false;\n return luhnSum(expandLetters(isin), false) % 10 === 0;\n}\n"],"mappings":";AAcA,SAAS,cAAc,OAAuB;AAC5C,SAAO,MAAM,QAAQ,UAAU,CAAC,MAAM,OAAO,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;AACpE;AAIA,SAAS,QAAQ,QAAgB,iBAAkC;AACjE,MAAI,MAAM;AACV,MAAI,SAAS;AACb,WAAS,IAAI,OAAO,SAAS,GAAG,KAAK,GAAG,KAAK;AAC3C,QAAI,IAAI,OAAO,WAAW,CAAC,IAAI;AAC/B,QAAI,QAAQ;AACV,WAAK;AACL,UAAI,IAAI,EAAG,MAAK;AAAA,IAClB;AACA,WAAO;AACP,aAAS,CAAC;AAAA,EACZ;AACA,SAAO;AACT;AAMO,SAAS,WAAW,OAAuB;AAChD,SAAO,MAAM,QAAQ,UAAU,EAAE,EAAE,YAAY;AACjD;AAMO,SAAS,eAAe,MAAsB;AACnD,QAAM,MAAM,QAAQ,cAAc,WAAW,IAAI,CAAC,GAAG,IAAI;AACzD,SAAO,QAAQ,KAAM,MAAM,MAAO,EAAE;AACtC;AAOO,SAAS,YAAY,OAAwB;AAClD,QAAM,OAAO,WAAW,KAAK;AAC7B,MAAI,CAAC,0BAA0B,KAAK,IAAI,EAAG,QAAO;AAClD,SAAO,QAAQ,cAAc,IAAI,GAAG,KAAK,IAAI,OAAO;AACtD;","names":[]}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { type DevMenuProps } from "./dev-menu.js";
|
|
2
|
-
export { DEV_ORIGINAL_ROLE_KEY } from "./dev-menu.js";
|
|
3
|
-
/** @deprecated 0.51 — use {@link DevMenuProps} (the same props); removed in 0.52. */
|
|
4
|
-
export type DevSwitchersProps<R extends string, P extends string> = Omit<DevMenuProps<R, P>, "sections" | "active">;
|
|
5
|
-
/** @deprecated 0.51 — use {@link DevMenu} (one flask; same props); removed in 0.52. */
|
|
6
|
-
export declare function DevSwitchers<R extends string, P extends string>(props: DevSwitchersProps<R, P>): import("react").JSX.Element;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx } from "react/jsx-runtime";
|
|
3
|
-
import { DevMenu } from "./dev-menu.js";
|
|
4
|
-
import { DEV_ORIGINAL_ROLE_KEY } from "./dev-menu.js";
|
|
5
|
-
function DevSwitchers(props) {
|
|
6
|
-
return /* @__PURE__ */ jsx(DevMenu, { ...props });
|
|
7
|
-
}
|
|
8
|
-
export {
|
|
9
|
-
DEV_ORIGINAL_ROLE_KEY,
|
|
10
|
-
DevSwitchers
|
|
11
|
-
};
|
|
12
|
-
//# sourceMappingURL=dev-switchers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/shell/dev-switchers.tsx"],"sourcesContent":["import { DevMenu, type DevMenuProps } from \"./dev-menu\";\n\n// 0.42's local-dev switchers (docs/top-bar-harmonization.md §2.7, §6.2, §6.3), since 0.51\n// a `DevMenu` with no app sections (§2.7.1). The props are the same and so is every row,\n// \"Back to {role}\" and its `sessionStorage` included — but it draws ONE flask where it\n// drew two: the role and the plan are groups of one menu, as in DevMenu.\n\n// Where it has always been imported from, until the wrapper goes in 0.52; the key and the\n// \"Back to\" logic it serves are DevMenu's now.\nexport { DEV_ORIGINAL_ROLE_KEY } from \"./dev-menu\";\n\n/** @deprecated 0.51 — use {@link DevMenuProps} (the same props); removed in 0.52. */\nexport type DevSwitchersProps<R extends string, P extends string> = Omit<DevMenuProps<R, P>, \"sections\" | \"active\">;\n\n/** @deprecated 0.51 — use {@link DevMenu} (one flask; same props); removed in 0.52. */\nexport function DevSwitchers<R extends string, P extends string>(props: DevSwitchersProps<R, P>) {\n return <DevMenu {...props} />;\n}\n"],"mappings":";AAgBS;AAhBT,SAAS,eAAkC;AAS3C,SAAS,6BAA6B;AAM/B,SAAS,aAAiD,OAAgC;AAC/F,SAAO,oBAAC,WAAS,GAAG,OAAO;AAC7B;","names":[]}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export interface RoleSwitcherProps<R extends string> {
|
|
2
|
-
roles: readonly R[];
|
|
3
|
-
value: R;
|
|
4
|
-
onChange: (role: R) => void;
|
|
5
|
-
/** Default: `topBar.switchRole` from the {@link UiKitProvider}, else English. */
|
|
6
|
-
"aria-label"?: string;
|
|
7
|
-
heading?: string;
|
|
8
|
-
/** The trigger's tooltip. Default: `topBar.role(value)`. */
|
|
9
|
-
title?: string;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* A reusable user-role switcher (feedback #337): a thin wrapper over
|
|
13
|
-
* {@link OptionSwitcherMenu} with the standard flask icon, so an app drops it in
|
|
14
|
-
* the top bar with just the role list + current value + a handler. Typically
|
|
15
|
-
* dev-only / UI-only, but the app decides where and whether to render it.
|
|
16
|
-
*
|
|
17
|
-
* The flask wears `--warning` rather than a fixed `amber-500`: it is a caution
|
|
18
|
-
* marker — the app is not showing you your own role — and the token carries that
|
|
19
|
-
* amber across both themes instead of pinning one hue onto every palette.
|
|
20
|
-
*/
|
|
21
|
-
export declare function RoleSwitcher<R extends string>({ roles, value, onChange, "aria-label": ariaLabel, heading, title, }: RoleSwitcherProps<R>): import("react").JSX.Element;
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx } from "react/jsx-runtime";
|
|
3
|
-
import { FlaskConical } from "lucide-react";
|
|
4
|
-
import { OptionSwitcherMenu } from "./option-switcher-menu.js";
|
|
5
|
-
import { DEFAULT_TOP_BAR_LABELS, useKitLabels } from "../i18n/kit-labels.js";
|
|
6
|
-
function RoleSwitcher({
|
|
7
|
-
roles,
|
|
8
|
-
value,
|
|
9
|
-
onChange,
|
|
10
|
-
"aria-label": ariaLabel,
|
|
11
|
-
heading,
|
|
12
|
-
title
|
|
13
|
-
}) {
|
|
14
|
-
const labels = useKitLabels("topBar", DEFAULT_TOP_BAR_LABELS, { switchRole: ariaLabel });
|
|
15
|
-
return /* @__PURE__ */ jsx(
|
|
16
|
-
OptionSwitcherMenu,
|
|
17
|
-
{
|
|
18
|
-
"aria-label": labels.switchRole,
|
|
19
|
-
title: title ?? labels.role(value),
|
|
20
|
-
heading,
|
|
21
|
-
icon: /* @__PURE__ */ jsx(FlaskConical, { className: "size-5 text-warning" }),
|
|
22
|
-
options: roles.map((r) => ({ value: r, label: r })),
|
|
23
|
-
value,
|
|
24
|
-
onSelect: onChange
|
|
25
|
-
}
|
|
26
|
-
);
|
|
27
|
-
}
|
|
28
|
-
export {
|
|
29
|
-
RoleSwitcher
|
|
30
|
-
};
|
|
31
|
-
//# sourceMappingURL=role-switcher.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/shell/role-switcher.tsx"],"sourcesContent":["import { FlaskConical } from \"lucide-react\";\nimport { OptionSwitcherMenu } from \"./option-switcher-menu\";\nimport { DEFAULT_TOP_BAR_LABELS, useKitLabels } from \"../i18n/kit-labels\";\n\nexport interface RoleSwitcherProps<R extends string> {\n roles: readonly R[];\n value: R;\n onChange: (role: R) => void;\n /** Default: `topBar.switchRole` from the {@link UiKitProvider}, else English. */\n \"aria-label\"?: string;\n heading?: string;\n /** The trigger's tooltip. Default: `topBar.role(value)`. */\n title?: string;\n}\n\n/**\n * A reusable user-role switcher (feedback #337): a thin wrapper over\n * {@link OptionSwitcherMenu} with the standard flask icon, so an app drops it in\n * the top bar with just the role list + current value + a handler. Typically\n * dev-only / UI-only, but the app decides where and whether to render it.\n *\n * The flask wears `--warning` rather than a fixed `amber-500`: it is a caution\n * marker — the app is not showing you your own role — and the token carries that\n * amber across both themes instead of pinning one hue onto every palette.\n */\nexport function RoleSwitcher<R extends string>({\n roles,\n value,\n onChange,\n \"aria-label\": ariaLabel,\n heading,\n title,\n}: RoleSwitcherProps<R>) {\n const labels = useKitLabels(\"topBar\", DEFAULT_TOP_BAR_LABELS, { switchRole: ariaLabel });\n return (\n <OptionSwitcherMenu<R>\n aria-label={labels.switchRole}\n title={title ?? labels.role(value)}\n heading={heading}\n icon={<FlaskConical className=\"size-5 text-warning\" />}\n options={roles.map((r) => ({ value: r, label: r }))}\n value={value}\n onSelect={onChange}\n />\n );\n}\n"],"mappings":";AAuCY;AAvCZ,SAAS,oBAAoB;AAC7B,SAAS,0BAA0B;AACnC,SAAS,wBAAwB,oBAAoB;AAuB9C,SAAS,aAA+B;AAAA,EAC7C;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd;AAAA,EACA;AACF,GAAyB;AACvB,QAAM,SAAS,aAAa,UAAU,wBAAwB,EAAE,YAAY,UAAU,CAAC;AACvF,SACE;AAAA,IAAC;AAAA;AAAA,MACC,cAAY,OAAO;AAAA,MACnB,OAAO,SAAS,OAAO,KAAK,KAAK;AAAA,MACjC;AAAA,MACA,MAAM,oBAAC,gBAAa,WAAU,uBAAsB;AAAA,MACpD,SAAS,MAAM,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE,EAAE;AAAA,MAClD;AAAA,MACA,UAAU;AAAA;AAAA,EACZ;AAEJ;","names":[]}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
// The English words of ./field-sync, 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). ./field-sync re-exports them.
|
|
4
|
-
|
|
5
|
-
import type { FieldSyncLabels } from "./field-sync";
|
|
6
|
-
|
|
7
|
-
export const DEFAULT_FIELD_SYNC_LABELS: FieldSyncLabels = {
|
|
8
|
-
synced: "Saved",
|
|
9
|
-
edited: "Unsaved changes",
|
|
10
|
-
pending: "Saving…",
|
|
11
|
-
error: "Could not save",
|
|
12
|
-
retry: "Retry",
|
|
13
|
-
};
|