@eifi1/ui-kit 0.33.0 → 0.34.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 +445 -283
- 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 -100
- 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 -100
- 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 -100
- 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 -100
- package/dist/admin/plan-change.js +17 -23
- 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 -100
- 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 -100
- 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 -100
- 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 -100
- 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 -100
- 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 +8 -108
- 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 -100
- package/dist/billing/billing-labels.js.map +1 -1
- package/dist/billing/billing-lock.d.ts +10 -109
- package/dist/billing/billing-overview.d.ts +7 -108
- package/dist/billing/billing-standing.d.ts +6 -107
- package/dist/billing/checkout-processing.d.ts +8 -110
- 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 +22 -119
- package/dist/billing/pay-page.js.map +1 -1
- package/dist/billing/plan-card.d.ts +14 -114
- 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 +8 -108
- 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 -106
- 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 -108
- 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 -107
- package/dist/chart.d.ts +12 -112
- 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 +66 -109
- 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 +35 -30
- 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 -109
- 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 +8 -106
- package/dist/components/calculator.js +10 -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 +39 -205
- package/dist/components/chart-zoom.js +15 -316
- 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 +73 -0
- package/dist/components/chip-input.js +224 -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 +189 -122
- 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 +14 -159
- 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 -100
- 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 +70 -100
- 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 +63 -0
- package/dist/components/currency-option-list.js +135 -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 -100
- 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 +39 -22
- 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 +124 -15
- package/dist/components/data-table-labels.js +9 -5
- 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 +77 -0
- package/dist/components/data-table-shared.js +77 -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 +603 -15
- package/dist/components/data-table.js +134 -927
- 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 +7 -11
- 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 +55 -27
- package/dist/components/dropdown.js +62 -31
- 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 +10 -11
- 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 -115
- package/dist/components/facing-pair.js +1 -1
- package/dist/components/facing-pair.js.map +1 -1
- package/dist/components/field-base.d.ts +260 -0
- package/dist/components/field-base.js +228 -0
- package/dist/components/field-base.js.map +1 -0
- package/dist/components/field-parts.d.ts +188 -87
- package/dist/components/field-parts.js +60 -33
- package/dist/components/field-parts.js.map +1 -1
- package/dist/components/field-strip.d.ts +19 -28
- package/dist/components/field-strip.js +2 -2
- 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 +20 -19
- package/dist/components/field-sync.js +4 -10
- 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 -100
- 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 -109
- 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 -100
- 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 +17 -16
- package/dist/components/hover-menu.js +18 -17
- 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 -100
- 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 -110
- 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 -117
- package/dist/components/legal-page.js +2 -2
- package/dist/components/legal-page.js.map +1 -1
- package/dist/components/legal.d.ts +353 -100
- 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 +26 -18
- package/dist/components/modal.js +8 -11
- 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 -110
- 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 +81 -21
- package/dist/components/multi-select.js +171 -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 +13 -110
- package/dist/components/number-field.js +2 -3
- package/dist/components/number-field.js.map +1 -1
- package/dist/components/number-input.d.ts +55 -109
- package/dist/components/number-input.js +50 -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 -107
- 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 -100
- 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 +21 -23
- 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 -100
- 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 -213
- 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 +32 -23
- package/dist/components/server-wake.js +15 -35
- package/dist/components/server-wake.js.map +1 -1
- package/dist/components/settings-fields.d.ts +46 -117
- 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 -100
- 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 +13 -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 +15 -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 +14 -27
- package/dist/components/swipeable-row.js +2 -2
- 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 -118
- 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 -107
- 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 +16 -15
- package/dist/components/tooltip.js +4 -9
- 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 +26 -24
- package/dist/components/translation-review.js +13 -10
- 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 +154 -15
- package/dist/components/user-avatar.d.ts +8 -21
- package/dist/components/user-avatar.js +1 -1
- package/dist/components/user-avatar.js.map +1 -1
- package/dist/components/wizard-stepper.d.ts +6 -6
- package/dist/components/wizard-stepper.js +4 -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/data-table.d.ts +10 -18
- package/dist/data-table.js.map +1 -1
- package/dist/demo/demo-banner.d.ts +10 -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/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 -100
- 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 -100
- 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 -109
- 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 -100
- 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 -100
- 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 -100
- 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 -100
- 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 -100
- 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 -100
- 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 -100
- 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 -108
- 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 -109
- 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 -100
- 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 +378 -100
- package/dist/feedback/feedback-thread.js +32 -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 -104
- package/dist/hooks/use-anchored-panel.d.ts +109 -17
- package/dist/hooks/use-anchored-panel.js +38 -6
- 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 +37 -11
- package/dist/hooks/use-dismiss.js +69 -10
- package/dist/hooks/use-dismiss.js.map +1 -1
- package/dist/hooks/use-file-drop.d.ts +8 -109
- 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 +10 -4
- package/dist/hooks/use-focus-trap.js +19 -12
- 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 -104
- package/dist/i18n/defaults.js +82 -82
- package/dist/i18n/defaults.js.map +1 -1
- package/dist/i18n/german.d.ts +2 -104
- package/dist/i18n/german.js +56 -9
- package/dist/i18n/german.js.map +1 -1
- package/dist/i18n/kit-labels.d.ts +609 -100
- package/dist/i18n/kit-labels.js +22 -97
- package/dist/i18n/kit-labels.js.map +1 -1
- package/dist/i18n/languages.d.ts +197 -100
- package/dist/i18n/locales/de-CH.d.ts +3 -105
- package/dist/i18n/locales/en.d.ts +4 -104
- 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 -105
- package/dist/i18n/locales/es.js +54 -9
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.d.ts +3 -105
- package/dist/i18n/locales/fr.js +56 -9
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hu.d.ts +3 -105
- package/dist/i18n/locales/hu.js +56 -10
- package/dist/i18n/locales/hu.js.map +1 -1
- package/dist/i18n/locales/it.d.ts +3 -105
- package/dist/i18n/locales/it.js +55 -9
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/zh.d.ts +3 -105
- package/dist/i18n/locales/zh.js +52 -8
- package/dist/i18n/locales/zh.js.map +1 -1
- package/dist/i18n/plurals.d.ts +20 -3
- package/dist/i18n/plurals.js +11 -0
- package/dist/i18n/plurals.js.map +1 -1
- package/dist/i18n/review.d.ts +5 -106
- 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 +329 -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 -108
- 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 -120
- 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 -110
- package/dist/landing/public-header.js +1 -1
- package/dist/landing/public-header.js.map +1 -1
- package/dist/landing/routing.d.ts +16 -119
- 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/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 +123 -188
- package/dist/rhf/fields.js +46 -54
- package/dist/rhf/fields.js.map +1 -1
- package/dist/rhf/form-core.d.ts +153 -0
- package/dist/rhf/form-core.js +143 -0
- package/dist/rhf/form-core.js.map +1 -0
- package/dist/rhf/form.d.ts +38 -174
- package/dist/rhf/form.js +9 -131
- 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.d.ts +4 -117
- 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 -106
- 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 -100
- 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 +19 -9
- package/dist/shell/option-switcher-menu.js +6 -4
- package/dist/shell/option-switcher-menu.js.map +1 -1
- package/dist/shell/role-switcher.d.ts +5 -6
- package/dist/shell/role-switcher.js +4 -3
- package/dist/shell/role-switcher.js.map +1 -1
- package/dist/shell/top-bar-brand.d.ts +4 -106
- 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 +30 -31
- package/dist/shell/topbar-action-menu.js +12 -10
- package/dist/shell/topbar-action-menu.js.map +1 -1
- package/dist/shell/topbar-controls.d.ts +20 -18
- package/dist/shell/topbar-controls.js +14 -11
- package/dist/shell/topbar-controls.js.map +1 -1
- package/dist/shell.d.ts +25 -115
- 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 +9 -1
- package/dist/testing/index.js.map +1 -1
- package/dist/testing/viewport.d.ts +93 -0
- package/dist/testing/viewport.js +152 -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 +25 -15
- package/dist/theme/palette-presets.js +66 -66
- 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 -107
- package/dist/wizard/stepper-nav.js +15 -14
- package/dist/wizard/stepper-nav.js.map +1 -1
- package/dist/wizard/types.d.ts +18 -18
- package/dist/wizard/types.js +1 -19
- 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 -106
- package/package.json +9 -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 +89 -37
- 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 +2 -1
- package/src/billing/billing-labels.ts +1 -1
- package/src/billing/checkout-processing.ts +2 -12
- package/src/billing/pay-page.ts +9 -5
- package/src/billing/plan-card.tsx +26 -27
- package/src/billing/plan-limit-notice.tsx +1 -1
- package/src/billing/subscription-actions.tsx +4 -4
- package/src/chart.ts +7 -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 +461 -405
- 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 +84 -80
- 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 +18 -11
- 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 +64 -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 +377 -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 +351 -196
- package/src/components/combobox-suggestions.tsx +129 -0
- package/src/components/combobox.tsx +69 -893
- 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 +10 -12
- package/src/components/country-select-labels.ts +11 -0
- package/src/components/country-select.tsx +74 -89
- package/src/components/currency-option-list.tsx +216 -0
- package/src/components/currency-select.tsx +85 -196
- package/src/components/danger-confirm-labels.ts +20 -0
- package/src/components/danger-confirm.tsx +69 -77
- 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 +49 -24
- 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 +43 -11
- 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 +172 -0
- package/src/components/data-table.tsx +178 -1300
- 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 +8 -6
- package/src/components/disclosure.tsx +14 -14
- package/src/components/dropdown.tsx +114 -42
- package/src/components/empty-state.tsx +137 -0
- package/src/components/entity-combobox.tsx +17 -12
- 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 +615 -0
- package/src/components/field-parts.tsx +206 -77
- package/src/components/field-strip.tsx +16 -21
- package/src/components/field-sync-labels.ts +13 -0
- package/src/components/field-sync.tsx +11 -12
- package/src/components/field.tsx +13 -11
- 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 +33 -25
- package/src/components/grouped-picker.tsx +118 -96
- package/src/components/help-popover.tsx +115 -0
- package/src/components/hover-menu.tsx +46 -35
- 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 +36 -18
- 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 +313 -288
- package/src/components/nav-pills.tsx +19 -8
- package/src/components/number-field.tsx +14 -5
- package/src/components/number-input.tsx +125 -90
- 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 +40 -39
- 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 +124 -325
- package/src/components/server-wake-labels.ts +11 -0
- package/src/components/server-wake.tsx +42 -63
- package/src/components/settings-fields.tsx +46 -17
- 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 +11 -3
- 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 +32 -37
- 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 +7 -7
- 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 +10 -21
- package/src/components/translation-review-editor.tsx +8 -7
- package/src/components/translation-review-parts.tsx +9 -13
- package/src/components/translation-review.tsx +26 -14
- package/src/components/tree-view.tsx +14 -12
- package/src/components/ui-labels.ts +22 -0
- package/src/components/user-avatar.tsx +3 -3
- package/src/components/wizard-stepper.tsx +10 -5
- package/src/components/write-lock-labels.ts +9 -0
- package/src/components/write-lock.tsx +10 -12
- package/src/data-table.ts +4 -0
- package/src/demo/demo-banner.tsx +9 -25
- 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/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 +68 -48
- package/src/feedback/feedback-vocabulary.ts +252 -0
- package/src/hooks/use-anchored-panel.ts +155 -9
- 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 +176 -19
- 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 +74 -18
- package/src/i18n/defaults.ts +91 -82
- package/src/i18n/german.ts +54 -7
- package/src/i18n/kit-labels.tsx +70 -119
- package/src/i18n/locales/en.ts +46 -0
- package/src/i18n/locales/es.ts +52 -7
- package/src/i18n/locales/fr.ts +55 -8
- package/src/i18n/locales/hu.ts +54 -8
- package/src/i18n/locales/it.ts +53 -7
- package/src/i18n/locales/zh.ts +50 -6
- package/src/i18n/plurals.ts +29 -0
- package/src/i18n/review.ts +4 -0
- package/src/i18n/shared-labels.ts +135 -0
- package/src/index.ts +412 -402
- 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/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 +131 -179
- package/src/rhf/form-core.tsx +327 -0
- package/src/rhf/form.tsx +46 -321
- package/src/rhf/line-items.tsx +1 -1
- package/src/rhf.ts +3 -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 +25 -6
- package/src/shell/role-switcher.tsx +7 -3
- package/src/shell/top-bar-brand.tsx +1 -1
- package/src/shell/top-bar.tsx +6 -5
- package/src/shell/topbar-action-menu.tsx +39 -20
- package/src/shell/topbar-controls.tsx +24 -12
- package/src/shell.ts +1 -1
- package/src/testing/index.ts +11 -0
- package/src/testing/viewport.ts +251 -0
- package/src/theme/color.ts +7 -1
- package/src/theme/palette-derive.ts +29 -7
- package/src/theme/palette-presets.ts +81 -68
- 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 +7 -22
- 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 +63 -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 -100
- 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-DiPX4Vue.d.ts +0 -8130
- package/src/components/choice-parts.ts +0 -33
- package/src/components/ui.tsx +0 -4233
|
@@ -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,28 @@
|
|
|
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";
|
|
12
14
|
import { useOverlayHistory } from "../hooks/use-overlay-history";
|
|
13
15
|
import { cn } from "../lib/cn";
|
|
14
|
-
import { FIELD_TOUCH_TEXT } from "./
|
|
16
|
+
import { FIELD_TOUCH_TEXT } from "./field-base";
|
|
17
|
+
import { mergeRefs } from "./field-parts";
|
|
15
18
|
import { FOCUS_RING } from "./focus-ring";
|
|
16
19
|
import { useAnchorDir } from "./use-anchor-dir";
|
|
17
20
|
|
|
18
21
|
/**
|
|
19
|
-
* Open state + close-on-outside-click for
|
|
20
|
-
*
|
|
22
|
+
* Open state + close-on-outside-click for a custom dropdown — the two input-shaped
|
|
23
|
+
* comboboxes, and an app's own panel. (MultiSelect, CurrencySelect, GroupedPicker and
|
|
24
|
+
* AmountInput's currency picker moved onto `useComboboxCore` + `ComboboxPanel` in round
|
|
25
|
+
* 0.34, Wave 2 DUP-4, for the phone sheet and the portal.) Attach `wrapperRef`
|
|
21
26
|
* to the relatively-positioned container; the popover lives inside it so a click
|
|
22
27
|
* anywhere else closes it.
|
|
23
28
|
*
|
|
@@ -63,20 +68,35 @@ import { useAnchorDir } from "./use-anchor-dir";
|
|
|
63
68
|
* This hook had no Escape at all (the audit's §a11y): Back closed these lists, an
|
|
64
69
|
* outside press closed them, and the one key every other dismissible surface in the
|
|
65
70
|
* 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"
|
|
71
|
+
* out of it that did not also choose something. An open list is a layer on the kit's
|
|
72
|
+
* one Escape stack ({@link useDismissLayer}), as `Modal`, `Popover` and
|
|
73
|
+
* `useComboboxCore` are, so the package keeps one answer to "what does Escape do".
|
|
69
74
|
*
|
|
70
75
|
* Escape RESTORES FOCUS; an outside press does not. A press has already put focus
|
|
71
76
|
* where the user pointed, and dragging it back from there would be the bug. Attach
|
|
72
77
|
* `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
|
|
78
|
+
* Tab, a commit — hand focus back to it; leave it unattached and they hand it back to
|
|
79
|
+
* whatever held focus when the list opened, which is the control that was pressed.
|
|
80
|
+
*
|
|
81
|
+
* ## Escape inside a dialog (round 0.34 BUG-1, Wave 2 DUP-1)
|
|
82
|
+
*
|
|
83
|
+
* One press in an open list inside a `Modal` or a `FullBleedDialog` used to close the
|
|
84
|
+
* DIALOG, form and all, and leave the list open: the dialog took Escape in its own
|
|
85
|
+
* `onKeyDown` before a document listener could. On the stack the list is above the
|
|
86
|
+
* dialog, so the list closes and the dialog stays. {@link DropdownPanel} and
|
|
87
|
+
* {@link DropdownSearchHeader} take the key on their own elements, where focus is,
|
|
88
|
+
* and stop it there — so a caller passes nothing new, AmountInput's currency chip
|
|
89
|
+
* included.
|
|
90
|
+
*
|
|
91
|
+
* `escapeLayer: false` is for a caller that registers its own layer: the editable
|
|
92
|
+
* comboboxes, whose list can be "open" with nothing in it to show — an Escape there
|
|
93
|
+
* belongs to the dialog.
|
|
75
94
|
*/
|
|
76
95
|
export function useDropdown<T extends HTMLElement = HTMLDivElement>({
|
|
77
96
|
backCloses = true,
|
|
78
97
|
panelIsSheet = !backCloses,
|
|
79
|
-
|
|
98
|
+
escapeLayer = true,
|
|
99
|
+
}: { backCloses?: boolean; panelIsSheet?: boolean; escapeLayer?: boolean } = {}) {
|
|
80
100
|
const [open, setOpen] = useState(false);
|
|
81
101
|
const wrapperRef = useRef<T>(null);
|
|
82
102
|
// The control that opens the panel — see the note above on why only the keyboard
|
|
@@ -87,17 +107,29 @@ export function useDropdown<T extends HTMLElement = HTMLDivElement>({
|
|
|
87
107
|
// the wrapper" answers no for every click on the list itself and the first option a
|
|
88
108
|
// user picked closed the dropdown without picking anything.
|
|
89
109
|
const panelRef = useRef<HTMLDivElement>(null);
|
|
110
|
+
// Where focus was as the list opened — the trigger focus goes back to when the
|
|
111
|
+
// caller attached none. Read in an effect, before `useDropdownSearch`'s frame moves
|
|
112
|
+
// focus into the search box.
|
|
113
|
+
const openerRef = useRef<HTMLElement | null>(null);
|
|
114
|
+
useEffect(() => {
|
|
115
|
+
if (!open) return;
|
|
116
|
+
const el = document.activeElement;
|
|
117
|
+
openerRef.current = el instanceof HTMLElement && el !== document.body ? el : null;
|
|
118
|
+
}, [open]);
|
|
90
119
|
const close = useCallback(() => setOpen(false), []);
|
|
91
120
|
// Closing unmounts whatever held focus — the search box, the row the keyboard was
|
|
92
121
|
// 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
|
-
//
|
|
122
|
+
// Tab restarts at the top of the document, and inside a dialog the next Escape goes
|
|
123
|
+
// nowhere. Whoever closed the list with a key gets focus handed back to the trigger
|
|
124
|
+
// they opened it from.
|
|
95
125
|
const closeToTrigger = useCallback(() => {
|
|
96
126
|
setOpen(false);
|
|
97
|
-
triggerRef.current
|
|
127
|
+
const back = triggerRef.current ?? openerRef.current;
|
|
128
|
+
if (back?.isConnected) back.focus();
|
|
98
129
|
}, []);
|
|
99
130
|
useOutsideClick([wrapperRef, panelRef], close, open && !panelIsSheet);
|
|
100
|
-
|
|
131
|
+
// See "Escape inside a dialog" above.
|
|
132
|
+
useDismissLayer(open && escapeLayer, closeToTrigger);
|
|
101
133
|
// Same close path Escape and an outside click take, so a list dismissed by Back
|
|
102
134
|
// cannot end up in a different state from one dismissed any other way.
|
|
103
135
|
useOverlayHistory(open && backCloses, close);
|
|
@@ -137,7 +169,7 @@ export function useDropdownSearch<T extends HTMLElement = HTMLDivElement>() {
|
|
|
137
169
|
* where the focus is (see the note above), so the div's own handler signature is
|
|
138
170
|
* omitted in favour of it. */
|
|
139
171
|
export interface DropdownSearchHeaderProps
|
|
140
|
-
extends Omit<
|
|
172
|
+
extends Omit<ComponentPropsWithRef<"div">, "onKeyDown"> {
|
|
141
173
|
query: string;
|
|
142
174
|
onQueryChange: (v: string) => void;
|
|
143
175
|
inputRef: RefObject<HTMLInputElement | null>;
|
|
@@ -146,7 +178,9 @@ export interface DropdownSearchHeaderProps
|
|
|
146
178
|
listboxId?: string;
|
|
147
179
|
/** The id of the option the arrow keys are currently on, if any. */
|
|
148
180
|
activeId?: string;
|
|
149
|
-
/** Arrow/Home/End/Enter/Tab — the list's keyboard, handled where the focus is.
|
|
181
|
+
/** Arrow/Home/End/Enter/Tab — the list's keyboard, handled where the focus is.
|
|
182
|
+
* Escape closes the list (the topmost layer on the kit's Escape stack); call
|
|
183
|
+
* `preventDefault()` on it here to keep it. */
|
|
150
184
|
onKeyDown?: (e: ReactKeyboardEvent<HTMLInputElement>) => void;
|
|
151
185
|
}
|
|
152
186
|
|
|
@@ -192,17 +226,22 @@ export function DropdownSearchHeader({
|
|
|
192
226
|
<div
|
|
193
227
|
{...rest}
|
|
194
228
|
className={cn(
|
|
195
|
-
"flex items-center gap-2 border-b border-
|
|
229
|
+
"flex items-center gap-2 border-b border-subtle px-2 py-1.5",
|
|
196
230
|
className,
|
|
197
231
|
)}
|
|
198
232
|
>
|
|
199
|
-
<Search className="size-4 text-
|
|
233
|
+
<Search className="size-4 text-placeholder" />
|
|
200
234
|
<input
|
|
201
235
|
ref={inputRef}
|
|
202
236
|
type="text"
|
|
203
237
|
value={query}
|
|
204
238
|
onChange={(e) => onQueryChange(e.target.value)}
|
|
205
|
-
onKeyDown={
|
|
239
|
+
onKeyDown={(e) => {
|
|
240
|
+
runOwnKeyDown(e, onKeyDown);
|
|
241
|
+
// Focus is in this box while the list is up, so this is where Escape lands
|
|
242
|
+
// first — see "Escape inside a dialog" on {@link useDropdown}.
|
|
243
|
+
takeEscape(e);
|
|
244
|
+
}}
|
|
206
245
|
placeholder={placeholder}
|
|
207
246
|
aria-label={ariaLabel}
|
|
208
247
|
aria-controls={listboxId}
|
|
@@ -211,7 +250,7 @@ export function DropdownSearchHeader({
|
|
|
211
250
|
// FIELD_TOUCH_TEXT: a search box is a field — at least 16 px on touch, or iOS zooms
|
|
212
251
|
// the page the moment a picker opens and focuses it (§10.1).
|
|
213
252
|
className={cn(
|
|
214
|
-
"w-full rounded-sm bg-transparent text-sm outline-none placeholder:text-
|
|
253
|
+
"w-full rounded-sm bg-transparent text-sm outline-none placeholder:text-placeholder text-primary",
|
|
215
254
|
FOCUS_RING,
|
|
216
255
|
FIELD_TOUCH_TEXT,
|
|
217
256
|
)}
|
|
@@ -230,19 +269,32 @@ export interface DropdownPanelProps extends ComponentPropsWithoutRef<"div"> {
|
|
|
230
269
|
listProps?: ComponentPropsWithoutRef<"ul">;
|
|
231
270
|
/** The trigger to hang off. Given, the panel portals and goes `fixed`. */
|
|
232
271
|
anchorRef?: RefObject<HTMLElement | null>;
|
|
233
|
-
/** {@link useDropdown}'s `panelRef`, so an outside-click sees this as inside.
|
|
272
|
+
/** {@link useDropdown}'s `panelRef`, so an outside-click sees this as inside. Escape
|
|
273
|
+
* anywhere in the panel, on a row as in the search box, closes the list rather than
|
|
274
|
+
* a dialog around it. */
|
|
234
275
|
panelRef?: RefObject<HTMLDivElement | null>;
|
|
235
276
|
/** Panel width in px, for the anchored form (the CSS `w-*` cannot be measured). */
|
|
236
277
|
width?: number;
|
|
237
278
|
/** Which of the panel's edges lines up with the trigger's, room permitting.
|
|
238
279
|
* `start`/`end` follow the trigger's reading direction — `end` is the right edge
|
|
239
280
|
* in a left-to-right form and the left one in a right-to-left form — and are what
|
|
240
|
-
* the kit's own pickers pass; `left`/`right`
|
|
241
|
-
* is the old `right` in a
|
|
242
|
-
|
|
281
|
+
* the kit's own pickers pass; `left`/`right` are physical and deprecated
|
|
282
|
+
* ({@link PhysicalAlign}). Default `end`, which is the old `right` in a
|
|
283
|
+
* left-to-right page. */
|
|
284
|
+
align?: "start" | "end" | PhysicalAlign;
|
|
243
285
|
children: ReactNode;
|
|
286
|
+
/** The panel, where the rest of the props go (0.34, API-2, refactor audit 2026-10) —
|
|
287
|
+
* merged with `panelRef`, so the outside-click still sees it. */
|
|
288
|
+
ref?: Ref<HTMLDivElement>;
|
|
244
289
|
}
|
|
245
290
|
|
|
291
|
+
/**
|
|
292
|
+
* @deprecated 0.34 — `"start"` / `"end"`, which follow the reading direction: `"right"`
|
|
293
|
+
* is `"end"` in a left-to-right page, the default; removed in 0.35 (refactor audit
|
|
294
|
+
* 2026-10, API-6e). The physical edges DropdownPanel's `align` still takes.
|
|
295
|
+
*/
|
|
296
|
+
type PhysicalAlign = "left" | "right";
|
|
297
|
+
|
|
246
298
|
/**
|
|
247
299
|
* The floating popover surface for the searchable dropdowns: bordered/shadowed
|
|
248
300
|
* panel, an optional `header` slot (search box, plus any actions), and a
|
|
@@ -282,10 +334,19 @@ export function DropdownPanel({
|
|
|
282
334
|
align = "end",
|
|
283
335
|
children,
|
|
284
336
|
style,
|
|
337
|
+
onKeyDown,
|
|
338
|
+
ref,
|
|
285
339
|
...rest
|
|
286
340
|
}: DropdownPanelProps) {
|
|
341
|
+
const setPanel = useMemo(() => mergeRefs(panelRef, ref), [panelRef, ref]);
|
|
287
342
|
const anchored = useAnchoredPanel(anchorRef ?? EMPTY_REF, Boolean(anchorRef));
|
|
288
343
|
const dir = useAnchorDir(anchorRef ?? EMPTY_REF, Boolean(anchorRef));
|
|
344
|
+
// A row the keyboard reached by Tab holds focus too, and its Escape has to close the
|
|
345
|
+
// list as the search box's does (BUG-1). The caller's handler first, as everywhere.
|
|
346
|
+
const handleKeyDown = (e: ReactKeyboardEvent<HTMLDivElement>) => {
|
|
347
|
+
runOwnKeyDown(e, onKeyDown);
|
|
348
|
+
takeEscape(e);
|
|
349
|
+
};
|
|
289
350
|
const body = (
|
|
290
351
|
<>
|
|
291
352
|
{header}
|
|
@@ -298,7 +359,7 @@ export function DropdownPanel({
|
|
|
298
359
|
end up with one child that is not an option. The em dash still reads — it
|
|
299
360
|
is the row's semantics that are dropped, not its text. */}
|
|
300
361
|
{empty && (
|
|
301
|
-
<li role="presentation" className="px-3 py-2 text-sm text-
|
|
362
|
+
<li role="presentation" className="px-3 py-2 text-sm text-muted">
|
|
302
363
|
—
|
|
303
364
|
</li>
|
|
304
365
|
)}
|
|
@@ -308,12 +369,14 @@ export function DropdownPanel({
|
|
|
308
369
|
|
|
309
370
|
if (!anchorRef) {
|
|
310
371
|
return (
|
|
372
|
+
// 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
373
|
<div
|
|
312
374
|
{...rest}
|
|
313
375
|
style={style}
|
|
314
|
-
ref={
|
|
376
|
+
ref={setPanel}
|
|
377
|
+
onKeyDown={handleKeyDown}
|
|
315
378
|
className={cn(
|
|
316
|
-
"absolute z-30 mt-1 rounded-md border border-
|
|
379
|
+
"absolute z-30 mt-1 rounded-md border border-subtle bg-surface shadow-lg",
|
|
317
380
|
"[&>ul]:max-h-64",
|
|
318
381
|
className,
|
|
319
382
|
)}
|
|
@@ -325,26 +388,35 @@ export function DropdownPanel({
|
|
|
325
388
|
|
|
326
389
|
const rect = anchored.rect;
|
|
327
390
|
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);
|
|
391
|
+
// Clamped to the glass as `Popover` is (Wave 2, DUP-7): the panel may leave the
|
|
392
|
+
// trigger's edge to stay on screen, because a list half off the viewport is the bug
|
|
393
|
+
// this exists for. The portal leaves the subtree the trigger's `dir` came from, so it
|
|
394
|
+
// is read off the trigger — for the alignment here, and for the panel's own `dir`
|
|
395
|
+
// below, without which a right-to-left form got a left-to-right list.
|
|
396
|
+
const { left } = anchoredInline(rect, width, { dir, align });
|
|
337
397
|
return createPortal(
|
|
398
|
+
// 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
399
|
<div
|
|
339
400
|
{...rest}
|
|
340
|
-
ref={
|
|
401
|
+
ref={setPanel}
|
|
341
402
|
dir={dir}
|
|
403
|
+
onKeyDown={handleKeyDown}
|
|
342
404
|
// The caller's `style` is kept underneath, but the placement is measured rather
|
|
343
405
|
// than chosen (dev#548: an `overflow` ancestor clipped a third of this panel
|
|
344
|
-
// away), so
|
|
345
|
-
|
|
406
|
+
// away), so these values are the panel's own. Flipped above, it hangs from its
|
|
407
|
+
// bottom edge, so a list shorter than its cap still meets the trigger (keksdose
|
|
408
|
+
// K1); the edge not in use is cleared, a caller's included.
|
|
409
|
+
style={{
|
|
410
|
+
...style,
|
|
411
|
+
position: "fixed",
|
|
412
|
+
top: anchored.above ? undefined : anchored.top,
|
|
413
|
+
bottom: anchored.above ? anchored.bottom : undefined,
|
|
414
|
+
left,
|
|
415
|
+
width,
|
|
416
|
+
maxHeight: anchored.maxHeight,
|
|
417
|
+
}}
|
|
346
418
|
className={cn(
|
|
347
|
-
"z-50 flex flex-col overflow-hidden rounded-md border border-
|
|
419
|
+
"z-50 flex flex-col overflow-hidden rounded-md border border-subtle bg-surface shadow-lg",
|
|
348
420
|
// The list, not the panel, is what scrolls: the search header has to stay put
|
|
349
421
|
// while the options move under it.
|
|
350
422
|
"[&>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
|
+
}
|
|
@@ -2,27 +2,30 @@ import { useCallback, useId } from "react";
|
|
|
2
2
|
import type { ComponentPropsWithoutRef, ReactNode, Ref } from "react";
|
|
3
3
|
import { X } from "lucide-react";
|
|
4
4
|
import { cn } from "../lib/cn";
|
|
5
|
-
import { FieldChevron,
|
|
5
|
+
import { FieldChevron, FIELD_TRIGGER, FIELD_FLOATING_PAD, FIELD_INVALID } from "./field-base";
|
|
6
|
+
import { FieldLabel } from "./field-parts";
|
|
6
7
|
import {
|
|
7
8
|
ComboboxPanel,
|
|
8
9
|
endHintRowProps,
|
|
9
10
|
offersCreate,
|
|
10
11
|
useComboboxCore,
|
|
11
|
-
useComboboxFieldError,
|
|
12
12
|
type ComboClearValue,
|
|
13
13
|
type ComboOption,
|
|
14
14
|
} from "./combobox-core";
|
|
15
15
|
import { DEFAULT_COMBOBOX_LABELS, DEFAULT_COMMON_LABELS, useKitLabels } from "../i18n/kit-labels";
|
|
16
16
|
import {
|
|
17
|
+
assignRef,
|
|
17
18
|
EndHintRow,
|
|
18
19
|
FieldCaption,
|
|
19
20
|
LABEL_IN_ROW,
|
|
20
21
|
LockedReason,
|
|
22
|
+
mergeDescribedBy,
|
|
21
23
|
StaticLabelRow,
|
|
24
|
+
useFieldError,
|
|
22
25
|
useFieldHint,
|
|
23
26
|
useLockReason,
|
|
27
|
+
type DisabledReasonDisplay,
|
|
24
28
|
} from "./field-parts";
|
|
25
|
-
import { assignRef, mergeDescribedBy } from "./choice-parts";
|
|
26
29
|
import { useCommitReason, type CommitScope } from "./write-lock";
|
|
27
30
|
|
|
28
31
|
export type { ComboClearValue, ComboOption } from "./combobox-core";
|
|
@@ -90,6 +93,9 @@ export interface EntityComboboxProps<V extends string | number, C extends ComboC
|
|
|
90
93
|
* off there and put `commit` on the Save. No provider, or an unlocked one: no effect.
|
|
91
94
|
*/
|
|
92
95
|
commit?: CommitScope;
|
|
96
|
+
/** Where the reason shows — {@link Button}'s `disabledReasonDisplay`: a line under the
|
|
97
|
+
* field at Large and on a touch screen by default, the tooltip otherwise (DUP-3). */
|
|
98
|
+
disabledReasonDisplay?: DisabledReasonDisplay;
|
|
93
99
|
/** When set, a "create" row appears for a non-empty query with no exact match. */
|
|
94
100
|
onCreate?: (query: string) => void;
|
|
95
101
|
createLabel?: (query: string) => string;
|
|
@@ -166,6 +172,7 @@ export function EntityCombobox<V extends string | number, C extends ComboClearVa
|
|
|
166
172
|
sheetTitle,
|
|
167
173
|
disabled,
|
|
168
174
|
disabledReason,
|
|
175
|
+
disabledReasonDisplay,
|
|
169
176
|
commit,
|
|
170
177
|
onCreate,
|
|
171
178
|
createLabel,
|
|
@@ -200,11 +207,7 @@ export function EntityCombobox<V extends string | number, C extends ComboClearVa
|
|
|
200
207
|
debounceMs,
|
|
201
208
|
});
|
|
202
209
|
const hintParts = useFieldHint(hint, ariaDescribedBy);
|
|
203
|
-
const field =
|
|
204
|
-
error,
|
|
205
|
-
invalid || ariaInvalid === true || ariaInvalid === "true",
|
|
206
|
-
hintParts.describedBy,
|
|
207
|
-
);
|
|
210
|
+
const field = useFieldError(error, invalid, hintParts.describedBy, ariaInvalid);
|
|
208
211
|
// The props are the per-instance overrides, the provider the app-wide ones; a
|
|
209
212
|
// prop left `undefined` falls through to the provider rather than masking it.
|
|
210
213
|
const labels = useKitLabels("combobox", DEFAULT_COMBOBOX_LABELS, {
|
|
@@ -256,7 +259,7 @@ export function EntityCombobox<V extends string | number, C extends ComboClearVa
|
|
|
256
259
|
// copy of the reason, Button's anatomy — `block` so a full-width field stays full width.
|
|
257
260
|
const withLock = (trigger: ReactNode) =>
|
|
258
261
|
lock.locked ? (
|
|
259
|
-
<LockedReason lock={lock} className="block">
|
|
262
|
+
<LockedReason lock={lock} display={disabledReasonDisplay} className="block">
|
|
260
263
|
{trigger}
|
|
261
264
|
</LockedReason>
|
|
262
265
|
) : (
|
|
@@ -344,7 +347,9 @@ export function EntityCombobox<V extends string | number, C extends ComboClearVa
|
|
|
344
347
|
{selectedOption?.icon && <span className="shrink-0">{selectedOption.icon}</span>}
|
|
345
348
|
<span
|
|
346
349
|
className={cn(
|
|
347
|
-
|
|
350
|
+
// One line at Normal; from Large up the value wraps and the trigger
|
|
351
|
+
// grows, as DatePicker's does (text size §10.17, round 0.34 T1).
|
|
352
|
+
"truncate-until-large",
|
|
348
353
|
// A chosen value is the field's VALUE, so it is set in the same ink an
|
|
349
354
|
// <input>'s value is — FIELD_BASE's own text colour, inherited rather
|
|
350
355
|
// than restated (Keksdose dev#477). It used to be one notch lighter
|
|
@@ -352,7 +357,7 @@ export function EntityCombobox<V extends string | number, C extends ComboClearVa
|
|
|
352
357
|
// and a text field share a form row. Nothing selected keeps the
|
|
353
358
|
// placeholder tone (`--text-placeholder`), which every field here
|
|
354
359
|
// agrees on.
|
|
355
|
-
!selectedOption && "text-
|
|
360
|
+
!selectedOption && "text-placeholder",
|
|
356
361
|
)}
|
|
357
362
|
>
|
|
358
363
|
{selectedOption?.label ?? placeholder ?? ""}
|
|
@@ -370,7 +375,7 @@ export function EntityCombobox<V extends string | number, C extends ComboClearVa
|
|
|
370
375
|
e.stopPropagation();
|
|
371
376
|
onChange(clearValue);
|
|
372
377
|
}}
|
|
373
|
-
className="absolute end-2 top-1/2 -translate-y-1/2 rounded p-0.5 text-
|
|
378
|
+
className="absolute end-2 top-1/2 -translate-y-1/2 rounded p-0.5 text-placeholder hover:text-secondary"
|
|
374
379
|
>
|
|
375
380
|
<X className="size-4" />
|
|
376
381
|
</span>
|