@eifi1/ui-kit 0.33.1 → 0.35.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 +512 -306
- package/dist/account/account-parts.d.ts +6 -8
- package/dist/account/account-parts.js +1 -2
- package/dist/account/account-parts.js.map +1 -1
- package/dist/{components → account}/account-settings-labels.d.ts +16 -10
- package/dist/{components → account}/account-settings-labels.js +3 -1
- package/dist/account/account-settings-labels.js.map +1 -0
- package/dist/{components → account}/account-settings.d.ts +53 -23
- package/dist/{components → account}/account-settings.js +97 -26
- package/dist/account/account-settings.js.map +1 -0
- package/dist/account/data-export-setting-labels.d.ts +2 -0
- package/dist/account/data-export-setting-labels.js +15 -0
- package/dist/account/data-export-setting-labels.js.map +1 -0
- package/dist/account/data-export-setting.d.ts +9 -11
- package/dist/account/data-export-setting.js +11 -27
- package/dist/account/data-export-setting.js.map +1 -1
- package/dist/account/delete-account-setting-labels.d.ts +2 -0
- package/dist/account/delete-account-setting-labels.js +23 -0
- package/dist/account/delete-account-setting-labels.js.map +1 -0
- package/dist/account/delete-account-setting.d.ts +132 -101
- package/dist/account/delete-account-setting.js +7 -23
- package/dist/account/delete-account-setting.js.map +1 -1
- package/dist/account/email-change-setting-labels.d.ts +2 -0
- package/dist/account/email-change-setting-labels.js +28 -0
- package/dist/account/email-change-setting-labels.js.map +1 -0
- package/dist/account/email-change-setting.d.ts +10 -12
- package/dist/account/email-change-setting.js +11 -30
- package/dist/account/email-change-setting.js.map +1 -1
- package/dist/{components → account}/passkeys-setting.d.ts +9 -12
- package/dist/{components → account}/passkeys-setting.js +10 -7
- package/dist/account/passkeys-setting.js.map +1 -0
- package/dist/account/sessions-setting-labels.d.ts +2 -0
- package/dist/account/sessions-setting-labels.js +22 -0
- package/dist/account/sessions-setting-labels.js.map +1 -0
- package/dist/account/sessions-setting.d.ts +12 -14
- package/dist/account/sessions-setting.js +8 -23
- package/dist/account/sessions-setting.js.map +1 -1
- package/dist/admin/admin-action-confirm-labels.d.ts +2 -0
- package/dist/admin/admin-action-confirm-labels.js +16 -0
- package/dist/admin/admin-action-confirm-labels.js.map +1 -0
- package/dist/admin/admin-action-confirm.d.ts +156 -101
- package/dist/admin/admin-action-confirm.js +17 -22
- package/dist/admin/admin-action-confirm.js.map +1 -1
- package/dist/admin/admin-action-log-labels.d.ts +2 -0
- package/dist/admin/admin-action-log-labels.js +73 -0
- package/dist/admin/admin-action-log-labels.js.map +1 -0
- package/dist/admin/admin-action-log.d.ts +98 -22
- package/dist/admin/admin-action-log.js +48 -45
- package/dist/admin/admin-action-log.js.map +1 -1
- package/dist/admin/admin-parts.d.ts +7 -14
- package/dist/admin/admin-parts.js +0 -4
- package/dist/admin/admin-parts.js.map +1 -1
- package/dist/admin/invitations-panel-labels.d.ts +2 -0
- package/dist/admin/invitations-panel-labels.js +29 -0
- package/dist/admin/invitations-panel-labels.js.map +1 -0
- package/dist/admin/invitations-panel.d.ts +167 -101
- package/dist/admin/invitations-panel.js +12 -31
- package/dist/admin/invitations-panel.js.map +1 -1
- package/dist/admin/plan-change-labels.d.ts +2 -0
- package/dist/admin/plan-change-labels.js +22 -0
- package/dist/admin/plan-change-labels.js.map +1 -0
- package/dist/admin/plan-change.d.ts +244 -101
- package/dist/admin/plan-change.js +16 -24
- package/dist/admin/plan-change.js.map +1 -1
- package/dist/admin/reviewer-scope-editor-labels.d.ts +2 -0
- package/dist/admin/reviewer-scope-editor-labels.js +14 -0
- package/dist/admin/reviewer-scope-editor-labels.js.map +1 -0
- package/dist/admin/reviewer-scope-editor.d.ts +95 -101
- package/dist/admin/reviewer-scope-editor.js +5 -13
- package/dist/admin/reviewer-scope-editor.js.map +1 -1
- package/dist/admin/role-select-labels.d.ts +2 -0
- package/dist/admin/role-select-labels.js +15 -0
- package/dist/admin/role-select-labels.js.map +1 -0
- package/dist/admin/role-select.d.ts +136 -101
- package/dist/admin/role-select.js +7 -18
- package/dist/admin/role-select.js.map +1 -1
- package/dist/admin/transfer-ownership-dialog-labels.d.ts +2 -0
- package/dist/admin/transfer-ownership-dialog-labels.js +18 -0
- package/dist/admin/transfer-ownership-dialog-labels.js.map +1 -0
- package/dist/admin/transfer-ownership-dialog.d.ts +81 -101
- package/dist/admin/transfer-ownership-dialog.js +3 -15
- package/dist/admin/transfer-ownership-dialog.js.map +1 -1
- package/dist/admin/user-roster-labels.d.ts +2 -0
- package/dist/admin/user-roster-labels.js +16 -0
- package/dist/admin/user-roster-labels.js.map +1 -0
- package/dist/admin/user-roster.d.ts +225 -101
- package/dist/admin/user-roster.js +4 -14
- package/dist/admin/user-roster.js.map +1 -1
- package/dist/auth/accept-invitation-labels.d.ts +2 -0
- package/dist/auth/accept-invitation-labels.js +20 -0
- package/dist/auth/accept-invitation-labels.js.map +1 -0
- package/dist/auth/accept-invitation.d.ts +11 -13
- package/dist/auth/accept-invitation.js +3 -16
- package/dist/auth/accept-invitation.js.map +1 -1
- package/dist/auth/auth-errors.d.ts +34 -23
- package/dist/auth/auth-errors.js +8 -4
- package/dist/auth/auth-errors.js.map +1 -1
- package/dist/auth/complete-name-dialog-labels.d.ts +2 -0
- package/dist/auth/complete-name-dialog-labels.js +14 -0
- package/dist/auth/complete-name-dialog-labels.js.map +1 -0
- package/dist/auth/complete-name-dialog.d.ts +9 -11
- package/dist/auth/complete-name-dialog.js +4 -11
- package/dist/auth/complete-name-dialog.js.map +1 -1
- package/dist/auth/email-tag.d.ts +2 -4
- package/dist/auth/forgot-password-form-labels.d.ts +3 -0
- package/dist/auth/forgot-password-form-labels.js +17 -0
- package/dist/auth/forgot-password-form-labels.js.map +1 -0
- package/dist/auth/forgot-password-form.d.ts +9 -12
- package/dist/auth/forgot-password-form.js +6 -15
- package/dist/auth/forgot-password-form.js.map +1 -1
- package/dist/auth/form-rules.d.ts +5 -7
- package/dist/auth/new-password-fields.d.ts +4 -8
- package/dist/auth/new-password-fields.js +1 -1
- package/dist/auth/new-password-fields.js.map +1 -1
- package/dist/auth/not-found-page-labels.d.ts +2 -0
- package/dist/auth/not-found-page-labels.js +11 -0
- package/dist/auth/not-found-page-labels.js.map +1 -0
- package/dist/auth/not-found-page.d.ts +9 -11
- package/dist/auth/not-found-page.js +5 -10
- package/dist/auth/not-found-page.js.map +1 -1
- package/dist/auth/register-form-labels.d.ts +3 -0
- package/dist/auth/register-form-labels.js +28 -0
- package/dist/auth/register-form-labels.js.map +1 -0
- package/dist/auth/register-form.d.ts +174 -101
- package/dist/auth/register-form.js +11 -31
- package/dist/auth/register-form.js.map +1 -1
- package/dist/auth/reset-password-form-labels.d.ts +3 -0
- package/dist/auth/reset-password-form-labels.js +24 -0
- package/dist/auth/reset-password-form-labels.js.map +1 -0
- package/dist/auth/reset-password-form.d.ts +12 -15
- package/dist/auth/reset-password-form.js +6 -22
- package/dist/auth/reset-password-form.js.map +1 -1
- package/dist/auth/sign-in-form-labels.d.ts +3 -0
- package/dist/auth/sign-in-form-labels.js +42 -0
- package/dist/auth/sign-in-form-labels.js.map +1 -0
- package/dist/auth/sign-in-form.d.ts +15 -19
- package/dist/auth/sign-in-form.js +12 -46
- package/dist/auth/sign-in-form.js.map +1 -1
- package/dist/auth/status-parts.d.ts +13 -17
- package/dist/auth/status-parts.js +3 -3
- package/dist/auth/status-parts.js.map +1 -1
- package/dist/auth/verify-email-labels.d.ts +2 -0
- package/dist/auth/verify-email-labels.js +25 -0
- package/dist/auth/verify-email-labels.js.map +1 -0
- package/dist/auth/verify-email.d.ts +15 -17
- package/dist/auth/verify-email.js +4 -21
- package/dist/auth/verify-email.js.map +1 -1
- package/dist/billing/billing-banner.d.ts +12 -110
- package/dist/billing/billing-banner.js +2 -1
- package/dist/billing/billing-banner.js.map +1 -1
- package/dist/billing/billing-labels.d.ts +168 -101
- package/dist/billing/billing-labels.js.map +1 -1
- package/dist/billing/billing-lock.d.ts +10 -110
- package/dist/billing/billing-overview.d.ts +7 -109
- package/dist/billing/billing-standing.d.ts +6 -108
- package/dist/billing/checkout-processing.d.ts +8 -111
- package/dist/billing/checkout-processing.js +2 -9
- package/dist/billing/checkout-processing.js.map +1 -1
- package/dist/billing/checkout-return.d.ts +5 -7
- package/dist/billing/pay-page.d.ts +15 -117
- package/dist/billing/plan-card.d.ts +14 -115
- package/dist/billing/plan-card.js +15 -13
- package/dist/billing/plan-card.js.map +1 -1
- package/dist/billing/plan-limit-notice.d.ts +12 -110
- package/dist/billing/plan-limit-notice.js +1 -1
- package/dist/billing/plan-limit-notice.js.map +1 -1
- package/dist/billing/plan-limit-toast.d.ts +6 -107
- package/dist/billing/plan-limit.d.ts +2 -4
- package/dist/billing/plan-price.d.ts +10 -12
- package/dist/billing/subscription-actions.d.ts +6 -109
- package/dist/billing/subscription-actions.js +2 -2
- package/dist/billing/subscription-actions.js.map +1 -1
- package/dist/billing/subscription-status-chip.d.ts +7 -108
- package/dist/chart.d.ts +12 -113
- package/dist/chart.js +4 -0
- package/dist/chart.js.map +1 -1
- package/dist/components/account-chips-labels.d.ts +10 -0
- package/dist/components/account-chips-labels.js +15 -0
- package/dist/components/account-chips-labels.js.map +1 -0
- package/dist/components/account-chips.d.ts +22 -44
- package/dist/components/account-chips.js +9 -14
- package/dist/components/account-chips.js.map +1 -1
- package/dist/components/alert-banner.d.ts +15 -11
- package/dist/components/alert-banner.js +28 -18
- package/dist/components/alert-banner.js.map +1 -1
- package/dist/components/amount-input.d.ts +64 -111
- package/dist/components/amount-input.js +259 -283
- package/dist/components/amount-input.js.map +1 -1
- package/dist/components/appearance-labels.d.ts +6 -10
- package/dist/components/appearance-labels.js.map +1 -1
- package/dist/components/authed-image-labels.d.ts +2 -0
- package/dist/components/authed-image-labels.js +10 -0
- package/dist/components/authed-image-labels.js.map +1 -0
- package/dist/components/authed-image.d.ts +11 -13
- package/dist/components/authed-image.js +2 -6
- package/dist/components/authed-image.js.map +1 -1
- package/dist/components/autocomplete.d.ts +13 -11
- package/dist/components/autocomplete.js +33 -28
- package/dist/components/autocomplete.js.map +1 -1
- package/dist/components/breadcrumbs-labels.d.ts +2 -0
- package/dist/components/breadcrumbs-labels.js +9 -0
- package/dist/components/breadcrumbs-labels.js.map +1 -0
- package/dist/components/breadcrumbs.d.ts +10 -12
- package/dist/components/breadcrumbs.js +7 -10
- package/dist/components/breadcrumbs.js.map +1 -1
- package/dist/components/bulk-action-bar-labels.d.ts +2 -0
- package/dist/components/bulk-action-bar-labels.js +10 -0
- package/dist/components/bulk-action-bar-labels.js.map +1 -0
- package/dist/components/bulk-action-bar.d.ts +10 -12
- package/dist/components/bulk-action-bar.js +9 -12
- package/dist/components/bulk-action-bar.js.map +1 -1
- package/dist/components/button-group.d.ts +7 -110
- package/dist/components/button-group.js +5 -5
- package/dist/components/button-group.js.map +1 -1
- package/dist/components/button-look.d.ts +88 -0
- package/dist/components/button-look.js +91 -0
- package/dist/components/button-look.js.map +1 -0
- package/dist/components/button.d.ts +153 -0
- package/dist/components/button.js +165 -0
- package/dist/components/button.js.map +1 -0
- package/dist/components/calculator.d.ts +6 -108
- package/dist/components/calculator.js +8 -7
- package/dist/components/calculator.js.map +1 -1
- package/dist/components/calendar-heatmap-labels.d.ts +3 -0
- package/dist/components/calendar-heatmap-labels.js +12 -0
- package/dist/components/calendar-heatmap-labels.js.map +1 -0
- package/dist/components/calendar-heatmap.d.ts +13 -16
- package/dist/components/calendar-heatmap.js +7 -13
- package/dist/components/calendar-heatmap.js.map +1 -1
- package/dist/components/card.d.ts +145 -0
- package/dist/components/card.js +186 -0
- package/dist/components/card.js.map +1 -0
- package/dist/components/chart-height.d.ts +4 -7
- package/dist/components/chart-zoom-core.d.ts +202 -0
- package/dist/components/chart-zoom-core.js +334 -0
- package/dist/components/chart-zoom-core.js.map +1 -0
- package/dist/components/chart-zoom.d.ts +2 -205
- package/dist/components/chart-zoom.js +2 -330
- package/dist/components/chart-zoom.js.map +1 -1
- package/dist/components/chart.d.ts +11 -15
- package/dist/components/chart.js +11 -11
- package/dist/components/chart.js.map +1 -1
- package/dist/components/checkbox-group.d.ts +6 -10
- package/dist/components/checkbox-group.js +10 -9
- package/dist/components/checkbox-group.js.map +1 -1
- package/dist/components/checkbox.d.ts +8 -12
- package/dist/components/checkbox.js +20 -18
- package/dist/components/checkbox.js.map +1 -1
- package/dist/components/chip-input.d.ts +69 -0
- package/dist/components/chip-input.js +220 -0
- package/dist/components/chip-input.js.map +1 -0
- package/dist/components/chip-labels.d.ts +2 -0
- package/dist/components/chip-labels.js +12 -0
- package/dist/components/chip-labels.js.map +1 -0
- package/dist/components/chip.d.ts +18 -93
- package/dist/components/chip.js +74 -426
- package/dist/components/chip.js.map +1 -1
- package/dist/components/choice-card.d.ts +21 -18
- package/dist/components/choice-card.js +45 -45
- package/dist/components/choice-card.js.map +1 -1
- package/dist/components/column-mapper-labels.d.ts +5 -0
- package/dist/components/column-mapper-labels.js +34 -0
- package/dist/components/column-mapper-labels.js.map +1 -0
- package/dist/components/column-mapper.d.ts +15 -17
- package/dist/components/column-mapper.js +11 -37
- package/dist/components/column-mapper.js.map +1 -1
- package/dist/components/combobox-core.d.ts +79 -40
- package/dist/components/combobox-core.js +187 -121
- package/dist/components/combobox-core.js.map +1 -1
- package/dist/components/combobox-suggestions.d.ts +76 -0
- package/dist/components/combobox-suggestions.js +56 -0
- package/dist/components/combobox-suggestions.js.map +1 -0
- package/dist/components/combobox.d.ts +15 -160
- package/dist/components/combobox.js +40 -507
- package/dist/components/combobox.js.map +1 -1
- package/dist/components/confirm-dialog-labels.d.ts +7 -0
- package/dist/components/confirm-dialog-labels.js +10 -0
- package/dist/components/confirm-dialog-labels.js.map +1 -0
- package/dist/components/confirm-dialog.d.ts +165 -101
- package/dist/components/confirm-dialog.js +2 -6
- package/dist/components/confirm-dialog.js.map +1 -1
- package/dist/components/copy-button-labels.d.ts +2 -0
- package/dist/components/copy-button-labels.js +12 -0
- package/dist/components/copy-button-labels.js.map +1 -0
- package/dist/components/copy-button.d.ts +74 -101
- package/dist/components/copy-button.js +4 -9
- package/dist/components/copy-button.js.map +1 -1
- package/dist/components/country-select-labels.d.ts +2 -0
- package/dist/components/country-select-labels.js +10 -0
- package/dist/components/country-select-labels.js.map +1 -0
- package/dist/components/country-select.d.ts +18 -15
- package/dist/components/country-select.js +49 -64
- package/dist/components/country-select.js.map +1 -1
- package/dist/components/currency-option-list.d.ts +58 -0
- package/dist/components/currency-option-list.js +107 -0
- package/dist/components/currency-option-list.js.map +1 -0
- package/dist/components/currency-select.d.ts +10 -30
- package/dist/components/currency-select.js +50 -133
- package/dist/components/currency-select.js.map +1 -1
- package/dist/components/danger-confirm-labels.d.ts +14 -0
- package/dist/components/danger-confirm-labels.js +17 -0
- package/dist/components/danger-confirm-labels.js.map +1 -0
- package/dist/components/danger-confirm.d.ts +448 -101
- package/dist/components/danger-confirm.js +40 -46
- package/dist/components/danger-confirm.js.map +1 -1
- package/dist/components/data-table-cells.d.ts +9 -24
- package/dist/components/data-table-cells.js +1 -1
- package/dist/components/data-table-cells.js.map +1 -1
- package/dist/components/data-table-column-settings.d.ts +16 -0
- package/dist/components/data-table-column-settings.js +119 -0
- package/dist/components/data-table-column-settings.js.map +1 -0
- package/dist/components/data-table-filter-popover.d.ts +5 -19
- package/dist/components/data-table-filter-popover.js +40 -23
- package/dist/components/data-table-filter-popover.js.map +1 -1
- package/dist/components/data-table-filters.d.ts +93 -15
- package/dist/components/data-table-filters.js +22 -7
- package/dist/components/data-table-filters.js.map +1 -1
- package/dist/components/data-table-head.d.ts +36 -0
- package/dist/components/data-table-head.js +190 -0
- package/dist/components/data-table-head.js.map +1 -0
- package/dist/components/data-table-labels.d.ts +83 -15
- package/dist/components/data-table-labels.js +4 -29
- package/dist/components/data-table-labels.js.map +1 -1
- package/dist/components/data-table-mobile.d.ts +106 -0
- package/dist/components/data-table-mobile.js +412 -0
- package/dist/components/data-table-mobile.js.map +1 -0
- package/dist/components/data-table-pagination.d.ts +6 -21
- package/dist/components/data-table-pagination.js +7 -7
- package/dist/components/data-table-pagination.js.map +1 -1
- package/dist/components/data-table-resize.d.ts +37 -0
- package/dist/components/data-table-resize.js +103 -0
- package/dist/components/data-table-resize.js.map +1 -0
- package/dist/components/data-table-row-actions.d.ts +24 -0
- package/dist/components/data-table-row-actions.js +95 -0
- package/dist/components/data-table-row-actions.js.map +1 -0
- package/dist/components/data-table-selection.d.ts +21 -0
- package/dist/components/data-table-selection.js +30 -0
- package/dist/components/data-table-selection.js.map +1 -0
- package/dist/components/data-table-shared.d.ts +93 -0
- package/dist/components/data-table-shared.js +99 -0
- package/dist/components/data-table-shared.js.map +1 -0
- package/dist/components/data-table-sort.d.ts +8 -10
- package/dist/components/data-table.d.ts +613 -15
- package/dist/components/data-table.js +150 -939
- package/dist/components/data-table.js.map +1 -1
- package/dist/components/date-field.d.ts +203 -0
- package/dist/components/date-field.js +270 -0
- package/dist/components/date-field.js.map +1 -0
- package/dist/components/date-picker.d.ts +6 -261
- package/dist/components/date-picker.js +24 -760
- package/dist/components/date-picker.js.map +1 -1
- package/dist/components/date-range-picker.d.ts +125 -0
- package/dist/components/date-range-picker.js +261 -0
- package/dist/components/date-range-picker.js.map +1 -0
- package/dist/components/description-list-labels.d.ts +2 -0
- package/dist/components/description-list-labels.js +8 -0
- package/dist/components/description-list-labels.js.map +1 -0
- package/dist/components/description-list.d.ts +13 -15
- package/dist/components/description-list.js +17 -11
- package/dist/components/description-list.js.map +1 -1
- package/dist/components/dialog-frame-labels.d.ts +2 -0
- package/dist/components/dialog-frame-labels.js +6 -0
- package/dist/components/dialog-frame-labels.js.map +1 -0
- package/dist/components/dialog-frame.d.ts +10 -12
- package/dist/components/dialog-frame.js +6 -6
- package/dist/components/dialog-frame.js.map +1 -1
- package/dist/components/disclosure.d.ts +6 -10
- package/dist/components/disclosure.js +11 -11
- package/dist/components/disclosure.js.map +1 -1
- package/dist/components/dropdown.d.ts +61 -30
- package/dist/components/dropdown.js +61 -30
- package/dist/components/dropdown.js.map +1 -1
- package/dist/components/empty-state.d.ts +64 -0
- package/dist/components/empty-state.js +70 -0
- package/dist/components/empty-state.js.map +1 -0
- package/dist/components/entity-combobox.d.ts +11 -12
- package/dist/components/entity-combobox.js +14 -13
- package/dist/components/entity-combobox.js.map +1 -1
- package/dist/components/error-boundary-labels.d.ts +2 -0
- package/dist/components/error-boundary-labels.js +19 -0
- package/dist/components/error-boundary-labels.js.map +1 -0
- package/dist/components/error-boundary.d.ts +17 -17
- package/dist/components/error-boundary.js +5 -17
- package/dist/components/error-boundary.js.map +1 -1
- package/dist/components/facing-pair.d.ts +7 -116
- package/dist/components/facing-pair.js +1 -1
- package/dist/components/facing-pair.js.map +1 -1
- package/dist/components/field-base.d.ts +255 -0
- package/dist/components/field-base.js +223 -0
- package/dist/components/field-base.js.map +1 -0
- package/dist/components/field-parts.d.ts +180 -87
- package/dist/components/field-parts.js +52 -33
- package/dist/components/field-parts.js.map +1 -1
- package/dist/components/field-strip.d.ts +12 -36
- package/dist/components/field-strip.js +24 -22
- package/dist/components/field-strip.js.map +1 -1
- package/dist/components/field-sync-labels.d.ts +2 -0
- package/dist/components/field-sync-labels.js +12 -0
- package/dist/components/field-sync-labels.js.map +1 -0
- package/dist/components/field-sync.d.ts +16 -19
- package/dist/components/field-sync.js +4 -14
- package/dist/components/field-sync.js.map +1 -1
- package/dist/components/field.d.ts +45 -10
- package/dist/components/field.js +10 -8
- package/dist/components/field.js.map +1 -1
- package/dist/components/file-button.d.ts +85 -101
- package/dist/components/file-button.js +23 -169
- package/dist/components/file-button.js.map +1 -1
- package/dist/components/file-dropzone.d.ts +9 -110
- package/dist/components/file-dropzone.js +22 -22
- package/dist/components/file-dropzone.js.map +1 -1
- package/dist/components/floating-panel-labels.d.ts +2 -0
- package/dist/components/floating-panel-labels.js +9 -0
- package/dist/components/floating-panel-labels.js.map +1 -0
- package/dist/components/floating-panel.d.ts +17 -21
- package/dist/components/floating-panel.js +19 -18
- package/dist/components/floating-panel.js.map +1 -1
- package/dist/components/focus-ring.d.ts +9 -6
- package/dist/components/focus-ring.js +2 -2
- package/dist/components/focus-ring.js.map +1 -1
- package/dist/components/form-actions-labels.d.ts +2 -0
- package/dist/components/form-actions-labels.js +10 -0
- package/dist/components/form-actions-labels.js.map +1 -0
- package/dist/components/form-actions.d.ts +280 -101
- package/dist/components/form-actions.js +10 -20
- package/dist/components/form-actions.js.map +1 -1
- package/dist/components/full-bleed-dialog.d.ts +7 -8
- package/dist/components/full-bleed-dialog.js +14 -13
- package/dist/components/full-bleed-dialog.js.map +1 -1
- package/dist/components/grouped-picker.d.ts +21 -16
- package/dist/components/grouped-picker.js +76 -62
- package/dist/components/grouped-picker.js.map +1 -1
- package/dist/components/help-popover.d.ts +60 -0
- package/dist/components/help-popover.js +48 -0
- package/dist/components/help-popover.js.map +1 -0
- package/dist/components/hover-menu.d.ts +12 -18
- package/dist/components/hover-menu.js +19 -18
- package/dist/components/hover-menu.js.map +1 -1
- package/dist/components/iban-input-labels.d.ts +2 -0
- package/dist/components/iban-input-labels.js +13 -0
- package/dist/components/iban-input-labels.js.map +1 -0
- package/dist/components/iban-input.d.ts +73 -101
- package/dist/components/iban-input.js +22 -15
- package/dist/components/iban-input.js.map +1 -1
- package/dist/components/icon-button.d.ts +300 -0
- package/dist/components/icon-button.js +465 -0
- package/dist/components/icon-button.js.map +1 -0
- package/dist/components/icon-picker-labels.d.ts +2 -0
- package/dist/components/icon-picker-labels.js +12 -0
- package/dist/components/icon-picker-labels.js.map +1 -0
- package/dist/components/icon-picker.d.ts +13 -13
- package/dist/components/icon-picker.js +18 -17
- package/dist/components/icon-picker.js.map +1 -1
- package/dist/components/image-grid-labels.d.ts +2 -0
- package/dist/components/image-grid-labels.js +10 -0
- package/dist/components/image-grid-labels.js.map +1 -0
- package/dist/components/image-grid.d.ts +12 -14
- package/dist/components/image-grid.js +6 -10
- package/dist/components/image-grid.js.map +1 -1
- package/dist/components/inline-edit-field-labels.d.ts +2 -0
- package/dist/components/inline-edit-field-labels.js +10 -0
- package/dist/components/inline-edit-field-labels.js.map +1 -0
- package/dist/components/inline-edit-field.d.ts +11 -13
- package/dist/components/inline-edit-field.js +11 -13
- package/dist/components/inline-edit-field.js.map +1 -1
- package/dist/components/inline-entity-combobox.d.ts +155 -0
- package/dist/components/inline-entity-combobox.js +467 -0
- package/dist/components/inline-entity-combobox.js.map +1 -0
- package/dist/components/input.d.ts +98 -0
- package/dist/components/input.js +219 -0
- package/dist/components/input.js.map +1 -0
- package/dist/components/jump-calendar.d.ts +8 -0
- package/dist/components/jump-calendar.js +274 -0
- package/dist/components/jump-calendar.js.map +1 -0
- package/dist/components/language-select.d.ts +20 -111
- package/dist/components/language-select.js +12 -7
- package/dist/components/language-select.js.map +1 -1
- package/dist/components/legal-labels.d.ts +2 -0
- package/dist/components/legal-labels.js +100 -0
- package/dist/components/legal-labels.js.map +1 -0
- package/dist/components/legal-page.d.ts +17 -118
- package/dist/components/legal-page.js +2 -2
- package/dist/components/legal-page.js.map +1 -1
- package/dist/components/legal.d.ts +353 -101
- package/dist/components/legal.js +7 -101
- package/dist/components/legal.js.map +1 -1
- package/dist/components/lightbox-labels.d.ts +2 -0
- package/dist/components/lightbox-labels.js +17 -0
- package/dist/components/lightbox-labels.js.map +1 -0
- package/dist/components/lightbox.d.ts +12 -14
- package/dist/components/lightbox.js +9 -19
- package/dist/components/lightbox.js.map +1 -1
- package/dist/components/line-items-labels.d.ts +2 -0
- package/dist/components/line-items-labels.js +13 -0
- package/dist/components/line-items-labels.js.map +1 -0
- package/dist/components/line-items.d.ts +16 -18
- package/dist/components/line-items.js +18 -26
- package/dist/components/line-items.js.map +1 -1
- package/dist/components/list-labels.d.ts +2 -0
- package/dist/components/list-labels.js +9 -0
- package/dist/components/list-labels.js.map +1 -0
- package/dist/components/list.d.ts +32 -21
- package/dist/components/list.js +41 -25
- package/dist/components/list.js.map +1 -1
- package/dist/components/loading-state.d.ts +5 -9
- package/dist/components/loading-state.js +2 -2
- package/dist/components/loading-state.js.map +1 -1
- package/dist/components/measured-grid-labels.d.ts +4 -0
- package/dist/components/measured-grid-labels.js +21 -0
- package/dist/components/measured-grid-labels.js.map +1 -0
- package/dist/components/measured-grid.d.ts +13 -17
- package/dist/components/measured-grid.js +31 -50
- package/dist/components/measured-grid.js.map +1 -1
- package/dist/components/menu-item.d.ts +10 -10
- package/dist/components/menu-item.js +9 -9
- package/dist/components/menu-item.js.map +1 -1
- package/dist/components/mini-calendar-labels.d.ts +4 -0
- package/dist/components/mini-calendar-labels.js +14 -0
- package/dist/components/mini-calendar-labels.js.map +1 -0
- package/dist/components/mini-calendar.d.ts +10 -14
- package/dist/components/mini-calendar.js +22 -29
- package/dist/components/mini-calendar.js.map +1 -1
- package/dist/components/modal.d.ts +34 -18
- package/dist/components/modal.js +13 -13
- package/dist/components/modal.js.map +1 -1
- package/dist/components/money-draft.d.ts +34 -0
- package/dist/components/money-draft.js +39 -0
- package/dist/components/money-draft.js.map +1 -0
- package/dist/components/money-field.d.ts +13 -111
- package/dist/components/money-field.js +6 -22
- package/dist/components/money-field.js.map +1 -1
- package/dist/components/month-picker-labels.d.ts +5 -0
- package/dist/components/month-picker-labels.js +18 -0
- package/dist/components/month-picker-labels.js.map +1 -0
- package/dist/components/month-picker.d.ts +15 -13
- package/dist/components/month-picker.js +34 -32
- package/dist/components/month-picker.js.map +1 -1
- package/dist/components/multi-entity-combobox.d.ts +9 -11
- package/dist/components/multi-entity-combobox.js +14 -13
- package/dist/components/multi-entity-combobox.js.map +1 -1
- package/dist/components/multi-select.d.ts +74 -25
- package/dist/components/multi-select.js +166 -197
- package/dist/components/multi-select.js.map +1 -1
- package/dist/components/nav-pills.d.ts +9 -10
- package/dist/components/nav-pills.js +53 -42
- package/dist/components/nav-pills.js.map +1 -1
- package/dist/components/number-field.d.ts +6 -111
- package/dist/components/number-field.js +2 -3
- package/dist/components/number-field.js.map +1 -1
- package/dist/components/number-input.d.ts +28 -112
- package/dist/components/number-input.js +33 -67
- package/dist/components/number-input.js.map +1 -1
- package/dist/components/numeric-field.d.ts +85 -0
- package/dist/components/numeric-field.js +71 -0
- package/dist/components/numeric-field.js.map +1 -0
- package/dist/components/numpad-sheet.d.ts +5 -108
- package/dist/components/numpad-sheet.js +7 -7
- package/dist/components/numpad-sheet.js.map +1 -1
- package/dist/components/one-time-code-input.d.ts +6 -7
- package/dist/components/one-time-code-input.js +119 -124
- package/dist/components/one-time-code-input.js.map +1 -1
- package/dist/components/page-contents-labels.d.ts +2 -0
- package/dist/components/page-contents-labels.js +8 -0
- package/dist/components/page-contents-labels.js.map +1 -0
- package/dist/components/page-contents.d.ts +13 -15
- package/dist/components/page-contents.js +7 -9
- package/dist/components/page-contents.js.map +1 -1
- package/dist/components/page-header.d.ts +10 -10
- package/dist/components/page-header.js +3 -3
- package/dist/components/page-header.js.map +1 -1
- package/dist/components/password-strength-labels.d.ts +2 -0
- package/dist/components/password-strength-labels.js +21 -0
- package/dist/components/password-strength-labels.js.map +1 -0
- package/dist/components/password-strength.d.ts +15 -17
- package/dist/components/password-strength.js +7 -22
- package/dist/components/password-strength.js.map +1 -1
- package/dist/components/phone-input-labels.d.ts +2 -0
- package/dist/components/phone-input-labels.js +9 -0
- package/dist/components/phone-input-labels.js.map +1 -0
- package/dist/components/phone-input.d.ts +75 -101
- package/dist/components/phone-input.js +20 -23
- package/dist/components/phone-input.js.map +1 -1
- package/dist/components/picker-sheet.d.ts +20 -8
- package/dist/components/picker-sheet.js +22 -11
- package/dist/components/picker-sheet.js.map +1 -1
- package/dist/components/pie-chart-labels.d.ts +2 -4
- package/dist/components/pie-chart.d.ts +8 -11
- package/dist/components/pie-chart.js +5 -5
- package/dist/components/pie-chart.js.map +1 -1
- package/dist/components/popover-labels.d.ts +2 -0
- package/dist/components/popover-labels.js +11 -0
- package/dist/components/popover-labels.js.map +1 -0
- package/dist/components/popover.d.ts +13 -11
- package/dist/components/popover.js +15 -21
- package/dist/components/popover.js.map +1 -1
- package/dist/components/progress-bar-labels.d.ts +2 -0
- package/dist/components/progress-bar-labels.js +9 -0
- package/dist/components/progress-bar-labels.js.map +1 -0
- package/dist/components/progress-bar.d.ts +16 -15
- package/dist/components/progress-bar.js +22 -20
- package/dist/components/progress-bar.js.map +1 -1
- package/dist/components/qr-code.d.ts +4 -8
- package/dist/components/qr-code.js.map +1 -1
- package/dist/components/reauth-dialog-labels.d.ts +2 -0
- package/dist/components/reauth-dialog-labels.js +12 -0
- package/dist/components/reauth-dialog-labels.js.map +1 -0
- package/dist/components/reauth-dialog.d.ts +8 -10
- package/dist/components/reauth-dialog.js +3 -8
- package/dist/components/reauth-dialog.js.map +1 -1
- package/dist/components/row-actions-labels.d.ts +2 -0
- package/dist/components/row-actions-labels.js +9 -0
- package/dist/components/row-actions-labels.js.map +1 -0
- package/dist/components/row-actions.d.ts +224 -101
- package/dist/components/row-actions.js +4 -5
- package/dist/components/row-actions.js.map +1 -1
- package/dist/components/scroll-area.d.ts +6 -9
- package/dist/components/scroll-area.js +4 -10
- package/dist/components/scroll-area.js.map +1 -1
- package/dist/components/search-field.d.ts +12 -27
- package/dist/components/search-field.js +13 -16
- package/dist/components/search-field.js.map +1 -1
- package/dist/components/select.d.ts +69 -0
- package/dist/components/select.js +164 -0
- package/dist/components/select.js.map +1 -0
- package/dist/components/separator.d.ts +3 -7
- package/dist/components/separator.js.map +1 -1
- package/dist/components/series-chart-axes.d.ts +120 -0
- package/dist/components/series-chart-axes.js +164 -0
- package/dist/components/series-chart-axes.js.map +1 -0
- package/dist/components/series-chart-budget.d.ts +8 -9
- package/dist/components/series-chart-labels.d.ts +2 -4
- package/dist/components/series-chart-thin.d.ts +34 -0
- package/dist/components/series-chart-thin.js +103 -0
- package/dist/components/series-chart-thin.js.map +1 -0
- package/dist/components/series-chart-ticks.d.ts +9 -11
- package/dist/components/series-chart.d.ts +64 -214
- package/dist/components/series-chart.js +69 -160
- package/dist/components/series-chart.js.map +1 -1
- package/dist/components/server-wake-labels.d.ts +2 -0
- package/dist/components/server-wake-labels.js +9 -0
- package/dist/components/server-wake-labels.js.map +1 -0
- package/dist/components/server-wake.d.ts +29 -26
- package/dist/components/server-wake.js +15 -35
- package/dist/components/server-wake.js.map +1 -1
- package/dist/components/settings-fields.d.ts +50 -120
- package/dist/components/settings-fields.js +13 -3
- package/dist/components/settings-fields.js.map +1 -1
- package/dist/components/share-card-labels.d.ts +2 -0
- package/dist/components/share-card-labels.js +29 -0
- package/dist/components/share-card-labels.js.map +1 -0
- package/dist/components/share-card.d.ts +188 -101
- package/dist/components/share-card.js +16 -34
- package/dist/components/share-card.js.map +1 -1
- package/dist/components/sign-chip-labels.d.ts +2 -0
- package/dist/components/sign-chip-labels.js +11 -0
- package/dist/components/sign-chip-labels.js.map +1 -0
- package/dist/components/sign-chip.d.ts +7 -9
- package/dist/components/sign-chip.js +2 -7
- package/dist/components/sign-chip.js.map +1 -1
- package/dist/components/signature-pad-labels.d.ts +2 -0
- package/dist/components/signature-pad-labels.js +23 -0
- package/dist/components/signature-pad-labels.js.map +1 -0
- package/dist/components/signature-pad.d.ts +16 -15
- package/dist/components/signature-pad.js +22 -35
- package/dist/components/signature-pad.js.map +1 -1
- package/dist/components/signed-amount-labels.d.ts +2 -0
- package/dist/components/signed-amount-labels.js +9 -0
- package/dist/components/signed-amount-labels.js.map +1 -0
- package/dist/components/signed-amount.d.ts +19 -21
- package/dist/components/signed-amount.js +12 -15
- package/dist/components/signed-amount.js.map +1 -1
- package/dist/components/skeleton.d.ts +5 -9
- package/dist/components/skeleton.js +1 -1
- package/dist/components/skeleton.js.map +1 -1
- package/dist/components/slider.d.ts +16 -11
- package/dist/components/slider.js +23 -18
- package/dist/components/slider.js.map +1 -1
- package/dist/components/sparkline-labels.d.ts +2 -0
- package/dist/components/sparkline-labels.js +13 -0
- package/dist/components/sparkline-labels.js.map +1 -0
- package/dist/components/sparkline.d.ts +10 -12
- package/dist/components/sparkline.js +10 -17
- package/dist/components/sparkline.js.map +1 -1
- package/dist/components/spinner.d.ts +45 -0
- package/dist/components/spinner.js +39 -0
- package/dist/components/spinner.js.map +1 -0
- package/dist/components/stat-tile-labels.d.ts +2 -0
- package/dist/components/stat-tile-labels.js +14 -0
- package/dist/components/stat-tile-labels.js.map +1 -0
- package/dist/components/stat-tile.d.ts +21 -17
- package/dist/components/stat-tile.js +25 -32
- package/dist/components/stat-tile.js.map +1 -1
- package/dist/components/status-dot.d.ts +8 -20
- package/dist/components/status-dot.js +13 -12
- package/dist/components/status-dot.js.map +1 -1
- package/dist/components/swatch-picker-labels.d.ts +2 -0
- package/dist/components/swatch-picker-labels.js +9 -0
- package/dist/components/swatch-picker-labels.js.map +1 -0
- package/dist/components/swatch-picker.d.ts +14 -14
- package/dist/components/swatch-picker.js +14 -8
- package/dist/components/swatch-picker.js.map +1 -1
- package/dist/components/swipeable-row.d.ts +11 -39
- package/dist/components/swipeable-row.js +13 -18
- package/dist/components/swipeable-row.js.map +1 -1
- package/dist/components/switch.d.ts +10 -13
- package/dist/components/switch.js +13 -12
- package/dist/components/switch.js.map +1 -1
- package/dist/components/table.d.ts +28 -31
- package/dist/components/table.js +15 -15
- package/dist/components/table.js.map +1 -1
- package/dist/components/tabs.d.ts +182 -0
- package/dist/components/tabs.js +312 -0
- package/dist/components/tabs.js.map +1 -0
- package/dist/components/text-link.d.ts +17 -119
- package/dist/components/text-link.js +7 -7
- package/dist/components/text-link.js.map +1 -1
- package/dist/components/text.d.ts +14 -13
- package/dist/components/text.js +5 -5
- package/dist/components/text.js.map +1 -1
- package/dist/components/textarea.d.ts +20 -0
- package/dist/components/textarea.js +161 -0
- package/dist/components/textarea.js.map +1 -0
- package/dist/components/tile-radio.d.ts +6 -10
- package/dist/components/tile-radio.js +6 -6
- package/dist/components/tile-radio.js.map +1 -1
- package/dist/components/time-input.d.ts +5 -108
- package/dist/components/time-input.js +14 -5
- package/dist/components/time-input.js.map +1 -1
- package/dist/components/toast-labels.d.ts +2 -0
- package/dist/components/toast-labels.js +11 -0
- package/dist/components/toast-labels.js.map +1 -0
- package/dist/components/toast.d.ts +21 -23
- package/dist/components/toast.js +1 -6
- package/dist/components/toast.js.map +1 -1
- package/dist/components/toggle-group.d.ts +26 -26
- package/dist/components/toggle-group.js +43 -19
- package/dist/components/toggle-group.js.map +1 -1
- package/dist/components/toggle-legend.d.ts +18 -21
- package/dist/components/toggle-legend.js +3 -3
- package/dist/components/toggle-legend.js.map +1 -1
- package/dist/components/tooltip.d.ts +24 -15
- package/dist/components/tooltip.js +24 -14
- package/dist/components/tooltip.js.map +1 -1
- package/dist/components/translation-review-editor.d.ts +8 -10
- package/dist/components/translation-review-editor.js +6 -5
- package/dist/components/translation-review-editor.js.map +1 -1
- package/dist/components/translation-review-labels.d.ts +4 -7
- package/dist/components/translation-review-parts.d.ts +19 -28
- package/dist/components/translation-review-parts.js +4 -7
- package/dist/components/translation-review-parts.js.map +1 -1
- package/dist/components/translation-review.d.ts +35 -25
- package/dist/components/translation-review.js +24 -13
- package/dist/components/translation-review.js.map +1 -1
- package/dist/components/tree-view.d.ts +7 -11
- package/dist/components/tree-view.js +8 -8
- package/dist/components/tree-view.js.map +1 -1
- package/dist/components/treemap.d.ts +9 -13
- package/dist/components/trigger-aria.d.ts +2 -4
- package/dist/components/ui-labels.d.ts +5 -0
- package/dist/components/ui-labels.js +20 -0
- package/dist/components/ui-labels.js.map +1 -0
- package/dist/components/use-anchor-dir.d.ts +3 -6
- package/dist/components/use-mobile-reveal.d.ts +2 -6
- package/dist/components/use-table-state.d.ts +182 -15
- package/dist/components/use-table-state.js +53 -8
- package/dist/components/use-table-state.js.map +1 -1
- package/dist/components/user-avatar.d.ts +10 -23
- package/dist/components/user-avatar.js +1 -1
- package/dist/components/user-avatar.js.map +1 -1
- package/dist/components/wizard-stepper.d.ts +4 -7
- package/dist/components/wizard-stepper.js +3 -3
- package/dist/components/wizard-stepper.js.map +1 -1
- package/dist/components/write-lock-labels.d.ts +2 -0
- package/dist/components/write-lock-labels.js +8 -0
- package/dist/components/write-lock-labels.js.map +1 -0
- package/dist/components/write-lock.d.ts +16 -18
- package/dist/components/write-lock.js +4 -8
- package/dist/components/write-lock.js.map +1 -1
- package/dist/currencies.d.ts +23 -0
- package/dist/currencies.js +38 -0
- package/dist/currencies.js.map +1 -0
- package/dist/data-table.d.ts +10 -18
- package/dist/data-table.js.map +1 -1
- package/dist/demo/demo-banner.d.ts +15 -13
- package/dist/demo/demo-banner.js +5 -19
- package/dist/demo/demo-banner.js.map +1 -1
- package/dist/demo/demo-countdown.d.ts +7 -9
- package/dist/demo/demo-ended.d.ts +10 -13
- package/dist/demo/demo-ended.js +4 -4
- package/dist/demo/demo-ended.js.map +1 -1
- package/dist/demo/demo-labels.d.ts +4 -5
- package/dist/demo/demo-labels.js.map +1 -1
- package/dist/demo/demo-session.d.ts +3 -5
- package/dist/demo/demo-start.d.ts +8 -11
- package/dist/demo/demo-start.js +3 -2
- package/dist/demo/demo-start.js.map +1 -1
- package/dist/eslint/index.d.ts +83 -0
- package/dist/eslint/index.js +69 -0
- package/dist/eslint/index.js.map +1 -0
- package/dist/eslint/role-utilities.d.ts +48 -0
- package/dist/eslint/role-utilities.generated.d.ts +2 -0
- package/dist/eslint/role-utilities.generated.js +143 -0
- package/dist/eslint/role-utilities.generated.js.map +1 -0
- package/dist/eslint/role-utilities.js +43 -0
- package/dist/eslint/role-utilities.js.map +1 -0
- package/dist/feedback/feedback-attachment-labels.d.ts +16 -0
- package/dist/feedback/feedback-attachment-labels.js +17 -0
- package/dist/feedback/feedback-attachment-labels.js.map +1 -0
- package/dist/feedback/feedback-attachment.d.ts +312 -101
- package/dist/feedback/feedback-attachment.js +31 -42
- package/dist/feedback/feedback-attachment.js.map +1 -1
- package/dist/feedback/feedback-capture.d.ts +2 -4
- package/dist/feedback/feedback-context-labels.d.ts +2 -0
- package/dist/feedback/feedback-context-labels.js +9 -0
- package/dist/feedback/feedback-context-labels.js.map +1 -0
- package/dist/feedback/feedback-context.d.ts +110 -101
- package/dist/feedback/feedback-context.js +4 -7
- package/dist/feedback/feedback-context.js.map +1 -1
- package/dist/feedback/feedback-crash.d.ts +8 -110
- package/dist/feedback/feedback-dialog-labels.d.ts +12 -0
- package/dist/feedback/feedback-dialog-labels.js +17 -0
- package/dist/feedback/feedback-dialog-labels.js.map +1 -0
- package/dist/feedback/feedback-dialog.d.ts +186 -101
- package/dist/feedback/feedback-dialog.js +8 -18
- package/dist/feedback/feedback-dialog.js.map +1 -1
- package/dist/feedback/feedback-inbox.d.ts +236 -101
- package/dist/feedback/feedback-inbox.js +31 -141
- package/dist/feedback/feedback-inbox.js.map +1 -1
- package/dist/feedback/feedback-labels.d.ts +83 -101
- package/dist/feedback/feedback-labels.js.map +1 -1
- package/dist/feedback/feedback-menu-labels.d.ts +2 -0
- package/dist/feedback/feedback-menu-labels.js +10 -0
- package/dist/feedback/feedback-menu-labels.js.map +1 -0
- package/dist/feedback/feedback-menu.d.ts +83 -101
- package/dist/feedback/feedback-menu.js +3 -7
- package/dist/feedback/feedback-menu.js.map +1 -1
- package/dist/feedback/feedback-record.d.ts +239 -101
- package/dist/feedback/feedback-record.js +7 -2
- package/dist/feedback/feedback-record.js.map +1 -1
- package/dist/feedback/feedback-row-detail-labels.d.ts +2 -0
- package/dist/feedback/feedback-row-detail-labels.js +31 -0
- package/dist/feedback/feedback-row-detail-labels.js.map +1 -0
- package/dist/feedback/feedback-row-detail.d.ts +315 -101
- package/dist/feedback/feedback-row-detail.js +11 -37
- package/dist/feedback/feedback-row-detail.js.map +1 -1
- package/dist/feedback/feedback-status-undo.d.ts +66 -101
- package/dist/feedback/feedback-status-undo.js.map +1 -1
- package/dist/feedback/feedback-submit-dialog.d.ts +39 -0
- package/dist/feedback/feedback-submit-dialog.js +66 -0
- package/dist/feedback/feedback-submit-dialog.js.map +1 -0
- package/dist/feedback/feedback-submit.d.ts +13 -109
- package/dist/feedback/feedback-submit.js +19 -40
- package/dist/feedback/feedback-submit.js.map +1 -1
- package/dist/feedback/feedback-swipe.d.ts +9 -110
- package/dist/feedback/feedback-swipe.js +1 -1
- package/dist/feedback/feedback-swipe.js.map +1 -1
- package/dist/feedback/feedback-table-labels.d.ts +2 -0
- package/dist/feedback/feedback-table-labels.js +26 -0
- package/dist/feedback/feedback-table-labels.js.map +1 -0
- package/dist/feedback/feedback-table.d.ts +314 -101
- package/dist/feedback/feedback-table.js +11 -31
- package/dist/feedback/feedback-table.js.map +1 -1
- package/dist/feedback/feedback-thread-labels.d.ts +3 -0
- package/dist/feedback/feedback-thread-labels.js +21 -0
- package/dist/feedback/feedback-thread-labels.js.map +1 -0
- package/dist/feedback/feedback-thread.d.ts +373 -101
- package/dist/feedback/feedback-thread.js +26 -35
- package/dist/feedback/feedback-thread.js.map +1 -1
- package/dist/feedback/feedback-vocabulary.d.ts +98 -0
- package/dist/feedback/feedback-vocabulary.js +143 -0
- package/dist/feedback/feedback-vocabulary.js.map +1 -0
- package/dist/feedback.d.ts +15 -105
- package/dist/hooks/use-anchored-panel.d.ts +77 -15
- package/dist/hooks/use-anchored-panel.js +34 -1
- package/dist/hooks/use-anchored-panel.js.map +1 -1
- package/dist/hooks/use-anchored-rect.d.ts +15 -6
- package/dist/hooks/use-anchored-rect.js +2 -1
- package/dist/hooks/use-anchored-rect.js.map +1 -1
- package/dist/hooks/use-announce.d.ts +4 -6
- package/dist/hooks/use-authed-src.d.ts +5 -7
- package/dist/hooks/use-authed-src.js +3 -7
- package/dist/hooks/use-authed-src.js.map +1 -1
- package/dist/hooks/use-body-scroll-lock.d.ts +1 -3
- package/dist/hooks/use-breakpoint.d.ts +16 -17
- package/dist/hooks/use-breakpoint.js.map +1 -1
- package/dist/hooks/use-close-transition.d.ts +8 -8
- package/dist/hooks/use-close-transition.js +5 -4
- package/dist/hooks/use-close-transition.js.map +1 -1
- package/dist/hooks/use-copy-to-clipboard.d.ts +5 -7
- package/dist/hooks/use-debounce.d.ts +13 -6
- package/dist/hooks/use-debounce.js.map +1 -1
- package/dist/hooks/use-dismiss.d.ts +50 -11
- package/dist/hooks/use-dismiss.js +80 -9
- package/dist/hooks/use-dismiss.js.map +1 -1
- package/dist/hooks/use-file-drop.d.ts +8 -110
- package/dist/hooks/use-file-drop.js +1 -1
- package/dist/hooks/use-file-drop.js.map +1 -1
- package/dist/hooks/use-file-picker-labels.d.ts +2 -0
- package/dist/hooks/use-file-picker-labels.js +25 -0
- package/dist/hooks/use-file-picker-labels.js.map +1 -0
- package/dist/hooks/use-file-picker.d.ts +164 -0
- package/dist/hooks/use-file-picker.js +149 -0
- package/dist/hooks/use-file-picker.js.map +1 -0
- package/dist/hooks/use-focus-trap.d.ts +2 -4
- package/dist/hooks/use-focus-trap.js +2 -1
- package/dist/hooks/use-focus-trap.js.map +1 -1
- package/dist/hooks/use-hotkey.d.ts +7 -9
- package/dist/hooks/use-large-text.d.ts +3 -5
- package/dist/hooks/use-media-query.d.ts +1 -3
- package/dist/hooks/use-noindex.d.ts +1 -3
- package/dist/hooks/use-overlay-history.d.ts +1 -3
- package/dist/hooks/use-row-swipe.d.ts +5 -8
- package/dist/hooks/use-search-param-state.d.ts +10 -11
- package/dist/hooks/use-windowed-rows.d.ts +4 -7
- package/dist/i18n/defaults.d.ts +11 -105
- package/dist/i18n/defaults.js +82 -82
- package/dist/i18n/defaults.js.map +1 -1
- package/dist/i18n/german.d.ts +2 -105
- package/dist/i18n/german.js +52 -8
- package/dist/i18n/german.js.map +1 -1
- package/dist/i18n/kit-labels.d.ts +619 -101
- package/dist/i18n/kit-labels.js +22 -97
- package/dist/i18n/kit-labels.js.map +1 -1
- package/dist/i18n/languages.d.ts +197 -101
- package/dist/i18n/locales/de-CH.d.ts +3 -106
- package/dist/i18n/locales/en.d.ts +4 -105
- package/dist/i18n/locales/en.js +1834 -4
- package/dist/i18n/locales/en.js.map +7 -1
- package/dist/i18n/locales/es.d.ts +3 -106
- package/dist/i18n/locales/es.js +52 -8
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.d.ts +3 -106
- package/dist/i18n/locales/fr.js +56 -10
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hu.d.ts +3 -106
- package/dist/i18n/locales/hu.js +52 -8
- package/dist/i18n/locales/hu.js.map +1 -1
- package/dist/i18n/locales/it.d.ts +3 -106
- package/dist/i18n/locales/it.js +56 -10
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/zh.d.ts +3 -106
- package/dist/i18n/locales/zh.js +51 -8
- package/dist/i18n/locales/zh.js.map +1 -1
- package/dist/i18n/plurals.d.ts +3 -5
- package/dist/i18n/review.d.ts +5 -107
- package/dist/i18n/review.js +4 -0
- package/dist/i18n/review.js.map +1 -1
- package/dist/i18n/shared-labels.d.ts +17 -0
- package/dist/i18n/shared-labels.js +111 -0
- package/dist/i18n/shared-labels.js.map +1 -0
- package/dist/i18n/swiss.d.ts +1 -3
- package/dist/index.d.ts +330 -249
- package/dist/index.js +188 -215
- package/dist/index.js.map +1 -1
- package/dist/landing/access.d.ts +7 -9
- package/dist/landing/access.js.map +1 -1
- package/dist/landing/landing-actions.d.ts +9 -109
- package/dist/landing/landing-actions.js +1 -1
- package/dist/landing/landing-actions.js.map +1 -1
- package/dist/landing/landing-labels.d.ts +4 -5
- package/dist/landing/landing-labels.js.map +1 -1
- package/dist/landing/landing-sections.d.ts +21 -121
- package/dist/landing/landing-sections.js +15 -15
- package/dist/landing/landing-sections.js.map +1 -1
- package/dist/landing/page-seo.d.ts +7 -9
- package/dist/landing/public-header.d.ts +10 -111
- package/dist/landing/public-header.js +1 -1
- package/dist/landing/public-header.js.map +1 -1
- package/dist/landing/routing.d.ts +16 -120
- package/dist/landing/routing.js +2 -6
- package/dist/landing/routing.js.map +1 -1
- package/dist/lib/calc.d.ts +7 -9
- package/dist/lib/chip-edge-snap.d.ts +10 -0
- package/dist/lib/chip-edge-snap.js +131 -0
- package/dist/lib/chip-edge-snap.js.map +1 -0
- package/dist/lib/clipping.d.ts +2 -4
- package/dist/lib/cn.d.ts +2 -5
- package/dist/lib/cn.js +6 -1
- package/dist/lib/cn.js.map +1 -1
- package/dist/lib/column-mapping.d.ts +10 -13
- package/dist/lib/countries.d.ts +3 -5
- package/dist/lib/dates.d.ts +25 -25
- package/dist/lib/dates.js.map +1 -1
- package/dist/lib/decimal-marks.d.ts +8 -8
- package/dist/lib/decimal-marks.js +1 -1
- package/dist/lib/decimal-marks.js.map +1 -1
- package/dist/lib/direction.d.ts +4 -6
- package/dist/lib/document-navigation.d.ts +1 -3
- package/dist/lib/download.d.ts +67 -0
- package/dist/lib/download.js +89 -0
- package/dist/lib/download.js.map +1 -0
- package/dist/lib/floating-stack.d.ts +8 -6
- package/dist/lib/floating-stack.js.map +1 -1
- package/dist/lib/format.d.ts +24 -23
- package/dist/lib/format.js +3 -3
- package/dist/lib/format.js.map +1 -1
- package/dist/lib/iban.d.ts +9 -11
- package/dist/lib/ime.d.ts +17 -0
- package/dist/lib/ime.js +13 -0
- package/dist/lib/ime.js.map +1 -0
- package/dist/lib/isin.d.ts +3 -5
- package/dist/lib/logger.d.ts +4 -6
- package/dist/lib/person-name.d.ts +3 -5
- package/dist/lib/phone.d.ts +9 -11
- package/dist/lib/presence.d.ts +15 -0
- package/dist/lib/presence.js +8 -0
- package/dist/lib/presence.js.map +1 -0
- package/dist/lib/qr-encode.d.ts +4 -6
- package/dist/lib/reduced-motion.d.ts +18 -0
- package/dist/lib/reduced-motion.js +9 -0
- package/dist/lib/reduced-motion.js.map +1 -0
- package/dist/lib/refs.d.ts +13 -0
- package/dist/lib/refs.js +15 -0
- package/dist/lib/refs.js.map +1 -0
- package/dist/lib/round.d.ts +22 -0
- package/dist/lib/round.js +15 -0
- package/dist/lib/round.js.map +1 -0
- package/dist/lib/safe-storage.d.ts +14 -4
- package/dist/lib/safe-storage.js +24 -9
- package/dist/lib/safe-storage.js.map +1 -1
- package/dist/lib/server-wake.d.ts +13 -14
- package/dist/lib/session-refresh.d.ts +200 -0
- package/dist/lib/session-refresh.js +187 -0
- package/dist/lib/session-refresh.js.map +1 -0
- package/dist/lib/strip-fade.d.ts +10 -13
- package/dist/lib/table-text.d.ts +14 -16
- package/dist/lib/text-match.d.ts +41 -0
- package/dist/lib/text-match.js +23 -0
- package/dist/lib/text-match.js.map +1 -0
- package/dist/lib/translation-review.d.ts +44 -45
- package/dist/lib/translation-review.js +3 -2
- package/dist/lib/translation-review.js.map +1 -1
- package/dist/rhf/fields.d.ts +131 -197
- package/dist/rhf/fields.js +46 -54
- package/dist/rhf/fields.js.map +1 -1
- package/dist/rhf/form-core.d.ts +154 -0
- package/dist/rhf/form-core.js +143 -0
- package/dist/rhf/form-core.js.map +1 -0
- package/dist/rhf/form.d.ts +9 -175
- package/dist/rhf/form.js +2 -139
- package/dist/rhf/form.js.map +1 -1
- package/dist/rhf/line-items.d.ts +40 -11
- package/dist/rhf/line-items.js.map +1 -1
- package/dist/rhf/use-rhf-wizard-step.d.ts +3 -6
- package/dist/rhf/use-rhf-wizard-step.js.map +1 -1
- package/dist/rhf.d.ts +4 -118
- package/dist/rhf.js.map +1 -1
- package/dist/search/command-palette-labels.d.ts +2 -0
- package/dist/search/command-palette-labels.js +15 -0
- package/dist/search/command-palette-labels.js.map +1 -0
- package/dist/search/command-palette.d.ts +10 -13
- package/dist/search/command-palette.js +25 -44
- package/dist/search/command-palette.js.map +1 -1
- package/dist/search/global-search-labels.d.ts +2 -0
- package/dist/search/global-search-labels.js +12 -0
- package/dist/search/global-search-labels.js.map +1 -0
- package/dist/search/global-search.d.ts +17 -16
- package/dist/search/global-search.js +12 -12
- package/dist/search/global-search.js.map +1 -1
- package/dist/search/search-index.d.ts +13 -14
- package/dist/search/search-index.js +2 -1
- package/dist/search/search-index.js.map +1 -1
- package/dist/search/use-command-key.d.ts +9 -0
- package/dist/search/use-command-key.js +18 -0
- package/dist/search/use-command-key.js.map +1 -0
- package/dist/search.d.ts +3 -4
- package/dist/settings/settings-card-classes.d.ts +11 -0
- package/dist/settings/settings-card-classes.js +8 -0
- package/dist/settings/settings-card-classes.js.map +1 -0
- package/dist/settings/settings-catalogue.d.ts +11 -14
- package/dist/settings/settings-context.d.ts +4 -8
- package/dist/settings/settings-heading.d.ts +8 -12
- package/dist/settings/settings-heading.js +1 -1
- package/dist/settings/settings-heading.js.map +1 -1
- package/dist/settings/settings-labels.d.ts +6 -7
- package/dist/settings/settings-labels.js.map +1 -1
- package/dist/settings/settings-layout.d.ts +36 -13
- package/dist/settings/settings-layout.js +25 -4
- package/dist/settings/settings-layout.js.map +1 -1
- package/dist/settings/settings-section.d.ts +4 -107
- package/dist/settings/settings-section.js +2 -2
- package/dist/settings/settings-section.js.map +1 -1
- package/dist/settings/use-account-appearance.d.ts +11 -16
- package/dist/settings/use-account-language.d.ts +8 -10
- package/dist/settings/use-settings-focus.d.ts +3 -5
- package/dist/settings/use-settings-focus.js +2 -4
- package/dist/settings/use-settings-focus.js.map +1 -1
- package/dist/settings/use-settings-route.d.ts +11 -16
- package/dist/shell/app-shell-labels.d.ts +2 -0
- package/dist/shell/app-shell-labels.js +9 -0
- package/dist/shell/app-shell-labels.js.map +1 -0
- package/dist/shell/app-shell.d.ts +216 -101
- package/dist/shell/app-shell.js +51 -35
- package/dist/shell/app-shell.js.map +1 -1
- package/dist/shell/auth-layout.d.ts +6 -9
- package/dist/shell/auth-layout.js +6 -6
- package/dist/shell/auth-layout.js.map +1 -1
- package/dist/shell/company-switcher-labels.d.ts +2 -0
- package/dist/shell/company-switcher-labels.js +12 -0
- package/dist/shell/company-switcher-labels.js.map +1 -0
- package/dist/shell/company-switcher.d.ts +9 -11
- package/dist/shell/company-switcher.js +3 -9
- package/dist/shell/company-switcher.js.map +1 -1
- package/dist/shell/option-switcher-menu.d.ts +7 -9
- package/dist/shell/option-switcher-menu.js +4 -4
- package/dist/shell/option-switcher-menu.js.map +1 -1
- package/dist/shell/role-switcher.d.ts +3 -7
- package/dist/shell/role-switcher.js +3 -3
- package/dist/shell/role-switcher.js.map +1 -1
- package/dist/shell/top-bar-brand.d.ts +4 -107
- package/dist/shell/top-bar-brand.js +1 -1
- package/dist/shell/top-bar-brand.js.map +1 -1
- package/dist/shell/top-bar.d.ts +6 -9
- package/dist/shell/top-bar.js +1 -1
- package/dist/shell/top-bar.js.map +1 -1
- package/dist/shell/topbar-action-menu.d.ts +18 -31
- package/dist/shell/topbar-action-menu.js +10 -10
- package/dist/shell/topbar-action-menu.js.map +1 -1
- package/dist/shell/topbar-controls.d.ts +14 -21
- package/dist/shell/topbar-controls.js +11 -11
- package/dist/shell/topbar-controls.js.map +1 -1
- package/dist/shell.d.ts +25 -116
- package/dist/shell.js.map +1 -1
- package/dist/table-text.d.ts +1 -1
- package/dist/testing/css-variables.d.ts +4 -6
- package/dist/testing/css-variables.generated.d.ts +2 -4
- package/dist/testing/index.d.ts +2 -1
- package/dist/testing/index.js +11 -1
- package/dist/testing/index.js.map +1 -1
- package/dist/testing/viewport.d.ts +116 -0
- package/dist/testing/viewport.js +203 -0
- package/dist/testing/viewport.js.map +1 -0
- package/dist/theme/chart-palette.d.ts +7 -9
- package/dist/theme/color.d.ts +14 -16
- package/dist/theme/color.js +2 -1
- package/dist/theme/color.js.map +1 -1
- package/dist/theme/contrast-tokens.d.ts +13 -17
- package/dist/theme/contrast.d.ts +22 -27
- package/dist/theme/palette-derive.d.ts +16 -22
- package/dist/theme/palette-derive.js +15 -7
- package/dist/theme/palette-derive.js.map +1 -1
- package/dist/theme/palette-presets.d.ts +18 -15
- package/dist/theme/palette-presets.js +66 -345
- package/dist/theme/palette-presets.js.map +1 -1
- package/dist/theme/palette-store.d.ts +10 -13
- package/dist/theme/text-size.d.ts +21 -26
- package/dist/theme/theme-store.d.ts +9 -14
- package/dist/tour/tour-labels.d.ts +2 -0
- package/dist/tour/tour-labels.js +13 -0
- package/dist/tour/tour-labels.js.map +1 -0
- package/dist/tour/tour.d.ts +12 -14
- package/dist/tour/tour.js +9 -20
- package/dist/tour/tour.js.map +1 -1
- package/dist/tour.d.ts +1 -2
- package/dist/wizard/stepper-nav.d.ts +8 -108
- package/dist/wizard/stepper-nav.js +15 -14
- package/dist/wizard/stepper-nav.js.map +1 -1
- package/dist/wizard/types.d.ts +13 -18
- package/dist/wizard/types.js +2 -24
- package/dist/wizard/types.js.map +1 -1
- package/dist/wizard/use-wizard.d.ts +2 -6
- package/dist/wizard/validation.d.ts +3 -7
- package/dist/wizard/wizard-context.d.ts +7 -11
- package/dist/wizard/wizard-labels.d.ts +4 -0
- package/dist/wizard/wizard-labels.js +24 -0
- package/dist/wizard/wizard-labels.js.map +1 -0
- package/dist/wizard/wizard-step.d.ts +3 -7
- package/dist/wizard/wizard-step.js +2 -2
- package/dist/wizard/wizard-step.js.map +1 -1
- package/dist/wizard/wizard-summary.d.ts +5 -8
- package/dist/wizard/wizard-summary.js +6 -5
- package/dist/wizard/wizard-summary.js.map +1 -1
- package/dist/wizard.d.ts +7 -107
- package/package.json +17 -6
- package/src/account/account-parts.ts +3 -3
- package/src/{components → account}/account-settings-labels.ts +11 -1
- package/src/{components → account}/account-settings.tsx +145 -34
- package/src/account/data-export-setting-labels.ts +20 -0
- package/src/account/data-export-setting.tsx +19 -38
- package/src/account/delete-account-setting-labels.ts +33 -0
- package/src/account/delete-account-setting.tsx +13 -35
- package/src/account/email-change-setting-labels.ts +32 -0
- package/src/account/email-change-setting.tsx +17 -36
- package/src/{components → account}/passkeys-setting.tsx +14 -9
- package/src/account/sessions-setting-labels.ts +24 -0
- package/src/account/sessions-setting.tsx +14 -28
- package/src/admin/admin-action-confirm-labels.ts +19 -0
- package/src/admin/admin-action-confirm.tsx +59 -38
- package/src/admin/admin-action-log-labels.ts +74 -0
- package/src/admin/admin-action-log.tsx +180 -54
- package/src/admin/admin-parts.ts +0 -7
- package/src/admin/invitations-panel-labels.ts +31 -0
- package/src/admin/invitations-panel.tsx +16 -34
- package/src/admin/plan-change-labels.ts +23 -0
- package/src/admin/plan-change.tsx +58 -34
- package/src/admin/reviewer-scope-editor-labels.ts +16 -0
- package/src/admin/reviewer-scope-editor.tsx +9 -15
- package/src/admin/role-select-labels.ts +16 -0
- package/src/admin/role-select.tsx +13 -23
- package/src/admin/transfer-ownership-dialog-labels.ts +20 -0
- package/src/admin/transfer-ownership-dialog.tsx +7 -17
- package/src/admin/user-roster-labels.ts +17 -0
- package/src/admin/user-roster.tsx +9 -17
- package/src/auth/accept-invitation-labels.ts +21 -0
- package/src/auth/accept-invitation.tsx +9 -20
- package/src/auth/auth-errors.ts +29 -13
- package/src/auth/complete-name-dialog-labels.ts +16 -0
- package/src/auth/complete-name-dialog.tsx +8 -13
- package/src/auth/forgot-password-form-labels.ts +20 -0
- package/src/auth/forgot-password-form.tsx +12 -20
- package/src/auth/new-password-fields.tsx +1 -1
- package/src/auth/not-found-page-labels.ts +12 -0
- package/src/auth/not-found-page.tsx +11 -14
- package/src/auth/register-form-labels.ts +31 -0
- package/src/auth/register-form.tsx +18 -38
- package/src/auth/reset-password-form-labels.ts +27 -0
- package/src/auth/reset-password-form.tsx +12 -27
- package/src/auth/sign-in-form-labels.ts +44 -0
- package/src/auth/sign-in-form.tsx +18 -51
- package/src/auth/status-parts.tsx +3 -3
- package/src/auth/verify-email-labels.ts +26 -0
- package/src/auth/verify-email.tsx +15 -30
- package/src/billing/billing-banner.tsx +7 -3
- package/src/billing/billing-labels.ts +1 -1
- package/src/billing/checkout-processing.ts +2 -12
- package/src/billing/plan-card.tsx +26 -27
- package/src/billing/plan-limit-notice.tsx +6 -3
- package/src/billing/subscription-actions.tsx +4 -4
- package/src/chart.ts +9 -1
- package/src/components/account-chips-labels.ts +16 -0
- package/src/components/account-chips.tsx +13 -16
- package/src/components/alert-banner.tsx +39 -19
- package/src/components/amount-input.tsx +458 -406
- package/src/components/appearance-labels.ts +2 -2
- package/src/components/authed-image-labels.ts +11 -0
- package/src/components/authed-image.tsx +6 -8
- package/src/components/autocomplete.tsx +79 -78
- package/src/components/breadcrumbs-labels.ts +10 -0
- package/src/components/breadcrumbs.tsx +17 -14
- package/src/components/bulk-action-bar-labels.ts +11 -0
- package/src/components/bulk-action-bar.tsx +15 -16
- package/src/components/button-group.tsx +7 -7
- package/src/components/button-look.ts +230 -0
- package/src/components/button.tsx +339 -0
- package/src/components/calculator.tsx +14 -12
- package/src/components/calendar-heatmap-labels.ts +15 -0
- package/src/components/calendar-heatmap.tsx +13 -19
- package/src/components/card.tsx +381 -0
- package/src/components/chart-zoom-core.tsx +653 -0
- package/src/components/chart-zoom.tsx +21 -648
- package/src/components/chart.tsx +11 -11
- package/src/components/checkbox-group.tsx +13 -10
- package/src/components/checkbox.tsx +43 -42
- package/src/components/chip-input.tsx +370 -0
- package/src/components/chip-labels.ts +13 -0
- package/src/components/chip.tsx +115 -711
- package/src/components/choice-card.tsx +83 -85
- package/src/components/column-mapper-labels.ts +45 -0
- package/src/components/column-mapper.tsx +16 -51
- package/src/components/combobox-core.tsx +346 -194
- package/src/components/combobox-suggestions.tsx +129 -0
- package/src/components/combobox.tsx +70 -896
- package/src/components/confirm-dialog-labels.ts +13 -0
- package/src/components/confirm-dialog.tsx +4 -8
- package/src/components/copy-button-labels.ts +13 -0
- package/src/components/copy-button.tsx +15 -13
- package/src/components/country-select-labels.ts +11 -0
- package/src/components/country-select.tsx +74 -89
- package/src/components/currency-option-list.tsx +182 -0
- package/src/components/currency-select.tsx +85 -196
- package/src/components/danger-confirm-labels.ts +20 -0
- package/src/components/danger-confirm.tsx +72 -80
- package/src/components/data-table-cells.tsx +5 -5
- package/src/components/data-table-column-settings.tsx +137 -0
- package/src/components/data-table-filter-popover.tsx +51 -25
- package/src/components/data-table-filters.ts +48 -11
- package/src/components/data-table-head.tsx +258 -0
- package/src/components/data-table-labels.ts +21 -71
- package/src/components/data-table-mobile.tsx +594 -0
- package/src/components/data-table-pagination.tsx +11 -10
- package/src/components/data-table-resize.ts +187 -0
- package/src/components/data-table-row-actions.tsx +152 -0
- package/src/components/data-table-selection.ts +55 -0
- package/src/components/data-table-shared.tsx +225 -0
- package/src/components/data-table.tsx +205 -1315
- package/src/components/date-field.tsx +627 -0
- package/src/components/date-picker.tsx +58 -1446
- package/src/components/date-range-picker.tsx +490 -0
- package/src/components/description-list-labels.ts +9 -0
- package/src/components/description-list.tsx +31 -15
- package/src/components/dialog-frame-labels.ts +7 -0
- package/src/components/dialog-frame.tsx +11 -7
- package/src/components/disclosure.tsx +14 -14
- package/src/components/dropdown.tsx +129 -43
- package/src/components/empty-state.tsx +137 -0
- package/src/components/entity-combobox.tsx +18 -13
- package/src/components/error-boundary-labels.ts +20 -0
- package/src/components/error-boundary.tsx +10 -20
- package/src/components/facing-pair.ts +1 -1
- package/src/components/field-base.tsx +604 -0
- package/src/components/field-parts.tsx +192 -77
- package/src/components/field-strip.tsx +12 -33
- package/src/components/field-sync-labels.ts +13 -0
- package/src/components/field-sync.tsx +8 -16
- package/src/components/field.tsx +17 -15
- package/src/components/file-button.tsx +64 -412
- package/src/components/file-dropzone.tsx +36 -33
- package/src/components/floating-panel-labels.ts +10 -0
- package/src/components/floating-panel.tsx +32 -21
- package/src/components/focus-ring.ts +9 -4
- package/src/components/form-actions-labels.ts +11 -0
- package/src/components/form-actions.tsx +17 -21
- package/src/components/full-bleed-dialog.tsx +28 -25
- package/src/components/grouped-picker.tsx +118 -96
- package/src/components/help-popover.tsx +115 -0
- package/src/components/hover-menu.tsx +45 -38
- package/src/components/iban-input-labels.ts +15 -0
- package/src/components/iban-input.tsx +25 -20
- package/src/components/icon-button.tsx +945 -0
- package/src/components/icon-picker-labels.ts +13 -0
- package/src/components/icon-picker.tsx +27 -24
- package/src/components/image-grid-labels.ts +11 -0
- package/src/components/image-grid.tsx +13 -15
- package/src/components/inline-edit-field-labels.ts +11 -0
- package/src/components/inline-edit-field.tsx +20 -19
- package/src/components/inline-entity-combobox.tsx +789 -0
- package/src/components/input.tsx +380 -0
- package/src/components/jump-calendar.tsx +385 -0
- package/src/components/language-select.tsx +31 -16
- package/src/components/legal-labels.ts +99 -0
- package/src/components/legal-page.tsx +2 -2
- package/src/components/legal.tsx +11 -101
- package/src/components/lightbox-labels.ts +18 -0
- package/src/components/lightbox.tsx +13 -21
- package/src/components/line-items-labels.ts +14 -0
- package/src/components/line-items.tsx +24 -31
- package/src/components/list-labels.ts +10 -0
- package/src/components/list.tsx +98 -75
- package/src/components/loading-state.tsx +4 -4
- package/src/components/measured-grid-labels.ts +25 -0
- package/src/components/measured-grid.tsx +39 -62
- package/src/components/menu-item.tsx +29 -26
- package/src/components/mini-calendar-labels.ts +17 -0
- package/src/components/mini-calendar.tsx +38 -45
- package/src/components/modal.tsx +49 -20
- package/src/components/money-draft.ts +72 -0
- package/src/components/money-field.tsx +16 -30
- package/src/components/month-picker-labels.ts +22 -0
- package/src/components/month-picker.tsx +59 -45
- package/src/components/multi-entity-combobox.tsx +17 -12
- package/src/components/multi-select.tsx +300 -292
- package/src/components/nav-pills.tsx +19 -8
- package/src/components/number-field.tsx +7 -5
- package/src/components/number-input.tsx +69 -99
- package/src/components/numeric-field.ts +161 -0
- package/src/components/numpad-sheet.tsx +16 -16
- package/src/components/one-time-code-input.tsx +154 -169
- package/src/components/page-contents-labels.ts +9 -0
- package/src/components/page-contents.tsx +15 -15
- package/src/components/page-header.tsx +9 -5
- package/src/components/password-strength-labels.ts +23 -0
- package/src/components/password-strength.tsx +13 -27
- package/src/components/phone-input-labels.ts +10 -0
- package/src/components/phone-input.tsx +42 -57
- package/src/components/picker-sheet.tsx +47 -18
- package/src/components/pie-chart.tsx +11 -9
- package/src/components/popover-labels.ts +14 -0
- package/src/components/popover.tsx +36 -37
- package/src/components/progress-bar-labels.ts +10 -0
- package/src/components/progress-bar.tsx +32 -23
- package/src/components/qr-code.tsx +2 -2
- package/src/components/reauth-dialog-labels.ts +13 -0
- package/src/components/reauth-dialog.tsx +7 -10
- package/src/components/row-actions-labels.ts +10 -0
- package/src/components/row-actions.tsx +11 -10
- package/src/components/scroll-area.tsx +4 -10
- package/src/components/search-field.tsx +35 -49
- package/src/components/select.tsx +302 -0
- package/src/components/separator.tsx +2 -2
- package/src/components/series-chart-axes.ts +329 -0
- package/src/components/series-chart-thin.ts +180 -0
- package/src/components/series-chart.tsx +125 -326
- package/src/components/server-wake-labels.ts +11 -0
- package/src/components/server-wake.tsx +39 -66
- package/src/components/settings-fields.tsx +50 -19
- package/src/components/share-card-labels.ts +30 -0
- package/src/components/share-card.tsx +22 -37
- package/src/components/sign-chip-labels.ts +12 -0
- package/src/components/sign-chip.tsx +6 -9
- package/src/components/signature-pad-labels.ts +24 -0
- package/src/components/signature-pad.tsx +48 -57
- package/src/components/signed-amount-labels.ts +10 -0
- package/src/components/signed-amount.tsx +21 -22
- package/src/components/skeleton.tsx +1 -1
- package/src/components/slider.tsx +51 -39
- package/src/components/sparkline-labels.ts +14 -0
- package/src/components/sparkline.tsx +16 -21
- package/src/components/spinner.tsx +81 -0
- package/src/components/stat-tile-labels.ts +15 -0
- package/src/components/stat-tile.tsx +39 -38
- package/src/components/status-dot.tsx +17 -14
- package/src/components/swatch-picker-labels.ts +10 -0
- package/src/components/swatch-picker.tsx +23 -16
- package/src/components/swipeable-row.tsx +17 -39
- package/src/components/switch.tsx +33 -32
- package/src/components/table.tsx +15 -15
- package/src/components/tabs.tsx +660 -0
- package/src/components/text-link.tsx +7 -7
- package/src/components/text.tsx +10 -6
- package/src/components/textarea.tsx +323 -0
- package/src/components/tile-radio.tsx +6 -6
- package/src/components/time-input.tsx +15 -7
- package/src/components/toast-labels.ts +12 -0
- package/src/components/toast.tsx +5 -8
- package/src/components/toggle-group.tsx +105 -42
- package/src/components/toggle-legend.tsx +6 -6
- package/src/components/tooltip.tsx +47 -27
- package/src/components/translation-review-editor.tsx +8 -7
- package/src/components/translation-review-parts.tsx +9 -13
- package/src/components/translation-review.tsx +50 -20
- package/src/components/tree-view.tsx +14 -12
- package/src/components/ui-labels.ts +22 -0
- package/src/components/use-table-state.ts +91 -10
- package/src/components/user-avatar.tsx +5 -5
- package/src/components/wizard-stepper.tsx +7 -6
- package/src/components/write-lock-labels.ts +9 -0
- package/src/components/write-lock.tsx +10 -12
- package/src/currencies.ts +70 -0
- package/src/data-table.ts +4 -0
- package/src/demo/demo-banner.tsx +16 -27
- package/src/demo/demo-ended.tsx +8 -7
- package/src/demo/demo-labels.ts +2 -2
- package/src/demo/demo-start.tsx +7 -5
- package/src/eslint/index.ts +161 -0
- package/src/eslint/role-utilities.generated.ts +146 -0
- package/src/eslint/role-utilities.ts +99 -0
- package/src/feedback/feedback-attachment-labels.ts +36 -0
- package/src/feedback/feedback-attachment.tsx +42 -66
- package/src/feedback/feedback-context-labels.ts +10 -0
- package/src/feedback/feedback-context.tsx +8 -9
- package/src/feedback/feedback-dialog-labels.ts +28 -0
- package/src/feedback/feedback-dialog.tsx +14 -44
- package/src/feedback/feedback-inbox.tsx +49 -252
- package/src/feedback/feedback-labels.ts +5 -5
- package/src/feedback/feedback-menu-labels.ts +11 -0
- package/src/feedback/feedback-menu.tsx +13 -11
- package/src/feedback/feedback-record.ts +21 -7
- package/src/feedback/feedback-row-detail-labels.ts +33 -0
- package/src/feedback/feedback-row-detail.tsx +30 -43
- package/src/feedback/feedback-status-undo.ts +3 -2
- package/src/feedback/feedback-submit-dialog.tsx +109 -0
- package/src/feedback/feedback-submit.tsx +45 -55
- package/src/feedback/feedback-swipe.tsx +1 -1
- package/src/feedback/feedback-table-labels.ts +27 -0
- package/src/feedback/feedback-table.tsx +24 -40
- package/src/feedback/feedback-thread-labels.ts +22 -0
- package/src/feedback/feedback-thread.tsx +46 -50
- package/src/feedback/feedback-vocabulary.ts +252 -0
- package/src/hooks/use-anchored-panel.ts +102 -2
- package/src/hooks/use-anchored-rect.ts +11 -9
- package/src/hooks/use-authed-src.ts +13 -7
- package/src/hooks/use-breakpoint.ts +5 -4
- package/src/hooks/use-close-transition.ts +9 -10
- package/src/hooks/use-debounce.ts +9 -0
- package/src/hooks/use-dismiss.ts +210 -18
- package/src/hooks/use-file-drop.ts +2 -2
- package/src/hooks/use-file-picker-labels.ts +29 -0
- package/src/hooks/use-file-picker.tsx +363 -0
- package/src/hooks/use-focus-trap.ts +19 -6
- package/src/i18n/defaults.ts +91 -82
- package/src/i18n/german.ts +50 -6
- package/src/i18n/kit-labels.tsx +85 -124
- package/src/i18n/locales/en.ts +46 -0
- package/src/i18n/locales/es.ts +50 -6
- package/src/i18n/locales/fr.ts +55 -9
- package/src/i18n/locales/hu.ts +50 -6
- package/src/i18n/locales/it.ts +54 -8
- package/src/i18n/locales/zh.ts +49 -6
- package/src/i18n/review.ts +4 -0
- package/src/i18n/shared-labels.ts +135 -0
- package/src/index.ts +414 -404
- package/src/landing/access.ts +2 -1
- package/src/landing/landing-actions.tsx +6 -5
- package/src/landing/landing-labels.ts +2 -2
- package/src/landing/landing-sections.tsx +24 -23
- package/src/landing/public-header.tsx +3 -2
- package/src/landing/routing.tsx +2 -7
- package/src/lib/chip-edge-snap.ts +212 -0
- package/src/lib/cn.ts +13 -1
- package/src/lib/dates.ts +4 -2
- package/src/lib/decimal-marks.ts +4 -2
- package/src/lib/download.ts +172 -0
- package/src/lib/floating-stack.ts +5 -1
- package/src/lib/format.ts +5 -3
- package/src/lib/ime.ts +24 -0
- package/src/lib/presence.ts +18 -0
- package/src/lib/reduced-motion.ts +21 -0
- package/src/lib/refs.ts +22 -0
- package/src/lib/round.ts +38 -0
- package/src/lib/safe-storage.ts +35 -11
- package/src/lib/session-refresh.ts +473 -0
- package/src/lib/text-match.ts +60 -0
- package/src/lib/translation-review.ts +7 -6
- package/src/rhf/fields.tsx +141 -189
- package/src/rhf/form-core.tsx +328 -0
- package/src/rhf/form.tsx +9 -320
- package/src/rhf/line-items.tsx +2 -2
- package/src/rhf/use-rhf-wizard-step.ts +4 -4
- package/src/rhf.ts +4 -2
- package/src/search/command-palette-labels.ts +16 -0
- package/src/search/command-palette.tsx +37 -50
- package/src/search/global-search-labels.ts +13 -0
- package/src/search/global-search.tsx +50 -24
- package/src/search/search-index.ts +5 -6
- package/src/search/use-command-key.ts +22 -0
- package/src/settings/settings-card-classes.ts +11 -0
- package/src/settings/settings-heading.tsx +1 -1
- package/src/settings/settings-labels.ts +2 -2
- package/src/settings/settings-layout.tsx +65 -6
- package/src/settings/settings-section.tsx +5 -5
- package/src/settings/use-settings-focus.ts +2 -5
- package/src/shell/app-shell-labels.ts +10 -0
- package/src/shell/app-shell.tsx +79 -53
- package/src/shell/auth-layout.tsx +11 -10
- package/src/shell/company-switcher-labels.ts +13 -0
- package/src/shell/company-switcher.tsx +7 -11
- package/src/shell/option-switcher-menu.tsx +7 -5
- package/src/shell/role-switcher.tsx +4 -4
- package/src/shell/top-bar-brand.tsx +1 -1
- package/src/shell/top-bar.tsx +6 -5
- package/src/shell/topbar-action-menu.tsx +21 -19
- package/src/shell/topbar-controls.tsx +15 -15
- package/src/shell.ts +1 -1
- package/src/testing/index.ts +13 -0
- package/src/testing/viewport.ts +357 -0
- package/src/theme/color.ts +7 -1
- package/src/theme/palette-derive.ts +29 -7
- package/src/theme/palette-presets.ts +82 -355
- package/src/tour/tour-labels.ts +14 -0
- package/src/tour/tour.tsx +13 -23
- package/src/wizard/stepper-nav.tsx +19 -18
- package/src/wizard/types.ts +3 -26
- package/src/wizard/wizard-labels.ts +29 -0
- package/src/wizard/wizard-step.tsx +2 -2
- package/src/wizard/wizard-summary.tsx +8 -7
- package/tokens.css +45 -14
- package/dist/components/account-settings-labels.js.map +0 -1
- package/dist/components/account-settings.js.map +0 -1
- package/dist/components/choice-parts.d.ts +0 -24
- package/dist/components/choice-parts.js +0 -18
- package/dist/components/choice-parts.js.map +0 -1
- package/dist/components/passkeys-setting.js.map +0 -1
- package/dist/components/ui.d.ts +0 -101
- package/dist/components/ui.js +0 -1955
- package/dist/components/ui.js.map +0 -1
- package/dist/data-table-labels-BJ5JE_X2.d.ts +0 -923
- package/dist/delete-account-setting-DAgGBrbn.d.ts +0 -8167
- package/src/components/choice-parts.ts +0 -33
- package/src/components/ui.tsx +0 -4233
|
@@ -2,7 +2,7 @@ import { useId, useLayoutEffect, useRef } from "react";
|
|
|
2
2
|
import type { KeyboardEvent as ReactKeyboardEvent, ReactNode } from "react";
|
|
3
3
|
import { Link } from "react-router";
|
|
4
4
|
import { cn } from "../lib/cn";
|
|
5
|
-
import { HoverMenu } from "../components/hover-menu";
|
|
5
|
+
import { HoverMenu, type HoverMenuProps } from "../components/hover-menu";
|
|
6
6
|
import { MenuItem } from "../components/menu-item";
|
|
7
7
|
import type { MenuItemTone } from "../components/menu-item";
|
|
8
8
|
import { StatusDot } from "../components/status-dot";
|
|
@@ -68,7 +68,7 @@ export type TopBarMenuEntry =
|
|
|
68
68
|
*
|
|
69
69
|
* The menu-wide `heading` prop is the panel's title, drawn once above everything;
|
|
70
70
|
* with group headings it is usually redundant (two stacked caps lines read as one),
|
|
71
|
-
* and the trigger's `
|
|
71
|
+
* and the trigger's `aria-label` already names the menu.
|
|
72
72
|
*/
|
|
73
73
|
kind: "heading";
|
|
74
74
|
key: string;
|
|
@@ -202,7 +202,7 @@ export function TopBarActionMenu({
|
|
|
202
202
|
trigger,
|
|
203
203
|
triggerClassName,
|
|
204
204
|
href,
|
|
205
|
-
ariaLabel,
|
|
205
|
+
"aria-label": ariaLabel,
|
|
206
206
|
heading,
|
|
207
207
|
header,
|
|
208
208
|
entries,
|
|
@@ -226,11 +226,11 @@ export function TopBarActionMenu({
|
|
|
226
226
|
* INSIDE the kit's button, which keeps the wiring: `aria-haspopup`, `aria-expanded`,
|
|
227
227
|
* the toggle, the keyboard. `open` is there for a chevron that turns.
|
|
228
228
|
*
|
|
229
|
-
* The button is named by `
|
|
229
|
+
* The button is named by `aria-label` followed by any readable text in the face — a
|
|
230
230
|
* `UserAvatar` `badge` label reaches a screen reader that way ("Account menu 3
|
|
231
231
|
* unread"), where an `aria-label` on the button would have hidden it. A
|
|
232
232
|
* `UserAvatar`'s initials are `aria-hidden`, so the person's name is only in the
|
|
233
|
-
* name if `
|
|
233
|
+
* name if `aria-label` carries it ("Marcel Eifert, account menu").
|
|
234
234
|
*/
|
|
235
235
|
trigger?: (state: { open: boolean }) => ReactNode;
|
|
236
236
|
/** Extra classes for the trigger button — `rounded-full` round an avatar. */
|
|
@@ -243,12 +243,13 @@ export function TopBarActionMenu({
|
|
|
243
243
|
* row, so the rows stay reachable by keyboard. A tap on a touch screen follows the
|
|
244
244
|
* link — so use it where the destination offers everything the menu does. Rendered as
|
|
245
245
|
* an `<a>` (the router's `Link`) with `aria-haspopup="menu"` and `aria-expanded`,
|
|
246
|
-
* named by `
|
|
246
|
+
* named by `aria-label`: a link inside the kit's button would be interactive content
|
|
247
247
|
* inside interactive content.
|
|
248
248
|
*/
|
|
249
249
|
href?: string;
|
|
250
|
-
/** Names the trigger and the menu.
|
|
251
|
-
ariaLabel
|
|
250
|
+
/** Names the trigger and the menu. Required: the trigger is an icon (refactor audit
|
|
251
|
+
* 2026-10, API-1 — the `ariaLabel` spelling went in 0.35). */
|
|
252
|
+
"aria-label": string;
|
|
252
253
|
heading?: string;
|
|
253
254
|
/** A non-interactive identity block above the rows. */
|
|
254
255
|
header?: TopBarMenuHeader;
|
|
@@ -267,8 +268,9 @@ export function TopBarActionMenu({
|
|
|
267
268
|
footer?: ReactNode | ((close: () => void) => ReactNode);
|
|
268
269
|
/** Wraps the footer in a `<nav>` with this name ("Legal"). Without it, a plain block. */
|
|
269
270
|
footerLabel?: string;
|
|
270
|
-
/** Which edge of the trigger the panel lines up with
|
|
271
|
-
|
|
271
|
+
/** Which edge of the trigger the panel lines up with, `start` or `end` in the reading
|
|
272
|
+
* direction (see `HoverMenu`, whose type this is). Default `end`. */
|
|
273
|
+
align?: HoverMenuProps["align"];
|
|
272
274
|
panelClassName?: string;
|
|
273
275
|
}) {
|
|
274
276
|
// Names the groups' headings for `aria-labelledby`. Positional rather than from the
|
|
@@ -277,7 +279,7 @@ export function TopBarActionMenu({
|
|
|
277
279
|
const uid = useId();
|
|
278
280
|
return (
|
|
279
281
|
<HoverMenu
|
|
280
|
-
|
|
282
|
+
aria-label={ariaLabel}
|
|
281
283
|
align={align}
|
|
282
284
|
trigger={({ open, toggle, close }) => {
|
|
283
285
|
// One element for both kinds: the router's link when `href` is set, else the
|
|
@@ -326,7 +328,7 @@ export function TopBarActionMenu({
|
|
|
326
328
|
const footerBody = typeof footer === "function" ? footer(close) : footer;
|
|
327
329
|
const headerExtra = typeof header?.extra === "function" ? header.extra(close) : header?.extra;
|
|
328
330
|
const footerClass =
|
|
329
|
-
"flex flex-wrap gap-x-3 gap-y-1 text-xs text-
|
|
331
|
+
"flex flex-wrap gap-x-3 gap-y-1 text-xs text-muted [&_a:hover]:text-primary [&_a]:rounded-sm [&_a:focus-visible]:outline-none [&_a:focus-visible]:ring-focus [&_a:focus-visible]:ring-brand";
|
|
330
332
|
/** One action or link row — loose, or inside a heading's group. */
|
|
331
333
|
const row = (entry: RowEntry) => (
|
|
332
334
|
<li key={entry.key}>
|
|
@@ -365,16 +367,16 @@ export function TopBarActionMenu({
|
|
|
365
367
|
// eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions -- a Tab bubbling up from a row or footer link, see keepTabInsidePanel
|
|
366
368
|
<ul className={cn("py-1", panelClassName)} onKeyDown={keepTabInsidePanel}>
|
|
367
369
|
{header && (
|
|
368
|
-
<MenuSection className="mb-1 border-b border-
|
|
369
|
-
<div className="truncate text-sm font-medium text-
|
|
370
|
+
<MenuSection className="mb-1 border-b border-subtle px-3 py-2">
|
|
371
|
+
<div className="truncate text-sm font-medium text-primary">{header.title}</div>
|
|
370
372
|
{header.subtitle != null && (
|
|
371
|
-
<div className="truncate text-xs text-
|
|
373
|
+
<div className="truncate text-xs text-muted">{header.subtitle}</div>
|
|
372
374
|
)}
|
|
373
375
|
{headerExtra != null && headerExtra !== false && <div className="mt-1">{headerExtra}</div>}
|
|
374
376
|
</MenuSection>
|
|
375
377
|
)}
|
|
376
378
|
{heading && (
|
|
377
|
-
<li className="px-3 py-1 text-micro font-semibold uppercase tracking-wide text-
|
|
379
|
+
<li className="px-3 py-1 text-micro font-semibold uppercase tracking-wide text-placeholder">
|
|
378
380
|
{heading}
|
|
379
381
|
</li>
|
|
380
382
|
)}
|
|
@@ -382,7 +384,7 @@ export function TopBarActionMenu({
|
|
|
382
384
|
if (block.kind === "loose") {
|
|
383
385
|
const entry = block.entry;
|
|
384
386
|
if (entry.kind === "divider") {
|
|
385
|
-
return <li key={entry.key} className="my-1 border-t border-
|
|
387
|
+
return <li key={entry.key} className="my-1 border-t border-subtle" />;
|
|
386
388
|
}
|
|
387
389
|
return row(entry);
|
|
388
390
|
}
|
|
@@ -397,7 +399,7 @@ export function TopBarActionMenu({
|
|
|
397
399
|
id={headingId}
|
|
398
400
|
role="presentation"
|
|
399
401
|
className={cn(
|
|
400
|
-
"px-3 pb-0.5 text-caption font-semibold uppercase tracking-wide text-
|
|
402
|
+
"px-3 pb-0.5 text-caption font-semibold uppercase tracking-wide text-muted [overflow-wrap:anywhere]",
|
|
401
403
|
tight ? "pt-1" : "pt-2.5",
|
|
402
404
|
)}
|
|
403
405
|
>
|
|
@@ -411,7 +413,7 @@ export function TopBarActionMenu({
|
|
|
411
413
|
})}
|
|
412
414
|
{children?.(close)}
|
|
413
415
|
{footerBody != null && footerBody !== false && (
|
|
414
|
-
<MenuSection className="mt-1 border-t border-
|
|
416
|
+
<MenuSection className="mt-1 border-t border-subtle px-3 py-2">
|
|
415
417
|
{footerLabel ? (
|
|
416
418
|
<nav aria-label={footerLabel} className={footerClass}>
|
|
417
419
|
{footerBody}
|
|
@@ -9,17 +9,17 @@ import { DEFAULT_TOP_BAR_LABELS, useKitLabels } from "../i18n/kit-labels";
|
|
|
9
9
|
/** Shared square icon-button styling for top-bar triggers, so app-owned controls
|
|
10
10
|
* (account/feedback menus) line up with the shared ones. */
|
|
11
11
|
export const TOPBAR_TRIGGER_CLASS =
|
|
12
|
-
"size-9 rounded-md flex items-center justify-center text-
|
|
12
|
+
"size-9 rounded-md flex items-center justify-center text-secondary hover:text-primary hover:bg-hover";
|
|
13
13
|
|
|
14
14
|
/** Shared row styling for the top-bar hover-menu items. `text-start`, so a label that
|
|
15
15
|
* wraps aligns to the reading edge in RTL too. */
|
|
16
16
|
export const TOPBAR_MENU_ITEM_CLASS =
|
|
17
|
-
"flex w-full items-center justify-between gap-3 px-3 py-2 text-sm text-start text-
|
|
17
|
+
"flex w-full items-center justify-between gap-3 px-3 py-2 text-sm text-start text-secondary hover:bg-hover";
|
|
18
18
|
|
|
19
19
|
/** The small uppercase heading row the top-bar menus share (`heading`). */
|
|
20
20
|
function MenuHeading({ children }: { children: string }) {
|
|
21
21
|
return (
|
|
22
|
-
<li className="px-3 py-1 text-micro font-semibold uppercase tracking-wide text-
|
|
22
|
+
<li className="px-3 py-1 text-micro font-semibold uppercase tracking-wide text-placeholder">
|
|
23
23
|
{children}
|
|
24
24
|
</li>
|
|
25
25
|
);
|
|
@@ -29,18 +29,18 @@ function MenuHeading({ children }: { children: string }) {
|
|
|
29
29
|
export function ThemeToggle({
|
|
30
30
|
mode,
|
|
31
31
|
onToggle,
|
|
32
|
-
ariaLabel,
|
|
32
|
+
"aria-label": ariaLabel,
|
|
33
33
|
title,
|
|
34
34
|
className,
|
|
35
35
|
}: {
|
|
36
36
|
mode: ThemeMode;
|
|
37
37
|
onToggle: () => void;
|
|
38
38
|
/** Default: `topBar.theme` from the {@link UiKitProvider}, else English. */
|
|
39
|
-
|
|
39
|
+
"aria-label"?: string;
|
|
40
40
|
title?: string;
|
|
41
41
|
className?: string;
|
|
42
42
|
}) {
|
|
43
|
-
// This had no default at all, so a toggle rendered without `
|
|
43
|
+
// This had no default at all, so a toggle rendered without `aria-label` was an
|
|
44
44
|
// icon button with no name — a reader heard "button" and nothing else.
|
|
45
45
|
const labels = useKitLabels("topBar", DEFAULT_TOP_BAR_LABELS, { theme: ariaLabel });
|
|
46
46
|
const Icon = mode === "dark" ? Moon : Sun;
|
|
@@ -65,7 +65,7 @@ export function PaletteMenu({
|
|
|
65
65
|
activeId,
|
|
66
66
|
mode,
|
|
67
67
|
onSelect,
|
|
68
|
-
ariaLabel,
|
|
68
|
+
"aria-label": ariaLabel,
|
|
69
69
|
heading,
|
|
70
70
|
}: {
|
|
71
71
|
palettes: PalettePreset[];
|
|
@@ -73,7 +73,7 @@ export function PaletteMenu({
|
|
|
73
73
|
mode: ThemeMode;
|
|
74
74
|
onSelect: (id: string) => void;
|
|
75
75
|
/** Default: `topBar.palette` from the {@link UiKitProvider}, else English. */
|
|
76
|
-
|
|
76
|
+
"aria-label"?: string;
|
|
77
77
|
/** Optional small heading row above the list. */
|
|
78
78
|
heading?: string;
|
|
79
79
|
}) {
|
|
@@ -81,7 +81,7 @@ export function PaletteMenu({
|
|
|
81
81
|
const activeName = palettes.find((p) => p.id === activeId)?.name ?? activeId;
|
|
82
82
|
return (
|
|
83
83
|
<HoverMenu
|
|
84
|
-
|
|
84
|
+
aria-label={labels.palette}
|
|
85
85
|
trigger={({ toggle }) => (
|
|
86
86
|
<Tooltip label={activeName} portal>
|
|
87
87
|
<button
|
|
@@ -131,13 +131,13 @@ export function PaletteMenu({
|
|
|
131
131
|
</span>
|
|
132
132
|
<span className="flex min-w-0 flex-col text-start">
|
|
133
133
|
<span className="truncate">{p.name}</span>
|
|
134
|
-
<span className="truncate text-caption text-
|
|
134
|
+
<span className="truncate text-caption text-placeholder">
|
|
135
135
|
{p.blurb}
|
|
136
136
|
</span>
|
|
137
137
|
</span>
|
|
138
138
|
</span>
|
|
139
139
|
{activeId === p.id && (
|
|
140
|
-
<Check className="size-4 shrink-0 text-
|
|
140
|
+
<Check className="size-4 shrink-0 text-secondary" />
|
|
141
141
|
)}
|
|
142
142
|
</button>
|
|
143
143
|
</li>
|
|
@@ -169,14 +169,14 @@ export function LanguageMenu({
|
|
|
169
169
|
options,
|
|
170
170
|
current,
|
|
171
171
|
onChange,
|
|
172
|
-
ariaLabel,
|
|
172
|
+
"aria-label": ariaLabel,
|
|
173
173
|
heading,
|
|
174
174
|
}: {
|
|
175
175
|
options: LanguageOption[];
|
|
176
176
|
current: string | undefined;
|
|
177
177
|
onChange: (code: string) => void;
|
|
178
178
|
/** Default: `topBar.language` from the {@link UiKitProvider}, else English. */
|
|
179
|
-
|
|
179
|
+
"aria-label"?: string;
|
|
180
180
|
/** Optional small heading row above the list — as on `TopBarActionMenu`,
|
|
181
181
|
* `OptionSwitcherMenu` and `PaletteMenu`. */
|
|
182
182
|
heading?: string;
|
|
@@ -185,7 +185,7 @@ export function LanguageMenu({
|
|
|
185
185
|
const active = options.find((o) => o.code === current);
|
|
186
186
|
return (
|
|
187
187
|
<HoverMenu
|
|
188
|
-
|
|
188
|
+
aria-label={labels.language}
|
|
189
189
|
trigger={({ toggle }) => (
|
|
190
190
|
<Tooltip label={active?.label ?? labels.language} portal>
|
|
191
191
|
<button
|
|
@@ -228,7 +228,7 @@ export function LanguageMenu({
|
|
|
228
228
|
/>
|
|
229
229
|
{lang.label}
|
|
230
230
|
</span>
|
|
231
|
-
{isActive && <Check className="size-4 text-
|
|
231
|
+
{isActive && <Check className="size-4 text-secondary" />}
|
|
232
232
|
</button>
|
|
233
233
|
</li>
|
|
234
234
|
);
|
package/src/shell.ts
CHANGED
|
@@ -12,7 +12,7 @@ export * from "./shell/top-bar-brand";
|
|
|
12
12
|
export * from "./shell/auth-layout";
|
|
13
13
|
// 0.31.0: the settings and admin pages' shell (docs/settings-harmonization.md §3, §5).
|
|
14
14
|
export { SettingsLayout, SETTINGS_SEARCH_THRESHOLD } from "./settings/settings-layout";
|
|
15
|
-
export type { SettingsLayoutProps, SettingsLayoutWidth } from "./settings/settings-layout";
|
|
15
|
+
export type { SettingsLayoutProps, SettingsLayoutWidth, SettingsDocumentTitleParts } from "./settings/settings-layout";
|
|
16
16
|
export {
|
|
17
17
|
useSettingsRoute,
|
|
18
18
|
resolveSettingsLocation,
|
package/src/testing/index.ts
CHANGED
|
@@ -11,3 +11,16 @@ export {
|
|
|
11
11
|
undeclaredCssVariables,
|
|
12
12
|
type UndeclaredCssVariablesOptions,
|
|
13
13
|
} from "./css-variables";
|
|
14
|
+
// 0.34 (refactor audit 2026-10, TST-10): the environment jsdom lacks — a `matchMedia`
|
|
15
|
+
// that answers from a viewport width (right at every text size) and a `ResizeObserver`
|
|
16
|
+
// the test drives. Framework-free: each returns its own undo. 0.35: `setViewportWidth`,
|
|
17
|
+
// a live resize of the stub in force — its lists flip and fire `change` (keksdose).
|
|
18
|
+
export {
|
|
19
|
+
setViewportWidth,
|
|
20
|
+
stubResizeObserver,
|
|
21
|
+
stubViewportWidth,
|
|
22
|
+
viewportMatchMedia,
|
|
23
|
+
type ResizeObserverStub,
|
|
24
|
+
type StubbedBoxSize,
|
|
25
|
+
type ViewportOptions,
|
|
26
|
+
} from "./viewport";
|
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Environment stubs for an app's own tests (0.34, refactor audit 2026-10, TST-10): the
|
|
3
|
+
* two browser APIs jsdom does not have and the kit's layout reads — `matchMedia` and
|
|
4
|
+
* `ResizeObserver`.
|
|
5
|
+
*
|
|
6
|
+
* Every suite rebuilt them by hand: the kit stubbed `matchMedia` in 25 files and defined
|
|
7
|
+
* the same `stubPhone()` eight times, keksdose stubs it in 41, and most copies answer
|
|
8
|
+
* one literal string. That breaks quietly at Large text, where `md` is 960 px and the
|
|
9
|
+
* phone query the kit writes is `(width < 960px)`, not `(width < 768px)`. These answer
|
|
10
|
+
* every width query from a WIDTH, as a browser does, so they stay right at every text
|
|
11
|
+
* size (docs/text-size-harmonization.md §3.3). The reference is keksdose's
|
|
12
|
+
* `frontend/src/test/viewport.ts`, which this generalises.
|
|
13
|
+
*
|
|
14
|
+
* Framework-free, like the rest of `@eifi1/ui-kit/testing`: nothing here imports vitest
|
|
15
|
+
* or jest. Each stub returns its own undo, so it works under either runner, and a suite
|
|
16
|
+
* that prefers `vi.stubGlobal` passes it {@link viewportMatchMedia} instead.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
/** The media features a test may want besides the width. Each is off by default. */
|
|
20
|
+
export interface ViewportOptions {
|
|
21
|
+
/** The primary pointer is a finger: `(pointer: coarse)`, `(any-pointer: coarse)` and
|
|
22
|
+
* `(hover: none)` match; `(pointer: fine)` and `(hover: hover)` do not. */
|
|
23
|
+
coarse?: boolean;
|
|
24
|
+
/** The person asked for less motion: `(prefers-reduced-motion: reduce)` matches, and
|
|
25
|
+
* the kit's overlays skip their exit animations. */
|
|
26
|
+
reducedMotion?: boolean;
|
|
27
|
+
/** `(prefers-color-scheme: dark)` matches (`light` does not). */
|
|
28
|
+
dark?: boolean;
|
|
29
|
+
/** `(prefers-contrast: more)` matches. */
|
|
30
|
+
moreContrast?: boolean;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/** One length in CSS px. A media query's `rem`/`em` is the browser's default font size,
|
|
34
|
+
* 16 px, never `<html>`'s — the kit's own `breakpointQuery` writes px. */
|
|
35
|
+
function lengthPx(value: string, unit: string): number {
|
|
36
|
+
return unit === "px" ? Number(value) : Number(value) * 16;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
const RANGE = /^\(\s*width\s*(<=|>=|<|>)\s*([\d.]+)(px|r?em)\s*\)$/;
|
|
40
|
+
const MIN_MAX = /^\(\s*(min|max)-width\s*:\s*([\d.]+)(px|r?em)\s*\)$/;
|
|
41
|
+
const FEATURE = /^\(\s*([a-z-]+)\s*:\s*([a-z-]+)\s*\)$/;
|
|
42
|
+
|
|
43
|
+
/** One `(…)` condition, or a media type. */
|
|
44
|
+
function condition(part: string, width: number, options: ViewportOptions): boolean {
|
|
45
|
+
const q = part.trim();
|
|
46
|
+
if (q === "all" || q === "screen") return true;
|
|
47
|
+
const range = RANGE.exec(q);
|
|
48
|
+
if (range) {
|
|
49
|
+
const px = lengthPx(range[2], range[3]);
|
|
50
|
+
switch (range[1]) {
|
|
51
|
+
case "<":
|
|
52
|
+
return width < px;
|
|
53
|
+
case "<=":
|
|
54
|
+
return width <= px;
|
|
55
|
+
case ">":
|
|
56
|
+
return width > px;
|
|
57
|
+
default:
|
|
58
|
+
return width >= px;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
const minMax = MIN_MAX.exec(q);
|
|
62
|
+
if (minMax) {
|
|
63
|
+
const px = lengthPx(minMax[2], minMax[3]);
|
|
64
|
+
return minMax[1] === "min" ? width >= px : width <= px;
|
|
65
|
+
}
|
|
66
|
+
const feature = FEATURE.exec(q);
|
|
67
|
+
if (!feature) return false;
|
|
68
|
+
const [, name, value] = feature;
|
|
69
|
+
const coarse = Boolean(options.coarse);
|
|
70
|
+
switch (name) {
|
|
71
|
+
case "pointer":
|
|
72
|
+
case "any-pointer":
|
|
73
|
+
return value === (coarse ? "coarse" : "fine");
|
|
74
|
+
case "hover":
|
|
75
|
+
case "any-hover":
|
|
76
|
+
return value === (coarse ? "none" : "hover");
|
|
77
|
+
case "prefers-reduced-motion":
|
|
78
|
+
return value === (options.reducedMotion ? "reduce" : "no-preference");
|
|
79
|
+
case "prefers-color-scheme":
|
|
80
|
+
return value === (options.dark ? "dark" : "light");
|
|
81
|
+
case "prefers-contrast":
|
|
82
|
+
return value === (options.moreContrast ? "more" : "no-preference");
|
|
83
|
+
default:
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/** A whole query: comma lists are alternatives, `and` joins conditions, as in CSS. */
|
|
89
|
+
function answer(query: string, width: number, options: ViewportOptions): boolean {
|
|
90
|
+
return query
|
|
91
|
+
.split(",")
|
|
92
|
+
.some((alternative) =>
|
|
93
|
+
alternative.split(/\s+and\s+/).every((part) => condition(part, width, options)),
|
|
94
|
+
);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/** A list {@link viewportMatchMedia} handed out: what {@link setViewportWidth} flips. */
|
|
98
|
+
interface StubMediaQueryList {
|
|
99
|
+
matches: boolean;
|
|
100
|
+
readonly media: string;
|
|
101
|
+
onchange: ((this: MediaQueryList, event: MediaQueryListEvent) => unknown) | null;
|
|
102
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject | null): void;
|
|
103
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject | null): void;
|
|
104
|
+
addListener(listener: EventListenerOrEventListenerObject | null): void;
|
|
105
|
+
removeListener(listener: EventListenerOrEventListenerObject | null): void;
|
|
106
|
+
dispatchEvent(event: Event): boolean;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/** One stub's viewport: its width now, and every list it has handed out. */
|
|
110
|
+
interface StubViewport {
|
|
111
|
+
width: number;
|
|
112
|
+
readonly options: ViewportOptions;
|
|
113
|
+
readonly lists: Set<StubMediaQueryList>;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/** Each `matchMedia` {@link viewportMatchMedia} made → its viewport. Keyed by the function,
|
|
117
|
+
* so {@link setViewportWidth} finds whichever stub is in force however it was put in. */
|
|
118
|
+
const VIEWPORTS = new WeakMap<object, StubViewport>();
|
|
119
|
+
|
|
120
|
+
function mediaQueryList(query: string, viewport: StubViewport): StubMediaQueryList {
|
|
121
|
+
// One set for both APIs: in a browser `addListener(fn)` IS `addEventListener("change",
|
|
122
|
+
// fn)`, so adding the same function through both registers it once.
|
|
123
|
+
const listeners = new Set<EventListenerOrEventListenerObject>();
|
|
124
|
+
const list: StubMediaQueryList = {
|
|
125
|
+
matches: answer(query, viewport.width, viewport.options),
|
|
126
|
+
media: query,
|
|
127
|
+
onchange: null,
|
|
128
|
+
addEventListener(type, listener) {
|
|
129
|
+
if (type === "change" && listener) listeners.add(listener);
|
|
130
|
+
},
|
|
131
|
+
removeEventListener(type, listener) {
|
|
132
|
+
if (type === "change" && listener) listeners.delete(listener);
|
|
133
|
+
},
|
|
134
|
+
addListener(listener) {
|
|
135
|
+
if (listener) listeners.add(listener);
|
|
136
|
+
},
|
|
137
|
+
removeListener(listener) {
|
|
138
|
+
if (listener) listeners.delete(listener);
|
|
139
|
+
},
|
|
140
|
+
dispatchEvent(event) {
|
|
141
|
+
if (event.type !== "change") return true;
|
|
142
|
+
const self = list as unknown as MediaQueryList;
|
|
143
|
+
list.onchange?.call(self, event as MediaQueryListEvent);
|
|
144
|
+
for (const listener of [...listeners]) {
|
|
145
|
+
if (typeof listener === "function") listener.call(self, event);
|
|
146
|
+
else listener.handleEvent(event);
|
|
147
|
+
}
|
|
148
|
+
return !event.defaultPrevented;
|
|
149
|
+
},
|
|
150
|
+
};
|
|
151
|
+
return list;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/** The `change` a browser fires at a list whose answer flipped: a `MediaQueryListEvent`'s
|
|
155
|
+
* `matches` and `media`, on an `Event` (jsdom has no `MediaQueryListEvent`). */
|
|
156
|
+
function changeEvent(list: StubMediaQueryList): Event {
|
|
157
|
+
const event = new Event("change");
|
|
158
|
+
for (const [key, value] of Object.entries({ matches: list.matches, media: list.media, target: list, currentTarget: list })) {
|
|
159
|
+
Object.defineProperty(event, key, { value, enumerable: true });
|
|
160
|
+
}
|
|
161
|
+
return event;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* A `window.matchMedia` for a viewport `width` CSS px wide.
|
|
166
|
+
*
|
|
167
|
+
* Width queries answer from `width`: the range syntax the kit writes for `max-*`
|
|
168
|
+
* (`(width < 768px)`) and every other comparison, `(min-width: …)` and `(max-width: …)`,
|
|
169
|
+
* in px or rem; `and` and comma lists combine as in CSS. The features in `options` answer
|
|
170
|
+
* as set there; every other query is false. The lists keep their listeners, and
|
|
171
|
+
* {@link setViewportWidth} resizes the viewport under them the way a browser window
|
|
172
|
+
* does: each list whose answer flips fires `change`.
|
|
173
|
+
*
|
|
174
|
+
* Hand it to the runner's own global stub where the suite undoes stubs that way —
|
|
175
|
+
* `vi.stubGlobal("matchMedia", viewportMatchMedia(375))` — or use
|
|
176
|
+
* {@link stubViewportWidth}.
|
|
177
|
+
*/
|
|
178
|
+
export function viewportMatchMedia(
|
|
179
|
+
width: number,
|
|
180
|
+
options: ViewportOptions = {},
|
|
181
|
+
): (query: string) => MediaQueryList {
|
|
182
|
+
const viewport: StubViewport = { width, options, lists: new Set() };
|
|
183
|
+
const matchMedia = (query: string) => {
|
|
184
|
+
const list = mediaQueryList(query, viewport);
|
|
185
|
+
viewport.lists.add(list);
|
|
186
|
+
return list as unknown as MediaQueryList;
|
|
187
|
+
};
|
|
188
|
+
VIEWPORTS.set(matchMedia, viewport);
|
|
189
|
+
return matchMedia;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* Resize the stubbed viewport to `width` CSS px, live — the window being dragged narrower,
|
|
194
|
+
* a phone turned (0.35, keksdose's 0.34 report). Every list the stub in force has handed
|
|
195
|
+
* out answers from the new width, and each one whose answer flipped fires `change` to its
|
|
196
|
+
* `addEventListener` listeners, its legacy `addListener` ones and its `onchange`, as in a
|
|
197
|
+
* browser; a list whose answer stayed the same tells nobody. So a mounted component that
|
|
198
|
+
* listens to a breakpoint (`usePhoneLayout()`, `useBreakpoint()`) switches without being
|
|
199
|
+
* rendered again.
|
|
200
|
+
*
|
|
201
|
+
* The stub in force is whatever `window.matchMedia` is now — one {@link stubViewportWidth}
|
|
202
|
+
* or `vi.stubGlobal("matchMedia", viewportMatchMedia(…))` put in; its features
|
|
203
|
+
* (`options`) stay as they were. Throws when `matchMedia` is not one of these stubs, rather
|
|
204
|
+
* than resize nothing. Synchronous: wrap it in `act()` when a listener sets state.
|
|
205
|
+
*
|
|
206
|
+
* ```ts
|
|
207
|
+
* undo = stubViewportWidth(1280);
|
|
208
|
+
* render(<Page />);
|
|
209
|
+
* act(() => setViewportWidth(375));
|
|
210
|
+
* expect(screen.getByRole("list")).toBeInTheDocument(); // the cards
|
|
211
|
+
* ```
|
|
212
|
+
*/
|
|
213
|
+
export function setViewportWidth(width: number): void {
|
|
214
|
+
const viewport = typeof window === "undefined" ? undefined : VIEWPORTS.get(window.matchMedia);
|
|
215
|
+
if (!viewport) {
|
|
216
|
+
throw new Error(
|
|
217
|
+
"setViewportWidth: no viewport stub is in force — put one in first with " +
|
|
218
|
+
"stubViewportWidth(width), or vi.stubGlobal(\"matchMedia\", viewportMatchMedia(width)).",
|
|
219
|
+
);
|
|
220
|
+
}
|
|
221
|
+
viewport.width = width;
|
|
222
|
+
for (const list of [...viewport.lists]) {
|
|
223
|
+
const matches = answer(list.media, width, viewport.options);
|
|
224
|
+
if (matches === list.matches) continue;
|
|
225
|
+
list.matches = matches;
|
|
226
|
+
list.dispatchEvent(changeEvent(list));
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
/**
|
|
231
|
+
* Make `window.matchMedia` answer as a viewport `width` CSS px wide (see
|
|
232
|
+
* {@link viewportMatchMedia}), and return the undo: it puts back what was there, which
|
|
233
|
+
* in jsdom is nothing — no `matchMedia` at all, the desktop fallback of every kit hook.
|
|
234
|
+
*
|
|
235
|
+
* ```ts
|
|
236
|
+
* let undo = () => {};
|
|
237
|
+
* afterEach(() => undo());
|
|
238
|
+
* it("shows cards on a phone", () => {
|
|
239
|
+
* undo = stubViewportWidth(375);
|
|
240
|
+
* …
|
|
241
|
+
* });
|
|
242
|
+
* ```
|
|
243
|
+
*
|
|
244
|
+
* Right at every text size: at Large the kit's phone query is `(width < 960px)`, which a
|
|
245
|
+
* 375 px viewport matches and a 1280 px one does not, as in a browser.
|
|
246
|
+
*/
|
|
247
|
+
export function stubViewportWidth(width: number, options: ViewportOptions = {}): () => void {
|
|
248
|
+
const before = Object.getOwnPropertyDescriptor(window, "matchMedia");
|
|
249
|
+
Object.defineProperty(window, "matchMedia", {
|
|
250
|
+
configurable: true,
|
|
251
|
+
writable: true,
|
|
252
|
+
value: viewportMatchMedia(width, options),
|
|
253
|
+
});
|
|
254
|
+
return () => {
|
|
255
|
+
if (before) Object.defineProperty(window, "matchMedia", before);
|
|
256
|
+
else Reflect.deleteProperty(window, "matchMedia");
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
/** A box size for {@link ResizeObserverStub.resize}, in CSS px. */
|
|
261
|
+
export interface StubbedBoxSize {
|
|
262
|
+
width: number;
|
|
263
|
+
height: number;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
/** What {@link stubResizeObserver} returns: the test drives the observers. */
|
|
267
|
+
export interface ResizeObserverStub {
|
|
268
|
+
/**
|
|
269
|
+
* Report `target` at `size` to every live observer watching it, as a browser does once
|
|
270
|
+
* layout settles: one entry, with `contentRect` and the three box sizes all `size`.
|
|
271
|
+
* Synchronous; wrap it in `act()` when the callback sets state.
|
|
272
|
+
*/
|
|
273
|
+
resize(target: Element, size: StubbedBoxSize): void;
|
|
274
|
+
/** The elements some live observer watches now, each once. */
|
|
275
|
+
observed(): Element[];
|
|
276
|
+
/** Put back the `ResizeObserver` that was there before — in jsdom, none. */
|
|
277
|
+
restore(): void;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
/**
|
|
281
|
+
* Install a `ResizeObserver` the test drives. jsdom has none, and lays nothing out, so a
|
|
282
|
+
* component that measures itself (a windowed list, a fitted chart, a measured grid)
|
|
283
|
+
* either crashes on the missing global or never learns a size. Observers here record
|
|
284
|
+
* what they watch and are called only by {@link ResizeObserverStub.resize}.
|
|
285
|
+
*
|
|
286
|
+
* ```ts
|
|
287
|
+
* const ro = stubResizeObserver();
|
|
288
|
+
* afterEach(() => ro.restore());
|
|
289
|
+
* act(() => ro.resize(screen.getByRole("list"), { width: 400, height: 320 }));
|
|
290
|
+
* ```
|
|
291
|
+
*/
|
|
292
|
+
export function stubResizeObserver(): ResizeObserverStub {
|
|
293
|
+
const live = new Set<StubResizeObserver>();
|
|
294
|
+
|
|
295
|
+
class StubResizeObserver {
|
|
296
|
+
readonly targets = new Set<Element>();
|
|
297
|
+
constructor(readonly callback: ResizeObserverCallback) {
|
|
298
|
+
live.add(this);
|
|
299
|
+
}
|
|
300
|
+
observe(target: Element) {
|
|
301
|
+
this.targets.add(target);
|
|
302
|
+
}
|
|
303
|
+
unobserve(target: Element) {
|
|
304
|
+
this.targets.delete(target);
|
|
305
|
+
}
|
|
306
|
+
disconnect() {
|
|
307
|
+
this.targets.clear();
|
|
308
|
+
live.delete(this);
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
const before = Object.getOwnPropertyDescriptor(globalThis, "ResizeObserver");
|
|
313
|
+
Object.defineProperty(globalThis, "ResizeObserver", {
|
|
314
|
+
configurable: true,
|
|
315
|
+
writable: true,
|
|
316
|
+
value: StubResizeObserver,
|
|
317
|
+
});
|
|
318
|
+
|
|
319
|
+
return {
|
|
320
|
+
resize(target, { width, height }) {
|
|
321
|
+
const box = [{ inlineSize: width, blockSize: height }];
|
|
322
|
+
const contentRect = {
|
|
323
|
+
x: 0,
|
|
324
|
+
y: 0,
|
|
325
|
+
top: 0,
|
|
326
|
+
left: 0,
|
|
327
|
+
width,
|
|
328
|
+
height,
|
|
329
|
+
right: width,
|
|
330
|
+
bottom: height,
|
|
331
|
+
toJSON: () => ({ x: 0, y: 0, width, height }),
|
|
332
|
+
};
|
|
333
|
+
const entry = {
|
|
334
|
+
target,
|
|
335
|
+
contentRect,
|
|
336
|
+
borderBoxSize: box,
|
|
337
|
+
contentBoxSize: box,
|
|
338
|
+
devicePixelContentBoxSize: box,
|
|
339
|
+
} as unknown as ResizeObserverEntry;
|
|
340
|
+
for (const observer of [...live]) {
|
|
341
|
+
if (observer.targets.has(target)) {
|
|
342
|
+
observer.callback([entry], observer as unknown as ResizeObserver);
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
},
|
|
346
|
+
observed() {
|
|
347
|
+
const all: Element[] = [];
|
|
348
|
+
for (const observer of live) for (const target of observer.targets) if (!all.includes(target)) all.push(target);
|
|
349
|
+
return all;
|
|
350
|
+
},
|
|
351
|
+
restore() {
|
|
352
|
+
live.clear();
|
|
353
|
+
if (before) Object.defineProperty(globalThis, "ResizeObserver", before);
|
|
354
|
+
else Reflect.deleteProperty(globalThis, "ResizeObserver");
|
|
355
|
+
},
|
|
356
|
+
};
|
|
357
|
+
}
|
package/src/theme/color.ts
CHANGED
|
@@ -195,10 +195,16 @@ export function solveLightness(
|
|
|
195
195
|
const bgL = rgbToOklch(against).l;
|
|
196
196
|
let lo = direction === "darker" ? 0 : bgL;
|
|
197
197
|
let hi = direction === "darker" ? bgL : 1;
|
|
198
|
+
// Measured on the HEX both colours are painted as, never on the float (round 0.34
|
|
199
|
+
// BUG-8): a solve that stopped on the float colour rounded to a hex just under the
|
|
200
|
+
// target — brand #000000's light income figure solved to 4.5000 and shipped at 4.49:1.
|
|
201
|
+
// Rounding keeps contrast monotonic in each half, so the bisection still holds, and
|
|
202
|
+
// the side it returns is the side whose hex clears the target.
|
|
203
|
+
const bg = toHex(against);
|
|
198
204
|
|
|
199
205
|
for (let i = 0; i < 24; i++) {
|
|
200
206
|
const mid = (lo + hi) / 2;
|
|
201
|
-
const got = contrast(oklchToRgb({ l: mid, c, h }),
|
|
207
|
+
const got = contrast(toHex(oklchToRgb({ l: mid, c, h })), bg);
|
|
202
208
|
// Moving AWAY from the background raises contrast; which way that is depends on
|
|
203
209
|
// whether we are going lighter or darker.
|
|
204
210
|
if (got < target) {
|