@eifi1/ui-kit 0.51.3 → 0.51.5
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 +6 -6
- package/dist/account/account-settings-labels.js.map +1 -1
- package/dist/account/account-settings.js +11 -9
- package/dist/account/account-settings.js.map +1 -1
- package/dist/account/delete-account-setting.js +56 -65
- package/dist/account/delete-account-setting.js.map +1 -1
- package/dist/account/email-change-setting-labels.js.map +1 -1
- package/dist/account/email-change-setting.js.map +1 -1
- package/dist/account/passkeys-setting.js.map +1 -1
- package/dist/account/sessions-setting.js.map +1 -1
- package/dist/admin/admin-action-confirm.js +1 -3
- package/dist/admin/admin-action-confirm.js.map +1 -1
- package/dist/admin/admin-action-log.js.map +1 -1
- package/dist/admin/admin-area-labels.js +4 -1
- package/dist/admin/admin-area-labels.js.map +1 -1
- package/dist/admin/admin-overview.js +19 -11
- package/dist/admin/admin-overview.js.map +1 -1
- package/dist/admin/admin-sections.js.map +1 -1
- package/dist/admin/admin-tool-links.d.ts +1 -1
- package/dist/admin/admin-tool-links.js +7 -1
- package/dist/admin/admin-tool-links.js.map +1 -1
- package/dist/admin/invitations-panel.js +2 -13
- package/dist/admin/invitations-panel.js.map +1 -1
- package/dist/admin/mail-test-card.js.map +1 -1
- package/dist/admin/reviewer-scope-editor.js +4 -11
- package/dist/admin/reviewer-scope-editor.js.map +1 -1
- package/dist/admin/role-select.js.map +1 -1
- package/dist/admin/user-roster.js +1 -9
- package/dist/admin/user-roster.js.map +1 -1
- package/dist/auth/accept-invitation.js.map +1 -1
- package/dist/auth/auth-errors.js.map +1 -1
- package/dist/auth/forgot-password-form.js +23 -31
- package/dist/auth/forgot-password-form.js.map +1 -1
- package/dist/auth/register-form.js.map +1 -1
- package/dist/auth/reset-password-form.js.map +1 -1
- package/dist/auth/sign-in-form.js +13 -5
- package/dist/auth/sign-in-form.js.map +1 -1
- package/dist/auth/verify-email.js +1 -8
- package/dist/auth/verify-email.js.map +1 -1
- package/dist/billing/billing-banner.js.map +1 -1
- package/dist/billing/billing-labels.js.map +1 -1
- package/dist/billing/checkout-processing.js.map +1 -1
- package/dist/billing/plan-card.js +91 -85
- package/dist/billing/plan-card.js.map +1 -1
- package/dist/billing/plan-limit-toast.js.map +1 -1
- package/dist/billing/plan-limit.js.map +1 -1
- package/dist/billing/plan-price.js.map +1 -1
- package/dist/billing/plan-switch.js.map +1 -1
- package/dist/billing/subscription-actions.js.map +1 -1
- package/dist/bin/eifi1-pay-page.mjs +6 -1
- package/dist/components/account-chips.js.map +1 -1
- package/dist/components/alert-banner.js +1 -5
- package/dist/components/alert-banner.js.map +1 -1
- package/dist/components/amount-input.js +29 -12
- package/dist/components/amount-input.js.map +1 -1
- package/dist/components/authed-image.js.map +1 -1
- package/dist/components/autocomplete.js.map +1 -1
- package/dist/components/bulk-action-bar.js +1 -4
- package/dist/components/bulk-action-bar.js.map +1 -1
- package/dist/components/button-group.js.map +1 -1
- package/dist/components/button-look.js.map +1 -1
- package/dist/components/button.js +1 -7
- package/dist/components/button.js.map +1 -1
- package/dist/components/calculator.js +5 -5
- package/dist/components/calculator.js.map +1 -1
- package/dist/components/calendar-heatmap.js +4 -10
- package/dist/components/calendar-heatmap.js.map +1 -1
- package/dist/components/card.js +1 -8
- package/dist/components/card.js.map +1 -1
- package/dist/components/chart-zoom-core.js +3 -17
- package/dist/components/chart-zoom-core.js.map +1 -1
- package/dist/components/chart.d.ts +1 -1
- package/dist/components/chart.js +4 -22
- package/dist/components/chart.js.map +1 -1
- package/dist/components/checkbox-group.js +1 -4
- package/dist/components/checkbox-group.js.map +1 -1
- package/dist/components/chip-input.js +4 -1
- package/dist/components/chip-input.js.map +1 -1
- package/dist/components/chip.js +10 -5
- package/dist/components/chip.js.map +1 -1
- package/dist/components/choice-card.js +58 -74
- package/dist/components/choice-card.js.map +1 -1
- package/dist/components/column-mapper-labels.js.map +1 -1
- package/dist/components/column-mapper.js +167 -227
- package/dist/components/column-mapper.js.map +1 -1
- package/dist/components/combobox-core.js +5 -9
- package/dist/components/combobox-core.js.map +1 -1
- package/dist/components/combobox.js +1 -4
- package/dist/components/combobox.js.map +1 -1
- package/dist/components/confirm-dialog.js.map +1 -1
- package/dist/components/copy-button.js.map +1 -1
- package/dist/components/country-select.d.ts +5 -4
- package/dist/components/country-select.js +3 -19
- package/dist/components/country-select.js.map +1 -1
- package/dist/components/currency-option-list.js +13 -11
- package/dist/components/currency-option-list.js.map +1 -1
- package/dist/components/currency-select.js +1 -6
- package/dist/components/currency-select.js.map +1 -1
- package/dist/components/danger-confirm.js.map +1 -1
- package/dist/components/data-table-cells.js.map +1 -1
- package/dist/components/data-table-column-settings.js.map +1 -1
- package/dist/components/data-table-filter-popover.js +2 -18
- package/dist/components/data-table-filter-popover.js.map +1 -1
- package/dist/components/data-table-filters.js.map +1 -1
- package/dist/components/data-table-fit.js +7 -5
- package/dist/components/data-table-fit.js.map +1 -1
- package/dist/components/data-table-groups.js +3 -1
- package/dist/components/data-table-groups.js.map +1 -1
- package/dist/components/data-table-head.js +49 -57
- package/dist/components/data-table-head.js.map +1 -1
- package/dist/components/data-table-mobile.js +31 -44
- package/dist/components/data-table-mobile.js.map +1 -1
- package/dist/components/data-table-pagination.js.map +1 -1
- package/dist/components/data-table-row-actions.js +19 -16
- package/dist/components/data-table-row-actions.js.map +1 -1
- package/dist/components/data-table-row.js.map +1 -1
- package/dist/components/data-table-shared.js.map +1 -1
- package/dist/components/data-table-sort.js.map +1 -1
- package/dist/components/data-table-virtual.js +4 -1
- package/dist/components/data-table-virtual.js.map +1 -1
- package/dist/components/data-table.d.ts +8 -0
- package/dist/components/data-table.js +30 -39
- package/dist/components/data-table.js.map +1 -1
- package/dist/components/date-picker.js +1 -6
- package/dist/components/date-picker.js.map +1 -1
- package/dist/components/date-range-picker.js.map +1 -1
- package/dist/components/description-list.js +10 -10
- package/dist/components/description-list.js.map +1 -1
- package/dist/components/dialog-frame.js +9 -2
- package/dist/components/dialog-frame.js.map +1 -1
- package/dist/components/disclosure.js +17 -27
- package/dist/components/disclosure.js.map +1 -1
- package/dist/components/dropdown.js +25 -35
- package/dist/components/dropdown.js.map +1 -1
- package/dist/components/empty-state.js.map +1 -1
- package/dist/components/entity-combobox.js.map +1 -1
- package/dist/components/error-boundary.js.map +1 -1
- package/dist/components/field-base.js +5 -5
- package/dist/components/field-base.js.map +1 -1
- package/dist/components/field-parts.d.ts +1 -1
- package/dist/components/field-parts.js +10 -14
- package/dist/components/field-parts.js.map +1 -1
- package/dist/components/field-sync.js +8 -10
- package/dist/components/field-sync.js.map +1 -1
- package/dist/components/file-button.js.map +1 -1
- package/dist/components/file-dropzone.js.map +1 -1
- package/dist/components/floating-panel.js +4 -1
- package/dist/components/floating-panel.js.map +1 -1
- package/dist/components/focus-ring.js.map +1 -1
- package/dist/components/form-actions.js.map +1 -1
- package/dist/components/grouped-picker.js +11 -12
- package/dist/components/grouped-picker.js.map +1 -1
- package/dist/components/hover-menu.js +1 -4
- package/dist/components/hover-menu.js.map +1 -1
- package/dist/components/iban-input-labels.js.map +1 -1
- package/dist/components/icon-button.js +4 -1
- package/dist/components/icon-button.js.map +1 -1
- package/dist/components/icon-picker.js +6 -10
- package/dist/components/icon-picker.js.map +1 -1
- package/dist/components/image-grid.js +41 -50
- package/dist/components/image-grid.js.map +1 -1
- package/dist/components/inline-edit-field.js.map +1 -1
- package/dist/components/inline-entity-combobox.js +6 -12
- package/dist/components/inline-entity-combobox.js.map +1 -1
- package/dist/components/input.js +14 -2
- package/dist/components/input.js.map +1 -1
- package/dist/components/jump-calendar.js +1 -7
- package/dist/components/jump-calendar.js.map +1 -1
- package/dist/components/legal-labels.js +8 -2
- package/dist/components/legal-labels.js.map +1 -1
- package/dist/components/legal-page.d.ts +18 -1
- package/dist/components/legal-page.js +27 -2
- package/dist/components/legal-page.js.map +1 -1
- package/dist/components/legal.d.ts +40 -5
- package/dist/components/legal.js +41 -5
- package/dist/components/legal.js.map +1 -1
- package/dist/components/lightbox.js.map +1 -1
- package/dist/components/line-items.js +26 -36
- package/dist/components/line-items.js.map +1 -1
- package/dist/components/list-labels.js +3 -1
- package/dist/components/list-labels.js.map +1 -1
- package/dist/components/list.d.ts +18 -1
- package/dist/components/list.js +54 -13
- package/dist/components/list.js.map +1 -1
- package/dist/components/measured-grid.js +29 -53
- package/dist/components/measured-grid.js.map +1 -1
- package/dist/components/menu-item.js.map +1 -1
- package/dist/components/mini-calendar.js +13 -31
- package/dist/components/mini-calendar.js.map +1 -1
- package/dist/components/money-field.js.map +1 -1
- package/dist/components/month-picker.js +10 -21
- package/dist/components/month-picker.js.map +1 -1
- package/dist/components/multi-entity-combobox.js +3 -16
- package/dist/components/multi-entity-combobox.js.map +1 -1
- package/dist/components/multi-select.js.map +1 -1
- package/dist/components/nav-pills.js +10 -1
- package/dist/components/nav-pills.js.map +1 -1
- package/dist/components/number-field.js.map +1 -1
- package/dist/components/number-input.js +1 -7
- package/dist/components/number-input.js.map +1 -1
- package/dist/components/numpad-sheet.js +1 -4
- package/dist/components/numpad-sheet.js.map +1 -1
- package/dist/components/one-time-code-input.js +1 -7
- package/dist/components/one-time-code-input.js.map +1 -1
- package/dist/components/page-contents.js +13 -22
- package/dist/components/page-contents.js.map +1 -1
- package/dist/components/page-header.js +1 -11
- package/dist/components/page-header.js.map +1 -1
- package/dist/components/password-strength-labels.js.map +1 -1
- package/dist/components/password-strength.js +2 -8
- package/dist/components/password-strength.js.map +1 -1
- package/dist/components/phone-input.js +42 -57
- package/dist/components/phone-input.js.map +1 -1
- package/dist/components/picker-sheet.js.map +1 -1
- package/dist/components/pie-chart.js +1 -8
- package/dist/components/pie-chart.js.map +1 -1
- package/dist/components/popover.js.map +1 -1
- package/dist/components/progress-bar.js +16 -9
- package/dist/components/progress-bar.js.map +1 -1
- package/dist/components/qr-code.js +1 -8
- package/dist/components/qr-code.js.map +1 -1
- package/dist/components/row-actions.js +5 -1
- package/dist/components/row-actions.js.map +1 -1
- package/dist/components/search-field.js.map +1 -1
- package/dist/components/select.js +28 -38
- package/dist/components/select.js.map +1 -1
- package/dist/components/separator.js +1 -5
- package/dist/components/separator.js.map +1 -1
- package/dist/components/series-chart-axes.js +4 -1
- package/dist/components/series-chart-axes.js.map +1 -1
- package/dist/components/series-chart-budget.js.map +1 -1
- package/dist/components/series-chart-ticks.js.map +1 -1
- package/dist/components/series-chart.js +29 -45
- package/dist/components/series-chart.js.map +1 -1
- package/dist/components/settings-fields.js +21 -17
- package/dist/components/settings-fields.js.map +1 -1
- package/dist/components/share-card.js +4 -9
- package/dist/components/share-card.js.map +1 -1
- package/dist/components/sign-chip.js.map +1 -1
- package/dist/components/signature-pad.js +4 -13
- package/dist/components/signature-pad.js.map +1 -1
- package/dist/components/signed-amount.js +12 -5
- package/dist/components/signed-amount.js.map +1 -1
- package/dist/components/skeleton.js +2 -17
- package/dist/components/skeleton.js.map +1 -1
- package/dist/components/slider.js +13 -36
- package/dist/components/slider.js.map +1 -1
- package/dist/components/sparkline.js.map +1 -1
- package/dist/components/stat-tile.js +14 -10
- package/dist/components/stat-tile.js.map +1 -1
- package/dist/components/swatch-picker.js +14 -4
- package/dist/components/swatch-picker.js.map +1 -1
- package/dist/components/swipeable-row.d.ts +1 -1
- package/dist/components/swipeable-row.js +1 -8
- package/dist/components/swipeable-row.js.map +1 -1
- package/dist/components/table-skeleton.js +4 -1
- package/dist/components/table-skeleton.js.map +1 -1
- package/dist/components/table.js +12 -9
- package/dist/components/table.js.map +1 -1
- package/dist/components/tabs.js +5 -24
- package/dist/components/tabs.js.map +1 -1
- package/dist/components/text-link.js.map +1 -1
- package/dist/components/text.js.map +1 -1
- package/dist/components/tile-radio.js +1 -7
- package/dist/components/tile-radio.js.map +1 -1
- package/dist/components/time-input.js.map +1 -1
- package/dist/components/toast.js.map +1 -1
- package/dist/components/toggle-group.js +6 -1
- package/dist/components/toggle-group.js.map +1 -1
- package/dist/components/toggle-legend.js +2 -11
- package/dist/components/toggle-legend.js.map +1 -1
- package/dist/components/tooltip.js +2 -22
- package/dist/components/tooltip.js.map +1 -1
- package/dist/components/translation-review-editor.js +1 -4
- package/dist/components/translation-review-editor.js.map +1 -1
- package/dist/components/translation-review-parts.d.ts +1 -1
- package/dist/components/translation-review-parts.js +7 -1
- package/dist/components/translation-review-parts.js.map +1 -1
- package/dist/components/translation-review.js +18 -7
- package/dist/components/translation-review.js.map +1 -1
- package/dist/components/tree-view.js +14 -10
- package/dist/components/tree-view.js.map +1 -1
- package/dist/components/treemap.js +1 -13
- package/dist/components/treemap.js.map +1 -1
- package/dist/components/trigger-aria.js.map +1 -1
- package/dist/components/use-table-state.js +14 -11
- package/dist/components/use-table-state.js.map +1 -1
- package/dist/components/user-avatar.js +3 -26
- package/dist/components/user-avatar.js.map +1 -1
- package/dist/demo/demo-start.js +8 -4
- package/dist/demo/demo-start.js.map +1 -1
- package/dist/eslint/index.js +1 -1
- package/dist/feedback/feedback-attachment-labels.js.map +1 -1
- package/dist/feedback/feedback-attachment.js +1 -8
- package/dist/feedback/feedback-attachment.js.map +1 -1
- package/dist/feedback/feedback-capture.d.ts +1 -1
- package/dist/feedback/feedback-capture.js +3 -1
- package/dist/feedback/feedback-capture.js.map +1 -1
- package/dist/feedback/feedback-comment-thread.js +27 -13
- package/dist/feedback/feedback-comment-thread.js.map +1 -1
- package/dist/feedback/feedback-context.js +1 -4
- package/dist/feedback/feedback-context.js.map +1 -1
- package/dist/feedback/feedback-dialog.js.map +1 -1
- package/dist/feedback/feedback-inbox.js.map +1 -1
- package/dist/feedback/feedback-public-list.js +7 -1
- package/dist/feedback/feedback-public-list.js.map +1 -1
- package/dist/feedback/feedback-record.js +1 -5
- package/dist/feedback/feedback-record.js.map +1 -1
- package/dist/feedback/feedback-replies.js +25 -10
- package/dist/feedback/feedback-replies.js.map +1 -1
- package/dist/feedback/feedback-row-detail.js.map +1 -1
- package/dist/feedback/feedback-status-undo.js.map +1 -1
- package/dist/feedback/feedback-submit-dialog.js.map +1 -1
- package/dist/feedback/feedback-table.d.ts +3 -1
- package/dist/feedback/feedback-table.js +22 -5
- package/dist/feedback/feedback-table.js.map +1 -1
- package/dist/feedback/feedback-thread.js +2 -13
- package/dist/feedback/feedback-thread.js.map +1 -1
- package/dist/feedback/feedback-vocabulary.js.map +1 -1
- package/dist/feedback/feedback-vote-button.js.map +1 -1
- package/dist/hooks/use-anchored-rect.js.map +1 -1
- package/dist/hooks/use-document-title.js.map +1 -1
- package/dist/hooks/use-file-drop.js.map +1 -1
- package/dist/hooks/use-file-picker-labels.js.map +1 -1
- package/dist/hooks/use-file-picker.js.map +1 -1
- package/dist/hooks/use-focus-trap.js.map +1 -1
- package/dist/hooks/use-overlay-history.js +10 -5
- package/dist/hooks/use-overlay-history.js.map +1 -1
- package/dist/hooks/use-row-swipe.d.ts +1 -1
- package/dist/hooks/use-row-swipe.js +1 -6
- package/dist/hooks/use-row-swipe.js.map +1 -1
- package/dist/i18n/defaults.js +1 -4
- package/dist/i18n/defaults.js.map +1 -1
- package/dist/i18n/german.js +15 -4
- package/dist/i18n/german.js.map +1 -1
- package/dist/i18n/kit-labels.js +2 -8
- package/dist/i18n/kit-labels.js.map +1 -1
- package/dist/i18n/languages.js.map +1 -1
- package/dist/i18n/locales/en.js +19 -4
- package/dist/i18n/locales/en.js.map +2 -2
- package/dist/i18n/locales/es.js +15 -4
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.js +15 -4
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hu.js +15 -4
- package/dist/i18n/locales/hu.js.map +1 -1
- package/dist/i18n/locales/it.js +15 -4
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/zh.js +11 -3
- package/dist/i18n/locales/zh.js.map +1 -1
- package/dist/i18n/plurals.js.map +1 -1
- package/dist/i18n/review.js +15 -7
- package/dist/i18n/review.js.map +1 -1
- package/dist/i18n/shared-labels.js.map +1 -1
- package/dist/index.d.ts +17 -17
- package/dist/index.js +40 -23
- package/dist/index.js.map +1 -1
- package/dist/landing/access.js +1 -4
- package/dist/landing/access.js.map +1 -1
- package/dist/landing/landing-sections.js +35 -38
- package/dist/landing/landing-sections.js.map +1 -1
- package/dist/landing/page-seo.js.map +1 -1
- package/dist/lib/calc.js.map +1 -1
- package/dist/lib/clipboard-minus.js.map +1 -1
- package/dist/lib/dates.js.map +1 -1
- package/dist/lib/decimal-marks.js.map +1 -1
- package/dist/lib/device-settings.js +2 -1
- package/dist/lib/device-settings.js.map +1 -1
- package/dist/lib/direction.js.map +1 -1
- package/dist/lib/iban.js.map +1 -1
- package/dist/lib/logger.js +1 -5
- package/dist/lib/logger.js.map +1 -1
- package/dist/lib/person-name.js.map +1 -1
- package/dist/lib/phone.js.map +1 -1
- package/dist/lib/qr-encode.js +344 -8
- package/dist/lib/qr-encode.js.map +1 -1
- package/dist/lib/session-refresh.js.map +1 -1
- package/dist/lib/table-text.js +15 -3
- package/dist/lib/table-text.js.map +1 -1
- package/dist/lib/text-match.d.ts +20 -0
- package/dist/lib/text-match.js +11 -1
- package/dist/lib/text-match.js.map +1 -1
- package/dist/lib/translation-review.js.map +1 -1
- package/dist/notifications/notification-inbox.js +63 -44
- package/dist/notifications/notification-inbox.js.map +1 -1
- package/dist/notifications/notification-parts.js.map +1 -1
- package/dist/notifications/notification-types-setting.js.map +1 -1
- package/dist/notifications/notifications-labels.js.map +1 -1
- package/dist/notifications/push-device-setting.js +6 -1
- package/dist/notifications/push-device-setting.js.map +1 -1
- package/dist/notifications/push-devices-setting.js.map +1 -1
- package/dist/notifications/push-worker.js.map +1 -1
- package/dist/notifications/quiet-hours-setting.js.map +1 -1
- package/dist/notifications/use-push-device.js +4 -1
- package/dist/notifications/use-push-device.js.map +1 -1
- package/dist/offline/pwa-update-prompt.d.ts +1 -1
- package/dist/offline/pwa-update-prompt.js +7 -1
- package/dist/offline/pwa-update-prompt.js.map +1 -1
- package/dist/offline/query-persistence.js.map +1 -1
- package/dist/offline.d.ts +1 -1
- package/dist/offline.js +6 -1
- package/dist/offline.js.map +1 -1
- package/dist/pay/pay.css +8 -1
- package/dist/rhf/fields.d.ts +1 -2
- package/dist/rhf/fields.js +1 -10
- package/dist/rhf/fields.js.map +1 -1
- package/dist/rhf/form-core.js +1 -4
- package/dist/rhf/form-core.js.map +1 -1
- package/dist/rhf/line-items.js.map +1 -1
- package/dist/rhf/use-rhf-wizard-step.js.map +1 -1
- package/dist/search/command-palette.js +71 -62
- package/dist/search/command-palette.js.map +1 -1
- package/dist/search/global-search.js +34 -5
- package/dist/search/global-search.js.map +1 -1
- package/dist/search/search-index.js.map +1 -1
- package/dist/settings/device-reset-setting.js +1 -6
- package/dist/settings/device-reset-setting.js.map +1 -1
- package/dist/settings/settings-heading.js.map +1 -1
- package/dist/settings/settings-layout.js +9 -20
- package/dist/settings/settings-layout.js.map +1 -1
- package/dist/settings/use-settings-focus.d.ts +7 -0
- package/dist/settings/use-settings-focus.js +2 -0
- package/dist/settings/use-settings-focus.js.map +1 -1
- package/dist/settings/use-settings-route.js.map +1 -1
- package/dist/shell/app-shell.js +62 -31
- package/dist/shell/app-shell.js.map +1 -1
- package/dist/shell/auth-layout.js +1 -10
- package/dist/shell/auth-layout.js.map +1 -1
- package/dist/shell/dev-menu.d.ts +5 -0
- package/dist/shell/dev-menu.js +14 -7
- package/dist/shell/dev-menu.js.map +1 -1
- package/dist/shell/option-switcher-menu.js.map +1 -1
- package/dist/shell/sync-status-indicator.js +7 -6
- package/dist/shell/sync-status-indicator.js.map +1 -1
- package/dist/shell/top-bar-parts-labels.js.map +1 -1
- package/dist/shell/topbar-action-menu.d.ts +14 -1
- package/dist/shell/topbar-action-menu.js +85 -34
- package/dist/shell/topbar-action-menu.js.map +1 -1
- package/dist/shell/topbar-controls.js +1 -10
- package/dist/shell/topbar-controls.js.map +1 -1
- package/dist/shell/tour-menu.js +9 -1
- package/dist/shell/tour-menu.js.map +1 -1
- package/dist/shell.d.ts +1 -1
- package/dist/shell.js +2 -1
- package/dist/shell.js.map +1 -1
- package/dist/sync/db.js.map +1 -1
- package/dist/sync/engine.js +24 -6
- package/dist/sync/engine.js.map +1 -1
- package/dist/sync.d.ts +2 -2
- package/dist/sync.js +7 -1
- package/dist/sync.js.map +1 -1
- package/dist/testing/css-variables.js.map +1 -1
- package/dist/testing/index.d.ts +1 -1
- package/dist/testing/index.js +1 -3
- package/dist/testing/index.js.map +1 -1
- package/dist/testing/react.js.map +1 -1
- package/dist/testing/viewport.js +7 -4
- package/dist/testing/viewport.js.map +1 -1
- package/dist/theme/contrast-tokens.js +13 -2
- package/dist/theme/contrast-tokens.js.map +1 -1
- package/dist/theme/palette-derive.d.ts +1 -1
- package/dist/theme/palette-derive.js +18 -29
- package/dist/theme/palette-derive.js.map +1 -1
- package/dist/theme/palette-presets.js.map +1 -1
- package/dist/theme/palette-store.js.map +1 -1
- package/dist/theme/text-size.js.map +1 -1
- package/dist/theme/theme-store.js +1 -3
- package/dist/theme/theme-store.js.map +1 -1
- package/dist/tour/tour-catalogue.js.map +1 -1
- package/dist/tour/tour-dock.js +5 -1
- package/dist/tour/tour-dock.js.map +1 -1
- package/dist/tour/tour-engine.js +1 -4
- package/dist/tour/tour-engine.js.map +1 -1
- package/dist/tour/tour.js +21 -12
- package/dist/tour/tour.js.map +1 -1
- package/dist/tour/use-tour-progress.js.map +1 -1
- package/dist/tour/use-tour-url-sync.js.map +1 -1
- package/dist/wizard/stepper-nav.js +3 -24
- package/dist/wizard/stepper-nav.js.map +1 -1
- package/dist/wizard/types.js.map +1 -1
- package/dist/wizard/use-wizard.js +24 -28
- package/dist/wizard/use-wizard.js.map +1 -1
- package/dist/wizard/validation.js.map +1 -1
- package/dist/wizard/wizard-context.js.map +1 -1
- package/dist/wizard/wizard-step.d.ts +1 -1
- package/dist/wizard/wizard-step.js +1 -8
- package/dist/wizard/wizard-step.js.map +1 -1
- package/dist/wizard/wizard-summary.js.map +1 -1
- package/package.json +5 -2
- package/src/account/account-settings-labels.ts +1 -2
- package/src/account/account-settings.tsx +11 -17
- package/src/account/delete-account-setting.tsx +1 -6
- package/src/account/email-change-setting-labels.ts +1 -2
- package/src/account/email-change-setting.tsx +3 -1
- package/src/account/passkeys-setting.tsx +1 -3
- package/src/account/sessions-setting.tsx +4 -2
- package/src/admin/admin-action-confirm.tsx +4 -7
- package/src/admin/admin-action-log.tsx +29 -29
- package/src/admin/admin-area-labels.ts +4 -1
- package/src/admin/admin-overview.tsx +8 -2
- package/src/admin/admin-sections.tsx +3 -1
- package/src/admin/admin-tool-links.tsx +7 -1
- package/src/admin/invitations-panel.tsx +5 -11
- package/src/admin/mail-test-card.tsx +1 -2
- package/src/admin/reviewer-scope-editor.tsx +4 -9
- package/src/admin/role-select.tsx +4 -2
- package/src/admin/user-roster.tsx +2 -11
- package/src/auth/accept-invitation.tsx +1 -7
- package/src/auth/auth-errors.ts +1 -6
- package/src/auth/forgot-password-form.tsx +2 -7
- package/src/auth/register-form.tsx +7 -8
- package/src/auth/reset-password-form.tsx +2 -5
- package/src/auth/sign-in-form.tsx +15 -14
- package/src/auth/verify-email.tsx +2 -7
- package/src/billing/billing-banner.tsx +3 -7
- package/src/billing/billing-labels.ts +6 -4
- package/src/billing/checkout-processing.ts +0 -1
- package/src/billing/plan-card.tsx +9 -8
- package/src/billing/plan-limit-toast.tsx +1 -2
- package/src/billing/plan-limit.ts +1 -2
- package/src/billing/plan-price.ts +1 -4
- package/src/billing/plan-switch.tsx +1 -2
- package/src/billing/subscription-actions.tsx +5 -2
- package/src/components/account-chips.tsx +1 -7
- package/src/components/alert-banner.tsx +2 -8
- package/src/components/amount-input.tsx +206 -178
- package/src/components/authed-image.tsx +7 -4
- package/src/components/autocomplete.tsx +7 -9
- package/src/components/bulk-action-bar.tsx +2 -7
- package/src/components/button-group.tsx +1 -2
- package/src/components/button-look.ts +6 -17
- package/src/components/button.tsx +1 -4
- package/src/components/calculator.tsx +6 -9
- package/src/components/calendar-heatmap.tsx +5 -10
- package/src/components/card.tsx +9 -13
- package/src/components/chart-zoom-core.tsx +6 -33
- package/src/components/chart.tsx +8 -31
- package/src/components/checkbox-group.tsx +1 -4
- package/src/components/chip-input.tsx +6 -6
- package/src/components/chip.tsx +14 -26
- package/src/components/choice-card.tsx +4 -18
- package/src/components/column-mapper-labels.ts +3 -10
- package/src/components/column-mapper.tsx +33 -122
- package/src/components/combobox-core.tsx +17 -47
- package/src/components/combobox.tsx +2 -6
- package/src/components/confirm-dialog.tsx +1 -3
- package/src/components/copy-button.tsx +2 -4
- package/src/components/country-select.tsx +9 -21
- package/src/components/currency-option-list.tsx +16 -18
- package/src/components/currency-select.tsx +2 -7
- package/src/components/danger-confirm.tsx +8 -9
- package/src/components/data-table-cells.tsx +1 -2
- package/src/components/data-table-column-settings.tsx +1 -3
- package/src/components/data-table-filter-popover.tsx +5 -19
- package/src/components/data-table-filters.ts +1 -6
- package/src/components/data-table-fit.ts +7 -7
- package/src/components/data-table-groups.tsx +3 -1
- package/src/components/data-table-head.tsx +32 -46
- package/src/components/data-table-mobile.tsx +99 -108
- package/src/components/data-table-pagination.tsx +2 -6
- package/src/components/data-table-row-actions.tsx +25 -24
- package/src/components/data-table-row.tsx +16 -17
- package/src/components/data-table-shared.tsx +10 -16
- package/src/components/data-table-sort.ts +1 -2
- package/src/components/data-table-virtual.ts +9 -4
- package/src/components/data-table.tsx +497 -501
- package/src/components/date-picker.tsx +1 -7
- package/src/components/date-range-picker.tsx +3 -13
- package/src/components/description-list.tsx +7 -13
- package/src/components/dialog-frame.tsx +12 -3
- package/src/components/disclosure.tsx +8 -12
- package/src/components/dropdown.tsx +3 -11
- package/src/components/empty-state.tsx +1 -3
- package/src/components/entity-combobox.tsx +2 -6
- package/src/components/error-boundary.tsx +7 -7
- package/src/components/field-base.tsx +8 -14
- package/src/components/field-parts.tsx +12 -23
- package/src/components/field-sync.tsx +7 -11
- package/src/components/file-button.tsx +7 -3
- package/src/components/file-dropzone.tsx +7 -12
- package/src/components/floating-panel.tsx +44 -51
- package/src/components/focus-ring.ts +1 -2
- package/src/components/form-actions.tsx +1 -4
- package/src/components/grouped-picker.tsx +21 -16
- package/src/components/hover-menu.tsx +1 -4
- package/src/components/iban-input-labels.ts +1 -2
- package/src/components/icon-button.tsx +46 -48
- package/src/components/icon-picker.tsx +9 -20
- package/src/components/image-grid.tsx +1 -6
- package/src/components/inline-edit-field.tsx +1 -5
- package/src/components/inline-entity-combobox.tsx +11 -25
- package/src/components/input.tsx +14 -2
- package/src/components/jump-calendar.tsx +2 -6
- package/src/components/legal-labels.ts +8 -3
- package/src/components/legal-page.tsx +56 -6
- package/src/components/legal.tsx +83 -10
- package/src/components/lightbox.tsx +1 -3
- package/src/components/line-items.tsx +7 -15
- package/src/components/list-labels.ts +2 -0
- package/src/components/list.tsx +81 -27
- package/src/components/measured-grid.tsx +8 -30
- package/src/components/menu-item.tsx +1 -3
- package/src/components/mini-calendar.tsx +129 -159
- package/src/components/money-field.tsx +4 -2
- package/src/components/month-picker.tsx +14 -21
- package/src/components/multi-entity-combobox.tsx +6 -26
- package/src/components/multi-select.tsx +5 -9
- package/src/components/nav-pills.tsx +10 -2
- package/src/components/number-field.tsx +18 -15
- package/src/components/number-input.tsx +3 -19
- package/src/components/numpad-sheet.tsx +9 -13
- package/src/components/one-time-code-input.tsx +6 -11
- package/src/components/page-contents.tsx +2 -9
- package/src/components/page-header.tsx +5 -10
- package/src/components/password-strength-labels.ts +1 -2
- package/src/components/password-strength.tsx +6 -9
- package/src/components/phone-input.tsx +2 -13
- package/src/components/picker-sheet.tsx +2 -5
- package/src/components/pie-chart.tsx +6 -12
- package/src/components/popover.tsx +2 -1
- package/src/components/progress-bar.tsx +16 -25
- package/src/components/qr-code.tsx +2 -9
- package/src/components/row-actions.tsx +9 -1
- package/src/components/search-field.tsx +4 -5
- package/src/components/select.tsx +2 -10
- package/src/components/separator.tsx +1 -5
- package/src/components/series-chart-axes.ts +5 -5
- package/src/components/series-chart-budget.ts +1 -4
- package/src/components/series-chart-ticks.ts +1 -4
- package/src/components/series-chart.tsx +43 -83
- package/src/components/settings-fields.tsx +20 -15
- package/src/components/share-card.tsx +6 -14
- package/src/components/sign-chip.tsx +16 -16
- package/src/components/signature-pad.tsx +21 -13
- package/src/components/signed-amount.tsx +6 -14
- package/src/components/skeleton.tsx +2 -13
- package/src/components/slider.tsx +9 -20
- package/src/components/sparkline.tsx +2 -13
- package/src/components/stat-tile.tsx +13 -24
- package/src/components/swatch-picker.tsx +8 -3
- package/src/components/swipeable-row.tsx +2 -11
- package/src/components/table-skeleton.tsx +4 -1
- package/src/components/table.tsx +12 -8
- package/src/components/tabs.tsx +24 -39
- package/src/components/text-link.tsx +6 -6
- package/src/components/text.tsx +1 -2
- package/src/components/tile-radio.tsx +6 -19
- package/src/components/time-input.tsx +4 -5
- package/src/components/toast.tsx +3 -12
- package/src/components/toggle-group.tsx +9 -9
- package/src/components/toggle-legend.tsx +4 -16
- package/src/components/tooltip.tsx +9 -48
- package/src/components/translation-review-editor.tsx +4 -4
- package/src/components/translation-review-parts.tsx +7 -1
- package/src/components/translation-review.tsx +15 -16
- package/src/components/tree-view.tsx +17 -20
- package/src/components/treemap.tsx +3 -15
- package/src/components/trigger-aria.ts +1 -4
- package/src/components/use-table-state.ts +16 -17
- package/src/components/user-avatar.tsx +4 -21
- package/src/demo/demo-start.tsx +8 -4
- package/src/feedback/feedback-attachment-labels.ts +2 -1
- package/src/feedback/feedback-attachment.tsx +16 -29
- package/src/feedback/feedback-capture.ts +3 -1
- package/src/feedback/feedback-comment-thread.tsx +9 -6
- package/src/feedback/feedback-context.tsx +1 -4
- package/src/feedback/feedback-dialog.tsx +3 -4
- package/src/feedback/feedback-inbox.tsx +3 -9
- package/src/feedback/feedback-public-list.tsx +7 -1
- package/src/feedback/feedback-record.ts +6 -14
- package/src/feedback/feedback-replies.tsx +10 -5
- package/src/feedback/feedback-row-detail.tsx +2 -5
- package/src/feedback/feedback-status-undo.ts +1 -4
- package/src/feedback/feedback-submit-dialog.tsx +4 -4
- package/src/feedback/feedback-table.tsx +29 -9
- package/src/feedback/feedback-thread.tsx +4 -16
- package/src/feedback/feedback-vocabulary.ts +72 -82
- package/src/feedback/feedback-vote-button.tsx +9 -8
- package/src/hooks/use-anchored-rect.ts +1 -4
- package/src/hooks/use-document-title.ts +3 -1
- package/src/hooks/use-file-drop.ts +1 -3
- package/src/hooks/use-file-picker-labels.ts +1 -2
- package/src/hooks/use-file-picker.tsx +1 -5
- package/src/hooks/use-focus-trap.ts +1 -2
- package/src/hooks/use-overlay-history.ts +10 -5
- package/src/hooks/use-row-swipe.ts +1 -6
- package/src/i18n/defaults.ts +1 -4
- package/src/i18n/german.ts +42 -50
- package/src/i18n/kit-labels.tsx +5 -20
- package/src/i18n/languages.ts +2 -8
- package/src/i18n/locales/en.ts +15 -31
- package/src/i18n/locales/es.ts +44 -50
- package/src/i18n/locales/fr.ts +43 -52
- package/src/i18n/locales/hu.ts +35 -38
- package/src/i18n/locales/it.ts +44 -53
- package/src/i18n/locales/zh.ts +23 -33
- package/src/i18n/plurals.ts +4 -1
- package/src/i18n/review.ts +20 -7
- package/src/i18n/shared-labels.ts +1 -2
- package/src/index.ts +107 -32
- package/src/landing/access.ts +2 -7
- package/src/landing/landing-sections.tsx +14 -15
- package/src/landing/page-seo.ts +1 -3
- package/src/lib/calc.ts +4 -1
- package/src/lib/clipboard-minus.ts +4 -1
- package/src/lib/dates.ts +2 -10
- package/src/lib/decimal-marks.ts +1 -3
- package/src/lib/device-settings.ts +2 -1
- package/src/lib/direction.ts +1 -3
- package/src/lib/iban.ts +89 -9
- package/src/lib/logger.ts +1 -5
- package/src/lib/person-name.ts +1 -3
- package/src/lib/phone.ts +5 -8
- package/src/lib/qr-encode.ts +32 -8
- package/src/lib/session-refresh.ts +5 -6
- package/src/lib/table-text.ts +24 -6
- package/src/lib/text-match.ts +43 -1
- package/src/lib/translation-review.ts +1 -3
- package/src/notifications/notification-inbox.tsx +17 -4
- package/src/notifications/notification-parts.tsx +1 -2
- package/src/notifications/notification-types-setting.tsx +19 -18
- package/src/notifications/notifications-labels.ts +1 -2
- package/src/notifications/push-device-setting.tsx +7 -1
- package/src/notifications/push-devices-setting.tsx +7 -3
- package/src/notifications/push-worker.ts +10 -2
- package/src/notifications/quiet-hours-setting.tsx +4 -1
- package/src/notifications/use-push-device.ts +4 -1
- package/src/offline/pwa-update-prompt.tsx +7 -1
- package/src/offline/query-persistence.ts +9 -6
- package/src/offline.ts +6 -1
- package/src/rhf/fields.tsx +50 -19
- package/src/rhf/form-core.tsx +2 -6
- package/src/rhf/line-items.tsx +5 -7
- package/src/rhf/use-rhf-wizard-step.ts +3 -12
- package/src/search/command-palette.tsx +15 -23
- package/src/search/global-search.tsx +38 -8
- package/src/search/search-index.ts +5 -1
- package/src/settings/device-reset-setting.tsx +5 -8
- package/src/settings/settings-heading.tsx +3 -1
- package/src/settings/settings-layout.tsx +6 -13
- package/src/settings/use-settings-focus.ts +8 -0
- package/src/settings/use-settings-route.ts +4 -3
- package/src/shell/app-shell.tsx +48 -24
- package/src/shell/auth-layout.tsx +1 -6
- package/src/shell/dev-menu.tsx +18 -6
- package/src/shell/option-switcher-menu.tsx +1 -3
- package/src/shell/sync-status-indicator.tsx +14 -12
- package/src/shell/top-bar-parts-labels.ts +1 -3
- package/src/shell/topbar-action-menu.tsx +130 -45
- package/src/shell/topbar-controls.tsx +5 -19
- package/src/shell/tour-menu.tsx +9 -1
- package/src/shell.ts +1 -1
- package/src/sync/db.ts +5 -1
- package/src/sync/engine.ts +44 -12
- package/src/sync.ts +16 -2
- package/src/testing/css-variables.ts +1 -2
- package/src/testing/index.ts +1 -6
- package/src/testing/react.ts +1 -2
- package/src/testing/viewport.ts +9 -9
- package/src/theme/contrast-tokens.ts +13 -2
- package/src/theme/palette-derive.ts +24 -50
- package/src/theme/palette-presets.ts +0 -1
- package/src/theme/palette-store.ts +1 -4
- package/src/theme/text-size.ts +1 -1
- package/src/theme/theme-store.ts +2 -6
- package/src/tour/tour-catalogue.tsx +4 -2
- package/src/tour/tour-dock.ts +5 -1
- package/src/tour/tour-engine.ts +2 -6
- package/src/tour/tour.tsx +28 -12
- package/src/tour/use-tour-progress.ts +8 -2
- package/src/tour/use-tour-url-sync.ts +3 -1
- package/src/vite-env.d.ts +1 -4
- package/src/wizard/stepper-nav.tsx +10 -35
- package/src/wizard/types.ts +1 -4
- package/src/wizard/use-wizard.ts +28 -43
- package/src/wizard/validation.ts +1 -5
- package/src/wizard/wizard-context.tsx +2 -6
- package/src/wizard/wizard-step.tsx +1 -8
- package/src/wizard/wizard-summary.tsx +2 -6
- package/tokens.css +393 -152
|
@@ -13,8 +13,7 @@ export const DEFAULT_FILE_PICKER_LABELS: FilePickerLabels = {
|
|
|
13
13
|
`“${name}” was not added: at most ${maxFiles} ${maxFiles === 1 ? "file" : "files"}`,
|
|
14
14
|
rejectedInvalid: (name) => `“${name}” cannot be used here`,
|
|
15
15
|
rejectedMany: (count) => `${count} files were not added`,
|
|
16
|
-
rejectedPick: (count) =>
|
|
17
|
-
count === 1 ? "The file was not added" : `None of the ${count} files were added`,
|
|
16
|
+
rejectedPick: (count) => (count === 1 ? "The file was not added" : `None of the ${count} files were added`),
|
|
18
17
|
selected: (count, firstName) => (count === 1 ? `“${firstName}” selected` : `${count} files selected`),
|
|
19
18
|
remove: (name) => `Remove “${name}”`,
|
|
20
19
|
clearAll: "Remove all files",
|
|
@@ -215,11 +215,7 @@ export type FilePickHandler = (accepted: File[], rejected: FileRejection[]) => b
|
|
|
215
215
|
/** @internal The shared tail of both pickers: run `onPick`, and say whether the pick
|
|
216
216
|
* stands. A pick with nothing accepted has nothing to refuse, so `false` there is
|
|
217
217
|
* treated as no verdict and the usual per-file messages are kept. */
|
|
218
|
-
export function judgePick(
|
|
219
|
-
onPick: FilePickHandler | undefined,
|
|
220
|
-
accepted: File[],
|
|
221
|
-
rejected: FileRejection[],
|
|
222
|
-
): boolean {
|
|
218
|
+
export function judgePick(onPick: FilePickHandler | undefined, accepted: File[], rejected: FileRejection[]): boolean {
|
|
223
219
|
if (!onPick) return true;
|
|
224
220
|
return onPick(accepted, rejected) !== false || accepted.length === 0;
|
|
225
221
|
}
|
|
@@ -56,8 +56,7 @@ const FOCUSABLE =
|
|
|
56
56
|
* reaches, so no correct order changes. `visibility: hidden` and closed `<details>` are
|
|
57
57
|
* still not walked — they need layout, which this list has never read.
|
|
58
58
|
*/
|
|
59
|
-
const isTabStop = (el: HTMLElement): boolean =>
|
|
60
|
-
el.tabIndex >= 0 && !el.closest("[hidden],[inert]");
|
|
59
|
+
const isTabStop = (el: HTMLElement): boolean => el.tabIndex >= 0 && !el.closest("[hidden],[inert]");
|
|
61
60
|
|
|
62
61
|
/**
|
|
63
62
|
* Marks a container whose trap is currently active.
|
|
@@ -408,10 +408,7 @@ function taggedSentinel(): string | null {
|
|
|
408
408
|
* written there — we are a passenger in that object, not its owner. */
|
|
409
409
|
function retag(id: string): void {
|
|
410
410
|
const prev = window.history.state;
|
|
411
|
-
window.history.replaceState(
|
|
412
|
-
{ ...(prev && typeof prev === "object" ? prev : {}), [SENTINEL_KEY]: id },
|
|
413
|
-
"",
|
|
414
|
-
);
|
|
411
|
+
window.history.replaceState({ ...(prev && typeof prev === "object" ? prev : {}), [SENTINEL_KEY]: id }, "");
|
|
415
412
|
}
|
|
416
413
|
|
|
417
414
|
function currentSentinel(): string | null {
|
|
@@ -571,7 +568,15 @@ export function useOverlayHistory(open: boolean, onClose: () => void): void {
|
|
|
571
568
|
// The abandoned ones beneath come back owed; ours takes the top slot.
|
|
572
569
|
for (const owed of inherited.slice(0, -1)) pushed.push({ ...owed, dead: true });
|
|
573
570
|
const was = inherited[inherited.length - 1];
|
|
574
|
-
pushed.push({
|
|
571
|
+
pushed.push({
|
|
572
|
+
id,
|
|
573
|
+
href: currentHref(),
|
|
574
|
+
seen: currentHref(),
|
|
575
|
+
dead: false,
|
|
576
|
+
idx: was.idx,
|
|
577
|
+
key: was.key,
|
|
578
|
+
route: was.route,
|
|
579
|
+
});
|
|
575
580
|
standing = id;
|
|
576
581
|
} else {
|
|
577
582
|
// A push DESTROYS every entry ahead of the one we are on, so anything we
|
|
@@ -83,12 +83,7 @@ function lastArmed(stages: SwipeStage[] | undefined, magnitude: number): number
|
|
|
83
83
|
return idx;
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
-
export function useRowSwipe({
|
|
87
|
-
enabled,
|
|
88
|
-
leftStages,
|
|
89
|
-
rightStages,
|
|
90
|
-
maxDrag = 252,
|
|
91
|
-
}: RowSwipeOptions): RowSwipeReturn {
|
|
86
|
+
export function useRowSwipe({ enabled, leftStages, rightStages, maxDrag = 252 }: RowSwipeOptions): RowSwipeReturn {
|
|
92
87
|
const [dx, setDx] = useState(0);
|
|
93
88
|
const [dragging, setDragging] = useState(false);
|
|
94
89
|
const startX = useRef(0);
|
package/src/i18n/defaults.ts
CHANGED
|
@@ -33,10 +33,7 @@ import { DEFAULT_CONFIRM_DIALOG_LABELS } from "../components/confirm-dialog-labe
|
|
|
33
33
|
import { DEFAULT_FLOATING_PANEL_LABELS } from "../components/floating-panel-labels";
|
|
34
34
|
import { DEFAULT_FEEDBACK_ATTACHMENT_LABELS } from "../feedback/feedback-attachment-labels";
|
|
35
35
|
import { DEFAULT_FEEDBACK_DIALOG_LABELS } from "../feedback/feedback-dialog-labels";
|
|
36
|
-
import {
|
|
37
|
-
DEFAULT_FEEDBACK_COMPOSER_LABELS,
|
|
38
|
-
DEFAULT_FEEDBACK_THREAD_LABELS,
|
|
39
|
-
} from "../feedback/feedback-thread-labels";
|
|
36
|
+
import { DEFAULT_FEEDBACK_COMPOSER_LABELS, DEFAULT_FEEDBACK_THREAD_LABELS } from "../feedback/feedback-thread-labels";
|
|
40
37
|
import {
|
|
41
38
|
DEFAULT_FEEDBACK_CATEGORY_LABELS,
|
|
42
39
|
DEFAULT_FEEDBACK_STATUS_LABELS,
|
package/src/i18n/german.ts
CHANGED
|
@@ -20,16 +20,14 @@ export function germanLabels(numberLocale: string): UiKitLabels {
|
|
|
20
20
|
// 0.30.0 — a throttled request (HTTP 429), as `englishRateLimited` in
|
|
21
21
|
// src/auth/auth-errors.ts: no wait → "einen Moment", under a minute → seconds, else
|
|
22
22
|
// minutes rounded up. kastlan's reviewed "auth.throttled" is the sentence without one.
|
|
23
|
-
const wait = (seconds: number) =>
|
|
24
|
-
seconds < 60 ? `${n(Math.ceil(seconds))} s` : `${n(Math.ceil(seconds / 60))} min`;
|
|
23
|
+
const wait = (seconds: number) => (seconds < 60 ? `${n(Math.ceil(seconds))} s` : `${n(Math.ceil(seconds / 60))} min`);
|
|
25
24
|
const rateLimited = (seconds?: number) =>
|
|
26
25
|
!seconds || seconds <= 0
|
|
27
26
|
? "Zu viele Versuche. Bitte warten Sie einen Moment und versuchen Sie es dann noch einmal."
|
|
28
27
|
: `Zu viele Versuche. Versuchen Sie es in ${wait(seconds)} erneut.`;
|
|
29
28
|
// 0.32.0 — when a trial or a grant ends, as `inDays` in src/billing/billing-labels.ts:
|
|
30
29
|
// 0 (or less) is today, 1 tomorrow.
|
|
31
|
-
const inDays = (days: number) =>
|
|
32
|
-
days <= 0 ? "heute" : days === 1 ? "morgen" : `in ${n(days)} Tagen`;
|
|
30
|
+
const inDays = (days: number) => (days <= 0 ? "heute" : days === 1 ? "morgen" : `in ${n(days)} Tagen`);
|
|
33
31
|
|
|
34
32
|
return {
|
|
35
33
|
feedbackAttachment: {
|
|
@@ -281,7 +279,8 @@ export function germanLabels(numberLocale: string): UiKitLabels {
|
|
|
281
279
|
passkeys: {
|
|
282
280
|
title: "Passkeys",
|
|
283
281
|
description: "Mit Fingerabdruck, Gesichtserkennung oder Geräte-PIN statt Passwort anmelden.",
|
|
284
|
-
descriptionAlongside:
|
|
282
|
+
descriptionAlongside:
|
|
283
|
+
"Mit Fingerabdruck, Gesichtserkennung oder Geräte-PIN anmelden. Das Passwort funktioniert weiterhin.",
|
|
285
284
|
empty: "Noch keine Passkeys",
|
|
286
285
|
loading: "Passkeys werden geladen…",
|
|
287
286
|
list: "Registrierte Passkeys",
|
|
@@ -318,8 +317,7 @@ export function germanLabels(numberLocale: string): UiKitLabels {
|
|
|
318
317
|
"Pfeiltasten wechseln zwischen Zellen. Tippen ersetzt eine Zelle, F2 bearbeitet sie, Escape macht die Bearbeitung rückgängig. Enter geht nach unten und fügt am Ende eine Zeile hinzu.",
|
|
319
318
|
lineError: (line) => `Zeile ${line} konnte nicht gelesen werden`,
|
|
320
319
|
points: (count) => (count === 1 ? "1 Punkt" : `${n(count)} Punkte`),
|
|
321
|
-
problems: (count) =>
|
|
322
|
-
count === 1 ? "1 Zelle ist keine Zahl" : `${n(count)} Zellen sind keine Zahlen`,
|
|
320
|
+
problems: (count) => (count === 1 ? "1 Zelle ist keine Zahl" : `${n(count)} Zellen sind keine Zahlen`),
|
|
323
321
|
},
|
|
324
322
|
pageContents: { title: "Auf dieser Seite" },
|
|
325
323
|
common: {
|
|
@@ -388,8 +386,7 @@ export function germanLabels(numberLocale: string): UiKitLabels {
|
|
|
388
386
|
last_year: "Letztes Jahr",
|
|
389
387
|
},
|
|
390
388
|
table: "Datentabelle",
|
|
391
|
-
filterResults: (shown, total) =>
|
|
392
|
-
`${n(shown)} von ${n(total)} ${total === 1 ? "Zeile" : "Zeilen"}`,
|
|
389
|
+
filterResults: (shown, total) => `${n(shown)} von ${n(total)} ${total === 1 ? "Zeile" : "Zeilen"}`,
|
|
393
390
|
sortedAscending: (column) => `Sortiert nach ${column}, aufsteigend`,
|
|
394
391
|
sortedDescending: (column) => `Sortiert nach ${column}, absteigend`,
|
|
395
392
|
sortCleared: (column) => `Sortierung nach ${column} aufgehoben`,
|
|
@@ -420,8 +417,7 @@ export function germanLabels(numberLocale: string): UiKitLabels {
|
|
|
420
417
|
chooseStart: "Startdatum wählen",
|
|
421
418
|
chooseEnd: "Enddatum wählen",
|
|
422
419
|
startSelected: (date) => `${date} als Startdatum gewählt. Wählen Sie jetzt ein Enddatum.`,
|
|
423
|
-
rangeSelected: (from, to) =>
|
|
424
|
-
`Zeitraum ${from} bis ${to} gewählt. Wählen Sie ein Startdatum, um neu zu beginnen.`,
|
|
420
|
+
rangeSelected: (from, to) => `Zeitraum ${from} bis ${to} gewählt. Wählen Sie ein Startdatum, um neu zu beginnen.`,
|
|
425
421
|
},
|
|
426
422
|
calendarHeatmap: {
|
|
427
423
|
grid: "Tageswerte",
|
|
@@ -587,9 +583,7 @@ export function germanLabels(numberLocale: string): UiKitLabels {
|
|
|
587
583
|
hint: (accept) => (accept ? `Erlaubt: ${accept}` : "Beliebiger Dateityp"),
|
|
588
584
|
busy: "Wird hochgeladen…",
|
|
589
585
|
rejectedPick: (count) =>
|
|
590
|
-
count === 1
|
|
591
|
-
? "Die Datei wurde nicht hinzugefügt"
|
|
592
|
-
: `Keine der ${n(count)} Dateien wurde hinzugefügt`,
|
|
586
|
+
count === 1 ? "Die Datei wurde nicht hinzugefügt" : `Keine der ${n(count)} Dateien wurde hinzugefügt`,
|
|
593
587
|
rejectedType: (name) => `„${name}“ hat einen nicht unterstützten Dateityp`,
|
|
594
588
|
rejectedTypeOnly: (accept) => `Nur ${accept}-Dateien`,
|
|
595
589
|
rejectedSize: (name, maxSize) => `„${name}“ ist größer als ${maxSize}`,
|
|
@@ -597,11 +591,8 @@ export function germanLabels(numberLocale: string): UiKitLabels {
|
|
|
597
591
|
`„${name}“ wurde nicht hinzugefügt: höchstens ${n(maxFiles)} ${maxFiles === 1 ? "Datei" : "Dateien"}`,
|
|
598
592
|
rejectedInvalid: (name) => `„${name}“ kann hier nicht verwendet werden`,
|
|
599
593
|
rejectedMany: (count) =>
|
|
600
|
-
count === 1
|
|
601
|
-
|
|
602
|
-
: `${n(count)} Dateien wurden nicht hinzugefügt`,
|
|
603
|
-
selected: (count, firstName) =>
|
|
604
|
-
count === 1 ? `„${firstName}“ ausgewählt` : `${n(count)} Dateien ausgewählt`,
|
|
594
|
+
count === 1 ? "1 Datei wurde nicht hinzugefügt" : `${n(count)} Dateien wurden nicht hinzugefügt`,
|
|
595
|
+
selected: (count, firstName) => (count === 1 ? `„${firstName}“ ausgewählt` : `${n(count)} Dateien ausgewählt`),
|
|
605
596
|
remove: (name) => `„${name}“ entfernen`,
|
|
606
597
|
clearAll: "Alle Dateien entfernen",
|
|
607
598
|
removed: (name) => `„${name}“ entfernt`,
|
|
@@ -745,8 +736,7 @@ export function germanLabels(numberLocale: string): UiKitLabels {
|
|
|
745
736
|
optional: (rule) => `${rule} (optional)`,
|
|
746
737
|
met: "Erfüllt:",
|
|
747
738
|
notMet: "Nicht erfüllt:",
|
|
748
|
-
tooLong: (maxBytes) =>
|
|
749
|
-
`Höchstens ${n(maxBytes)} Zeichen (Buchstaben mit Akzent und Emojis zählen mehrfach).`,
|
|
739
|
+
tooLong: (maxBytes) => `Höchstens ${n(maxBytes)} Zeichen (Buchstaben mit Akzent und Emojis zählen mehrfach).`,
|
|
750
740
|
},
|
|
751
741
|
seriesChart: {
|
|
752
742
|
resetZoom: "Zoom zurücksetzen",
|
|
@@ -782,6 +772,8 @@ export function germanLabels(numberLocale: string): UiKitLabels {
|
|
|
782
772
|
list: {
|
|
783
773
|
unread: "Ungelesen",
|
|
784
774
|
opensInNewTab: "öffnet in einem neuen Tab",
|
|
775
|
+
showAll: (count) => `Alle anzeigen (${n(count)})`,
|
|
776
|
+
showFewer: "Weniger anzeigen",
|
|
785
777
|
},
|
|
786
778
|
breadcrumbs: {
|
|
787
779
|
label: "Brotkrümelnavigation",
|
|
@@ -825,9 +817,11 @@ export function germanLabels(numberLocale: string): UiKitLabels {
|
|
|
825
817
|
details: "Fehlerdetails",
|
|
826
818
|
reload: "Neu laden",
|
|
827
819
|
updateTitle: "Eine neue Version ist verfügbar",
|
|
828
|
-
updateMessage:
|
|
820
|
+
updateMessage:
|
|
821
|
+
"Ein Teil der App hat sich seit dem Laden dieser Seite geändert. Zum Aktualisieren die Seite neu laden.",
|
|
829
822
|
offlineTitle: "Keine Internetverbindung",
|
|
830
|
-
offlineMessage:
|
|
823
|
+
offlineMessage:
|
|
824
|
+
"Diese Seite konnte ohne Verbindung nicht geladen werden. Nach dem Wiederherstellen der Verbindung die Seite neu laden.",
|
|
831
825
|
copyReport: "Fehlerbericht kopieren",
|
|
832
826
|
reported: "Der Fehler wurde automatisch gemeldet.",
|
|
833
827
|
reportedAs: (reference) => `Gemeldet unter ${reference}`,
|
|
@@ -917,6 +911,8 @@ export function germanLabels(numberLocale: string): UiKitLabels {
|
|
|
917
911
|
impressum: "Impressum",
|
|
918
912
|
privacy: "Datenschutz",
|
|
919
913
|
terms: "Nutzungsbedingungen",
|
|
914
|
+
security: "Sicherheit",
|
|
915
|
+
accessibility: "Barrierefreiheit",
|
|
920
916
|
},
|
|
921
917
|
titles: {
|
|
922
918
|
impressum: "Impressum",
|
|
@@ -936,6 +932,10 @@ export function germanLabels(numberLocale: string): UiKitLabels {
|
|
|
936
932
|
show: (o) => `Fassung auf ${o.bindingLanguage} anzeigen`,
|
|
937
933
|
},
|
|
938
934
|
updated: (date) => `Stand: ${date}`,
|
|
935
|
+
summary: {
|
|
936
|
+
title: "Das Wichtigste in Kürze",
|
|
937
|
+
note: "Diese Zusammenfassung dient der Orientierung; verbindlich ist allein der vollständige Text.",
|
|
938
|
+
},
|
|
939
939
|
sections: {
|
|
940
940
|
impressum: {
|
|
941
941
|
operator: {
|
|
@@ -992,7 +992,7 @@ export function germanLabels(numberLocale: string): UiKitLabels {
|
|
|
992
992
|
},
|
|
993
993
|
changes: {
|
|
994
994
|
title: "Änderungen dieser Bedingungen",
|
|
995
|
-
body: "Wir können diese Bedingungen im Zuge der Weiterentwicklung des Dienstes anpassen. Wesentliche Änderungen kündigen wir mindestens 30 Tage vor ihrem Inkrafttreten per E-Mail und in der App an, zusammen mit dem neuen Text. Wenn Sie nicht einverstanden sind, können Sie vor diesem Datum widersprechen oder Ihr Konto löschen und bis dahin Ihre Daten exportieren. Nutzen Sie den Dienst nach diesem Datum weiter, gelten die geänderten Bedingungen.",
|
|
995
|
+
body: "Wir können diese Bedingungen im Zuge der Weiterentwicklung des Dienstes anpassen. Wesentliche Änderungen kündigen wir mindestens 30 Tage vor ihrem Inkrafttreten per E-Mail und in der App an, zusammen mit dem neuen Text. Wenn Sie nicht einverstanden sind, können Sie vor diesem Datum widersprechen oder Ihr Konto löschen und bis dahin Ihre Daten exportieren. Nutzen Sie den Dienst nach diesem Datum weiter, gelten die geänderten Bedingungen. Änderungen, die nur zu Ihrem Vorteil sind oder gesetzlich vorgeschrieben sind, gelten ohne diese Ankündigung; ihnen kann nicht widersprochen werden. Widersprechen Sie einer Änderung, können wir Ihr Konto auf den Tag ihres Inkrafttretens schließen. Haben Sie einen Zeitraum bezahlt, der über dieses Datum hinausgeht, erstatten wir den nicht genutzten Teil.",
|
|
996
996
|
},
|
|
997
997
|
language: {
|
|
998
998
|
title: "Sprache",
|
|
@@ -1022,8 +1022,7 @@ export function germanLabels(numberLocale: string): UiKitLabels {
|
|
|
1022
1022
|
failed: "Anmeldung fehlgeschlagen. Bitte versuchen Sie es erneut.",
|
|
1023
1023
|
passkeyFailed: "Passkey-Anmeldung fehlgeschlagen.",
|
|
1024
1024
|
deactivatedHint: "Konto deaktiviert? Schreiben Sie an {contact}.",
|
|
1025
|
-
tagHint: (taggedAddress) =>
|
|
1026
|
-
`Mit ${taggedAddress} registriert? Verwenden Sie diese Adresse.`,
|
|
1025
|
+
tagHint: (taggedAddress) => `Mit ${taggedAddress} registriert? Verwenden Sie diese Adresse.`,
|
|
1027
1026
|
twoFactorTitle: "Zwei-Faktor-Authentifizierung",
|
|
1028
1027
|
twoFactorIntro: "Geben Sie den Code aus Ihrer Authenticator-App ein.",
|
|
1029
1028
|
code: "2FA-Code",
|
|
@@ -1256,10 +1255,8 @@ export function germanLabels(numberLocale: string): UiKitLabels {
|
|
|
1256
1255
|
"Der Service Worker der App ist nicht erreichbar. Laden Sie die Seite neu und versuchen Sie es erneut.",
|
|
1257
1256
|
pushTimeout:
|
|
1258
1257
|
"Der Push-Dienst des Browsers antwortet nicht. Prüfen Sie Ihre Verbindung und versuchen Sie es erneut.",
|
|
1259
|
-
testSent: (count) =>
|
|
1260
|
-
|
|
1261
|
-
testNone:
|
|
1262
|
-
"Kein Gerät hat den Test angenommen. Schalten Sie zuerst die Benachrichtigungen für dieses Gerät ein.",
|
|
1258
|
+
testSent: (count) => (count === 1 ? `Test an ${n(count)} Gerät gesendet` : `Test an ${n(count)} Geräte gesendet`),
|
|
1259
|
+
testNone: "Kein Gerät hat den Test angenommen. Schalten Sie zuerst die Benachrichtigungen für dieses Gerät ein.",
|
|
1263
1260
|
testFailed: "Die Test-Benachrichtigung konnte nicht gesendet werden.",
|
|
1264
1261
|
explainerTitle: "Benachrichtigungen einschalten?",
|
|
1265
1262
|
explainerBody: (app) =>
|
|
@@ -1409,8 +1406,7 @@ export function germanLabels(numberLocale: string): UiKitLabels {
|
|
|
1409
1406
|
lastAdmin:
|
|
1410
1407
|
"Dies ist das letzte aktive Konto mit Administratorrechten. Geben Sie zuerst einem anderen Konto Administratorrechte.",
|
|
1411
1408
|
self: "Mit Ihrem eigenen Konto ist das nicht möglich.",
|
|
1412
|
-
confirmationMismatch:
|
|
1413
|
-
"Die Adresse passt nicht zu diesem Konto. Prüfen Sie, bei welchem Konto Sie sind.",
|
|
1409
|
+
confirmationMismatch: "Die Adresse passt nicht zu diesem Konto. Prüfen Sie, bei welchem Konto Sie sind.",
|
|
1414
1410
|
otherCompanies:
|
|
1415
1411
|
"Dieses Konto gehört auch zu anderen Unternehmen, deshalb kann nur der Plattformbetreiber das tun. Sie können es stattdessen aus diesem Unternehmen entfernen.",
|
|
1416
1412
|
removeFromCompany: "Aus dem Unternehmen entfernen",
|
|
@@ -1534,8 +1530,7 @@ export function germanLabels(numberLocale: string): UiKitLabels {
|
|
|
1534
1530
|
consoleHint:
|
|
1535
1531
|
"Dieser Server verschickt keine Mails – sie werden ins Server-Log geschrieben. Kopieren Sie jeden Einladungslink hier und geben Sie ihn selbst weiter: Er wird nur einmal angezeigt.",
|
|
1536
1532
|
linkReady: (email) => `Der Einladungslink für ${email}, nur dieses eine Mal angezeigt:`,
|
|
1537
|
-
notSent: (email) =>
|
|
1538
|
-
`${email} ist eingeladen, aber die Mail konnte nicht gesendet werden. Senden Sie sie erneut.`,
|
|
1533
|
+
notSent: (email) => `${email} ist eingeladen, aber die Mail konnte nicht gesendet werden. Senden Sie sie erneut.`,
|
|
1539
1534
|
failed: "Das hat nicht geklappt. Bitte erneut versuchen.",
|
|
1540
1535
|
},
|
|
1541
1536
|
characterCount: {
|
|
@@ -1557,8 +1552,7 @@ export function germanLabels(numberLocale: string): UiKitLabels {
|
|
|
1557
1552
|
ibanInput: {
|
|
1558
1553
|
format: "Eine IBAN beginnt mit einem Ländercode aus zwei Buchstaben und zwei Prüfziffern.",
|
|
1559
1554
|
country: (code) => `„${code}“ ist kein Ländercode einer IBAN.`,
|
|
1560
|
-
length: (actual, expected) =>
|
|
1561
|
-
`Eine IBAN aus diesem Land hat ${n(expected)} Zeichen – diese hat ${n(actual)}.`,
|
|
1555
|
+
length: (actual, expected) => `Eine IBAN aus diesem Land hat ${n(expected)} Zeichen – diese hat ${n(actual)}.`,
|
|
1562
1556
|
checksum: "Die Prüfziffern stimmen nicht – vermutlich ist ein Zeichen falsch eingegeben.",
|
|
1563
1557
|
qrRequired: "Dies ist eine reguläre IBAN. Eine QR-Rechnung braucht die QR-IBAN des Kontos.",
|
|
1564
1558
|
qrNotAllowed:
|
|
@@ -1592,9 +1586,7 @@ export function germanLabels(numberLocale: string): UiKitLabels {
|
|
|
1592
1586
|
decimalComma: "Dezimalkomma (1,5)",
|
|
1593
1587
|
decimalPoint: "Dezimalpunkt (1.5)",
|
|
1594
1588
|
unreadCount: (count) =>
|
|
1595
|
-
count === 1
|
|
1596
|
-
? "1 Zeile konnte nicht gelesen werden"
|
|
1597
|
-
: `${n(count)} Zeilen konnten nicht gelesen werden`,
|
|
1589
|
+
count === 1 ? "1 Zeile konnte nicht gelesen werden" : `${n(count)} Zeilen konnten nicht gelesen werden`,
|
|
1598
1590
|
// A line number is a position, not a count: unformatted, as `measuredGrid.lineError`.
|
|
1599
1591
|
unreadLine: (line) => `Zeile ${line} konnte nicht gelesen werden`,
|
|
1600
1592
|
unreadMore: (count) => `…und ${n(count)} weitere`,
|
|
@@ -1606,9 +1598,7 @@ export function germanLabels(numberLocale: string): UiKitLabels {
|
|
|
1606
1598
|
requiredRole: (role) => `${role} (erforderlich)`,
|
|
1607
1599
|
requiredRoleShort: (role) => `${role} *`,
|
|
1608
1600
|
previewOf: (shown, total) =>
|
|
1609
|
-
shown === 1
|
|
1610
|
-
? `Die erste von ${n(total)} Zeilen`
|
|
1611
|
-
: `Die ersten ${n(shown)} von ${n(total)} Zeilen`,
|
|
1601
|
+
shown === 1 ? `Die erste von ${n(total)} Zeilen` : `Die ersten ${n(shown)} von ${n(total)} Zeilen`,
|
|
1612
1602
|
// `roles` arrives joined with "oder" ("Soll oder Haben").
|
|
1613
1603
|
oneOf: (roles) => `entweder ${roles}`,
|
|
1614
1604
|
missing: (roles) => `Noch erforderlich: ${roles}.`,
|
|
@@ -1664,7 +1654,8 @@ export function germanLabels(numberLocale: string): UiKitLabels {
|
|
|
1664
1654
|
exportCorrections: (count) => `Korrekturen exportieren (${n(count)})`,
|
|
1665
1655
|
failed: "Das hat nicht geklappt. Bitte erneut versuchen.",
|
|
1666
1656
|
approvedToast: (count) => (count === 1 ? "Text bestätigt" : `${n(count)} Texte bestätigt`),
|
|
1667
|
-
clearedToast: (count) =>
|
|
1657
|
+
clearedToast: (count) =>
|
|
1658
|
+
count === 1 ? "Text als ungeprüft markiert" : `${n(count)} Texte als ungeprüft markiert`,
|
|
1668
1659
|
groupCount: (unreviewed, total) => `${n(unreviewed)} ungeprüft / ${n(total)}`,
|
|
1669
1660
|
approveGroup: (count) => `Ungeprüfte bestätigen (${n(count)})`,
|
|
1670
1661
|
// The group's name quoted, as `columnMapper.roleOf`'s column: it is often a key
|
|
@@ -1866,9 +1857,7 @@ export function germanLabels(numberLocale: string): UiKitLabels {
|
|
|
1866
1857
|
"Ihr kostenloser Zugang hat kein Enddatum. Solange er läuft, ändert ein Kauf Ihren Tarif nicht: Sie würden für einen Tarif bezahlen, der nicht gilt.",
|
|
1867
1858
|
grantWarningAction: "Trotzdem kaufen",
|
|
1868
1859
|
waitingChanges: (count) =>
|
|
1869
|
-
count === 1
|
|
1870
|
-
? `${n(count)} Änderung wartet auf einen Tarif`
|
|
1871
|
-
: `${n(count)} Änderungen warten auf einen Tarif`,
|
|
1860
|
+
count === 1 ? `${n(count)} Änderung wartet auf einen Tarif` : `${n(count)} Änderungen warten auf einen Tarif`,
|
|
1872
1861
|
// "Verwerfen", as `wizard.cancelConfirmLabel`.
|
|
1873
1862
|
discardWaiting: "Wartende Änderungen verwerfen",
|
|
1874
1863
|
notConfigured: "Zahlungen sind noch nicht eingerichtet. Bitte versuchen Sie es später noch einmal.",
|
|
@@ -1880,8 +1869,7 @@ export function germanLabels(numberLocale: string): UiKitLabels {
|
|
|
1880
1869
|
planNotSold:
|
|
1881
1870
|
"Dieser Tarif ist für diesen Abrechnungszeitraum oder diese Währung nicht erhältlich. Bitte wählen Sie einen anderen.",
|
|
1882
1871
|
// 0.39 (§15.2.10): the plan switch's refusals.
|
|
1883
|
-
notSubscribed:
|
|
1884
|
-
"Es läuft kein Abonnement, das sich ändern ließe. Wählen Sie einen Tarif, um eines abzuschließen.",
|
|
1872
|
+
notSubscribed: "Es läuft kein Abonnement, das sich ändern ließe. Wählen Sie einen Tarif, um eines abzuschließen.",
|
|
1885
1873
|
planUnchanged: "Das ist bereits Ihr Tarif. Wählen Sie einen anderen Tarif oder Abrechnungszeitraum.",
|
|
1886
1874
|
},
|
|
1887
1875
|
// 0.33.0 — docs/billing-harmonization.md §14.12: the operator's plan parts, "Tarif" as
|
|
@@ -1957,7 +1945,8 @@ export function germanLabels(numberLocale: string): UiKitLabels {
|
|
|
1957
1945
|
// Administratoren", which would give the reader a gender (as `transferOwnership`).
|
|
1958
1946
|
mailTestCard: {
|
|
1959
1947
|
title: "Testmail",
|
|
1960
|
-
description:
|
|
1948
|
+
description:
|
|
1949
|
+
"Sendet eine Mail an Ihre eigene Adresse, über den Versand, mit dem diese Installation alle Mails verschickt.",
|
|
1961
1950
|
transport: (backend) => `Versand: ${backend}`,
|
|
1962
1951
|
action: "Testmail an mich senden",
|
|
1963
1952
|
sent: (address) => `An ${address} gesendet. Bitte prüfen Sie den Posteingang.`,
|
|
@@ -1977,7 +1966,10 @@ export function germanLabels(numberLocale: string): UiKitLabels {
|
|
|
1977
1966
|
sections: {
|
|
1978
1967
|
overview: { title: "Übersicht", help: "Was gerade wartet, auf einen Blick." },
|
|
1979
1968
|
users: { title: "Benutzer", help: "Wer ein Konto hat und was jede Person darf." },
|
|
1980
|
-
invitations: {
|
|
1969
|
+
invitations: {
|
|
1970
|
+
title: "Einladungen",
|
|
1971
|
+
help: "Laden Sie Personen per E-Mail in ihrer Sprache ein; senden Sie offene Einladungen erneut oder widerrufen Sie sie.",
|
|
1972
|
+
},
|
|
1981
1973
|
billing: { title: "Abrechnung", help: "Tarif, Zahlung und Rechnungen." },
|
|
1982
1974
|
activity: { title: "Aktivität", help: "Was in der Verwaltung getan wurde, das Neueste zuerst." },
|
|
1983
1975
|
},
|
package/src/i18n/kit-labels.tsx
CHANGED
|
@@ -46,11 +46,7 @@ import type { MeasuredGridLabels } from "../components/measured-grid";
|
|
|
46
46
|
import type { FeedbackAttachmentFieldLabels } from "../feedback/feedback-attachment";
|
|
47
47
|
import type { FeedbackDialogTextLabels } from "../feedback/feedback-dialog";
|
|
48
48
|
import type { FeedbackComposerLabels, FeedbackThreadLabels } from "../feedback/feedback-thread";
|
|
49
|
-
import type {
|
|
50
|
-
FeedbackCategoryLabels,
|
|
51
|
-
FeedbackStatusLabels,
|
|
52
|
-
FeedbackToastLabels,
|
|
53
|
-
} from "../feedback/feedback-labels";
|
|
49
|
+
import type { FeedbackCategoryLabels, FeedbackStatusLabels, FeedbackToastLabels } from "../feedback/feedback-labels";
|
|
54
50
|
import type { FeedbackMenuLabels } from "../feedback/feedback-menu";
|
|
55
51
|
import type { FeedbackPublicLabels } from "../feedback/feedback-public-labels";
|
|
56
52
|
import type { FeedbackNotificationTypesLabels } from "../notifications/feedback-notification-types-labels";
|
|
@@ -893,9 +889,7 @@ function mergeOverrides(
|
|
|
893
889
|
* `columnsCount` from `columns`): merge the component's prop over it — a record key by
|
|
894
890
|
* key — and feed the result to that resolver.
|
|
895
891
|
*/
|
|
896
|
-
export function useKitLabelOverrides<K extends keyof UiKitLabels>(
|
|
897
|
-
ns: K,
|
|
898
|
-
): LabelOverride<UiKitLabels[K]> | undefined {
|
|
892
|
+
export function useKitLabelOverrides<K extends keyof UiKitLabels>(ns: K): LabelOverride<UiKitLabels[K]> | undefined {
|
|
899
893
|
return useContext(KitI18nContext).labels?.[ns];
|
|
900
894
|
}
|
|
901
895
|
|
|
@@ -912,10 +906,7 @@ export function useKitLabels<K extends keyof UiKitLabels>(
|
|
|
912
906
|
prop?: LabelOverride<UiKitLabels[K]>,
|
|
913
907
|
): UiKitLabels[K] {
|
|
914
908
|
const fromProvider = useKitLabelOverrides(ns);
|
|
915
|
-
return useMemo(
|
|
916
|
-
() => mergeNamespace(mergeNamespace(defaults, fromProvider), prop),
|
|
917
|
-
[defaults, fromProvider, prop],
|
|
918
|
-
);
|
|
909
|
+
return useMemo(() => mergeNamespace(mergeNamespace(defaults, fromProvider), prop), [defaults, fromProvider, prop]);
|
|
919
910
|
}
|
|
920
911
|
|
|
921
912
|
/** The component's own `locale` prop, else the provider's, else `undefined` (which
|
|
@@ -973,10 +964,7 @@ export function useKitDocumentTitle(): { format: string | undefined; appName: st
|
|
|
973
964
|
/** {@link DEFAULT_FILE_LABELS}, but formatting in the provider's locale. */
|
|
974
965
|
export function useKitFileLabels(prop?: Partial<FileLabels>): FileLabels {
|
|
975
966
|
const locale = useKitLocale();
|
|
976
|
-
const defaults = useMemo<FileLabels>(
|
|
977
|
-
() => ({ size: (bytes) => formatFileSize(bytes, locale) }),
|
|
978
|
-
[locale],
|
|
979
|
-
);
|
|
967
|
+
const defaults = useMemo<FileLabels>(() => ({ size: (bytes) => formatFileSize(bytes, locale) }), [locale]);
|
|
980
968
|
return useKitLabels("file", defaults, prop);
|
|
981
969
|
}
|
|
982
970
|
|
|
@@ -992,10 +980,7 @@ export function useKitFileLabels(prop?: Partial<FileLabels>): FileLabels {
|
|
|
992
980
|
* those components. Left out (a test file is not type-checked), it throws saying so
|
|
993
981
|
* rather than "Cannot convert undefined or null to object" (keksdose, 0.18).
|
|
994
982
|
*/
|
|
995
|
-
export function missingKitLabels(
|
|
996
|
-
labels: UiKitLabelOverrides | undefined,
|
|
997
|
-
reference: UiKitLabels,
|
|
998
|
-
): string[] {
|
|
983
|
+
export function missingKitLabels(labels: UiKitLabelOverrides | undefined, reference: UiKitLabels): string[] {
|
|
999
984
|
if (!isRecord(reference)) {
|
|
1000
985
|
throw new TypeError(
|
|
1001
986
|
"missingKitLabels(labels, reference): pass DEFAULT_UI_KIT_LABELS as the reference — " +
|
package/src/i18n/languages.ts
CHANGED
|
@@ -112,10 +112,7 @@ const languagePart = (tag: string) => tag.split("-")[0].toLowerCase();
|
|
|
112
112
|
* rather than landing on a guess. Underscores are read as hyphens (`de_CH`), the way a
|
|
113
113
|
* Java or Python backend may have stored the account's locale.
|
|
114
114
|
*/
|
|
115
|
-
function answer(
|
|
116
|
-
candidate: unknown,
|
|
117
|
-
offered: readonly KitLanguageCode[],
|
|
118
|
-
): KitLanguageCode | undefined {
|
|
115
|
+
function answer(candidate: unknown, offered: readonly KitLanguageCode[]): KitLanguageCode | undefined {
|
|
119
116
|
if (typeof candidate !== "string") return undefined;
|
|
120
117
|
const tag = candidate.trim().replace(/_/g, "-");
|
|
121
118
|
if (!tag) return undefined;
|
|
@@ -275,10 +272,7 @@ function cacheKey(code: string, formatLocale: string): [KitLanguageCode, string]
|
|
|
275
272
|
* A rejected fetch (a deploy replaced the chunk, the device went offline) is not
|
|
276
273
|
* remembered, so the next call tries again.
|
|
277
274
|
*/
|
|
278
|
-
export function loadUiKitLabels(
|
|
279
|
-
code: string,
|
|
280
|
-
formatLocale: string = catalogueFormat(code),
|
|
281
|
-
): Promise<UiKitLabels> {
|
|
275
|
+
export function loadUiKitLabels(code: string, formatLocale: string = catalogueFormat(code)): Promise<UiKitLabels> {
|
|
282
276
|
const [language, key] = cacheKey(code, formatLocale);
|
|
283
277
|
let labels = loaded.get(key);
|
|
284
278
|
if (!labels) {
|
package/src/i18n/locales/en.ts
CHANGED
|
@@ -24,8 +24,7 @@ export function uiKitLabelsEn(numberLocale = "en-US"): UiKitLabels {
|
|
|
24
24
|
const n = (value: number) => num.format(value);
|
|
25
25
|
const d = DEFAULT_UI_KIT_LABELS;
|
|
26
26
|
// As `inDays` in src/billing/billing-labels.ts: 0 (or less) is today, 1 tomorrow.
|
|
27
|
-
const inDays = (days: number) =>
|
|
28
|
-
days <= 0 ? "today" : days === 1 ? "tomorrow" : `in ${n(days)} days`;
|
|
27
|
+
const inDays = (days: number) => (days <= 0 ? "today" : days === 1 ? "tomorrow" : `in ${n(days)} days`);
|
|
29
28
|
|
|
30
29
|
return {
|
|
31
30
|
...d,
|
|
@@ -59,10 +58,7 @@ export function uiKitLabelsEn(numberLocale = "en-US"): UiKitLabels {
|
|
|
59
58
|
measuredGrid: {
|
|
60
59
|
...d.measuredGrid,
|
|
61
60
|
points: (count) => (count === 1 ? "1 point" : `${n(count)} points`),
|
|
62
|
-
problems: (count) =>
|
|
63
|
-
count === 1
|
|
64
|
-
? "1 cell is not a number"
|
|
65
|
-
: `${n(count)} cells are not numbers`,
|
|
61
|
+
problems: (count) => (count === 1 ? "1 cell is not a number" : `${n(count)} cells are not numbers`),
|
|
66
62
|
},
|
|
67
63
|
dataTable: {
|
|
68
64
|
...d.dataTable,
|
|
@@ -80,12 +76,8 @@ export function uiKitLabelsEn(numberLocale = "en-US"): UiKitLabels {
|
|
|
80
76
|
combobox: {
|
|
81
77
|
...d.combobox,
|
|
82
78
|
selectedCount: (count) => `${n(count)} selected`,
|
|
83
|
-
resultCount: (count) =>
|
|
84
|
-
|
|
85
|
-
minChars: (count) =>
|
|
86
|
-
count === 1
|
|
87
|
-
? "Type at least 1 character"
|
|
88
|
-
: `Type at least ${n(count)} characters`,
|
|
79
|
+
resultCount: (count) => (count === 1 ? "1 result" : `${n(count)} results`),
|
|
80
|
+
minChars: (count) => (count === 1 ? "Type at least 1 character" : `Type at least ${n(count)} characters`),
|
|
89
81
|
},
|
|
90
82
|
multiSelect: {
|
|
91
83
|
...d.multiSelect,
|
|
@@ -95,6 +87,10 @@ export function uiKitLabelsEn(numberLocale = "en-US"): UiKitLabels {
|
|
|
95
87
|
...d.chipInput,
|
|
96
88
|
atLimit: (max) => `Limit of ${n(max)} reached`,
|
|
97
89
|
},
|
|
90
|
+
list: {
|
|
91
|
+
...d.list,
|
|
92
|
+
showAll: (count) => `Show all (${n(count)})`,
|
|
93
|
+
},
|
|
98
94
|
iconPicker: {
|
|
99
95
|
...d.iconPicker,
|
|
100
96
|
resultCount: (count) => (count === 1 ? "1 icon" : `${n(count)} icons`),
|
|
@@ -112,12 +108,8 @@ export function uiKitLabelsEn(numberLocale = "en-US"): UiKitLabels {
|
|
|
112
108
|
rejectedCount: (name, maxFiles) =>
|
|
113
109
|
`“${name}” was not added: at most ${n(maxFiles)} ${maxFiles === 1 ? "file" : "files"}`,
|
|
114
110
|
rejectedMany: (count) => `${n(count)} files were not added`,
|
|
115
|
-
rejectedPick: (count) =>
|
|
116
|
-
|
|
117
|
-
? "The file was not added"
|
|
118
|
-
: `None of the ${n(count)} files were added`,
|
|
119
|
-
selected: (count, firstName) =>
|
|
120
|
-
count === 1 ? `“${firstName}” selected` : `${n(count)} files selected`,
|
|
111
|
+
rejectedPick: (count) => (count === 1 ? "The file was not added" : `None of the ${n(count)} files were added`),
|
|
112
|
+
selected: (count, firstName) => (count === 1 ? `“${firstName}” selected` : `${n(count)} files selected`),
|
|
121
113
|
},
|
|
122
114
|
wizard: {
|
|
123
115
|
...d.wizard,
|
|
@@ -130,8 +122,7 @@ export function uiKitLabelsEn(numberLocale = "en-US"): UiKitLabels {
|
|
|
130
122
|
passwordStrength: {
|
|
131
123
|
...d.passwordStrength,
|
|
132
124
|
ruleLength: (minLength) => `At least ${n(minLength)} characters`,
|
|
133
|
-
tooLong: (maxBytes) =>
|
|
134
|
-
`At most ${n(maxBytes)} characters (accents and emoji count for more than one).`,
|
|
125
|
+
tooLong: (maxBytes) => `At most ${n(maxBytes)} characters (accents and emoji count for more than one).`,
|
|
135
126
|
},
|
|
136
127
|
floatingPanel: {
|
|
137
128
|
...d.floatingPanel,
|
|
@@ -165,8 +156,7 @@ export function uiKitLabelsEn(numberLocale = "en-US"): UiKitLabels {
|
|
|
165
156
|
characterCount: {
|
|
166
157
|
...d.characterCount,
|
|
167
158
|
count: (used, max) => `${n(used)} of ${n(max)} characters`,
|
|
168
|
-
remaining: (left) =>
|
|
169
|
-
left === 1 ? "1 character left" : `${n(left)} characters left`,
|
|
159
|
+
remaining: (left) => (left === 1 ? "1 character left" : `${n(left)} characters left`),
|
|
170
160
|
},
|
|
171
161
|
ibanInput: {
|
|
172
162
|
...d.ibanInput,
|
|
@@ -177,15 +167,10 @@ export function uiKitLabelsEn(numberLocale = "en-US"): UiKitLabels {
|
|
|
177
167
|
...d.columnMapper,
|
|
178
168
|
summary: (columns, rows) =>
|
|
179
169
|
`${n(columns)} ${columns === 1 ? "column" : "columns"}, ${n(rows)} ${rows === 1 ? "row" : "rows"}`,
|
|
180
|
-
unreadCount: (count) =>
|
|
181
|
-
count === 1
|
|
182
|
-
? "1 line could not be read"
|
|
183
|
-
: `${n(count)} lines could not be read`,
|
|
170
|
+
unreadCount: (count) => (count === 1 ? "1 line could not be read" : `${n(count)} lines could not be read`),
|
|
184
171
|
unreadMore: (count) => `…and ${n(count)} more`,
|
|
185
172
|
previewOf: (shown, total) =>
|
|
186
|
-
shown === 1
|
|
187
|
-
? `The first of ${n(total)} rows`
|
|
188
|
-
: `The first ${n(shown)} of ${n(total)} rows`,
|
|
173
|
+
shown === 1 ? `The first of ${n(total)} rows` : `The first ${n(shown)} of ${n(total)} rows`,
|
|
189
174
|
},
|
|
190
175
|
signIn: {
|
|
191
176
|
...d.signIn,
|
|
@@ -209,8 +194,7 @@ export function uiKitLabelsEn(numberLocale = "en-US"): UiKitLabels {
|
|
|
209
194
|
notifications: {
|
|
210
195
|
...d.notifications,
|
|
211
196
|
testSent: (count) => (count === 1 ? "Test sent to 1 device" : `Test sent to ${n(count)} devices`),
|
|
212
|
-
failures: (count) =>
|
|
213
|
-
count === 1 ? "1 failed delivery in a row" : `${n(count)} failed deliveries in a row`,
|
|
197
|
+
failures: (count) => (count === 1 ? "1 failed delivery in a row" : `${n(count)} failed deliveries in a row`),
|
|
214
198
|
bellUnread: (count) => `${n(count)} unread`,
|
|
215
199
|
},
|
|
216
200
|
settings: {
|