@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,4 +1,4 @@
|
|
|
1
|
-
import { Fragment, useEffect,
|
|
1
|
+
import { Fragment, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
2
2
|
import { createPortal } from "react-dom";
|
|
3
3
|
import type {
|
|
4
4
|
ComponentPropsWithoutRef,
|
|
@@ -13,14 +13,18 @@ import { cn } from "../lib/cn";
|
|
|
13
13
|
import { CLIPS_ATTRIBUTE } from "../lib/clipping";
|
|
14
14
|
import { DropdownSearchHeader } from "./dropdown";
|
|
15
15
|
import { PickerSheet, SHEET_ROW_CLASS } from "./picker-sheet";
|
|
16
|
-
import { usePhoneLayout } from "../hooks/use-breakpoint";
|
|
17
|
-
import { FLOATING_LABEL_STATIC
|
|
16
|
+
import { usePhoneLayout, useRemPx } from "../hooks/use-breakpoint";
|
|
17
|
+
import { FLOATING_LABEL_STATIC } from "./field-parts";
|
|
18
|
+
import { Spinner } from "./spinner";
|
|
18
19
|
import { useAnchorDir } from "./use-anchor-dir";
|
|
19
20
|
import { type AnchorRect } from "../hooks/use-anchored-rect";
|
|
20
|
-
import { useAnchoredPanel, type AnchoredPanel } from "../hooks/use-anchored-panel";
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
21
|
+
import { anchoredInline, useAnchoredPanel, viewportSize, type AnchoredPanel } from "../hooks/use-anchored-panel";
|
|
22
|
+
import { takeEscape, useDismissLayer, useOutsideClick } from "../hooks/use-dismiss";
|
|
23
|
+
import { useOverlayHistory } from "../hooks/use-overlay-history";
|
|
24
|
+
import { isImeEnter } from "../lib/ime";
|
|
25
|
+
import { foldForSearch } from "../lib/text-match";
|
|
26
|
+
import { DEFAULT_COMBOBOX_LABELS, useKitLabels, useKitLocale } from "../i18n/kit-labels";
|
|
27
|
+
import { hasContent } from "../lib/presence";
|
|
24
28
|
|
|
25
29
|
/**
|
|
26
30
|
* What an entity picker hands `onChange` when it is cleared — `clearValue` on
|
|
@@ -184,7 +188,8 @@ export interface OptionSourceOptions<V extends string | number> {
|
|
|
184
188
|
/** External loading flag, OR-ed with the internal async state. */
|
|
185
189
|
loading?: boolean;
|
|
186
190
|
/**
|
|
187
|
-
* Narrow `options` by the query (label/sublabel substring
|
|
191
|
+
* Narrow `options` by the query (label/sublabel substring, folded for search: no case,
|
|
192
|
+
* no accents, the locale's case rules — "zurich" finds Zürich, DUP-5). Default `true`.
|
|
188
193
|
*
|
|
189
194
|
* `false` shows `options` exactly as given, in the given order — for a list the
|
|
190
195
|
* caller has already searched and ranked on a server (Keksdose's geocoder), which a
|
|
@@ -267,15 +272,18 @@ export function useOptionSource<V extends string | number>({
|
|
|
267
272
|
return () => clearTimeout(t);
|
|
268
273
|
}, [query, active, isAsync, tooShort, debounceMs]);
|
|
269
274
|
|
|
275
|
+
// Folded as every kit list folds (DUP-5, refactor audit 2026-10): plain `toLowerCase`
|
|
276
|
+
// here meant "zurich" found no Zürich in kastlan's eighteen entity pickers, and the
|
|
277
|
+
// Turkish "ı" no "IRMAK".
|
|
278
|
+
const locale = useKitLocale();
|
|
270
279
|
const clientResults = useMemo(() => {
|
|
271
280
|
if (isAsync) return [];
|
|
272
281
|
const src = options ?? [];
|
|
273
|
-
const q = query.trim()
|
|
282
|
+
const q = foldForSearch(query.trim(), locale);
|
|
274
283
|
if (!filter || !q) return src;
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
}, [isAsync, options, query, filter]);
|
|
284
|
+
const hit = (s: string | undefined) => s !== undefined && foldForSearch(s, locale).includes(q);
|
|
285
|
+
return src.filter((o) => hit(o.label) || hit(o.sublabel));
|
|
286
|
+
}, [isAsync, options, query, filter, locale]);
|
|
279
287
|
|
|
280
288
|
const pending = isAsync && active && !tooShort && settled.query !== query;
|
|
281
289
|
const failed = isAsync && !tooShort && settled.failed;
|
|
@@ -287,7 +295,16 @@ export function useOptionSource<V extends string | number>({
|
|
|
287
295
|
};
|
|
288
296
|
}
|
|
289
297
|
|
|
290
|
-
export
|
|
298
|
+
export interface ComboboxCoreOptions<V extends string | number> extends OptionSourceOptions<V> {
|
|
299
|
+
/**
|
|
300
|
+
* Back closes the open anchored list, not the page or the dialog behind it — the rule
|
|
301
|
+
* `useDropdown` keeps for its lists (keksdose live #309 rework). Default `false`, as the
|
|
302
|
+
* entity pickers have always been; CurrencySelect, MultiSelect, GroupedPicker and
|
|
303
|
+
* AmountInput's currency chip, which came over from `useDropdown` (DUP-4), pass `true`
|
|
304
|
+
* so they keep it. On a phone the `PickerSheet` registers Back itself.
|
|
305
|
+
*/
|
|
306
|
+
backCloses?: boolean;
|
|
307
|
+
}
|
|
291
308
|
|
|
292
309
|
export interface ComboboxCore<V extends string | number> {
|
|
293
310
|
triggerRef: RefObject<HTMLButtonElement | null>;
|
|
@@ -328,6 +345,7 @@ export interface ComboboxCore<V extends string | number> {
|
|
|
328
345
|
export function useComboboxCore<V extends string | number>({
|
|
329
346
|
options,
|
|
330
347
|
minChars = 0,
|
|
348
|
+
backCloses = false,
|
|
331
349
|
...source
|
|
332
350
|
}: ComboboxCoreOptions<V>): ComboboxCore<V> {
|
|
333
351
|
const triggerRef = useRef<HTMLButtonElement>(null);
|
|
@@ -366,7 +384,12 @@ export function useComboboxCore<V extends string | number>({
|
|
|
366
384
|
// `useDropdown`'s listener and never covered this hook.
|
|
367
385
|
const isPhone = usePhoneLayout();
|
|
368
386
|
useOutsideClick([triggerRef, panelRef], close, open && !isPhone);
|
|
369
|
-
|
|
387
|
+
// A layer on the Escape stack while the anchored panel is open (Wave 2, DUP-1), so a
|
|
388
|
+
// dialog around the picker closes only after it (BUG-1). `ComboboxPanel` takes the key
|
|
389
|
+
// where focus is. On a phone the `PickerSheet` is the layer, as it is the outside.
|
|
390
|
+
useDismissLayer(open && !isPhone, closeToTrigger);
|
|
391
|
+
// See `backCloses`. The same close path a pointer dismissal takes.
|
|
392
|
+
useOverlayHistory(backCloses && open && !isPhone, close);
|
|
370
393
|
|
|
371
394
|
// Reset the query each time the panel opens, and the highlighted row whenever the
|
|
372
395
|
// visible set changes (a new query, or the panel opening or closing). Adjusted while
|
|
@@ -435,43 +458,20 @@ export function useComboboxCore<V extends string | number>({
|
|
|
435
458
|
};
|
|
436
459
|
}
|
|
437
460
|
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
const FIELD_ERROR_CLASS = "mt-1 text-caption leading-tight text-[var(--danger)]";
|
|
441
|
-
|
|
442
|
-
/**
|
|
443
|
-
* {@link Input}'s `error` for the combobox family: the message under the field, its
|
|
444
|
-
* id on the control's `aria-describedby` (merged, never replacing — the hint the
|
|
445
|
-
* caller pointed at stays first), and `invalid` implied. ui.tsx's `useFieldError` is
|
|
446
|
-
* module-private, so this restates it on the same rules `choice-parts.ts` does.
|
|
447
|
-
*/
|
|
448
|
-
export function useComboboxFieldError(
|
|
449
|
-
error: ReactNode,
|
|
450
|
-
invalid: boolean | undefined,
|
|
451
|
-
describedBy?: string,
|
|
452
|
-
) {
|
|
453
|
-
const errorId = useId();
|
|
454
|
-
const has = hasMessage(error);
|
|
455
|
-
return {
|
|
456
|
-
isInvalid: Boolean(invalid) || has,
|
|
457
|
-
describedBy: mergeDescribedBy(describedBy, has && errorId),
|
|
458
|
-
errorEl: has ? (
|
|
459
|
-
<p id={errorId} className={FIELD_ERROR_CLASS}>
|
|
460
|
-
{error}
|
|
461
|
-
</p>
|
|
462
|
-
) : null,
|
|
463
|
-
};
|
|
464
|
-
}
|
|
461
|
+
// The family's `error` is every field's `useFieldError` (field-parts) since 0.34 — the
|
|
462
|
+
// restatement that stood here ignored a form library's `aria-invalid` (DUP-8).
|
|
465
463
|
|
|
466
464
|
/** The anchored suggestion list's box and rows — one look for {@link Combobox},
|
|
467
465
|
* {@link InlineEntityCombobox} and {@link Autocomplete}. */
|
|
468
466
|
export const SUGGESTION_LIST_CLASS =
|
|
469
|
-
"max-h-64 overflow-y-auto rounded-md border border-
|
|
467
|
+
"max-h-64 overflow-y-auto rounded-md border border-subtle bg-surface py-1 shadow-lg";
|
|
470
468
|
|
|
469
|
+
// One line at Normal; from Large up a long suggestion wraps and its row grows (text size
|
|
470
|
+
// §10.17, round 0.34 T1), like every other option list of the kit.
|
|
471
471
|
export const suggestionRowClass = (isActive: boolean) =>
|
|
472
472
|
cn(
|
|
473
|
-
"block w-full truncate px-3 py-1.5 text-start text-sm text-
|
|
474
|
-
isActive ? "bg-
|
|
473
|
+
"block w-full truncate-until-large px-3 py-1.5 text-start text-sm text-primary",
|
|
474
|
+
isActive ? "bg-active" : "hover:bg-hover",
|
|
475
475
|
);
|
|
476
476
|
|
|
477
477
|
/**
|
|
@@ -493,6 +493,34 @@ export function useActiveOptionScroll(activeId: string | undefined): void {
|
|
|
493
493
|
}, [activeId]);
|
|
494
494
|
}
|
|
495
495
|
|
|
496
|
+
/** The anchored panel's least width, in rem: 220 px at Normal (§3.2). */
|
|
497
|
+
const PANEL_MIN_REM = 13.75;
|
|
498
|
+
|
|
499
|
+
/** The room the anchored panel keeps from either edge of the glass, in px —
|
|
500
|
+
* `anchoredInline`'s default. */
|
|
501
|
+
const PANEL_EDGE = 8;
|
|
502
|
+
|
|
503
|
+
/**
|
|
504
|
+
* How wide the anchored panel is. The phone sheet is the screen's width whatever this
|
|
505
|
+
* says.
|
|
506
|
+
*/
|
|
507
|
+
export interface ComboboxPanelWidth {
|
|
508
|
+
/** The least width, in rem — never under the trigger's own. Default 13.75 (220 px at
|
|
509
|
+
* Normal, §3.2). */
|
|
510
|
+
minRem?: number;
|
|
511
|
+
/**
|
|
512
|
+
* As wide as the rows make it (`max-content`), between the least width and `maxRem`,
|
|
513
|
+
* instead of exactly the least — measured, so the clamp to the glass still knows it.
|
|
514
|
+
* CurrencySelect's list grows to show the full currency names (feedback #308);
|
|
515
|
+
* MultiSelect's rows to show their hints (keksdose #147). A `w-*` class in the panel's
|
|
516
|
+
* `className` does not apply: the panel is portalled to <body>, where `w-full` would be
|
|
517
|
+
* the screen.
|
|
518
|
+
*/
|
|
519
|
+
fit?: boolean;
|
|
520
|
+
/** With `fit`, the most it grows to, in rem. Default: the glass. */
|
|
521
|
+
maxRem?: number;
|
|
522
|
+
}
|
|
523
|
+
|
|
496
524
|
export interface ComboboxPanelProps<V extends string | number>
|
|
497
525
|
extends ComponentPropsWithoutRef<"div"> {
|
|
498
526
|
core: ComboboxCore<V>;
|
|
@@ -523,6 +551,30 @@ export interface ComboboxPanelProps<V extends string | number>
|
|
|
523
551
|
closeLabel?: string;
|
|
524
552
|
/** Default: `combobox.loadError` from the {@link UiKitProvider}, else English. */
|
|
525
553
|
loadErrorLabel?: string;
|
|
554
|
+
/**
|
|
555
|
+
* What a row shows in place of its label and sublabel — for a row that says more than
|
|
556
|
+
* two strings: CurrencySelect's symbol, code and name side by side. The option's
|
|
557
|
+
* `icon`, the multi checkbox and the check mark stay the panel's. Its text is the
|
|
558
|
+
* option's accessible name, so separate the parts with a space.
|
|
559
|
+
*/
|
|
560
|
+
renderOption?: (o: ComboOption<V>) => ReactNode;
|
|
561
|
+
/** Controls between the search box and the list, in the anchored panel and the phone
|
|
562
|
+
* sheet alike — MultiSelect's "Select all" and "Clear". */
|
|
563
|
+
toolbar?: ReactNode;
|
|
564
|
+
/** See {@link ComboboxPanelWidth}. */
|
|
565
|
+
width?: ComboboxPanelWidth;
|
|
566
|
+
/** Which of the trigger's edges the anchored panel hangs from, by reading direction.
|
|
567
|
+
* Default `start`; `end` grows the panel toward the start, so a field with content
|
|
568
|
+
* after it is not pushed past the page (CurrencySelect, feedback #308). */
|
|
569
|
+
align?: "start" | "end";
|
|
570
|
+
/**
|
|
571
|
+
* Lay the rows out in columns, one block per `group`, with the group's name above it —
|
|
572
|
+
* GroupedPicker's panel (feedback #267/#276): a large grouped set reads as a sheet of
|
|
573
|
+
* short lists side by side rather than one long one. Each block is a `role="group"`
|
|
574
|
+
* named by its heading. The arrow keys walk the rows in reading order, down each
|
|
575
|
+
* column. The phone sheet keeps one column with headings.
|
|
576
|
+
*/
|
|
577
|
+
columns?: boolean;
|
|
526
578
|
}
|
|
527
579
|
|
|
528
580
|
/**
|
|
@@ -566,11 +618,16 @@ export function ComboboxPanel<V extends string | number>({
|
|
|
566
618
|
sheetTitle,
|
|
567
619
|
closeLabel,
|
|
568
620
|
loadErrorLabel,
|
|
621
|
+
renderOption,
|
|
622
|
+
toolbar,
|
|
623
|
+
width,
|
|
624
|
+
align = "start",
|
|
625
|
+
columns,
|
|
569
626
|
className,
|
|
570
627
|
style,
|
|
571
628
|
...rest
|
|
572
629
|
}: ComboboxPanelProps<V>) {
|
|
573
|
-
const createLocked =
|
|
630
|
+
const createLocked = hasContent(createDisabledReason);
|
|
574
631
|
const {
|
|
575
632
|
rect,
|
|
576
633
|
placement,
|
|
@@ -610,11 +667,36 @@ export function ComboboxPanel<V extends string | number>({
|
|
|
610
667
|
// Portalled to <body>, the panel leaves the subtree its `dir` came from — so the
|
|
611
668
|
// direction is read off the trigger and put back on the panel below.
|
|
612
669
|
const dir = useAnchorDir(core.triggerRef, core.open);
|
|
670
|
+
const remPx = useRemPx();
|
|
671
|
+
// A `fit` panel's measured width — what it takes to keep it on the glass (see
|
|
672
|
+
// `ComboboxPanelWidth.fit`). Observed rather than read once: the rows change under the
|
|
673
|
+
// search, and a filtered list of short names is a narrower panel. `null` where nothing
|
|
674
|
+
// is laid out (jsdom), and the least width is used.
|
|
675
|
+
const fit = width?.fit === true && !isPhone;
|
|
676
|
+
const [fitWidth, setFitWidth] = useState<number | null>(null);
|
|
677
|
+
const placed = core.open && rect !== null;
|
|
678
|
+
useLayoutEffect(() => {
|
|
679
|
+
const el = panelRef.current;
|
|
680
|
+
if (!fit || !placed || !el || typeof ResizeObserver === "undefined") return;
|
|
681
|
+
const observer = new ResizeObserver(() => {
|
|
682
|
+
const measured = el.getBoundingClientRect().width;
|
|
683
|
+
setFitWidth(measured > 0 ? measured : null);
|
|
684
|
+
});
|
|
685
|
+
observer.observe(el);
|
|
686
|
+
return () => observer.disconnect();
|
|
687
|
+
}, [fit, placed, panelRef]);
|
|
613
688
|
|
|
614
689
|
// The WAI-ARIA APG's listbox keyboard, in full: Up/Down step, Home/End jump, Enter
|
|
615
|
-
// commits, Tab leaves
|
|
616
|
-
//
|
|
690
|
+
// commits, Tab leaves, Escape closes. On the panel's search box — in the anchored
|
|
691
|
+
// panel and, through `onSearchKeyDown`, in the phone sheet's header (BUG-5).
|
|
617
692
|
const onKeyDown = (e: ReactKeyboardEvent) => {
|
|
693
|
+
// Escape goes to the top of the kit's Escape stack — this list, which opened over
|
|
694
|
+
// any dialog it sits in — and stops HERE (round 0.34 BUG-1, Wave 2 DUP-1). The
|
|
695
|
+
// panel's events travel up the React tree through that dialog, portal or not, and
|
|
696
|
+
// one press used to close the dialog and throw the form away, list still open.
|
|
697
|
+
if (takeEscape(e)) return;
|
|
698
|
+
// The Enter that confirms an IME composition is the IME's (BUG-9).
|
|
699
|
+
if (isImeEnter(e)) return;
|
|
618
700
|
// Disabled rows are passed over (`stepEnabled`), and each step starts from the
|
|
619
701
|
// SETTLED highlight, not the raw index, so the first Down from a disabled row 0
|
|
620
702
|
// goes to the row after the one already shown as highlighted.
|
|
@@ -635,11 +717,11 @@ export function ComboboxPanel<V extends string | number>({
|
|
|
635
717
|
if (current < 0) return;
|
|
636
718
|
if (current < results.length) onChoose(results[current]);
|
|
637
719
|
else if (showCreate && !createLocked) onCreate();
|
|
638
|
-
} else if (e.key === "Tab") {
|
|
720
|
+
} else if (e.key === "Tab" && !isPhone) {
|
|
639
721
|
// The panel is PORTALLED to <body>, so the browser's own Tab would move from
|
|
640
722
|
// here to whatever follows the portal — i.e. off the end of the document. The
|
|
641
723
|
// trade is one extra Tab (trigger, then onward) against never stranding focus
|
|
642
|
-
// at the bottom of the page.
|
|
724
|
+
// at the bottom of the page. The phone sheet is a dialog, and its trap keeps Tab.
|
|
643
725
|
e.preventDefault();
|
|
644
726
|
closeToTrigger();
|
|
645
727
|
}
|
|
@@ -689,7 +771,7 @@ export function ComboboxPanel<V extends string | number>({
|
|
|
689
771
|
className={cn(
|
|
690
772
|
"relative",
|
|
691
773
|
message !== null && cn("py-2 text-sm", isPhone ? "px-4" : "px-3"),
|
|
692
|
-
failed ? "text-
|
|
774
|
+
failed ? "text-danger" : "text-muted",
|
|
693
775
|
)}
|
|
694
776
|
>
|
|
695
777
|
{message ??
|
|
@@ -701,6 +783,136 @@ export function ComboboxPanel<V extends string | number>({
|
|
|
701
783
|
|
|
702
784
|
if (!core.open || typeof document === "undefined") return null;
|
|
703
785
|
|
|
786
|
+
// One option row — the same in both containers and in both layouts.
|
|
787
|
+
const optionRow = (o: ComboOption<V>, i: number) => {
|
|
788
|
+
const selected = isSelected(o.value);
|
|
789
|
+
return (
|
|
790
|
+
<li role="presentation">
|
|
791
|
+
<button
|
|
792
|
+
type="button"
|
|
793
|
+
id={optionId(i)}
|
|
794
|
+
role="option"
|
|
795
|
+
aria-selected={selected}
|
|
796
|
+
aria-disabled={o.disabled || undefined}
|
|
797
|
+
tabIndex={-1}
|
|
798
|
+
onMouseDown={(e) => {
|
|
799
|
+
e.preventDefault();
|
|
800
|
+
if (!o.disabled) onChoose(o);
|
|
801
|
+
}}
|
|
802
|
+
onMouseEnter={() => {
|
|
803
|
+
if (!o.disabled) setActive(i);
|
|
804
|
+
}}
|
|
805
|
+
className={cn(
|
|
806
|
+
isPhone
|
|
807
|
+
? SHEET_ROW_CLASS
|
|
808
|
+
: columns
|
|
809
|
+
? // A cell of a column (GroupedPicker): tighter, so four columns fit.
|
|
810
|
+
"flex w-full items-center gap-1.5 rounded px-1.5 py-0.5 text-start text-sm"
|
|
811
|
+
: "flex w-full items-center gap-2 px-3 py-1.5 text-start text-sm",
|
|
812
|
+
// The row the arrows are on shows it on a phone too: the sheet takes
|
|
813
|
+
// the keyboard (BUG-5), and a tablet or a desktop at Large has one.
|
|
814
|
+
o.disabled
|
|
815
|
+
? DISABLED_ROW_CLASS
|
|
816
|
+
: i === current
|
|
817
|
+
? "bg-active"
|
|
818
|
+
: !isPhone && "hover:bg-hover",
|
|
819
|
+
// After SHEET_ROW_CLASS, so its hover is the one cancelled.
|
|
820
|
+
o.disabled && isPhone && DISABLED_ROW_CLASS,
|
|
821
|
+
)}
|
|
822
|
+
>
|
|
823
|
+
{multi && (
|
|
824
|
+
<span
|
|
825
|
+
// The checkbox is a PICTURE of `aria-selected` above, so a reader
|
|
826
|
+
// that met both would be told twice.
|
|
827
|
+
aria-hidden
|
|
828
|
+
className={cn(
|
|
829
|
+
"flex size-4 shrink-0 items-center justify-center rounded border",
|
|
830
|
+
selected
|
|
831
|
+
? "border-[var(--bg-inverse)] bg-inverse text-inverse"
|
|
832
|
+
: "border-strong bg-surface",
|
|
833
|
+
)}
|
|
834
|
+
>
|
|
835
|
+
{selected && <Check className="size-3" />}
|
|
836
|
+
</span>
|
|
837
|
+
)}
|
|
838
|
+
{o.icon && <span className="shrink-0">{o.icon}</span>}
|
|
839
|
+
{renderOption ? (
|
|
840
|
+
<span className="flex min-w-0 flex-1 items-center gap-2">{renderOption(o)}</span>
|
|
841
|
+
) : (
|
|
842
|
+
/* Label and sublabel wrap from Large up (text size §10.17, round 0.34 T1). */
|
|
843
|
+
<span className="min-w-0 flex-1">
|
|
844
|
+
<span className={cn("block truncate-until-large text-primary", columns && selected && "font-medium")}>
|
|
845
|
+
{o.label}
|
|
846
|
+
</span>
|
|
847
|
+
{o.sublabel && (
|
|
848
|
+
<span className="block truncate-until-large text-xs text-placeholder">{o.sublabel}</span>
|
|
849
|
+
)}
|
|
850
|
+
</span>
|
|
851
|
+
)}
|
|
852
|
+
{!multi && selected && <Check className="size-4 shrink-0 text-brand" />}
|
|
853
|
+
</button>
|
|
854
|
+
</li>
|
|
855
|
+
);
|
|
856
|
+
};
|
|
857
|
+
|
|
858
|
+
const createRow = showCreate && (
|
|
859
|
+
<li role="presentation">
|
|
860
|
+
<button
|
|
861
|
+
type="button"
|
|
862
|
+
id={optionId(results.length)}
|
|
863
|
+
role="option"
|
|
864
|
+
// Never chosen — it is an action, and it disappears the moment it has
|
|
865
|
+
// been taken. Whether the keyboard is ON it is `aria-activedescendant`'s
|
|
866
|
+
// job to say.
|
|
867
|
+
aria-selected={false}
|
|
868
|
+
aria-disabled={createLocked || undefined}
|
|
869
|
+
tabIndex={-1}
|
|
870
|
+
onMouseDown={(e) => {
|
|
871
|
+
e.preventDefault();
|
|
872
|
+
if (!createLocked) onCreate();
|
|
873
|
+
}}
|
|
874
|
+
onMouseEnter={() => {
|
|
875
|
+
if (!createLocked) setActive(results.length);
|
|
876
|
+
}}
|
|
877
|
+
className={cn(
|
|
878
|
+
isPhone
|
|
879
|
+
? SHEET_ROW_CLASS
|
|
880
|
+
: "flex w-full items-center gap-2 px-3 py-1.5 text-start text-sm",
|
|
881
|
+
"text-secondary",
|
|
882
|
+
createLocked
|
|
883
|
+
? DISABLED_ROW_CLASS
|
|
884
|
+
: current === results.length
|
|
885
|
+
? "bg-active"
|
|
886
|
+
: !isPhone && "hover:bg-hover",
|
|
887
|
+
// After SHEET_ROW_CLASS, so its hover is the one cancelled.
|
|
888
|
+
createLocked && isPhone && DISABLED_ROW_CLASS,
|
|
889
|
+
)}
|
|
890
|
+
>
|
|
891
|
+
<Plus className="size-4 shrink-0" />
|
|
892
|
+
<span className="min-w-0 flex-1">
|
|
893
|
+
<span className="block truncate-until-large">{createContent}</span>
|
|
894
|
+
{createLocked && (
|
|
895
|
+
<span className="block truncate-until-large text-xs text-placeholder">
|
|
896
|
+
{createDisabledReason}
|
|
897
|
+
</span>
|
|
898
|
+
)}
|
|
899
|
+
</span>
|
|
900
|
+
</button>
|
|
901
|
+
</li>
|
|
902
|
+
);
|
|
903
|
+
|
|
904
|
+
// In columns, a block per run of one group; `results` keeps its source order, so a
|
|
905
|
+
// run is the rows up to the next change of group.
|
|
906
|
+
const blocks: { group: string; rows: { o: ComboOption<V>; i: number }[] }[] = [];
|
|
907
|
+
if (columns && !isPhone) {
|
|
908
|
+
results.forEach((o, i) => {
|
|
909
|
+
const group = o.group ?? "";
|
|
910
|
+
const last = blocks[blocks.length - 1];
|
|
911
|
+
if (last && last.group === group) last.rows.push({ o, i });
|
|
912
|
+
else blocks.push({ group, rows: [{ o, i }] });
|
|
913
|
+
});
|
|
914
|
+
}
|
|
915
|
+
|
|
704
916
|
const list = (
|
|
705
917
|
<ul
|
|
706
918
|
id={listboxId}
|
|
@@ -713,137 +925,65 @@ export function ComboboxPanel<V extends string | number>({
|
|
|
713
925
|
// Tooltip in a row then portals out in a test exactly as it does in the
|
|
714
926
|
// browser, instead of joining the option's accessible name (keksdose E8).
|
|
715
927
|
{...{ [CLIPS_ATTRIBUTE]: "" }}
|
|
716
|
-
className={cn(
|
|
928
|
+
className={cn(
|
|
929
|
+
"min-h-0 flex-1 overflow-y-auto",
|
|
930
|
+
columns && !isPhone ? "columns-2 gap-4 p-3 md:columns-3 xl:columns-4" : "py-1",
|
|
931
|
+
isPhone && "flex-none",
|
|
932
|
+
)}
|
|
717
933
|
>
|
|
718
|
-
{
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
// top (live #203) — and a bare value key would collide.
|
|
729
|
-
<Fragment key={`${o.group ?? ""}|${String(o.value)}`}>
|
|
730
|
-
{startsGroup && (
|
|
731
|
-
<li
|
|
732
|
-
role="presentation"
|
|
733
|
-
className={cn(
|
|
734
|
-
"font-semibold uppercase tracking-wide text-[var(--text-muted)]",
|
|
735
|
-
isPhone ? "px-4 pb-1 pt-3 text-xs" : "px-3 pb-0.5 pt-2 text-caption first:pt-1",
|
|
736
|
-
)}
|
|
737
|
-
>
|
|
738
|
-
{o.group}
|
|
739
|
-
</li>
|
|
740
|
-
)}
|
|
741
|
-
<li role="presentation">
|
|
742
|
-
<button
|
|
743
|
-
type="button"
|
|
744
|
-
id={optionId(i)}
|
|
745
|
-
role="option"
|
|
746
|
-
aria-selected={selected}
|
|
747
|
-
aria-disabled={o.disabled || undefined}
|
|
748
|
-
tabIndex={-1}
|
|
749
|
-
onMouseDown={(e) => {
|
|
750
|
-
e.preventDefault();
|
|
751
|
-
if (!o.disabled) onChoose(o);
|
|
752
|
-
}}
|
|
753
|
-
onMouseEnter={() => {
|
|
754
|
-
if (!o.disabled) setActive(i);
|
|
755
|
-
}}
|
|
756
|
-
className={cn(
|
|
757
|
-
isPhone
|
|
758
|
-
? SHEET_ROW_CLASS
|
|
759
|
-
: "flex w-full items-center gap-2 px-3 py-1.5 text-start text-sm",
|
|
760
|
-
o.disabled
|
|
761
|
-
? DISABLED_ROW_CLASS
|
|
762
|
-
: i === current && !isPhone
|
|
763
|
-
? "bg-[var(--bg-active)]"
|
|
764
|
-
: !isPhone && "hover:bg-[var(--bg-hover)]",
|
|
765
|
-
// After SHEET_ROW_CLASS, so its hover is the one cancelled.
|
|
766
|
-
o.disabled && isPhone && DISABLED_ROW_CLASS,
|
|
934
|
+
{columns && !isPhone
|
|
935
|
+
? blocks.map((block) => (
|
|
936
|
+
// A column block: its heading is a picture of the group's name, which the
|
|
937
|
+
// `role="group"` carries for a reader — the listbox may own options and
|
|
938
|
+
// groups, and a heading of loose text in it is neither.
|
|
939
|
+
<li key={`${block.group}|${block.rows[0].i}`} role="presentation" className="mb-3 break-inside-avoid">
|
|
940
|
+
{block.group && (
|
|
941
|
+
<div aria-hidden className="mb-1 text-xs font-semibold uppercase tracking-wide text-muted">
|
|
942
|
+
{block.group}
|
|
943
|
+
</div>
|
|
767
944
|
)}
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
<
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
{
|
|
790
|
-
|
|
945
|
+
<ul role="group" aria-label={block.group || undefined} className="space-y-0.5">
|
|
946
|
+
{block.rows.map(({ o, i }) => (
|
|
947
|
+
<Fragment key={`${o.group ?? ""}|${String(o.value)}`}>{optionRow(o, i)}</Fragment>
|
|
948
|
+
))}
|
|
949
|
+
</ul>
|
|
950
|
+
</li>
|
|
951
|
+
))
|
|
952
|
+
: results.map((o, i) => {
|
|
953
|
+
// One heading per group rather than a grey suffix on every row (#136), and
|
|
954
|
+
// the thing the native <select>'s <optgroup> used to give the account
|
|
955
|
+
// picker for free (live #200). `results` keeps its source order, so a
|
|
956
|
+
// boundary is simply "different from the row above".
|
|
957
|
+
const startsGroup = o.group != null && o.group !== results[i - 1]?.group;
|
|
958
|
+
return (
|
|
959
|
+
// Keyed by group AND value: an option may deliberately appear twice —
|
|
960
|
+
// Keksdose repeats recently-used categories in a "Recent" group at the
|
|
961
|
+
// top (live #203) — and a bare value key would collide.
|
|
962
|
+
<Fragment key={`${o.group ?? ""}|${String(o.value)}`}>
|
|
963
|
+
{startsGroup && (
|
|
964
|
+
<li
|
|
965
|
+
role="presentation"
|
|
966
|
+
className={cn(
|
|
967
|
+
"font-semibold uppercase tracking-wide text-muted",
|
|
968
|
+
isPhone ? "px-4 pb-1 pt-3 text-xs" : "px-3 pb-0.5 pt-2 text-caption first:pt-1",
|
|
969
|
+
)}
|
|
970
|
+
>
|
|
971
|
+
{o.group}
|
|
972
|
+
</li>
|
|
791
973
|
)}
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
);
|
|
798
|
-
})}
|
|
799
|
-
{showCreate && (
|
|
800
|
-
<li role="presentation">
|
|
801
|
-
<button
|
|
802
|
-
type="button"
|
|
803
|
-
id={optionId(results.length)}
|
|
804
|
-
role="option"
|
|
805
|
-
// Never chosen — it is an action, and it disappears the moment it has
|
|
806
|
-
// been taken. Whether the keyboard is ON it is `aria-activedescendant`'s
|
|
807
|
-
// job to say.
|
|
808
|
-
aria-selected={false}
|
|
809
|
-
aria-disabled={createLocked || undefined}
|
|
810
|
-
tabIndex={-1}
|
|
811
|
-
onMouseDown={(e) => {
|
|
812
|
-
e.preventDefault();
|
|
813
|
-
if (!createLocked) onCreate();
|
|
814
|
-
}}
|
|
815
|
-
onMouseEnter={() => {
|
|
816
|
-
if (!createLocked) setActive(results.length);
|
|
817
|
-
}}
|
|
818
|
-
className={cn(
|
|
819
|
-
isPhone
|
|
820
|
-
? SHEET_ROW_CLASS
|
|
821
|
-
: "flex w-full items-center gap-2 px-3 py-1.5 text-start text-sm",
|
|
822
|
-
"text-[var(--text-secondary)]",
|
|
823
|
-
createLocked
|
|
824
|
-
? DISABLED_ROW_CLASS
|
|
825
|
-
: current === results.length && !isPhone
|
|
826
|
-
? "bg-[var(--bg-active)]"
|
|
827
|
-
: !isPhone && "hover:bg-[var(--bg-hover)]",
|
|
828
|
-
// After SHEET_ROW_CLASS, so its hover is the one cancelled.
|
|
829
|
-
createLocked && isPhone && DISABLED_ROW_CLASS,
|
|
830
|
-
)}
|
|
831
|
-
>
|
|
832
|
-
<Plus className="size-4 shrink-0" />
|
|
833
|
-
<span className="min-w-0 flex-1">
|
|
834
|
-
<span className="block truncate">{createContent}</span>
|
|
835
|
-
{createLocked && (
|
|
836
|
-
<span className="block truncate text-xs text-[var(--text-placeholder)]">
|
|
837
|
-
{createDisabledReason}
|
|
838
|
-
</span>
|
|
839
|
-
)}
|
|
840
|
-
</span>
|
|
841
|
-
</button>
|
|
842
|
-
</li>
|
|
843
|
-
)}
|
|
974
|
+
{optionRow(o, i)}
|
|
975
|
+
</Fragment>
|
|
976
|
+
);
|
|
977
|
+
})}
|
|
978
|
+
{createRow}
|
|
844
979
|
</ul>
|
|
845
980
|
);
|
|
846
981
|
|
|
982
|
+
// The search box is NAMED, not only prompted: a placeholder is gone the moment a
|
|
983
|
+
// character is typed, and jsdom's readers and some real ones never took it for a name
|
|
984
|
+
// (BUG-12: GroupedPicker's filter had "no name beyond its placeholder").
|
|
985
|
+
const searchText = searchPlaceholder ?? labels.search;
|
|
986
|
+
|
|
847
987
|
if (isPhone) {
|
|
848
988
|
return (
|
|
849
989
|
<PickerSheet
|
|
@@ -859,14 +999,19 @@ export function ComboboxPanel<V extends string | number>({
|
|
|
859
999
|
title={sheetTitle}
|
|
860
1000
|
query={query}
|
|
861
1001
|
onQueryChange={setQuery}
|
|
862
|
-
searchPlaceholder={
|
|
1002
|
+
searchPlaceholder={searchText}
|
|
1003
|
+
searchLabel={searchText}
|
|
863
1004
|
inputRef={inputRef}
|
|
864
1005
|
closeLabel={closeLabel}
|
|
1006
|
+
// The sheet's search box is in its HEADER, outside the list: the keys go to it
|
|
1007
|
+
// there, and it names the list and the active row (BUG-5). A div around the list
|
|
1008
|
+
// used to catch them, and never did — focus is in the box, not in the list.
|
|
1009
|
+
onSearchKeyDown={onKeyDown}
|
|
1010
|
+
listboxId={listboxId}
|
|
1011
|
+
activeId={activeId}
|
|
865
1012
|
>
|
|
866
|
-
{
|
|
867
|
-
|
|
868
|
-
which holds focus while the list is up. */}
|
|
869
|
-
<div onKeyDown={onKeyDown} className="relative">
|
|
1013
|
+
{toolbar}
|
|
1014
|
+
<div className="relative">
|
|
870
1015
|
{list}
|
|
871
1016
|
{announcement}
|
|
872
1017
|
</div>
|
|
@@ -875,14 +1020,19 @@ export function ComboboxPanel<V extends string | number>({
|
|
|
875
1020
|
}
|
|
876
1021
|
|
|
877
1022
|
if (!rect) return null;
|
|
878
|
-
// The panel hangs from the trigger's START edge
|
|
879
|
-
// its right in a right-to-left one
|
|
880
|
-
//
|
|
881
|
-
//
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
1023
|
+
// The panel hangs from the trigger's START edge (or, `align="end"`, its end): its left
|
|
1024
|
+
// in a left-to-right form, its right in a right-to-left one, at least 13.75rem wide
|
|
1025
|
+
// (220 px at Normal, in rem so its text keeps its room at Large, §3.2; `width.minRem`)
|
|
1026
|
+
// and never wider than the glass — and clamped to the glass, which in a left-to-right
|
|
1027
|
+
// form it never was (Wave 2, DUP-7). It is placed by the edge it hangs from, so a `fit`
|
|
1028
|
+
// panel grows away from the trigger's edge before its width is measured; a box hung by
|
|
1029
|
+
// its `right` is measured from inside any scrollbar, as the glass's width is.
|
|
1030
|
+
const glass = viewportSize().width - 2 * PANEL_EDGE;
|
|
1031
|
+
const least = Math.min(Math.max(rect.width, (width?.minRem ?? PANEL_MIN_REM) * remPx), glass);
|
|
1032
|
+
const most = Math.max(least, Math.min(width?.maxRem !== undefined ? width.maxRem * remPx : glass, glass));
|
|
1033
|
+
const panelWidth = fit ? Math.min(Math.max(fitWidth ?? least, least), most) : least;
|
|
1034
|
+
const at = anchoredInline(rect, panelWidth, { dir, align, edge: PANEL_EDGE });
|
|
1035
|
+
const inline = (dir === "rtl") === (align === "start") ? { right: at.right } : { left: at.left };
|
|
886
1036
|
|
|
887
1037
|
return createPortal(
|
|
888
1038
|
/* eslint-disable-next-line jsx-a11y/no-static-element-interactions -- never focused
|
|
@@ -899,19 +1049,22 @@ export function ComboboxPanel<V extends string | number>({
|
|
|
899
1049
|
onKeyDown={onKeyDown}
|
|
900
1050
|
// `placement` keeps the panel inside the region actually on screen: on a phone
|
|
901
1051
|
// the search box below pulls up the keyboard, and a panel pinned under a
|
|
902
|
-
// low trigger would otherwise sit entirely behind it (feedback #135).
|
|
1052
|
+
// low trigger would otherwise sit entirely behind it (feedback #135). Flipped
|
|
1053
|
+
// above, it hangs from its bottom edge, so a list shorter than its cap still meets
|
|
1054
|
+
// the trigger (keksdose K1); the edge not in use is cleared, a caller's included.
|
|
903
1055
|
style={{
|
|
904
1056
|
...style,
|
|
905
1057
|
position: "fixed",
|
|
906
|
-
top: placement.top,
|
|
1058
|
+
top: placement.above ? undefined : placement.top,
|
|
1059
|
+
bottom: placement.above ? placement.bottom : undefined,
|
|
907
1060
|
...inline,
|
|
908
|
-
width
|
|
909
|
-
//
|
|
910
|
-
|
|
1061
|
+
// A `fit` panel takes its width from its rows between the two bounds; any other
|
|
1062
|
+
// is exactly the least width.
|
|
1063
|
+
...(fit ? { width: "max-content", minWidth: least, maxWidth: most } : { width: panelWidth }),
|
|
911
1064
|
maxHeight: placement.maxHeight,
|
|
912
1065
|
}}
|
|
913
1066
|
className={cn(
|
|
914
|
-
"z-50 flex flex-col rounded-md border border-
|
|
1067
|
+
"z-50 flex flex-col rounded-md border border-subtle bg-surface shadow-lg",
|
|
915
1068
|
className,
|
|
916
1069
|
)}
|
|
917
1070
|
>
|
|
@@ -919,12 +1072,14 @@ export function ComboboxPanel<V extends string | number>({
|
|
|
919
1072
|
query={query}
|
|
920
1073
|
onQueryChange={setQuery}
|
|
921
1074
|
inputRef={inputRef}
|
|
922
|
-
placeholder={
|
|
1075
|
+
placeholder={searchText}
|
|
1076
|
+
aria-label={searchText}
|
|
923
1077
|
// Focus is in this box while the list is up, so this is what has to name the
|
|
924
1078
|
// list and the row the arrows are on.
|
|
925
1079
|
listboxId={listboxId}
|
|
926
1080
|
activeId={activeId}
|
|
927
1081
|
/>
|
|
1082
|
+
{toolbar}
|
|
928
1083
|
{/* One list, two containers: the desktop panel and the phone sheet render
|
|
929
1084
|
the same rows through the same handlers (live #200). */}
|
|
930
1085
|
{list}
|