@eifi1/ui-kit 0.33.1 → 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 +444 -282
- package/dist/account/account-parts.d.ts +6 -8
- package/dist/account/account-parts.js +1 -2
- package/dist/account/account-parts.js.map +1 -1
- package/dist/{components → account}/account-settings-labels.d.ts +16 -10
- package/dist/{components → account}/account-settings-labels.js +3 -1
- package/dist/account/account-settings-labels.js.map +1 -0
- package/dist/{components → account}/account-settings.d.ts +53 -23
- package/dist/{components → account}/account-settings.js +97 -26
- package/dist/account/account-settings.js.map +1 -0
- package/dist/account/data-export-setting-labels.d.ts +2 -0
- package/dist/account/data-export-setting-labels.js +15 -0
- package/dist/account/data-export-setting-labels.js.map +1 -0
- package/dist/account/data-export-setting.d.ts +9 -11
- package/dist/account/data-export-setting.js +11 -27
- package/dist/account/data-export-setting.js.map +1 -1
- package/dist/account/delete-account-setting-labels.d.ts +2 -0
- package/dist/account/delete-account-setting-labels.js +23 -0
- package/dist/account/delete-account-setting-labels.js.map +1 -0
- package/dist/account/delete-account-setting.d.ts +132 -101
- package/dist/account/delete-account-setting.js +7 -23
- package/dist/account/delete-account-setting.js.map +1 -1
- package/dist/account/email-change-setting-labels.d.ts +2 -0
- package/dist/account/email-change-setting-labels.js +28 -0
- package/dist/account/email-change-setting-labels.js.map +1 -0
- package/dist/account/email-change-setting.d.ts +10 -12
- package/dist/account/email-change-setting.js +11 -30
- package/dist/account/email-change-setting.js.map +1 -1
- package/dist/{components → account}/passkeys-setting.d.ts +9 -12
- package/dist/{components → account}/passkeys-setting.js +10 -7
- package/dist/account/passkeys-setting.js.map +1 -0
- package/dist/account/sessions-setting-labels.d.ts +2 -0
- package/dist/account/sessions-setting-labels.js +22 -0
- package/dist/account/sessions-setting-labels.js.map +1 -0
- package/dist/account/sessions-setting.d.ts +12 -14
- package/dist/account/sessions-setting.js +8 -23
- package/dist/account/sessions-setting.js.map +1 -1
- package/dist/admin/admin-action-confirm-labels.d.ts +2 -0
- package/dist/admin/admin-action-confirm-labels.js +16 -0
- package/dist/admin/admin-action-confirm-labels.js.map +1 -0
- package/dist/admin/admin-action-confirm.d.ts +156 -101
- package/dist/admin/admin-action-confirm.js +17 -22
- package/dist/admin/admin-action-confirm.js.map +1 -1
- package/dist/admin/admin-action-log-labels.d.ts +2 -0
- package/dist/admin/admin-action-log-labels.js +73 -0
- package/dist/admin/admin-action-log-labels.js.map +1 -0
- package/dist/admin/admin-action-log.d.ts +98 -22
- package/dist/admin/admin-action-log.js +48 -45
- package/dist/admin/admin-action-log.js.map +1 -1
- package/dist/admin/admin-parts.d.ts +7 -14
- package/dist/admin/admin-parts.js +0 -4
- package/dist/admin/admin-parts.js.map +1 -1
- package/dist/admin/invitations-panel-labels.d.ts +2 -0
- package/dist/admin/invitations-panel-labels.js +29 -0
- package/dist/admin/invitations-panel-labels.js.map +1 -0
- package/dist/admin/invitations-panel.d.ts +167 -101
- package/dist/admin/invitations-panel.js +12 -31
- package/dist/admin/invitations-panel.js.map +1 -1
- package/dist/admin/plan-change-labels.d.ts +2 -0
- package/dist/admin/plan-change-labels.js +22 -0
- package/dist/admin/plan-change-labels.js.map +1 -0
- package/dist/admin/plan-change.d.ts +244 -101
- package/dist/admin/plan-change.js +16 -24
- package/dist/admin/plan-change.js.map +1 -1
- package/dist/admin/reviewer-scope-editor-labels.d.ts +2 -0
- package/dist/admin/reviewer-scope-editor-labels.js +14 -0
- package/dist/admin/reviewer-scope-editor-labels.js.map +1 -0
- package/dist/admin/reviewer-scope-editor.d.ts +95 -101
- package/dist/admin/reviewer-scope-editor.js +5 -13
- package/dist/admin/reviewer-scope-editor.js.map +1 -1
- package/dist/admin/role-select-labels.d.ts +2 -0
- package/dist/admin/role-select-labels.js +15 -0
- package/dist/admin/role-select-labels.js.map +1 -0
- package/dist/admin/role-select.d.ts +136 -101
- package/dist/admin/role-select.js +7 -18
- package/dist/admin/role-select.js.map +1 -1
- package/dist/admin/transfer-ownership-dialog-labels.d.ts +2 -0
- package/dist/admin/transfer-ownership-dialog-labels.js +18 -0
- package/dist/admin/transfer-ownership-dialog-labels.js.map +1 -0
- package/dist/admin/transfer-ownership-dialog.d.ts +81 -101
- package/dist/admin/transfer-ownership-dialog.js +3 -15
- package/dist/admin/transfer-ownership-dialog.js.map +1 -1
- package/dist/admin/user-roster-labels.d.ts +2 -0
- package/dist/admin/user-roster-labels.js +16 -0
- package/dist/admin/user-roster-labels.js.map +1 -0
- package/dist/admin/user-roster.d.ts +225 -101
- package/dist/admin/user-roster.js +4 -14
- package/dist/admin/user-roster.js.map +1 -1
- package/dist/auth/accept-invitation-labels.d.ts +2 -0
- package/dist/auth/accept-invitation-labels.js +20 -0
- package/dist/auth/accept-invitation-labels.js.map +1 -0
- package/dist/auth/accept-invitation.d.ts +11 -13
- package/dist/auth/accept-invitation.js +3 -16
- package/dist/auth/accept-invitation.js.map +1 -1
- package/dist/auth/auth-errors.d.ts +34 -23
- package/dist/auth/auth-errors.js +8 -4
- package/dist/auth/auth-errors.js.map +1 -1
- package/dist/auth/complete-name-dialog-labels.d.ts +2 -0
- package/dist/auth/complete-name-dialog-labels.js +14 -0
- package/dist/auth/complete-name-dialog-labels.js.map +1 -0
- package/dist/auth/complete-name-dialog.d.ts +9 -11
- package/dist/auth/complete-name-dialog.js +4 -11
- package/dist/auth/complete-name-dialog.js.map +1 -1
- package/dist/auth/email-tag.d.ts +2 -4
- package/dist/auth/forgot-password-form-labels.d.ts +3 -0
- package/dist/auth/forgot-password-form-labels.js +17 -0
- package/dist/auth/forgot-password-form-labels.js.map +1 -0
- package/dist/auth/forgot-password-form.d.ts +9 -12
- package/dist/auth/forgot-password-form.js +6 -15
- package/dist/auth/forgot-password-form.js.map +1 -1
- package/dist/auth/form-rules.d.ts +5 -7
- package/dist/auth/new-password-fields.d.ts +4 -8
- package/dist/auth/new-password-fields.js +1 -1
- package/dist/auth/new-password-fields.js.map +1 -1
- package/dist/auth/not-found-page-labels.d.ts +2 -0
- package/dist/auth/not-found-page-labels.js +11 -0
- package/dist/auth/not-found-page-labels.js.map +1 -0
- package/dist/auth/not-found-page.d.ts +9 -11
- package/dist/auth/not-found-page.js +5 -10
- package/dist/auth/not-found-page.js.map +1 -1
- package/dist/auth/register-form-labels.d.ts +3 -0
- package/dist/auth/register-form-labels.js +28 -0
- package/dist/auth/register-form-labels.js.map +1 -0
- package/dist/auth/register-form.d.ts +174 -101
- package/dist/auth/register-form.js +11 -31
- package/dist/auth/register-form.js.map +1 -1
- package/dist/auth/reset-password-form-labels.d.ts +3 -0
- package/dist/auth/reset-password-form-labels.js +24 -0
- package/dist/auth/reset-password-form-labels.js.map +1 -0
- package/dist/auth/reset-password-form.d.ts +12 -15
- package/dist/auth/reset-password-form.js +6 -22
- package/dist/auth/reset-password-form.js.map +1 -1
- package/dist/auth/sign-in-form-labels.d.ts +3 -0
- package/dist/auth/sign-in-form-labels.js +42 -0
- package/dist/auth/sign-in-form-labels.js.map +1 -0
- package/dist/auth/sign-in-form.d.ts +15 -19
- package/dist/auth/sign-in-form.js +12 -46
- package/dist/auth/sign-in-form.js.map +1 -1
- package/dist/auth/status-parts.d.ts +13 -17
- package/dist/auth/status-parts.js +3 -3
- package/dist/auth/status-parts.js.map +1 -1
- package/dist/auth/verify-email-labels.d.ts +2 -0
- package/dist/auth/verify-email-labels.js +25 -0
- package/dist/auth/verify-email-labels.js.map +1 -0
- package/dist/auth/verify-email.d.ts +15 -17
- package/dist/auth/verify-email.js +4 -21
- package/dist/auth/verify-email.js.map +1 -1
- package/dist/billing/billing-banner.d.ts +8 -109
- package/dist/billing/billing-banner.js +2 -1
- package/dist/billing/billing-banner.js.map +1 -1
- package/dist/billing/billing-labels.d.ts +168 -101
- package/dist/billing/billing-labels.js.map +1 -1
- package/dist/billing/billing-lock.d.ts +10 -110
- package/dist/billing/billing-overview.d.ts +7 -109
- package/dist/billing/billing-standing.d.ts +6 -108
- package/dist/billing/checkout-processing.d.ts +8 -111
- package/dist/billing/checkout-processing.js +2 -9
- package/dist/billing/checkout-processing.js.map +1 -1
- package/dist/billing/checkout-return.d.ts +5 -7
- package/dist/billing/pay-page.d.ts +15 -117
- package/dist/billing/plan-card.d.ts +14 -115
- package/dist/billing/plan-card.js +15 -13
- package/dist/billing/plan-card.js.map +1 -1
- package/dist/billing/plan-limit-notice.d.ts +8 -109
- package/dist/billing/plan-limit-notice.js +1 -1
- package/dist/billing/plan-limit-notice.js.map +1 -1
- package/dist/billing/plan-limit-toast.d.ts +6 -107
- package/dist/billing/plan-limit.d.ts +2 -4
- package/dist/billing/plan-price.d.ts +10 -12
- package/dist/billing/subscription-actions.d.ts +6 -109
- package/dist/billing/subscription-actions.js +2 -2
- package/dist/billing/subscription-actions.js.map +1 -1
- package/dist/billing/subscription-status-chip.d.ts +7 -108
- package/dist/chart.d.ts +12 -113
- package/dist/chart.js +4 -0
- package/dist/chart.js.map +1 -1
- package/dist/components/account-chips-labels.d.ts +10 -0
- package/dist/components/account-chips-labels.js +15 -0
- package/dist/components/account-chips-labels.js.map +1 -0
- package/dist/components/account-chips.d.ts +22 -44
- package/dist/components/account-chips.js +9 -14
- package/dist/components/account-chips.js.map +1 -1
- package/dist/components/alert-banner.d.ts +15 -11
- package/dist/components/alert-banner.js +28 -18
- package/dist/components/alert-banner.js.map +1 -1
- package/dist/components/amount-input.d.ts +66 -110
- package/dist/components/amount-input.js +259 -283
- package/dist/components/amount-input.js.map +1 -1
- package/dist/components/appearance-labels.d.ts +6 -10
- package/dist/components/appearance-labels.js.map +1 -1
- package/dist/components/authed-image-labels.d.ts +2 -0
- package/dist/components/authed-image-labels.js +10 -0
- package/dist/components/authed-image-labels.js.map +1 -0
- package/dist/components/authed-image.d.ts +11 -13
- package/dist/components/authed-image.js +2 -6
- package/dist/components/authed-image.js.map +1 -1
- package/dist/components/autocomplete.d.ts +13 -11
- package/dist/components/autocomplete.js +33 -28
- package/dist/components/autocomplete.js.map +1 -1
- package/dist/components/breadcrumbs-labels.d.ts +2 -0
- package/dist/components/breadcrumbs-labels.js +9 -0
- package/dist/components/breadcrumbs-labels.js.map +1 -0
- package/dist/components/breadcrumbs.d.ts +10 -12
- package/dist/components/breadcrumbs.js +7 -10
- package/dist/components/breadcrumbs.js.map +1 -1
- package/dist/components/bulk-action-bar-labels.d.ts +2 -0
- package/dist/components/bulk-action-bar-labels.js +10 -0
- package/dist/components/bulk-action-bar-labels.js.map +1 -0
- package/dist/components/bulk-action-bar.d.ts +10 -12
- package/dist/components/bulk-action-bar.js +9 -12
- package/dist/components/bulk-action-bar.js.map +1 -1
- package/dist/components/button-group.d.ts +7 -110
- package/dist/components/button-group.js +5 -5
- package/dist/components/button-group.js.map +1 -1
- package/dist/components/button-look.d.ts +88 -0
- package/dist/components/button-look.js +91 -0
- package/dist/components/button-look.js.map +1 -0
- package/dist/components/button.d.ts +153 -0
- package/dist/components/button.js +165 -0
- package/dist/components/button.js.map +1 -0
- package/dist/components/calculator.d.ts +8 -107
- 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 +187 -121
- package/dist/components/combobox-core.js.map +1 -1
- package/dist/components/combobox-suggestions.d.ts +76 -0
- package/dist/components/combobox-suggestions.js +56 -0
- package/dist/components/combobox-suggestions.js.map +1 -0
- package/dist/components/combobox.d.ts +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 -101
- package/dist/components/confirm-dialog.js +2 -6
- package/dist/components/confirm-dialog.js.map +1 -1
- package/dist/components/copy-button-labels.d.ts +2 -0
- package/dist/components/copy-button-labels.js +12 -0
- package/dist/components/copy-button-labels.js.map +1 -0
- package/dist/components/copy-button.d.ts +70 -101
- package/dist/components/copy-button.js +4 -9
- package/dist/components/copy-button.js.map +1 -1
- package/dist/components/country-select-labels.d.ts +2 -0
- package/dist/components/country-select-labels.js +10 -0
- package/dist/components/country-select-labels.js.map +1 -0
- package/dist/components/country-select.d.ts +18 -15
- package/dist/components/country-select.js +49 -64
- package/dist/components/country-select.js.map +1 -1
- package/dist/components/currency-option-list.d.ts +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 -101
- package/dist/components/danger-confirm.js +40 -46
- package/dist/components/danger-confirm.js.map +1 -1
- package/dist/components/data-table-cells.d.ts +9 -24
- package/dist/components/data-table-cells.js +1 -1
- package/dist/components/data-table-cells.js.map +1 -1
- package/dist/components/data-table-column-settings.d.ts +16 -0
- package/dist/components/data-table-column-settings.js +119 -0
- package/dist/components/data-table-column-settings.js.map +1 -0
- package/dist/components/data-table-filter-popover.d.ts +5 -19
- package/dist/components/data-table-filter-popover.js +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 +53 -30
- package/dist/components/dropdown.js.map +1 -1
- package/dist/components/empty-state.d.ts +64 -0
- package/dist/components/empty-state.js +70 -0
- package/dist/components/empty-state.js.map +1 -0
- package/dist/components/entity-combobox.d.ts +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 -116
- package/dist/components/facing-pair.js +1 -1
- package/dist/components/facing-pair.js.map +1 -1
- package/dist/components/field-base.d.ts +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 -101
- package/dist/components/file-button.js +23 -169
- package/dist/components/file-button.js.map +1 -1
- package/dist/components/file-dropzone.d.ts +9 -110
- package/dist/components/file-dropzone.js +22 -22
- package/dist/components/file-dropzone.js.map +1 -1
- package/dist/components/floating-panel-labels.d.ts +2 -0
- package/dist/components/floating-panel-labels.js +9 -0
- package/dist/components/floating-panel-labels.js.map +1 -0
- package/dist/components/floating-panel.d.ts +17 -21
- package/dist/components/floating-panel.js +19 -18
- package/dist/components/floating-panel.js.map +1 -1
- package/dist/components/focus-ring.d.ts +9 -6
- package/dist/components/focus-ring.js +2 -2
- package/dist/components/focus-ring.js.map +1 -1
- package/dist/components/form-actions-labels.d.ts +2 -0
- package/dist/components/form-actions-labels.js +10 -0
- package/dist/components/form-actions-labels.js.map +1 -0
- package/dist/components/form-actions.d.ts +280 -101
- package/dist/components/form-actions.js +10 -20
- package/dist/components/form-actions.js.map +1 -1
- package/dist/components/full-bleed-dialog.d.ts +7 -8
- package/dist/components/full-bleed-dialog.js +14 -13
- package/dist/components/full-bleed-dialog.js.map +1 -1
- package/dist/components/grouped-picker.d.ts +21 -16
- package/dist/components/grouped-picker.js +76 -62
- package/dist/components/grouped-picker.js.map +1 -1
- package/dist/components/help-popover.d.ts +60 -0
- package/dist/components/help-popover.js +48 -0
- package/dist/components/help-popover.js.map +1 -0
- package/dist/components/hover-menu.d.ts +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 -101
- package/dist/components/iban-input.js +22 -15
- package/dist/components/iban-input.js.map +1 -1
- package/dist/components/icon-button.d.ts +300 -0
- package/dist/components/icon-button.js +465 -0
- package/dist/components/icon-button.js.map +1 -0
- package/dist/components/icon-picker-labels.d.ts +2 -0
- package/dist/components/icon-picker-labels.js +12 -0
- package/dist/components/icon-picker-labels.js.map +1 -0
- package/dist/components/icon-picker.d.ts +13 -13
- package/dist/components/icon-picker.js +18 -17
- package/dist/components/icon-picker.js.map +1 -1
- package/dist/components/image-grid-labels.d.ts +2 -0
- package/dist/components/image-grid-labels.js +10 -0
- package/dist/components/image-grid-labels.js.map +1 -0
- package/dist/components/image-grid.d.ts +12 -14
- package/dist/components/image-grid.js +6 -10
- package/dist/components/image-grid.js.map +1 -1
- package/dist/components/inline-edit-field-labels.d.ts +2 -0
- package/dist/components/inline-edit-field-labels.js +10 -0
- package/dist/components/inline-edit-field-labels.js.map +1 -0
- package/dist/components/inline-edit-field.d.ts +11 -13
- package/dist/components/inline-edit-field.js +11 -13
- package/dist/components/inline-edit-field.js.map +1 -1
- package/dist/components/inline-entity-combobox.d.ts +155 -0
- package/dist/components/inline-entity-combobox.js +467 -0
- package/dist/components/inline-entity-combobox.js.map +1 -0
- package/dist/components/input.d.ts +98 -0
- package/dist/components/input.js +219 -0
- package/dist/components/input.js.map +1 -0
- package/dist/components/jump-calendar.d.ts +8 -0
- package/dist/components/jump-calendar.js +274 -0
- package/dist/components/jump-calendar.js.map +1 -0
- package/dist/components/language-select.d.ts +20 -111
- package/dist/components/language-select.js +12 -7
- package/dist/components/language-select.js.map +1 -1
- package/dist/components/legal-labels.d.ts +2 -0
- package/dist/components/legal-labels.js +100 -0
- package/dist/components/legal-labels.js.map +1 -0
- package/dist/components/legal-page.d.ts +17 -118
- package/dist/components/legal-page.js +2 -2
- package/dist/components/legal-page.js.map +1 -1
- package/dist/components/legal.d.ts +353 -101
- package/dist/components/legal.js +7 -101
- package/dist/components/legal.js.map +1 -1
- package/dist/components/lightbox-labels.d.ts +2 -0
- package/dist/components/lightbox-labels.js +17 -0
- package/dist/components/lightbox-labels.js.map +1 -0
- package/dist/components/lightbox.d.ts +12 -14
- package/dist/components/lightbox.js +9 -19
- package/dist/components/lightbox.js.map +1 -1
- package/dist/components/line-items-labels.d.ts +2 -0
- package/dist/components/line-items-labels.js +13 -0
- package/dist/components/line-items-labels.js.map +1 -0
- package/dist/components/line-items.d.ts +16 -18
- package/dist/components/line-items.js +18 -26
- package/dist/components/line-items.js.map +1 -1
- package/dist/components/list-labels.d.ts +2 -0
- package/dist/components/list-labels.js +9 -0
- package/dist/components/list-labels.js.map +1 -0
- package/dist/components/list.d.ts +32 -21
- package/dist/components/list.js +41 -25
- package/dist/components/list.js.map +1 -1
- package/dist/components/loading-state.d.ts +5 -9
- package/dist/components/loading-state.js +2 -2
- package/dist/components/loading-state.js.map +1 -1
- package/dist/components/measured-grid-labels.d.ts +4 -0
- package/dist/components/measured-grid-labels.js +21 -0
- package/dist/components/measured-grid-labels.js.map +1 -0
- package/dist/components/measured-grid.d.ts +13 -17
- package/dist/components/measured-grid.js +31 -50
- package/dist/components/measured-grid.js.map +1 -1
- package/dist/components/menu-item.d.ts +10 -10
- package/dist/components/menu-item.js +9 -9
- package/dist/components/menu-item.js.map +1 -1
- package/dist/components/mini-calendar-labels.d.ts +4 -0
- package/dist/components/mini-calendar-labels.js +14 -0
- package/dist/components/mini-calendar-labels.js.map +1 -0
- package/dist/components/mini-calendar.d.ts +10 -14
- package/dist/components/mini-calendar.js +22 -29
- package/dist/components/mini-calendar.js.map +1 -1
- package/dist/components/modal.d.ts +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 -111
- package/dist/components/money-field.js +6 -22
- package/dist/components/money-field.js.map +1 -1
- package/dist/components/month-picker-labels.d.ts +5 -0
- package/dist/components/month-picker-labels.js +18 -0
- package/dist/components/month-picker-labels.js.map +1 -0
- package/dist/components/month-picker.d.ts +15 -13
- package/dist/components/month-picker.js +34 -32
- package/dist/components/month-picker.js.map +1 -1
- package/dist/components/multi-entity-combobox.d.ts +9 -11
- package/dist/components/multi-entity-combobox.js +14 -13
- package/dist/components/multi-entity-combobox.js.map +1 -1
- package/dist/components/multi-select.d.ts +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 +6 -111
- package/dist/components/number-field.js +2 -3
- package/dist/components/number-field.js.map +1 -1
- package/dist/components/number-input.d.ts +30 -111
- package/dist/components/number-input.js +34 -66
- package/dist/components/number-input.js.map +1 -1
- package/dist/components/numeric-field.d.ts +85 -0
- package/dist/components/numeric-field.js +71 -0
- package/dist/components/numeric-field.js.map +1 -0
- package/dist/components/numpad-sheet.d.ts +5 -108
- package/dist/components/numpad-sheet.js +7 -7
- package/dist/components/numpad-sheet.js.map +1 -1
- package/dist/components/one-time-code-input.d.ts +6 -7
- package/dist/components/one-time-code-input.js +119 -124
- package/dist/components/one-time-code-input.js.map +1 -1
- package/dist/components/page-contents-labels.d.ts +2 -0
- package/dist/components/page-contents-labels.js +8 -0
- package/dist/components/page-contents-labels.js.map +1 -0
- package/dist/components/page-contents.d.ts +13 -15
- package/dist/components/page-contents.js +7 -9
- package/dist/components/page-contents.js.map +1 -1
- package/dist/components/page-header.d.ts +10 -10
- package/dist/components/page-header.js +3 -3
- package/dist/components/page-header.js.map +1 -1
- package/dist/components/password-strength-labels.d.ts +2 -0
- package/dist/components/password-strength-labels.js +21 -0
- package/dist/components/password-strength-labels.js.map +1 -0
- package/dist/components/password-strength.d.ts +15 -17
- package/dist/components/password-strength.js +7 -22
- package/dist/components/password-strength.js.map +1 -1
- package/dist/components/phone-input-labels.d.ts +2 -0
- package/dist/components/phone-input-labels.js +9 -0
- package/dist/components/phone-input-labels.js.map +1 -0
- package/dist/components/phone-input.d.ts +75 -101
- package/dist/components/phone-input.js +20 -23
- package/dist/components/phone-input.js.map +1 -1
- package/dist/components/picker-sheet.d.ts +20 -8
- package/dist/components/picker-sheet.js +22 -11
- package/dist/components/picker-sheet.js.map +1 -1
- package/dist/components/pie-chart-labels.d.ts +2 -4
- package/dist/components/pie-chart.d.ts +8 -11
- package/dist/components/pie-chart.js +5 -5
- package/dist/components/pie-chart.js.map +1 -1
- package/dist/components/popover-labels.d.ts +2 -0
- package/dist/components/popover-labels.js +11 -0
- package/dist/components/popover-labels.js.map +1 -0
- package/dist/components/popover.d.ts +13 -11
- package/dist/components/popover.js +15 -21
- package/dist/components/popover.js.map +1 -1
- package/dist/components/progress-bar-labels.d.ts +2 -0
- package/dist/components/progress-bar-labels.js +9 -0
- package/dist/components/progress-bar-labels.js.map +1 -0
- package/dist/components/progress-bar.d.ts +16 -15
- package/dist/components/progress-bar.js +22 -20
- package/dist/components/progress-bar.js.map +1 -1
- package/dist/components/qr-code.d.ts +4 -8
- package/dist/components/qr-code.js.map +1 -1
- package/dist/components/reauth-dialog-labels.d.ts +2 -0
- package/dist/components/reauth-dialog-labels.js +12 -0
- package/dist/components/reauth-dialog-labels.js.map +1 -0
- package/dist/components/reauth-dialog.d.ts +8 -10
- package/dist/components/reauth-dialog.js +3 -8
- package/dist/components/reauth-dialog.js.map +1 -1
- package/dist/components/row-actions-labels.d.ts +2 -0
- package/dist/components/row-actions-labels.js +9 -0
- package/dist/components/row-actions-labels.js.map +1 -0
- package/dist/components/row-actions.d.ts +224 -101
- package/dist/components/row-actions.js +4 -5
- package/dist/components/row-actions.js.map +1 -1
- package/dist/components/scroll-area.d.ts +6 -9
- package/dist/components/scroll-area.js +4 -10
- package/dist/components/scroll-area.js.map +1 -1
- package/dist/components/search-field.d.ts +12 -27
- package/dist/components/search-field.js +13 -16
- package/dist/components/search-field.js.map +1 -1
- package/dist/components/select.d.ts +69 -0
- package/dist/components/select.js +164 -0
- package/dist/components/select.js.map +1 -0
- package/dist/components/separator.d.ts +3 -7
- package/dist/components/separator.js.map +1 -1
- package/dist/components/series-chart-axes.d.ts +120 -0
- package/dist/components/series-chart-axes.js +164 -0
- package/dist/components/series-chart-axes.js.map +1 -0
- package/dist/components/series-chart-budget.d.ts +8 -9
- package/dist/components/series-chart-labels.d.ts +2 -4
- package/dist/components/series-chart-thin.d.ts +34 -0
- package/dist/components/series-chart-thin.js +103 -0
- package/dist/components/series-chart-thin.js.map +1 -0
- package/dist/components/series-chart-ticks.d.ts +9 -11
- package/dist/components/series-chart.d.ts +64 -214
- package/dist/components/series-chart.js +69 -160
- package/dist/components/series-chart.js.map +1 -1
- package/dist/components/server-wake-labels.d.ts +2 -0
- package/dist/components/server-wake-labels.js +9 -0
- package/dist/components/server-wake-labels.js.map +1 -0
- package/dist/components/server-wake.d.ts +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 -118
- package/dist/components/settings-fields.js +13 -3
- package/dist/components/settings-fields.js.map +1 -1
- package/dist/components/share-card-labels.d.ts +2 -0
- package/dist/components/share-card-labels.js +29 -0
- package/dist/components/share-card-labels.js.map +1 -0
- package/dist/components/share-card.d.ts +188 -101
- package/dist/components/share-card.js +16 -34
- package/dist/components/share-card.js.map +1 -1
- package/dist/components/sign-chip-labels.d.ts +2 -0
- package/dist/components/sign-chip-labels.js +11 -0
- package/dist/components/sign-chip-labels.js.map +1 -0
- package/dist/components/sign-chip.d.ts +7 -9
- package/dist/components/sign-chip.js +2 -7
- package/dist/components/sign-chip.js.map +1 -1
- package/dist/components/signature-pad-labels.d.ts +2 -0
- package/dist/components/signature-pad-labels.js +23 -0
- package/dist/components/signature-pad-labels.js.map +1 -0
- package/dist/components/signature-pad.d.ts +16 -15
- package/dist/components/signature-pad.js +22 -35
- package/dist/components/signature-pad.js.map +1 -1
- package/dist/components/signed-amount-labels.d.ts +2 -0
- package/dist/components/signed-amount-labels.js +9 -0
- package/dist/components/signed-amount-labels.js.map +1 -0
- package/dist/components/signed-amount.d.ts +19 -21
- package/dist/components/signed-amount.js +12 -15
- package/dist/components/signed-amount.js.map +1 -1
- package/dist/components/skeleton.d.ts +5 -9
- package/dist/components/skeleton.js +1 -1
- package/dist/components/skeleton.js.map +1 -1
- package/dist/components/slider.d.ts +16 -11
- package/dist/components/slider.js +23 -18
- package/dist/components/slider.js.map +1 -1
- package/dist/components/sparkline-labels.d.ts +2 -0
- package/dist/components/sparkline-labels.js +13 -0
- package/dist/components/sparkline-labels.js.map +1 -0
- package/dist/components/sparkline.d.ts +10 -12
- package/dist/components/sparkline.js +10 -17
- package/dist/components/sparkline.js.map +1 -1
- package/dist/components/spinner.d.ts +45 -0
- package/dist/components/spinner.js +39 -0
- package/dist/components/spinner.js.map +1 -0
- package/dist/components/stat-tile-labels.d.ts +2 -0
- package/dist/components/stat-tile-labels.js +14 -0
- package/dist/components/stat-tile-labels.js.map +1 -0
- package/dist/components/stat-tile.d.ts +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 -119
- package/dist/components/text-link.js +7 -7
- package/dist/components/text-link.js.map +1 -1
- package/dist/components/text.d.ts +14 -13
- package/dist/components/text.js +5 -5
- package/dist/components/text.js.map +1 -1
- package/dist/components/textarea.d.ts +20 -0
- package/dist/components/textarea.js +161 -0
- package/dist/components/textarea.js.map +1 -0
- package/dist/components/tile-radio.d.ts +6 -10
- package/dist/components/tile-radio.js +6 -6
- package/dist/components/tile-radio.js.map +1 -1
- package/dist/components/time-input.d.ts +5 -108
- package/dist/components/time-input.js +14 -5
- package/dist/components/time-input.js.map +1 -1
- package/dist/components/toast-labels.d.ts +2 -0
- package/dist/components/toast-labels.js +11 -0
- package/dist/components/toast-labels.js.map +1 -0
- package/dist/components/toast.d.ts +21 -23
- package/dist/components/toast.js +1 -6
- package/dist/components/toast.js.map +1 -1
- package/dist/components/toggle-group.d.ts +26 -26
- package/dist/components/toggle-group.js +43 -19
- package/dist/components/toggle-group.js.map +1 -1
- package/dist/components/toggle-legend.d.ts +18 -21
- package/dist/components/toggle-legend.js +3 -3
- package/dist/components/toggle-legend.js.map +1 -1
- package/dist/components/tooltip.d.ts +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 -101
- package/dist/feedback/feedback-attachment.js +31 -42
- package/dist/feedback/feedback-attachment.js.map +1 -1
- package/dist/feedback/feedback-capture.d.ts +2 -4
- package/dist/feedback/feedback-context-labels.d.ts +2 -0
- package/dist/feedback/feedback-context-labels.js +9 -0
- package/dist/feedback/feedback-context-labels.js.map +1 -0
- package/dist/feedback/feedback-context.d.ts +110 -101
- package/dist/feedback/feedback-context.js +4 -7
- package/dist/feedback/feedback-context.js.map +1 -1
- package/dist/feedback/feedback-crash.d.ts +8 -110
- package/dist/feedback/feedback-dialog-labels.d.ts +12 -0
- package/dist/feedback/feedback-dialog-labels.js +17 -0
- package/dist/feedback/feedback-dialog-labels.js.map +1 -0
- package/dist/feedback/feedback-dialog.d.ts +186 -101
- package/dist/feedback/feedback-dialog.js +8 -18
- package/dist/feedback/feedback-dialog.js.map +1 -1
- package/dist/feedback/feedback-inbox.d.ts +236 -101
- package/dist/feedback/feedback-inbox.js +31 -141
- package/dist/feedback/feedback-inbox.js.map +1 -1
- package/dist/feedback/feedback-labels.d.ts +83 -101
- package/dist/feedback/feedback-labels.js.map +1 -1
- package/dist/feedback/feedback-menu-labels.d.ts +2 -0
- package/dist/feedback/feedback-menu-labels.js +10 -0
- package/dist/feedback/feedback-menu-labels.js.map +1 -0
- package/dist/feedback/feedback-menu.d.ts +83 -101
- package/dist/feedback/feedback-menu.js +3 -7
- package/dist/feedback/feedback-menu.js.map +1 -1
- package/dist/feedback/feedback-record.d.ts +239 -101
- package/dist/feedback/feedback-record.js +7 -2
- package/dist/feedback/feedback-record.js.map +1 -1
- package/dist/feedback/feedback-row-detail-labels.d.ts +2 -0
- package/dist/feedback/feedback-row-detail-labels.js +31 -0
- package/dist/feedback/feedback-row-detail-labels.js.map +1 -0
- package/dist/feedback/feedback-row-detail.d.ts +315 -101
- package/dist/feedback/feedback-row-detail.js +11 -37
- package/dist/feedback/feedback-row-detail.js.map +1 -1
- package/dist/feedback/feedback-status-undo.d.ts +66 -101
- package/dist/feedback/feedback-status-undo.js.map +1 -1
- package/dist/feedback/feedback-submit-dialog.d.ts +39 -0
- package/dist/feedback/feedback-submit-dialog.js +66 -0
- package/dist/feedback/feedback-submit-dialog.js.map +1 -0
- package/dist/feedback/feedback-submit.d.ts +13 -109
- package/dist/feedback/feedback-submit.js +19 -40
- package/dist/feedback/feedback-submit.js.map +1 -1
- package/dist/feedback/feedback-swipe.d.ts +9 -110
- package/dist/feedback/feedback-swipe.js +1 -1
- package/dist/feedback/feedback-swipe.js.map +1 -1
- package/dist/feedback/feedback-table-labels.d.ts +2 -0
- package/dist/feedback/feedback-table-labels.js +26 -0
- package/dist/feedback/feedback-table-labels.js.map +1 -0
- package/dist/feedback/feedback-table.d.ts +314 -101
- package/dist/feedback/feedback-table.js +11 -31
- package/dist/feedback/feedback-table.js.map +1 -1
- package/dist/feedback/feedback-thread-labels.d.ts +3 -0
- package/dist/feedback/feedback-thread-labels.js +21 -0
- package/dist/feedback/feedback-thread-labels.js.map +1 -0
- package/dist/feedback/feedback-thread.d.ts +378 -101
- package/dist/feedback/feedback-thread.js +27 -34
- package/dist/feedback/feedback-thread.js.map +1 -1
- package/dist/feedback/feedback-vocabulary.d.ts +98 -0
- package/dist/feedback/feedback-vocabulary.js +143 -0
- package/dist/feedback/feedback-vocabulary.js.map +1 -0
- package/dist/feedback.d.ts +15 -105
- package/dist/hooks/use-anchored-panel.d.ts +77 -15
- package/dist/hooks/use-anchored-panel.js +34 -1
- package/dist/hooks/use-anchored-panel.js.map +1 -1
- package/dist/hooks/use-anchored-rect.d.ts +15 -6
- package/dist/hooks/use-anchored-rect.js +2 -1
- package/dist/hooks/use-anchored-rect.js.map +1 -1
- package/dist/hooks/use-announce.d.ts +4 -6
- package/dist/hooks/use-authed-src.d.ts +5 -7
- package/dist/hooks/use-authed-src.js +3 -7
- package/dist/hooks/use-authed-src.js.map +1 -1
- package/dist/hooks/use-body-scroll-lock.d.ts +1 -3
- package/dist/hooks/use-breakpoint.d.ts +16 -17
- package/dist/hooks/use-breakpoint.js.map +1 -1
- package/dist/hooks/use-close-transition.d.ts +8 -8
- package/dist/hooks/use-close-transition.js +5 -4
- package/dist/hooks/use-close-transition.js.map +1 -1
- package/dist/hooks/use-copy-to-clipboard.d.ts +5 -7
- package/dist/hooks/use-debounce.d.ts +13 -6
- package/dist/hooks/use-debounce.js.map +1 -1
- package/dist/hooks/use-dismiss.d.ts +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 -110
- package/dist/hooks/use-file-drop.js +1 -1
- package/dist/hooks/use-file-drop.js.map +1 -1
- package/dist/hooks/use-file-picker-labels.d.ts +2 -0
- package/dist/hooks/use-file-picker-labels.js +25 -0
- package/dist/hooks/use-file-picker-labels.js.map +1 -0
- package/dist/hooks/use-file-picker.d.ts +164 -0
- package/dist/hooks/use-file-picker.js +149 -0
- package/dist/hooks/use-file-picker.js.map +1 -0
- package/dist/hooks/use-focus-trap.d.ts +2 -4
- package/dist/hooks/use-focus-trap.js +2 -1
- package/dist/hooks/use-focus-trap.js.map +1 -1
- package/dist/hooks/use-hotkey.d.ts +7 -9
- package/dist/hooks/use-large-text.d.ts +3 -5
- package/dist/hooks/use-media-query.d.ts +1 -3
- package/dist/hooks/use-noindex.d.ts +1 -3
- package/dist/hooks/use-overlay-history.d.ts +1 -3
- package/dist/hooks/use-row-swipe.d.ts +5 -8
- package/dist/hooks/use-search-param-state.d.ts +10 -11
- package/dist/hooks/use-windowed-rows.d.ts +4 -7
- package/dist/i18n/defaults.d.ts +11 -105
- package/dist/i18n/defaults.js +82 -82
- package/dist/i18n/defaults.js.map +1 -1
- package/dist/i18n/german.d.ts +2 -105
- package/dist/i18n/german.js +52 -8
- package/dist/i18n/german.js.map +1 -1
- package/dist/i18n/kit-labels.d.ts +609 -101
- package/dist/i18n/kit-labels.js +22 -97
- package/dist/i18n/kit-labels.js.map +1 -1
- package/dist/i18n/languages.d.ts +197 -101
- package/dist/i18n/locales/de-CH.d.ts +3 -106
- package/dist/i18n/locales/en.d.ts +4 -105
- package/dist/i18n/locales/en.js +1834 -4
- package/dist/i18n/locales/en.js.map +7 -1
- package/dist/i18n/locales/es.d.ts +3 -106
- package/dist/i18n/locales/es.js +52 -8
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.d.ts +3 -106
- package/dist/i18n/locales/fr.js +53 -8
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hu.d.ts +3 -106
- package/dist/i18n/locales/hu.js +52 -8
- package/dist/i18n/locales/hu.js.map +1 -1
- package/dist/i18n/locales/it.d.ts +3 -106
- package/dist/i18n/locales/it.js +53 -8
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/zh.d.ts +3 -106
- package/dist/i18n/locales/zh.js +51 -8
- package/dist/i18n/locales/zh.js.map +1 -1
- package/dist/i18n/plurals.d.ts +3 -5
- package/dist/i18n/review.d.ts +5 -107
- package/dist/i18n/review.js +4 -0
- package/dist/i18n/review.js.map +1 -1
- package/dist/i18n/shared-labels.d.ts +17 -0
- package/dist/i18n/shared-labels.js +111 -0
- package/dist/i18n/shared-labels.js.map +1 -0
- package/dist/i18n/swiss.d.ts +1 -3
- package/dist/index.d.ts +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 -109
- package/dist/landing/landing-actions.js +1 -1
- package/dist/landing/landing-actions.js.map +1 -1
- package/dist/landing/landing-labels.d.ts +4 -5
- package/dist/landing/landing-labels.js.map +1 -1
- package/dist/landing/landing-sections.d.ts +21 -121
- package/dist/landing/landing-sections.js +15 -15
- package/dist/landing/landing-sections.js.map +1 -1
- package/dist/landing/page-seo.d.ts +7 -9
- package/dist/landing/public-header.d.ts +10 -111
- package/dist/landing/public-header.js +1 -1
- package/dist/landing/public-header.js.map +1 -1
- package/dist/landing/routing.d.ts +16 -120
- package/dist/landing/routing.js +2 -6
- package/dist/landing/routing.js.map +1 -1
- package/dist/lib/calc.d.ts +7 -9
- package/dist/lib/chip-edge-snap.d.ts +10 -0
- package/dist/lib/chip-edge-snap.js +131 -0
- package/dist/lib/chip-edge-snap.js.map +1 -0
- package/dist/lib/clipping.d.ts +2 -4
- package/dist/lib/cn.d.ts +2 -5
- package/dist/lib/cn.js +6 -1
- package/dist/lib/cn.js.map +1 -1
- package/dist/lib/column-mapping.d.ts +10 -13
- package/dist/lib/countries.d.ts +3 -5
- package/dist/lib/dates.d.ts +25 -25
- package/dist/lib/dates.js.map +1 -1
- package/dist/lib/decimal-marks.d.ts +8 -8
- package/dist/lib/decimal-marks.js +1 -1
- package/dist/lib/decimal-marks.js.map +1 -1
- package/dist/lib/direction.d.ts +4 -6
- package/dist/lib/document-navigation.d.ts +1 -3
- package/dist/lib/download.d.ts +67 -0
- package/dist/lib/download.js +89 -0
- package/dist/lib/download.js.map +1 -0
- package/dist/lib/floating-stack.d.ts +8 -6
- package/dist/lib/floating-stack.js.map +1 -1
- package/dist/lib/format.d.ts +24 -23
- package/dist/lib/format.js +3 -3
- package/dist/lib/format.js.map +1 -1
- package/dist/lib/iban.d.ts +9 -11
- package/dist/lib/ime.d.ts +17 -0
- package/dist/lib/ime.js +13 -0
- package/dist/lib/ime.js.map +1 -0
- package/dist/lib/isin.d.ts +3 -5
- package/dist/lib/logger.d.ts +4 -6
- package/dist/lib/person-name.d.ts +3 -5
- package/dist/lib/phone.d.ts +9 -11
- package/dist/lib/presence.d.ts +15 -0
- package/dist/lib/presence.js +8 -0
- package/dist/lib/presence.js.map +1 -0
- package/dist/lib/qr-encode.d.ts +4 -6
- package/dist/lib/reduced-motion.d.ts +18 -0
- package/dist/lib/reduced-motion.js +9 -0
- package/dist/lib/reduced-motion.js.map +1 -0
- package/dist/lib/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 -189
- 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 -175
- 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 -118
- package/dist/rhf.js.map +1 -1
- package/dist/search/command-palette-labels.d.ts +2 -0
- package/dist/search/command-palette-labels.js +15 -0
- package/dist/search/command-palette-labels.js.map +1 -0
- package/dist/search/command-palette.d.ts +10 -13
- package/dist/search/command-palette.js +25 -44
- package/dist/search/command-palette.js.map +1 -1
- package/dist/search/global-search-labels.d.ts +2 -0
- package/dist/search/global-search-labels.js +12 -0
- package/dist/search/global-search-labels.js.map +1 -0
- package/dist/search/global-search.d.ts +17 -16
- package/dist/search/global-search.js +12 -12
- package/dist/search/global-search.js.map +1 -1
- package/dist/search/search-index.d.ts +13 -14
- package/dist/search/search-index.js +2 -1
- package/dist/search/search-index.js.map +1 -1
- package/dist/search/use-command-key.d.ts +9 -0
- package/dist/search/use-command-key.js +18 -0
- package/dist/search/use-command-key.js.map +1 -0
- package/dist/search.d.ts +3 -4
- package/dist/settings/settings-card-classes.d.ts +11 -0
- package/dist/settings/settings-card-classes.js +8 -0
- package/dist/settings/settings-card-classes.js.map +1 -0
- package/dist/settings/settings-catalogue.d.ts +11 -14
- package/dist/settings/settings-context.d.ts +4 -8
- package/dist/settings/settings-heading.d.ts +8 -12
- package/dist/settings/settings-heading.js +1 -1
- package/dist/settings/settings-heading.js.map +1 -1
- package/dist/settings/settings-labels.d.ts +6 -7
- package/dist/settings/settings-labels.js.map +1 -1
- package/dist/settings/settings-layout.d.ts +36 -13
- package/dist/settings/settings-layout.js +25 -4
- package/dist/settings/settings-layout.js.map +1 -1
- package/dist/settings/settings-section.d.ts +4 -107
- package/dist/settings/settings-section.js +2 -2
- package/dist/settings/settings-section.js.map +1 -1
- package/dist/settings/use-account-appearance.d.ts +11 -16
- package/dist/settings/use-account-language.d.ts +8 -10
- package/dist/settings/use-settings-focus.d.ts +3 -5
- package/dist/settings/use-settings-focus.js +2 -4
- package/dist/settings/use-settings-focus.js.map +1 -1
- package/dist/settings/use-settings-route.d.ts +11 -16
- package/dist/shell/app-shell-labels.d.ts +2 -0
- package/dist/shell/app-shell-labels.js +9 -0
- package/dist/shell/app-shell-labels.js.map +1 -0
- package/dist/shell/app-shell.d.ts +216 -101
- package/dist/shell/app-shell.js +51 -35
- package/dist/shell/app-shell.js.map +1 -1
- package/dist/shell/auth-layout.d.ts +6 -9
- package/dist/shell/auth-layout.js +6 -6
- package/dist/shell/auth-layout.js.map +1 -1
- package/dist/shell/company-switcher-labels.d.ts +2 -0
- package/dist/shell/company-switcher-labels.js +12 -0
- package/dist/shell/company-switcher-labels.js.map +1 -0
- package/dist/shell/company-switcher.d.ts +9 -11
- package/dist/shell/company-switcher.js +3 -9
- package/dist/shell/company-switcher.js.map +1 -1
- package/dist/shell/option-switcher-menu.d.ts +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 -107
- package/dist/shell/top-bar-brand.js +1 -1
- package/dist/shell/top-bar-brand.js.map +1 -1
- package/dist/shell/top-bar.d.ts +6 -9
- package/dist/shell/top-bar.js +1 -1
- package/dist/shell/top-bar.js.map +1 -1
- package/dist/shell/topbar-action-menu.d.ts +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 -116
- package/dist/shell.js.map +1 -1
- package/dist/table-text.d.ts +1 -1
- package/dist/testing/css-variables.d.ts +4 -6
- package/dist/testing/css-variables.generated.d.ts +2 -4
- package/dist/testing/index.d.ts +2 -1
- package/dist/testing/index.js +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 -108
- 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 -107
- 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 +58 -34
- package/src/admin/reviewer-scope-editor-labels.ts +16 -0
- package/src/admin/reviewer-scope-editor.tsx +9 -15
- package/src/admin/role-select-labels.ts +16 -0
- package/src/admin/role-select.tsx +13 -23
- package/src/admin/transfer-ownership-dialog-labels.ts +20 -0
- package/src/admin/transfer-ownership-dialog.tsx +7 -17
- package/src/admin/user-roster-labels.ts +17 -0
- package/src/admin/user-roster.tsx +9 -17
- package/src/auth/accept-invitation-labels.ts +21 -0
- package/src/auth/accept-invitation.tsx +9 -20
- package/src/auth/auth-errors.ts +29 -13
- package/src/auth/complete-name-dialog-labels.ts +16 -0
- package/src/auth/complete-name-dialog.tsx +8 -13
- package/src/auth/forgot-password-form-labels.ts +20 -0
- package/src/auth/forgot-password-form.tsx +12 -20
- package/src/auth/new-password-fields.tsx +1 -1
- package/src/auth/not-found-page-labels.ts +12 -0
- package/src/auth/not-found-page.tsx +11 -14
- package/src/auth/register-form-labels.ts +31 -0
- package/src/auth/register-form.tsx +18 -38
- package/src/auth/reset-password-form-labels.ts +27 -0
- package/src/auth/reset-password-form.tsx +12 -27
- package/src/auth/sign-in-form-labels.ts +44 -0
- package/src/auth/sign-in-form.tsx +18 -51
- package/src/auth/status-parts.tsx +3 -3
- package/src/auth/verify-email-labels.ts +26 -0
- package/src/auth/verify-email.tsx +15 -30
- package/src/billing/billing-banner.tsx +2 -1
- package/src/billing/billing-labels.ts +1 -1
- package/src/billing/checkout-processing.ts +2 -12
- package/src/billing/plan-card.tsx +26 -27
- package/src/billing/plan-limit-notice.tsx +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 +79 -78
- package/src/components/breadcrumbs-labels.ts +10 -0
- package/src/components/breadcrumbs.tsx +17 -14
- package/src/components/bulk-action-bar-labels.ts +11 -0
- package/src/components/bulk-action-bar.tsx +15 -16
- package/src/components/button-group.tsx +7 -7
- package/src/components/button-look.ts +230 -0
- package/src/components/button.tsx +339 -0
- package/src/components/calculator.tsx +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 +346 -194
- package/src/components/combobox-suggestions.tsx +129 -0
- package/src/components/combobox.tsx +69 -895
- 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 +102 -40
- 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 +27 -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 +31 -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 +7 -5
- package/src/components/number-input.tsx +72 -97
- 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 +34 -37
- package/src/components/progress-bar-labels.ts +10 -0
- package/src/components/progress-bar.tsx +32 -23
- package/src/components/qr-code.tsx +2 -2
- package/src/components/reauth-dialog-labels.ts +13 -0
- package/src/components/reauth-dialog.tsx +7 -10
- package/src/components/row-actions-labels.ts +10 -0
- package/src/components/row-actions.tsx +11 -10
- package/src/components/scroll-area.tsx +4 -10
- package/src/components/search-field.tsx +35 -49
- package/src/components/select.tsx +302 -0
- package/src/components/separator.tsx +2 -2
- package/src/components/series-chart-axes.ts +329 -0
- package/src/components/series-chart-thin.ts +180 -0
- package/src/components/series-chart.tsx +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 +1 -1
- package/src/components/slider.tsx +51 -39
- package/src/components/sparkline-labels.ts +14 -0
- package/src/components/sparkline.tsx +16 -21
- package/src/components/spinner.tsx +81 -0
- package/src/components/stat-tile-labels.ts +15 -0
- package/src/components/stat-tile.tsx +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 +48 -47
- package/src/feedback/feedback-vocabulary.ts +252 -0
- package/src/hooks/use-anchored-panel.ts +102 -2
- package/src/hooks/use-anchored-rect.ts +11 -9
- package/src/hooks/use-authed-src.ts +13 -7
- package/src/hooks/use-breakpoint.ts +5 -4
- package/src/hooks/use-close-transition.ts +9 -10
- package/src/hooks/use-debounce.ts +9 -0
- package/src/hooks/use-dismiss.ts +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 +19 -6
- package/src/i18n/defaults.ts +91 -82
- package/src/i18n/german.ts +50 -6
- package/src/i18n/kit-labels.tsx +70 -119
- package/src/i18n/locales/en.ts +46 -0
- package/src/i18n/locales/es.ts +50 -6
- package/src/i18n/locales/fr.ts +52 -7
- package/src/i18n/locales/hu.ts +50 -6
- package/src/i18n/locales/it.ts +51 -6
- package/src/i18n/locales/zh.ts +49 -6
- package/src/i18n/review.ts +4 -0
- package/src/i18n/shared-labels.ts +135 -0
- package/src/index.ts +412 -404
- package/src/landing/access.ts +2 -1
- package/src/landing/landing-actions.tsx +6 -5
- package/src/landing/landing-labels.ts +2 -2
- package/src/landing/landing-sections.tsx +24 -23
- package/src/landing/public-header.tsx +3 -2
- package/src/landing/routing.tsx +2 -7
- package/src/lib/chip-edge-snap.ts +212 -0
- package/src/lib/cn.ts +13 -1
- package/src/lib/dates.ts +4 -2
- package/src/lib/decimal-marks.ts +4 -2
- package/src/lib/download.ts +172 -0
- package/src/lib/floating-stack.ts +5 -1
- package/src/lib/format.ts +5 -3
- package/src/lib/ime.ts +24 -0
- package/src/lib/presence.ts +18 -0
- package/src/lib/reduced-motion.ts +21 -0
- package/src/lib/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 +45 -14
- package/dist/components/account-settings-labels.js.map +0 -1
- package/dist/components/account-settings.js.map +0 -1
- package/dist/components/choice-parts.d.ts +0 -24
- package/dist/components/choice-parts.js +0 -18
- package/dist/components/choice-parts.js.map +0 -1
- package/dist/components/passkeys-setting.js.map +0 -1
- package/dist/components/ui.d.ts +0 -101
- package/dist/components/ui.js +0 -1955
- package/dist/components/ui.js.map +0 -1
- package/dist/data-table-labels-BJ5JE_X2.d.ts +0 -923
- package/dist/delete-account-setting-DAgGBrbn.d.ts +0 -8167
- package/src/components/choice-parts.ts +0 -33
- package/src/components/ui.tsx +0 -4233
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type { ComponentPropsWithoutRef, ComponentType, MouseEvent, ReactElement, ReactNode } from "react";
|
|
1
|
+
import type { ComponentPropsWithoutRef, ComponentType, MouseEvent, ReactElement, ReactNode, Ref } from "react";
|
|
2
2
|
import { cn } from "../lib/cn";
|
|
3
3
|
import { useKitLink } from "../i18n/kit-labels";
|
|
4
|
+
import { FOCUS_RING } from "./focus-ring";
|
|
4
5
|
import { pickLinkRenderer, RenderedKitLink } from "./text-link";
|
|
5
6
|
|
|
6
7
|
export interface NavPillItem<T extends string> {
|
|
@@ -49,17 +50,21 @@ export interface NavPillsProps<T extends string> extends Omit<ComponentPropsWith
|
|
|
49
50
|
landmark?: boolean;
|
|
50
51
|
/** Classes for every pill. */
|
|
51
52
|
itemClassName?: string;
|
|
53
|
+
/** The `<nav>` (or the `<div role="group">`) — hence `HTMLElement` (0.34, API-2,
|
|
54
|
+
* refactor audit 2026-10). */
|
|
55
|
+
ref?: Ref<HTMLElement>;
|
|
52
56
|
}
|
|
53
57
|
|
|
54
58
|
// The pill is a ToggleGroup segment's (`rounded`, `px-3 py-1.5`, the inverse fill for
|
|
55
59
|
// the current one), so a strip of these beside a segmented control reads as the same
|
|
56
|
-
// family. Unlike the segments, a pill never truncates: the strip WRAPS instead.
|
|
57
|
-
|
|
58
|
-
|
|
60
|
+
// family. Unlike the segments, a pill never truncates: the strip WRAPS instead. Its focus
|
|
61
|
+
// ring is the kit's one focus frame (text-size §5), in brand; until 0.34 it copied the
|
|
62
|
+
// segment's `ring-strong` too (refactor audit 2026-10, DOC-7).
|
|
63
|
+
const PILL = `inline-flex items-center gap-1.5 whitespace-nowrap rounded-md px-3 py-1.5 text-sm font-medium transition-colors focus:outline-none ${FOCUS_RING} [&_svg]:size-4 [&_svg]:shrink-0`;
|
|
59
64
|
const PILL_SM = "gap-1 px-2 py-1 text-xs [&_svg]:size-3.5";
|
|
60
|
-
const PILL_CURRENT = "bg-
|
|
61
|
-
const PILL_IDLE = "text-
|
|
62
|
-
const PILL_DISABLED = "cursor-not-allowed opacity-50 hover:bg-transparent hover:text-
|
|
65
|
+
const PILL_CURRENT = "bg-inverse text-inverse";
|
|
66
|
+
const PILL_IDLE = "text-secondary hover:bg-hover hover:text-primary";
|
|
67
|
+
const PILL_DISABLED = "cursor-not-allowed opacity-50 hover:bg-transparent hover:text-secondary";
|
|
63
68
|
|
|
64
69
|
/**
|
|
65
70
|
* A set of links or buttons that WRAPS onto as many rows as it needs, the current one
|
|
@@ -85,12 +90,18 @@ export function NavPills<T extends string>({
|
|
|
85
90
|
landmark = true,
|
|
86
91
|
itemClassName,
|
|
87
92
|
className,
|
|
93
|
+
ref,
|
|
88
94
|
...rest
|
|
89
95
|
}: NavPillsProps<T>) {
|
|
90
96
|
const kitLink = useKitLink();
|
|
91
97
|
const Root = landmark ? "nav" : "div";
|
|
92
98
|
return (
|
|
93
|
-
<Root
|
|
99
|
+
<Root
|
|
100
|
+
{...rest}
|
|
101
|
+
ref={ref as Ref<HTMLDivElement> | undefined}
|
|
102
|
+
role={landmark ? undefined : "group"}
|
|
103
|
+
className={cn("min-w-0", className)}
|
|
104
|
+
>
|
|
94
105
|
<ul className="m-0 flex list-none flex-wrap gap-1 p-0">
|
|
95
106
|
{items.map((item) => {
|
|
96
107
|
const isCurrent = item.value === current;
|
|
@@ -3,6 +3,7 @@ import type { ComponentProps, ReactNode } from "react";
|
|
|
3
3
|
import { NumberInput } from "./number-input";
|
|
4
4
|
import { evaluateExpression, formatResult } from "../lib/calc";
|
|
5
5
|
import { decimalMark } from "../lib/decimal-marks";
|
|
6
|
+
import { roundHalfAway } from "../lib/round";
|
|
6
7
|
import { useKitLocale } from "../i18n/kit-labels";
|
|
7
8
|
|
|
8
9
|
type NumberInputProps = ComponentProps<typeof NumberInput>;
|
|
@@ -87,13 +88,14 @@ function parseLive(text: string): number | null | undefined {
|
|
|
87
88
|
return evaluateExpression(t) ?? undefined;
|
|
88
89
|
}
|
|
89
90
|
|
|
90
|
-
/** `
|
|
91
|
-
*
|
|
91
|
+
/** `n` at `digits` decimals, half away from zero as WRITTEN — lib/round's
|
|
92
|
+
* `roundHalfAway`, shared with `roundToCurrency` and AmountInput (BUG-11 follow-up,
|
|
93
|
+
* refactor audit 2026-10). The `toFixed` this was turned 1.005 into 1.00 (1.005 is
|
|
94
|
+
* 1.00499… in binary) and −0.004 into −0; neither `Math.round(n * 10^d)` nor `toFixed`
|
|
95
|
+
* rounds the figure a person typed. `digits` is cut to a whole 0–100. */
|
|
92
96
|
function roundTo(n: number, digits: number | undefined): number {
|
|
93
97
|
if (digits === undefined) return n;
|
|
94
|
-
|
|
95
|
-
const rounded = Number(n.toFixed(d));
|
|
96
|
-
return Number.isFinite(rounded) ? rounded : n;
|
|
98
|
+
return roundHalfAway(n, Math.min(Math.max(Math.trunc(digits), 0), 100));
|
|
97
99
|
}
|
|
98
100
|
|
|
99
101
|
/**
|
|
@@ -1,19 +1,24 @@
|
|
|
1
|
-
import { useEffect, useId,
|
|
2
|
-
import type { KeyboardEvent, ReactNode } from "react";
|
|
1
|
+
import { useEffect, useId, useMemo, useRef } from "react";
|
|
2
|
+
import type { KeyboardEvent, ReactNode, Ref } from "react";
|
|
3
3
|
import { CalculatorButton, type CalculatorButtonLabels } from "./calculator";
|
|
4
4
|
import { NumberPadSheet, type NumberPadSheetLabels } from "./numpad-sheet";
|
|
5
|
-
import {
|
|
5
|
+
import {
|
|
6
|
+
FIELD_BASE,
|
|
7
|
+
FIELD_DISPLAY,
|
|
8
|
+
FIELD_INVALID,
|
|
9
|
+
FLOATING_INPUT_CLASS,
|
|
10
|
+
FloatingField,
|
|
11
|
+
} from "./field-base";
|
|
6
12
|
import { CURRENCIES } from "./currency-select";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
13
|
+
import { FieldCaption, LockedReason, mergeRefs, type DisabledReasonDisplay } from "./field-parts";
|
|
14
|
+
import { useEndWidth, useNumericField } from "./numeric-field";
|
|
9
15
|
import type { CommitScope } from "./write-lock";
|
|
10
16
|
import { cn } from "../lib/cn";
|
|
11
17
|
import { commitExpression, formatResult } from "../lib/calc";
|
|
12
|
-
import { decimalMark, localizeMark, readTyped, showsTyped } from "../lib/decimal-marks";
|
|
13
|
-
import { usePhoneLayout } from "../hooks/use-breakpoint";
|
|
14
|
-
import { useKitLocale } from "../i18n/kit-labels";
|
|
15
18
|
|
|
16
|
-
|
|
19
|
+
/** {@link NumberInput}'s props — exported since 0.34 (refactor audit 2026-10, API-9): a
|
|
20
|
+
* wrapper typed itself off `ComponentProps<typeof NumberInput>` until then. */
|
|
21
|
+
export interface NumberInputProps {
|
|
17
22
|
/** The text, DOT-decimal ("1234.5", or a calculation being typed: "12+5"), as
|
|
18
23
|
* `onChange` reports it — so a caller's `Number(value)` reads it. The field SHOWS it
|
|
19
24
|
* in the locale's mark (see `locale`). A comma here is read as the decimal mark too,
|
|
@@ -27,6 +32,11 @@ interface NumberInputProps {
|
|
|
27
32
|
* fields so the save always sees the resolved number, never "10+5". */
|
|
28
33
|
onCommit?: (value: string) => void;
|
|
29
34
|
label?: ReactNode;
|
|
35
|
+
/** Names the field when it has no visible `label` (a table cell, a phone's display
|
|
36
|
+
* shape). */
|
|
37
|
+
"aria-label"?: string;
|
|
38
|
+
/** @deprecated 0.34 — use `aria-label`; removed in 0.35 (refactor audit 2026-10, API-1).
|
|
39
|
+
* Names the field only when `aria-label` is absent. */
|
|
30
40
|
ariaLabel?: string;
|
|
31
41
|
/** Names for the calculator this field renders — its trigger, and the controls
|
|
32
42
|
* inside the popover — and for the numpad sheet it opens on a phone. Overrides
|
|
@@ -148,11 +158,18 @@ interface NumberInputProps {
|
|
|
148
158
|
* Combobox family's lock is. Nothing changes the value: the step keys do nothing, the
|
|
149
159
|
* calculator and the phone's numpad are not offered, and neither blur nor Enter
|
|
150
160
|
* commits — so `onChange` and `onCommit` are never called. Enter is swallowed, so the
|
|
151
|
-
* field does not submit the form around it. The reason is
|
|
161
|
+
* field does not submit the form around it. The reason is a line under the field at
|
|
162
|
+
* Large and on a touch screen, else in the kit {@link Tooltip} (`disabledReasonDisplay`),
|
|
152
163
|
* and on the input's `aria-describedby`, between the caption and the error. Wins over
|
|
153
164
|
* `disabled`.
|
|
154
165
|
*/
|
|
155
166
|
disabledReason?: ReactNode;
|
|
167
|
+
/**
|
|
168
|
+
* Where the reason shows — {@link Button}'s `disabledReasonDisplay`: by default a line
|
|
169
|
+
* under the field at Large and on a touch screen, the tooltip otherwise (§4 "No fact
|
|
170
|
+
* only in a tooltip"; DUP-3, refactor audit 2026-10).
|
|
171
|
+
*/
|
|
172
|
+
disabledReasonDisplay?: DisabledReasonDisplay;
|
|
156
173
|
/**
|
|
157
174
|
* This field COMMITS — {@link Button}'s `commit`: under a locked
|
|
158
175
|
* {@link WriteLockProvider} it is locked the `disabledReason` way with the lock's reason
|
|
@@ -162,6 +179,13 @@ interface NumberInputProps {
|
|
|
162
179
|
* {@link IntegerField} pass it on.
|
|
163
180
|
*/
|
|
164
181
|
commit?: CommitScope;
|
|
182
|
+
/**
|
|
183
|
+
* The `<input>`, as a React 19 ref prop (0.34, API-3, refactor audit 2026-10): the one
|
|
184
|
+
* focusable field of its family with no ref at all, so react-hook-form's focus-on-error
|
|
185
|
+
* could reach it only through /rhf's id lookup, and an app not at all.
|
|
186
|
+
* {@link NumberField} and {@link IntegerField} pass it on.
|
|
187
|
+
*/
|
|
188
|
+
ref?: Ref<HTMLInputElement>;
|
|
165
189
|
}
|
|
166
190
|
|
|
167
191
|
/** Decimal places of `n` as written ("0.25" → 2, "1e-7" → 7), for decimal-exact
|
|
@@ -207,9 +231,8 @@ export function stepNumber(
|
|
|
207
231
|
return clamp(Number((origin + k * step).toFixed(places)));
|
|
208
232
|
}
|
|
209
233
|
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
const FIELD_ERROR_CLASS = "mt-1 text-caption leading-tight text-[var(--danger)]";
|
|
234
|
+
/** NumberInput never rounds: what was typed (or calculated) is what it reports. */
|
|
235
|
+
const asTyped = (text: string) => text;
|
|
213
236
|
|
|
214
237
|
// ── The money guard (kastlan 5, Kurvenschmiede) ─────────────────────────────────
|
|
215
238
|
|
|
@@ -232,7 +255,7 @@ function namesMoney(node: ReactNode): boolean {
|
|
|
232
255
|
|
|
233
256
|
/**
|
|
234
257
|
* Is this field being used for MONEY? A currency in the unit (`suffix="CHF"`), or in
|
|
235
|
-
* the label, `
|
|
258
|
+
* the label, `aria-label` or placeholder of a field with no unit at all ("Estimated
|
|
236
259
|
* cost (CHF)"). Any other suffix is a unit — "%", "mm", "N·m" — and says what the
|
|
237
260
|
* digits are, whatever the label says. `digits` plays no part: NumberInput has none,
|
|
238
261
|
* and Kurvenschmiede's engineering fields at 2 and 3 decimals are exactly what this
|
|
@@ -291,68 +314,44 @@ function devWarnings(): boolean {
|
|
|
291
314
|
*/
|
|
292
315
|
export function NumberInput(props: NumberInputProps) {
|
|
293
316
|
const {
|
|
317
|
+
ref,
|
|
294
318
|
value,
|
|
295
319
|
onChange,
|
|
296
320
|
onCommit,
|
|
297
321
|
label,
|
|
298
|
-
|
|
322
|
+
"aria-label": ariaLabelAttr,
|
|
323
|
+
ariaLabel: ariaLabelProp,
|
|
299
324
|
labels,
|
|
300
325
|
placeholder,
|
|
301
|
-
disabled,
|
|
302
326
|
autoFocus,
|
|
303
327
|
className,
|
|
304
328
|
inputClassName,
|
|
305
329
|
id,
|
|
306
|
-
calculator = true,
|
|
307
|
-
variant = "field",
|
|
308
|
-
hint: hintProp,
|
|
309
|
-
invalid: invalidProp,
|
|
310
|
-
error,
|
|
311
|
-
locale: localeProp,
|
|
312
|
-
"aria-describedby": ariaDescribedBy,
|
|
313
|
-
"aria-invalid": ariaInvalid,
|
|
314
330
|
"aria-required": ariaRequired,
|
|
315
331
|
suffix,
|
|
316
332
|
step,
|
|
317
333
|
min,
|
|
318
334
|
max,
|
|
319
|
-
|
|
320
|
-
commit: commitScope,
|
|
335
|
+
disabledReasonDisplay,
|
|
321
336
|
} = props;
|
|
337
|
+
// The DOM spelling wins; `ariaLabel` is the fallback for call sites not moved yet.
|
|
338
|
+
const ariaLabel = ariaLabelAttr ?? ariaLabelProp;
|
|
322
339
|
const generatedId = useId();
|
|
323
340
|
const fieldId = id ?? generatedId;
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
//
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
const off
|
|
331
|
-
|
|
332
|
-
// touch screen a FieldHint is its words, so it takes the caption's path below — the
|
|
333
|
-
// other kit fields do the same through `useFieldHint`.
|
|
334
|
-
const hint = useInlineHint(hintProp);
|
|
335
|
-
// Text is a caption under the field; a FieldHint rides the label line. See `hint`.
|
|
336
|
-
const textHint = (typeof hint === "string" && hint !== "") || typeof hint === "number";
|
|
337
|
-
const hasError = hasMessage(error);
|
|
341
|
+
// The engine AmountInput shares (DUP-10): the lock (focusable, `readOnly`, nothing
|
|
342
|
+
// changes or commits — see `disabledReason`), the hint — a FieldHint is its words at
|
|
343
|
+
// Large and on touch, §4 — the error, the description's order, the typist's draft and
|
|
344
|
+
// the locale's mark (see the component's note), the calculator and the numpad.
|
|
345
|
+
// NumberInput never rounds; it shows the value as it is.
|
|
346
|
+
const numeric = useNumericField(props, { settle: asTyped, display: () => value });
|
|
347
|
+
const { lock, locked, off, isMobile, asDisplay, showCalc, showNumpad, setFocused, mark, setDraft, derived } = numeric;
|
|
348
|
+
const invalid = numeric.isInvalid;
|
|
338
349
|
// Passed at all — even as `undefined` — the field keeps its box; see `error`.
|
|
339
350
|
const reserve = "error" in props || "hint" in props;
|
|
340
|
-
// The standing advice first, the news second: the caller's ids, the caption, the
|
|
341
|
-
// error — a lock's reason between the last two, as on Select.
|
|
342
|
-
const describedBy = mergeDescribedBy(ariaDescribedBy, textHint && hintId, locked && lock.reasonId, hasError && errorId);
|
|
343
|
-
const invalid = Boolean(invalidProp) || hasError || ariaInvalid === true || ariaInvalid === "true";
|
|
344
351
|
const labelled = label !== undefined;
|
|
345
|
-
// On phones we suppress the OS keyboard (inputMode="none" below) for our own
|
|
346
|
-
// calculator numpad, so the desktop popover trigger is hidden (feedback #334).
|
|
347
|
-
const isMobile = usePhoneLayout();
|
|
348
|
-
const asDisplay = isMobile && variant === "display";
|
|
349
|
-
// A locked field offers no calculator: its result would be a value.
|
|
350
|
-
const showCalc = calculator && !disabled && !locked && !isMobile;
|
|
351
|
-
const [focused, setFocused] = useState(false);
|
|
352
352
|
// The unit and the calculator's measured width, reserved as the field's end padding.
|
|
353
|
-
const endRef = useRef<HTMLDivElement>(null);
|
|
354
|
-
const [endWidth, setEndWidth] = useState<number | null>(null);
|
|
355
353
|
const hasEnd = showCalc || suffix !== undefined;
|
|
354
|
+
const [endRef, endWidth] = useEndWidth(hasEnd);
|
|
356
355
|
// Before the first measurement (and wherever there is no layout), a TEXT unit
|
|
357
356
|
// reserves an estimate from its length — one `ch` a character, in the input's own
|
|
358
357
|
// (larger) font, so it errs wide — plus the span's `pe-2` and the 4px gap, and the
|
|
@@ -361,36 +360,20 @@ export function NumberInput(props: NumberInputProps) {
|
|
|
361
360
|
const suffixChars = typeof suffix === "string" || typeof suffix === "number" ? String(suffix).length : null;
|
|
362
361
|
const estimatedEnd =
|
|
363
362
|
suffixChars !== null ? `calc(${suffixChars}ch + 0.75rem${showCalc ? " + 2.25rem" : ""})` : undefined;
|
|
364
|
-
useLayoutEffect(() => {
|
|
365
|
-
const el = endRef.current;
|
|
366
|
-
if (!hasEnd || !el || typeof ResizeObserver === "undefined") return;
|
|
367
|
-
// The first callback fires on `observe`; no layout (jsdom) keeps the class fallback.
|
|
368
|
-
const observer = new ResizeObserver(() => {
|
|
369
|
-
const width = el.getBoundingClientRect().width;
|
|
370
|
-
setEndWidth(width > 0 ? Math.ceil(width) : null);
|
|
371
|
-
});
|
|
372
|
-
observer.observe(el);
|
|
373
|
-
return () => observer.disconnect();
|
|
374
|
-
}, [hasEnd]);
|
|
375
363
|
// On mobile, focusing opens the numpad bottom sheet instead of the native
|
|
376
|
-
// keyboard (#334); the ref lets its "Done" blur → commit + close.
|
|
377
|
-
|
|
364
|
+
// keyboard (#334); the ref lets its "Done" blur → commit + close. The caller's `ref`
|
|
365
|
+
// gets the same element.
|
|
378
366
|
const inputRef = useRef<HTMLInputElement>(null);
|
|
367
|
+
const setInput = useMemo(() => mergeRefs(inputRef, ref), [ref]);
|
|
379
368
|
|
|
380
|
-
//
|
|
381
|
-
//
|
|
382
|
-
//
|
|
383
|
-
const
|
|
384
|
-
const [draft, setDraft] = useState<string | null>(null);
|
|
385
|
-
const derived = localizeMark(value, mark);
|
|
386
|
-
const display = draft !== null && showsTyped(draft, mark, value) ? draft : derived;
|
|
369
|
+
// `derived` is the value in the locale's mark — one character for one, no grouping —
|
|
370
|
+
// and the draft the typist's own text, shown only while it still says what the value
|
|
371
|
+
// says (see `showsTyped`).
|
|
372
|
+
const display = numeric.typedFor(value) ?? derived;
|
|
387
373
|
|
|
388
374
|
// A keystroke, a paste or a numpad key: the typist's text is kept, the value is what
|
|
389
375
|
// a number reads it as.
|
|
390
|
-
const typed = (raw: string) =>
|
|
391
|
-
setDraft(raw);
|
|
392
|
-
onChange(readTyped(raw, mark));
|
|
393
|
-
};
|
|
376
|
+
const typed = (raw: string) => onChange(numeric.read(raw));
|
|
394
377
|
// A RESULT — the calculator's, the numpad's "=" — is dot-decimal already. It does not
|
|
395
378
|
// go through `typed`: "1.234" out of `100/81.03…` is never a thousand.
|
|
396
379
|
const result = (next: string) => {
|
|
@@ -416,7 +399,7 @@ export function NumberInput(props: NumberInputProps) {
|
|
|
416
399
|
|
|
417
400
|
const commit = () => {
|
|
418
401
|
setDraft(null);
|
|
419
|
-
const next = commitExpression(value);
|
|
402
|
+
const next = numeric.settle(commitExpression(value));
|
|
420
403
|
if (next !== value) onChange(next);
|
|
421
404
|
onCommit?.(next);
|
|
422
405
|
};
|
|
@@ -448,7 +431,7 @@ export function NumberInput(props: NumberInputProps) {
|
|
|
448
431
|
stepBy(count);
|
|
449
432
|
};
|
|
450
433
|
|
|
451
|
-
// While locked the field sits in the reason's Tooltip,
|
|
434
|
+
// While locked the field sits in the reason's frame (line or Tooltip), its outermost
|
|
452
435
|
// box — so `className` (a width, a flex or grid cell) moves onto that, and the form
|
|
453
436
|
// keeps its layout, as on Select.
|
|
454
437
|
const field = (
|
|
@@ -457,10 +440,10 @@ export function NumberInput(props: NumberInputProps) {
|
|
|
457
440
|
htmlFor={fieldId}
|
|
458
441
|
label={label}
|
|
459
442
|
srOnlyLabel={asDisplay}
|
|
460
|
-
hint={
|
|
443
|
+
hint={numeric.hint.labelHint}
|
|
461
444
|
>
|
|
462
445
|
<input
|
|
463
|
-
ref={
|
|
446
|
+
ref={setInput}
|
|
464
447
|
id={fieldId}
|
|
465
448
|
aria-label={ariaLabel}
|
|
466
449
|
type="text"
|
|
@@ -491,7 +474,7 @@ export function NumberInput(props: NumberInputProps) {
|
|
|
491
474
|
}}
|
|
492
475
|
onKeyDown={onKeyDown}
|
|
493
476
|
aria-invalid={invalid || undefined}
|
|
494
|
-
aria-describedby={describedBy}
|
|
477
|
+
aria-describedby={numeric.describedBy}
|
|
495
478
|
aria-required={ariaRequired}
|
|
496
479
|
// The end padding sits last so it always wins over an inputClassName that
|
|
497
480
|
// sets its own px. Both trailing controls can be on at once, so the room
|
|
@@ -521,7 +504,7 @@ export function NumberInput(props: NumberInputProps) {
|
|
|
521
504
|
: undefined
|
|
522
505
|
}
|
|
523
506
|
/>
|
|
524
|
-
{
|
|
507
|
+
{hasEnd && (
|
|
525
508
|
// One flex track for both, so the unit and the calculator sit side by side
|
|
526
509
|
// instead of stacking on the same corner — AmountInput's arrangement, which
|
|
527
510
|
// has carried a chip and a calculator together since #430.
|
|
@@ -533,7 +516,7 @@ export function NumberInput(props: NumberInputProps) {
|
|
|
533
516
|
value={derived}
|
|
534
517
|
onChange={result}
|
|
535
518
|
className="self-stretch px-2.5"
|
|
536
|
-
|
|
519
|
+
aria-label={labels?.calculatorTrigger}
|
|
537
520
|
labels={labels?.calculator}
|
|
538
521
|
/>
|
|
539
522
|
)}
|
|
@@ -542,7 +525,7 @@ export function NumberInput(props: NumberInputProps) {
|
|
|
542
525
|
aria-hidden
|
|
543
526
|
// pe-2, not the input's px-3: the unit is chrome at the box's edge, and
|
|
544
527
|
// with pe-3 plus the 4px gap it took ~26px of a narrow table cell.
|
|
545
|
-
className="pointer-events-none pe-2 text-xs font-medium text-
|
|
528
|
+
className="pointer-events-none pe-2 text-xs font-medium text-muted"
|
|
546
529
|
>
|
|
547
530
|
{suffix}
|
|
548
531
|
</span>
|
|
@@ -565,29 +548,21 @@ export function NumberInput(props: NumberInputProps) {
|
|
|
565
548
|
</FloatingField>
|
|
566
549
|
);
|
|
567
550
|
const box = locked ? (
|
|
568
|
-
<LockedReason lock={lock} className={cn("block w-full", className)}>
|
|
551
|
+
<LockedReason lock={lock} display={disabledReasonDisplay} className={cn("block w-full", className)}>
|
|
569
552
|
{field}
|
|
570
553
|
</LockedReason>
|
|
571
554
|
) : (
|
|
572
555
|
field
|
|
573
556
|
);
|
|
574
|
-
if (
|
|
557
|
+
if (numeric.hint.captionText === undefined && numeric.errorEl === null && !reserve) return box;
|
|
575
558
|
// Outside the field's own `relative` box, as Select's caption is: the calculator
|
|
576
559
|
// and the unit are `inset-y-0` in it and would stretch down over a second line.
|
|
577
560
|
// `className` stays on the field, so adding a caption cannot change what it styles.
|
|
578
561
|
return (
|
|
579
562
|
<div>
|
|
580
563
|
{box}
|
|
581
|
-
{
|
|
582
|
-
|
|
583
|
-
{hint}
|
|
584
|
-
</p>
|
|
585
|
-
)}
|
|
586
|
-
{hasError && (
|
|
587
|
-
<p id={errorId} className={FIELD_ERROR_CLASS}>
|
|
588
|
-
{error}
|
|
589
|
-
</p>
|
|
590
|
-
)}
|
|
564
|
+
<FieldCaption parts={numeric.hint} />
|
|
565
|
+
{numeric.errorEl}
|
|
591
566
|
</div>
|
|
592
567
|
);
|
|
593
568
|
}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { useLayoutEffect, useRef, useState } from "react";
|
|
2
|
+
import type { ReactNode, RefObject } from "react";
|
|
3
|
+
import { usePhoneLayout } from "../hooks/use-breakpoint";
|
|
4
|
+
import { useKitLocale } from "../i18n/kit-labels";
|
|
5
|
+
import { decimalMark, localizeMark, readTyped, showsTyped } from "../lib/decimal-marks";
|
|
6
|
+
import {
|
|
7
|
+
mergeDescribedBy,
|
|
8
|
+
useFieldError,
|
|
9
|
+
useFieldHint,
|
|
10
|
+
useLockReason,
|
|
11
|
+
type FieldHintParts,
|
|
12
|
+
type LockReason,
|
|
13
|
+
} from "./field-parts";
|
|
14
|
+
import type { CommitScope } from "./write-lock";
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* The engine NumberInput and AmountInput share (DUP-10, refactor audit 2026-10): the
|
|
18
|
+
* lock, the hint and its caption, the error, the `aria-describedby` order, the typist's
|
|
19
|
+
* draft and what the field shows, the calculator and the phone's numpad, and the room
|
|
20
|
+
* its end controls take. They were two copies of it, and each fix had to be made twice —
|
|
21
|
+
* some reached only one: NumberInput measured its end controls (keksdose live #367) and
|
|
22
|
+
* took a `locale`, AmountInput did neither; the 0.32 FieldHint caption reached
|
|
23
|
+
* AmountInput two releases late.
|
|
24
|
+
*
|
|
25
|
+
* Each field keeps what is its own: the settle (money's minor unit and `min`/`max`
|
|
26
|
+
* against NumberInput's "what was typed"), the caller-owned sign, and its trailing
|
|
27
|
+
* controls. Package-private — not re-exported from the barrel.
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
/** The props both fields take and this engine reads. */
|
|
31
|
+
export interface NumericFieldProps {
|
|
32
|
+
hint?: ReactNode;
|
|
33
|
+
error?: ReactNode;
|
|
34
|
+
invalid?: boolean;
|
|
35
|
+
disabled?: boolean;
|
|
36
|
+
disabledReason?: ReactNode;
|
|
37
|
+
commit?: CommitScope;
|
|
38
|
+
/** Show the desktop calculator trigger. Default `true`. */
|
|
39
|
+
calculator?: boolean;
|
|
40
|
+
variant?: "field" | "display";
|
|
41
|
+
locale?: string;
|
|
42
|
+
"aria-describedby"?: string;
|
|
43
|
+
"aria-invalid"?: boolean | "true" | "false";
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export interface NumericFieldOptions {
|
|
47
|
+
/** The field's own settle, dot-decimal in and out — AmountInput's minor unit and
|
|
48
|
+
* `min` / `max`; NumberInput's identity (it never rounds). */
|
|
49
|
+
settle: (text: string) => string;
|
|
50
|
+
/** What the field shows while no typed draft stands, dot-decimal, given whether it
|
|
51
|
+
* has focus — spelt in the locale's mark here (`derived`). */
|
|
52
|
+
display: (focused: boolean) => string;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export interface NumericField {
|
|
56
|
+
/** The write lock: focusable, `readOnly`, nothing changes or commits. */
|
|
57
|
+
lock: LockReason;
|
|
58
|
+
locked: boolean;
|
|
59
|
+
/** Natively `disabled`: `disabled`, and no lock — a reason wins over it. */
|
|
60
|
+
off: boolean;
|
|
61
|
+
/** The hint, split into the caption under the field and the label line's "?". */
|
|
62
|
+
hint: FieldHintParts;
|
|
63
|
+
/** `invalid`, a message, or a form library's `aria-invalid`. */
|
|
64
|
+
isInvalid: boolean;
|
|
65
|
+
/** The caller's ids, the caption, a lock's reason, the error — Select's order. */
|
|
66
|
+
describedBy: string | undefined;
|
|
67
|
+
/** The message under the field, or `null`. */
|
|
68
|
+
errorEl: ReactNode;
|
|
69
|
+
/** The phone layout: the numpad sheet replaces the keyboard and the calculator. */
|
|
70
|
+
isMobile: boolean;
|
|
71
|
+
/** `variant="display"`, on a phone. */
|
|
72
|
+
asDisplay: boolean;
|
|
73
|
+
showCalc: boolean;
|
|
74
|
+
showNumpad: boolean;
|
|
75
|
+
focused: boolean;
|
|
76
|
+
setFocused: (focused: boolean) => void;
|
|
77
|
+
/** The locale's decimal mark — the field's `locale`, else the provider's. */
|
|
78
|
+
mark: "," | ".";
|
|
79
|
+
/** The typist's own text while a figure is typed, else `null`. */
|
|
80
|
+
draft: string | null;
|
|
81
|
+
setDraft: (draft: string | null) => void;
|
|
82
|
+
/** `display(focused)` in the locale's mark. */
|
|
83
|
+
derived: string;
|
|
84
|
+
/** The draft, while it still says what `canonical` (dot-decimal) says and holds
|
|
85
|
+
* nothing the field would drop — see `showsTyped`; else `null`. */
|
|
86
|
+
typedFor: (canonical: string) => string | null;
|
|
87
|
+
/** A keystroke's raw text: kept as the draft, and read as a number reads it —
|
|
88
|
+
* grouping off, dot-decimal. */
|
|
89
|
+
read: (raw: string) => string;
|
|
90
|
+
settle: (text: string) => string;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
export function useNumericField(props: NumericFieldProps, { settle, display }: NumericFieldOptions): NumericField {
|
|
94
|
+
const lock = useLockReason(props.commit, props.disabledReason);
|
|
95
|
+
const locked = lock.locked;
|
|
96
|
+
// §4: a FieldHint is the caption at Large and on touch, as on every field.
|
|
97
|
+
const hint = useFieldHint(props.hint, props["aria-describedby"]);
|
|
98
|
+
// The standing advice first, the news second: the caller's ids, the caption, the
|
|
99
|
+
// error — a lock's reason between the last two, as on Select.
|
|
100
|
+
const field = useFieldError(
|
|
101
|
+
props.error,
|
|
102
|
+
props.invalid,
|
|
103
|
+
mergeDescribedBy(hint.describedBy, locked && lock.reasonId),
|
|
104
|
+
props["aria-invalid"],
|
|
105
|
+
);
|
|
106
|
+
// On phones the OS keyboard is suppressed (`inputMode="none"`) for the kit's numpad
|
|
107
|
+
// sheet, so the desktop calculator trigger is hidden (feedback #334). A locked field
|
|
108
|
+
// offers neither: their result would be a value.
|
|
109
|
+
const isMobile = usePhoneLayout();
|
|
110
|
+
const [focused, setFocused] = useState(false);
|
|
111
|
+
const mark = decimalMark(useKitLocale(props.locale));
|
|
112
|
+
const [draft, setDraft] = useState<string | null>(null);
|
|
113
|
+
return {
|
|
114
|
+
lock,
|
|
115
|
+
locked,
|
|
116
|
+
off: Boolean(props.disabled) && !locked,
|
|
117
|
+
hint,
|
|
118
|
+
isInvalid: field.isInvalid,
|
|
119
|
+
describedBy: field.describedBy,
|
|
120
|
+
errorEl: field.errorEl,
|
|
121
|
+
isMobile,
|
|
122
|
+
asDisplay: isMobile && props.variant === "display",
|
|
123
|
+
showCalc: (props.calculator ?? true) && !props.disabled && !locked && !isMobile,
|
|
124
|
+
showNumpad: isMobile && !props.disabled && !locked && focused,
|
|
125
|
+
focused,
|
|
126
|
+
setFocused,
|
|
127
|
+
mark,
|
|
128
|
+
draft,
|
|
129
|
+
setDraft,
|
|
130
|
+
derived: localizeMark(display(focused), mark),
|
|
131
|
+
typedFor: (canonical) => (draft !== null && showsTyped(draft, mark, canonical) ? draft : null),
|
|
132
|
+
read: (raw) => {
|
|
133
|
+
setDraft(raw);
|
|
134
|
+
return readTyped(raw, mark);
|
|
135
|
+
},
|
|
136
|
+
settle,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* The measured width of a field's end controls (keksdose live #367), and the ref for
|
|
142
|
+
* their track: `null` before the first measurement and wherever there is no layout
|
|
143
|
+
* (jsdom), where the field keeps its class fallback. A `ResizeObserver` calls back once
|
|
144
|
+
* on `observe`, and again whenever the controls change size (a chip's code, a translated
|
|
145
|
+
* label, the text size). A pair, so the width reads as the plain number it is.
|
|
146
|
+
*/
|
|
147
|
+
export function useEndWidth(present: boolean): [RefObject<HTMLDivElement | null>, number | null] {
|
|
148
|
+
const ref = useRef<HTMLDivElement>(null);
|
|
149
|
+
const [width, setWidth] = useState<number | null>(null);
|
|
150
|
+
useLayoutEffect(() => {
|
|
151
|
+
const el = ref.current;
|
|
152
|
+
if (!present || !el || typeof ResizeObserver === "undefined") return;
|
|
153
|
+
const observer = new ResizeObserver(() => {
|
|
154
|
+
const measured = el.getBoundingClientRect().width;
|
|
155
|
+
setWidth(measured > 0 ? Math.ceil(measured) : null);
|
|
156
|
+
});
|
|
157
|
+
observer.observe(el);
|
|
158
|
+
return () => observer.disconnect();
|
|
159
|
+
}, [present]);
|
|
160
|
+
return [ref, width];
|
|
161
|
+
}
|
|
@@ -4,7 +4,7 @@ import { useMemo } from "react";
|
|
|
4
4
|
import type { ReactNode } from "react";
|
|
5
5
|
import { cn } from "../lib/cn";
|
|
6
6
|
import { FOCUS_RING } from "./focus-ring";
|
|
7
|
-
import {
|
|
7
|
+
import { useDismissLayer } from "../hooks/use-dismiss";
|
|
8
8
|
import { evaluateExpression, formatResult, sanitizeLive } from "../lib/calc";
|
|
9
9
|
import {
|
|
10
10
|
DEFAULT_CALCULATOR_LABELS,
|
|
@@ -179,17 +179,17 @@ export function NumberPadSheet({
|
|
|
179
179
|
// `role="group"`, not a dialog. A keyboard does not trap focus; it is what you type
|
|
180
180
|
// WITH.
|
|
181
181
|
//
|
|
182
|
-
// What was genuinely missing is a way OUT that is not a tap.
|
|
183
|
-
// a handler on the sheet, because the sheet never has the focus
|
|
184
|
-
// bubble from — the host does, and the host is not this component.
|
|
185
|
-
// the Done key does rather than cancelling, because committing on
|
|
186
|
-
// host's contract and a cancel would have to be the host's to offer.
|
|
182
|
+
// What was genuinely missing is a way OUT that is not a tap. A layer on the kit's
|
|
183
|
+
// Escape stack and not a handler on the sheet, because the sheet never has the focus
|
|
184
|
+
// a keydown would bubble from — the host does, and the host is not this component.
|
|
185
|
+
// Escape does what the Done key does rather than cancelling, because committing on
|
|
186
|
+
// blur is the host's contract and a cancel would have to be the host's to offer.
|
|
187
187
|
//
|
|
188
|
-
//
|
|
189
|
-
//
|
|
190
|
-
//
|
|
191
|
-
// before
|
|
192
|
-
|
|
188
|
+
// Inside a `Modal` the pad opened over the dialog, so the stack hands the first
|
|
189
|
+
// Escape to the pad and the next to the dialog (Wave 2, DUP-1). It used to be the
|
|
190
|
+
// other way round, written down here as the limit: the dialog's own handler stopped
|
|
191
|
+
// the key before a document listener saw it, and the press closed the dialog.
|
|
192
|
+
useDismissLayer(true, onDone);
|
|
193
193
|
|
|
194
194
|
const result = evaluateExpression(value);
|
|
195
195
|
const preview = result !== null && formatResult(result) !== value.trim() ? `= ${formatResult(result)}` : "";
|
|
@@ -212,20 +212,20 @@ export function NumberPadSheet({
|
|
|
212
212
|
// Keep the host input focused when tapping the pad: preventDefault on
|
|
213
213
|
// pointerdown blocks the focus/blur, while the buttons' click still fires.
|
|
214
214
|
onPointerDown={(e) => e.preventDefault()}
|
|
215
|
-
className="fixed inset-x-0 bottom-0 z-50 border-t border-
|
|
215
|
+
className="fixed inset-x-0 bottom-0 z-50 border-t border-subtle bg-surface px-2 pt-2 shadow-[0_-4px_24px_rgba(0,0,0,0.12)]"
|
|
216
216
|
style={{ paddingBottom: "max(0.5rem, env(safe-area-inset-bottom))" }}
|
|
217
217
|
>
|
|
218
218
|
{/* Header display: which field + the running expression and live result, so
|
|
219
219
|
the value stays visible even when the sheet covers the field. */}
|
|
220
220
|
<div className="flex items-end justify-between gap-3 px-2 pb-2">
|
|
221
221
|
{label != null && (
|
|
222
|
-
<span className="truncate pb-1 text-xs font-medium text-
|
|
222
|
+
<span className="truncate pb-1 text-xs font-medium text-money-neutral">{label}</span>
|
|
223
223
|
)}
|
|
224
224
|
{/* At the logical end, opposite the label; the figures themselves stay
|
|
225
225
|
left-to-right and right-aligned, like the desktop calculator's. */}
|
|
226
226
|
<div className="ms-auto min-w-0">
|
|
227
|
-
<div dir="ltr" className="truncate text-right font-mono text-lg leading-tight text-
|
|
228
|
-
<div dir="ltr" className="h-4 text-right font-mono text-xs text-
|
|
227
|
+
<div dir="ltr" className="truncate text-right font-mono text-lg leading-tight text-primary">{value || "0"}</div>
|
|
228
|
+
<div dir="ltr" className="h-4 text-right font-mono text-xs text-money-neutral">{preview}</div>
|
|
229
229
|
</div>
|
|
230
230
|
</div>
|
|
231
231
|
|
|
@@ -271,7 +271,7 @@ export function NumberPadSheet({
|
|
|
271
271
|
// on screen, which is the defect this change exists to fix.
|
|
272
272
|
className={cn(
|
|
273
273
|
PAD_BTN,
|
|
274
|
-
"col-span-2 bg-
|
|
274
|
+
"col-span-2 bg-brand text-brand-contrast focus-visible:ring-brand-contrast active:bg-brand-hover",
|
|
275
275
|
)}
|
|
276
276
|
>
|
|
277
277
|
{text.done}
|