@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
|
@@ -7,13 +7,15 @@ import { FOCUS_RING } from "./focus-ring";
|
|
|
7
7
|
import { Modal, ModalCloseContext } from "./modal";
|
|
8
8
|
import type { ModalProps } from "./modal";
|
|
9
9
|
import { useKitLabels } from "../i18n/kit-labels";
|
|
10
|
+
import { DEFAULT_DIALOG_FRAME_LABELS } from "./dialog-frame-labels";
|
|
10
11
|
|
|
11
12
|
export interface DialogFrameLabels {
|
|
12
13
|
/** Accessible name of the header's X, when {@link DialogFrameProps.closeButton} shows it. */
|
|
13
14
|
close: string;
|
|
14
15
|
}
|
|
15
16
|
|
|
16
|
-
|
|
17
|
+
// Defined in ./dialog-frame-labels, which holds no component code (0.34, KS U8).
|
|
18
|
+
export { DEFAULT_DIALOG_FRAME_LABELS };
|
|
17
19
|
|
|
18
20
|
/**
|
|
19
21
|
* `ModalProps` minus the three this component owns: the NAME (`labelledBy` — the
|
|
@@ -21,7 +23,9 @@ export const DEFAULT_DIALOG_FRAME_LABELS: DialogFrameLabels = { close: "Close" }
|
|
|
21
23
|
* (`children` is the body here, not the whole panel) and `title`, which is the dialog's
|
|
22
24
|
* HEADING and a ReactNode rather than the browser's tooltip string — the collision
|
|
23
25
|
* `PickerSheet` met first. Everything else, `size`, `draggable`, `fullBleed`,
|
|
24
|
-
* `onKeyDown`, a `data-tour` anchor, still reaches the `Modal
|
|
26
|
+
* `onKeyDown`, a `data-tour` anchor, still reaches the `Modal` — and since 0.35 `ref`
|
|
27
|
+
* (round 0.35 R4): the panel, the `role="dialog"` element the frame's header, body and
|
|
28
|
+
* actions sit in.
|
|
25
29
|
*/
|
|
26
30
|
export interface DialogFrameProps extends Omit<ModalProps, "labelledBy" | "children" | "title"> {
|
|
27
31
|
/** The heading, and therefore the dialog's accessible name (`aria-labelledby`). */
|
|
@@ -158,7 +162,7 @@ export function DialogFrame({
|
|
|
158
162
|
className={cn(
|
|
159
163
|
// `last:pb-4`: a frame with neither body nor actions closes on its header.
|
|
160
164
|
"flex shrink-0 items-start justify-between gap-2 px-4 pt-4 pb-3 last:pb-4",
|
|
161
|
-
headerDivider && "border-b border-
|
|
165
|
+
headerDivider && "border-b border-subtle",
|
|
162
166
|
headerClassName,
|
|
163
167
|
)}
|
|
164
168
|
>
|
|
@@ -167,11 +171,11 @@ export function DialogFrame({
|
|
|
167
171
|
while the X stays outside it, pinned to the top-end corner. */}
|
|
168
172
|
<div className="flex min-w-0 flex-1 flex-wrap items-start justify-between gap-x-3 gap-y-2">
|
|
169
173
|
<div className="min-w-0 grow basis-48">
|
|
170
|
-
<Heading id={titleId} className="text-lg font-semibold leading-snug text-
|
|
174
|
+
<Heading id={titleId} className="text-lg font-semibold leading-snug text-primary">
|
|
171
175
|
{title}
|
|
172
176
|
</Heading>
|
|
173
177
|
{hasDescription && (
|
|
174
|
-
<p id={descriptionId} className="mt-0.5 text-sm text-
|
|
178
|
+
<p id={descriptionId} className="mt-0.5 text-sm text-muted">
|
|
175
179
|
{description}
|
|
176
180
|
</p>
|
|
177
181
|
)}
|
|
@@ -212,7 +216,7 @@ function FrameClose({ label, onClose }: { label?: string; onClose: () => void })
|
|
|
212
216
|
type="button"
|
|
213
217
|
onClick={close}
|
|
214
218
|
aria-label={labels.close}
|
|
215
|
-
className={cn("-me-1.5 -mt-1 shrink-0 rounded p-1.5 text-
|
|
219
|
+
className={cn("-me-1.5 -mt-1 shrink-0 rounded p-1.5 text-muted outline-none hover:bg-hover hover:text-secondary", FOCUS_RING)}
|
|
216
220
|
>
|
|
217
221
|
<X aria-hidden className="size-5" />
|
|
218
222
|
</button>
|
|
@@ -253,7 +257,7 @@ function FrameActions({
|
|
|
253
257
|
<div
|
|
254
258
|
className={cn(
|
|
255
259
|
"flex shrink-0 flex-wrap items-center justify-end gap-2 px-4 py-3",
|
|
256
|
-
divider && "border-t border-
|
|
260
|
+
divider && "border-t border-subtle",
|
|
257
261
|
)}
|
|
258
262
|
>
|
|
259
263
|
{typeof actions === "function" ? actions(close) : actions}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { useEffect, useId, useState } from "react";
|
|
2
|
-
import type { ComponentPropsWithoutRef, ReactNode } from "react";
|
|
2
|
+
import type { ComponentPropsWithoutRef, ComponentPropsWithRef, ReactNode } from "react";
|
|
3
3
|
import { ChevronDown } from "lucide-react";
|
|
4
4
|
|
|
5
5
|
import { cn } from "../lib/cn";
|
|
6
6
|
import { FOCUS_RING } from "./focus-ring";
|
|
7
7
|
// Read at the moment of closing, as `useCloseTransition` does: the setting can change
|
|
8
8
|
// under a long-lived page.
|
|
9
|
-
import {
|
|
9
|
+
import { skipsExitAnimation } from "../hooks/use-close-transition";
|
|
10
10
|
|
|
11
11
|
/** How long the fold takes, in ms. The same number as the `duration-200` below and as
|
|
12
12
|
* the unmount timer, because they are the same movement. */
|
|
@@ -16,7 +16,7 @@ const COLLAPSE_MS = 200;
|
|
|
16
16
|
* `extends` the div's props so an `id` (what a trigger's `aria-controls` points at), a
|
|
17
17
|
* `data-tour` anchor or a test id reaches the element that folds.
|
|
18
18
|
*/
|
|
19
|
-
export interface CollapseProps extends
|
|
19
|
+
export interface CollapseProps extends ComponentPropsWithRef<"div"> {
|
|
20
20
|
open: boolean;
|
|
21
21
|
/**
|
|
22
22
|
* Keep the children mounted while shut (hidden and `inert`) instead of unmounting
|
|
@@ -63,7 +63,7 @@ export function Collapse({ open, keepMounted = false, children, className, style
|
|
|
63
63
|
const [prevOpen, setPrevOpen] = useState(open);
|
|
64
64
|
if (open !== prevOpen) {
|
|
65
65
|
setPrevOpen(open);
|
|
66
|
-
setLingering(!open && !
|
|
66
|
+
setLingering(!open && !skipsExitAnimation());
|
|
67
67
|
}
|
|
68
68
|
useEffect(() => {
|
|
69
69
|
if (!lingering) return;
|
|
@@ -113,7 +113,7 @@ export type DisclosureTriggerProps = Omit<
|
|
|
113
113
|
* name: here it is the header's content (and a ReactNode), not the browser's tooltip.
|
|
114
114
|
* Everything else reaches the outer element.
|
|
115
115
|
*/
|
|
116
|
-
export interface DisclosureProps extends Omit<
|
|
116
|
+
export interface DisclosureProps extends Omit<ComponentPropsWithRef<"div">, "title"> {
|
|
117
117
|
/** What the header says. A node, so a status chip or a count can sit in it. */
|
|
118
118
|
title: ReactNode;
|
|
119
119
|
/** The smaller line under the title — what is inside, for a reader deciding whether
|
|
@@ -346,22 +346,22 @@ export function Disclosure({
|
|
|
346
346
|
// card's hover paint on the stretched area / the row, not the text box.
|
|
347
347
|
cn(
|
|
348
348
|
"min-w-0 flex-1 after:absolute after:inset-0 after:content-['']",
|
|
349
|
-
"focus-visible:after:ring-
|
|
349
|
+
"focus-visible:after:ring-focus focus-visible:after:ring-inset focus-visible:after:ring-brand",
|
|
350
350
|
card ? cn("after:rounded-lg", joined && "after:rounded-b-none") : !menu && "after:rounded-sm",
|
|
351
351
|
)
|
|
352
352
|
: FOCUS_RING,
|
|
353
353
|
card
|
|
354
354
|
? cn(
|
|
355
355
|
"items-center justify-between rounded-lg p-4",
|
|
356
|
-
trailingBeside ? "pe-0" : "hover:bg-
|
|
356
|
+
trailingBeside ? "pe-0" : "hover:bg-hover focus-visible:ring-inset",
|
|
357
357
|
joined && "rounded-b-none",
|
|
358
358
|
)
|
|
359
359
|
: menu
|
|
360
360
|
? // TOPBAR_MENU_ITEM_CLASS's row, spelled out rather than imported: a
|
|
361
361
|
// component does not reach up into the shell. A test holds the two to
|
|
362
362
|
// the same classes.
|
|
363
|
-
"items-center justify-between gap-3 px-3 py-2 text-sm text-
|
|
364
|
-
: "items-center rounded-sm text-sm font-medium text-
|
|
363
|
+
"items-center justify-between gap-3 px-3 py-2 text-sm text-secondary hover:bg-hover focus-visible:ring-inset"
|
|
364
|
+
: "items-center rounded-sm text-sm font-medium text-secondary hover:text-primary",
|
|
365
365
|
headerClassName,
|
|
366
366
|
)}
|
|
367
367
|
>
|
|
@@ -377,10 +377,10 @@ export function Disclosure({
|
|
|
377
377
|
<Chevron open={open} small />
|
|
378
378
|
</span>
|
|
379
379
|
) : (
|
|
380
|
-
<span className={cn("block", card && "text-sm font-semibold text-
|
|
380
|
+
<span className={cn("block", card && "text-sm font-semibold text-primary")}>{title}</span>
|
|
381
381
|
)}
|
|
382
382
|
{hint !== undefined && (
|
|
383
|
-
<span className="mt-0.5 block text-xs font-normal text-
|
|
383
|
+
<span className="mt-0.5 block text-xs font-normal text-muted">{hint}</span>
|
|
384
384
|
)}
|
|
385
385
|
</span>
|
|
386
386
|
{/* The space is for the accessible name — "Net profit 1,234.50", not
|
|
@@ -402,7 +402,7 @@ export function Disclosure({
|
|
|
402
402
|
return (
|
|
403
403
|
<div
|
|
404
404
|
{...rest}
|
|
405
|
-
className={cn(card && "rounded-lg border border-
|
|
405
|
+
className={cn(card && "rounded-lg border border-subtle bg-surface shadow-sm", className)}
|
|
406
406
|
>
|
|
407
407
|
{trailingBeside ? (
|
|
408
408
|
<div
|
|
@@ -410,7 +410,7 @@ export function Disclosure({
|
|
|
410
410
|
"relative flex items-center gap-2",
|
|
411
411
|
card &&
|
|
412
412
|
cn(
|
|
413
|
-
"rounded-lg pe-4 has-[[data-disclosure-trigger]:enabled:hover]:bg-
|
|
413
|
+
"rounded-lg pe-4 has-[[data-disclosure-trigger]:enabled:hover]:bg-hover",
|
|
414
414
|
joined && "rounded-b-none",
|
|
415
415
|
),
|
|
416
416
|
)}
|
|
@@ -454,7 +454,7 @@ function Chevron({
|
|
|
454
454
|
<ChevronDown
|
|
455
455
|
aria-hidden
|
|
456
456
|
className={cn(
|
|
457
|
-
"shrink-0 text-
|
|
457
|
+
"shrink-0 text-muted transition-transform duration-200 ease-out motion-reduce:transition-none",
|
|
458
458
|
small ? "size-3.5" : "size-4",
|
|
459
459
|
leading ? !open && "-rotate-90 rtl:rotate-90" : open && "rotate-180",
|
|
460
460
|
)}
|
|
@@ -1,23 +1,35 @@
|
|
|
1
|
-
import { useCallback, useEffect, useRef, useState } from "react";
|
|
1
|
+
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
2
2
|
import type {
|
|
3
3
|
ComponentPropsWithoutRef,
|
|
4
|
+
ComponentPropsWithRef,
|
|
4
5
|
KeyboardEvent as ReactKeyboardEvent,
|
|
5
6
|
ReactNode,
|
|
7
|
+
Ref,
|
|
6
8
|
RefObject,
|
|
7
9
|
} from "react";
|
|
8
10
|
import { createPortal } from "react-dom";
|
|
9
11
|
import { Search } from "lucide-react";
|
|
10
|
-
import { useAnchoredPanel } from "../hooks/use-anchored-panel";
|
|
11
|
-
import {
|
|
12
|
+
import { anchoredInline, useAnchoredPanel } from "../hooks/use-anchored-panel";
|
|
13
|
+
import { runOwnKeyDown, takeEscape, useDismissLayer, useOutsideClick } from "../hooks/use-dismiss";
|
|
14
|
+
import type { DismissLayer } from "../hooks/use-dismiss";
|
|
12
15
|
import { useOverlayHistory } from "../hooks/use-overlay-history";
|
|
13
16
|
import { cn } from "../lib/cn";
|
|
14
|
-
import { FIELD_TOUCH_TEXT } from "./
|
|
17
|
+
import { FIELD_TOUCH_TEXT } from "./field-base";
|
|
18
|
+
import { mergeRefs } from "./field-parts";
|
|
15
19
|
import { FOCUS_RING } from "./focus-ring";
|
|
16
20
|
import { useAnchorDir } from "./use-anchor-dir";
|
|
17
21
|
|
|
22
|
+
/** Each list's Escape layer, filed under the refs {@link useDropdown} and
|
|
23
|
+
* {@link useDropdownSearch} hand out (`panelRef`, `inputRef`), for the panel and the
|
|
24
|
+
* search box those refs are passed to — see "The caller's own handler" on
|
|
25
|
+
* {@link useDropdown} (round 0.35 R2). Weak: a list's refs go with its component. */
|
|
26
|
+
const listLayers = new WeakMap<object, DismissLayer>();
|
|
27
|
+
|
|
18
28
|
/**
|
|
19
|
-
* Open state + close-on-outside-click for
|
|
20
|
-
*
|
|
29
|
+
* Open state + close-on-outside-click for a custom dropdown — the two input-shaped
|
|
30
|
+
* comboboxes, and an app's own panel. (MultiSelect, CurrencySelect, GroupedPicker and
|
|
31
|
+
* AmountInput's currency picker moved onto `useComboboxCore` + `ComboboxPanel` in round
|
|
32
|
+
* 0.34, Wave 2 DUP-4, for the phone sheet and the portal.) Attach `wrapperRef`
|
|
21
33
|
* to the relatively-positioned container; the popover lives inside it so a click
|
|
22
34
|
* anywhere else closes it.
|
|
23
35
|
*
|
|
@@ -63,20 +75,45 @@ import { useAnchorDir } from "./use-anchor-dir";
|
|
|
63
75
|
* This hook had no Escape at all (the audit's §a11y): Back closed these lists, an
|
|
64
76
|
* outside press closed them, and the one key every other dismissible surface in the
|
|
65
77
|
* package answers to did nothing — so a keyboard user who opened a list had no way
|
|
66
|
-
* out of it that did not also choose something.
|
|
67
|
-
* `Modal`, `Popover` and
|
|
68
|
-
* keeps one answer to "what does Escape do"
|
|
78
|
+
* out of it that did not also choose something. An open list is a layer on the kit's
|
|
79
|
+
* one Escape stack ({@link useDismissLayer}), as `Modal`, `Popover` and
|
|
80
|
+
* `useComboboxCore` are, so the package keeps one answer to "what does Escape do".
|
|
69
81
|
*
|
|
70
82
|
* Escape RESTORES FOCUS; an outside press does not. A press has already put focus
|
|
71
83
|
* where the user pointed, and dragging it back from there would be the bug. Attach
|
|
72
84
|
* `triggerRef` to the control that opens the panel and the keyboard paths — Escape,
|
|
73
|
-
* Tab, a commit — hand focus back to it; leave it unattached and they
|
|
74
|
-
* which is
|
|
85
|
+
* Tab, a commit — hand focus back to it; leave it unattached and they hand it back to
|
|
86
|
+
* whatever held focus when the list opened, which is the control that was pressed.
|
|
87
|
+
*
|
|
88
|
+
* ## Escape inside a dialog (round 0.34 BUG-1, Wave 2 DUP-1)
|
|
89
|
+
*
|
|
90
|
+
* One press in an open list inside a `Modal` or a `FullBleedDialog` used to close the
|
|
91
|
+
* DIALOG, form and all, and leave the list open: the dialog took Escape in its own
|
|
92
|
+
* `onKeyDown` before a document listener could. On the stack the list is above the
|
|
93
|
+
* dialog, so the list closes and the dialog stays. {@link DropdownPanel} and
|
|
94
|
+
* {@link DropdownSearchHeader} take the key on their own elements, where focus is,
|
|
95
|
+
* and stop it there — so a caller passes nothing new, AmountInput's currency chip
|
|
96
|
+
* included.
|
|
97
|
+
*
|
|
98
|
+
* ## The caller's own handler (round 0.35 R2)
|
|
99
|
+
*
|
|
100
|
+
* A caller's `onKeyDown` on {@link DropdownPanel} or {@link DropdownSearchHeader} hears
|
|
101
|
+
* Escape only while this list is the layer on top — the rule the dialogs got first. A
|
|
102
|
+
* tooltip over a row takes that press first, and the next one is the handler's, whose
|
|
103
|
+
* `preventDefault()` still keeps the list. The two find the list's layer through the
|
|
104
|
+
* refs this hook hands out — the panel through `panelRef`, the search box through
|
|
105
|
+
* {@link useDropdownSearch}'s `inputRef` — so a caller passes nothing new. One handed
|
|
106
|
+
* neither (an un-anchored panel may leave `panelRef` off) hears every key, as before.
|
|
107
|
+
*
|
|
108
|
+
* `escapeLayer: false` is for a caller that registers its own layer: the editable
|
|
109
|
+
* comboboxes, whose list can be "open" with nothing in it to show — an Escape there
|
|
110
|
+
* belongs to the dialog.
|
|
75
111
|
*/
|
|
76
112
|
export function useDropdown<T extends HTMLElement = HTMLDivElement>({
|
|
77
113
|
backCloses = true,
|
|
78
114
|
panelIsSheet = !backCloses,
|
|
79
|
-
|
|
115
|
+
escapeLayer = true,
|
|
116
|
+
}: { backCloses?: boolean; panelIsSheet?: boolean; escapeLayer?: boolean } = {}) {
|
|
80
117
|
const [open, setOpen] = useState(false);
|
|
81
118
|
const wrapperRef = useRef<T>(null);
|
|
82
119
|
// The control that opens the panel — see the note above on why only the keyboard
|
|
@@ -87,17 +124,33 @@ export function useDropdown<T extends HTMLElement = HTMLDivElement>({
|
|
|
87
124
|
// the wrapper" answers no for every click on the list itself and the first option a
|
|
88
125
|
// user picked closed the dropdown without picking anything.
|
|
89
126
|
const panelRef = useRef<HTMLDivElement>(null);
|
|
127
|
+
// Where focus was as the list opened — the trigger focus goes back to when the
|
|
128
|
+
// caller attached none. Read in an effect, before `useDropdownSearch`'s frame moves
|
|
129
|
+
// focus into the search box.
|
|
130
|
+
const openerRef = useRef<HTMLElement | null>(null);
|
|
131
|
+
useEffect(() => {
|
|
132
|
+
if (!open) return;
|
|
133
|
+
const el = document.activeElement;
|
|
134
|
+
openerRef.current = el instanceof HTMLElement && el !== document.body ? el : null;
|
|
135
|
+
}, [open]);
|
|
90
136
|
const close = useCallback(() => setOpen(false), []);
|
|
91
137
|
// Closing unmounts whatever held focus — the search box, the row the keyboard was
|
|
92
138
|
// on — and the browser then drops focus on <body>: the caret vanishes and the next
|
|
93
|
-
// Tab restarts at the top of the document
|
|
94
|
-
//
|
|
139
|
+
// Tab restarts at the top of the document, and inside a dialog the next Escape goes
|
|
140
|
+
// nowhere. Whoever closed the list with a key gets focus handed back to the trigger
|
|
141
|
+
// they opened it from.
|
|
95
142
|
const closeToTrigger = useCallback(() => {
|
|
96
143
|
setOpen(false);
|
|
97
|
-
triggerRef.current
|
|
144
|
+
const back = triggerRef.current ?? openerRef.current;
|
|
145
|
+
if (back?.isConnected) back.focus();
|
|
98
146
|
}, []);
|
|
99
147
|
useOutsideClick([wrapperRef, panelRef], close, open && !panelIsSheet);
|
|
100
|
-
|
|
148
|
+
// See "Escape inside a dialog" above.
|
|
149
|
+
const layer = useDismissLayer(open && escapeLayer, closeToTrigger);
|
|
150
|
+
// Filed under `panelRef` for the panel's own handler — "The caller's own handler" above.
|
|
151
|
+
useEffect(() => {
|
|
152
|
+
listLayers.set(panelRef, layer);
|
|
153
|
+
}, [panelRef, layer]);
|
|
101
154
|
// Same close path Escape and an outside click take, so a list dismissed by Back
|
|
102
155
|
// cannot end up in a different state from one dismissed any other way.
|
|
103
156
|
useOverlayHistory(open && backCloses, close);
|
|
@@ -113,6 +166,12 @@ export function useDropdownSearch<T extends HTMLElement = HTMLDivElement>() {
|
|
|
113
166
|
useDropdown<T>();
|
|
114
167
|
const [query, setQuery] = useState("");
|
|
115
168
|
const inputRef = useRef<HTMLInputElement>(null);
|
|
169
|
+
// The list's layer again, under `inputRef` for the search box's handler (round 0.35
|
|
170
|
+
// R2). `useDropdown`'s effect, which runs first, has filed it under `panelRef`.
|
|
171
|
+
useEffect(() => {
|
|
172
|
+
const layer = listLayers.get(panelRef);
|
|
173
|
+
if (layer) listLayers.set(inputRef, layer);
|
|
174
|
+
}, [panelRef]);
|
|
116
175
|
useEffect(() => {
|
|
117
176
|
if (open) {
|
|
118
177
|
// eslint-disable-next-line react-hooks/set-state-in-effect -- reset the query on open
|
|
@@ -137,7 +196,7 @@ export function useDropdownSearch<T extends HTMLElement = HTMLDivElement>() {
|
|
|
137
196
|
* where the focus is (see the note above), so the div's own handler signature is
|
|
138
197
|
* omitted in favour of it. */
|
|
139
198
|
export interface DropdownSearchHeaderProps
|
|
140
|
-
extends Omit<
|
|
199
|
+
extends Omit<ComponentPropsWithRef<"div">, "onKeyDown"> {
|
|
141
200
|
query: string;
|
|
142
201
|
onQueryChange: (v: string) => void;
|
|
143
202
|
inputRef: RefObject<HTMLInputElement | null>;
|
|
@@ -146,7 +205,9 @@ export interface DropdownSearchHeaderProps
|
|
|
146
205
|
listboxId?: string;
|
|
147
206
|
/** The id of the option the arrow keys are currently on, if any. */
|
|
148
207
|
activeId?: string;
|
|
149
|
-
/** Arrow/Home/End/Enter/Tab — the list's keyboard, handled where the focus is.
|
|
208
|
+
/** Arrow/Home/End/Enter/Tab — the list's keyboard, handled where the focus is.
|
|
209
|
+
* Escape closes the list (the topmost layer on the kit's Escape stack); call
|
|
210
|
+
* `preventDefault()` on it here to keep it. */
|
|
150
211
|
onKeyDown?: (e: ReactKeyboardEvent<HTMLInputElement>) => void;
|
|
151
212
|
}
|
|
152
213
|
|
|
@@ -192,17 +253,24 @@ export function DropdownSearchHeader({
|
|
|
192
253
|
<div
|
|
193
254
|
{...rest}
|
|
194
255
|
className={cn(
|
|
195
|
-
"flex items-center gap-2 border-b border-
|
|
256
|
+
"flex items-center gap-2 border-b border-subtle px-2 py-1.5",
|
|
196
257
|
className,
|
|
197
258
|
)}
|
|
198
259
|
>
|
|
199
|
-
<Search className="size-4 text-
|
|
260
|
+
<Search className="size-4 text-placeholder" />
|
|
200
261
|
<input
|
|
201
262
|
ref={inputRef}
|
|
202
263
|
type="text"
|
|
203
264
|
value={query}
|
|
204
265
|
onChange={(e) => onQueryChange(e.target.value)}
|
|
205
|
-
onKeyDown={
|
|
266
|
+
onKeyDown={(e) => {
|
|
267
|
+
// The caller's handler hears Escape only while the list is on top (round 0.35
|
|
268
|
+
// R2) — the layer filed under `inputRef`, when {@link useDropdownSearch} made it.
|
|
269
|
+
runOwnKeyDown(e, onKeyDown, listLayers.get(inputRef));
|
|
270
|
+
// Focus is in this box while the list is up, so this is where Escape lands
|
|
271
|
+
// first — see "Escape inside a dialog" on {@link useDropdown}.
|
|
272
|
+
takeEscape(e);
|
|
273
|
+
}}
|
|
206
274
|
placeholder={placeholder}
|
|
207
275
|
aria-label={ariaLabel}
|
|
208
276
|
aria-controls={listboxId}
|
|
@@ -211,7 +279,7 @@ export function DropdownSearchHeader({
|
|
|
211
279
|
// FIELD_TOUCH_TEXT: a search box is a field — at least 16 px on touch, or iOS zooms
|
|
212
280
|
// the page the moment a picker opens and focuses it (§10.1).
|
|
213
281
|
className={cn(
|
|
214
|
-
"w-full rounded-sm bg-transparent text-sm outline-none placeholder:text-
|
|
282
|
+
"w-full rounded-sm bg-transparent text-sm outline-none placeholder:text-placeholder text-primary",
|
|
215
283
|
FOCUS_RING,
|
|
216
284
|
FIELD_TOUCH_TEXT,
|
|
217
285
|
)}
|
|
@@ -230,17 +298,23 @@ export interface DropdownPanelProps extends ComponentPropsWithoutRef<"div"> {
|
|
|
230
298
|
listProps?: ComponentPropsWithoutRef<"ul">;
|
|
231
299
|
/** The trigger to hang off. Given, the panel portals and goes `fixed`. */
|
|
232
300
|
anchorRef?: RefObject<HTMLElement | null>;
|
|
233
|
-
/** {@link useDropdown}'s `panelRef`, so an outside-click sees this as inside.
|
|
301
|
+
/** {@link useDropdown}'s `panelRef`, so an outside-click sees this as inside. Escape
|
|
302
|
+
* anywhere in the panel, on a row as in the search box, closes the list rather than
|
|
303
|
+
* a dialog around it. It is also how the panel finds the list's Escape layer, for
|
|
304
|
+
* its `onKeyDown` (round 0.35 R2: see "The caller's own handler" there). */
|
|
234
305
|
panelRef?: RefObject<HTMLDivElement | null>;
|
|
235
306
|
/** Panel width in px, for the anchored form (the CSS `w-*` cannot be measured). */
|
|
236
307
|
width?: number;
|
|
237
|
-
/** Which of the panel's edges lines up with the trigger's, room permitting
|
|
238
|
-
*
|
|
239
|
-
*
|
|
240
|
-
*
|
|
241
|
-
*
|
|
242
|
-
align?: "
|
|
308
|
+
/** Which of the panel's edges lines up with the trigger's, room permitting, by the
|
|
309
|
+
* trigger's reading direction — `end` is the right edge in a left-to-right form and
|
|
310
|
+
* the left one in a right-to-left form. Default `end`. The physical `left` / `right`
|
|
311
|
+
* went in 0.35 (round 0.35 R1, refactor audit 2026-10, API-6e): `right` is `end` in a
|
|
312
|
+
* left-to-right page, `left` is `start`. */
|
|
313
|
+
align?: "start" | "end";
|
|
243
314
|
children: ReactNode;
|
|
315
|
+
/** The panel, where the rest of the props go (0.34, API-2, refactor audit 2026-10) —
|
|
316
|
+
* merged with `panelRef`, so the outside-click still sees it. */
|
|
317
|
+
ref?: Ref<HTMLDivElement>;
|
|
244
318
|
}
|
|
245
319
|
|
|
246
320
|
/**
|
|
@@ -282,10 +356,21 @@ export function DropdownPanel({
|
|
|
282
356
|
align = "end",
|
|
283
357
|
children,
|
|
284
358
|
style,
|
|
359
|
+
onKeyDown,
|
|
360
|
+
ref,
|
|
285
361
|
...rest
|
|
286
362
|
}: DropdownPanelProps) {
|
|
363
|
+
const setPanel = useMemo(() => mergeRefs(panelRef, ref), [panelRef, ref]);
|
|
287
364
|
const anchored = useAnchoredPanel(anchorRef ?? EMPTY_REF, Boolean(anchorRef));
|
|
288
365
|
const dir = useAnchorDir(anchorRef ?? EMPTY_REF, Boolean(anchorRef));
|
|
366
|
+
// A row the keyboard reached by Tab holds focus too, and its Escape has to close the
|
|
367
|
+
// list as the search box's does (BUG-1). The caller's handler first, as everywhere.
|
|
368
|
+
const handleKeyDown = (e: ReactKeyboardEvent<HTMLDivElement>) => {
|
|
369
|
+
// It hears Escape only while the list is on top, a tooltip over a row taking the
|
|
370
|
+
// press first (round 0.35 R2) — the layer filed under `panelRef`, when handed one.
|
|
371
|
+
runOwnKeyDown(e, onKeyDown, panelRef && listLayers.get(panelRef));
|
|
372
|
+
takeEscape(e);
|
|
373
|
+
};
|
|
289
374
|
const body = (
|
|
290
375
|
<>
|
|
291
376
|
{header}
|
|
@@ -298,7 +383,7 @@ export function DropdownPanel({
|
|
|
298
383
|
end up with one child that is not an option. The em dash still reads — it
|
|
299
384
|
is the row's semantics that are dropped, not its text. */}
|
|
300
385
|
{empty && (
|
|
301
|
-
<li role="presentation" className="px-3 py-2 text-sm text-
|
|
386
|
+
<li role="presentation" className="px-3 py-2 text-sm text-muted">
|
|
302
387
|
—
|
|
303
388
|
</li>
|
|
304
389
|
)}
|
|
@@ -308,12 +393,14 @@ export function DropdownPanel({
|
|
|
308
393
|
|
|
309
394
|
if (!anchorRef) {
|
|
310
395
|
return (
|
|
396
|
+
// eslint-disable-next-line jsx-a11y/no-static-element-interactions -- never focused itself: it catches Escape bubbling from the search box or a row inside it.
|
|
311
397
|
<div
|
|
312
398
|
{...rest}
|
|
313
399
|
style={style}
|
|
314
|
-
ref={
|
|
400
|
+
ref={setPanel}
|
|
401
|
+
onKeyDown={handleKeyDown}
|
|
315
402
|
className={cn(
|
|
316
|
-
"absolute z-30 mt-1 rounded-md border border-
|
|
403
|
+
"absolute z-30 mt-1 rounded-md border border-subtle bg-surface shadow-lg",
|
|
317
404
|
"[&>ul]:max-h-64",
|
|
318
405
|
className,
|
|
319
406
|
)}
|
|
@@ -325,20 +412,19 @@ export function DropdownPanel({
|
|
|
325
412
|
|
|
326
413
|
const rect = anchored.rect;
|
|
327
414
|
if (!rect) return null;
|
|
328
|
-
// Clamped
|
|
329
|
-
// stay on screen, because a list half off the viewport is the bug
|
|
330
|
-
// The portal leaves the subtree the trigger's `dir` came from, so it
|
|
331
|
-
// the trigger — for the alignment here, and for the panel's own `dir`
|
|
332
|
-
// without which a right-to-left form got a left-to-right list.
|
|
333
|
-
const
|
|
334
|
-
align === "start" ? (dir === "rtl" ? "right" : "left") : align === "end" ? (dir === "rtl" ? "left" : "right") : align;
|
|
335
|
-
const wanted = physical === "right" ? rect.right - width : rect.left;
|
|
336
|
-
const left = Math.min(Math.max(8, wanted), window.innerWidth - width - 8);
|
|
415
|
+
// Clamped to the glass as `Popover` is (Wave 2, DUP-7): the panel may leave the
|
|
416
|
+
// trigger's edge to stay on screen, because a list half off the viewport is the bug
|
|
417
|
+
// this exists for. The portal leaves the subtree the trigger's `dir` came from, so it
|
|
418
|
+
// is read off the trigger — for the alignment here, and for the panel's own `dir`
|
|
419
|
+
// below, without which a right-to-left form got a left-to-right list.
|
|
420
|
+
const { left } = anchoredInline(rect, width, { dir, align });
|
|
337
421
|
return createPortal(
|
|
422
|
+
// eslint-disable-next-line jsx-a11y/no-static-element-interactions -- never focused itself: it catches Escape bubbling from the search box or a row inside it.
|
|
338
423
|
<div
|
|
339
424
|
{...rest}
|
|
340
|
-
ref={
|
|
425
|
+
ref={setPanel}
|
|
341
426
|
dir={dir}
|
|
427
|
+
onKeyDown={handleKeyDown}
|
|
342
428
|
// The caller's `style` is kept underneath, but the placement is measured rather
|
|
343
429
|
// than chosen (dev#548: an `overflow` ancestor clipped a third of this panel
|
|
344
430
|
// away), so these values are the panel's own. Flipped above, it hangs from its
|
|
@@ -354,7 +440,7 @@ export function DropdownPanel({
|
|
|
354
440
|
maxHeight: anchored.maxHeight,
|
|
355
441
|
}}
|
|
356
442
|
className={cn(
|
|
357
|
-
"z-50 flex flex-col overflow-hidden rounded-md border border-
|
|
443
|
+
"z-50 flex flex-col overflow-hidden rounded-md border border-subtle bg-surface shadow-lg",
|
|
358
444
|
// The list, not the panel, is what scrolls: the search header has to stay put
|
|
359
445
|
// while the options move under it.
|
|
360
446
|
"[&>ul]:min-h-0 [&>ul]:flex-1",
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import type { ComponentPropsWithRef, ReactNode } from "react";
|
|
2
|
+
import { cn } from "../lib/cn";
|
|
3
|
+
|
|
4
|
+
export interface EmptyStateProps extends Omit<ComponentPropsWithRef<"div">, "children" | "title"> {
|
|
5
|
+
/** The box renders `title` and `hint` in its own two-line rhythm, which is what makes
|
|
6
|
+
* every empty state in three apps look like the same thing — so there is no
|
|
7
|
+
* `children` slot to put arbitrary content in. The two slots below are the only
|
|
8
|
+
* other things an empty state has turned out to need, and each has a fixed place. */
|
|
9
|
+
/** Nodes rather than strings, so a title can carry a code, a link or an emphasised
|
|
10
|
+
* word — keksdose's error boundary shows the error's name in `<code>` — while the
|
|
11
|
+
* box still sets the type. */
|
|
12
|
+
title: ReactNode;
|
|
13
|
+
hint?: ReactNode;
|
|
14
|
+
/**
|
|
15
|
+
* Render the title as a heading of this level. Left out it is a `<div>`, as before:
|
|
16
|
+
* most empty states are a message inside a section that already has its heading.
|
|
17
|
+
* keksdose's error boundary IS the page when it trips, and its `<h2>` went missing
|
|
18
|
+
* when it moved onto EmptyState — so the page's heading outline lost the one line
|
|
19
|
+
* that says what happened. Only the element changes; the look is the box's.
|
|
20
|
+
*/
|
|
21
|
+
headingAs?: "h2" | "h3" | "h4" | "h5" | "h6";
|
|
22
|
+
/** A glyph ABOVE the title — kastlan's InboxEmptyState (an inbox), keksdose's
|
|
23
|
+
* offline card (a cloud with a slash). Sized by the box (`[&_svg]:size-8`) and
|
|
24
|
+
* muted, so five call sites cannot pick five sizes; hidden from assistive tech,
|
|
25
|
+
* because the title already says what it shows. */
|
|
26
|
+
icon?: ReactNode;
|
|
27
|
+
/** What to do about it, BELOW the hint: keksdose's query-state cards (Retry), its
|
|
28
|
+
* error boundary (Retry / Reload / Go home — pass all three in a fragment, they
|
|
29
|
+
* wrap and centre as one row), kastlan's "Create a rule". Buttons or links the
|
|
30
|
+
* caller renders; the box only places them. */
|
|
31
|
+
action?: ReactNode;
|
|
32
|
+
/**
|
|
33
|
+
* `box` (default): the dashed, padded card that stands in for a whole section.
|
|
34
|
+
* `inline`: one quiet line with no box — for the empty state INSIDE something that
|
|
35
|
+
* already has its own frame, where a dashed card would be a box in a box. keksdose
|
|
36
|
+
* writes that line by hand five times as a muted `<p className="py-6 text-center">`:
|
|
37
|
+
* the notification inbox (notification-inbox:140), a support thread
|
|
38
|
+
* (support-thread:144), the assistant (assistant-page:321), the admin support panel
|
|
39
|
+
* (support-panel:265) and the funding dialog (funding-dialog:89). The icon shrinks
|
|
40
|
+
* to the text's size and sits before the title, the hint follows on the same line,
|
|
41
|
+
* and the row wraps only when it must. Centred like the box; `className="justify-start"`
|
|
42
|
+
* for a list that reads from the start edge (funding-dialog).
|
|
43
|
+
*/
|
|
44
|
+
variant?: "box" | "inline";
|
|
45
|
+
/**
|
|
46
|
+
* Colour the icon and the title: `danger` for an error standing where the content
|
|
47
|
+
* should be — kastlan's ErrorState (shared/components/feedback/error-state.tsx) and
|
|
48
|
+
* its error boundary's fallback (error-boundary.tsx:16), both a red triangle over a
|
|
49
|
+
* message — and `success` for an empty state that is GOOD news, kastlan's "No defects
|
|
50
|
+
* recorded for this room" (handover defects-step.tsx:142, a green check). Left out,
|
|
51
|
+
* both stay muted. The hint stays muted either way: it is the explanation, not the
|
|
52
|
+
* verdict.
|
|
53
|
+
*/
|
|
54
|
+
tone?: "danger" | "success";
|
|
55
|
+
/**
|
|
56
|
+
* `inline` only (0.11.0). `sm`: 12px, start-aligned and tight (`py-1`) — the empty
|
|
57
|
+
* line INSIDE a detail panel, under a panel heading and among `text-xs` rows, where
|
|
58
|
+
* the default's 14px centred line with `py-4` read as a section of its own.
|
|
59
|
+
* keksdose's holdings panel (holdings-panel:563), asset-loan panel
|
|
60
|
+
* (asset-loan-panel:108) and loan-payment panel (loan-payment-panel:191) each wrote
|
|
61
|
+
* `className="justify-start py-1"` over it and still got body-size text. Default `md`,
|
|
62
|
+
* the look it had. Ignored by the box.
|
|
63
|
+
*/
|
|
64
|
+
size?: "sm" | "md";
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
const EMPTY_STATE_TONE: Record<"danger" | "success", string> = {
|
|
68
|
+
danger: "text-danger",
|
|
69
|
+
success: "text-success",
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
export function EmptyState({
|
|
73
|
+
title,
|
|
74
|
+
hint,
|
|
75
|
+
icon,
|
|
76
|
+
action,
|
|
77
|
+
headingAs,
|
|
78
|
+
variant = "box",
|
|
79
|
+
tone,
|
|
80
|
+
size = "md",
|
|
81
|
+
className,
|
|
82
|
+
...rest
|
|
83
|
+
}: EmptyStateProps) {
|
|
84
|
+
const Title = headingAs ?? "div";
|
|
85
|
+
const toneClass = tone ? EMPTY_STATE_TONE[tone] : undefined;
|
|
86
|
+
const hasHint = hint != null && hint !== false && hint !== "";
|
|
87
|
+
if (variant === "inline") {
|
|
88
|
+
const sm = size === "sm";
|
|
89
|
+
return (
|
|
90
|
+
<div
|
|
91
|
+
{...rest}
|
|
92
|
+
className={cn(
|
|
93
|
+
"flex flex-wrap items-center text-muted",
|
|
94
|
+
sm
|
|
95
|
+
? "justify-start gap-x-1.5 gap-y-0.5 py-1 text-start text-xs"
|
|
96
|
+
: "justify-center gap-x-2 gap-y-1 py-4 text-center text-sm",
|
|
97
|
+
className,
|
|
98
|
+
)}
|
|
99
|
+
>
|
|
100
|
+
{icon != null && (
|
|
101
|
+
<span
|
|
102
|
+
aria-hidden
|
|
103
|
+
className={cn("flex text-placeholder", sm ? "[&_svg]:size-3.5" : "[&_svg]:size-4", toneClass)}
|
|
104
|
+
>
|
|
105
|
+
{icon}
|
|
106
|
+
</span>
|
|
107
|
+
)}
|
|
108
|
+
{/* No weight of its own: one muted line is what these sites were, and a
|
|
109
|
+
bold title would turn a quiet "nothing here" into a heading. */}
|
|
110
|
+
<Title className={cn(sm ? "text-xs" : "text-sm", toneClass)}>{title}</Title>
|
|
111
|
+
{hasHint && <span className="text-xs">{hint}</span>}
|
|
112
|
+
{action != null && <span className="flex flex-wrap items-center gap-2">{action}</span>}
|
|
113
|
+
</div>
|
|
114
|
+
);
|
|
115
|
+
}
|
|
116
|
+
return (
|
|
117
|
+
<div
|
|
118
|
+
{...rest}
|
|
119
|
+
className={cn(
|
|
120
|
+
"flex flex-col items-center justify-center rounded-lg border border-dashed border-strong bg-surface-2 px-4 py-10 text-center text-sm text-muted",
|
|
121
|
+
className,
|
|
122
|
+
)}
|
|
123
|
+
>
|
|
124
|
+
{icon != null && (
|
|
125
|
+
<div aria-hidden className={cn("mb-3 text-placeholder [&_svg]:size-8", toneClass)}>
|
|
126
|
+
{icon}
|
|
127
|
+
</div>
|
|
128
|
+
)}
|
|
129
|
+
{/* `text-sm`: a heading keeps the box's size, not whatever a stylesheet gives h2. */}
|
|
130
|
+
<Title className={cn("text-sm font-medium text-secondary", toneClass)}>{title}</Title>
|
|
131
|
+
{hasHint && <div className="mt-1 text-xs">{hint}</div>}
|
|
132
|
+
{action != null && (
|
|
133
|
+
<div className="mt-4 flex flex-wrap items-center justify-center gap-2">{action}</div>
|
|
134
|
+
)}
|
|
135
|
+
</div>
|
|
136
|
+
);
|
|
137
|
+
}
|