@eifi1/ui-kit 0.51.3 → 0.51.5
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 +6 -6
- package/dist/account/account-settings-labels.js.map +1 -1
- package/dist/account/account-settings.js +11 -9
- package/dist/account/account-settings.js.map +1 -1
- package/dist/account/delete-account-setting.js +56 -65
- package/dist/account/delete-account-setting.js.map +1 -1
- package/dist/account/email-change-setting-labels.js.map +1 -1
- package/dist/account/email-change-setting.js.map +1 -1
- package/dist/account/passkeys-setting.js.map +1 -1
- 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-action-log.js.map +1 -1
- package/dist/admin/admin-area-labels.js +4 -1
- package/dist/admin/admin-area-labels.js.map +1 -1
- package/dist/admin/admin-overview.js +19 -11
- package/dist/admin/admin-overview.js.map +1 -1
- package/dist/admin/admin-sections.js.map +1 -1
- package/dist/admin/admin-tool-links.d.ts +1 -1
- package/dist/admin/admin-tool-links.js +7 -1
- package/dist/admin/admin-tool-links.js.map +1 -1
- package/dist/admin/invitations-panel.js +2 -13
- package/dist/admin/invitations-panel.js.map +1 -1
- package/dist/admin/mail-test-card.js.map +1 -1
- package/dist/admin/reviewer-scope-editor.js +4 -11
- package/dist/admin/reviewer-scope-editor.js.map +1 -1
- package/dist/admin/role-select.js.map +1 -1
- package/dist/admin/user-roster.js +1 -9
- package/dist/admin/user-roster.js.map +1 -1
- package/dist/auth/accept-invitation.js.map +1 -1
- package/dist/auth/auth-errors.js.map +1 -1
- package/dist/auth/forgot-password-form.js +23 -31
- package/dist/auth/forgot-password-form.js.map +1 -1
- package/dist/auth/register-form.js.map +1 -1
- package/dist/auth/reset-password-form.js.map +1 -1
- package/dist/auth/sign-in-form.js +13 -5
- package/dist/auth/sign-in-form.js.map +1 -1
- package/dist/auth/verify-email.js +1 -8
- package/dist/auth/verify-email.js.map +1 -1
- package/dist/billing/billing-banner.js.map +1 -1
- package/dist/billing/billing-labels.js.map +1 -1
- package/dist/billing/checkout-processing.js.map +1 -1
- package/dist/billing/plan-card.js +91 -85
- package/dist/billing/plan-card.js.map +1 -1
- package/dist/billing/plan-limit-toast.js.map +1 -1
- package/dist/billing/plan-limit.js.map +1 -1
- package/dist/billing/plan-price.js.map +1 -1
- package/dist/billing/plan-switch.js.map +1 -1
- package/dist/billing/subscription-actions.js.map +1 -1
- package/dist/bin/eifi1-pay-page.mjs +6 -1
- package/dist/components/account-chips.js.map +1 -1
- package/dist/components/alert-banner.js +1 -5
- package/dist/components/alert-banner.js.map +1 -1
- package/dist/components/amount-input.js +29 -12
- package/dist/components/amount-input.js.map +1 -1
- package/dist/components/authed-image.js.map +1 -1
- package/dist/components/autocomplete.js.map +1 -1
- package/dist/components/bulk-action-bar.js +1 -4
- package/dist/components/bulk-action-bar.js.map +1 -1
- package/dist/components/button-group.js.map +1 -1
- package/dist/components/button-look.js.map +1 -1
- package/dist/components/button.js +1 -7
- package/dist/components/button.js.map +1 -1
- package/dist/components/calculator.js +5 -5
- package/dist/components/calculator.js.map +1 -1
- package/dist/components/calendar-heatmap.js +4 -10
- package/dist/components/calendar-heatmap.js.map +1 -1
- package/dist/components/card.js +1 -8
- package/dist/components/card.js.map +1 -1
- package/dist/components/chart-zoom-core.js +3 -17
- package/dist/components/chart-zoom-core.js.map +1 -1
- package/dist/components/chart.d.ts +1 -1
- package/dist/components/chart.js +4 -22
- package/dist/components/chart.js.map +1 -1
- package/dist/components/checkbox-group.js +1 -4
- package/dist/components/checkbox-group.js.map +1 -1
- package/dist/components/chip-input.js +4 -1
- package/dist/components/chip-input.js.map +1 -1
- package/dist/components/chip.js +10 -5
- package/dist/components/chip.js.map +1 -1
- package/dist/components/choice-card.js +58 -74
- package/dist/components/choice-card.js.map +1 -1
- package/dist/components/column-mapper-labels.js.map +1 -1
- package/dist/components/column-mapper.js +167 -227
- package/dist/components/column-mapper.js.map +1 -1
- package/dist/components/combobox-core.js +5 -9
- package/dist/components/combobox-core.js.map +1 -1
- package/dist/components/combobox.js +1 -4
- package/dist/components/combobox.js.map +1 -1
- package/dist/components/confirm-dialog.js.map +1 -1
- package/dist/components/copy-button.js.map +1 -1
- package/dist/components/country-select.d.ts +5 -4
- package/dist/components/country-select.js +3 -19
- package/dist/components/country-select.js.map +1 -1
- package/dist/components/currency-option-list.js +13 -11
- package/dist/components/currency-option-list.js.map +1 -1
- package/dist/components/currency-select.js +1 -6
- package/dist/components/currency-select.js.map +1 -1
- package/dist/components/danger-confirm.js.map +1 -1
- package/dist/components/data-table-cells.js.map +1 -1
- package/dist/components/data-table-column-settings.js.map +1 -1
- package/dist/components/data-table-filter-popover.js +2 -18
- package/dist/components/data-table-filter-popover.js.map +1 -1
- package/dist/components/data-table-filters.js.map +1 -1
- package/dist/components/data-table-fit.js +7 -5
- package/dist/components/data-table-fit.js.map +1 -1
- package/dist/components/data-table-groups.js +3 -1
- package/dist/components/data-table-groups.js.map +1 -1
- package/dist/components/data-table-head.js +49 -57
- package/dist/components/data-table-head.js.map +1 -1
- package/dist/components/data-table-mobile.js +31 -44
- package/dist/components/data-table-mobile.js.map +1 -1
- package/dist/components/data-table-pagination.js.map +1 -1
- package/dist/components/data-table-row-actions.js +19 -16
- package/dist/components/data-table-row-actions.js.map +1 -1
- package/dist/components/data-table-row.js.map +1 -1
- package/dist/components/data-table-shared.js.map +1 -1
- package/dist/components/data-table-sort.js.map +1 -1
- package/dist/components/data-table-virtual.js +4 -1
- package/dist/components/data-table-virtual.js.map +1 -1
- package/dist/components/data-table.d.ts +8 -0
- package/dist/components/data-table.js +30 -39
- package/dist/components/data-table.js.map +1 -1
- package/dist/components/date-picker.js +1 -6
- package/dist/components/date-picker.js.map +1 -1
- package/dist/components/date-range-picker.js.map +1 -1
- package/dist/components/description-list.js +10 -10
- package/dist/components/description-list.js.map +1 -1
- package/dist/components/dialog-frame.js +9 -2
- package/dist/components/dialog-frame.js.map +1 -1
- package/dist/components/disclosure.js +17 -27
- package/dist/components/disclosure.js.map +1 -1
- package/dist/components/dropdown.js +25 -35
- package/dist/components/dropdown.js.map +1 -1
- package/dist/components/empty-state.js.map +1 -1
- package/dist/components/entity-combobox.js.map +1 -1
- package/dist/components/error-boundary.js.map +1 -1
- package/dist/components/field-base.js +5 -5
- package/dist/components/field-base.js.map +1 -1
- package/dist/components/field-parts.d.ts +1 -1
- package/dist/components/field-parts.js +10 -14
- package/dist/components/field-parts.js.map +1 -1
- package/dist/components/field-sync.js +8 -10
- package/dist/components/field-sync.js.map +1 -1
- package/dist/components/file-button.js.map +1 -1
- package/dist/components/file-dropzone.js.map +1 -1
- package/dist/components/floating-panel.js +4 -1
- package/dist/components/floating-panel.js.map +1 -1
- package/dist/components/focus-ring.js.map +1 -1
- package/dist/components/form-actions.js.map +1 -1
- package/dist/components/grouped-picker.js +11 -12
- package/dist/components/grouped-picker.js.map +1 -1
- package/dist/components/hover-menu.js +1 -4
- package/dist/components/hover-menu.js.map +1 -1
- package/dist/components/iban-input-labels.js.map +1 -1
- package/dist/components/icon-button.js +4 -1
- package/dist/components/icon-button.js.map +1 -1
- package/dist/components/icon-picker.js +6 -10
- package/dist/components/icon-picker.js.map +1 -1
- package/dist/components/image-grid.js +41 -50
- package/dist/components/image-grid.js.map +1 -1
- package/dist/components/inline-edit-field.js.map +1 -1
- package/dist/components/inline-entity-combobox.js +6 -12
- package/dist/components/inline-entity-combobox.js.map +1 -1
- package/dist/components/input.js +14 -2
- package/dist/components/input.js.map +1 -1
- package/dist/components/jump-calendar.js +1 -7
- package/dist/components/jump-calendar.js.map +1 -1
- package/dist/components/legal-labels.js +8 -2
- package/dist/components/legal-labels.js.map +1 -1
- package/dist/components/legal-page.d.ts +18 -1
- package/dist/components/legal-page.js +27 -2
- package/dist/components/legal-page.js.map +1 -1
- package/dist/components/legal.d.ts +40 -5
- package/dist/components/legal.js +41 -5
- package/dist/components/legal.js.map +1 -1
- package/dist/components/lightbox.js.map +1 -1
- package/dist/components/line-items.js +26 -36
- package/dist/components/line-items.js.map +1 -1
- package/dist/components/list-labels.js +3 -1
- package/dist/components/list-labels.js.map +1 -1
- package/dist/components/list.d.ts +18 -1
- package/dist/components/list.js +54 -13
- package/dist/components/list.js.map +1 -1
- package/dist/components/measured-grid.js +29 -53
- package/dist/components/measured-grid.js.map +1 -1
- package/dist/components/menu-item.js.map +1 -1
- package/dist/components/mini-calendar.js +13 -31
- package/dist/components/mini-calendar.js.map +1 -1
- package/dist/components/money-field.js.map +1 -1
- package/dist/components/month-picker.js +10 -21
- package/dist/components/month-picker.js.map +1 -1
- package/dist/components/multi-entity-combobox.js +3 -16
- package/dist/components/multi-entity-combobox.js.map +1 -1
- package/dist/components/multi-select.js.map +1 -1
- package/dist/components/nav-pills.js +10 -1
- package/dist/components/nav-pills.js.map +1 -1
- package/dist/components/number-field.js.map +1 -1
- package/dist/components/number-input.js +1 -7
- package/dist/components/number-input.js.map +1 -1
- package/dist/components/numpad-sheet.js +1 -4
- package/dist/components/numpad-sheet.js.map +1 -1
- package/dist/components/one-time-code-input.js +1 -7
- package/dist/components/one-time-code-input.js.map +1 -1
- package/dist/components/page-contents.js +13 -22
- package/dist/components/page-contents.js.map +1 -1
- package/dist/components/page-header.js +1 -11
- package/dist/components/page-header.js.map +1 -1
- package/dist/components/password-strength-labels.js.map +1 -1
- package/dist/components/password-strength.js +2 -8
- package/dist/components/password-strength.js.map +1 -1
- package/dist/components/phone-input.js +42 -57
- package/dist/components/phone-input.js.map +1 -1
- package/dist/components/picker-sheet.js.map +1 -1
- package/dist/components/pie-chart.js +1 -8
- package/dist/components/pie-chart.js.map +1 -1
- package/dist/components/popover.js.map +1 -1
- package/dist/components/progress-bar.js +16 -9
- package/dist/components/progress-bar.js.map +1 -1
- package/dist/components/qr-code.js +1 -8
- package/dist/components/qr-code.js.map +1 -1
- package/dist/components/row-actions.js +5 -1
- package/dist/components/row-actions.js.map +1 -1
- package/dist/components/search-field.js.map +1 -1
- package/dist/components/select.js +28 -38
- package/dist/components/select.js.map +1 -1
- package/dist/components/separator.js +1 -5
- package/dist/components/separator.js.map +1 -1
- package/dist/components/series-chart-axes.js +4 -1
- package/dist/components/series-chart-axes.js.map +1 -1
- package/dist/components/series-chart-budget.js.map +1 -1
- package/dist/components/series-chart-ticks.js.map +1 -1
- package/dist/components/series-chart.js +29 -45
- package/dist/components/series-chart.js.map +1 -1
- package/dist/components/settings-fields.js +21 -17
- package/dist/components/settings-fields.js.map +1 -1
- package/dist/components/share-card.js +4 -9
- package/dist/components/share-card.js.map +1 -1
- package/dist/components/sign-chip.js.map +1 -1
- package/dist/components/signature-pad.js +4 -13
- package/dist/components/signature-pad.js.map +1 -1
- package/dist/components/signed-amount.js +12 -5
- package/dist/components/signed-amount.js.map +1 -1
- package/dist/components/skeleton.js +2 -17
- package/dist/components/skeleton.js.map +1 -1
- package/dist/components/slider.js +13 -36
- package/dist/components/slider.js.map +1 -1
- package/dist/components/sparkline.js.map +1 -1
- package/dist/components/stat-tile.js +14 -10
- package/dist/components/stat-tile.js.map +1 -1
- package/dist/components/swatch-picker.js +14 -4
- package/dist/components/swatch-picker.js.map +1 -1
- package/dist/components/swipeable-row.d.ts +1 -1
- package/dist/components/swipeable-row.js +1 -8
- package/dist/components/swipeable-row.js.map +1 -1
- package/dist/components/table-skeleton.js +4 -1
- package/dist/components/table-skeleton.js.map +1 -1
- package/dist/components/table.js +12 -9
- package/dist/components/table.js.map +1 -1
- package/dist/components/tabs.js +5 -24
- package/dist/components/tabs.js.map +1 -1
- package/dist/components/text-link.js.map +1 -1
- package/dist/components/text.js.map +1 -1
- package/dist/components/tile-radio.js +1 -7
- package/dist/components/tile-radio.js.map +1 -1
- package/dist/components/time-input.js.map +1 -1
- package/dist/components/toast.js.map +1 -1
- package/dist/components/toggle-group.js +6 -1
- package/dist/components/toggle-group.js.map +1 -1
- package/dist/components/toggle-legend.js +2 -11
- package/dist/components/toggle-legend.js.map +1 -1
- package/dist/components/tooltip.js +2 -22
- package/dist/components/tooltip.js.map +1 -1
- package/dist/components/translation-review-editor.js +1 -4
- package/dist/components/translation-review-editor.js.map +1 -1
- package/dist/components/translation-review-parts.d.ts +1 -1
- package/dist/components/translation-review-parts.js +7 -1
- package/dist/components/translation-review-parts.js.map +1 -1
- package/dist/components/translation-review.js +18 -7
- package/dist/components/translation-review.js.map +1 -1
- package/dist/components/tree-view.js +14 -10
- package/dist/components/tree-view.js.map +1 -1
- package/dist/components/treemap.js +1 -13
- package/dist/components/treemap.js.map +1 -1
- package/dist/components/trigger-aria.js.map +1 -1
- package/dist/components/use-table-state.js +14 -11
- package/dist/components/use-table-state.js.map +1 -1
- package/dist/components/user-avatar.js +3 -26
- package/dist/components/user-avatar.js.map +1 -1
- package/dist/demo/demo-start.js +8 -4
- package/dist/demo/demo-start.js.map +1 -1
- package/dist/eslint/index.js +1 -1
- package/dist/feedback/feedback-attachment-labels.js.map +1 -1
- package/dist/feedback/feedback-attachment.js +1 -8
- package/dist/feedback/feedback-attachment.js.map +1 -1
- package/dist/feedback/feedback-capture.d.ts +1 -1
- package/dist/feedback/feedback-capture.js +3 -1
- package/dist/feedback/feedback-capture.js.map +1 -1
- package/dist/feedback/feedback-comment-thread.js +27 -13
- package/dist/feedback/feedback-comment-thread.js.map +1 -1
- package/dist/feedback/feedback-context.js +1 -4
- package/dist/feedback/feedback-context.js.map +1 -1
- package/dist/feedback/feedback-dialog.js.map +1 -1
- package/dist/feedback/feedback-inbox.js.map +1 -1
- package/dist/feedback/feedback-public-list.js +7 -1
- package/dist/feedback/feedback-public-list.js.map +1 -1
- package/dist/feedback/feedback-record.js +1 -5
- package/dist/feedback/feedback-record.js.map +1 -1
- package/dist/feedback/feedback-replies.js +25 -10
- package/dist/feedback/feedback-replies.js.map +1 -1
- package/dist/feedback/feedback-row-detail.js.map +1 -1
- package/dist/feedback/feedback-status-undo.js.map +1 -1
- package/dist/feedback/feedback-submit-dialog.js.map +1 -1
- package/dist/feedback/feedback-table.d.ts +3 -1
- package/dist/feedback/feedback-table.js +22 -5
- package/dist/feedback/feedback-table.js.map +1 -1
- package/dist/feedback/feedback-thread.js +2 -13
- package/dist/feedback/feedback-thread.js.map +1 -1
- package/dist/feedback/feedback-vocabulary.js.map +1 -1
- package/dist/feedback/feedback-vote-button.js.map +1 -1
- package/dist/hooks/use-anchored-rect.js.map +1 -1
- package/dist/hooks/use-document-title.js.map +1 -1
- package/dist/hooks/use-file-drop.js.map +1 -1
- package/dist/hooks/use-file-picker-labels.js.map +1 -1
- package/dist/hooks/use-file-picker.js.map +1 -1
- package/dist/hooks/use-focus-trap.js.map +1 -1
- package/dist/hooks/use-overlay-history.js +10 -5
- package/dist/hooks/use-overlay-history.js.map +1 -1
- package/dist/hooks/use-row-swipe.d.ts +1 -1
- package/dist/hooks/use-row-swipe.js +1 -6
- package/dist/hooks/use-row-swipe.js.map +1 -1
- package/dist/i18n/defaults.js +1 -4
- package/dist/i18n/defaults.js.map +1 -1
- package/dist/i18n/german.js +15 -4
- package/dist/i18n/german.js.map +1 -1
- package/dist/i18n/kit-labels.js +2 -8
- package/dist/i18n/kit-labels.js.map +1 -1
- package/dist/i18n/languages.js.map +1 -1
- package/dist/i18n/locales/en.js +19 -4
- package/dist/i18n/locales/en.js.map +2 -2
- package/dist/i18n/locales/es.js +15 -4
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.js +15 -4
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hu.js +15 -4
- package/dist/i18n/locales/hu.js.map +1 -1
- package/dist/i18n/locales/it.js +15 -4
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/zh.js +11 -3
- package/dist/i18n/locales/zh.js.map +1 -1
- package/dist/i18n/plurals.js.map +1 -1
- package/dist/i18n/review.js +15 -7
- package/dist/i18n/review.js.map +1 -1
- package/dist/i18n/shared-labels.js.map +1 -1
- package/dist/index.d.ts +17 -17
- package/dist/index.js +40 -23
- package/dist/index.js.map +1 -1
- package/dist/landing/access.js +1 -4
- package/dist/landing/access.js.map +1 -1
- package/dist/landing/landing-sections.js +35 -38
- package/dist/landing/landing-sections.js.map +1 -1
- package/dist/landing/page-seo.js.map +1 -1
- package/dist/lib/calc.js.map +1 -1
- package/dist/lib/clipboard-minus.js.map +1 -1
- package/dist/lib/dates.js.map +1 -1
- package/dist/lib/decimal-marks.js.map +1 -1
- package/dist/lib/device-settings.js +2 -1
- package/dist/lib/device-settings.js.map +1 -1
- package/dist/lib/direction.js.map +1 -1
- package/dist/lib/iban.js.map +1 -1
- package/dist/lib/logger.js +1 -5
- package/dist/lib/logger.js.map +1 -1
- package/dist/lib/person-name.js.map +1 -1
- package/dist/lib/phone.js.map +1 -1
- package/dist/lib/qr-encode.js +344 -8
- package/dist/lib/qr-encode.js.map +1 -1
- package/dist/lib/session-refresh.js.map +1 -1
- package/dist/lib/table-text.js +15 -3
- package/dist/lib/table-text.js.map +1 -1
- package/dist/lib/text-match.d.ts +20 -0
- package/dist/lib/text-match.js +11 -1
- package/dist/lib/text-match.js.map +1 -1
- package/dist/lib/translation-review.js.map +1 -1
- package/dist/notifications/notification-inbox.js +63 -44
- package/dist/notifications/notification-inbox.js.map +1 -1
- package/dist/notifications/notification-parts.js.map +1 -1
- package/dist/notifications/notification-types-setting.js.map +1 -1
- package/dist/notifications/notifications-labels.js.map +1 -1
- package/dist/notifications/push-device-setting.js +6 -1
- package/dist/notifications/push-device-setting.js.map +1 -1
- package/dist/notifications/push-devices-setting.js.map +1 -1
- package/dist/notifications/push-worker.js.map +1 -1
- package/dist/notifications/quiet-hours-setting.js.map +1 -1
- package/dist/notifications/use-push-device.js +4 -1
- package/dist/notifications/use-push-device.js.map +1 -1
- package/dist/offline/pwa-update-prompt.d.ts +1 -1
- package/dist/offline/pwa-update-prompt.js +7 -1
- package/dist/offline/pwa-update-prompt.js.map +1 -1
- package/dist/offline/query-persistence.js.map +1 -1
- package/dist/offline.d.ts +1 -1
- package/dist/offline.js +6 -1
- package/dist/offline.js.map +1 -1
- package/dist/pay/pay.css +8 -1
- package/dist/rhf/fields.d.ts +1 -2
- package/dist/rhf/fields.js +1 -10
- package/dist/rhf/fields.js.map +1 -1
- package/dist/rhf/form-core.js +1 -4
- package/dist/rhf/form-core.js.map +1 -1
- package/dist/rhf/line-items.js.map +1 -1
- package/dist/rhf/use-rhf-wizard-step.js.map +1 -1
- package/dist/search/command-palette.js +71 -62
- package/dist/search/command-palette.js.map +1 -1
- package/dist/search/global-search.js +34 -5
- package/dist/search/global-search.js.map +1 -1
- package/dist/search/search-index.js.map +1 -1
- package/dist/settings/device-reset-setting.js +1 -6
- package/dist/settings/device-reset-setting.js.map +1 -1
- package/dist/settings/settings-heading.js.map +1 -1
- package/dist/settings/settings-layout.js +9 -20
- package/dist/settings/settings-layout.js.map +1 -1
- package/dist/settings/use-settings-focus.d.ts +7 -0
- package/dist/settings/use-settings-focus.js +2 -0
- package/dist/settings/use-settings-focus.js.map +1 -1
- package/dist/settings/use-settings-route.js.map +1 -1
- package/dist/shell/app-shell.js +62 -31
- package/dist/shell/app-shell.js.map +1 -1
- package/dist/shell/auth-layout.js +1 -10
- package/dist/shell/auth-layout.js.map +1 -1
- package/dist/shell/dev-menu.d.ts +5 -0
- package/dist/shell/dev-menu.js +14 -7
- package/dist/shell/dev-menu.js.map +1 -1
- package/dist/shell/option-switcher-menu.js.map +1 -1
- package/dist/shell/sync-status-indicator.js +7 -6
- package/dist/shell/sync-status-indicator.js.map +1 -1
- package/dist/shell/top-bar-parts-labels.js.map +1 -1
- package/dist/shell/topbar-action-menu.d.ts +14 -1
- package/dist/shell/topbar-action-menu.js +85 -34
- package/dist/shell/topbar-action-menu.js.map +1 -1
- package/dist/shell/topbar-controls.js +1 -10
- package/dist/shell/topbar-controls.js.map +1 -1
- package/dist/shell/tour-menu.js +9 -1
- package/dist/shell/tour-menu.js.map +1 -1
- package/dist/shell.d.ts +1 -1
- package/dist/shell.js +2 -1
- package/dist/shell.js.map +1 -1
- package/dist/sync/db.js.map +1 -1
- package/dist/sync/engine.js +24 -6
- package/dist/sync/engine.js.map +1 -1
- package/dist/sync.d.ts +2 -2
- package/dist/sync.js +7 -1
- package/dist/sync.js.map +1 -1
- package/dist/testing/css-variables.js.map +1 -1
- package/dist/testing/index.d.ts +1 -1
- package/dist/testing/index.js +1 -3
- package/dist/testing/index.js.map +1 -1
- package/dist/testing/react.js.map +1 -1
- package/dist/testing/viewport.js +7 -4
- package/dist/testing/viewport.js.map +1 -1
- package/dist/theme/contrast-tokens.js +13 -2
- package/dist/theme/contrast-tokens.js.map +1 -1
- package/dist/theme/palette-derive.d.ts +1 -1
- package/dist/theme/palette-derive.js +18 -29
- package/dist/theme/palette-derive.js.map +1 -1
- package/dist/theme/palette-presets.js.map +1 -1
- package/dist/theme/palette-store.js.map +1 -1
- package/dist/theme/text-size.js.map +1 -1
- package/dist/theme/theme-store.js +1 -3
- package/dist/theme/theme-store.js.map +1 -1
- package/dist/tour/tour-catalogue.js.map +1 -1
- package/dist/tour/tour-dock.js +5 -1
- package/dist/tour/tour-dock.js.map +1 -1
- package/dist/tour/tour-engine.js +1 -4
- package/dist/tour/tour-engine.js.map +1 -1
- package/dist/tour/tour.js +21 -12
- package/dist/tour/tour.js.map +1 -1
- package/dist/tour/use-tour-progress.js.map +1 -1
- package/dist/tour/use-tour-url-sync.js.map +1 -1
- package/dist/wizard/stepper-nav.js +3 -24
- package/dist/wizard/stepper-nav.js.map +1 -1
- package/dist/wizard/types.js.map +1 -1
- package/dist/wizard/use-wizard.js +24 -28
- package/dist/wizard/use-wizard.js.map +1 -1
- package/dist/wizard/validation.js.map +1 -1
- package/dist/wizard/wizard-context.js.map +1 -1
- package/dist/wizard/wizard-step.d.ts +1 -1
- package/dist/wizard/wizard-step.js +1 -8
- package/dist/wizard/wizard-step.js.map +1 -1
- package/dist/wizard/wizard-summary.js.map +1 -1
- package/package.json +5 -2
- package/src/account/account-settings-labels.ts +1 -2
- package/src/account/account-settings.tsx +11 -17
- package/src/account/delete-account-setting.tsx +1 -6
- package/src/account/email-change-setting-labels.ts +1 -2
- package/src/account/email-change-setting.tsx +3 -1
- package/src/account/passkeys-setting.tsx +1 -3
- package/src/account/sessions-setting.tsx +4 -2
- package/src/admin/admin-action-confirm.tsx +4 -7
- package/src/admin/admin-action-log.tsx +29 -29
- package/src/admin/admin-area-labels.ts +4 -1
- package/src/admin/admin-overview.tsx +8 -2
- package/src/admin/admin-sections.tsx +3 -1
- package/src/admin/admin-tool-links.tsx +7 -1
- package/src/admin/invitations-panel.tsx +5 -11
- package/src/admin/mail-test-card.tsx +1 -2
- package/src/admin/reviewer-scope-editor.tsx +4 -9
- package/src/admin/role-select.tsx +4 -2
- package/src/admin/user-roster.tsx +2 -11
- package/src/auth/accept-invitation.tsx +1 -7
- package/src/auth/auth-errors.ts +1 -6
- package/src/auth/forgot-password-form.tsx +2 -7
- package/src/auth/register-form.tsx +7 -8
- package/src/auth/reset-password-form.tsx +2 -5
- package/src/auth/sign-in-form.tsx +15 -14
- package/src/auth/verify-email.tsx +2 -7
- package/src/billing/billing-banner.tsx +3 -7
- package/src/billing/billing-labels.ts +6 -4
- package/src/billing/checkout-processing.ts +0 -1
- package/src/billing/plan-card.tsx +9 -8
- package/src/billing/plan-limit-toast.tsx +1 -2
- package/src/billing/plan-limit.ts +1 -2
- package/src/billing/plan-price.ts +1 -4
- package/src/billing/plan-switch.tsx +1 -2
- package/src/billing/subscription-actions.tsx +5 -2
- package/src/components/account-chips.tsx +1 -7
- package/src/components/alert-banner.tsx +2 -8
- package/src/components/amount-input.tsx +206 -178
- package/src/components/authed-image.tsx +7 -4
- package/src/components/autocomplete.tsx +7 -9
- package/src/components/bulk-action-bar.tsx +2 -7
- package/src/components/button-group.tsx +1 -2
- package/src/components/button-look.ts +6 -17
- package/src/components/button.tsx +1 -4
- package/src/components/calculator.tsx +6 -9
- package/src/components/calendar-heatmap.tsx +5 -10
- package/src/components/card.tsx +9 -13
- package/src/components/chart-zoom-core.tsx +6 -33
- package/src/components/chart.tsx +8 -31
- package/src/components/checkbox-group.tsx +1 -4
- package/src/components/chip-input.tsx +6 -6
- package/src/components/chip.tsx +14 -26
- package/src/components/choice-card.tsx +4 -18
- package/src/components/column-mapper-labels.ts +3 -10
- package/src/components/column-mapper.tsx +33 -122
- package/src/components/combobox-core.tsx +17 -47
- package/src/components/combobox.tsx +2 -6
- package/src/components/confirm-dialog.tsx +1 -3
- package/src/components/copy-button.tsx +2 -4
- package/src/components/country-select.tsx +9 -21
- package/src/components/currency-option-list.tsx +16 -18
- package/src/components/currency-select.tsx +2 -7
- package/src/components/danger-confirm.tsx +8 -9
- package/src/components/data-table-cells.tsx +1 -2
- package/src/components/data-table-column-settings.tsx +1 -3
- package/src/components/data-table-filter-popover.tsx +5 -19
- package/src/components/data-table-filters.ts +1 -6
- package/src/components/data-table-fit.ts +7 -7
- package/src/components/data-table-groups.tsx +3 -1
- package/src/components/data-table-head.tsx +32 -46
- package/src/components/data-table-mobile.tsx +99 -108
- package/src/components/data-table-pagination.tsx +2 -6
- package/src/components/data-table-row-actions.tsx +25 -24
- package/src/components/data-table-row.tsx +16 -17
- package/src/components/data-table-shared.tsx +10 -16
- package/src/components/data-table-sort.ts +1 -2
- package/src/components/data-table-virtual.ts +9 -4
- package/src/components/data-table.tsx +497 -501
- package/src/components/date-picker.tsx +1 -7
- package/src/components/date-range-picker.tsx +3 -13
- package/src/components/description-list.tsx +7 -13
- package/src/components/dialog-frame.tsx +12 -3
- package/src/components/disclosure.tsx +8 -12
- package/src/components/dropdown.tsx +3 -11
- package/src/components/empty-state.tsx +1 -3
- package/src/components/entity-combobox.tsx +2 -6
- package/src/components/error-boundary.tsx +7 -7
- package/src/components/field-base.tsx +8 -14
- package/src/components/field-parts.tsx +12 -23
- package/src/components/field-sync.tsx +7 -11
- package/src/components/file-button.tsx +7 -3
- package/src/components/file-dropzone.tsx +7 -12
- package/src/components/floating-panel.tsx +44 -51
- package/src/components/focus-ring.ts +1 -2
- package/src/components/form-actions.tsx +1 -4
- package/src/components/grouped-picker.tsx +21 -16
- package/src/components/hover-menu.tsx +1 -4
- package/src/components/iban-input-labels.ts +1 -2
- package/src/components/icon-button.tsx +46 -48
- package/src/components/icon-picker.tsx +9 -20
- package/src/components/image-grid.tsx +1 -6
- package/src/components/inline-edit-field.tsx +1 -5
- package/src/components/inline-entity-combobox.tsx +11 -25
- package/src/components/input.tsx +14 -2
- package/src/components/jump-calendar.tsx +2 -6
- package/src/components/legal-labels.ts +8 -3
- package/src/components/legal-page.tsx +56 -6
- package/src/components/legal.tsx +83 -10
- package/src/components/lightbox.tsx +1 -3
- package/src/components/line-items.tsx +7 -15
- package/src/components/list-labels.ts +2 -0
- package/src/components/list.tsx +81 -27
- package/src/components/measured-grid.tsx +8 -30
- package/src/components/menu-item.tsx +1 -3
- package/src/components/mini-calendar.tsx +129 -159
- package/src/components/money-field.tsx +4 -2
- package/src/components/month-picker.tsx +14 -21
- package/src/components/multi-entity-combobox.tsx +6 -26
- package/src/components/multi-select.tsx +5 -9
- package/src/components/nav-pills.tsx +10 -2
- package/src/components/number-field.tsx +18 -15
- package/src/components/number-input.tsx +3 -19
- package/src/components/numpad-sheet.tsx +9 -13
- package/src/components/one-time-code-input.tsx +6 -11
- package/src/components/page-contents.tsx +2 -9
- package/src/components/page-header.tsx +5 -10
- package/src/components/password-strength-labels.ts +1 -2
- package/src/components/password-strength.tsx +6 -9
- package/src/components/phone-input.tsx +2 -13
- package/src/components/picker-sheet.tsx +2 -5
- package/src/components/pie-chart.tsx +6 -12
- package/src/components/popover.tsx +2 -1
- package/src/components/progress-bar.tsx +16 -25
- package/src/components/qr-code.tsx +2 -9
- package/src/components/row-actions.tsx +9 -1
- package/src/components/search-field.tsx +4 -5
- package/src/components/select.tsx +2 -10
- package/src/components/separator.tsx +1 -5
- package/src/components/series-chart-axes.ts +5 -5
- package/src/components/series-chart-budget.ts +1 -4
- package/src/components/series-chart-ticks.ts +1 -4
- package/src/components/series-chart.tsx +43 -83
- package/src/components/settings-fields.tsx +20 -15
- package/src/components/share-card.tsx +6 -14
- package/src/components/sign-chip.tsx +16 -16
- package/src/components/signature-pad.tsx +21 -13
- package/src/components/signed-amount.tsx +6 -14
- package/src/components/skeleton.tsx +2 -13
- package/src/components/slider.tsx +9 -20
- package/src/components/sparkline.tsx +2 -13
- package/src/components/stat-tile.tsx +13 -24
- package/src/components/swatch-picker.tsx +8 -3
- package/src/components/swipeable-row.tsx +2 -11
- package/src/components/table-skeleton.tsx +4 -1
- package/src/components/table.tsx +12 -8
- package/src/components/tabs.tsx +24 -39
- package/src/components/text-link.tsx +6 -6
- package/src/components/text.tsx +1 -2
- package/src/components/tile-radio.tsx +6 -19
- package/src/components/time-input.tsx +4 -5
- package/src/components/toast.tsx +3 -12
- package/src/components/toggle-group.tsx +9 -9
- package/src/components/toggle-legend.tsx +4 -16
- package/src/components/tooltip.tsx +9 -48
- package/src/components/translation-review-editor.tsx +4 -4
- package/src/components/translation-review-parts.tsx +7 -1
- package/src/components/translation-review.tsx +15 -16
- package/src/components/tree-view.tsx +17 -20
- package/src/components/treemap.tsx +3 -15
- package/src/components/trigger-aria.ts +1 -4
- package/src/components/use-table-state.ts +16 -17
- package/src/components/user-avatar.tsx +4 -21
- package/src/demo/demo-start.tsx +8 -4
- package/src/feedback/feedback-attachment-labels.ts +2 -1
- package/src/feedback/feedback-attachment.tsx +16 -29
- package/src/feedback/feedback-capture.ts +3 -1
- package/src/feedback/feedback-comment-thread.tsx +9 -6
- package/src/feedback/feedback-context.tsx +1 -4
- package/src/feedback/feedback-dialog.tsx +3 -4
- package/src/feedback/feedback-inbox.tsx +3 -9
- package/src/feedback/feedback-public-list.tsx +7 -1
- package/src/feedback/feedback-record.ts +6 -14
- package/src/feedback/feedback-replies.tsx +10 -5
- package/src/feedback/feedback-row-detail.tsx +2 -5
- package/src/feedback/feedback-status-undo.ts +1 -4
- package/src/feedback/feedback-submit-dialog.tsx +4 -4
- package/src/feedback/feedback-table.tsx +29 -9
- package/src/feedback/feedback-thread.tsx +4 -16
- package/src/feedback/feedback-vocabulary.ts +72 -82
- package/src/feedback/feedback-vote-button.tsx +9 -8
- package/src/hooks/use-anchored-rect.ts +1 -4
- package/src/hooks/use-document-title.ts +3 -1
- package/src/hooks/use-file-drop.ts +1 -3
- package/src/hooks/use-file-picker-labels.ts +1 -2
- package/src/hooks/use-file-picker.tsx +1 -5
- package/src/hooks/use-focus-trap.ts +1 -2
- package/src/hooks/use-overlay-history.ts +10 -5
- package/src/hooks/use-row-swipe.ts +1 -6
- package/src/i18n/defaults.ts +1 -4
- package/src/i18n/german.ts +42 -50
- package/src/i18n/kit-labels.tsx +5 -20
- package/src/i18n/languages.ts +2 -8
- package/src/i18n/locales/en.ts +15 -31
- package/src/i18n/locales/es.ts +44 -50
- package/src/i18n/locales/fr.ts +43 -52
- package/src/i18n/locales/hu.ts +35 -38
- package/src/i18n/locales/it.ts +44 -53
- package/src/i18n/locales/zh.ts +23 -33
- package/src/i18n/plurals.ts +4 -1
- package/src/i18n/review.ts +20 -7
- package/src/i18n/shared-labels.ts +1 -2
- package/src/index.ts +107 -32
- package/src/landing/access.ts +2 -7
- package/src/landing/landing-sections.tsx +14 -15
- package/src/landing/page-seo.ts +1 -3
- package/src/lib/calc.ts +4 -1
- package/src/lib/clipboard-minus.ts +4 -1
- package/src/lib/dates.ts +2 -10
- package/src/lib/decimal-marks.ts +1 -3
- package/src/lib/device-settings.ts +2 -1
- package/src/lib/direction.ts +1 -3
- package/src/lib/iban.ts +89 -9
- package/src/lib/logger.ts +1 -5
- package/src/lib/person-name.ts +1 -3
- package/src/lib/phone.ts +5 -8
- package/src/lib/qr-encode.ts +32 -8
- package/src/lib/session-refresh.ts +5 -6
- package/src/lib/table-text.ts +24 -6
- package/src/lib/text-match.ts +43 -1
- package/src/lib/translation-review.ts +1 -3
- package/src/notifications/notification-inbox.tsx +17 -4
- package/src/notifications/notification-parts.tsx +1 -2
- package/src/notifications/notification-types-setting.tsx +19 -18
- package/src/notifications/notifications-labels.ts +1 -2
- package/src/notifications/push-device-setting.tsx +7 -1
- package/src/notifications/push-devices-setting.tsx +7 -3
- package/src/notifications/push-worker.ts +10 -2
- package/src/notifications/quiet-hours-setting.tsx +4 -1
- package/src/notifications/use-push-device.ts +4 -1
- package/src/offline/pwa-update-prompt.tsx +7 -1
- package/src/offline/query-persistence.ts +9 -6
- package/src/offline.ts +6 -1
- package/src/rhf/fields.tsx +50 -19
- package/src/rhf/form-core.tsx +2 -6
- package/src/rhf/line-items.tsx +5 -7
- package/src/rhf/use-rhf-wizard-step.ts +3 -12
- package/src/search/command-palette.tsx +15 -23
- package/src/search/global-search.tsx +38 -8
- package/src/search/search-index.ts +5 -1
- package/src/settings/device-reset-setting.tsx +5 -8
- package/src/settings/settings-heading.tsx +3 -1
- package/src/settings/settings-layout.tsx +6 -13
- package/src/settings/use-settings-focus.ts +8 -0
- package/src/settings/use-settings-route.ts +4 -3
- package/src/shell/app-shell.tsx +48 -24
- package/src/shell/auth-layout.tsx +1 -6
- package/src/shell/dev-menu.tsx +18 -6
- package/src/shell/option-switcher-menu.tsx +1 -3
- package/src/shell/sync-status-indicator.tsx +14 -12
- package/src/shell/top-bar-parts-labels.ts +1 -3
- package/src/shell/topbar-action-menu.tsx +130 -45
- package/src/shell/topbar-controls.tsx +5 -19
- package/src/shell/tour-menu.tsx +9 -1
- package/src/shell.ts +1 -1
- package/src/sync/db.ts +5 -1
- package/src/sync/engine.ts +44 -12
- package/src/sync.ts +16 -2
- package/src/testing/css-variables.ts +1 -2
- package/src/testing/index.ts +1 -6
- package/src/testing/react.ts +1 -2
- package/src/testing/viewport.ts +9 -9
- package/src/theme/contrast-tokens.ts +13 -2
- package/src/theme/palette-derive.ts +24 -50
- package/src/theme/palette-presets.ts +0 -1
- package/src/theme/palette-store.ts +1 -4
- package/src/theme/text-size.ts +1 -1
- package/src/theme/theme-store.ts +2 -6
- package/src/tour/tour-catalogue.tsx +4 -2
- package/src/tour/tour-dock.ts +5 -1
- package/src/tour/tour-engine.ts +2 -6
- package/src/tour/tour.tsx +28 -12
- package/src/tour/use-tour-progress.ts +8 -2
- package/src/tour/use-tour-url-sync.ts +3 -1
- package/src/vite-env.d.ts +1 -4
- package/src/wizard/stepper-nav.tsx +10 -35
- package/src/wizard/types.ts +1 -4
- package/src/wizard/use-wizard.ts +28 -43
- package/src/wizard/validation.ts +1 -5
- package/src/wizard/wizard-context.tsx +2 -6
- package/src/wizard/wizard-step.tsx +1 -8
- package/src/wizard/wizard-summary.tsx +2 -6
- package/tokens.css +393 -152
package/tokens.css
CHANGED
|
@@ -109,65 +109,209 @@ html[data-text-size="xlarge"] {
|
|
|
109
109
|
* same numbers (hooks/use-breakpoint.ts). */
|
|
110
110
|
|
|
111
111
|
@custom-variant sm {
|
|
112
|
-
@media (width >= 40rem) {
|
|
113
|
-
|
|
114
|
-
|
|
112
|
+
@media (width >= 40rem) {
|
|
113
|
+
&:where(:not([data-text-size$="large"] *)) {
|
|
114
|
+
@slot;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
@media (width >= 50rem) {
|
|
118
|
+
&:where([data-text-size="large"] *) {
|
|
119
|
+
@slot;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
@media (width >= 60rem) {
|
|
123
|
+
&:where([data-text-size="xlarge"] *) {
|
|
124
|
+
@slot;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
115
127
|
}
|
|
116
128
|
@custom-variant md {
|
|
117
|
-
@media (width >= 48rem) {
|
|
118
|
-
|
|
119
|
-
|
|
129
|
+
@media (width >= 48rem) {
|
|
130
|
+
&:where(:not([data-text-size$="large"] *)) {
|
|
131
|
+
@slot;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
@media (width >= 60rem) {
|
|
135
|
+
&:where([data-text-size="large"] *) {
|
|
136
|
+
@slot;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
@media (width >= 72rem) {
|
|
140
|
+
&:where([data-text-size="xlarge"] *) {
|
|
141
|
+
@slot;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
120
144
|
}
|
|
121
145
|
@custom-variant lg {
|
|
122
|
-
@media (width >= 64rem) {
|
|
123
|
-
|
|
124
|
-
|
|
146
|
+
@media (width >= 64rem) {
|
|
147
|
+
&:where(:not([data-text-size$="large"] *)) {
|
|
148
|
+
@slot;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
@media (width >= 80rem) {
|
|
152
|
+
&:where([data-text-size="large"] *) {
|
|
153
|
+
@slot;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
@media (width >= 96rem) {
|
|
157
|
+
&:where([data-text-size="xlarge"] *) {
|
|
158
|
+
@slot;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
125
161
|
}
|
|
126
162
|
@custom-variant xl {
|
|
127
|
-
@media (width >= 80rem) {
|
|
128
|
-
|
|
129
|
-
|
|
163
|
+
@media (width >= 80rem) {
|
|
164
|
+
&:where(:not([data-text-size$="large"] *)) {
|
|
165
|
+
@slot;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
@media (width >= 100rem) {
|
|
169
|
+
&:where([data-text-size="large"] *) {
|
|
170
|
+
@slot;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
@media (width >= 120rem) {
|
|
174
|
+
&:where([data-text-size="xlarge"] *) {
|
|
175
|
+
@slot;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
130
178
|
}
|
|
131
179
|
@custom-variant 2xl {
|
|
132
|
-
@media (width >= 96rem) {
|
|
133
|
-
|
|
134
|
-
|
|
180
|
+
@media (width >= 96rem) {
|
|
181
|
+
&:where(:not([data-text-size$="large"] *)) {
|
|
182
|
+
@slot;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
@media (width >= 120rem) {
|
|
186
|
+
&:where([data-text-size="large"] *) {
|
|
187
|
+
@slot;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
@media (width >= 144rem) {
|
|
191
|
+
&:where([data-text-size="xlarge"] *) {
|
|
192
|
+
@slot;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
135
195
|
}
|
|
136
196
|
@custom-variant 3xl {
|
|
137
|
-
@media (width >= 150rem) {
|
|
138
|
-
|
|
139
|
-
|
|
197
|
+
@media (width >= 150rem) {
|
|
198
|
+
&:where(:not([data-text-size$="large"] *)) {
|
|
199
|
+
@slot;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
@media (width >= 187.5rem) {
|
|
203
|
+
&:where([data-text-size="large"] *) {
|
|
204
|
+
@slot;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
@media (width >= 225rem) {
|
|
208
|
+
&:where([data-text-size="xlarge"] *) {
|
|
209
|
+
@slot;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
140
212
|
}
|
|
141
213
|
|
|
142
214
|
@custom-variant max-3xl {
|
|
143
|
-
@media (width < 150rem) {
|
|
144
|
-
|
|
145
|
-
|
|
215
|
+
@media (width < 150rem) {
|
|
216
|
+
&:where(:not([data-text-size$="large"] *)) {
|
|
217
|
+
@slot;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
@media (width < 187.5rem) {
|
|
221
|
+
&:where([data-text-size="large"] *) {
|
|
222
|
+
@slot;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
@media (width < 225rem) {
|
|
226
|
+
&:where([data-text-size="xlarge"] *) {
|
|
227
|
+
@slot;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
146
230
|
}
|
|
147
231
|
@custom-variant max-2xl {
|
|
148
|
-
@media (width < 96rem) {
|
|
149
|
-
|
|
150
|
-
|
|
232
|
+
@media (width < 96rem) {
|
|
233
|
+
&:where(:not([data-text-size$="large"] *)) {
|
|
234
|
+
@slot;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
@media (width < 120rem) {
|
|
238
|
+
&:where([data-text-size="large"] *) {
|
|
239
|
+
@slot;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
@media (width < 144rem) {
|
|
243
|
+
&:where([data-text-size="xlarge"] *) {
|
|
244
|
+
@slot;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
151
247
|
}
|
|
152
248
|
@custom-variant max-xl {
|
|
153
|
-
@media (width < 80rem) {
|
|
154
|
-
|
|
155
|
-
|
|
249
|
+
@media (width < 80rem) {
|
|
250
|
+
&:where(:not([data-text-size$="large"] *)) {
|
|
251
|
+
@slot;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
@media (width < 100rem) {
|
|
255
|
+
&:where([data-text-size="large"] *) {
|
|
256
|
+
@slot;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
@media (width < 120rem) {
|
|
260
|
+
&:where([data-text-size="xlarge"] *) {
|
|
261
|
+
@slot;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
156
264
|
}
|
|
157
265
|
@custom-variant max-lg {
|
|
158
|
-
@media (width < 64rem) {
|
|
159
|
-
|
|
160
|
-
|
|
266
|
+
@media (width < 64rem) {
|
|
267
|
+
&:where(:not([data-text-size$="large"] *)) {
|
|
268
|
+
@slot;
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
@media (width < 80rem) {
|
|
272
|
+
&:where([data-text-size="large"] *) {
|
|
273
|
+
@slot;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
@media (width < 96rem) {
|
|
277
|
+
&:where([data-text-size="xlarge"] *) {
|
|
278
|
+
@slot;
|
|
279
|
+
}
|
|
280
|
+
}
|
|
161
281
|
}
|
|
162
282
|
@custom-variant max-md {
|
|
163
|
-
@media (width < 48rem) {
|
|
164
|
-
|
|
165
|
-
|
|
283
|
+
@media (width < 48rem) {
|
|
284
|
+
&:where(:not([data-text-size$="large"] *)) {
|
|
285
|
+
@slot;
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
@media (width < 60rem) {
|
|
289
|
+
&:where([data-text-size="large"] *) {
|
|
290
|
+
@slot;
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
@media (width < 72rem) {
|
|
294
|
+
&:where([data-text-size="xlarge"] *) {
|
|
295
|
+
@slot;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
166
298
|
}
|
|
167
299
|
@custom-variant max-sm {
|
|
168
|
-
@media (width < 40rem) {
|
|
169
|
-
|
|
170
|
-
|
|
300
|
+
@media (width < 40rem) {
|
|
301
|
+
&:where(:not([data-text-size$="large"] *)) {
|
|
302
|
+
@slot;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
@media (width < 50rem) {
|
|
306
|
+
&:where([data-text-size="large"] *) {
|
|
307
|
+
@slot;
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
@media (width < 60rem) {
|
|
311
|
+
&:where([data-text-size="xlarge"] *) {
|
|
312
|
+
@slot;
|
|
313
|
+
}
|
|
314
|
+
}
|
|
171
315
|
}
|
|
172
316
|
|
|
173
317
|
/* `large:` is Large AND Extra large; `xlarge:` only Extra large; `contrast:` is More
|
|
@@ -216,27 +360,27 @@ html[data-text-size="xlarge"] {
|
|
|
216
360
|
}
|
|
217
361
|
|
|
218
362
|
:root {
|
|
219
|
-
--bg-page: #ede3cf;
|
|
220
|
-
--bg-surface: #f6ecd9;
|
|
221
|
-
--bg-surface-2: #ede3cf;
|
|
222
|
-
--border: #e2d6bd;
|
|
223
|
-
--text-primary: #463f33;
|
|
363
|
+
--bg-page: #ede3cf; /* warm dim sand — low-glare light page */
|
|
364
|
+
--bg-surface: #f6ecd9; /* warm off-white card/panel (not pure white) */
|
|
365
|
+
--bg-surface-2: #ede3cf; /* inset/well surface: the page itself in light (0.33) */
|
|
366
|
+
--border: #e2d6bd; /* warm hairline border */
|
|
367
|
+
--text-primary: #463f33; /* warm dark grey — not pure black */
|
|
224
368
|
/* The two quieter text roles. Contrast against the WORST of the three surfaces
|
|
225
369
|
above: 7.0:1 and 4.8:1, so both clear WCAG AA for normal text on all of them —
|
|
226
370
|
which is the reason they are tokens and not `text-slate-500`, a cool grey that
|
|
227
371
|
ignores the palette and sat at 4.4:1 on this ground. */
|
|
228
372
|
--text-secondary: #50493c;
|
|
229
373
|
--text-muted: #696153;
|
|
230
|
-
--brand: #4f46e5;
|
|
231
|
-
--brand-hover: #4338ca;
|
|
374
|
+
--brand: #4f46e5; /* indigo-600 */
|
|
375
|
+
--brand-hover: #4338ca; /* indigo-700 */
|
|
232
376
|
--brand-contrast: #ffffff;
|
|
233
|
-
--money-income: #0b6650;
|
|
377
|
+
--money-income: #0b6650; /* deep teal — the preset's own, darker than
|
|
234
378
|
teal-700 so it clears AA as TEXT on --bg-page */
|
|
235
|
-
--money-expense: #905902;
|
|
379
|
+
--money-expense: #905902; /* solved: amber-700 (#b45309) reached only 3.88:1 as
|
|
236
380
|
TEXT on --bg-page, below WCAG AA. See the preset
|
|
237
381
|
audit in theme/__tests__/palette-audit.test.ts. */
|
|
238
|
-
--money-net: #7a4fa3;
|
|
239
|
-
--money-neutral: #6b6453;
|
|
382
|
+
--money-net: #7a4fa3; /* muted violet, warmed to this palette */
|
|
383
|
+
--money-neutral: #6b6453; /* warm slate */
|
|
240
384
|
|
|
241
385
|
/* ── Field sync status ─────────────────────────────────────────────────────
|
|
242
386
|
The four states a database-backed field can be in. Deliberately NOT part of
|
|
@@ -260,10 +404,10 @@ html[data-text-size="xlarge"] {
|
|
|
260
404
|
reason. They are used here because the states were specified in these colours, so
|
|
261
405
|
`FieldSyncIndicator` gives every state its own ICON as well and colour is never
|
|
262
406
|
the only signal. Do not drop the icons. */
|
|
263
|
-
--status-synced: #166534;
|
|
264
|
-
--status-pending: #1d4ed8;
|
|
265
|
-
--status-edited: #bf6800;
|
|
266
|
-
--status-error: #b91c1c;
|
|
407
|
+
--status-synced: #166534; /* green-800 — persisted */
|
|
408
|
+
--status-pending: #1d4ed8; /* blue-700 — in flight */
|
|
409
|
+
--status-edited: #bf6800; /* solved — dirty, not yet saved */
|
|
410
|
+
--status-error: #b91c1c; /* red-700 — the save failed */
|
|
267
411
|
/* Chart ramp: anyplot's eight "Imprint" hues (0.49, https://anyplot.ai/palette), the
|
|
268
412
|
SAME in both themes — a hue under 3:1 on the ground gets a 1px ink edge
|
|
269
413
|
(`chartEdge`) rather than a different colour. `--chart-9` repeats slot 1, where
|
|
@@ -284,20 +428,20 @@ html[data-text-size="xlarge"] {
|
|
|
284
428
|
}
|
|
285
429
|
|
|
286
430
|
.dark {
|
|
287
|
-
--bg-page: #0e0f1c;
|
|
431
|
+
--bg-page: #0e0f1c; /* indigo near-black */
|
|
288
432
|
--bg-surface: #181a2c;
|
|
289
|
-
--bg-surface-2: #21243a;
|
|
433
|
+
--bg-surface-2: #21243a; /* inset/well surface */
|
|
290
434
|
--border: #2e3252;
|
|
291
435
|
--text-primary: #e6e8f4;
|
|
292
436
|
/* As in `:root` — 7.0:1 and 4.8:1 against the worst of the three dark surfaces. */
|
|
293
437
|
--text-secondary: #adafbe;
|
|
294
438
|
--text-muted: #8d90a0;
|
|
295
|
-
--brand: #8b93f8;
|
|
439
|
+
--brand: #8b93f8; /* indigo, lifted off the Tailwind scale to sit at
|
|
296
440
|
the same OKLab lightness as the other dark tokens */
|
|
297
441
|
--brand-hover: #aab1fb;
|
|
298
|
-
--brand-contrast: #16182b;
|
|
442
|
+
--brand-contrast: #16182b; /* the dark page, not indigo-950: a filled brand
|
|
299
443
|
button reads as a hole in the surface it sits on */
|
|
300
|
-
--money-income: #22c3b6;
|
|
444
|
+
--money-income: #22c3b6; /* teal, pulled down to the dark set's lightness */
|
|
301
445
|
/* Deliberately NOT amber-400 (#fbbf24). Every other colour on a dark surface
|
|
302
446
|
sits around OKLab L 0.68–0.74 (brand 0.68, net 0.70, neutral 0.71, income
|
|
303
447
|
0.74); amber-400 lands at 0.84, so outflows — most rows in a register — shouted
|
|
@@ -306,14 +450,14 @@ html[data-text-size="xlarge"] {
|
|
|
306
450
|
surface, still far from income in CVD space (Keksdose dev#434). */
|
|
307
451
|
--money-expense: #e4b035;
|
|
308
452
|
--money-net: #b39aef;
|
|
309
|
-
--money-neutral: #9aa1bd;
|
|
453
|
+
--money-neutral: #9aa1bd; /* the palette's own cool grey, not zinc-400 */
|
|
310
454
|
|
|
311
455
|
/* Field sync status — see the note in `:root`. Against the worst of the three dark
|
|
312
456
|
surfaces these run 8.7 / 9.1 / 6.7 / 8.0:1. */
|
|
313
|
-
--status-synced: #4ade80;
|
|
314
|
-
--status-pending: #7dd3fc;
|
|
315
|
-
--status-edited: #fbbf24;
|
|
316
|
-
--status-error: #fca5a5;
|
|
457
|
+
--status-synced: #4ade80; /* green-400 */
|
|
458
|
+
--status-pending: #7dd3fc; /* sky-300 */
|
|
459
|
+
--status-edited: #fbbf24; /* amber-400 */
|
|
460
|
+
--status-error: #fca5a5; /* red-300 */
|
|
317
461
|
--chart-1: #009e73;
|
|
318
462
|
--chart-2: #c475fd;
|
|
319
463
|
--chart-3: #4467a3;
|
|
@@ -453,55 +597,55 @@ html[data-text-size="xlarge"] {
|
|
|
453
597
|
4.22. `--money-expense` went the same way earlier. tokens-css-audit.test.ts holds
|
|
454
598
|
every pair here to its ratio. */
|
|
455
599
|
:root {
|
|
456
|
-
--danger: #be123c;
|
|
457
|
-
--danger-hover: #9f1239;
|
|
600
|
+
--danger: #be123c; /* rose-700 */
|
|
601
|
+
--danger-hover: #9f1239; /* rose-800 */
|
|
458
602
|
--danger-contrast: #ffffff;
|
|
459
|
-
--danger-border: #fb7185;
|
|
603
|
+
--danger-border: #fb7185; /* rose-400 */
|
|
460
604
|
/* The error LINE: an invalid field, a failed upload, a danger banner's frame, a focus
|
|
461
605
|
ring on a destructive control — loud, WCAG 1.4.11's 3:1 against every surface.
|
|
462
606
|
Rose-600 in both modes since 0.33: light was rose-400, the soft border's value,
|
|
463
607
|
which reached only 2.07:1 while this note claimed 3:1. */
|
|
464
608
|
--danger-border-strong: #e11d48; /* rose-600 */
|
|
465
|
-
--danger-bg: #fff1f2;
|
|
609
|
+
--danger-bg: #fff1f2; /* rose-50 */
|
|
466
610
|
|
|
467
|
-
--warning: #a34800;
|
|
611
|
+
--warning: #a34800; /* amber-700's hue, solved (was #b45309, 3.86:1) */
|
|
468
612
|
/* Text on a `--warning` fill (0.33, k24): a solid warning chip, a badge, an armed
|
|
469
613
|
swipe. White here, amber-950 on the dark theme's pastel. */
|
|
470
614
|
--warning-contrast: #ffffff;
|
|
471
|
-
--warning-border: #fcd34d;
|
|
615
|
+
--warning-border: #fcd34d; /* amber-300 */
|
|
472
616
|
/* Warning's loud line (0.33, k27), as `--danger-border-strong` is danger's: Card
|
|
473
617
|
`toneStrength="strong"`, IconButton's warning focus ring. In light the warning
|
|
474
618
|
colour itself — amber-600 would be only 2.5:1 on the cream page; in dark amber-600,
|
|
475
619
|
the step danger's line takes, 4.8:1 and up without shouting. */
|
|
476
620
|
--warning-border-strong: var(--warning);
|
|
477
|
-
--warning-bg: #fffbeb;
|
|
621
|
+
--warning-bg: #fffbeb; /* amber-50 */
|
|
478
622
|
|
|
479
623
|
/* Informational, and deliberately NOT the brand: a count of active filters is
|
|
480
624
|
not a call to action, and painting it `--brand` would make every table look
|
|
481
625
|
like it had a primary button in the toolbar. */
|
|
482
|
-
--info: #0369a1;
|
|
626
|
+
--info: #0369a1; /* sky-700 */
|
|
483
627
|
/* Text on an `--info` fill (0.27: the feedback inbox's "advance" swipe) — white here,
|
|
484
628
|
the darkest sky in dark mode, where the fill is a pastel. */
|
|
485
629
|
--info-contrast: #ffffff;
|
|
486
|
-
--info-border: #7dd3fc;
|
|
487
|
-
--info-bg: #e0f2fe;
|
|
630
|
+
--info-border: #7dd3fc; /* sky-300 */
|
|
631
|
+
--info-bg: #e0f2fe; /* sky-100 */
|
|
488
632
|
|
|
489
633
|
/* Done, resolved, accepted. Distinct from `--status-synced` for the same reason
|
|
490
634
|
`--danger` is distinct from `--status-error`: that family describes a FIELD's
|
|
491
635
|
journey to the database, this one an ACTION's outcome. Emerald rather than the
|
|
492
636
|
money teal, so a "resolved" chip cannot be misread as an inflow. */
|
|
493
|
-
--success: #007152;
|
|
637
|
+
--success: #007152; /* emerald-700's hue, solved (was #047857, 4.22:1) */
|
|
494
638
|
/* Text on a `--success` fill (0.26: a swipe's approve panel) — white here, the
|
|
495
639
|
darkest emerald in dark mode, where the fill is a pastel and white text failed. */
|
|
496
640
|
--success-contrast: #ffffff;
|
|
497
|
-
--success-border: #6ee7b7;
|
|
498
|
-
--success-bg: #d1fae5;
|
|
641
|
+
--success-border: #6ee7b7; /* emerald-300 */
|
|
642
|
+
--success-bg: #d1fae5; /* emerald-100 */
|
|
499
643
|
}
|
|
500
644
|
|
|
501
645
|
.dark {
|
|
502
|
-
--danger: #fda4af;
|
|
503
|
-
--danger-hover: #fecdd3;
|
|
504
|
-
--danger-contrast: #4c0519;
|
|
646
|
+
--danger: #fda4af; /* rose-300 */
|
|
647
|
+
--danger-hover: #fecdd3; /* rose-200 */
|
|
648
|
+
--danger-contrast: #4c0519; /* rose-950 */
|
|
505
649
|
/* The tone family's recipe — hue at 0.6 alpha, as warning/info/success below — so a
|
|
506
650
|
soft danger Chip sits in the same weight of frame as its siblings (keksdose dev
|
|
507
651
|
#576: FAILED was visibly louder than READY and NEEDS REVIEW in dark mode). */
|
|
@@ -509,19 +653,19 @@ html[data-text-size="xlarge"] {
|
|
|
509
653
|
--danger-border-strong: #e11d48; /* rose-600 */
|
|
510
654
|
--danger-bg: rgba(136, 19, 55, 0.2);
|
|
511
655
|
|
|
512
|
-
--warning: #fcd34d;
|
|
513
|
-
--warning-contrast: #451a03;
|
|
656
|
+
--warning: #fcd34d; /* amber-300 */
|
|
657
|
+
--warning-contrast: #451a03; /* amber-950 */
|
|
514
658
|
--warning-border: rgba(180, 83, 9, 0.6);
|
|
515
659
|
--warning-border-strong: #d97706; /* amber-600 */
|
|
516
660
|
--warning-bg: rgba(120, 53, 15, 0.2);
|
|
517
661
|
|
|
518
|
-
--info: #7dd3fc;
|
|
519
|
-
--info-contrast: #082f49;
|
|
662
|
+
--info: #7dd3fc; /* sky-300 */
|
|
663
|
+
--info-contrast: #082f49; /* sky-950 */
|
|
520
664
|
--info-border: rgba(3, 105, 161, 0.6);
|
|
521
665
|
--info-bg: rgba(12, 74, 110, 0.25);
|
|
522
666
|
|
|
523
|
-
--success: #6ee7b7;
|
|
524
|
-
--success-contrast: #022c22;
|
|
667
|
+
--success: #6ee7b7; /* emerald-300 */
|
|
668
|
+
--success-contrast: #022c22; /* emerald-950 */
|
|
525
669
|
--success-border: rgba(4, 120, 87, 0.6);
|
|
526
670
|
--success-bg: rgba(6, 78, 59, 0.25);
|
|
527
671
|
}
|
|
@@ -566,7 +710,14 @@ html[data-text-size="xlarge"] {
|
|
|
566
710
|
|
|
567
711
|
/* The description of an untoned toast in the secondary text colour (sonner hard-codes
|
|
568
712
|
#3f3f3f, unreadable in the dark theme); a toned toast's inherits its tone. */
|
|
569
|
-
.kit-toaster
|
|
713
|
+
.kit-toaster
|
|
714
|
+
[data-sonner-toast][data-styled="true"]:not(
|
|
715
|
+
[data-type="success"],
|
|
716
|
+
[data-type="info"],
|
|
717
|
+
[data-type="warning"],
|
|
718
|
+
[data-type="error"]
|
|
719
|
+
)
|
|
720
|
+
[data-description] {
|
|
570
721
|
color: var(--text-secondary);
|
|
571
722
|
}
|
|
572
723
|
/* The action button in the tone's own colour rather than sonner's black pill, under
|
|
@@ -575,10 +726,22 @@ html[data-text-size="xlarge"] {
|
|
|
575
726
|
background: var(--toast-action-bg, var(--text-primary));
|
|
576
727
|
color: var(--toast-action-fg, var(--bg-surface));
|
|
577
728
|
}
|
|
578
|
-
.kit-toaster [data-sonner-toast][data-type="success"] {
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
729
|
+
.kit-toaster [data-sonner-toast][data-type="success"] {
|
|
730
|
+
--toast-action-bg: var(--success);
|
|
731
|
+
--toast-action-fg: var(--success-contrast);
|
|
732
|
+
}
|
|
733
|
+
.kit-toaster [data-sonner-toast][data-type="info"] {
|
|
734
|
+
--toast-action-bg: var(--info);
|
|
735
|
+
--toast-action-fg: var(--info-contrast);
|
|
736
|
+
}
|
|
737
|
+
.kit-toaster [data-sonner-toast][data-type="warning"] {
|
|
738
|
+
--toast-action-bg: var(--warning);
|
|
739
|
+
--toast-action-fg: var(--warning-contrast);
|
|
740
|
+
}
|
|
741
|
+
.kit-toaster [data-sonner-toast][data-type="error"] {
|
|
742
|
+
--toast-action-bg: var(--danger);
|
|
743
|
+
--toast-action-fg: var(--danger-contrast);
|
|
744
|
+
}
|
|
582
745
|
/* The kit's focus ring on the toast's buttons — sonner's is a black shadow that
|
|
583
746
|
vanishes on the dark theme. */
|
|
584
747
|
.kit-toaster [data-sonner-toast][data-styled="true"] :is([data-button], [data-close-button]):focus-visible {
|
|
@@ -605,46 +768,46 @@ html[data-text-size="xlarge"] {
|
|
|
605
768
|
the hue's 950 on the dark pastel. Teal and orange are SOLVED in light, as warning
|
|
606
769
|
and success are (§5.5): their 700s reached 4.21 and 3.98:1 on the cream page. */
|
|
607
770
|
:root {
|
|
608
|
-
--hue-blue: #1d4ed8;
|
|
771
|
+
--hue-blue: #1d4ed8; /* blue-700 */
|
|
609
772
|
--hue-blue-contrast: #ffffff;
|
|
610
|
-
--hue-blue-border: #93c5fd;
|
|
611
|
-
--hue-blue-bg: #dbeafe;
|
|
612
|
-
--hue-indigo: #4338ca;
|
|
773
|
+
--hue-blue-border: #93c5fd; /* blue-300 */
|
|
774
|
+
--hue-blue-bg: #dbeafe; /* blue-100 */
|
|
775
|
+
--hue-indigo: #4338ca; /* indigo-700 */
|
|
613
776
|
--hue-indigo-contrast: #ffffff;
|
|
614
|
-
--hue-indigo-border: #a5b4fc;
|
|
615
|
-
--hue-indigo-bg: #e0e7ff;
|
|
616
|
-
--hue-purple: #7e22ce;
|
|
777
|
+
--hue-indigo-border: #a5b4fc; /* indigo-300 */
|
|
778
|
+
--hue-indigo-bg: #e0e7ff; /* indigo-100 */
|
|
779
|
+
--hue-purple: #7e22ce; /* purple-700 */
|
|
617
780
|
--hue-purple-contrast: #ffffff;
|
|
618
|
-
--hue-purple-border: #d8b4fe;
|
|
619
|
-
--hue-purple-bg: #f3e8ff;
|
|
620
|
-
--hue-teal: #006f68;
|
|
781
|
+
--hue-purple-border: #d8b4fe; /* purple-300 */
|
|
782
|
+
--hue-purple-bg: #f3e8ff; /* purple-100 */
|
|
783
|
+
--hue-teal: #006f68; /* teal-700's hue, solved */
|
|
621
784
|
--hue-teal-contrast: #ffffff;
|
|
622
|
-
--hue-teal-border: #5eead4;
|
|
623
|
-
--hue-teal-bg: #ccfbf1;
|
|
624
|
-
--hue-orange: #b43800;
|
|
785
|
+
--hue-teal-border: #5eead4; /* teal-300 */
|
|
786
|
+
--hue-teal-bg: #ccfbf1; /* teal-100 */
|
|
787
|
+
--hue-orange: #b43800; /* orange-700's hue, solved */
|
|
625
788
|
--hue-orange-contrast: #ffffff;
|
|
626
|
-
--hue-orange-border: #fdba74;
|
|
627
|
-
--hue-orange-bg: #ffedd5;
|
|
789
|
+
--hue-orange-border: #fdba74; /* orange-300 */
|
|
790
|
+
--hue-orange-bg: #ffedd5; /* orange-100 */
|
|
628
791
|
}
|
|
629
792
|
|
|
630
793
|
.dark {
|
|
631
|
-
--hue-blue: #93c5fd;
|
|
632
|
-
--hue-blue-contrast: #172554;
|
|
794
|
+
--hue-blue: #93c5fd; /* blue-300 */
|
|
795
|
+
--hue-blue-contrast: #172554; /* blue-950 */
|
|
633
796
|
--hue-blue-border: rgba(29, 78, 216, 0.6);
|
|
634
797
|
--hue-blue-bg: rgba(30, 58, 138, 0.25);
|
|
635
|
-
--hue-indigo: #a5b4fc;
|
|
798
|
+
--hue-indigo: #a5b4fc; /* indigo-300 */
|
|
636
799
|
--hue-indigo-contrast: #1e1b4b; /* indigo-950 */
|
|
637
800
|
--hue-indigo-border: rgba(67, 56, 202, 0.6);
|
|
638
801
|
--hue-indigo-bg: rgba(49, 46, 129, 0.25);
|
|
639
|
-
--hue-purple: #d8b4fe;
|
|
802
|
+
--hue-purple: #d8b4fe; /* purple-300 */
|
|
640
803
|
--hue-purple-contrast: #3b0764; /* purple-950 */
|
|
641
804
|
--hue-purple-border: rgba(126, 34, 206, 0.6);
|
|
642
805
|
--hue-purple-bg: rgba(88, 28, 135, 0.25);
|
|
643
|
-
--hue-teal: #5eead4;
|
|
644
|
-
--hue-teal-contrast: #042f2e;
|
|
806
|
+
--hue-teal: #5eead4; /* teal-300 */
|
|
807
|
+
--hue-teal-contrast: #042f2e; /* teal-950 */
|
|
645
808
|
--hue-teal-border: rgba(15, 118, 110, 0.6);
|
|
646
809
|
--hue-teal-bg: rgba(19, 78, 74, 0.25);
|
|
647
|
-
--hue-orange: #fdba74;
|
|
810
|
+
--hue-orange: #fdba74; /* orange-300 */
|
|
648
811
|
--hue-orange-contrast: #431407; /* orange-950 */
|
|
649
812
|
--hue-orange-border: rgba(194, 65, 12, 0.6);
|
|
650
813
|
--hue-orange-bg: rgba(124, 45, 18, 0.25);
|
|
@@ -669,13 +832,13 @@ html[data-text-size="xlarge"] {
|
|
|
669
832
|
<html> leaves it out: dark does not step (§13.3, decision 4).
|
|
670
833
|
tokens-css-audit.test.ts measures every pair here. */
|
|
671
834
|
:root[data-contrast="more"]:not(.dark) {
|
|
672
|
-
--danger: #ba0739;
|
|
673
|
-
--warning: #9a4300;
|
|
674
|
-
--success: #006a4d;
|
|
675
|
-
--info: #006197;
|
|
676
|
-
--hue-teal: #006862;
|
|
677
|
-
--hue-orange: #a93400;
|
|
678
|
-
--status-edited: #b66200;
|
|
835
|
+
--danger: #ba0739; /* solved: 4.53:1 on the worst stepped well (was 4.31) */
|
|
836
|
+
--warning: #9a4300; /* solved: 4.53:1 (was 4.13) */
|
|
837
|
+
--success: #006a4d; /* solved: 4.54:1 (was 4.13) */
|
|
838
|
+
--info: #006197; /* solved: 4.56:1 (was 4.07) */
|
|
839
|
+
--hue-teal: #006862; /* solved: 4.56:1 (was 4.15) */
|
|
840
|
+
--hue-orange: #a93400; /* solved: 4.53:1 (was 4.11) */
|
|
841
|
+
--status-edited: #b66200; /* solved, a mark: 3.04:1 (was 2.77) */
|
|
679
842
|
--bg-active: color-mix(in oklab, var(--text-primary) 16%, var(--bg-surface));
|
|
680
843
|
}
|
|
681
844
|
|
|
@@ -864,12 +1027,26 @@ html[data-text-size="xlarge"] {
|
|
|
864
1027
|
theme now makes those very names with the same colour, layered. A second, unlayered
|
|
865
1028
|
rule of the same name would beat the layered one, so `text-money-net` would no longer
|
|
866
1029
|
be the `text-[var(--money-net)]` it replaced in the kit. */
|
|
867
|
-
.text-money-pos {
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
.text-money-neg
|
|
871
|
-
|
|
872
|
-
|
|
1030
|
+
.text-money-pos {
|
|
1031
|
+
color: var(--money-income);
|
|
1032
|
+
}
|
|
1033
|
+
.text-money-neg {
|
|
1034
|
+
color: var(--money-expense);
|
|
1035
|
+
}
|
|
1036
|
+
.text-money-pos-muted {
|
|
1037
|
+
color: var(--money-income);
|
|
1038
|
+
opacity: 0.72;
|
|
1039
|
+
}
|
|
1040
|
+
.text-money-neg-muted {
|
|
1041
|
+
color: var(--money-expense);
|
|
1042
|
+
opacity: 0.72;
|
|
1043
|
+
}
|
|
1044
|
+
.bg-money-pos {
|
|
1045
|
+
background-color: var(--money-income);
|
|
1046
|
+
}
|
|
1047
|
+
.bg-money-neg {
|
|
1048
|
+
background-color: var(--money-expense);
|
|
1049
|
+
}
|
|
873
1050
|
|
|
874
1051
|
/* Visually hidden, like Tailwind's `sr-only`, but POSITION: FIXED rather than absolute.
|
|
875
1052
|
*
|
|
@@ -898,7 +1075,9 @@ html[data-text-size="xlarge"] {
|
|
|
898
1075
|
border-width: 0;
|
|
899
1076
|
}
|
|
900
1077
|
|
|
901
|
-
html,
|
|
1078
|
+
html,
|
|
1079
|
+
body,
|
|
1080
|
+
#root {
|
|
902
1081
|
height: 100%;
|
|
903
1082
|
}
|
|
904
1083
|
|
|
@@ -942,8 +1121,12 @@ body {
|
|
|
942
1121
|
/* Indeterminate progress bar (e.g. long imports, feedback #270): a third-width
|
|
943
1122
|
segment sweeping the track. */
|
|
944
1123
|
@keyframes indeterminate-sweep {
|
|
945
|
-
0% {
|
|
946
|
-
|
|
1124
|
+
0% {
|
|
1125
|
+
transform: translateX(-100%);
|
|
1126
|
+
}
|
|
1127
|
+
100% {
|
|
1128
|
+
transform: translateX(300%);
|
|
1129
|
+
}
|
|
947
1130
|
}
|
|
948
1131
|
.animate-indeterminate {
|
|
949
1132
|
animation: indeterminate-sweep 1.4s ease-in-out infinite;
|
|
@@ -975,36 +1158,64 @@ body {
|
|
|
975
1158
|
* get the slower, more cinematic curve a first attempt reaches for.
|
|
976
1159
|
*/
|
|
977
1160
|
@keyframes overlay-fade-in {
|
|
978
|
-
from {
|
|
979
|
-
|
|
1161
|
+
from {
|
|
1162
|
+
opacity: 0;
|
|
1163
|
+
}
|
|
1164
|
+
to {
|
|
1165
|
+
opacity: 1;
|
|
1166
|
+
}
|
|
980
1167
|
}
|
|
981
1168
|
@keyframes sheet-rise-in {
|
|
982
|
-
from {
|
|
983
|
-
|
|
1169
|
+
from {
|
|
1170
|
+
transform: translateY(100%);
|
|
1171
|
+
}
|
|
1172
|
+
to {
|
|
1173
|
+
transform: none;
|
|
1174
|
+
}
|
|
984
1175
|
}
|
|
985
1176
|
@keyframes overlay-fade-out {
|
|
986
|
-
from {
|
|
987
|
-
|
|
1177
|
+
from {
|
|
1178
|
+
opacity: 1;
|
|
1179
|
+
}
|
|
1180
|
+
to {
|
|
1181
|
+
opacity: 0;
|
|
1182
|
+
}
|
|
988
1183
|
}
|
|
989
1184
|
@keyframes sheet-lower-out {
|
|
990
|
-
from {
|
|
991
|
-
|
|
1185
|
+
from {
|
|
1186
|
+
transform: none;
|
|
1187
|
+
}
|
|
1188
|
+
to {
|
|
1189
|
+
transform: translateY(100%);
|
|
1190
|
+
}
|
|
1191
|
+
}
|
|
1192
|
+
.animate-overlay {
|
|
1193
|
+
animation: overlay-fade-in 0.18s ease-out;
|
|
1194
|
+
}
|
|
1195
|
+
.animate-sheet {
|
|
1196
|
+
animation: sheet-rise-in 0.22s cubic-bezier(0.32, 0.72, 0, 1);
|
|
992
1197
|
}
|
|
993
|
-
.animate-overlay { animation: overlay-fade-in 0.18s ease-out; }
|
|
994
|
-
.animate-sheet { animation: sheet-rise-in 0.22s cubic-bezier(0.32, 0.72, 0, 1); }
|
|
995
1198
|
/* `forwards` on both: the element is unmounted by a timer, and without a retained end
|
|
996
1199
|
state the last painted frame before that timer fires is the panel back at full
|
|
997
1200
|
opacity in its opening position — a flash of the thing you just dismissed. */
|
|
998
|
-
.animate-overlay-out {
|
|
999
|
-
|
|
1201
|
+
.animate-overlay-out {
|
|
1202
|
+
animation: overlay-fade-out 0.18s ease-in forwards;
|
|
1203
|
+
}
|
|
1204
|
+
.animate-sheet-out {
|
|
1205
|
+
animation: sheet-lower-out 0.22s cubic-bezier(1, 0, 0.68, 0.28) forwards;
|
|
1206
|
+
}
|
|
1000
1207
|
|
|
1001
1208
|
/* Motion is the first thing to drop here, not the last. The overlay still fades — a
|
|
1002
1209
|
backdrop appearing instantly is a flash, not a transition — but nothing travels.
|
|
1003
1210
|
The EXIT pair is not listed: `useCloseTransition` reads the same media query and
|
|
1004
1211
|
closes immediately under it, so these classes are never applied at all. */
|
|
1005
1212
|
@media (prefers-reduced-motion: reduce) {
|
|
1006
|
-
.animate-sheet {
|
|
1007
|
-
|
|
1213
|
+
.animate-sheet {
|
|
1214
|
+
animation: none;
|
|
1215
|
+
}
|
|
1216
|
+
.animate-overlay {
|
|
1217
|
+
animation-duration: 0.01ms;
|
|
1218
|
+
}
|
|
1008
1219
|
}
|
|
1009
1220
|
|
|
1010
1221
|
/* The sidebar's flyout panel: a short fade and a 4px slide out of the sidebar, so it
|
|
@@ -1012,30 +1223,58 @@ body {
|
|
|
1012
1223
|
slide uses the inline axis, so it runs the right way under `dir="rtl"` too. Under
|
|
1013
1224
|
reduced motion it only fades — nothing travels. */
|
|
1014
1225
|
@keyframes flyout-in {
|
|
1015
|
-
from {
|
|
1016
|
-
|
|
1226
|
+
from {
|
|
1227
|
+
opacity: 0;
|
|
1228
|
+
translate: var(--flyout-from, -4px) 0;
|
|
1229
|
+
}
|
|
1230
|
+
to {
|
|
1231
|
+
opacity: 1;
|
|
1232
|
+
translate: 0 0;
|
|
1233
|
+
}
|
|
1234
|
+
}
|
|
1235
|
+
[dir="rtl"] .animate-flyout {
|
|
1236
|
+
--flyout-from: 4px;
|
|
1237
|
+
}
|
|
1238
|
+
.animate-flyout {
|
|
1239
|
+
animation: flyout-in 0.14s ease-out;
|
|
1017
1240
|
}
|
|
1018
|
-
[dir="rtl"] .animate-flyout { --flyout-from: 4px; }
|
|
1019
|
-
.animate-flyout { animation: flyout-in 0.14s ease-out; }
|
|
1020
1241
|
@media (prefers-reduced-motion: reduce) {
|
|
1021
|
-
.animate-flyout {
|
|
1242
|
+
.animate-flyout {
|
|
1243
|
+
animation-name: overlay-fade-in;
|
|
1244
|
+
}
|
|
1022
1245
|
}
|
|
1023
1246
|
|
|
1024
1247
|
/* The phone's page row (AppShell `mobileSubNav`) rising out of the bottom bar. */
|
|
1025
1248
|
@keyframes subnav-in {
|
|
1026
|
-
from {
|
|
1027
|
-
|
|
1249
|
+
from {
|
|
1250
|
+
opacity: 0;
|
|
1251
|
+
transform: translateY(6px);
|
|
1252
|
+
}
|
|
1253
|
+
to {
|
|
1254
|
+
opacity: 1;
|
|
1255
|
+
transform: none;
|
|
1256
|
+
}
|
|
1257
|
+
}
|
|
1258
|
+
.animate-subnav {
|
|
1259
|
+
animation: subnav-in 0.2s ease-out;
|
|
1028
1260
|
}
|
|
1029
|
-
.animate-subnav { animation: subnav-in 0.2s ease-out; }
|
|
1030
1261
|
@media (prefers-reduced-motion: reduce) {
|
|
1031
|
-
.animate-subnav {
|
|
1262
|
+
.animate-subnav {
|
|
1263
|
+
animation-name: overlay-fade-in;
|
|
1264
|
+
}
|
|
1032
1265
|
}
|
|
1033
1266
|
|
|
1034
1267
|
/* Chart drilldown fan-out/-in (feedback #260 rework): the remounted chart eases
|
|
1035
1268
|
in instead of snapping. */
|
|
1036
1269
|
@keyframes drill-in {
|
|
1037
|
-
from {
|
|
1038
|
-
|
|
1270
|
+
from {
|
|
1271
|
+
opacity: 0;
|
|
1272
|
+
transform: scale(0.96);
|
|
1273
|
+
}
|
|
1274
|
+
to {
|
|
1275
|
+
opacity: 1;
|
|
1276
|
+
transform: none;
|
|
1277
|
+
}
|
|
1039
1278
|
}
|
|
1040
1279
|
.animate-drill {
|
|
1041
1280
|
animation: drill-in 0.25s ease-out;
|
|
@@ -1043,7 +1282,9 @@ body {
|
|
|
1043
1282
|
/* A drilldown still has to SAY the level changed, so under reduced motion the chart
|
|
1044
1283
|
fades in rather than appearing in one frame — but it no longer scales. */
|
|
1045
1284
|
@media (prefers-reduced-motion: reduce) {
|
|
1046
|
-
.animate-drill {
|
|
1285
|
+
.animate-drill {
|
|
1286
|
+
animation-name: overlay-fade-in;
|
|
1287
|
+
}
|
|
1047
1288
|
}
|
|
1048
1289
|
|
|
1049
1290
|
/* Scrollbars: keep light defaults; theme to the palette when dark mode is active.
|