@eifi1/ui-kit 0.33.1 → 0.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +512 -306
- package/dist/account/account-parts.d.ts +6 -8
- package/dist/account/account-parts.js +1 -2
- package/dist/account/account-parts.js.map +1 -1
- package/dist/{components → account}/account-settings-labels.d.ts +16 -10
- package/dist/{components → account}/account-settings-labels.js +3 -1
- package/dist/account/account-settings-labels.js.map +1 -0
- package/dist/{components → account}/account-settings.d.ts +53 -23
- package/dist/{components → account}/account-settings.js +97 -26
- package/dist/account/account-settings.js.map +1 -0
- package/dist/account/data-export-setting-labels.d.ts +2 -0
- package/dist/account/data-export-setting-labels.js +15 -0
- package/dist/account/data-export-setting-labels.js.map +1 -0
- package/dist/account/data-export-setting.d.ts +9 -11
- package/dist/account/data-export-setting.js +11 -27
- package/dist/account/data-export-setting.js.map +1 -1
- package/dist/account/delete-account-setting-labels.d.ts +2 -0
- package/dist/account/delete-account-setting-labels.js +23 -0
- package/dist/account/delete-account-setting-labels.js.map +1 -0
- package/dist/account/delete-account-setting.d.ts +132 -101
- package/dist/account/delete-account-setting.js +7 -23
- package/dist/account/delete-account-setting.js.map +1 -1
- package/dist/account/email-change-setting-labels.d.ts +2 -0
- package/dist/account/email-change-setting-labels.js +28 -0
- package/dist/account/email-change-setting-labels.js.map +1 -0
- package/dist/account/email-change-setting.d.ts +10 -12
- package/dist/account/email-change-setting.js +11 -30
- package/dist/account/email-change-setting.js.map +1 -1
- package/dist/{components → account}/passkeys-setting.d.ts +9 -12
- package/dist/{components → account}/passkeys-setting.js +10 -7
- package/dist/account/passkeys-setting.js.map +1 -0
- package/dist/account/sessions-setting-labels.d.ts +2 -0
- package/dist/account/sessions-setting-labels.js +22 -0
- package/dist/account/sessions-setting-labels.js.map +1 -0
- package/dist/account/sessions-setting.d.ts +12 -14
- package/dist/account/sessions-setting.js +8 -23
- package/dist/account/sessions-setting.js.map +1 -1
- package/dist/admin/admin-action-confirm-labels.d.ts +2 -0
- package/dist/admin/admin-action-confirm-labels.js +16 -0
- package/dist/admin/admin-action-confirm-labels.js.map +1 -0
- package/dist/admin/admin-action-confirm.d.ts +156 -101
- package/dist/admin/admin-action-confirm.js +17 -22
- package/dist/admin/admin-action-confirm.js.map +1 -1
- package/dist/admin/admin-action-log-labels.d.ts +2 -0
- package/dist/admin/admin-action-log-labels.js +73 -0
- package/dist/admin/admin-action-log-labels.js.map +1 -0
- package/dist/admin/admin-action-log.d.ts +98 -22
- package/dist/admin/admin-action-log.js +48 -45
- package/dist/admin/admin-action-log.js.map +1 -1
- package/dist/admin/admin-parts.d.ts +7 -14
- package/dist/admin/admin-parts.js +0 -4
- package/dist/admin/admin-parts.js.map +1 -1
- package/dist/admin/invitations-panel-labels.d.ts +2 -0
- package/dist/admin/invitations-panel-labels.js +29 -0
- package/dist/admin/invitations-panel-labels.js.map +1 -0
- package/dist/admin/invitations-panel.d.ts +167 -101
- package/dist/admin/invitations-panel.js +12 -31
- package/dist/admin/invitations-panel.js.map +1 -1
- package/dist/admin/plan-change-labels.d.ts +2 -0
- package/dist/admin/plan-change-labels.js +22 -0
- package/dist/admin/plan-change-labels.js.map +1 -0
- package/dist/admin/plan-change.d.ts +244 -101
- package/dist/admin/plan-change.js +16 -24
- package/dist/admin/plan-change.js.map +1 -1
- package/dist/admin/reviewer-scope-editor-labels.d.ts +2 -0
- package/dist/admin/reviewer-scope-editor-labels.js +14 -0
- package/dist/admin/reviewer-scope-editor-labels.js.map +1 -0
- package/dist/admin/reviewer-scope-editor.d.ts +95 -101
- package/dist/admin/reviewer-scope-editor.js +5 -13
- package/dist/admin/reviewer-scope-editor.js.map +1 -1
- package/dist/admin/role-select-labels.d.ts +2 -0
- package/dist/admin/role-select-labels.js +15 -0
- package/dist/admin/role-select-labels.js.map +1 -0
- package/dist/admin/role-select.d.ts +136 -101
- package/dist/admin/role-select.js +7 -18
- package/dist/admin/role-select.js.map +1 -1
- package/dist/admin/transfer-ownership-dialog-labels.d.ts +2 -0
- package/dist/admin/transfer-ownership-dialog-labels.js +18 -0
- package/dist/admin/transfer-ownership-dialog-labels.js.map +1 -0
- package/dist/admin/transfer-ownership-dialog.d.ts +81 -101
- package/dist/admin/transfer-ownership-dialog.js +3 -15
- package/dist/admin/transfer-ownership-dialog.js.map +1 -1
- package/dist/admin/user-roster-labels.d.ts +2 -0
- package/dist/admin/user-roster-labels.js +16 -0
- package/dist/admin/user-roster-labels.js.map +1 -0
- package/dist/admin/user-roster.d.ts +225 -101
- package/dist/admin/user-roster.js +4 -14
- package/dist/admin/user-roster.js.map +1 -1
- package/dist/auth/accept-invitation-labels.d.ts +2 -0
- package/dist/auth/accept-invitation-labels.js +20 -0
- package/dist/auth/accept-invitation-labels.js.map +1 -0
- package/dist/auth/accept-invitation.d.ts +11 -13
- package/dist/auth/accept-invitation.js +3 -16
- package/dist/auth/accept-invitation.js.map +1 -1
- package/dist/auth/auth-errors.d.ts +34 -23
- package/dist/auth/auth-errors.js +8 -4
- package/dist/auth/auth-errors.js.map +1 -1
- package/dist/auth/complete-name-dialog-labels.d.ts +2 -0
- package/dist/auth/complete-name-dialog-labels.js +14 -0
- package/dist/auth/complete-name-dialog-labels.js.map +1 -0
- package/dist/auth/complete-name-dialog.d.ts +9 -11
- package/dist/auth/complete-name-dialog.js +4 -11
- package/dist/auth/complete-name-dialog.js.map +1 -1
- package/dist/auth/email-tag.d.ts +2 -4
- package/dist/auth/forgot-password-form-labels.d.ts +3 -0
- package/dist/auth/forgot-password-form-labels.js +17 -0
- package/dist/auth/forgot-password-form-labels.js.map +1 -0
- package/dist/auth/forgot-password-form.d.ts +9 -12
- package/dist/auth/forgot-password-form.js +6 -15
- package/dist/auth/forgot-password-form.js.map +1 -1
- package/dist/auth/form-rules.d.ts +5 -7
- package/dist/auth/new-password-fields.d.ts +4 -8
- package/dist/auth/new-password-fields.js +1 -1
- package/dist/auth/new-password-fields.js.map +1 -1
- package/dist/auth/not-found-page-labels.d.ts +2 -0
- package/dist/auth/not-found-page-labels.js +11 -0
- package/dist/auth/not-found-page-labels.js.map +1 -0
- package/dist/auth/not-found-page.d.ts +9 -11
- package/dist/auth/not-found-page.js +5 -10
- package/dist/auth/not-found-page.js.map +1 -1
- package/dist/auth/register-form-labels.d.ts +3 -0
- package/dist/auth/register-form-labels.js +28 -0
- package/dist/auth/register-form-labels.js.map +1 -0
- package/dist/auth/register-form.d.ts +174 -101
- package/dist/auth/register-form.js +11 -31
- package/dist/auth/register-form.js.map +1 -1
- package/dist/auth/reset-password-form-labels.d.ts +3 -0
- package/dist/auth/reset-password-form-labels.js +24 -0
- package/dist/auth/reset-password-form-labels.js.map +1 -0
- package/dist/auth/reset-password-form.d.ts +12 -15
- package/dist/auth/reset-password-form.js +6 -22
- package/dist/auth/reset-password-form.js.map +1 -1
- package/dist/auth/sign-in-form-labels.d.ts +3 -0
- package/dist/auth/sign-in-form-labels.js +42 -0
- package/dist/auth/sign-in-form-labels.js.map +1 -0
- package/dist/auth/sign-in-form.d.ts +15 -19
- package/dist/auth/sign-in-form.js +12 -46
- package/dist/auth/sign-in-form.js.map +1 -1
- package/dist/auth/status-parts.d.ts +13 -17
- package/dist/auth/status-parts.js +3 -3
- package/dist/auth/status-parts.js.map +1 -1
- package/dist/auth/verify-email-labels.d.ts +2 -0
- package/dist/auth/verify-email-labels.js +25 -0
- package/dist/auth/verify-email-labels.js.map +1 -0
- package/dist/auth/verify-email.d.ts +15 -17
- package/dist/auth/verify-email.js +4 -21
- package/dist/auth/verify-email.js.map +1 -1
- package/dist/billing/billing-banner.d.ts +12 -110
- package/dist/billing/billing-banner.js +2 -1
- package/dist/billing/billing-banner.js.map +1 -1
- package/dist/billing/billing-labels.d.ts +168 -101
- package/dist/billing/billing-labels.js.map +1 -1
- package/dist/billing/billing-lock.d.ts +10 -110
- package/dist/billing/billing-overview.d.ts +7 -109
- package/dist/billing/billing-standing.d.ts +6 -108
- package/dist/billing/checkout-processing.d.ts +8 -111
- package/dist/billing/checkout-processing.js +2 -9
- package/dist/billing/checkout-processing.js.map +1 -1
- package/dist/billing/checkout-return.d.ts +5 -7
- package/dist/billing/pay-page.d.ts +15 -117
- package/dist/billing/plan-card.d.ts +14 -115
- package/dist/billing/plan-card.js +15 -13
- package/dist/billing/plan-card.js.map +1 -1
- package/dist/billing/plan-limit-notice.d.ts +12 -110
- package/dist/billing/plan-limit-notice.js +1 -1
- package/dist/billing/plan-limit-notice.js.map +1 -1
- package/dist/billing/plan-limit-toast.d.ts +6 -107
- package/dist/billing/plan-limit.d.ts +2 -4
- package/dist/billing/plan-price.d.ts +10 -12
- package/dist/billing/subscription-actions.d.ts +6 -109
- package/dist/billing/subscription-actions.js +2 -2
- package/dist/billing/subscription-actions.js.map +1 -1
- package/dist/billing/subscription-status-chip.d.ts +7 -108
- package/dist/chart.d.ts +12 -113
- package/dist/chart.js +4 -0
- package/dist/chart.js.map +1 -1
- package/dist/components/account-chips-labels.d.ts +10 -0
- package/dist/components/account-chips-labels.js +15 -0
- package/dist/components/account-chips-labels.js.map +1 -0
- package/dist/components/account-chips.d.ts +22 -44
- package/dist/components/account-chips.js +9 -14
- package/dist/components/account-chips.js.map +1 -1
- package/dist/components/alert-banner.d.ts +15 -11
- package/dist/components/alert-banner.js +28 -18
- package/dist/components/alert-banner.js.map +1 -1
- package/dist/components/amount-input.d.ts +64 -111
- package/dist/components/amount-input.js +259 -283
- package/dist/components/amount-input.js.map +1 -1
- package/dist/components/appearance-labels.d.ts +6 -10
- package/dist/components/appearance-labels.js.map +1 -1
- package/dist/components/authed-image-labels.d.ts +2 -0
- package/dist/components/authed-image-labels.js +10 -0
- package/dist/components/authed-image-labels.js.map +1 -0
- package/dist/components/authed-image.d.ts +11 -13
- package/dist/components/authed-image.js +2 -6
- package/dist/components/authed-image.js.map +1 -1
- package/dist/components/autocomplete.d.ts +13 -11
- package/dist/components/autocomplete.js +33 -28
- package/dist/components/autocomplete.js.map +1 -1
- package/dist/components/breadcrumbs-labels.d.ts +2 -0
- package/dist/components/breadcrumbs-labels.js +9 -0
- package/dist/components/breadcrumbs-labels.js.map +1 -0
- package/dist/components/breadcrumbs.d.ts +10 -12
- package/dist/components/breadcrumbs.js +7 -10
- package/dist/components/breadcrumbs.js.map +1 -1
- package/dist/components/bulk-action-bar-labels.d.ts +2 -0
- package/dist/components/bulk-action-bar-labels.js +10 -0
- package/dist/components/bulk-action-bar-labels.js.map +1 -0
- package/dist/components/bulk-action-bar.d.ts +10 -12
- package/dist/components/bulk-action-bar.js +9 -12
- package/dist/components/bulk-action-bar.js.map +1 -1
- package/dist/components/button-group.d.ts +7 -110
- package/dist/components/button-group.js +5 -5
- package/dist/components/button-group.js.map +1 -1
- package/dist/components/button-look.d.ts +88 -0
- package/dist/components/button-look.js +91 -0
- package/dist/components/button-look.js.map +1 -0
- package/dist/components/button.d.ts +153 -0
- package/dist/components/button.js +165 -0
- package/dist/components/button.js.map +1 -0
- package/dist/components/calculator.d.ts +6 -108
- package/dist/components/calculator.js +8 -7
- package/dist/components/calculator.js.map +1 -1
- package/dist/components/calendar-heatmap-labels.d.ts +3 -0
- package/dist/components/calendar-heatmap-labels.js +12 -0
- package/dist/components/calendar-heatmap-labels.js.map +1 -0
- package/dist/components/calendar-heatmap.d.ts +13 -16
- package/dist/components/calendar-heatmap.js +7 -13
- package/dist/components/calendar-heatmap.js.map +1 -1
- package/dist/components/card.d.ts +145 -0
- package/dist/components/card.js +186 -0
- package/dist/components/card.js.map +1 -0
- package/dist/components/chart-height.d.ts +4 -7
- package/dist/components/chart-zoom-core.d.ts +202 -0
- package/dist/components/chart-zoom-core.js +334 -0
- package/dist/components/chart-zoom-core.js.map +1 -0
- package/dist/components/chart-zoom.d.ts +2 -205
- package/dist/components/chart-zoom.js +2 -330
- package/dist/components/chart-zoom.js.map +1 -1
- package/dist/components/chart.d.ts +11 -15
- package/dist/components/chart.js +11 -11
- package/dist/components/chart.js.map +1 -1
- package/dist/components/checkbox-group.d.ts +6 -10
- package/dist/components/checkbox-group.js +10 -9
- package/dist/components/checkbox-group.js.map +1 -1
- package/dist/components/checkbox.d.ts +8 -12
- package/dist/components/checkbox.js +20 -18
- package/dist/components/checkbox.js.map +1 -1
- package/dist/components/chip-input.d.ts +69 -0
- package/dist/components/chip-input.js +220 -0
- package/dist/components/chip-input.js.map +1 -0
- package/dist/components/chip-labels.d.ts +2 -0
- package/dist/components/chip-labels.js +12 -0
- package/dist/components/chip-labels.js.map +1 -0
- package/dist/components/chip.d.ts +18 -93
- package/dist/components/chip.js +74 -426
- package/dist/components/chip.js.map +1 -1
- package/dist/components/choice-card.d.ts +21 -18
- package/dist/components/choice-card.js +45 -45
- package/dist/components/choice-card.js.map +1 -1
- package/dist/components/column-mapper-labels.d.ts +5 -0
- package/dist/components/column-mapper-labels.js +34 -0
- package/dist/components/column-mapper-labels.js.map +1 -0
- package/dist/components/column-mapper.d.ts +15 -17
- package/dist/components/column-mapper.js +11 -37
- package/dist/components/column-mapper.js.map +1 -1
- package/dist/components/combobox-core.d.ts +79 -40
- package/dist/components/combobox-core.js +187 -121
- package/dist/components/combobox-core.js.map +1 -1
- package/dist/components/combobox-suggestions.d.ts +76 -0
- package/dist/components/combobox-suggestions.js +56 -0
- package/dist/components/combobox-suggestions.js.map +1 -0
- package/dist/components/combobox.d.ts +15 -160
- package/dist/components/combobox.js +40 -507
- package/dist/components/combobox.js.map +1 -1
- package/dist/components/confirm-dialog-labels.d.ts +7 -0
- package/dist/components/confirm-dialog-labels.js +10 -0
- package/dist/components/confirm-dialog-labels.js.map +1 -0
- package/dist/components/confirm-dialog.d.ts +165 -101
- package/dist/components/confirm-dialog.js +2 -6
- package/dist/components/confirm-dialog.js.map +1 -1
- package/dist/components/copy-button-labels.d.ts +2 -0
- package/dist/components/copy-button-labels.js +12 -0
- package/dist/components/copy-button-labels.js.map +1 -0
- package/dist/components/copy-button.d.ts +74 -101
- package/dist/components/copy-button.js +4 -9
- package/dist/components/copy-button.js.map +1 -1
- package/dist/components/country-select-labels.d.ts +2 -0
- package/dist/components/country-select-labels.js +10 -0
- package/dist/components/country-select-labels.js.map +1 -0
- package/dist/components/country-select.d.ts +18 -15
- package/dist/components/country-select.js +49 -64
- package/dist/components/country-select.js.map +1 -1
- package/dist/components/currency-option-list.d.ts +58 -0
- package/dist/components/currency-option-list.js +107 -0
- package/dist/components/currency-option-list.js.map +1 -0
- package/dist/components/currency-select.d.ts +10 -30
- package/dist/components/currency-select.js +50 -133
- package/dist/components/currency-select.js.map +1 -1
- package/dist/components/danger-confirm-labels.d.ts +14 -0
- package/dist/components/danger-confirm-labels.js +17 -0
- package/dist/components/danger-confirm-labels.js.map +1 -0
- package/dist/components/danger-confirm.d.ts +448 -101
- package/dist/components/danger-confirm.js +40 -46
- package/dist/components/danger-confirm.js.map +1 -1
- package/dist/components/data-table-cells.d.ts +9 -24
- package/dist/components/data-table-cells.js +1 -1
- package/dist/components/data-table-cells.js.map +1 -1
- package/dist/components/data-table-column-settings.d.ts +16 -0
- package/dist/components/data-table-column-settings.js +119 -0
- package/dist/components/data-table-column-settings.js.map +1 -0
- package/dist/components/data-table-filter-popover.d.ts +5 -19
- package/dist/components/data-table-filter-popover.js +40 -23
- package/dist/components/data-table-filter-popover.js.map +1 -1
- package/dist/components/data-table-filters.d.ts +93 -15
- package/dist/components/data-table-filters.js +22 -7
- package/dist/components/data-table-filters.js.map +1 -1
- package/dist/components/data-table-head.d.ts +36 -0
- package/dist/components/data-table-head.js +190 -0
- package/dist/components/data-table-head.js.map +1 -0
- package/dist/components/data-table-labels.d.ts +83 -15
- package/dist/components/data-table-labels.js +4 -29
- package/dist/components/data-table-labels.js.map +1 -1
- package/dist/components/data-table-mobile.d.ts +106 -0
- package/dist/components/data-table-mobile.js +412 -0
- package/dist/components/data-table-mobile.js.map +1 -0
- package/dist/components/data-table-pagination.d.ts +6 -21
- package/dist/components/data-table-pagination.js +7 -7
- package/dist/components/data-table-pagination.js.map +1 -1
- package/dist/components/data-table-resize.d.ts +37 -0
- package/dist/components/data-table-resize.js +103 -0
- package/dist/components/data-table-resize.js.map +1 -0
- package/dist/components/data-table-row-actions.d.ts +24 -0
- package/dist/components/data-table-row-actions.js +95 -0
- package/dist/components/data-table-row-actions.js.map +1 -0
- package/dist/components/data-table-selection.d.ts +21 -0
- package/dist/components/data-table-selection.js +30 -0
- package/dist/components/data-table-selection.js.map +1 -0
- package/dist/components/data-table-shared.d.ts +93 -0
- package/dist/components/data-table-shared.js +99 -0
- package/dist/components/data-table-shared.js.map +1 -0
- package/dist/components/data-table-sort.d.ts +8 -10
- package/dist/components/data-table.d.ts +613 -15
- package/dist/components/data-table.js +150 -939
- package/dist/components/data-table.js.map +1 -1
- package/dist/components/date-field.d.ts +203 -0
- package/dist/components/date-field.js +270 -0
- package/dist/components/date-field.js.map +1 -0
- package/dist/components/date-picker.d.ts +6 -261
- package/dist/components/date-picker.js +24 -760
- package/dist/components/date-picker.js.map +1 -1
- package/dist/components/date-range-picker.d.ts +125 -0
- package/dist/components/date-range-picker.js +261 -0
- package/dist/components/date-range-picker.js.map +1 -0
- package/dist/components/description-list-labels.d.ts +2 -0
- package/dist/components/description-list-labels.js +8 -0
- package/dist/components/description-list-labels.js.map +1 -0
- package/dist/components/description-list.d.ts +13 -15
- package/dist/components/description-list.js +17 -11
- package/dist/components/description-list.js.map +1 -1
- package/dist/components/dialog-frame-labels.d.ts +2 -0
- package/dist/components/dialog-frame-labels.js +6 -0
- package/dist/components/dialog-frame-labels.js.map +1 -0
- package/dist/components/dialog-frame.d.ts +10 -12
- package/dist/components/dialog-frame.js +6 -6
- package/dist/components/dialog-frame.js.map +1 -1
- package/dist/components/disclosure.d.ts +6 -10
- package/dist/components/disclosure.js +11 -11
- package/dist/components/disclosure.js.map +1 -1
- package/dist/components/dropdown.d.ts +61 -30
- package/dist/components/dropdown.js +61 -30
- package/dist/components/dropdown.js.map +1 -1
- package/dist/components/empty-state.d.ts +64 -0
- package/dist/components/empty-state.js +70 -0
- package/dist/components/empty-state.js.map +1 -0
- package/dist/components/entity-combobox.d.ts +11 -12
- package/dist/components/entity-combobox.js +14 -13
- package/dist/components/entity-combobox.js.map +1 -1
- package/dist/components/error-boundary-labels.d.ts +2 -0
- package/dist/components/error-boundary-labels.js +19 -0
- package/dist/components/error-boundary-labels.js.map +1 -0
- package/dist/components/error-boundary.d.ts +17 -17
- package/dist/components/error-boundary.js +5 -17
- package/dist/components/error-boundary.js.map +1 -1
- package/dist/components/facing-pair.d.ts +7 -116
- package/dist/components/facing-pair.js +1 -1
- package/dist/components/facing-pair.js.map +1 -1
- package/dist/components/field-base.d.ts +255 -0
- package/dist/components/field-base.js +223 -0
- package/dist/components/field-base.js.map +1 -0
- package/dist/components/field-parts.d.ts +180 -87
- package/dist/components/field-parts.js +52 -33
- package/dist/components/field-parts.js.map +1 -1
- package/dist/components/field-strip.d.ts +12 -36
- package/dist/components/field-strip.js +24 -22
- package/dist/components/field-strip.js.map +1 -1
- package/dist/components/field-sync-labels.d.ts +2 -0
- package/dist/components/field-sync-labels.js +12 -0
- package/dist/components/field-sync-labels.js.map +1 -0
- package/dist/components/field-sync.d.ts +16 -19
- package/dist/components/field-sync.js +4 -14
- package/dist/components/field-sync.js.map +1 -1
- package/dist/components/field.d.ts +45 -10
- package/dist/components/field.js +10 -8
- package/dist/components/field.js.map +1 -1
- package/dist/components/file-button.d.ts +85 -101
- package/dist/components/file-button.js +23 -169
- package/dist/components/file-button.js.map +1 -1
- package/dist/components/file-dropzone.d.ts +9 -110
- package/dist/components/file-dropzone.js +22 -22
- package/dist/components/file-dropzone.js.map +1 -1
- package/dist/components/floating-panel-labels.d.ts +2 -0
- package/dist/components/floating-panel-labels.js +9 -0
- package/dist/components/floating-panel-labels.js.map +1 -0
- package/dist/components/floating-panel.d.ts +17 -21
- package/dist/components/floating-panel.js +19 -18
- package/dist/components/floating-panel.js.map +1 -1
- package/dist/components/focus-ring.d.ts +9 -6
- package/dist/components/focus-ring.js +2 -2
- package/dist/components/focus-ring.js.map +1 -1
- package/dist/components/form-actions-labels.d.ts +2 -0
- package/dist/components/form-actions-labels.js +10 -0
- package/dist/components/form-actions-labels.js.map +1 -0
- package/dist/components/form-actions.d.ts +280 -101
- package/dist/components/form-actions.js +10 -20
- package/dist/components/form-actions.js.map +1 -1
- package/dist/components/full-bleed-dialog.d.ts +7 -8
- package/dist/components/full-bleed-dialog.js +14 -13
- package/dist/components/full-bleed-dialog.js.map +1 -1
- package/dist/components/grouped-picker.d.ts +21 -16
- package/dist/components/grouped-picker.js +76 -62
- package/dist/components/grouped-picker.js.map +1 -1
- package/dist/components/help-popover.d.ts +60 -0
- package/dist/components/help-popover.js +48 -0
- package/dist/components/help-popover.js.map +1 -0
- package/dist/components/hover-menu.d.ts +12 -18
- package/dist/components/hover-menu.js +19 -18
- package/dist/components/hover-menu.js.map +1 -1
- package/dist/components/iban-input-labels.d.ts +2 -0
- package/dist/components/iban-input-labels.js +13 -0
- package/dist/components/iban-input-labels.js.map +1 -0
- package/dist/components/iban-input.d.ts +73 -101
- package/dist/components/iban-input.js +22 -15
- package/dist/components/iban-input.js.map +1 -1
- package/dist/components/icon-button.d.ts +300 -0
- package/dist/components/icon-button.js +465 -0
- package/dist/components/icon-button.js.map +1 -0
- package/dist/components/icon-picker-labels.d.ts +2 -0
- package/dist/components/icon-picker-labels.js +12 -0
- package/dist/components/icon-picker-labels.js.map +1 -0
- package/dist/components/icon-picker.d.ts +13 -13
- package/dist/components/icon-picker.js +18 -17
- package/dist/components/icon-picker.js.map +1 -1
- package/dist/components/image-grid-labels.d.ts +2 -0
- package/dist/components/image-grid-labels.js +10 -0
- package/dist/components/image-grid-labels.js.map +1 -0
- package/dist/components/image-grid.d.ts +12 -14
- package/dist/components/image-grid.js +6 -10
- package/dist/components/image-grid.js.map +1 -1
- package/dist/components/inline-edit-field-labels.d.ts +2 -0
- package/dist/components/inline-edit-field-labels.js +10 -0
- package/dist/components/inline-edit-field-labels.js.map +1 -0
- package/dist/components/inline-edit-field.d.ts +11 -13
- package/dist/components/inline-edit-field.js +11 -13
- package/dist/components/inline-edit-field.js.map +1 -1
- package/dist/components/inline-entity-combobox.d.ts +155 -0
- package/dist/components/inline-entity-combobox.js +467 -0
- package/dist/components/inline-entity-combobox.js.map +1 -0
- package/dist/components/input.d.ts +98 -0
- package/dist/components/input.js +219 -0
- package/dist/components/input.js.map +1 -0
- package/dist/components/jump-calendar.d.ts +8 -0
- package/dist/components/jump-calendar.js +274 -0
- package/dist/components/jump-calendar.js.map +1 -0
- package/dist/components/language-select.d.ts +20 -111
- package/dist/components/language-select.js +12 -7
- package/dist/components/language-select.js.map +1 -1
- package/dist/components/legal-labels.d.ts +2 -0
- package/dist/components/legal-labels.js +100 -0
- package/dist/components/legal-labels.js.map +1 -0
- package/dist/components/legal-page.d.ts +17 -118
- package/dist/components/legal-page.js +2 -2
- package/dist/components/legal-page.js.map +1 -1
- package/dist/components/legal.d.ts +353 -101
- package/dist/components/legal.js +7 -101
- package/dist/components/legal.js.map +1 -1
- package/dist/components/lightbox-labels.d.ts +2 -0
- package/dist/components/lightbox-labels.js +17 -0
- package/dist/components/lightbox-labels.js.map +1 -0
- package/dist/components/lightbox.d.ts +12 -14
- package/dist/components/lightbox.js +9 -19
- package/dist/components/lightbox.js.map +1 -1
- package/dist/components/line-items-labels.d.ts +2 -0
- package/dist/components/line-items-labels.js +13 -0
- package/dist/components/line-items-labels.js.map +1 -0
- package/dist/components/line-items.d.ts +16 -18
- package/dist/components/line-items.js +18 -26
- package/dist/components/line-items.js.map +1 -1
- package/dist/components/list-labels.d.ts +2 -0
- package/dist/components/list-labels.js +9 -0
- package/dist/components/list-labels.js.map +1 -0
- package/dist/components/list.d.ts +32 -21
- package/dist/components/list.js +41 -25
- package/dist/components/list.js.map +1 -1
- package/dist/components/loading-state.d.ts +5 -9
- package/dist/components/loading-state.js +2 -2
- package/dist/components/loading-state.js.map +1 -1
- package/dist/components/measured-grid-labels.d.ts +4 -0
- package/dist/components/measured-grid-labels.js +21 -0
- package/dist/components/measured-grid-labels.js.map +1 -0
- package/dist/components/measured-grid.d.ts +13 -17
- package/dist/components/measured-grid.js +31 -50
- package/dist/components/measured-grid.js.map +1 -1
- package/dist/components/menu-item.d.ts +10 -10
- package/dist/components/menu-item.js +9 -9
- package/dist/components/menu-item.js.map +1 -1
- package/dist/components/mini-calendar-labels.d.ts +4 -0
- package/dist/components/mini-calendar-labels.js +14 -0
- package/dist/components/mini-calendar-labels.js.map +1 -0
- package/dist/components/mini-calendar.d.ts +10 -14
- package/dist/components/mini-calendar.js +22 -29
- package/dist/components/mini-calendar.js.map +1 -1
- package/dist/components/modal.d.ts +34 -18
- package/dist/components/modal.js +13 -13
- package/dist/components/modal.js.map +1 -1
- package/dist/components/money-draft.d.ts +34 -0
- package/dist/components/money-draft.js +39 -0
- package/dist/components/money-draft.js.map +1 -0
- package/dist/components/money-field.d.ts +13 -111
- package/dist/components/money-field.js +6 -22
- package/dist/components/money-field.js.map +1 -1
- package/dist/components/month-picker-labels.d.ts +5 -0
- package/dist/components/month-picker-labels.js +18 -0
- package/dist/components/month-picker-labels.js.map +1 -0
- package/dist/components/month-picker.d.ts +15 -13
- package/dist/components/month-picker.js +34 -32
- package/dist/components/month-picker.js.map +1 -1
- package/dist/components/multi-entity-combobox.d.ts +9 -11
- package/dist/components/multi-entity-combobox.js +14 -13
- package/dist/components/multi-entity-combobox.js.map +1 -1
- package/dist/components/multi-select.d.ts +74 -25
- package/dist/components/multi-select.js +166 -197
- package/dist/components/multi-select.js.map +1 -1
- package/dist/components/nav-pills.d.ts +9 -10
- package/dist/components/nav-pills.js +53 -42
- package/dist/components/nav-pills.js.map +1 -1
- package/dist/components/number-field.d.ts +6 -111
- package/dist/components/number-field.js +2 -3
- package/dist/components/number-field.js.map +1 -1
- package/dist/components/number-input.d.ts +28 -112
- package/dist/components/number-input.js +33 -67
- package/dist/components/number-input.js.map +1 -1
- package/dist/components/numeric-field.d.ts +85 -0
- package/dist/components/numeric-field.js +71 -0
- package/dist/components/numeric-field.js.map +1 -0
- package/dist/components/numpad-sheet.d.ts +5 -108
- package/dist/components/numpad-sheet.js +7 -7
- package/dist/components/numpad-sheet.js.map +1 -1
- package/dist/components/one-time-code-input.d.ts +6 -7
- package/dist/components/one-time-code-input.js +119 -124
- package/dist/components/one-time-code-input.js.map +1 -1
- package/dist/components/page-contents-labels.d.ts +2 -0
- package/dist/components/page-contents-labels.js +8 -0
- package/dist/components/page-contents-labels.js.map +1 -0
- package/dist/components/page-contents.d.ts +13 -15
- package/dist/components/page-contents.js +7 -9
- package/dist/components/page-contents.js.map +1 -1
- package/dist/components/page-header.d.ts +10 -10
- package/dist/components/page-header.js +3 -3
- package/dist/components/page-header.js.map +1 -1
- package/dist/components/password-strength-labels.d.ts +2 -0
- package/dist/components/password-strength-labels.js +21 -0
- package/dist/components/password-strength-labels.js.map +1 -0
- package/dist/components/password-strength.d.ts +15 -17
- package/dist/components/password-strength.js +7 -22
- package/dist/components/password-strength.js.map +1 -1
- package/dist/components/phone-input-labels.d.ts +2 -0
- package/dist/components/phone-input-labels.js +9 -0
- package/dist/components/phone-input-labels.js.map +1 -0
- package/dist/components/phone-input.d.ts +75 -101
- package/dist/components/phone-input.js +20 -23
- package/dist/components/phone-input.js.map +1 -1
- package/dist/components/picker-sheet.d.ts +20 -8
- package/dist/components/picker-sheet.js +22 -11
- package/dist/components/picker-sheet.js.map +1 -1
- package/dist/components/pie-chart-labels.d.ts +2 -4
- package/dist/components/pie-chart.d.ts +8 -11
- package/dist/components/pie-chart.js +5 -5
- package/dist/components/pie-chart.js.map +1 -1
- package/dist/components/popover-labels.d.ts +2 -0
- package/dist/components/popover-labels.js +11 -0
- package/dist/components/popover-labels.js.map +1 -0
- package/dist/components/popover.d.ts +13 -11
- package/dist/components/popover.js +15 -21
- package/dist/components/popover.js.map +1 -1
- package/dist/components/progress-bar-labels.d.ts +2 -0
- package/dist/components/progress-bar-labels.js +9 -0
- package/dist/components/progress-bar-labels.js.map +1 -0
- package/dist/components/progress-bar.d.ts +16 -15
- package/dist/components/progress-bar.js +22 -20
- package/dist/components/progress-bar.js.map +1 -1
- package/dist/components/qr-code.d.ts +4 -8
- package/dist/components/qr-code.js.map +1 -1
- package/dist/components/reauth-dialog-labels.d.ts +2 -0
- package/dist/components/reauth-dialog-labels.js +12 -0
- package/dist/components/reauth-dialog-labels.js.map +1 -0
- package/dist/components/reauth-dialog.d.ts +8 -10
- package/dist/components/reauth-dialog.js +3 -8
- package/dist/components/reauth-dialog.js.map +1 -1
- package/dist/components/row-actions-labels.d.ts +2 -0
- package/dist/components/row-actions-labels.js +9 -0
- package/dist/components/row-actions-labels.js.map +1 -0
- package/dist/components/row-actions.d.ts +224 -101
- package/dist/components/row-actions.js +4 -5
- package/dist/components/row-actions.js.map +1 -1
- package/dist/components/scroll-area.d.ts +6 -9
- package/dist/components/scroll-area.js +4 -10
- package/dist/components/scroll-area.js.map +1 -1
- package/dist/components/search-field.d.ts +12 -27
- package/dist/components/search-field.js +13 -16
- package/dist/components/search-field.js.map +1 -1
- package/dist/components/select.d.ts +69 -0
- package/dist/components/select.js +164 -0
- package/dist/components/select.js.map +1 -0
- package/dist/components/separator.d.ts +3 -7
- package/dist/components/separator.js.map +1 -1
- package/dist/components/series-chart-axes.d.ts +120 -0
- package/dist/components/series-chart-axes.js +164 -0
- package/dist/components/series-chart-axes.js.map +1 -0
- package/dist/components/series-chart-budget.d.ts +8 -9
- package/dist/components/series-chart-labels.d.ts +2 -4
- package/dist/components/series-chart-thin.d.ts +34 -0
- package/dist/components/series-chart-thin.js +103 -0
- package/dist/components/series-chart-thin.js.map +1 -0
- package/dist/components/series-chart-ticks.d.ts +9 -11
- package/dist/components/series-chart.d.ts +64 -214
- package/dist/components/series-chart.js +69 -160
- package/dist/components/series-chart.js.map +1 -1
- package/dist/components/server-wake-labels.d.ts +2 -0
- package/dist/components/server-wake-labels.js +9 -0
- package/dist/components/server-wake-labels.js.map +1 -0
- package/dist/components/server-wake.d.ts +29 -26
- package/dist/components/server-wake.js +15 -35
- package/dist/components/server-wake.js.map +1 -1
- package/dist/components/settings-fields.d.ts +50 -120
- package/dist/components/settings-fields.js +13 -3
- package/dist/components/settings-fields.js.map +1 -1
- package/dist/components/share-card-labels.d.ts +2 -0
- package/dist/components/share-card-labels.js +29 -0
- package/dist/components/share-card-labels.js.map +1 -0
- package/dist/components/share-card.d.ts +188 -101
- package/dist/components/share-card.js +16 -34
- package/dist/components/share-card.js.map +1 -1
- package/dist/components/sign-chip-labels.d.ts +2 -0
- package/dist/components/sign-chip-labels.js +11 -0
- package/dist/components/sign-chip-labels.js.map +1 -0
- package/dist/components/sign-chip.d.ts +7 -9
- package/dist/components/sign-chip.js +2 -7
- package/dist/components/sign-chip.js.map +1 -1
- package/dist/components/signature-pad-labels.d.ts +2 -0
- package/dist/components/signature-pad-labels.js +23 -0
- package/dist/components/signature-pad-labels.js.map +1 -0
- package/dist/components/signature-pad.d.ts +16 -15
- package/dist/components/signature-pad.js +22 -35
- package/dist/components/signature-pad.js.map +1 -1
- package/dist/components/signed-amount-labels.d.ts +2 -0
- package/dist/components/signed-amount-labels.js +9 -0
- package/dist/components/signed-amount-labels.js.map +1 -0
- package/dist/components/signed-amount.d.ts +19 -21
- package/dist/components/signed-amount.js +12 -15
- package/dist/components/signed-amount.js.map +1 -1
- package/dist/components/skeleton.d.ts +5 -9
- package/dist/components/skeleton.js +1 -1
- package/dist/components/skeleton.js.map +1 -1
- package/dist/components/slider.d.ts +16 -11
- package/dist/components/slider.js +23 -18
- package/dist/components/slider.js.map +1 -1
- package/dist/components/sparkline-labels.d.ts +2 -0
- package/dist/components/sparkline-labels.js +13 -0
- package/dist/components/sparkline-labels.js.map +1 -0
- package/dist/components/sparkline.d.ts +10 -12
- package/dist/components/sparkline.js +10 -17
- package/dist/components/sparkline.js.map +1 -1
- package/dist/components/spinner.d.ts +45 -0
- package/dist/components/spinner.js +39 -0
- package/dist/components/spinner.js.map +1 -0
- package/dist/components/stat-tile-labels.d.ts +2 -0
- package/dist/components/stat-tile-labels.js +14 -0
- package/dist/components/stat-tile-labels.js.map +1 -0
- package/dist/components/stat-tile.d.ts +21 -17
- package/dist/components/stat-tile.js +25 -32
- package/dist/components/stat-tile.js.map +1 -1
- package/dist/components/status-dot.d.ts +8 -20
- package/dist/components/status-dot.js +13 -12
- package/dist/components/status-dot.js.map +1 -1
- package/dist/components/swatch-picker-labels.d.ts +2 -0
- package/dist/components/swatch-picker-labels.js +9 -0
- package/dist/components/swatch-picker-labels.js.map +1 -0
- package/dist/components/swatch-picker.d.ts +14 -14
- package/dist/components/swatch-picker.js +14 -8
- package/dist/components/swatch-picker.js.map +1 -1
- package/dist/components/swipeable-row.d.ts +11 -39
- package/dist/components/swipeable-row.js +13 -18
- package/dist/components/swipeable-row.js.map +1 -1
- package/dist/components/switch.d.ts +10 -13
- package/dist/components/switch.js +13 -12
- package/dist/components/switch.js.map +1 -1
- package/dist/components/table.d.ts +28 -31
- package/dist/components/table.js +15 -15
- package/dist/components/table.js.map +1 -1
- package/dist/components/tabs.d.ts +182 -0
- package/dist/components/tabs.js +312 -0
- package/dist/components/tabs.js.map +1 -0
- package/dist/components/text-link.d.ts +17 -119
- package/dist/components/text-link.js +7 -7
- package/dist/components/text-link.js.map +1 -1
- package/dist/components/text.d.ts +14 -13
- package/dist/components/text.js +5 -5
- package/dist/components/text.js.map +1 -1
- package/dist/components/textarea.d.ts +20 -0
- package/dist/components/textarea.js +161 -0
- package/dist/components/textarea.js.map +1 -0
- package/dist/components/tile-radio.d.ts +6 -10
- package/dist/components/tile-radio.js +6 -6
- package/dist/components/tile-radio.js.map +1 -1
- package/dist/components/time-input.d.ts +5 -108
- package/dist/components/time-input.js +14 -5
- package/dist/components/time-input.js.map +1 -1
- package/dist/components/toast-labels.d.ts +2 -0
- package/dist/components/toast-labels.js +11 -0
- package/dist/components/toast-labels.js.map +1 -0
- package/dist/components/toast.d.ts +21 -23
- package/dist/components/toast.js +1 -6
- package/dist/components/toast.js.map +1 -1
- package/dist/components/toggle-group.d.ts +26 -26
- package/dist/components/toggle-group.js +43 -19
- package/dist/components/toggle-group.js.map +1 -1
- package/dist/components/toggle-legend.d.ts +18 -21
- package/dist/components/toggle-legend.js +3 -3
- package/dist/components/toggle-legend.js.map +1 -1
- package/dist/components/tooltip.d.ts +24 -15
- package/dist/components/tooltip.js +24 -14
- package/dist/components/tooltip.js.map +1 -1
- package/dist/components/translation-review-editor.d.ts +8 -10
- package/dist/components/translation-review-editor.js +6 -5
- package/dist/components/translation-review-editor.js.map +1 -1
- package/dist/components/translation-review-labels.d.ts +4 -7
- package/dist/components/translation-review-parts.d.ts +19 -28
- package/dist/components/translation-review-parts.js +4 -7
- package/dist/components/translation-review-parts.js.map +1 -1
- package/dist/components/translation-review.d.ts +35 -25
- package/dist/components/translation-review.js +24 -13
- package/dist/components/translation-review.js.map +1 -1
- package/dist/components/tree-view.d.ts +7 -11
- package/dist/components/tree-view.js +8 -8
- package/dist/components/tree-view.js.map +1 -1
- package/dist/components/treemap.d.ts +9 -13
- package/dist/components/trigger-aria.d.ts +2 -4
- package/dist/components/ui-labels.d.ts +5 -0
- package/dist/components/ui-labels.js +20 -0
- package/dist/components/ui-labels.js.map +1 -0
- package/dist/components/use-anchor-dir.d.ts +3 -6
- package/dist/components/use-mobile-reveal.d.ts +2 -6
- package/dist/components/use-table-state.d.ts +182 -15
- package/dist/components/use-table-state.js +53 -8
- package/dist/components/use-table-state.js.map +1 -1
- package/dist/components/user-avatar.d.ts +10 -23
- package/dist/components/user-avatar.js +1 -1
- package/dist/components/user-avatar.js.map +1 -1
- package/dist/components/wizard-stepper.d.ts +4 -7
- package/dist/components/wizard-stepper.js +3 -3
- package/dist/components/wizard-stepper.js.map +1 -1
- package/dist/components/write-lock-labels.d.ts +2 -0
- package/dist/components/write-lock-labels.js +8 -0
- package/dist/components/write-lock-labels.js.map +1 -0
- package/dist/components/write-lock.d.ts +16 -18
- package/dist/components/write-lock.js +4 -8
- package/dist/components/write-lock.js.map +1 -1
- package/dist/currencies.d.ts +23 -0
- package/dist/currencies.js +38 -0
- package/dist/currencies.js.map +1 -0
- package/dist/data-table.d.ts +10 -18
- package/dist/data-table.js.map +1 -1
- package/dist/demo/demo-banner.d.ts +15 -13
- package/dist/demo/demo-banner.js +5 -19
- package/dist/demo/demo-banner.js.map +1 -1
- package/dist/demo/demo-countdown.d.ts +7 -9
- package/dist/demo/demo-ended.d.ts +10 -13
- package/dist/demo/demo-ended.js +4 -4
- package/dist/demo/demo-ended.js.map +1 -1
- package/dist/demo/demo-labels.d.ts +4 -5
- package/dist/demo/demo-labels.js.map +1 -1
- package/dist/demo/demo-session.d.ts +3 -5
- package/dist/demo/demo-start.d.ts +8 -11
- package/dist/demo/demo-start.js +3 -2
- package/dist/demo/demo-start.js.map +1 -1
- package/dist/eslint/index.d.ts +83 -0
- package/dist/eslint/index.js +69 -0
- package/dist/eslint/index.js.map +1 -0
- package/dist/eslint/role-utilities.d.ts +48 -0
- package/dist/eslint/role-utilities.generated.d.ts +2 -0
- package/dist/eslint/role-utilities.generated.js +143 -0
- package/dist/eslint/role-utilities.generated.js.map +1 -0
- package/dist/eslint/role-utilities.js +43 -0
- package/dist/eslint/role-utilities.js.map +1 -0
- package/dist/feedback/feedback-attachment-labels.d.ts +16 -0
- package/dist/feedback/feedback-attachment-labels.js +17 -0
- package/dist/feedback/feedback-attachment-labels.js.map +1 -0
- package/dist/feedback/feedback-attachment.d.ts +312 -101
- package/dist/feedback/feedback-attachment.js +31 -42
- package/dist/feedback/feedback-attachment.js.map +1 -1
- package/dist/feedback/feedback-capture.d.ts +2 -4
- package/dist/feedback/feedback-context-labels.d.ts +2 -0
- package/dist/feedback/feedback-context-labels.js +9 -0
- package/dist/feedback/feedback-context-labels.js.map +1 -0
- package/dist/feedback/feedback-context.d.ts +110 -101
- package/dist/feedback/feedback-context.js +4 -7
- package/dist/feedback/feedback-context.js.map +1 -1
- package/dist/feedback/feedback-crash.d.ts +8 -110
- package/dist/feedback/feedback-dialog-labels.d.ts +12 -0
- package/dist/feedback/feedback-dialog-labels.js +17 -0
- package/dist/feedback/feedback-dialog-labels.js.map +1 -0
- package/dist/feedback/feedback-dialog.d.ts +186 -101
- package/dist/feedback/feedback-dialog.js +8 -18
- package/dist/feedback/feedback-dialog.js.map +1 -1
- package/dist/feedback/feedback-inbox.d.ts +236 -101
- package/dist/feedback/feedback-inbox.js +31 -141
- package/dist/feedback/feedback-inbox.js.map +1 -1
- package/dist/feedback/feedback-labels.d.ts +83 -101
- package/dist/feedback/feedback-labels.js.map +1 -1
- package/dist/feedback/feedback-menu-labels.d.ts +2 -0
- package/dist/feedback/feedback-menu-labels.js +10 -0
- package/dist/feedback/feedback-menu-labels.js.map +1 -0
- package/dist/feedback/feedback-menu.d.ts +83 -101
- package/dist/feedback/feedback-menu.js +3 -7
- package/dist/feedback/feedback-menu.js.map +1 -1
- package/dist/feedback/feedback-record.d.ts +239 -101
- package/dist/feedback/feedback-record.js +7 -2
- package/dist/feedback/feedback-record.js.map +1 -1
- package/dist/feedback/feedback-row-detail-labels.d.ts +2 -0
- package/dist/feedback/feedback-row-detail-labels.js +31 -0
- package/dist/feedback/feedback-row-detail-labels.js.map +1 -0
- package/dist/feedback/feedback-row-detail.d.ts +315 -101
- package/dist/feedback/feedback-row-detail.js +11 -37
- package/dist/feedback/feedback-row-detail.js.map +1 -1
- package/dist/feedback/feedback-status-undo.d.ts +66 -101
- package/dist/feedback/feedback-status-undo.js.map +1 -1
- package/dist/feedback/feedback-submit-dialog.d.ts +39 -0
- package/dist/feedback/feedback-submit-dialog.js +66 -0
- package/dist/feedback/feedback-submit-dialog.js.map +1 -0
- package/dist/feedback/feedback-submit.d.ts +13 -109
- package/dist/feedback/feedback-submit.js +19 -40
- package/dist/feedback/feedback-submit.js.map +1 -1
- package/dist/feedback/feedback-swipe.d.ts +9 -110
- package/dist/feedback/feedback-swipe.js +1 -1
- package/dist/feedback/feedback-swipe.js.map +1 -1
- package/dist/feedback/feedback-table-labels.d.ts +2 -0
- package/dist/feedback/feedback-table-labels.js +26 -0
- package/dist/feedback/feedback-table-labels.js.map +1 -0
- package/dist/feedback/feedback-table.d.ts +314 -101
- package/dist/feedback/feedback-table.js +11 -31
- package/dist/feedback/feedback-table.js.map +1 -1
- package/dist/feedback/feedback-thread-labels.d.ts +3 -0
- package/dist/feedback/feedback-thread-labels.js +21 -0
- package/dist/feedback/feedback-thread-labels.js.map +1 -0
- package/dist/feedback/feedback-thread.d.ts +373 -101
- package/dist/feedback/feedback-thread.js +26 -35
- package/dist/feedback/feedback-thread.js.map +1 -1
- package/dist/feedback/feedback-vocabulary.d.ts +98 -0
- package/dist/feedback/feedback-vocabulary.js +143 -0
- package/dist/feedback/feedback-vocabulary.js.map +1 -0
- package/dist/feedback.d.ts +15 -105
- package/dist/hooks/use-anchored-panel.d.ts +77 -15
- package/dist/hooks/use-anchored-panel.js +34 -1
- package/dist/hooks/use-anchored-panel.js.map +1 -1
- package/dist/hooks/use-anchored-rect.d.ts +15 -6
- package/dist/hooks/use-anchored-rect.js +2 -1
- package/dist/hooks/use-anchored-rect.js.map +1 -1
- package/dist/hooks/use-announce.d.ts +4 -6
- package/dist/hooks/use-authed-src.d.ts +5 -7
- package/dist/hooks/use-authed-src.js +3 -7
- package/dist/hooks/use-authed-src.js.map +1 -1
- package/dist/hooks/use-body-scroll-lock.d.ts +1 -3
- package/dist/hooks/use-breakpoint.d.ts +16 -17
- package/dist/hooks/use-breakpoint.js.map +1 -1
- package/dist/hooks/use-close-transition.d.ts +8 -8
- package/dist/hooks/use-close-transition.js +5 -4
- package/dist/hooks/use-close-transition.js.map +1 -1
- package/dist/hooks/use-copy-to-clipboard.d.ts +5 -7
- package/dist/hooks/use-debounce.d.ts +13 -6
- package/dist/hooks/use-debounce.js.map +1 -1
- package/dist/hooks/use-dismiss.d.ts +50 -11
- package/dist/hooks/use-dismiss.js +80 -9
- package/dist/hooks/use-dismiss.js.map +1 -1
- package/dist/hooks/use-file-drop.d.ts +8 -110
- package/dist/hooks/use-file-drop.js +1 -1
- package/dist/hooks/use-file-drop.js.map +1 -1
- package/dist/hooks/use-file-picker-labels.d.ts +2 -0
- package/dist/hooks/use-file-picker-labels.js +25 -0
- package/dist/hooks/use-file-picker-labels.js.map +1 -0
- package/dist/hooks/use-file-picker.d.ts +164 -0
- package/dist/hooks/use-file-picker.js +149 -0
- package/dist/hooks/use-file-picker.js.map +1 -0
- package/dist/hooks/use-focus-trap.d.ts +2 -4
- package/dist/hooks/use-focus-trap.js +2 -1
- package/dist/hooks/use-focus-trap.js.map +1 -1
- package/dist/hooks/use-hotkey.d.ts +7 -9
- package/dist/hooks/use-large-text.d.ts +3 -5
- package/dist/hooks/use-media-query.d.ts +1 -3
- package/dist/hooks/use-noindex.d.ts +1 -3
- package/dist/hooks/use-overlay-history.d.ts +1 -3
- package/dist/hooks/use-row-swipe.d.ts +5 -8
- package/dist/hooks/use-search-param-state.d.ts +10 -11
- package/dist/hooks/use-windowed-rows.d.ts +4 -7
- package/dist/i18n/defaults.d.ts +11 -105
- package/dist/i18n/defaults.js +82 -82
- package/dist/i18n/defaults.js.map +1 -1
- package/dist/i18n/german.d.ts +2 -105
- package/dist/i18n/german.js +52 -8
- package/dist/i18n/german.js.map +1 -1
- package/dist/i18n/kit-labels.d.ts +619 -101
- package/dist/i18n/kit-labels.js +22 -97
- package/dist/i18n/kit-labels.js.map +1 -1
- package/dist/i18n/languages.d.ts +197 -101
- package/dist/i18n/locales/de-CH.d.ts +3 -106
- package/dist/i18n/locales/en.d.ts +4 -105
- package/dist/i18n/locales/en.js +1834 -4
- package/dist/i18n/locales/en.js.map +7 -1
- package/dist/i18n/locales/es.d.ts +3 -106
- package/dist/i18n/locales/es.js +52 -8
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.d.ts +3 -106
- package/dist/i18n/locales/fr.js +56 -10
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hu.d.ts +3 -106
- package/dist/i18n/locales/hu.js +52 -8
- package/dist/i18n/locales/hu.js.map +1 -1
- package/dist/i18n/locales/it.d.ts +3 -106
- package/dist/i18n/locales/it.js +56 -10
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/zh.d.ts +3 -106
- package/dist/i18n/locales/zh.js +51 -8
- package/dist/i18n/locales/zh.js.map +1 -1
- package/dist/i18n/plurals.d.ts +3 -5
- package/dist/i18n/review.d.ts +5 -107
- package/dist/i18n/review.js +4 -0
- package/dist/i18n/review.js.map +1 -1
- package/dist/i18n/shared-labels.d.ts +17 -0
- package/dist/i18n/shared-labels.js +111 -0
- package/dist/i18n/shared-labels.js.map +1 -0
- package/dist/i18n/swiss.d.ts +1 -3
- package/dist/index.d.ts +330 -249
- package/dist/index.js +188 -215
- package/dist/index.js.map +1 -1
- package/dist/landing/access.d.ts +7 -9
- package/dist/landing/access.js.map +1 -1
- package/dist/landing/landing-actions.d.ts +9 -109
- package/dist/landing/landing-actions.js +1 -1
- package/dist/landing/landing-actions.js.map +1 -1
- package/dist/landing/landing-labels.d.ts +4 -5
- package/dist/landing/landing-labels.js.map +1 -1
- package/dist/landing/landing-sections.d.ts +21 -121
- package/dist/landing/landing-sections.js +15 -15
- package/dist/landing/landing-sections.js.map +1 -1
- package/dist/landing/page-seo.d.ts +7 -9
- package/dist/landing/public-header.d.ts +10 -111
- package/dist/landing/public-header.js +1 -1
- package/dist/landing/public-header.js.map +1 -1
- package/dist/landing/routing.d.ts +16 -120
- package/dist/landing/routing.js +2 -6
- package/dist/landing/routing.js.map +1 -1
- package/dist/lib/calc.d.ts +7 -9
- package/dist/lib/chip-edge-snap.d.ts +10 -0
- package/dist/lib/chip-edge-snap.js +131 -0
- package/dist/lib/chip-edge-snap.js.map +1 -0
- package/dist/lib/clipping.d.ts +2 -4
- package/dist/lib/cn.d.ts +2 -5
- package/dist/lib/cn.js +6 -1
- package/dist/lib/cn.js.map +1 -1
- package/dist/lib/column-mapping.d.ts +10 -13
- package/dist/lib/countries.d.ts +3 -5
- package/dist/lib/dates.d.ts +25 -25
- package/dist/lib/dates.js.map +1 -1
- package/dist/lib/decimal-marks.d.ts +8 -8
- package/dist/lib/decimal-marks.js +1 -1
- package/dist/lib/decimal-marks.js.map +1 -1
- package/dist/lib/direction.d.ts +4 -6
- package/dist/lib/document-navigation.d.ts +1 -3
- package/dist/lib/download.d.ts +67 -0
- package/dist/lib/download.js +89 -0
- package/dist/lib/download.js.map +1 -0
- package/dist/lib/floating-stack.d.ts +8 -6
- package/dist/lib/floating-stack.js.map +1 -1
- package/dist/lib/format.d.ts +24 -23
- package/dist/lib/format.js +3 -3
- package/dist/lib/format.js.map +1 -1
- package/dist/lib/iban.d.ts +9 -11
- package/dist/lib/ime.d.ts +17 -0
- package/dist/lib/ime.js +13 -0
- package/dist/lib/ime.js.map +1 -0
- package/dist/lib/isin.d.ts +3 -5
- package/dist/lib/logger.d.ts +4 -6
- package/dist/lib/person-name.d.ts +3 -5
- package/dist/lib/phone.d.ts +9 -11
- package/dist/lib/presence.d.ts +15 -0
- package/dist/lib/presence.js +8 -0
- package/dist/lib/presence.js.map +1 -0
- package/dist/lib/qr-encode.d.ts +4 -6
- package/dist/lib/reduced-motion.d.ts +18 -0
- package/dist/lib/reduced-motion.js +9 -0
- package/dist/lib/reduced-motion.js.map +1 -0
- package/dist/lib/refs.d.ts +13 -0
- package/dist/lib/refs.js +15 -0
- package/dist/lib/refs.js.map +1 -0
- package/dist/lib/round.d.ts +22 -0
- package/dist/lib/round.js +15 -0
- package/dist/lib/round.js.map +1 -0
- package/dist/lib/safe-storage.d.ts +14 -4
- package/dist/lib/safe-storage.js +24 -9
- package/dist/lib/safe-storage.js.map +1 -1
- package/dist/lib/server-wake.d.ts +13 -14
- package/dist/lib/session-refresh.d.ts +200 -0
- package/dist/lib/session-refresh.js +187 -0
- package/dist/lib/session-refresh.js.map +1 -0
- package/dist/lib/strip-fade.d.ts +10 -13
- package/dist/lib/table-text.d.ts +14 -16
- package/dist/lib/text-match.d.ts +41 -0
- package/dist/lib/text-match.js +23 -0
- package/dist/lib/text-match.js.map +1 -0
- package/dist/lib/translation-review.d.ts +44 -45
- package/dist/lib/translation-review.js +3 -2
- package/dist/lib/translation-review.js.map +1 -1
- package/dist/rhf/fields.d.ts +131 -197
- package/dist/rhf/fields.js +46 -54
- package/dist/rhf/fields.js.map +1 -1
- package/dist/rhf/form-core.d.ts +154 -0
- package/dist/rhf/form-core.js +143 -0
- package/dist/rhf/form-core.js.map +1 -0
- package/dist/rhf/form.d.ts +9 -175
- package/dist/rhf/form.js +2 -139
- package/dist/rhf/form.js.map +1 -1
- package/dist/rhf/line-items.d.ts +40 -11
- package/dist/rhf/line-items.js.map +1 -1
- package/dist/rhf/use-rhf-wizard-step.d.ts +3 -6
- package/dist/rhf/use-rhf-wizard-step.js.map +1 -1
- package/dist/rhf.d.ts +4 -118
- package/dist/rhf.js.map +1 -1
- package/dist/search/command-palette-labels.d.ts +2 -0
- package/dist/search/command-palette-labels.js +15 -0
- package/dist/search/command-palette-labels.js.map +1 -0
- package/dist/search/command-palette.d.ts +10 -13
- package/dist/search/command-palette.js +25 -44
- package/dist/search/command-palette.js.map +1 -1
- package/dist/search/global-search-labels.d.ts +2 -0
- package/dist/search/global-search-labels.js +12 -0
- package/dist/search/global-search-labels.js.map +1 -0
- package/dist/search/global-search.d.ts +17 -16
- package/dist/search/global-search.js +12 -12
- package/dist/search/global-search.js.map +1 -1
- package/dist/search/search-index.d.ts +13 -14
- package/dist/search/search-index.js +2 -1
- package/dist/search/search-index.js.map +1 -1
- package/dist/search/use-command-key.d.ts +9 -0
- package/dist/search/use-command-key.js +18 -0
- package/dist/search/use-command-key.js.map +1 -0
- package/dist/search.d.ts +3 -4
- package/dist/settings/settings-card-classes.d.ts +11 -0
- package/dist/settings/settings-card-classes.js +8 -0
- package/dist/settings/settings-card-classes.js.map +1 -0
- package/dist/settings/settings-catalogue.d.ts +11 -14
- package/dist/settings/settings-context.d.ts +4 -8
- package/dist/settings/settings-heading.d.ts +8 -12
- package/dist/settings/settings-heading.js +1 -1
- package/dist/settings/settings-heading.js.map +1 -1
- package/dist/settings/settings-labels.d.ts +6 -7
- package/dist/settings/settings-labels.js.map +1 -1
- package/dist/settings/settings-layout.d.ts +36 -13
- package/dist/settings/settings-layout.js +25 -4
- package/dist/settings/settings-layout.js.map +1 -1
- package/dist/settings/settings-section.d.ts +4 -107
- package/dist/settings/settings-section.js +2 -2
- package/dist/settings/settings-section.js.map +1 -1
- package/dist/settings/use-account-appearance.d.ts +11 -16
- package/dist/settings/use-account-language.d.ts +8 -10
- package/dist/settings/use-settings-focus.d.ts +3 -5
- package/dist/settings/use-settings-focus.js +2 -4
- package/dist/settings/use-settings-focus.js.map +1 -1
- package/dist/settings/use-settings-route.d.ts +11 -16
- package/dist/shell/app-shell-labels.d.ts +2 -0
- package/dist/shell/app-shell-labels.js +9 -0
- package/dist/shell/app-shell-labels.js.map +1 -0
- package/dist/shell/app-shell.d.ts +216 -101
- package/dist/shell/app-shell.js +51 -35
- package/dist/shell/app-shell.js.map +1 -1
- package/dist/shell/auth-layout.d.ts +6 -9
- package/dist/shell/auth-layout.js +6 -6
- package/dist/shell/auth-layout.js.map +1 -1
- package/dist/shell/company-switcher-labels.d.ts +2 -0
- package/dist/shell/company-switcher-labels.js +12 -0
- package/dist/shell/company-switcher-labels.js.map +1 -0
- package/dist/shell/company-switcher.d.ts +9 -11
- package/dist/shell/company-switcher.js +3 -9
- package/dist/shell/company-switcher.js.map +1 -1
- package/dist/shell/option-switcher-menu.d.ts +7 -9
- package/dist/shell/option-switcher-menu.js +4 -4
- package/dist/shell/option-switcher-menu.js.map +1 -1
- package/dist/shell/role-switcher.d.ts +3 -7
- package/dist/shell/role-switcher.js +3 -3
- package/dist/shell/role-switcher.js.map +1 -1
- package/dist/shell/top-bar-brand.d.ts +4 -107
- package/dist/shell/top-bar-brand.js +1 -1
- package/dist/shell/top-bar-brand.js.map +1 -1
- package/dist/shell/top-bar.d.ts +6 -9
- package/dist/shell/top-bar.js +1 -1
- package/dist/shell/top-bar.js.map +1 -1
- package/dist/shell/topbar-action-menu.d.ts +18 -31
- package/dist/shell/topbar-action-menu.js +10 -10
- package/dist/shell/topbar-action-menu.js.map +1 -1
- package/dist/shell/topbar-controls.d.ts +14 -21
- package/dist/shell/topbar-controls.js +11 -11
- package/dist/shell/topbar-controls.js.map +1 -1
- package/dist/shell.d.ts +25 -116
- package/dist/shell.js.map +1 -1
- package/dist/table-text.d.ts +1 -1
- package/dist/testing/css-variables.d.ts +4 -6
- package/dist/testing/css-variables.generated.d.ts +2 -4
- package/dist/testing/index.d.ts +2 -1
- package/dist/testing/index.js +11 -1
- package/dist/testing/index.js.map +1 -1
- package/dist/testing/viewport.d.ts +116 -0
- package/dist/testing/viewport.js +203 -0
- package/dist/testing/viewport.js.map +1 -0
- package/dist/theme/chart-palette.d.ts +7 -9
- package/dist/theme/color.d.ts +14 -16
- package/dist/theme/color.js +2 -1
- package/dist/theme/color.js.map +1 -1
- package/dist/theme/contrast-tokens.d.ts +13 -17
- package/dist/theme/contrast.d.ts +22 -27
- package/dist/theme/palette-derive.d.ts +16 -22
- package/dist/theme/palette-derive.js +15 -7
- package/dist/theme/palette-derive.js.map +1 -1
- package/dist/theme/palette-presets.d.ts +18 -15
- package/dist/theme/palette-presets.js +66 -345
- package/dist/theme/palette-presets.js.map +1 -1
- package/dist/theme/palette-store.d.ts +10 -13
- package/dist/theme/text-size.d.ts +21 -26
- package/dist/theme/theme-store.d.ts +9 -14
- package/dist/tour/tour-labels.d.ts +2 -0
- package/dist/tour/tour-labels.js +13 -0
- package/dist/tour/tour-labels.js.map +1 -0
- package/dist/tour/tour.d.ts +12 -14
- package/dist/tour/tour.js +9 -20
- package/dist/tour/tour.js.map +1 -1
- package/dist/tour.d.ts +1 -2
- package/dist/wizard/stepper-nav.d.ts +8 -108
- package/dist/wizard/stepper-nav.js +15 -14
- package/dist/wizard/stepper-nav.js.map +1 -1
- package/dist/wizard/types.d.ts +13 -18
- package/dist/wizard/types.js +2 -24
- package/dist/wizard/types.js.map +1 -1
- package/dist/wizard/use-wizard.d.ts +2 -6
- package/dist/wizard/validation.d.ts +3 -7
- package/dist/wizard/wizard-context.d.ts +7 -11
- package/dist/wizard/wizard-labels.d.ts +4 -0
- package/dist/wizard/wizard-labels.js +24 -0
- package/dist/wizard/wizard-labels.js.map +1 -0
- package/dist/wizard/wizard-step.d.ts +3 -7
- package/dist/wizard/wizard-step.js +2 -2
- package/dist/wizard/wizard-step.js.map +1 -1
- package/dist/wizard/wizard-summary.d.ts +5 -8
- package/dist/wizard/wizard-summary.js +6 -5
- package/dist/wizard/wizard-summary.js.map +1 -1
- package/dist/wizard.d.ts +7 -107
- package/package.json +17 -6
- package/src/account/account-parts.ts +3 -3
- package/src/{components → account}/account-settings-labels.ts +11 -1
- package/src/{components → account}/account-settings.tsx +145 -34
- package/src/account/data-export-setting-labels.ts +20 -0
- package/src/account/data-export-setting.tsx +19 -38
- package/src/account/delete-account-setting-labels.ts +33 -0
- package/src/account/delete-account-setting.tsx +13 -35
- package/src/account/email-change-setting-labels.ts +32 -0
- package/src/account/email-change-setting.tsx +17 -36
- package/src/{components → account}/passkeys-setting.tsx +14 -9
- package/src/account/sessions-setting-labels.ts +24 -0
- package/src/account/sessions-setting.tsx +14 -28
- package/src/admin/admin-action-confirm-labels.ts +19 -0
- package/src/admin/admin-action-confirm.tsx +59 -38
- package/src/admin/admin-action-log-labels.ts +74 -0
- package/src/admin/admin-action-log.tsx +180 -54
- package/src/admin/admin-parts.ts +0 -7
- package/src/admin/invitations-panel-labels.ts +31 -0
- package/src/admin/invitations-panel.tsx +16 -34
- package/src/admin/plan-change-labels.ts +23 -0
- package/src/admin/plan-change.tsx +58 -34
- package/src/admin/reviewer-scope-editor-labels.ts +16 -0
- package/src/admin/reviewer-scope-editor.tsx +9 -15
- package/src/admin/role-select-labels.ts +16 -0
- package/src/admin/role-select.tsx +13 -23
- package/src/admin/transfer-ownership-dialog-labels.ts +20 -0
- package/src/admin/transfer-ownership-dialog.tsx +7 -17
- package/src/admin/user-roster-labels.ts +17 -0
- package/src/admin/user-roster.tsx +9 -17
- package/src/auth/accept-invitation-labels.ts +21 -0
- package/src/auth/accept-invitation.tsx +9 -20
- package/src/auth/auth-errors.ts +29 -13
- package/src/auth/complete-name-dialog-labels.ts +16 -0
- package/src/auth/complete-name-dialog.tsx +8 -13
- package/src/auth/forgot-password-form-labels.ts +20 -0
- package/src/auth/forgot-password-form.tsx +12 -20
- package/src/auth/new-password-fields.tsx +1 -1
- package/src/auth/not-found-page-labels.ts +12 -0
- package/src/auth/not-found-page.tsx +11 -14
- package/src/auth/register-form-labels.ts +31 -0
- package/src/auth/register-form.tsx +18 -38
- package/src/auth/reset-password-form-labels.ts +27 -0
- package/src/auth/reset-password-form.tsx +12 -27
- package/src/auth/sign-in-form-labels.ts +44 -0
- package/src/auth/sign-in-form.tsx +18 -51
- package/src/auth/status-parts.tsx +3 -3
- package/src/auth/verify-email-labels.ts +26 -0
- package/src/auth/verify-email.tsx +15 -30
- package/src/billing/billing-banner.tsx +7 -3
- package/src/billing/billing-labels.ts +1 -1
- package/src/billing/checkout-processing.ts +2 -12
- package/src/billing/plan-card.tsx +26 -27
- package/src/billing/plan-limit-notice.tsx +6 -3
- package/src/billing/subscription-actions.tsx +4 -4
- package/src/chart.ts +9 -1
- package/src/components/account-chips-labels.ts +16 -0
- package/src/components/account-chips.tsx +13 -16
- package/src/components/alert-banner.tsx +39 -19
- package/src/components/amount-input.tsx +458 -406
- package/src/components/appearance-labels.ts +2 -2
- package/src/components/authed-image-labels.ts +11 -0
- package/src/components/authed-image.tsx +6 -8
- package/src/components/autocomplete.tsx +79 -78
- package/src/components/breadcrumbs-labels.ts +10 -0
- package/src/components/breadcrumbs.tsx +17 -14
- package/src/components/bulk-action-bar-labels.ts +11 -0
- package/src/components/bulk-action-bar.tsx +15 -16
- package/src/components/button-group.tsx +7 -7
- package/src/components/button-look.ts +230 -0
- package/src/components/button.tsx +339 -0
- package/src/components/calculator.tsx +14 -12
- package/src/components/calendar-heatmap-labels.ts +15 -0
- package/src/components/calendar-heatmap.tsx +13 -19
- package/src/components/card.tsx +381 -0
- package/src/components/chart-zoom-core.tsx +653 -0
- package/src/components/chart-zoom.tsx +21 -648
- package/src/components/chart.tsx +11 -11
- package/src/components/checkbox-group.tsx +13 -10
- package/src/components/checkbox.tsx +43 -42
- package/src/components/chip-input.tsx +370 -0
- package/src/components/chip-labels.ts +13 -0
- package/src/components/chip.tsx +115 -711
- package/src/components/choice-card.tsx +83 -85
- package/src/components/column-mapper-labels.ts +45 -0
- package/src/components/column-mapper.tsx +16 -51
- package/src/components/combobox-core.tsx +346 -194
- package/src/components/combobox-suggestions.tsx +129 -0
- package/src/components/combobox.tsx +70 -896
- package/src/components/confirm-dialog-labels.ts +13 -0
- package/src/components/confirm-dialog.tsx +4 -8
- package/src/components/copy-button-labels.ts +13 -0
- package/src/components/copy-button.tsx +15 -13
- package/src/components/country-select-labels.ts +11 -0
- package/src/components/country-select.tsx +74 -89
- package/src/components/currency-option-list.tsx +182 -0
- package/src/components/currency-select.tsx +85 -196
- package/src/components/danger-confirm-labels.ts +20 -0
- package/src/components/danger-confirm.tsx +72 -80
- package/src/components/data-table-cells.tsx +5 -5
- package/src/components/data-table-column-settings.tsx +137 -0
- package/src/components/data-table-filter-popover.tsx +51 -25
- package/src/components/data-table-filters.ts +48 -11
- package/src/components/data-table-head.tsx +258 -0
- package/src/components/data-table-labels.ts +21 -71
- package/src/components/data-table-mobile.tsx +594 -0
- package/src/components/data-table-pagination.tsx +11 -10
- package/src/components/data-table-resize.ts +187 -0
- package/src/components/data-table-row-actions.tsx +152 -0
- package/src/components/data-table-selection.ts +55 -0
- package/src/components/data-table-shared.tsx +225 -0
- package/src/components/data-table.tsx +205 -1315
- package/src/components/date-field.tsx +627 -0
- package/src/components/date-picker.tsx +58 -1446
- package/src/components/date-range-picker.tsx +490 -0
- package/src/components/description-list-labels.ts +9 -0
- package/src/components/description-list.tsx +31 -15
- package/src/components/dialog-frame-labels.ts +7 -0
- package/src/components/dialog-frame.tsx +11 -7
- package/src/components/disclosure.tsx +14 -14
- package/src/components/dropdown.tsx +129 -43
- package/src/components/empty-state.tsx +137 -0
- package/src/components/entity-combobox.tsx +18 -13
- package/src/components/error-boundary-labels.ts +20 -0
- package/src/components/error-boundary.tsx +10 -20
- package/src/components/facing-pair.ts +1 -1
- package/src/components/field-base.tsx +604 -0
- package/src/components/field-parts.tsx +192 -77
- package/src/components/field-strip.tsx +12 -33
- package/src/components/field-sync-labels.ts +13 -0
- package/src/components/field-sync.tsx +8 -16
- package/src/components/field.tsx +17 -15
- package/src/components/file-button.tsx +64 -412
- package/src/components/file-dropzone.tsx +36 -33
- package/src/components/floating-panel-labels.ts +10 -0
- package/src/components/floating-panel.tsx +32 -21
- package/src/components/focus-ring.ts +9 -4
- package/src/components/form-actions-labels.ts +11 -0
- package/src/components/form-actions.tsx +17 -21
- package/src/components/full-bleed-dialog.tsx +28 -25
- package/src/components/grouped-picker.tsx +118 -96
- package/src/components/help-popover.tsx +115 -0
- package/src/components/hover-menu.tsx +45 -38
- package/src/components/iban-input-labels.ts +15 -0
- package/src/components/iban-input.tsx +25 -20
- package/src/components/icon-button.tsx +945 -0
- package/src/components/icon-picker-labels.ts +13 -0
- package/src/components/icon-picker.tsx +27 -24
- package/src/components/image-grid-labels.ts +11 -0
- package/src/components/image-grid.tsx +13 -15
- package/src/components/inline-edit-field-labels.ts +11 -0
- package/src/components/inline-edit-field.tsx +20 -19
- package/src/components/inline-entity-combobox.tsx +789 -0
- package/src/components/input.tsx +380 -0
- package/src/components/jump-calendar.tsx +385 -0
- package/src/components/language-select.tsx +31 -16
- package/src/components/legal-labels.ts +99 -0
- package/src/components/legal-page.tsx +2 -2
- package/src/components/legal.tsx +11 -101
- package/src/components/lightbox-labels.ts +18 -0
- package/src/components/lightbox.tsx +13 -21
- package/src/components/line-items-labels.ts +14 -0
- package/src/components/line-items.tsx +24 -31
- package/src/components/list-labels.ts +10 -0
- package/src/components/list.tsx +98 -75
- package/src/components/loading-state.tsx +4 -4
- package/src/components/measured-grid-labels.ts +25 -0
- package/src/components/measured-grid.tsx +39 -62
- package/src/components/menu-item.tsx +29 -26
- package/src/components/mini-calendar-labels.ts +17 -0
- package/src/components/mini-calendar.tsx +38 -45
- package/src/components/modal.tsx +49 -20
- package/src/components/money-draft.ts +72 -0
- package/src/components/money-field.tsx +16 -30
- package/src/components/month-picker-labels.ts +22 -0
- package/src/components/month-picker.tsx +59 -45
- package/src/components/multi-entity-combobox.tsx +17 -12
- package/src/components/multi-select.tsx +300 -292
- package/src/components/nav-pills.tsx +19 -8
- package/src/components/number-field.tsx +7 -5
- package/src/components/number-input.tsx +69 -99
- package/src/components/numeric-field.ts +161 -0
- package/src/components/numpad-sheet.tsx +16 -16
- package/src/components/one-time-code-input.tsx +154 -169
- package/src/components/page-contents-labels.ts +9 -0
- package/src/components/page-contents.tsx +15 -15
- package/src/components/page-header.tsx +9 -5
- package/src/components/password-strength-labels.ts +23 -0
- package/src/components/password-strength.tsx +13 -27
- package/src/components/phone-input-labels.ts +10 -0
- package/src/components/phone-input.tsx +42 -57
- package/src/components/picker-sheet.tsx +47 -18
- package/src/components/pie-chart.tsx +11 -9
- package/src/components/popover-labels.ts +14 -0
- package/src/components/popover.tsx +36 -37
- package/src/components/progress-bar-labels.ts +10 -0
- package/src/components/progress-bar.tsx +32 -23
- package/src/components/qr-code.tsx +2 -2
- package/src/components/reauth-dialog-labels.ts +13 -0
- package/src/components/reauth-dialog.tsx +7 -10
- package/src/components/row-actions-labels.ts +10 -0
- package/src/components/row-actions.tsx +11 -10
- package/src/components/scroll-area.tsx +4 -10
- package/src/components/search-field.tsx +35 -49
- package/src/components/select.tsx +302 -0
- package/src/components/separator.tsx +2 -2
- package/src/components/series-chart-axes.ts +329 -0
- package/src/components/series-chart-thin.ts +180 -0
- package/src/components/series-chart.tsx +125 -326
- package/src/components/server-wake-labels.ts +11 -0
- package/src/components/server-wake.tsx +39 -66
- package/src/components/settings-fields.tsx +50 -19
- package/src/components/share-card-labels.ts +30 -0
- package/src/components/share-card.tsx +22 -37
- package/src/components/sign-chip-labels.ts +12 -0
- package/src/components/sign-chip.tsx +6 -9
- package/src/components/signature-pad-labels.ts +24 -0
- package/src/components/signature-pad.tsx +48 -57
- package/src/components/signed-amount-labels.ts +10 -0
- package/src/components/signed-amount.tsx +21 -22
- package/src/components/skeleton.tsx +1 -1
- package/src/components/slider.tsx +51 -39
- package/src/components/sparkline-labels.ts +14 -0
- package/src/components/sparkline.tsx +16 -21
- package/src/components/spinner.tsx +81 -0
- package/src/components/stat-tile-labels.ts +15 -0
- package/src/components/stat-tile.tsx +39 -38
- package/src/components/status-dot.tsx +17 -14
- package/src/components/swatch-picker-labels.ts +10 -0
- package/src/components/swatch-picker.tsx +23 -16
- package/src/components/swipeable-row.tsx +17 -39
- package/src/components/switch.tsx +33 -32
- package/src/components/table.tsx +15 -15
- package/src/components/tabs.tsx +660 -0
- package/src/components/text-link.tsx +7 -7
- package/src/components/text.tsx +10 -6
- package/src/components/textarea.tsx +323 -0
- package/src/components/tile-radio.tsx +6 -6
- package/src/components/time-input.tsx +15 -7
- package/src/components/toast-labels.ts +12 -0
- package/src/components/toast.tsx +5 -8
- package/src/components/toggle-group.tsx +105 -42
- package/src/components/toggle-legend.tsx +6 -6
- package/src/components/tooltip.tsx +47 -27
- package/src/components/translation-review-editor.tsx +8 -7
- package/src/components/translation-review-parts.tsx +9 -13
- package/src/components/translation-review.tsx +50 -20
- package/src/components/tree-view.tsx +14 -12
- package/src/components/ui-labels.ts +22 -0
- package/src/components/use-table-state.ts +91 -10
- package/src/components/user-avatar.tsx +5 -5
- package/src/components/wizard-stepper.tsx +7 -6
- package/src/components/write-lock-labels.ts +9 -0
- package/src/components/write-lock.tsx +10 -12
- package/src/currencies.ts +70 -0
- package/src/data-table.ts +4 -0
- package/src/demo/demo-banner.tsx +16 -27
- package/src/demo/demo-ended.tsx +8 -7
- package/src/demo/demo-labels.ts +2 -2
- package/src/demo/demo-start.tsx +7 -5
- package/src/eslint/index.ts +161 -0
- package/src/eslint/role-utilities.generated.ts +146 -0
- package/src/eslint/role-utilities.ts +99 -0
- package/src/feedback/feedback-attachment-labels.ts +36 -0
- package/src/feedback/feedback-attachment.tsx +42 -66
- package/src/feedback/feedback-context-labels.ts +10 -0
- package/src/feedback/feedback-context.tsx +8 -9
- package/src/feedback/feedback-dialog-labels.ts +28 -0
- package/src/feedback/feedback-dialog.tsx +14 -44
- package/src/feedback/feedback-inbox.tsx +49 -252
- package/src/feedback/feedback-labels.ts +5 -5
- package/src/feedback/feedback-menu-labels.ts +11 -0
- package/src/feedback/feedback-menu.tsx +13 -11
- package/src/feedback/feedback-record.ts +21 -7
- package/src/feedback/feedback-row-detail-labels.ts +33 -0
- package/src/feedback/feedback-row-detail.tsx +30 -43
- package/src/feedback/feedback-status-undo.ts +3 -2
- package/src/feedback/feedback-submit-dialog.tsx +109 -0
- package/src/feedback/feedback-submit.tsx +45 -55
- package/src/feedback/feedback-swipe.tsx +1 -1
- package/src/feedback/feedback-table-labels.ts +27 -0
- package/src/feedback/feedback-table.tsx +24 -40
- package/src/feedback/feedback-thread-labels.ts +22 -0
- package/src/feedback/feedback-thread.tsx +46 -50
- package/src/feedback/feedback-vocabulary.ts +252 -0
- package/src/hooks/use-anchored-panel.ts +102 -2
- package/src/hooks/use-anchored-rect.ts +11 -9
- package/src/hooks/use-authed-src.ts +13 -7
- package/src/hooks/use-breakpoint.ts +5 -4
- package/src/hooks/use-close-transition.ts +9 -10
- package/src/hooks/use-debounce.ts +9 -0
- package/src/hooks/use-dismiss.ts +210 -18
- package/src/hooks/use-file-drop.ts +2 -2
- package/src/hooks/use-file-picker-labels.ts +29 -0
- package/src/hooks/use-file-picker.tsx +363 -0
- package/src/hooks/use-focus-trap.ts +19 -6
- package/src/i18n/defaults.ts +91 -82
- package/src/i18n/german.ts +50 -6
- package/src/i18n/kit-labels.tsx +85 -124
- package/src/i18n/locales/en.ts +46 -0
- package/src/i18n/locales/es.ts +50 -6
- package/src/i18n/locales/fr.ts +55 -9
- package/src/i18n/locales/hu.ts +50 -6
- package/src/i18n/locales/it.ts +54 -8
- package/src/i18n/locales/zh.ts +49 -6
- package/src/i18n/review.ts +4 -0
- package/src/i18n/shared-labels.ts +135 -0
- package/src/index.ts +414 -404
- package/src/landing/access.ts +2 -1
- package/src/landing/landing-actions.tsx +6 -5
- package/src/landing/landing-labels.ts +2 -2
- package/src/landing/landing-sections.tsx +24 -23
- package/src/landing/public-header.tsx +3 -2
- package/src/landing/routing.tsx +2 -7
- package/src/lib/chip-edge-snap.ts +212 -0
- package/src/lib/cn.ts +13 -1
- package/src/lib/dates.ts +4 -2
- package/src/lib/decimal-marks.ts +4 -2
- package/src/lib/download.ts +172 -0
- package/src/lib/floating-stack.ts +5 -1
- package/src/lib/format.ts +5 -3
- package/src/lib/ime.ts +24 -0
- package/src/lib/presence.ts +18 -0
- package/src/lib/reduced-motion.ts +21 -0
- package/src/lib/refs.ts +22 -0
- package/src/lib/round.ts +38 -0
- package/src/lib/safe-storage.ts +35 -11
- package/src/lib/session-refresh.ts +473 -0
- package/src/lib/text-match.ts +60 -0
- package/src/lib/translation-review.ts +7 -6
- package/src/rhf/fields.tsx +141 -189
- package/src/rhf/form-core.tsx +328 -0
- package/src/rhf/form.tsx +9 -320
- package/src/rhf/line-items.tsx +2 -2
- package/src/rhf/use-rhf-wizard-step.ts +4 -4
- package/src/rhf.ts +4 -2
- package/src/search/command-palette-labels.ts +16 -0
- package/src/search/command-palette.tsx +37 -50
- package/src/search/global-search-labels.ts +13 -0
- package/src/search/global-search.tsx +50 -24
- package/src/search/search-index.ts +5 -6
- package/src/search/use-command-key.ts +22 -0
- package/src/settings/settings-card-classes.ts +11 -0
- package/src/settings/settings-heading.tsx +1 -1
- package/src/settings/settings-labels.ts +2 -2
- package/src/settings/settings-layout.tsx +65 -6
- package/src/settings/settings-section.tsx +5 -5
- package/src/settings/use-settings-focus.ts +2 -5
- package/src/shell/app-shell-labels.ts +10 -0
- package/src/shell/app-shell.tsx +79 -53
- package/src/shell/auth-layout.tsx +11 -10
- package/src/shell/company-switcher-labels.ts +13 -0
- package/src/shell/company-switcher.tsx +7 -11
- package/src/shell/option-switcher-menu.tsx +7 -5
- package/src/shell/role-switcher.tsx +4 -4
- package/src/shell/top-bar-brand.tsx +1 -1
- package/src/shell/top-bar.tsx +6 -5
- package/src/shell/topbar-action-menu.tsx +21 -19
- package/src/shell/topbar-controls.tsx +15 -15
- package/src/shell.ts +1 -1
- package/src/testing/index.ts +13 -0
- package/src/testing/viewport.ts +357 -0
- package/src/theme/color.ts +7 -1
- package/src/theme/palette-derive.ts +29 -7
- package/src/theme/palette-presets.ts +82 -355
- package/src/tour/tour-labels.ts +14 -0
- package/src/tour/tour.tsx +13 -23
- package/src/wizard/stepper-nav.tsx +19 -18
- package/src/wizard/types.ts +3 -26
- package/src/wizard/wizard-labels.ts +29 -0
- package/src/wizard/wizard-step.tsx +2 -2
- package/src/wizard/wizard-summary.tsx +8 -7
- package/tokens.css +45 -14
- package/dist/components/account-settings-labels.js.map +0 -1
- package/dist/components/account-settings.js.map +0 -1
- package/dist/components/choice-parts.d.ts +0 -24
- package/dist/components/choice-parts.js +0 -18
- package/dist/components/choice-parts.js.map +0 -1
- package/dist/components/passkeys-setting.js.map +0 -1
- package/dist/components/ui.d.ts +0 -101
- package/dist/components/ui.js +0 -1955
- package/dist/components/ui.js.map +0 -1
- package/dist/data-table-labels-BJ5JE_X2.d.ts +0 -923
- package/dist/delete-account-setting-DAgGBrbn.d.ts +0 -8167
- package/src/components/choice-parts.ts +0 -33
- package/src/components/ui.tsx +0 -4233
|
@@ -1,140 +1,37 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { createElement } from "react";
|
|
4
|
-
import { Fragment
|
|
5
|
-
import {
|
|
4
|
+
import { Fragment, useEffect, useId, useMemo, useRef, useState } from "react";
|
|
5
|
+
import { Card } from "./card.js";
|
|
6
|
+
import { Spinner } from "./spinner.js";
|
|
7
|
+
import { ROW_ACTIONS_KEY, useRowActionColumn } from "./data-table-row-actions.js";
|
|
8
|
+
import { useColumnResize } from "./data-table-resize.js";
|
|
9
|
+
import { useRangeSelection } from "./data-table-selection.js";
|
|
6
10
|
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
} from "lucide-react";
|
|
19
|
-
import { Card, FOCUS_RING, IconButton, Select, Spinner } from "./ui.js";
|
|
20
|
-
import { RowActions } from "./row-actions.js";
|
|
11
|
+
RowLink,
|
|
12
|
+
cleanAttrs,
|
|
13
|
+
columnLabel,
|
|
14
|
+
fromOutside,
|
|
15
|
+
logicalAlign,
|
|
16
|
+
resolveDataTableLabels,
|
|
17
|
+
splitCellProps
|
|
18
|
+
} from "./data-table-shared.js";
|
|
19
|
+
import { MobileFilters, MobileRow, MobileSort, StackedFields } from "./data-table-mobile.js";
|
|
20
|
+
import { DataTableHead } from "./data-table-head.js";
|
|
21
|
+
import { ColumnSettingsPanel } from "./data-table-column-settings.js";
|
|
21
22
|
import { useLargeText } from "../hooks/use-large-text.js";
|
|
22
23
|
import { cn } from "../lib/cn.js";
|
|
23
|
-
import {
|
|
24
|
-
defaultFilterState,
|
|
25
|
-
isFilterActive,
|
|
26
|
-
resolveFilter,
|
|
27
|
-
rowMatches
|
|
28
|
-
} from "./data-table-filters.js";
|
|
24
|
+
import { isFilterActive, resolveFilter, rowMatches } from "./data-table-filters.js";
|
|
29
25
|
import { nextSorts } from "./data-table-sort.js";
|
|
30
|
-
import { FilterPopover } from "./data-table-filter-popover.js";
|
|
31
26
|
import { Pagination } from "./data-table-pagination.js";
|
|
32
|
-
import { SwipeableRow } from "./swipeable-row.js";
|
|
33
|
-
import { useBackdropClose } from "./modal.js";
|
|
34
|
-
import { useBodyScrollLock } from "../hooks/use-body-scroll-lock.js";
|
|
35
|
-
import { useOverlayHistory } from "../hooks/use-overlay-history.js";
|
|
36
27
|
import { FullBleedDialog } from "./full-bleed-dialog.js";
|
|
37
|
-
import { Popover } from "./popover.js";
|
|
38
28
|
import { usePhoneLayout } from "../hooks/use-breakpoint.js";
|
|
39
29
|
import { useAnnounce } from "../hooks/use-announce.js";
|
|
40
|
-
import { DEFAULT_DATA_TABLE_LABELS
|
|
41
|
-
import { useKitLabelOverrides, useKitLocale } from "../i18n/kit-labels.js";
|
|
42
|
-
import { Tooltip } from "./tooltip.js";
|
|
30
|
+
import { DEFAULT_DATA_TABLE_LABELS } from "./data-table-labels.js";
|
|
31
|
+
import { useKitLabelOverrides, useKitLocale, useKitTableStorageKeyPrefix } from "../i18n/kit-labels.js";
|
|
43
32
|
import { useEdgeFade } from "../lib/strip-fade.js";
|
|
44
|
-
import { dirOf
|
|
45
|
-
|
|
46
|
-
if (!props) return { attrs: {} };
|
|
47
|
-
const {
|
|
48
|
-
className,
|
|
49
|
-
style,
|
|
50
|
-
role: _role,
|
|
51
|
-
"data-col": _col,
|
|
52
|
-
...attrs
|
|
53
|
-
} = props;
|
|
54
|
-
return { attrs, className, style };
|
|
55
|
-
}
|
|
56
|
-
function dataAttrsOf(props) {
|
|
57
|
-
if (!props) return void 0;
|
|
58
|
-
const out = {};
|
|
59
|
-
for (const [k, v] of Object.entries(props)) if (k.startsWith("data-") && k !== "data-col") out[k] = v;
|
|
60
|
-
return out;
|
|
61
|
-
}
|
|
62
|
-
const ROW_ACTIONS_KEY = "__rowActions";
|
|
63
|
-
function resolveRowAction(action, index, labels) {
|
|
64
|
-
const tone = action.tone ?? (action.kind === "delete" ? "danger" : "default");
|
|
65
|
-
return {
|
|
66
|
-
key: action.kind ?? `${index}:${action.label ?? ""}`,
|
|
67
|
-
label: action.label ?? (action.kind === "edit" ? labels.edit : action.kind === "delete" ? labels.delete : ""),
|
|
68
|
-
icon: action.icon ?? (action.kind === "edit" ? /* @__PURE__ */ jsx(Pencil, {}) : action.kind === "delete" ? /* @__PURE__ */ jsx(Trash2, {}) : null),
|
|
69
|
-
tone,
|
|
70
|
-
swipe: action.swipe ?? (tone === "danger" ? "start" : "end"),
|
|
71
|
-
action
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
async function runRowAction(action, row) {
|
|
75
|
-
if (action.confirm && !await action.confirm(row)) return;
|
|
76
|
-
action.onAction(row);
|
|
77
|
-
}
|
|
78
|
-
function toRowAction(a, row) {
|
|
79
|
-
return {
|
|
80
|
-
key: a.key,
|
|
81
|
-
label: a.label,
|
|
82
|
-
icon: isValidElement(a.icon) ? a.icon : a.icon != null && a.icon !== false ? /* @__PURE__ */ jsx(Fragment, { children: a.icon }) : void 0,
|
|
83
|
-
tone: a.tone,
|
|
84
|
-
disabledReason: a.action.disabledReason?.(row),
|
|
85
|
-
onSelect: () => void runRowAction(a.action, row)
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
function physicalSwipe(actions, dir) {
|
|
89
|
-
const rtl = dir === "rtl";
|
|
90
|
-
return {
|
|
91
|
-
left: (rtl ? actions.end : actions.start) ?? actions.left,
|
|
92
|
-
right: (rtl ? actions.start : actions.end) ?? actions.right
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
const PHYSICAL_ALIGN = /(^|\s)((?:[\w-]+:)*)text-(left|right)(?=\s|$)/g;
|
|
96
|
-
function logicalAlign(className) {
|
|
97
|
-
return className?.replace(
|
|
98
|
-
PHYSICAL_ALIGN,
|
|
99
|
-
(token, lead, variants, side) => (
|
|
100
|
-
// Already scoped to one direction: that is a caller choosing the physical side.
|
|
101
|
-
/(^|:)(ltr|rtl):/.test(variants) ? token : `${lead}${variants}text-${side === "right" ? "end" : "start"}`
|
|
102
|
-
)
|
|
103
|
-
);
|
|
104
|
-
}
|
|
105
|
-
const FOOTER_CELL = "sticky bottom-0 z-10 bg-[var(--bg-surface-2)] shadow-[inset_0_2px_0_var(--border-strong)]";
|
|
106
|
-
const END_ALIGN = /(^|\s)text-end(?=\s|$)/;
|
|
107
|
-
function cleanAttrs(attrs) {
|
|
108
|
-
if (!attrs) return void 0;
|
|
109
|
-
const out = {};
|
|
110
|
-
for (const [k, v] of Object.entries(attrs)) if (v !== void 0) out[k] = v;
|
|
111
|
-
return out;
|
|
112
|
-
}
|
|
113
|
-
function columnLabel(col, labels) {
|
|
114
|
-
if (col.key === ROW_ACTIONS_KEY && labels) return labels.actions;
|
|
115
|
-
return col.headerText ?? (typeof col.header === "string" ? col.header : col.key);
|
|
116
|
-
}
|
|
117
|
-
const CARD_NO_TRUNCATE = "large:[&_.truncate]:whitespace-normal large:[&_.truncate]:[overflow-wrap:anywhere]";
|
|
118
|
-
function StackedFields({ columns, row, compact }) {
|
|
119
|
-
return /* @__PURE__ */ jsx(
|
|
120
|
-
"dl",
|
|
121
|
-
{
|
|
122
|
-
"data-card-fields": "stacked",
|
|
123
|
-
className: cn("relative flex min-w-0 flex-col", compact ? "gap-1.5 text-xs" : "gap-2.5 text-sm", CARD_NO_TRUNCATE),
|
|
124
|
-
children: columns.map((col) => /* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
|
|
125
|
-
/* @__PURE__ */ jsx("dt", { className: "text-xs uppercase tracking-wide text-[var(--text-muted)]", children: col.header }),
|
|
126
|
-
/* @__PURE__ */ jsx(
|
|
127
|
-
"dd",
|
|
128
|
-
{
|
|
129
|
-
...dataAttrsOf(col.cellProps?.(row)),
|
|
130
|
-
className: "mt-0.5 min-w-0 break-words text-[var(--text-secondary)]",
|
|
131
|
-
children: col.cell(row)
|
|
132
|
-
}
|
|
133
|
-
)
|
|
134
|
-
] }, col.key))
|
|
135
|
-
}
|
|
136
|
-
);
|
|
137
|
-
}
|
|
33
|
+
import { dirOf } from "../lib/direction.js";
|
|
34
|
+
const FOOTER_CELL = "sticky bottom-0 z-10 bg-surface-2 shadow-[inset_0_2px_0_var(--border-strong)]";
|
|
138
35
|
const DEFAULT_DATA_TABLE_SORT_LABELS = {
|
|
139
36
|
sortBy: DEFAULT_DATA_TABLE_LABELS.sortBy,
|
|
140
37
|
sortDefault: DEFAULT_DATA_TABLE_LABELS.sortDefault,
|
|
@@ -142,66 +39,7 @@ const DEFAULT_DATA_TABLE_SORT_LABELS = {
|
|
|
142
39
|
sortDescending: DEFAULT_DATA_TABLE_LABELS.sortDescending
|
|
143
40
|
};
|
|
144
41
|
const flipDir = (d) => d === "asc" ? "desc" : "asc";
|
|
145
|
-
function MobileSort({
|
|
146
|
-
columns,
|
|
147
|
-
sorts,
|
|
148
|
-
sortCycle,
|
|
149
|
-
compact,
|
|
150
|
-
labels,
|
|
151
|
-
onPick,
|
|
152
|
-
onFlip
|
|
153
|
-
}) {
|
|
154
|
-
const selectId = useId();
|
|
155
|
-
const sortLabels = labels;
|
|
156
|
-
if (columns.length === 0) return null;
|
|
157
|
-
const primary = sorts[0] && columns.some((c) => c.key === sorts[0].key) ? sorts[0] : null;
|
|
158
|
-
const offerDefault = sortCycle === "tri" || primary === null;
|
|
159
|
-
const desc = primary?.dir === "desc";
|
|
160
|
-
return /* @__PURE__ */ jsxs(
|
|
161
|
-
"div",
|
|
162
|
-
{
|
|
163
|
-
"data-table-mobile-sort": "",
|
|
164
|
-
className: cn(
|
|
165
|
-
// At Large the direction button shows its words (IconButton's label, §4); the
|
|
166
|
-
// row wraps so the select keeps a usable width on a 240 px card.
|
|
167
|
-
"flex flex-wrap items-center gap-2 border-b border-[var(--border)]",
|
|
168
|
-
compact ? "px-3 py-1.5" : "px-4 py-2"
|
|
169
|
-
),
|
|
170
|
-
children: [
|
|
171
|
-
/* @__PURE__ */ jsx("label", { htmlFor: selectId, className: "shrink-0 text-xs text-[var(--text-muted)]", children: sortLabels.sortBy }),
|
|
172
|
-
/* @__PURE__ */ jsxs(
|
|
173
|
-
Select,
|
|
174
|
-
{
|
|
175
|
-
id: selectId,
|
|
176
|
-
size: compact ? "sm" : "md",
|
|
177
|
-
className: "min-w-0 flex-1 large:basis-40",
|
|
178
|
-
value: primary?.key ?? "",
|
|
179
|
-
onChange: (e) => onPick(e.target.value || null),
|
|
180
|
-
children: [
|
|
181
|
-
offerDefault && /* @__PURE__ */ jsx("option", { value: "", children: sortLabels.sortDefault }),
|
|
182
|
-
columns.map((col) => /* @__PURE__ */ jsx("option", { value: col.key, children: columnLabel(col, labels) }, col.key))
|
|
183
|
-
]
|
|
184
|
-
}
|
|
185
|
-
),
|
|
186
|
-
/* @__PURE__ */ jsx(
|
|
187
|
-
IconButton,
|
|
188
|
-
{
|
|
189
|
-
size: compact ? "xs" : "md",
|
|
190
|
-
variant: "secondary",
|
|
191
|
-
label: desc ? sortLabels.sortDescending : sortLabels.sortAscending,
|
|
192
|
-
disabled: primary === null,
|
|
193
|
-
onClick: onFlip,
|
|
194
|
-
children: desc ? /* @__PURE__ */ jsx(ArrowDownWideNarrow, {}) : /* @__PURE__ */ jsx(ArrowUpNarrowWide, {})
|
|
195
|
-
}
|
|
196
|
-
)
|
|
197
|
-
]
|
|
198
|
-
}
|
|
199
|
-
);
|
|
200
|
-
}
|
|
201
42
|
const OWN_CONTROL = 'a[href],button,input,select,textarea,label,summary,[role="button"],[role="link"],[role="checkbox"],[role="switch"],[role="menuitem"],[role="option"],[contenteditable=""],[contenteditable="true"],[tabindex]:not([tabindex="-1"])';
|
|
202
|
-
function fromOutside(target, row) {
|
|
203
|
-
return !(target instanceof Node) || !row.contains(target);
|
|
204
|
-
}
|
|
205
43
|
function fromOwnControl(target, row) {
|
|
206
44
|
if (!(target instanceof Element)) return false;
|
|
207
45
|
const hit = target.closest(OWN_CONTROL);
|
|
@@ -220,37 +58,6 @@ function moveRowFocus(from, key) {
|
|
|
220
58
|
return true;
|
|
221
59
|
}
|
|
222
60
|
const ROW_NAV_KEYS = { ArrowDown: 1, ArrowUp: 1, Home: 1, End: 1 };
|
|
223
|
-
const isPlainLeftClick = (e) => e.button === 0 && !e.metaKey && !e.ctrlKey && !e.shiftKey && !e.altKey;
|
|
224
|
-
function RowLink({
|
|
225
|
-
href,
|
|
226
|
-
onActivate,
|
|
227
|
-
className,
|
|
228
|
-
children,
|
|
229
|
-
...rest
|
|
230
|
-
}) {
|
|
231
|
-
return /* @__PURE__ */ jsx(
|
|
232
|
-
"a",
|
|
233
|
-
{
|
|
234
|
-
...rest,
|
|
235
|
-
href,
|
|
236
|
-
draggable: false,
|
|
237
|
-
className,
|
|
238
|
-
onClickCapture: (e) => {
|
|
239
|
-
if (fromOutside(e.target, e.currentTarget)) return;
|
|
240
|
-
if (isPlainLeftClick(e)) e.preventDefault();
|
|
241
|
-
},
|
|
242
|
-
onClick: (e) => {
|
|
243
|
-
if (fromOutside(e.target, e.currentTarget)) return;
|
|
244
|
-
if (!isPlainLeftClick(e)) {
|
|
245
|
-
e.stopPropagation();
|
|
246
|
-
return;
|
|
247
|
-
}
|
|
248
|
-
onActivate?.();
|
|
249
|
-
},
|
|
250
|
-
children
|
|
251
|
-
}
|
|
252
|
-
);
|
|
253
|
-
}
|
|
254
61
|
import { DEFAULT_PERSIST_PREFIX, useTableState } from "./use-table-state.js";
|
|
255
62
|
import { useMobileReveal } from "./use-mobile-reveal.js";
|
|
256
63
|
function DataTable({
|
|
@@ -275,10 +82,12 @@ function DataTable({
|
|
|
275
82
|
onFiltersChange,
|
|
276
83
|
sorts: sortsProp,
|
|
277
84
|
onSortsChange,
|
|
85
|
+
pageSize: pageSizeProp,
|
|
86
|
+
onPageSizeChange,
|
|
278
87
|
selection,
|
|
279
88
|
labels: labelsProp,
|
|
280
89
|
locale: localeProp,
|
|
281
|
-
storageKeyPrefix
|
|
90
|
+
storageKeyPrefix: storageKeyPrefixProp,
|
|
282
91
|
mobileExpandAsDialog = false,
|
|
283
92
|
mobileDetailsInRow = false,
|
|
284
93
|
rowName,
|
|
@@ -311,67 +120,17 @@ function DataTable({
|
|
|
311
120
|
const isServer = !!serverPagination;
|
|
312
121
|
const isLoading = !!serverPagination?.isLoading;
|
|
313
122
|
const labelOverrides = useKitLabelOverrides("dataTable");
|
|
314
|
-
const
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
...labelOverrides,
|
|
318
|
-
...labelsProp,
|
|
319
|
-
presets: { ...labelOverrides?.presets, ...labelsProp?.presets }
|
|
320
|
-
} : void 0
|
|
321
|
-
),
|
|
322
|
-
[labelOverrides, labelsProp]
|
|
323
|
-
);
|
|
123
|
+
const providerStorageKeyPrefix = useKitTableStorageKeyPrefix();
|
|
124
|
+
const storageKeyPrefix = storageKeyPrefixProp ?? providerStorageKeyPrefix ?? DEFAULT_PERSIST_PREFIX;
|
|
125
|
+
const labels = useMemo(() => resolveDataTableLabels(labelOverrides, labelsProp), [labelOverrides, labelsProp]);
|
|
324
126
|
const locale = useKitLocale(localeProp);
|
|
325
|
-
const
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
{
|
|
333
|
-
key: ROW_ACTIONS_KEY,
|
|
334
|
-
header: /* @__PURE__ */ jsx("span", { className: "sr-only", children: labels.actions }),
|
|
335
|
-
// Through RowActions (0.32, §10.8): the icons inline at Normal, one "⋯"
|
|
336
|
-
// menu at Large once there are two — every label at once does not fit a
|
|
337
|
-
// row. Each control stops its own click: the row's handler already skips
|
|
338
|
-
// its controls, and this is for the caller who wraps the table in a
|
|
339
|
-
// clickable element of their own.
|
|
340
|
-
cell: (row) => /* @__PURE__ */ jsx(
|
|
341
|
-
RowActions,
|
|
342
|
-
{
|
|
343
|
-
actions: rowActionsFor(row).map((a) => toRowAction(a, row)),
|
|
344
|
-
name: rowName?.(row),
|
|
345
|
-
size: density === "compact" ? "2xs" : "xs",
|
|
346
|
-
labels: { actions: labels.actions },
|
|
347
|
-
className: "justify-end"
|
|
348
|
-
}
|
|
349
|
-
),
|
|
350
|
-
className: "w-px whitespace-nowrap text-end",
|
|
351
|
-
headClassName: "w-px",
|
|
352
|
-
// On a phone the same actions are the card's swipes.
|
|
353
|
-
mobileHidden: true,
|
|
354
|
-
noRowLink: true
|
|
355
|
-
}
|
|
356
|
-
] : columnsProp,
|
|
357
|
-
[columnsProp, rowActions, rowActionsFor, rowName, labels.actions, density]
|
|
358
|
-
);
|
|
359
|
-
const swipesFromActions = (row) => {
|
|
360
|
-
const swipes = rowActionsFor(row).filter((a) => a.swipe && !a.action.disabledReason?.(row));
|
|
361
|
-
if (!swipes.length) return null;
|
|
362
|
-
const toSwipe = (a) => ({
|
|
363
|
-
label: a.label,
|
|
364
|
-
icon: a.icon,
|
|
365
|
-
onCommit: () => void runRowAction(a.action, row),
|
|
366
|
-
// The row action's tone, painted by SwipeableRow: its soft wash idle, its fill
|
|
367
|
-
// and that fill's foreground armed (0.33).
|
|
368
|
-
tone: a.tone === "danger" ? "danger" : "brand"
|
|
369
|
-
});
|
|
370
|
-
return {
|
|
371
|
-
start: swipes.filter((a) => a.swipe === "start").map(toSwipe),
|
|
372
|
-
end: swipes.filter((a) => a.swipe === "end").map(toSwipe)
|
|
373
|
-
};
|
|
374
|
-
};
|
|
127
|
+
const { columns, swipesFromActions } = useRowActionColumn({
|
|
128
|
+
columns: columnsProp,
|
|
129
|
+
rowActions,
|
|
130
|
+
rowName,
|
|
131
|
+
labels,
|
|
132
|
+
density
|
|
133
|
+
});
|
|
375
134
|
const swipeActionsFor = mobileSwipeActions ?? (rowActions ? swipesFromActions : void 0);
|
|
376
135
|
const { announce, regionProps } = useAnnounce();
|
|
377
136
|
const {
|
|
@@ -397,7 +156,9 @@ function DataTable({
|
|
|
397
156
|
urlSync,
|
|
398
157
|
defaultPageSize,
|
|
399
158
|
sortsProp,
|
|
400
|
-
filtersProp
|
|
159
|
+
filtersProp,
|
|
160
|
+
// Ignored in `serverPagination` mode, where the owner's is the page size.
|
|
161
|
+
pageSizeProp: isServer ? void 0 : pageSizeProp
|
|
401
162
|
});
|
|
402
163
|
const widths = useMemo(() => resizable ? storedWidths : {}, [resizable, storedWidths]);
|
|
403
164
|
const hiddenCols = useMemo(
|
|
@@ -541,93 +302,13 @@ function DataTable({
|
|
|
541
302
|
[columns, hiddenCols]
|
|
542
303
|
);
|
|
543
304
|
const linkColumn = rowHref ? visibleColumns.find((c) => c.mobilePrimary && !c.noRowLink) ?? visibleColumns.find((c) => !c.noRowLink) : void 0;
|
|
544
|
-
const
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
th,
|
|
552
|
-
...Array.from(table.querySelectorAll("tbody [data-col], tfoot [data-col]")).filter(
|
|
553
|
-
(el) => el.dataset.col === key
|
|
554
|
-
)
|
|
555
|
-
];
|
|
556
|
-
};
|
|
557
|
-
const applyLiveWidth = (cells, width) => {
|
|
558
|
-
const px = width == null ? "" : `${width}px`;
|
|
559
|
-
for (const el of cells) {
|
|
560
|
-
el.style.width = px;
|
|
561
|
-
el.style.minWidth = px;
|
|
562
|
-
el.style.maxWidth = px;
|
|
563
|
-
}
|
|
564
|
-
};
|
|
565
|
-
const releaseResizeChrome = (handle, pointerId) => {
|
|
566
|
-
document.body.style.userSelect = "";
|
|
567
|
-
document.body.style.cursor = "";
|
|
568
|
-
if (handle.hasPointerCapture?.(pointerId)) handle.releasePointerCapture?.(pointerId);
|
|
569
|
-
};
|
|
570
|
-
const startResize = (e, key) => {
|
|
571
|
-
if (e.button !== 0) return;
|
|
572
|
-
e.preventDefault();
|
|
573
|
-
e.stopPropagation();
|
|
574
|
-
const th = headRefs.get(key);
|
|
575
|
-
const startWidth = th?.getBoundingClientRect().width ?? 100;
|
|
576
|
-
resizing.current = {
|
|
577
|
-
key,
|
|
578
|
-
pointerId: e.pointerId,
|
|
579
|
-
startX: e.clientX,
|
|
580
|
-
startWidth,
|
|
581
|
-
sign: isRtl(e.currentTarget) ? -1 : 1,
|
|
582
|
-
hadWidth: widths[key],
|
|
583
|
-
cells: columnCells(key),
|
|
584
|
-
width: startWidth,
|
|
585
|
-
moved: false
|
|
586
|
-
};
|
|
587
|
-
e.currentTarget.setPointerCapture?.(e.pointerId);
|
|
588
|
-
document.body.style.userSelect = "none";
|
|
589
|
-
document.body.style.cursor = "col-resize";
|
|
590
|
-
};
|
|
591
|
-
const moveResize = (e) => {
|
|
592
|
-
const drag = resizing.current;
|
|
593
|
-
if (!drag || drag.pointerId !== e.pointerId) return;
|
|
594
|
-
drag.width = Math.max(40, Math.round(drag.startWidth + drag.sign * (e.clientX - drag.startX)));
|
|
595
|
-
drag.moved = true;
|
|
596
|
-
applyLiveWidth(drag.cells, drag.width);
|
|
597
|
-
};
|
|
598
|
-
const finishResize = (e, commit) => {
|
|
599
|
-
const drag = resizing.current;
|
|
600
|
-
releaseResizeChrome(e.currentTarget, e.pointerId);
|
|
601
|
-
if (!drag || drag.pointerId !== e.pointerId) return;
|
|
602
|
-
resizing.current = null;
|
|
603
|
-
if (commit && drag.moved) {
|
|
604
|
-
setWidths((w) => ({ ...w, [drag.key]: drag.width }));
|
|
605
|
-
return;
|
|
606
|
-
}
|
|
607
|
-
applyLiveWidth(drag.cells, drag.hadWidth);
|
|
608
|
-
};
|
|
609
|
-
useEffect(
|
|
610
|
-
() => () => {
|
|
611
|
-
if (!resizing.current) return;
|
|
612
|
-
resizing.current = null;
|
|
613
|
-
document.body.style.userSelect = "";
|
|
614
|
-
document.body.style.cursor = "";
|
|
615
|
-
},
|
|
616
|
-
[]
|
|
617
|
-
);
|
|
618
|
-
const autoSizeAll = () => {
|
|
619
|
-
setWidths({});
|
|
620
|
-
requestAnimationFrame(() => {
|
|
621
|
-
const next = {};
|
|
622
|
-
const cols = columns.filter((c) => !hiddenCols.has(c.key));
|
|
623
|
-
cols.forEach((col, idx) => {
|
|
624
|
-
if (idx === cols.length - 1) return;
|
|
625
|
-
const th = headRefs.get(col.key);
|
|
626
|
-
if (th) next[col.key] = Math.ceil(th.getBoundingClientRect().width);
|
|
627
|
-
});
|
|
628
|
-
setWidths(next);
|
|
629
|
-
});
|
|
630
|
-
};
|
|
305
|
+
const { startResize, moveResize, finishResize, autoSizeAll } = useColumnResize({
|
|
306
|
+
headRefs,
|
|
307
|
+
widths,
|
|
308
|
+
setWidths,
|
|
309
|
+
columns,
|
|
310
|
+
hiddenCols
|
|
311
|
+
});
|
|
631
312
|
const visibleCount = visibleColumns.length;
|
|
632
313
|
const totalCount = columns.length;
|
|
633
314
|
const totalColSpan = visibleCount + (selection ? 1 : 0);
|
|
@@ -636,6 +317,7 @@ function DataTable({
|
|
|
636
317
|
const footerLabelCol = showFooter ? visibleColumns.find((c) => !c.footer && c.key !== ROW_ACTIONS_KEY) ?? visibleColumns[0] : void 0;
|
|
637
318
|
const footerValue = (col) => col.footer?.(sorted, slice);
|
|
638
319
|
const footerHeadingId = useId();
|
|
320
|
+
const detailIdBase = useId();
|
|
639
321
|
const columnsCountLabel = rowActions ? labels.columnsCount(visibleCount - 1, totalCount - 1) : labels.columnsCount(visibleCount, totalCount);
|
|
640
322
|
const isMdUp = !usePhoneLayout();
|
|
641
323
|
const desktopScroller = useRef(null);
|
|
@@ -669,184 +351,43 @@ function DataTable({
|
|
|
669
351
|
unpaged,
|
|
670
352
|
defaultPageSize
|
|
671
353
|
});
|
|
672
|
-
const selectionAnchor =
|
|
354
|
+
const { selectionAnchor, rangeClick, canSelect, selectRange } = useRangeSelection({
|
|
355
|
+
selection,
|
|
356
|
+
slice,
|
|
357
|
+
rowKey
|
|
358
|
+
});
|
|
673
359
|
const rowsFocusable = !!onRowClick;
|
|
674
360
|
const [focusRowKey, setFocusRowKey] = useState(null);
|
|
675
361
|
const tabRowKey = focusRowKey !== null && slice.some((r) => rowKey(r) === focusRowKey) ? focusRowKey : slice.length ? rowKey(slice[0]) : null;
|
|
676
|
-
const rangeClick = useRef(null);
|
|
677
|
-
const canSelect = (row) => !!selection && (selection.isSelectable?.(row) ?? true);
|
|
678
|
-
const selectRange = (toIndex) => {
|
|
679
|
-
if (!selection || selectionAnchor.current === null) return false;
|
|
680
|
-
const fromIndex = slice.findIndex((r) => rowKey(r) === selectionAnchor.current);
|
|
681
|
-
if (fromIndex < 0) return false;
|
|
682
|
-
const [lo, hi] = [fromIndex, toIndex].sort((a, b) => a - b);
|
|
683
|
-
const range = [];
|
|
684
|
-
for (let i = lo; i <= hi; i++) {
|
|
685
|
-
const r = slice[i];
|
|
686
|
-
if (r && canSelect(r)) range.push(r);
|
|
687
|
-
}
|
|
688
|
-
if (selection.onToggleMany) selection.onToggleMany(range, true);
|
|
689
|
-
else for (const r of range) selection.onToggle(r, true);
|
|
690
|
-
return true;
|
|
691
|
-
};
|
|
692
362
|
const mobileDialogRow = mobileExpandAsDialog && !isMdUp ? mobileSlice.find((r) => isExpanded?.(r)) : void 0;
|
|
693
363
|
const mobileDialogContent = mobileDialogRow ? openedRowContent(mobileDialogRow) : null;
|
|
694
364
|
const dialogOpen = !!(mobileDialogRow && mobileDialogContent);
|
|
695
365
|
const closeDialog = () => {
|
|
696
366
|
if (mobileDialogRow) onRowClick?.(mobileDialogRow);
|
|
697
367
|
};
|
|
698
|
-
const renderMobileRow = (row) =>
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
// #394): the browser's own ring and tap highlight sit on the card's outer edge, and
|
|
722
|
-
// three ancestors clip it — SwipeableRow's `overflow-hidden`, the card list, and
|
|
723
|
-
// AppShell main's `overflow-x-clip` — so the frame went missing on one side. A press
|
|
724
|
-
// keeps the fill and the squeeze above; an outline on every tap of a long list would
|
|
725
|
-
// be louder than the acknowledgement it replaces.
|
|
726
|
-
interactive && cn("[-webkit-tap-highlight-color:transparent] focus-visible:ring-inset", FOCUS_RING)
|
|
727
|
-
);
|
|
728
|
-
const cardInner = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
729
|
-
/* @__PURE__ */ jsx(
|
|
730
|
-
"div",
|
|
731
|
-
{
|
|
732
|
-
className: cn(
|
|
733
|
-
"flex min-w-0 flex-1 flex-col",
|
|
734
|
-
compact ? "gap-1 large:gap-2" : "gap-2 large:gap-3",
|
|
735
|
-
// §4 "nothing truncates": at Large a cell's own `truncate` wraps instead —
|
|
736
|
-
// the reader who chose bigger type is the one an ellipsis fails. A caller's
|
|
737
|
-
// `mobileCard` is its own layout and keeps what it chose.
|
|
738
|
-
!mobileCard && CARD_NO_TRUNCATE
|
|
739
|
-
),
|
|
740
|
-
children: mobileCard ? mobileCard(row) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
741
|
-
mobilePrimaryCol && /* @__PURE__ */ jsx("div", { ...dataAttrsOf(mobilePrimaryCol.cellProps?.(row)), className: "min-w-0 break-words font-medium", children: mobilePrimaryCol.cell(row) }),
|
|
742
|
-
mobileSecondaryColumns.length > 0 && large ? (
|
|
743
|
-
// §4: each label ABOVE its value at Large. Side by side, a label column
|
|
744
|
-
// sized to the widest label leaves a value a sliver of a 240 px card.
|
|
745
|
-
/* @__PURE__ */ jsx(StackedFields, { columns: mobileSecondaryColumns, row, compact })
|
|
746
|
-
) : mobileSecondaryColumns.length > 0 && /* @__PURE__ */ jsx(
|
|
747
|
-
"dl",
|
|
748
|
-
{
|
|
749
|
-
className: cn(
|
|
750
|
-
"grid grid-cols-[auto_1fr] gap-x-3",
|
|
751
|
-
compact ? "gap-y-0.5 text-xs" : "gap-y-1 text-sm"
|
|
752
|
-
),
|
|
753
|
-
children: mobileSecondaryColumns.map((col) => /* @__PURE__ */ jsxs(Fragment2, { children: [
|
|
754
|
-
/* @__PURE__ */ jsx("dt", { className: "text-xs uppercase tracking-wide text-[var(--text-muted)] self-center", children: col.header }),
|
|
755
|
-
/* @__PURE__ */ jsx(
|
|
756
|
-
"dd",
|
|
757
|
-
{
|
|
758
|
-
...dataAttrsOf(col.cellProps?.(row)),
|
|
759
|
-
className: "min-w-0 text-[var(--text-secondary)] self-center",
|
|
760
|
-
children: col.cell(row)
|
|
761
|
-
}
|
|
762
|
-
)
|
|
763
|
-
] }, col.key))
|
|
764
|
-
}
|
|
765
|
-
)
|
|
766
|
-
] })
|
|
767
|
-
}
|
|
768
|
-
),
|
|
769
|
-
opensDetail && // `aria-hidden`: the row already announces itself as a button with
|
|
770
|
-
// `aria-expanded`, so the icon would only add a second, wordless stop.
|
|
771
|
-
(mobileExpandAsDialog ? (
|
|
772
|
-
// Points INTO the sheet, which is the reading-forward direction.
|
|
773
|
-
/* @__PURE__ */ jsx(
|
|
774
|
-
ChevronRight,
|
|
775
|
-
{
|
|
776
|
-
"aria-hidden": true,
|
|
777
|
-
className: "size-4 shrink-0 text-[var(--text-placeholder)] rtl:-scale-x-100"
|
|
778
|
-
}
|
|
779
|
-
)
|
|
780
|
-
) : /* @__PURE__ */ jsx(
|
|
781
|
-
ChevronDown,
|
|
782
|
-
{
|
|
783
|
-
"aria-hidden": true,
|
|
784
|
-
className: cn(
|
|
785
|
-
"size-4 shrink-0 text-[var(--text-placeholder)] transition-transform",
|
|
786
|
-
expanded && "rotate-180"
|
|
787
|
-
)
|
|
788
|
-
}
|
|
789
|
-
))
|
|
790
|
-
] });
|
|
791
|
-
const body = interactive && href ? (
|
|
792
|
-
// A card with a URL of its own is a LINK, not a div wearing role="button"
|
|
793
|
-
// (feedback #451): the phone's long-press "open in new tab" and a screen
|
|
794
|
-
// reader's link semantics both come free, and the fake role goes away.
|
|
795
|
-
/* @__PURE__ */ jsx(
|
|
796
|
-
RowLink,
|
|
797
|
-
{
|
|
798
|
-
href,
|
|
799
|
-
onActivate: () => onRowClick(row),
|
|
800
|
-
"aria-expanded": opensRow ? expanded : void 0,
|
|
801
|
-
className: cardClass,
|
|
802
|
-
onKeyDown: (e) => {
|
|
803
|
-
if (e.key !== " ") return;
|
|
804
|
-
e.preventDefault();
|
|
805
|
-
onRowClick(row);
|
|
806
|
-
},
|
|
807
|
-
children: cardInner
|
|
808
|
-
}
|
|
809
|
-
)
|
|
810
|
-
) : (
|
|
811
|
-
/* eslint-disable-next-line jsx-a11y/no-static-element-interactions -- the handlers are
|
|
812
|
-
only attached when `interactive`, and then so are role="button", tabIndex 0 and the
|
|
813
|
-
Enter/Space handler below; the rule cannot follow the conditional role. */
|
|
814
|
-
/* @__PURE__ */ jsx(
|
|
815
|
-
"div",
|
|
816
|
-
{
|
|
817
|
-
role: interactive ? "button" : void 0,
|
|
818
|
-
tabIndex: interactive ? 0 : void 0,
|
|
819
|
-
onClick: interactive ? (e) => {
|
|
820
|
-
if (fromOutside(e.target, e.currentTarget)) return;
|
|
821
|
-
onRowClick(row);
|
|
822
|
-
} : void 0,
|
|
823
|
-
onKeyDown: interactive ? (e) => {
|
|
824
|
-
if (e.target !== e.currentTarget) return;
|
|
825
|
-
if (e.key === "Enter" || e.key === " ") {
|
|
826
|
-
e.preventDefault();
|
|
827
|
-
onRowClick(row);
|
|
828
|
-
}
|
|
829
|
-
} : void 0,
|
|
830
|
-
"aria-expanded": opensRow ? expanded : void 0,
|
|
831
|
-
className: cardClass,
|
|
832
|
-
children: cardInner
|
|
833
|
-
}
|
|
834
|
-
)
|
|
835
|
-
);
|
|
836
|
-
return /* @__PURE__ */ jsxs("li", { className: cn(tint), ...cleanAttrs(rowAttributes?.(row)), children: [
|
|
837
|
-
swipeEnabled ? /* @__PURE__ */ jsx(SwipeableRow, { enabled: true, left: swipe.left, right: swipe.right, children: body }) : body,
|
|
838
|
-
expansion && !mobileExpandAsDialog && /* @__PURE__ */ jsx(
|
|
839
|
-
"div",
|
|
840
|
-
{
|
|
841
|
-
className: cn(
|
|
842
|
-
"bg-[var(--bg-surface-2)] border-t border-[var(--border)]",
|
|
843
|
-
compact ? "px-3 py-2" : "px-4 py-3"
|
|
844
|
-
),
|
|
845
|
-
children: expansion
|
|
846
|
-
}
|
|
847
|
-
)
|
|
848
|
-
] }, rowKey(row));
|
|
849
|
-
};
|
|
368
|
+
const renderMobileRow = (row) => /* @__PURE__ */ jsx(
|
|
369
|
+
MobileRow,
|
|
370
|
+
{
|
|
371
|
+
row,
|
|
372
|
+
isExpanded,
|
|
373
|
+
openedRowContent,
|
|
374
|
+
opensRow,
|
|
375
|
+
rowClassName,
|
|
376
|
+
rowAttributes,
|
|
377
|
+
onRowClick,
|
|
378
|
+
rowHref,
|
|
379
|
+
swipeActionsFor,
|
|
380
|
+
mobileDir,
|
|
381
|
+
mobileCardLinkable,
|
|
382
|
+
mobileCard,
|
|
383
|
+
mobilePrimaryCol,
|
|
384
|
+
mobileSecondaryColumns,
|
|
385
|
+
mobileExpandAsDialog,
|
|
386
|
+
compact,
|
|
387
|
+
large
|
|
388
|
+
},
|
|
389
|
+
rowKey(row)
|
|
390
|
+
);
|
|
850
391
|
const mobileGroups = mobileGroupBy ? mobileSlice.reduce((acc, row) => {
|
|
851
392
|
const key = mobileGroupBy(row);
|
|
852
393
|
const last = acc[acc.length - 1];
|
|
@@ -878,7 +419,7 @@ function DataTable({
|
|
|
878
419
|
"data-table-toolbar": "",
|
|
879
420
|
className: cn(
|
|
880
421
|
"flex flex-wrap items-center gap-2",
|
|
881
|
-
frame ? cn("border-b border-
|
|
422
|
+
frame ? cn("border-b border-subtle", compact ? "px-2 py-1.5" : "px-3 py-2") : "pb-3"
|
|
882
423
|
),
|
|
883
424
|
children: toolbar
|
|
884
425
|
}
|
|
@@ -929,7 +470,7 @@ function DataTable({
|
|
|
929
470
|
"ul",
|
|
930
471
|
{
|
|
931
472
|
className: cn(
|
|
932
|
-
"divide-y divide-
|
|
473
|
+
"divide-y divide-subtle",
|
|
933
474
|
// Under `fillHeight` the list is the scroller, as the table body is on a
|
|
934
475
|
// wide screen: the filter button stays above it and a server pager below.
|
|
935
476
|
// The endless-scroll sentinel still fires in here — an
|
|
@@ -940,15 +481,15 @@ function DataTable({
|
|
|
940
481
|
),
|
|
941
482
|
"aria-busy": isLoading || void 0,
|
|
942
483
|
children: [
|
|
943
|
-
mobileGroups ? mobileGroups.map((g) => /* @__PURE__ */ jsxs(
|
|
944
|
-
/* @__PURE__ */ jsx("li", { className: "sticky top-0 z-10 bg-
|
|
484
|
+
mobileGroups ? mobileGroups.map((g) => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
485
|
+
/* @__PURE__ */ jsx("li", { className: "sticky top-0 z-10 bg-surface-2 px-4 py-1.5 text-xs font-semibold uppercase tracking-wide text-muted backdrop-blur", children: mobileGroupLabel ? mobileGroupLabel(g.key) : g.key }),
|
|
945
486
|
g.rows.map(renderMobileRow)
|
|
946
487
|
] }, `hb-group:${g.key}`)) : mobileSlice.map(renderMobileRow),
|
|
947
488
|
mobileSlice.length === 0 && /* @__PURE__ */ jsx(
|
|
948
489
|
"li",
|
|
949
490
|
{
|
|
950
491
|
className: cn(
|
|
951
|
-
"text-center text-
|
|
492
|
+
"text-center text-muted",
|
|
952
493
|
compact ? "px-3 py-3 text-xs" : "px-4 py-6 text-sm"
|
|
953
494
|
),
|
|
954
495
|
children: isLoading ? /* @__PURE__ */ jsx(LoadingText, { label: labels.loading }) : empty ?? labels.empty
|
|
@@ -958,7 +499,7 @@ function DataTable({
|
|
|
958
499
|
"li",
|
|
959
500
|
{
|
|
960
501
|
ref: loadMoreRef,
|
|
961
|
-
className: "px-4 py-4 text-center text-xs text-
|
|
502
|
+
className: "px-4 py-4 text-center text-xs text-placeholder",
|
|
962
503
|
children: /* @__PURE__ */ jsx("bdi", { children: labels.loading })
|
|
963
504
|
}
|
|
964
505
|
)
|
|
@@ -971,7 +512,7 @@ function DataTable({
|
|
|
971
512
|
"data-table-footer": "",
|
|
972
513
|
"aria-labelledby": footerLabel != null ? footerHeadingId : void 0,
|
|
973
514
|
className: cn(
|
|
974
|
-
"border-t-2 border-
|
|
515
|
+
"border-t-2 border-strong bg-surface-2",
|
|
975
516
|
compact ? "px-3 py-2" : "px-4 py-3",
|
|
976
517
|
isLoading && "opacity-60 transition-opacity"
|
|
977
518
|
),
|
|
@@ -984,9 +525,9 @@ function DataTable({
|
|
|
984
525
|
"grid grid-cols-[auto_1fr] gap-x-3",
|
|
985
526
|
compact ? "gap-y-0.5 text-xs" : "gap-y-1 text-sm"
|
|
986
527
|
),
|
|
987
|
-
children: mobileColumns.filter((c) => c.footer).map((col) => /* @__PURE__ */ jsxs(
|
|
988
|
-
/* @__PURE__ */ jsx("dt", { className: "self-center text-xs uppercase tracking-wide text-
|
|
989
|
-
/* @__PURE__ */ jsx("dd", { className: "min-w-0 self-center font-semibold text-
|
|
528
|
+
children: mobileColumns.filter((c) => c.footer).map((col) => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
529
|
+
/* @__PURE__ */ jsx("dt", { className: "self-center text-xs uppercase tracking-wide text-muted", children: col.header }),
|
|
530
|
+
/* @__PURE__ */ jsx("dd", { className: "min-w-0 self-center font-semibold text-primary", children: footerValue(col) })
|
|
990
531
|
] }, col.key))
|
|
991
532
|
}
|
|
992
533
|
)
|
|
@@ -1036,173 +577,65 @@ function DataTable({
|
|
|
1036
577
|
"aria-label": labels.table,
|
|
1037
578
|
"aria-busy": isLoading || void 0,
|
|
1038
579
|
children: [
|
|
1039
|
-
/* @__PURE__ */ jsx(
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
const filterState = filters[col.key] ?? (filter ? defaultFilterState(filter) : void 0);
|
|
1067
|
-
const sortIdx = sorts.findIndex((s) => s.key === col.key);
|
|
1068
|
-
const active = sortIdx !== -1;
|
|
1069
|
-
const Icon = active ? sorts[sortIdx].dir === "asc" ? ArrowUp : ArrowDown : ArrowUpDown;
|
|
1070
|
-
const filterActive = filterState && isFilterActive(filterState);
|
|
1071
|
-
const headClass = logicalAlign(col.headClassName);
|
|
1072
|
-
const isEndAligned = !!headClass && END_ALIGN.test(headClass);
|
|
1073
|
-
const width = widths[col.key];
|
|
1074
|
-
const ownHead = splitCellProps(col.headProps);
|
|
1075
|
-
const pinnedHead = width ? { width, minWidth: width, maxWidth: width } : void 0;
|
|
1076
|
-
return /* @__PURE__ */ createElement(
|
|
1077
|
-
"th",
|
|
1078
|
-
{
|
|
1079
|
-
...ownHead.attrs,
|
|
1080
|
-
key: col.key,
|
|
1081
|
-
ref: (el) => {
|
|
1082
|
-
if (el) headRefs.set(col.key, el);
|
|
1083
|
-
else headRefs.delete(col.key);
|
|
1084
|
-
},
|
|
1085
|
-
scope: "col",
|
|
1086
|
-
"aria-sort": sortable ? sortIdx === 0 ? sorts[0].dir === "asc" ? "ascending" : "descending" : "none" : void 0,
|
|
1087
|
-
style: ownHead.style || pinnedHead ? { ...ownHead.style, ...pinnedHead } : void 0,
|
|
1088
|
-
className: cn(
|
|
1089
|
-
"relative font-medium align-middle whitespace-nowrap",
|
|
1090
|
-
compact ? "px-2 py-1" : "px-3 py-2",
|
|
1091
|
-
// Keep the header visible while the user scrolls the page.
|
|
1092
|
-
// Each <th> carries its own bg so the row doesn't render
|
|
1093
|
-
// transparent over the data rows underneath.
|
|
1094
|
-
"sticky top-0 z-10 bg-[var(--bg-surface-2)] backdrop-blur-sm",
|
|
1095
|
-
logicalAlign(ownHead.className),
|
|
1096
|
-
headClass
|
|
1097
|
-
)
|
|
1098
|
-
},
|
|
1099
|
-
/* @__PURE__ */ jsxs(
|
|
1100
|
-
"div",
|
|
1101
|
-
{
|
|
1102
|
-
className: cn(
|
|
1103
|
-
"flex items-center gap-1",
|
|
1104
|
-
isEndAligned && "flex-row-reverse"
|
|
1105
|
-
),
|
|
1106
|
-
children: [
|
|
1107
|
-
/* @__PURE__ */ jsx(Tooltip, { label: sortable && multiSort ? labels.sortHint : void 0, portal: true, children: /* @__PURE__ */ jsxs(
|
|
1108
|
-
"button",
|
|
1109
|
-
{
|
|
1110
|
-
type: "button",
|
|
1111
|
-
onClick: (e) => sortable && toggleSort(col.key, e.shiftKey),
|
|
1112
|
-
disabled: !sortable,
|
|
1113
|
-
className: cn(
|
|
1114
|
-
"flex items-center gap-1 text-start",
|
|
1115
|
-
sortable && "hover:text-[var(--text-primary)]"
|
|
1116
|
-
),
|
|
1117
|
-
children: [
|
|
1118
|
-
/* @__PURE__ */ jsx("span", { children: col.header }),
|
|
1119
|
-
sortable && /* @__PURE__ */ jsx(Icon, { className: cn("size-3", active ? "opacity-100" : "opacity-40") }),
|
|
1120
|
-
active && sorts.length > 1 && /* @__PURE__ */ jsx("span", { className: "text-micro font-semibold leading-none text-brand", children: sortIdx + 1 })
|
|
1121
|
-
]
|
|
1122
|
-
}
|
|
1123
|
-
) }),
|
|
1124
|
-
filter && /* @__PURE__ */ jsx(
|
|
1125
|
-
Popover,
|
|
1126
|
-
{
|
|
1127
|
-
width: filter.type === "date" ? "26.25rem" : void 0,
|
|
1128
|
-
labels: { panel: labels.filter },
|
|
1129
|
-
trigger: ({ toggle, ref }) => /* @__PURE__ */ jsx(
|
|
1130
|
-
"button",
|
|
1131
|
-
{
|
|
1132
|
-
type: "button",
|
|
1133
|
-
ref,
|
|
1134
|
-
onClick: toggle,
|
|
1135
|
-
"aria-label": labels.filter,
|
|
1136
|
-
className: cn(
|
|
1137
|
-
"rounded p-1 transition-colors",
|
|
1138
|
-
filterActive ? "bg-[var(--brand-bg)] text-[var(--brand-muted)]" : "text-[var(--text-placeholder)] hover:text-[var(--text-secondary)] hover:bg-[var(--bg-hover)]"
|
|
1139
|
-
),
|
|
1140
|
-
children: /* @__PURE__ */ jsx(Filter, { className: "size-3" })
|
|
1141
|
-
}
|
|
1142
|
-
),
|
|
1143
|
-
children: () => /* @__PURE__ */ jsx(
|
|
1144
|
-
FilterPopover,
|
|
1145
|
-
{
|
|
1146
|
-
column: col,
|
|
1147
|
-
state: filterState ?? defaultFilterState(filter),
|
|
1148
|
-
onChange: (next) => setFilterValue(col.key, next),
|
|
1149
|
-
onClear: () => clearFilter(col.key),
|
|
1150
|
-
selectOptions: selectOptionsByKey[col.key] ?? [],
|
|
1151
|
-
labels,
|
|
1152
|
-
locale
|
|
1153
|
-
}
|
|
1154
|
-
)
|
|
1155
|
-
}
|
|
1156
|
-
)
|
|
1157
|
-
]
|
|
1158
|
-
}
|
|
1159
|
-
),
|
|
1160
|
-
resizable && col.key !== ROW_ACTIONS_KEY && /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions -- a
|
|
1161
|
-
pointer-only drag handle for a visual preference (column width); it is
|
|
1162
|
-
deliberately not a tab stop, and no content or action depends on it. */
|
|
1163
|
-
/* @__PURE__ */ jsx(
|
|
1164
|
-
"span",
|
|
1165
|
-
{
|
|
1166
|
-
role: "separator",
|
|
1167
|
-
"aria-orientation": "vertical",
|
|
1168
|
-
onPointerDown: (e) => startResize(e, col.key),
|
|
1169
|
-
onPointerMove: moveResize,
|
|
1170
|
-
onPointerUp: (e) => finishResize(e, true),
|
|
1171
|
-
onPointerCancel: (e) => finishResize(e, false),
|
|
1172
|
-
onDoubleClick: (e) => {
|
|
1173
|
-
e.preventDefault();
|
|
1174
|
-
setWidths((w) => {
|
|
1175
|
-
const next = { ...w };
|
|
1176
|
-
delete next[col.key];
|
|
1177
|
-
return next;
|
|
1178
|
-
});
|
|
1179
|
-
},
|
|
1180
|
-
className: "absolute end-0 top-0 z-10 h-full w-1.5 -translate-x-1/2 rtl:translate-x-1/2 cursor-col-resize select-none touch-none hover:bg-[var(--brand-bg-hover)]"
|
|
1181
|
-
}
|
|
1182
|
-
)
|
|
1183
|
-
);
|
|
1184
|
-
})
|
|
1185
|
-
] }) }),
|
|
580
|
+
/* @__PURE__ */ jsx(
|
|
581
|
+
DataTableHead,
|
|
582
|
+
{
|
|
583
|
+
visibleColumns,
|
|
584
|
+
selection,
|
|
585
|
+
compact,
|
|
586
|
+
labels,
|
|
587
|
+
locale,
|
|
588
|
+
isServer,
|
|
589
|
+
hasSortCallback: !!onSortsChange,
|
|
590
|
+
hasFilterCallback: !!onFiltersChange,
|
|
591
|
+
sorts,
|
|
592
|
+
filters,
|
|
593
|
+
selectOptionsByKey,
|
|
594
|
+
multiSort,
|
|
595
|
+
resizable,
|
|
596
|
+
widths,
|
|
597
|
+
setWidths,
|
|
598
|
+
headRefs,
|
|
599
|
+
toggleSort,
|
|
600
|
+
setFilterValue,
|
|
601
|
+
clearFilter,
|
|
602
|
+
startResize,
|
|
603
|
+
moveResize,
|
|
604
|
+
finishResize
|
|
605
|
+
}
|
|
606
|
+
),
|
|
1186
607
|
/* @__PURE__ */ jsxs(
|
|
1187
608
|
"tbody",
|
|
1188
609
|
{
|
|
1189
610
|
className: cn(isLoading && slice.length > 0 && "opacity-60 transition-opacity"),
|
|
1190
611
|
children: [
|
|
1191
|
-
leadingRow && /* @__PURE__ */ jsx("tr", { className: "border-t border-
|
|
612
|
+
leadingRow && /* @__PURE__ */ jsx("tr", { className: "border-t border-subtle", children: /* @__PURE__ */ jsx("td", { colSpan: totalColSpan, className: "p-0", children: leadingRow }) }),
|
|
1192
613
|
slice.map((row, rowIndex) => {
|
|
1193
614
|
const expanded = isExpanded?.(row) ?? false;
|
|
1194
615
|
const expansion = expanded ? expandedRow?.(row) : null;
|
|
1195
616
|
const rowInteractive = !!onRowClick || !!selection;
|
|
1196
617
|
const href = rowHref?.(row);
|
|
1197
618
|
const key = rowKey(row);
|
|
1198
|
-
|
|
619
|
+
const detailId = `${detailIdBase}-${rowIndex}`;
|
|
620
|
+
const disclosure = rowsFocusable && expandedRow ? /* @__PURE__ */ jsx(
|
|
621
|
+
"button",
|
|
622
|
+
{
|
|
623
|
+
type: "button",
|
|
624
|
+
tabIndex: -1,
|
|
625
|
+
className: "sr-only-fixed",
|
|
626
|
+
"aria-label": labels.rowDetails,
|
|
627
|
+
"aria-expanded": expanded,
|
|
628
|
+
"aria-controls": expansion ? detailId : void 0,
|
|
629
|
+
onClick: () => onRowClick(row)
|
|
630
|
+
}
|
|
631
|
+
) : null;
|
|
632
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1199
633
|
/* @__PURE__ */ jsxs(
|
|
1200
634
|
"tr",
|
|
1201
635
|
{
|
|
1202
636
|
...cleanAttrs(rowAttributes?.(row)),
|
|
1203
637
|
"data-row-nav": rowsFocusable ? "" : void 0,
|
|
1204
638
|
tabIndex: rowsFocusable ? key === tabRowKey ? 0 : -1 : void 0,
|
|
1205
|
-
"aria-expanded": rowsFocusable && expandedRow ? expanded : void 0,
|
|
1206
639
|
onFocus: rowsFocusable ? (e) => {
|
|
1207
640
|
if (e.target === e.currentTarget) setFocusRowKey(key);
|
|
1208
641
|
} : void 0,
|
|
@@ -1218,12 +651,12 @@ function DataTable({
|
|
|
1218
651
|
if (moveRowFocus(e.currentTarget, e.key)) e.preventDefault();
|
|
1219
652
|
} : void 0,
|
|
1220
653
|
className: cn(
|
|
1221
|
-
"border-t border-
|
|
1222
|
-
rowInteractive && "cursor-pointer hover:bg-
|
|
654
|
+
"border-t border-subtle",
|
|
655
|
+
rowInteractive && "cursor-pointer hover:bg-hover",
|
|
1223
656
|
// The kit's focus frame width (§5, `--focus-ring-width`), drawn as an
|
|
1224
657
|
// OUTLINE rather than FOCUS_RING's box-shadow: a shadow on a `<tr>`
|
|
1225
658
|
// is not painted by every engine, an outline is.
|
|
1226
|
-
rowsFocusable && "focus-visible:bg-
|
|
659
|
+
rowsFocusable && "focus-visible:bg-hover focus-visible:outline-focus focus-visible:-outline-offset-2 focus-visible:outline-brand",
|
|
1227
660
|
rowClassName?.(row)
|
|
1228
661
|
),
|
|
1229
662
|
onClick: rowInteractive ? (e) => {
|
|
@@ -1276,7 +709,7 @@ function DataTable({
|
|
|
1276
709
|
)
|
|
1277
710
|
}
|
|
1278
711
|
),
|
|
1279
|
-
visibleColumns.map((col) => {
|
|
712
|
+
visibleColumns.map((col, colIndex) => {
|
|
1280
713
|
const width = widths[col.key];
|
|
1281
714
|
const own = splitCellProps(col.cellProps?.(row));
|
|
1282
715
|
const pinned = width ? { width, minWidth: width, maxWidth: width } : void 0;
|
|
@@ -1295,6 +728,7 @@ function DataTable({
|
|
|
1295
728
|
logicalAlign(col.className)
|
|
1296
729
|
)
|
|
1297
730
|
},
|
|
731
|
+
colIndex === 0 && disclosure,
|
|
1298
732
|
col === linkColumn && href ? (
|
|
1299
733
|
// No `onActivate`: the click is left to bubble to the
|
|
1300
734
|
// <tr> handler above, which already owns expand-vs-select.
|
|
@@ -1306,14 +740,14 @@ function DataTable({
|
|
|
1306
740
|
]
|
|
1307
741
|
}
|
|
1308
742
|
),
|
|
1309
|
-
expansion && /* @__PURE__ */ jsx("tr", { className: "bg-
|
|
743
|
+
expansion && /* @__PURE__ */ jsx("tr", { id: disclosure ? detailId : void 0, className: "bg-surface-2 border-t border-subtle", children: /* @__PURE__ */ jsx("td", { colSpan: totalColSpan, className: "p-0", children: /* @__PURE__ */ jsx("div", { className: cn("w-0 min-w-full", compact ? "px-2 py-2" : "px-3 py-3"), children: expansion }) }) })
|
|
1310
744
|
] }, key);
|
|
1311
745
|
}),
|
|
1312
746
|
slice.length === 0 && /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx(
|
|
1313
747
|
"td",
|
|
1314
748
|
{
|
|
1315
749
|
colSpan: totalColSpan,
|
|
1316
|
-
className: cn("text-center text-
|
|
750
|
+
className: cn("text-center text-muted", compact ? "px-2 py-2" : "px-3 py-4"),
|
|
1317
751
|
children: isLoading ? /* @__PURE__ */ jsx(LoadingText, { label: labels.loading }) : empty ?? labels.empty
|
|
1318
752
|
}
|
|
1319
753
|
) })
|
|
@@ -1330,7 +764,7 @@ function DataTable({
|
|
|
1330
764
|
{
|
|
1331
765
|
"data-table-footer": "",
|
|
1332
766
|
className: cn(
|
|
1333
|
-
"font-semibold text-
|
|
767
|
+
"font-semibold text-primary",
|
|
1334
768
|
isLoading && "opacity-60 transition-opacity"
|
|
1335
769
|
),
|
|
1336
770
|
children: /* @__PURE__ */ jsxs("tr", { children: [
|
|
@@ -1386,7 +820,8 @@ function DataTable({
|
|
|
1386
820
|
total: paginationTotal,
|
|
1387
821
|
onPage: goToPage,
|
|
1388
822
|
onPageSize: isServer ? serverPagination.onPageSizeChange : (n) => {
|
|
1389
|
-
|
|
823
|
+
if (onPageSizeChange) onPageSizeChange(n);
|
|
824
|
+
else setPageSize(n);
|
|
1390
825
|
setPage(0);
|
|
1391
826
|
},
|
|
1392
827
|
labels,
|
|
@@ -1395,96 +830,19 @@ function DataTable({
|
|
|
1395
830
|
}
|
|
1396
831
|
)
|
|
1397
832
|
] }),
|
|
1398
|
-
columnSettings && /* @__PURE__ */
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
showSettings ? "w-0 border-s-0" : "w-8 cursor-pointer"
|
|
1412
|
-
),
|
|
1413
|
-
children: /* @__PURE__ */ jsx(
|
|
1414
|
-
"span",
|
|
1415
|
-
{
|
|
1416
|
-
className: "whitespace-nowrap text-xs font-medium tracking-wide text-[var(--text-muted)] group-hover:text-[var(--text-secondary)]",
|
|
1417
|
-
style: { writingMode: "vertical-rl", transform: "rotate(180deg)" },
|
|
1418
|
-
children: columnsCountLabel
|
|
1419
|
-
}
|
|
1420
|
-
)
|
|
1421
|
-
}
|
|
1422
|
-
) }),
|
|
1423
|
-
/* @__PURE__ */ jsx(
|
|
1424
|
-
"div",
|
|
1425
|
-
{
|
|
1426
|
-
className: cn(
|
|
1427
|
-
"shrink-0 overflow-hidden transition-[width] duration-200 ease-out",
|
|
1428
|
-
showSettings ? "w-56" : "w-0"
|
|
1429
|
-
),
|
|
1430
|
-
children: /* @__PURE__ */ jsxs("div", { className: "flex w-56 flex-col border-s border-[var(--border)] p-2", children: [
|
|
1431
|
-
/* @__PURE__ */ jsxs("div", { className: "mb-2 flex items-center justify-between gap-1", children: [
|
|
1432
|
-
/* @__PURE__ */ jsx("div", { className: "text-xs font-medium uppercase tracking-wide text-[var(--text-muted)]", children: columnsCountLabel }),
|
|
1433
|
-
/* @__PURE__ */ jsx(Tooltip, { label: labels.close, portal: true, children: /* @__PURE__ */ jsx(
|
|
1434
|
-
"button",
|
|
1435
|
-
{
|
|
1436
|
-
type: "button",
|
|
1437
|
-
onClick: () => setShowSettings(false),
|
|
1438
|
-
"aria-label": labels.close,
|
|
1439
|
-
className: "rounded p-0.5 text-[var(--text-placeholder)] hover:bg-[var(--bg-hover)] hover:text-[var(--text-secondary)]",
|
|
1440
|
-
children: /* @__PURE__ */ jsx(X, { className: "size-4" })
|
|
1441
|
-
}
|
|
1442
|
-
) })
|
|
1443
|
-
] }),
|
|
1444
|
-
/* @__PURE__ */ jsx(
|
|
1445
|
-
"button",
|
|
1446
|
-
{
|
|
1447
|
-
type: "button",
|
|
1448
|
-
onClick: autoSizeAll,
|
|
1449
|
-
className: "mb-2 rounded border border-[var(--border)] px-2 py-1 text-xs font-medium text-[var(--text-secondary)] hover:bg-[var(--bg-hover)]",
|
|
1450
|
-
children: labels.autoSize
|
|
1451
|
-
}
|
|
1452
|
-
),
|
|
1453
|
-
/* @__PURE__ */ jsx("div", { className: "flex flex-col gap-0.5", children: columns.map((col) => {
|
|
1454
|
-
if (col.key === ROW_ACTIONS_KEY) return null;
|
|
1455
|
-
const checked = !hiddenCols.has(col.key);
|
|
1456
|
-
const headerLabel = columnLabel(col);
|
|
1457
|
-
return /* @__PURE__ */ jsxs(
|
|
1458
|
-
"label",
|
|
1459
|
-
{
|
|
1460
|
-
className: "inline-flex cursor-pointer items-center gap-1.5 rounded px-1 py-0.5 text-xs hover:bg-[var(--bg-hover)]",
|
|
1461
|
-
children: [
|
|
1462
|
-
/* @__PURE__ */ jsx(
|
|
1463
|
-
"input",
|
|
1464
|
-
{
|
|
1465
|
-
type: "checkbox",
|
|
1466
|
-
className: "size-3.5",
|
|
1467
|
-
checked,
|
|
1468
|
-
onChange: (e) => {
|
|
1469
|
-
setHiddenCols((s) => {
|
|
1470
|
-
const next = new Set(s);
|
|
1471
|
-
if (e.target.checked) next.delete(col.key);
|
|
1472
|
-
else next.add(col.key);
|
|
1473
|
-
return next;
|
|
1474
|
-
});
|
|
1475
|
-
}
|
|
1476
|
-
}
|
|
1477
|
-
),
|
|
1478
|
-
/* @__PURE__ */ jsx("span", { className: "truncate", children: headerLabel })
|
|
1479
|
-
]
|
|
1480
|
-
},
|
|
1481
|
-
col.key
|
|
1482
|
-
);
|
|
1483
|
-
}) })
|
|
1484
|
-
] })
|
|
1485
|
-
}
|
|
1486
|
-
)
|
|
1487
|
-
] })
|
|
833
|
+
columnSettings && /* @__PURE__ */ jsx(
|
|
834
|
+
ColumnSettingsPanel,
|
|
835
|
+
{
|
|
836
|
+
columns,
|
|
837
|
+
hiddenCols,
|
|
838
|
+
setHiddenCols,
|
|
839
|
+
showSettings,
|
|
840
|
+
setShowSettings,
|
|
841
|
+
columnsCountLabel,
|
|
842
|
+
labels,
|
|
843
|
+
autoSizeAll
|
|
844
|
+
}
|
|
845
|
+
)
|
|
1488
846
|
] })
|
|
1489
847
|
]
|
|
1490
848
|
}
|
|
@@ -1502,153 +860,6 @@ function LoadingText({ label }) {
|
|
|
1502
860
|
/* @__PURE__ */ jsx("bdi", { children: label })
|
|
1503
861
|
] });
|
|
1504
862
|
}
|
|
1505
|
-
function MobileFilters({
|
|
1506
|
-
columns,
|
|
1507
|
-
filters,
|
|
1508
|
-
selectOptionsByKey,
|
|
1509
|
-
isServer,
|
|
1510
|
-
hasFilterCallback,
|
|
1511
|
-
onSetFilter,
|
|
1512
|
-
onClearFilter,
|
|
1513
|
-
onClearAll,
|
|
1514
|
-
labels,
|
|
1515
|
-
locale
|
|
1516
|
-
}) {
|
|
1517
|
-
const [open, setOpen] = useState(false);
|
|
1518
|
-
const [dir, setDir] = useState("ltr");
|
|
1519
|
-
const [expanded, setExpanded] = useState(null);
|
|
1520
|
-
const backdropClose = useBackdropClose(() => setOpen(false));
|
|
1521
|
-
useBodyScrollLock(open);
|
|
1522
|
-
useOverlayHistory(open, () => setOpen(false));
|
|
1523
|
-
const filterable = useMemo(
|
|
1524
|
-
() => columns.map((col) => ({ col, filter: !isServer || hasFilterCallback ? resolveFilter(col) : null })).filter((x) => !!x.filter),
|
|
1525
|
-
[columns, isServer, hasFilterCallback]
|
|
1526
|
-
);
|
|
1527
|
-
if (filterable.length === 0) return null;
|
|
1528
|
-
const activeCount = filterable.filter(({ col }) => {
|
|
1529
|
-
const s = filters[col.key];
|
|
1530
|
-
return s && isFilterActive(s);
|
|
1531
|
-
}).length;
|
|
1532
|
-
return /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-2 border-b border-[var(--border)] px-4 py-2", children: [
|
|
1533
|
-
/* @__PURE__ */ jsxs(
|
|
1534
|
-
"button",
|
|
1535
|
-
{
|
|
1536
|
-
type: "button",
|
|
1537
|
-
onClick: (e) => {
|
|
1538
|
-
setDir(dirOf(e.currentTarget));
|
|
1539
|
-
setOpen(true);
|
|
1540
|
-
},
|
|
1541
|
-
className: "inline-flex items-center gap-1.5 rounded-md px-2 py-1 text-sm font-medium text-[var(--text-secondary)] hover:bg-[var(--bg-hover)]",
|
|
1542
|
-
children: [
|
|
1543
|
-
/* @__PURE__ */ jsx(Filter, { className: "size-4" }),
|
|
1544
|
-
/* @__PURE__ */ jsx("span", { children: labels.filters }),
|
|
1545
|
-
activeCount > 0 && /* @__PURE__ */ jsx("span", { className: "inline-flex min-w-4 items-center justify-center rounded-full bg-[var(--info-bg)] px-1 text-caption font-semibold text-[var(--info)]", children: activeCount })
|
|
1546
|
-
]
|
|
1547
|
-
}
|
|
1548
|
-
),
|
|
1549
|
-
activeCount > 0 && /* @__PURE__ */ jsx(
|
|
1550
|
-
"button",
|
|
1551
|
-
{
|
|
1552
|
-
type: "button",
|
|
1553
|
-
onClick: onClearAll,
|
|
1554
|
-
className: "text-xs text-[var(--text-muted)] hover:text-[var(--text-secondary)]",
|
|
1555
|
-
children: labels.clearAll
|
|
1556
|
-
}
|
|
1557
|
-
),
|
|
1558
|
-
open && createPortal(
|
|
1559
|
-
/* @__PURE__ */ jsx(
|
|
1560
|
-
"div",
|
|
1561
|
-
{
|
|
1562
|
-
className: "fixed inset-0 z-50 flex items-end justify-center bg-black/40",
|
|
1563
|
-
role: "dialog",
|
|
1564
|
-
"aria-modal": "true",
|
|
1565
|
-
dir,
|
|
1566
|
-
...backdropClose,
|
|
1567
|
-
children: /* @__PURE__ */ jsxs("div", { className: "flex max-h-[85vh] w-full flex-col overflow-hidden rounded-t-2xl bg-[var(--bg-surface)] shadow-xl", children: [
|
|
1568
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-2 border-b border-[var(--border)] px-4 py-3", children: [
|
|
1569
|
-
/* @__PURE__ */ jsx("div", { className: "font-medium", children: labels.filters }),
|
|
1570
|
-
/* @__PURE__ */ jsx(
|
|
1571
|
-
"button",
|
|
1572
|
-
{
|
|
1573
|
-
type: "button",
|
|
1574
|
-
onClick: () => setOpen(false),
|
|
1575
|
-
"aria-label": labels.close,
|
|
1576
|
-
className: "-me-1 rounded p-1.5 text-[var(--text-muted)] hover:bg-[var(--bg-hover)] hover:text-[var(--text-secondary)]",
|
|
1577
|
-
children: /* @__PURE__ */ jsx(X, { className: "size-5" })
|
|
1578
|
-
}
|
|
1579
|
-
)
|
|
1580
|
-
] }),
|
|
1581
|
-
/* @__PURE__ */ jsx("div", { className: "flex-1 divide-y divide-[var(--border)] overflow-y-auto overscroll-contain", children: filterable.map(({ col, filter }) => {
|
|
1582
|
-
const state = filters[col.key];
|
|
1583
|
-
const active = !!state && isFilterActive(state);
|
|
1584
|
-
const isItemOpen = expanded === col.key;
|
|
1585
|
-
return /* @__PURE__ */ jsxs("div", { children: [
|
|
1586
|
-
/* @__PURE__ */ jsxs(
|
|
1587
|
-
"button",
|
|
1588
|
-
{
|
|
1589
|
-
type: "button",
|
|
1590
|
-
onClick: () => setExpanded(isItemOpen ? null : col.key),
|
|
1591
|
-
"aria-expanded": isItemOpen,
|
|
1592
|
-
className: "flex w-full items-center justify-between gap-2 px-4 py-3 text-start",
|
|
1593
|
-
children: [
|
|
1594
|
-
/* @__PURE__ */ jsxs("span", { className: "flex items-center gap-2 text-sm font-medium text-[var(--text-secondary)]", children: [
|
|
1595
|
-
col.header,
|
|
1596
|
-
active && /* @__PURE__ */ jsx("span", { className: "size-1.5 rounded-full bg-brand" })
|
|
1597
|
-
] }),
|
|
1598
|
-
/* @__PURE__ */ jsx(
|
|
1599
|
-
ChevronDown,
|
|
1600
|
-
{
|
|
1601
|
-
className: cn(
|
|
1602
|
-
"size-4 shrink-0 text-[var(--text-placeholder)] transition-transform",
|
|
1603
|
-
isItemOpen && "rotate-180"
|
|
1604
|
-
)
|
|
1605
|
-
}
|
|
1606
|
-
)
|
|
1607
|
-
]
|
|
1608
|
-
}
|
|
1609
|
-
),
|
|
1610
|
-
isItemOpen && /* @__PURE__ */ jsx("div", { className: "px-4 pb-3", children: /* @__PURE__ */ jsx(
|
|
1611
|
-
FilterPopover,
|
|
1612
|
-
{
|
|
1613
|
-
column: col,
|
|
1614
|
-
state: state ?? defaultFilterState(filter),
|
|
1615
|
-
onChange: (next) => onSetFilter(col.key, next),
|
|
1616
|
-
onClear: () => onClearFilter(col.key),
|
|
1617
|
-
selectOptions: selectOptionsByKey[col.key] ?? [],
|
|
1618
|
-
labels,
|
|
1619
|
-
locale
|
|
1620
|
-
}
|
|
1621
|
-
) })
|
|
1622
|
-
] }, col.key);
|
|
1623
|
-
}) }),
|
|
1624
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-2 border-t border-[var(--border)] px-4 py-3", children: [
|
|
1625
|
-
/* @__PURE__ */ jsx(
|
|
1626
|
-
"button",
|
|
1627
|
-
{
|
|
1628
|
-
type: "button",
|
|
1629
|
-
onClick: onClearAll,
|
|
1630
|
-
disabled: activeCount === 0,
|
|
1631
|
-
className: "text-sm text-[var(--text-muted)] hover:text-[var(--text-secondary)] disabled:opacity-40",
|
|
1632
|
-
children: labels.clearAll
|
|
1633
|
-
}
|
|
1634
|
-
),
|
|
1635
|
-
/* @__PURE__ */ jsx(
|
|
1636
|
-
"button",
|
|
1637
|
-
{
|
|
1638
|
-
type: "button",
|
|
1639
|
-
onClick: () => setOpen(false),
|
|
1640
|
-
className: "rounded-md bg-[var(--bg-inverse)] px-4 py-2 text-sm font-medium text-[var(--text-inverse)]",
|
|
1641
|
-
children: labels.done
|
|
1642
|
-
}
|
|
1643
|
-
)
|
|
1644
|
-
] })
|
|
1645
|
-
] })
|
|
1646
|
-
}
|
|
1647
|
-
),
|
|
1648
|
-
document.body
|
|
1649
|
-
)
|
|
1650
|
-
] });
|
|
1651
|
-
}
|
|
1652
863
|
export {
|
|
1653
864
|
DEFAULT_DATA_TABLE_SORT_LABELS,
|
|
1654
865
|
DataTable
|