@eifi1/ui-kit 0.32.2 → 0.33.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 +16 -8
- package/dist/account/delete-account-setting.d.ts +10 -10
- package/dist/account/delete-account-setting.js +2 -1
- package/dist/account/delete-account-setting.js.map +1 -1
- package/dist/account/email-change-setting.d.ts +5 -0
- package/dist/account/email-change-setting.js +4 -3
- package/dist/account/email-change-setting.js.map +1 -1
- package/dist/account/sessions-setting.d.ts +4 -0
- package/dist/account/sessions-setting.js +3 -2
- package/dist/account/sessions-setting.js.map +1 -1
- package/dist/admin/admin-action-confirm.d.ts +10 -10
- package/dist/admin/admin-action-confirm.js.map +1 -1
- package/dist/admin/invitations-panel.d.ts +10 -10
- package/dist/admin/invitations-panel.js +4 -3
- package/dist/admin/invitations-panel.js.map +1 -1
- package/dist/admin/plan-change.d.ts +100 -0
- package/dist/admin/plan-change.js +208 -0
- package/dist/admin/plan-change.js.map +1 -0
- package/dist/admin/reviewer-scope-editor.d.ts +10 -10
- package/dist/admin/reviewer-scope-editor.js.map +1 -1
- package/dist/admin/role-select.d.ts +7 -7
- package/dist/admin/role-select.js.map +1 -1
- package/dist/admin/transfer-ownership-dialog.d.ts +10 -10
- package/dist/admin/user-roster.d.ts +7 -7
- package/dist/admin/user-roster.js +2 -2
- package/dist/admin/user-roster.js.map +1 -1
- package/dist/auth/auth-errors.d.ts +13 -2
- package/dist/auth/auth-errors.js +5 -1
- package/dist/auth/auth-errors.js.map +1 -1
- package/dist/auth/complete-name-dialog.d.ts +4 -1
- package/dist/auth/complete-name-dialog.js +2 -1
- package/dist/auth/complete-name-dialog.js.map +1 -1
- package/dist/auth/register-form.d.ts +10 -10
- package/dist/billing/billing-banner.d.ts +13 -11
- package/dist/billing/billing-banner.js.map +1 -1
- package/dist/billing/billing-labels.d.ts +10 -10
- package/dist/billing/billing-labels.js +10 -1
- package/dist/billing/billing-labels.js.map +1 -1
- package/dist/billing/billing-lock.d.ts +39 -12
- package/dist/billing/billing-lock.js +9 -3
- package/dist/billing/billing-lock.js.map +1 -1
- package/dist/billing/billing-overview.d.ts +154 -0
- package/dist/billing/billing-overview.js +2 -0
- package/dist/billing/billing-overview.js.map +1 -0
- package/dist/billing/billing-standing.d.ts +10 -10
- package/dist/billing/checkout-processing.d.ts +217 -0
- package/dist/billing/checkout-processing.js +198 -0
- package/dist/billing/checkout-processing.js.map +1 -0
- package/dist/billing/checkout-return.d.ts +51 -0
- package/dist/billing/checkout-return.js +43 -0
- package/dist/billing/checkout-return.js.map +1 -0
- package/dist/billing/pay-page.d.ts +210 -0
- package/dist/billing/pay-page.js +113 -0
- package/dist/billing/pay-page.js.map +1 -0
- package/dist/billing/plan-card.d.ts +10 -10
- package/dist/billing/plan-limit-notice.d.ts +10 -10
- package/dist/billing/plan-limit-toast.d.ts +143 -0
- package/dist/billing/plan-limit-toast.js +40 -0
- package/dist/billing/plan-limit-toast.js.map +1 -0
- package/dist/billing/subscription-actions.d.ts +38 -15
- package/dist/billing/subscription-actions.js +9 -2
- package/dist/billing/subscription-actions.js.map +1 -1
- package/dist/billing/subscription-status-chip.d.ts +9 -9
- package/dist/bin/eifi1-pay-page.mjs +166 -0
- package/dist/chart.d.ts +10 -10
- package/dist/components/account-chips.d.ts +6 -1
- package/dist/components/account-settings.d.ts +4 -1
- package/dist/components/account-settings.js +2 -1
- package/dist/components/account-settings.js.map +1 -1
- package/dist/components/amount-input.d.ts +10 -10
- package/dist/components/autocomplete.d.ts +2 -1
- package/dist/components/autocomplete.js +3 -1
- package/dist/components/autocomplete.js.map +1 -1
- package/dist/components/button-group.d.ts +10 -10
- package/dist/components/button-group.js +1 -1
- package/dist/components/button-group.js.map +1 -1
- package/dist/components/calculator.d.ts +10 -10
- package/dist/components/calculator.js +3 -3
- package/dist/components/calculator.js.map +1 -1
- package/dist/components/checkbox-group.d.ts +2 -1
- package/dist/components/checkbox-group.js.map +1 -1
- package/dist/components/checkbox.d.ts +2 -1
- package/dist/components/checkbox.js.map +1 -1
- package/dist/components/chip.d.ts +2 -1
- package/dist/components/chip.js +19 -17
- package/dist/components/chip.js.map +1 -1
- package/dist/components/choice-card.d.ts +3 -1
- package/dist/components/choice-card.js +1 -1
- package/dist/components/choice-card.js.map +1 -1
- package/dist/components/combobox.d.ts +4 -3
- package/dist/components/combobox.js.map +1 -1
- package/dist/components/confirm-dialog.d.ts +10 -10
- package/dist/components/confirm-dialog.js +6 -3
- package/dist/components/confirm-dialog.js.map +1 -1
- package/dist/components/copy-button.d.ts +11 -11
- package/dist/components/country-select.d.ts +2 -1
- package/dist/components/country-select.js.map +1 -1
- package/dist/components/danger-confirm.d.ts +10 -10
- package/dist/components/danger-confirm.js.map +1 -1
- package/dist/components/data-table-cells.d.ts +12 -1
- package/dist/components/data-table-filter-popover.d.ts +12 -1
- package/dist/components/data-table-filters.d.ts +12 -1
- package/dist/components/data-table-labels.d.ts +12 -1
- package/dist/components/data-table-pagination.d.ts +12 -1
- package/dist/components/data-table.d.ts +12 -1
- package/dist/components/data-table.js +3 -3
- package/dist/components/data-table.js.map +1 -1
- package/dist/components/date-picker.js +6 -4
- package/dist/components/date-picker.js.map +1 -1
- package/dist/components/entity-combobox.d.ts +3 -2
- package/dist/components/entity-combobox.js.map +1 -1
- package/dist/components/facing-pair.d.ts +10 -10
- package/dist/components/field-parts.d.ts +32 -4
- package/dist/components/field-parts.js +54 -19
- package/dist/components/field-parts.js.map +1 -1
- package/dist/components/file-button.d.ts +10 -10
- package/dist/components/file-button.js +3 -2
- package/dist/components/file-button.js.map +1 -1
- package/dist/components/file-dropzone.d.ts +11 -11
- package/dist/components/file-dropzone.js.map +1 -1
- package/dist/components/floating-panel.js +5 -5
- package/dist/components/floating-panel.js.map +1 -1
- package/dist/components/form-actions.d.ts +9 -9
- package/dist/components/form-actions.js +3 -3
- package/dist/components/form-actions.js.map +1 -1
- package/dist/components/iban-input.d.ts +10 -10
- package/dist/components/inline-edit-field.d.ts +2 -1
- package/dist/components/inline-edit-field.js +6 -6
- package/dist/components/inline-edit-field.js.map +1 -1
- package/dist/components/language-select.d.ts +10 -10
- package/dist/components/legal-page.d.ts +10 -10
- package/dist/components/legal.d.ts +10 -10
- package/dist/components/list.d.ts +2 -1
- package/dist/components/list.js +4 -5
- package/dist/components/list.js.map +1 -1
- package/dist/components/money-field.d.ts +10 -10
- package/dist/components/month-picker.js +54 -44
- package/dist/components/month-picker.js.map +1 -1
- package/dist/components/multi-entity-combobox.d.ts +3 -2
- package/dist/components/multi-entity-combobox.js.map +1 -1
- package/dist/components/number-field.d.ts +10 -10
- package/dist/components/number-input.d.ts +10 -10
- package/dist/components/numpad-sheet.d.ts +10 -10
- package/dist/components/numpad-sheet.js +2 -2
- package/dist/components/numpad-sheet.js.map +1 -1
- package/dist/components/phone-input.d.ts +10 -10
- package/dist/components/row-actions.d.ts +5 -5
- package/dist/components/row-actions.js +130 -32
- package/dist/components/row-actions.js.map +1 -1
- package/dist/components/series-chart.d.ts +10 -10
- package/dist/components/settings-fields.d.ts +10 -10
- package/dist/components/share-card.d.ts +7 -7
- package/dist/components/share-card.js +26 -10
- package/dist/components/share-card.js.map +1 -1
- package/dist/components/status-dot.d.ts +1 -0
- package/dist/components/status-dot.js +2 -2
- package/dist/components/status-dot.js.map +1 -1
- package/dist/components/swatch-picker.d.ts +2 -1
- package/dist/components/swatch-picker.js.map +1 -1
- package/dist/components/swipeable-row.d.ts +88 -17
- package/dist/components/swipeable-row.js +46 -9
- package/dist/components/swipeable-row.js.map +1 -1
- package/dist/components/switch.d.ts +2 -1
- package/dist/components/switch.js.map +1 -1
- package/dist/components/table.d.ts +2 -1
- package/dist/components/table.js +6 -0
- package/dist/components/table.js.map +1 -1
- package/dist/components/text-link.d.ts +9 -9
- package/dist/components/time-input.d.ts +10 -10
- package/dist/components/toggle-group.d.ts +2 -1
- package/dist/components/toggle-group.js +1 -1
- package/dist/components/toggle-group.js.map +1 -1
- package/dist/components/translation-review-editor.d.ts +4 -0
- package/dist/components/translation-review-editor.js +4 -3
- package/dist/components/translation-review-editor.js.map +1 -1
- package/dist/components/translation-review-parts.d.ts +1 -0
- package/dist/components/translation-review.d.ts +1 -0
- package/dist/components/translation-review.js +15 -18
- package/dist/components/translation-review.js.map +1 -1
- package/dist/components/ui.d.ts +9 -9
- package/dist/components/ui.js +47 -27
- package/dist/components/ui.js.map +1 -1
- package/dist/components/use-table-state.d.ts +12 -1
- package/dist/components/user-avatar.d.ts +1 -0
- package/dist/components/write-lock.d.ts +101 -13
- package/dist/components/write-lock.js +37 -13
- package/dist/components/write-lock.js.map +1 -1
- package/dist/{data-table-labels-kpAAVi6g.d.ts → data-table-labels-BJ5JE_X2.d.ts} +17 -0
- package/dist/data-table.d.ts +12 -1
- package/dist/{delete-account-setting-Dy4kJgUm.d.ts → delete-account-setting-DiPX4Vue.d.ts} +355 -41
- package/dist/feedback/feedback-attachment.d.ts +10 -10
- package/dist/feedback/feedback-attachment.js +7 -7
- package/dist/feedback/feedback-attachment.js.map +1 -1
- package/dist/feedback/feedback-context.d.ts +10 -10
- package/dist/feedback/feedback-crash.d.ts +10 -10
- package/dist/feedback/feedback-dialog.d.ts +10 -10
- package/dist/feedback/feedback-inbox.d.ts +9 -9
- package/dist/feedback/feedback-inbox.js +7 -3
- package/dist/feedback/feedback-inbox.js.map +1 -1
- package/dist/feedback/feedback-labels.d.ts +10 -10
- package/dist/feedback/feedback-menu.d.ts +3 -3
- package/dist/feedback/feedback-record.d.ts +10 -10
- package/dist/feedback/feedback-row-detail.d.ts +10 -10
- package/dist/feedback/feedback-row-detail.js.map +1 -1
- package/dist/feedback/feedback-status-undo.d.ts +10 -10
- package/dist/feedback/feedback-submit.d.ts +10 -10
- package/dist/feedback/feedback-swipe.d.ts +10 -10
- package/dist/feedback/feedback-swipe.js +3 -6
- package/dist/feedback/feedback-swipe.js.map +1 -1
- package/dist/feedback/feedback-table.d.ts +10 -10
- package/dist/feedback/feedback-table.js.map +1 -1
- package/dist/feedback/feedback-thread.d.ts +10 -10
- package/dist/feedback.d.ts +10 -10
- package/dist/hooks/use-file-drop.d.ts +10 -10
- package/dist/i18n/defaults.d.ts +10 -10
- package/dist/i18n/defaults.js +2 -0
- package/dist/i18n/defaults.js.map +1 -1
- package/dist/i18n/german.d.ts +10 -10
- package/dist/i18n/german.js +34 -1
- package/dist/i18n/german.js.map +1 -1
- package/dist/i18n/kit-labels.d.ts +4 -4
- package/dist/i18n/kit-labels.js.map +1 -1
- package/dist/i18n/languages.d.ts +10 -10
- package/dist/i18n/locales/de-CH.d.ts +10 -10
- package/dist/i18n/locales/en.d.ts +10 -10
- package/dist/i18n/locales/es.d.ts +10 -10
- package/dist/i18n/locales/es.js +34 -1
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.d.ts +10 -10
- package/dist/i18n/locales/fr.js +35 -1
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hu.d.ts +10 -10
- package/dist/i18n/locales/hu.js +36 -1
- package/dist/i18n/locales/hu.js.map +1 -1
- package/dist/i18n/locales/it.d.ts +10 -10
- package/dist/i18n/locales/it.js +34 -1
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/zh.d.ts +10 -10
- package/dist/i18n/locales/zh.js +34 -1
- package/dist/i18n/locales/zh.js.map +1 -1
- package/dist/i18n/review.d.ts +10 -10
- package/dist/i18n/review.js +8 -1
- package/dist/i18n/review.js.map +1 -1
- package/dist/index.d.ts +10 -5
- package/dist/index.js +40 -2
- package/dist/index.js.map +1 -1
- package/dist/landing/landing-actions.d.ts +10 -10
- package/dist/landing/landing-sections.d.ts +10 -10
- package/dist/landing/public-header.d.ts +10 -10
- package/dist/landing/routing.d.ts +10 -10
- package/dist/pay/.well-known/apple-developer-merchantid-domain-association +1 -0
- package/dist/pay/index.html +30 -0
- package/dist/pay/pay.css +126 -0
- package/dist/pay/pay.js +198 -0
- package/dist/rhf/fields.d.ts +10 -10
- package/dist/rhf/form.d.ts +10 -10
- package/dist/rhf.d.ts +10 -10
- package/dist/settings/settings-section.d.ts +10 -10
- package/dist/shell/app-shell.d.ts +9 -9
- package/dist/shell/top-bar-brand.d.ts +10 -10
- package/dist/shell/topbar-action-menu.d.ts +1 -0
- package/dist/shell.d.ts +10 -10
- package/dist/testing/css-variables.d.ts +74 -0
- package/dist/testing/css-variables.generated.d.ts +7 -0
- package/dist/testing/css-variables.generated.js +8 -0
- package/dist/testing/css-variables.generated.js.map +1 -0
- package/dist/testing/css-variables.js +93 -0
- package/dist/testing/css-variables.js.map +1 -0
- package/dist/testing/index.d.ts +1 -0
- package/dist/testing/index.js +12 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/theme/contrast-tokens.d.ts +44 -1
- package/dist/theme/contrast-tokens.js +21 -0
- package/dist/theme/contrast-tokens.js.map +1 -1
- package/dist/theme/contrast.d.ts +2 -2
- package/dist/theme/palette-derive.js +60 -11
- package/dist/theme/palette-derive.js.map +1 -1
- package/dist/theme/palette-presets.js +45 -43
- package/dist/theme/palette-presets.js.map +1 -1
- package/dist/wizard/stepper-nav.d.ts +11 -11
- package/dist/wizard/stepper-nav.js.map +1 -1
- package/dist/wizard.d.ts +10 -10
- package/package.json +10 -2
- package/src/account/delete-account-setting.tsx +6 -1
- package/src/account/email-change-setting.tsx +9 -3
- package/src/account/sessions-setting.tsx +7 -2
- package/src/admin/admin-action-confirm.tsx +2 -1
- package/src/admin/invitations-panel.tsx +9 -3
- package/src/admin/plan-change.tsx +459 -0
- package/src/admin/reviewer-scope-editor.tsx +2 -1
- package/src/admin/role-select.tsx +2 -1
- package/src/admin/user-roster.tsx +5 -3
- package/src/auth/auth-errors.ts +25 -2
- package/src/auth/complete-name-dialog.tsx +6 -2
- package/src/billing/billing-banner.tsx +3 -1
- package/src/billing/billing-labels.ts +45 -0
- package/src/billing/billing-lock.ts +36 -3
- package/src/billing/billing-overview.ts +58 -0
- package/src/billing/checkout-processing.ts +391 -0
- package/src/billing/checkout-return.ts +90 -0
- package/src/billing/pay-page.ts +242 -0
- package/src/billing/plan-limit-toast.tsx +91 -0
- package/src/billing/subscription-actions.tsx +41 -8
- package/src/components/account-settings.tsx +6 -2
- package/src/components/autocomplete.tsx +5 -2
- package/src/components/button-group.tsx +4 -1
- package/src/components/calculator.tsx +10 -6
- package/src/components/checkbox-group.tsx +2 -2
- package/src/components/checkbox.tsx +2 -1
- package/src/components/chip.tsx +37 -32
- package/src/components/choice-card.tsx +4 -2
- package/src/components/combobox.tsx +4 -4
- package/src/components/confirm-dialog.tsx +13 -6
- package/src/components/country-select.tsx +2 -2
- package/src/components/danger-confirm.tsx +2 -2
- package/src/components/data-table.tsx +20 -9
- package/src/components/date-picker.tsx +10 -7
- package/src/components/entity-combobox.tsx +3 -3
- package/src/components/field-parts.tsx +61 -14
- package/src/components/file-button.tsx +5 -4
- package/src/components/file-dropzone.tsx +2 -2
- package/src/components/floating-panel.tsx +7 -5
- package/src/components/form-actions.tsx +12 -5
- package/src/components/inline-edit-field.tsx +13 -13
- package/src/components/list.tsx +10 -9
- package/src/components/month-picker.tsx +8 -2
- package/src/components/multi-entity-combobox.tsx +3 -3
- package/src/components/numpad-sheet.tsx +8 -4
- package/src/components/row-actions.tsx +208 -58
- package/src/components/share-card.tsx +67 -13
- package/src/components/status-dot.tsx +7 -7
- package/src/components/swatch-picker.tsx +2 -2
- package/src/components/swipeable-row.tsx +138 -27
- package/src/components/switch.tsx +2 -1
- package/src/components/table.tsx +8 -1
- package/src/components/toggle-group.tsx +5 -3
- package/src/components/translation-review-editor.tsx +8 -3
- package/src/components/translation-review.tsx +18 -22
- package/src/components/ui.tsx +92 -43
- package/src/components/write-lock.tsx +150 -24
- package/src/feedback/feedback-attachment.tsx +13 -9
- package/src/feedback/feedback-inbox.tsx +10 -6
- package/src/feedback/feedback-row-detail.tsx +3 -2
- package/src/feedback/feedback-swipe.tsx +6 -11
- package/src/feedback/feedback-table.tsx +2 -1
- package/src/i18n/defaults.ts +2 -0
- package/src/i18n/german.ts +38 -0
- package/src/i18n/kit-labels.tsx +4 -0
- package/src/i18n/locales/es.ts +34 -0
- package/src/i18n/locales/fr.ts +39 -0
- package/src/i18n/locales/hu.ts +37 -0
- package/src/i18n/locales/it.ts +35 -0
- package/src/i18n/locales/zh.ts +33 -0
- package/src/i18n/review.ts +7 -0
- package/src/index.ts +48 -4
- package/src/testing/css-variables.generated.ts +112 -0
- package/src/testing/css-variables.ts +191 -0
- package/src/testing/index.ts +13 -0
- package/src/theme/contrast-tokens.ts +53 -2
- package/src/theme/palette-derive.ts +87 -10
- package/src/theme/palette-presets.ts +45 -43
- package/src/wizard/stepper-nav.tsx +2 -1
- package/tokens.css +306 -46
|
@@ -37,6 +37,7 @@ import {
|
|
|
37
37
|
import type { FeedbackContext, FeedbackRecord } from "./feedback-record";
|
|
38
38
|
import { useFeedbackStatusUndo } from "./feedback-status-undo";
|
|
39
39
|
import type { FeedbackStatusChange } from "./feedback-status-undo";
|
|
40
|
+
import type { CommitScope } from "../components/write-lock";
|
|
40
41
|
|
|
41
42
|
/**
|
|
42
43
|
* One report, opened — the panel a feedback table unfolds under its row (§4.4 of
|
|
@@ -410,7 +411,7 @@ export interface FeedbackReworkSectionProps {
|
|
|
410
411
|
* `feedbackToast` refusals, the `feedbackAttachment` words. */
|
|
411
412
|
attachment?: Partial<FeedbackNoteAttachment>;
|
|
412
413
|
/** The send COMMITS — see `FeedbackNoteEditor`'s `commit`. */
|
|
413
|
-
commit?:
|
|
414
|
+
commit?: CommitScope;
|
|
414
415
|
labels?: Partial<FeedbackDetailLabels>;
|
|
415
416
|
}
|
|
416
417
|
|
|
@@ -569,7 +570,7 @@ export interface FeedbackRowDetailProps {
|
|
|
569
570
|
* reaches `onUpdate`. Off by default — keksdose's shell lock is a read-only demo
|
|
570
571
|
* BUDGET, and a person viewing one still owns their own reports.
|
|
571
572
|
*/
|
|
572
|
-
commit?:
|
|
573
|
+
commit?: CommitScope;
|
|
573
574
|
/**
|
|
574
575
|
* Open with the subject: the category badge and the title (feedback contract §8.1,
|
|
575
576
|
* keksdose live #395). On by default; `false` for a page that already shows the title
|
|
@@ -79,11 +79,9 @@ function targetOf(id: string, status: FeedbackStatus): FeedbackStatus | null {
|
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
-
/** One action's panel
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
* mode, the dark page on the pale sky in dark (the translation list's reset does the
|
|
86
|
-
* same on its grey). */
|
|
82
|
+
/** One action's panel, by tone (0.33): SwipeableRow paints the tone's soft wash idle,
|
|
83
|
+
* and its fill under that fill's own foreground once armed — the same pairs in light
|
|
84
|
+
* and dark, where the fills turn pastel. */
|
|
87
85
|
function panel(
|
|
88
86
|
id: FeedbackSwipeAction,
|
|
89
87
|
target: FeedbackStatus,
|
|
@@ -97,24 +95,21 @@ function panel(
|
|
|
97
95
|
onCommit,
|
|
98
96
|
label: labels[target],
|
|
99
97
|
icon: <ChevronsRight className="size-4" aria-hidden />,
|
|
100
|
-
|
|
101
|
-
armedClassName: "bg-[var(--info)] text-[var(--info-contrast)]",
|
|
98
|
+
tone: "info",
|
|
102
99
|
};
|
|
103
100
|
case "done":
|
|
104
101
|
return {
|
|
105
102
|
onCommit,
|
|
106
103
|
label: labels.DONE,
|
|
107
104
|
icon: <Check className="size-4" aria-hidden />,
|
|
108
|
-
|
|
109
|
-
armedClassName: "bg-[var(--success)] text-[var(--success-contrast)]",
|
|
105
|
+
tone: "success",
|
|
110
106
|
};
|
|
111
107
|
case "wont_do":
|
|
112
108
|
return {
|
|
113
109
|
onCommit,
|
|
114
110
|
label: labels.WONT_DO,
|
|
115
111
|
icon: <Ban className="size-4" aria-hidden />,
|
|
116
|
-
|
|
117
|
-
armedClassName: "bg-[var(--danger-hover)] text-[var(--danger-contrast)]",
|
|
112
|
+
tone: "danger",
|
|
118
113
|
};
|
|
119
114
|
}
|
|
120
115
|
}
|
|
@@ -31,6 +31,7 @@ import {
|
|
|
31
31
|
import { FEEDBACK_AWAITING_STATUSES, reworkCount, type FeedbackContext, type FeedbackRecord } from "./feedback-record";
|
|
32
32
|
import type { FeedbackStatusChange } from "./feedback-status-undo";
|
|
33
33
|
import { feedbackPageHref, feedbackPagePath } from "./feedback-row-detail";
|
|
34
|
+
import type { CommitScope } from "../components/write-lock";
|
|
34
35
|
|
|
35
36
|
/**
|
|
36
37
|
* The two feedback pages' TABLE — `/feedback` (the admin inbox) and `/my-feedback` (the
|
|
@@ -399,7 +400,7 @@ export interface FeedbackColumnsOptions {
|
|
|
399
400
|
/** The status buttons SAVE when pressed: pass `true` to put them under the page's
|
|
400
401
|
* `WriteLockProvider` (FeedbackStatusTransitions' `commit`). Off by default — a
|
|
401
402
|
* feedback inbox is rarely what an app's lock is about. */
|
|
402
|
-
commit?:
|
|
403
|
+
commit?: CommitScope;
|
|
403
404
|
labels: FeedbackPageLabels;
|
|
404
405
|
statusLabels: FeedbackStatusLabels;
|
|
405
406
|
categoryLabels: FeedbackCategoryLabels;
|
package/src/i18n/defaults.ts
CHANGED
|
@@ -85,6 +85,7 @@ import { DEFAULT_SETTINGS_LABELS } from "../settings/settings-labels";
|
|
|
85
85
|
import { DEFAULT_LANDING_LABELS } from "../landing/landing-labels";
|
|
86
86
|
import { DEFAULT_DEMO_LABELS } from "../demo/demo-labels";
|
|
87
87
|
import { DEFAULT_BILLING_LABELS } from "../billing/billing-labels";
|
|
88
|
+
import { DEFAULT_PLAN_CHANGE_LABELS } from "../admin/plan-change";
|
|
88
89
|
import { DEFAULT_APPEARANCE_LABELS } from "../components/appearance-labels";
|
|
89
90
|
import { DEFAULT_ROW_ACTIONS_LABELS } from "../components/row-actions";
|
|
90
91
|
import { DEFAULT_APP_SHELL_MORE_LABELS } from "../shell/app-shell";
|
|
@@ -219,6 +220,7 @@ export const DEFAULT_UI_KIT_LABELS: UiKitLabels = {
|
|
|
219
220
|
landing: DEFAULT_LANDING_LABELS,
|
|
220
221
|
demo: DEFAULT_DEMO_LABELS,
|
|
221
222
|
billing: DEFAULT_BILLING_LABELS,
|
|
223
|
+
planChange: DEFAULT_PLAN_CHANGE_LABELS,
|
|
222
224
|
appearance: DEFAULT_APPEARANCE_LABELS,
|
|
223
225
|
rowActions: DEFAULT_ROW_ACTIONS_LABELS,
|
|
224
226
|
appShellMore: DEFAULT_APP_SHELL_MORE_LABELS,
|
package/src/i18n/german.ts
CHANGED
|
@@ -1525,9 +1525,22 @@ export function germanLabels(numberLocale: string): UiKitLabels {
|
|
|
1525
1525
|
// Both figures arrive formatted.
|
|
1526
1526
|
usage: (used, limit) => `${used} von ${limit}`,
|
|
1527
1527
|
contactSubject: (dimension) => `Tariflimit: ${dimension}`,
|
|
1528
|
+
// The toast's figure line (§14.11) and the plan change's over-limit lines (§14.12).
|
|
1529
|
+
limitUsageLine: (dimension, used, limit) => `${dimension}: ${used} von ${limit}`,
|
|
1528
1530
|
manage: "Zahlung und Rechnungen",
|
|
1529
1531
|
// §312k BGB: the button that leads to the cancellation says exactly this (§12.26).
|
|
1530
1532
|
cancel: "Verträge hier kündigen",
|
|
1533
|
+
// §14.5: no customer at the provider yet, so no portal to open.
|
|
1534
|
+
notAtProvider:
|
|
1535
|
+
"Noch nichts zu verwalten. Zahlungen und Rechnungen erscheinen hier, sobald Sie einen kostenpflichtigen Tarif haben.",
|
|
1536
|
+
// §14.4: the pay page's lines, built into its bundle. "Bezahlvorgang", Paddle's own
|
|
1537
|
+
// German for its checkout.
|
|
1538
|
+
payOpening: "Der sichere Bezahlvorgang wird geöffnet…",
|
|
1539
|
+
payNothing: "Hier ist nichts zu bezahlen. Um einen Tarif zu wählen, kehren Sie zur App zurück.",
|
|
1540
|
+
payFailed:
|
|
1541
|
+
"Der Bezahlvorgang konnte nicht geöffnet werden. Bitte kehren Sie zurück und versuchen Sie es gleich noch einmal.",
|
|
1542
|
+
payBack:
|
|
1543
|
+
"Der Bezahlvorgang wurde geschlossen. Sie können zurückkehren oder diese Seite neu laden, um ihn wieder zu öffnen.",
|
|
1531
1544
|
waitingChanges: (count) =>
|
|
1532
1545
|
count === 1
|
|
1533
1546
|
? `${n(count)} Änderung wartet auf einen Tarif`
|
|
@@ -1536,6 +1549,31 @@ export function germanLabels(numberLocale: string): UiKitLabels {
|
|
|
1536
1549
|
discardWaiting: "Wartende Änderungen verwerfen",
|
|
1537
1550
|
notConfigured: "Zahlungen sind noch nicht eingerichtet. Bitte versuchen Sie es später noch einmal.",
|
|
1538
1551
|
disabled: "Abonnements sind hier nicht verfügbar.",
|
|
1552
|
+
// §14.2: server-kit 0.7's refusals. "Zahlung und Rechnungen", as `manage`.
|
|
1553
|
+
providerUnavailable:
|
|
1554
|
+
"Der Zahlungsanbieter ist gerade nicht erreichbar. Bitte versuchen Sie es gleich noch einmal.",
|
|
1555
|
+
alreadySubscribed: "Sie haben bereits ein Abonnement. Ihren Tarif ändern Sie unter „Zahlung und Rechnungen“.",
|
|
1556
|
+
planNotSold:
|
|
1557
|
+
"Dieser Tarif ist für diesen Abrechnungszeitraum oder diese Währung nicht erhältlich. Bitte wählen Sie einen anderen.",
|
|
1558
|
+
},
|
|
1559
|
+
// 0.33.0 — docs/billing-harmonization.md §14.12: the operator's plan parts, "Tarif" as
|
|
1560
|
+
// in `billing`; keksdose's reviewed admin wording where it had one.
|
|
1561
|
+
planChange: {
|
|
1562
|
+
column: "Tarif",
|
|
1563
|
+
title: "Tarif ändern",
|
|
1564
|
+
confirm: "Tarif ändern",
|
|
1565
|
+
plan: "Tarif",
|
|
1566
|
+
current: (plan) => `Aktueller Tarif: ${plan}`,
|
|
1567
|
+
keepsItems: "Ein kleinerer Tarif sperrt nur das Anlegen weiterer Einträge; gelöscht wird nichts.",
|
|
1568
|
+
until: "Kostenlos bis",
|
|
1569
|
+
untilHint: "Leer lassen für kein Ende. Eine laufende Beta behält ihr eigenes Ende.",
|
|
1570
|
+
needsChange: "Wählen Sie einen anderen Tarif oder ein Enddatum.",
|
|
1571
|
+
changed: (from, to) => `Tarif von ${from} auf ${to} geändert.`,
|
|
1572
|
+
set: (to) => `Tarif auf ${to} gesetzt.`,
|
|
1573
|
+
keptBeta: "Die Beta behält ihr Ende; nur der Tarif wurde geändert.",
|
|
1574
|
+
untilDone: (date) => `Kostenlos bis ${date}.`,
|
|
1575
|
+
overLimit: "Über dem Limit des neuen Tarifs: Nichts wird entfernt, neue Einträge sind gesperrt.",
|
|
1576
|
+
usageOf: (used, limit, dimension) => `${used} von ${limit} ${dimension}`,
|
|
1539
1577
|
},
|
|
1540
1578
|
// 0.32.0 — docs/text-size-harmonization.md §6: the text-size and contrast settings in
|
|
1541
1579
|
// the "Darstellung" group.
|
package/src/i18n/kit-labels.tsx
CHANGED
|
@@ -81,6 +81,7 @@ import type { SettingsLabels } from "../settings/settings-labels";
|
|
|
81
81
|
import type { LandingLabels } from "../landing/landing-labels";
|
|
82
82
|
import type { DemoLabels } from "../demo/demo-labels";
|
|
83
83
|
import type { BillingLabels } from "../billing/billing-labels";
|
|
84
|
+
import type { PlanChangeLabels } from "../admin/plan-change";
|
|
84
85
|
import type { AppearanceLabels } from "../components/appearance-labels";
|
|
85
86
|
import type { RowActionsLabels } from "../components/row-actions";
|
|
86
87
|
import type { AppShellMoreLabels } from "../shell/app-shell";
|
|
@@ -398,6 +399,9 @@ export interface UiKitLabels {
|
|
|
398
399
|
demo: DemoLabels;
|
|
399
400
|
/** 0.32.0: plans, standing, banners and the limit notice (docs/billing-harmonization.md §7). */
|
|
400
401
|
billing: BillingLabels;
|
|
402
|
+
/** 0.33.0: the operator's plan parts — `planColumn`, `PlanChangeConfirm` and the
|
|
403
|
+
* lines of `usePlanChangeResult` (docs/billing-harmonization.md §14.12). */
|
|
404
|
+
planChange: PlanChangeLabels;
|
|
401
405
|
/** 0.32.0: the text-size and contrast settings (docs/text-size-harmonization.md §6). */
|
|
402
406
|
appearance: AppearanceLabels;
|
|
403
407
|
/** 0.32.0: a row's actions folded into a "⋯" menu at Large (text size §10.8). */
|
package/src/i18n/locales/es.ts
CHANGED
|
@@ -1485,13 +1485,47 @@ export function uiKitLabelsEs(numberLocale = "es-ES"): UiKitLabels {
|
|
|
1485
1485
|
// Both figures arrive formatted; "de", as `characterCount.count`.
|
|
1486
1486
|
usage: (used, limit) => `${used} de ${limit}`,
|
|
1487
1487
|
contactSubject: (dimension) => `Límite del plan: ${dimension}`,
|
|
1488
|
+
// The toast's figure line (§14.11) and the plan change's over-limit lines (§14.12).
|
|
1489
|
+
limitUsageLine: (dimension, used, limit) => `${dimension}: ${used} de ${limit}`,
|
|
1488
1490
|
manage: "Pagos y facturas",
|
|
1489
1491
|
cancel: "Cancelar la suscripción",
|
|
1492
|
+
// §14.5: no customer at the provider yet, so no portal to open.
|
|
1493
|
+
notAtProvider:
|
|
1494
|
+
"Todavía no hay nada que gestionar. Los pagos y las facturas aparecerán aquí cuando tenga un plan de pago.",
|
|
1495
|
+
// §14.4: the pay page's lines, built into its bundle. "Usted".
|
|
1496
|
+
payOpening: "Abriendo el pago seguro…",
|
|
1497
|
+
payNothing: "Aquí no hay nada que pagar. Para elegir un plan, vuelva a la aplicación.",
|
|
1498
|
+
payFailed: "No se ha podido abrir el pago. Vuelva atrás e inténtelo de nuevo en un momento.",
|
|
1499
|
+
payBack: "El pago se ha cerrado. Puede volver atrás o recargar esta página para abrirlo de nuevo.",
|
|
1490
1500
|
waitingChanges: (count) => `${n(count)} ${plural(count, "cambio", "cambios")} a la espera de un plan`,
|
|
1491
1501
|
// "Descartar", as `wizard.cancelConfirmLabel`.
|
|
1492
1502
|
discardWaiting: "Descartar los cambios en espera",
|
|
1493
1503
|
notConfigured: "Los pagos aún no están configurados. Inténtelo de nuevo más tarde.",
|
|
1494
1504
|
disabled: "Las suscripciones no están disponibles aquí.",
|
|
1505
|
+
// §14.2: server-kit 0.7's refusals. "Pagos y facturas", as `manage`. "Usted".
|
|
1506
|
+
providerUnavailable: "El proveedor de pagos no está disponible en este momento. Inténtelo de nuevo en un momento.",
|
|
1507
|
+
alreadySubscribed: "Ya tiene una suscripción. Para cambiar de plan, vaya a «Pagos y facturas».",
|
|
1508
|
+
planNotSold: "Este plan no está disponible para ese periodo de facturación o esa moneda. Elija otro.",
|
|
1509
|
+
},
|
|
1510
|
+
// 0.33.0 — docs/billing-harmonization.md §14.12: the operator's plan parts, "plan" as
|
|
1511
|
+
// in `billing`. "Usted".
|
|
1512
|
+
planChange: {
|
|
1513
|
+
column: "Plan",
|
|
1514
|
+
title: "Cambiar de plan",
|
|
1515
|
+
confirm: "Cambiar de plan",
|
|
1516
|
+
plan: "Plan",
|
|
1517
|
+
current: (plan) => `Plan actual: ${plan}`,
|
|
1518
|
+
keepsItems: "Un plan más pequeño solo impide crear más; no se elimina nada.",
|
|
1519
|
+
until: "Gratis hasta el",
|
|
1520
|
+
untilHint: "Déjelo vacío para que no tenga fin. Una beta en curso conserva su propio fin.",
|
|
1521
|
+
needsChange: "Elija otro plan o una fecha de fin.",
|
|
1522
|
+
changed: (from, to) => `Plan cambiado de ${from} a ${to}.`,
|
|
1523
|
+
set: (to) => `Plan establecido en ${to}.`,
|
|
1524
|
+
keptBeta: "La beta conserva su fin; solo ha cambiado el plan.",
|
|
1525
|
+
untilDone: (date) => `Gratis hasta el ${date}.`,
|
|
1526
|
+
overLimit: "Por encima del límite del nuevo plan: no se elimina nada, los elementos nuevos quedan bloqueados.",
|
|
1527
|
+
// Figures formatted; "de", as `billing.usage`.
|
|
1528
|
+
usageOf: (used, limit, dimension) => `${used} de ${limit} ${dimension}`,
|
|
1495
1529
|
},
|
|
1496
1530
|
// 0.32.0 — docs/text-size-harmonization.md §6: the text-size and contrast settings in
|
|
1497
1531
|
// the "Apariencia" group.
|
package/src/i18n/locales/fr.ts
CHANGED
|
@@ -1516,14 +1516,53 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
|
|
|
1516
1516
|
// Both figures arrive formatted; "sur", as `characterCount.count`.
|
|
1517
1517
|
usage: (used, limit) => `${used} sur ${limit}`,
|
|
1518
1518
|
contactSubject: (dimension) => `Limite de la formule\u00a0: ${dimension}`,
|
|
1519
|
+
// The toast's figure line (§14.11) and the plan change's over-limit lines (§14.12):
|
|
1520
|
+
// a key of its own for the space before the colon.
|
|
1521
|
+
limitUsageLine: (dimension, used, limit) => `${dimension}\u00a0: ${used} sur ${limit}`,
|
|
1519
1522
|
manage: "Paiement et factures",
|
|
1520
1523
|
cancel: "Résilier l’abonnement",
|
|
1524
|
+
// §14.5: no customer at the provider yet, so no portal to open.
|
|
1525
|
+
notAtProvider:
|
|
1526
|
+
"Rien à gérer pour l’instant. Les paiements et les factures apparaîtront ici dès que vous aurez une formule payante.",
|
|
1527
|
+
// §14.4: the pay page's lines, built into its bundle.
|
|
1528
|
+
payOpening: "Ouverture du paiement sécurisé…",
|
|
1529
|
+
payNothing: "Il n’y a rien à payer ici. Pour choisir une formule, revenez à l’application.",
|
|
1530
|
+
payFailed: "Le paiement n’a pas pu s’ouvrir. Veuillez revenir en arrière et réessayer dans un instant.",
|
|
1531
|
+
payBack: "Le paiement a été fermé. Vous pouvez revenir en arrière, ou recharger cette page pour le rouvrir.",
|
|
1521
1532
|
waitingChanges: (count) =>
|
|
1522
1533
|
`${n(count)} ${plural(count, "modification en attente", "modifications en attente")} d’une formule`,
|
|
1523
1534
|
// "Abandonner", as `wizard.cancelConfirmLabel`.
|
|
1524
1535
|
discardWaiting: "Abandonner les modifications en attente",
|
|
1525
1536
|
notConfigured: "Les paiements ne sont pas encore configurés. Veuillez réessayer plus tard.",
|
|
1526
1537
|
disabled: "Les abonnements ne sont pas disponibles ici.",
|
|
1538
|
+
// §14.2: server-kit 0.7's refusals. "Paiement et factures", as `manage`.
|
|
1539
|
+
providerUnavailable:
|
|
1540
|
+
"Le prestataire de paiement est injoignable pour le moment. Veuillez réessayer dans un instant.",
|
|
1541
|
+
alreadySubscribed:
|
|
1542
|
+
"Vous avez déjà un abonnement. Pour changer de formule, allez dans «\u202fPaiement et factures\u202f».",
|
|
1543
|
+
planNotSold:
|
|
1544
|
+
"Cette formule n’est pas proposée pour cette période de facturation ou cette devise. Veuillez en choisir une autre.",
|
|
1545
|
+
},
|
|
1546
|
+
// 0.33.0 — docs/billing-harmonization.md §14.12: the operator's plan parts, "formule"
|
|
1547
|
+
// as in `billing`. "Vous".
|
|
1548
|
+
planChange: {
|
|
1549
|
+
column: "Formule",
|
|
1550
|
+
title: "Changer de formule",
|
|
1551
|
+
confirm: "Changer de formule",
|
|
1552
|
+
plan: "Formule",
|
|
1553
|
+
current: (plan) => `Formule actuelle\u00a0: ${plan}`,
|
|
1554
|
+
keepsItems: "Une formule plus petite bloque seulement les nouvelles créations\u202f; rien n’est supprimé.",
|
|
1555
|
+
until: "Gratuit jusqu’au",
|
|
1556
|
+
untilHint: "Laissez vide pour aucune fin. Une bêta en cours garde sa propre fin.",
|
|
1557
|
+
needsChange: "Choisissez une autre formule ou une date de fin.",
|
|
1558
|
+
changed: (from, to) => `Formule changée de ${from} à ${to}.`,
|
|
1559
|
+
set: (to) => `Formule définie sur ${to}.`,
|
|
1560
|
+
keptBeta: "La bêta garde sa fin\u202f; seule la formule a changé.",
|
|
1561
|
+
untilDone: (date) => `Gratuit jusqu’au ${date}.`,
|
|
1562
|
+
overLimit:
|
|
1563
|
+
"Au-delà de la limite de la nouvelle formule\u00a0: rien n’est supprimé, les nouveaux éléments sont bloqués.",
|
|
1564
|
+
// Figures formatted; "sur", as `billing.usage`.
|
|
1565
|
+
usageOf: (used, limit, dimension) => `${used} sur ${limit} ${dimension}`,
|
|
1527
1566
|
},
|
|
1528
1567
|
// 0.32.0 — docs/text-size-harmonization.md §6: the text-size and contrast settings in
|
|
1529
1568
|
// the "Apparence" group. The steps agree with "taille", the modes with "contraste".
|
package/src/i18n/locales/hu.ts
CHANGED
|
@@ -1488,14 +1488,51 @@ export function uiKitLabelsHu(numberLocale = "hu-HU"): UiKitLabels {
|
|
|
1488
1488
|
// Both figures arrive formatted and stay bare, as `characterCount.count` (convention 3).
|
|
1489
1489
|
usage: (used, limit) => `${used} / ${limit}`,
|
|
1490
1490
|
contactSubject: (dimension) => `Csomagkorlát: ${dimension}`,
|
|
1491
|
+
// The toast's figure line (§14.11) and the plan change's over-limit lines (§14.12);
|
|
1492
|
+
// the figures bare, as `usage` (convention 3).
|
|
1493
|
+
limitUsageLine: (dimension, used, limit) => `${dimension}: ${used} / ${limit}`,
|
|
1491
1494
|
manage: "Fizetés és számlák",
|
|
1492
1495
|
cancel: "Előfizetés lemondása",
|
|
1496
|
+
// §14.5: no customer at the provider yet, so no portal to open.
|
|
1497
|
+
notAtProvider:
|
|
1498
|
+
"Egyelőre nincs mit kezelni. A fizetések és a számlák itt jelennek meg, amint fizetős csomagja lesz.",
|
|
1499
|
+
// §14.4: the pay page's lines, built into its bundle — in Hungarian, though Paddle's
|
|
1500
|
+
// checkout beside them is English (it has no Hungarian).
|
|
1501
|
+
payOpening: "A biztonságos fizetés megnyitása…",
|
|
1502
|
+
payNothing: "Itt nincs mit kifizetni. Csomag választásához térjen vissza az alkalmazásba.",
|
|
1503
|
+
payFailed: "A fizetést nem sikerült megnyitni. Kérjük, lépjen vissza, és próbálja újra egy kis idő múlva.",
|
|
1504
|
+
payBack: "A fizetés bezárult. Visszaléphet, vagy a megnyitásához töltse újra ezt az oldalt.",
|
|
1493
1505
|
// No plural after a numeral (convention 2).
|
|
1494
1506
|
waitingChanges: (count) => `${n(count)} módosítás csomagra vár`,
|
|
1495
1507
|
// "Elvetés", as `wizard.cancelConfirmLabel`.
|
|
1496
1508
|
discardWaiting: "Várakozó módosítások elvetése",
|
|
1497
1509
|
notConfigured: "A fizetés még nincs beállítva. Kérjük, próbálja újra később.",
|
|
1498
1510
|
disabled: "Az előfizetés itt nem érhető el.",
|
|
1511
|
+
// §14.2: server-kit 0.7's refusals. "Fizetés és számlák", as `manage`.
|
|
1512
|
+
providerUnavailable: "A fizetési szolgáltató jelenleg nem érhető el. Kérjük, próbálja újra egy kis idő múlva.",
|
|
1513
|
+
alreadySubscribed: "Már van előfizetése. A csomag módosításához nyissa meg a „Fizetés és számlák” részt.",
|
|
1514
|
+
planNotSold:
|
|
1515
|
+
"Ez a csomag ehhez a számlázási időszakhoz vagy pénznemhez nem érhető el. Kérjük, válasszon másikat.",
|
|
1516
|
+
},
|
|
1517
|
+
// 0.33.0 — docs/billing-harmonization.md §14.12: the operator's plan parts, "csomag"
|
|
1518
|
+
// as in `billing`. A plan's name takes no case ending: it follows a colon or an arrow.
|
|
1519
|
+
planChange: {
|
|
1520
|
+
column: "Csomag",
|
|
1521
|
+
title: "Csomag módosítása",
|
|
1522
|
+
confirm: "Csomag módosítása",
|
|
1523
|
+
plan: "Csomag",
|
|
1524
|
+
current: (plan) => `Jelenlegi csomag: ${plan}`,
|
|
1525
|
+
keepsItems: "A kisebb csomag csak újak létrehozását tiltja; semmi sem törlődik.",
|
|
1526
|
+
until: "Ingyenes eddig",
|
|
1527
|
+
untilHint: "Hagyja üresen, ha nincs vége. A futó béta megtartja a saját lejáratát.",
|
|
1528
|
+
needsChange: "Válasszon másik csomagot vagy egy záró dátumot.",
|
|
1529
|
+
changed: (from, to) => `Csomag módosítva: ${from} → ${to}.`,
|
|
1530
|
+
set: (to) => `Beállított csomag: ${to}.`,
|
|
1531
|
+
keptBeta: "A béta megtartja a lejáratát; csak a csomag változott.",
|
|
1532
|
+
untilDone: (date) => `Ingyenes eddig: ${date}.`,
|
|
1533
|
+
overLimit: "Az új csomag korlátja felett: semmi sem törlődik, de újak nem hozhatók létre.",
|
|
1534
|
+
// The figures bare, as `billing.usage` (convention 3).
|
|
1535
|
+
usageOf: (used, limit, dimension) => `${dimension}: ${used} / ${limit}`,
|
|
1499
1536
|
},
|
|
1500
1537
|
// 0.32.0 — docs/text-size-harmonization.md §6: the text-size and contrast settings in
|
|
1501
1538
|
// the "Megjelenés" group.
|
package/src/i18n/locales/it.ts
CHANGED
|
@@ -1500,14 +1500,49 @@ export function uiKitLabelsIt(numberLocale = "it-IT"): UiKitLabels {
|
|
|
1500
1500
|
// Both figures arrive formatted; "di", as `characterCount.count`.
|
|
1501
1501
|
usage: (used, limit) => `${used} di ${limit}`,
|
|
1502
1502
|
contactSubject: (dimension) => `Limite del piano: ${dimension}`,
|
|
1503
|
+
// The toast's figure line (§14.11) and the plan change's over-limit lines (§14.12).
|
|
1504
|
+
limitUsageLine: (dimension, used, limit) => `${dimension}: ${used} di ${limit}`,
|
|
1503
1505
|
manage: "Pagamento e fatture",
|
|
1504
1506
|
cancel: "Disdici l’abbonamento",
|
|
1507
|
+
// §14.5: no customer at the provider yet, so no portal to open.
|
|
1508
|
+
notAtProvider:
|
|
1509
|
+
"Ancora niente da gestire. Pagamenti e fatture compariranno qui quando avrà un piano a pagamento.",
|
|
1510
|
+
// §14.4: the pay page's lines, built into its bundle. "Lei".
|
|
1511
|
+
payOpening: "Apertura del pagamento sicuro…",
|
|
1512
|
+
payNothing: "Qui non c’è nulla da pagare. Per scegliere un piano, torni all’app.",
|
|
1513
|
+
payFailed: "Non è stato possibile aprire il pagamento. Torni indietro e riprovi tra un momento.",
|
|
1514
|
+
payBack: "Il pagamento è stato chiuso. Può tornare indietro, oppure ricaricare questa pagina per riaprirlo.",
|
|
1505
1515
|
waitingChanges: (count) =>
|
|
1506
1516
|
`${n(count)} ${plural(count, "modifica in attesa", "modifiche in attesa")} di un piano`,
|
|
1507
1517
|
// "Scarta", as `wizard.cancelConfirmLabel`.
|
|
1508
1518
|
discardWaiting: "Scarta le modifiche in attesa",
|
|
1509
1519
|
notConfigured: "I pagamenti non sono ancora configurati. Riprovi più tardi.",
|
|
1510
1520
|
disabled: "Gli abbonamenti non sono disponibili qui.",
|
|
1521
|
+
// §14.2: server-kit 0.7's refusals. "Pagamento e fatture", as `manage`. "Lei".
|
|
1522
|
+
providerUnavailable: "Il fornitore dei pagamenti non è raggiungibile al momento. Riprovi tra un momento.",
|
|
1523
|
+
alreadySubscribed: "Ha già un abbonamento. Per cambiare piano, vada su «Pagamento e fatture».",
|
|
1524
|
+
planNotSold:
|
|
1525
|
+
"Questo piano non è disponibile per questo periodo di fatturazione o questa valuta. Ne scelga un altro.",
|
|
1526
|
+
},
|
|
1527
|
+
// 0.33.0 — docs/billing-harmonization.md §14.12: the operator's plan parts, "piano" as
|
|
1528
|
+
// in `billing`. "Lei" in sentences, the imperative on the title and the button.
|
|
1529
|
+
planChange: {
|
|
1530
|
+
column: "Piano",
|
|
1531
|
+
title: "Cambia piano",
|
|
1532
|
+
confirm: "Cambia piano",
|
|
1533
|
+
plan: "Piano",
|
|
1534
|
+
current: (plan) => `Piano attuale: ${plan}`,
|
|
1535
|
+
keepsItems: "Un piano più piccolo blocca solo la creazione di nuovi elementi; non viene eliminato nulla.",
|
|
1536
|
+
until: "Gratuito fino al",
|
|
1537
|
+
untilHint: "Lasci vuoto per nessuna scadenza. Una beta in corso mantiene la propria scadenza.",
|
|
1538
|
+
needsChange: "Scelga un altro piano o una data di fine.",
|
|
1539
|
+
changed: (from, to) => `Piano cambiato da ${from} a ${to}.`,
|
|
1540
|
+
set: (to) => `Piano impostato su ${to}.`,
|
|
1541
|
+
keptBeta: "La beta mantiene la sua scadenza; è cambiato solo il piano.",
|
|
1542
|
+
untilDone: (date) => `Gratuito fino al ${date}.`,
|
|
1543
|
+
overLimit: "Oltre il limite del nuovo piano: non viene rimosso nulla, i nuovi elementi sono bloccati.",
|
|
1544
|
+
// Figures formatted; "di", as `billing.usage`.
|
|
1545
|
+
usageOf: (used, limit, dimension) => `${used} di ${limit} ${dimension}`,
|
|
1511
1546
|
},
|
|
1512
1547
|
// 0.32.0 — docs/text-size-harmonization.md §6: the text-size and contrast settings in
|
|
1513
1548
|
// the "Aspetto" group.
|
package/src/i18n/locales/zh.ts
CHANGED
|
@@ -1425,13 +1425,46 @@ export function uiKitLabelsZh(numberLocale = "zh-CN"): UiKitLabels {
|
|
|
1425
1425
|
// Both figures arrive formatted; written as `characterCount.count` writes them.
|
|
1426
1426
|
usage: (used, limit) => `${used}/${limit}`,
|
|
1427
1427
|
contactSubject: (dimension) => `套餐上限:${dimension}`,
|
|
1428
|
+
// The toast's figure line (§14.11) and the plan change's over-limit lines (§14.12);
|
|
1429
|
+
// written as `usage` writes the figures.
|
|
1430
|
+
limitUsageLine: (dimension, used, limit) => `${dimension}:${used}/${limit}`,
|
|
1428
1431
|
manage: "付款与发票",
|
|
1429
1432
|
cancel: "取消订阅",
|
|
1433
|
+
// §14.5: no customer at the provider yet, so no portal to open.
|
|
1434
|
+
notAtProvider: "暂无可管理的内容。开通付费套餐后,付款和发票会显示在这里。",
|
|
1435
|
+
// §14.4: the pay page's lines, built into its bundle.
|
|
1436
|
+
payOpening: "正在打开安全支付页面…",
|
|
1437
|
+
payNothing: "这里没有需要支付的款项。如需选择套餐,请返回应用。",
|
|
1438
|
+
payFailed: "无法打开支付页面。请返回后稍候再试。",
|
|
1439
|
+
payBack: "支付页面已关闭。您可以返回,或重新加载此页面以再次打开。",
|
|
1430
1440
|
waitingChanges: (count) => `${n(count)} 项修改正在等待套餐`,
|
|
1431
1441
|
// "放弃", as `wizard.cancelConfirmLabel`.
|
|
1432
1442
|
discardWaiting: "放弃等待中的修改",
|
|
1433
1443
|
notConfigured: "付款尚未设置,请稍后再试。",
|
|
1434
1444
|
disabled: "此处不提供订阅。",
|
|
1445
|
+
// §14.2: server-kit 0.7's refusals. "付款与发票", as `manage`.
|
|
1446
|
+
providerUnavailable: "暂时无法连接支付服务商,请稍后再试。",
|
|
1447
|
+
alreadySubscribed: "您已有订阅。如需更改套餐,请前往“付款与发票”。",
|
|
1448
|
+
planNotSold: "该套餐不支持此计费周期或货币,请选择其他套餐。",
|
|
1449
|
+
},
|
|
1450
|
+
// 0.33.0 — docs/billing-harmonization.md §14.12: the operator's plan parts, "套餐" as
|
|
1451
|
+
// in `billing`. "测试版", as `landing.beta`.
|
|
1452
|
+
planChange: {
|
|
1453
|
+
column: "套餐",
|
|
1454
|
+
title: "更改套餐",
|
|
1455
|
+
confirm: "更改套餐",
|
|
1456
|
+
plan: "套餐",
|
|
1457
|
+
current: (plan) => `当前套餐:${plan}`,
|
|
1458
|
+
keepsItems: "较小的套餐只会阻止新建更多内容,不会删除任何内容。",
|
|
1459
|
+
until: "免费至",
|
|
1460
|
+
untilHint: "留空表示没有结束日期。正在进行的测试版保留其自身的结束日期。",
|
|
1461
|
+
needsChange: "请选择其他套餐或结束日期。",
|
|
1462
|
+
changed: (from, to) => `套餐已从 ${from} 更改为 ${to}。`,
|
|
1463
|
+
set: (to) => `套餐已设为 ${to}。`,
|
|
1464
|
+
keptBeta: "测试版保留其结束日期;只更改了套餐。",
|
|
1465
|
+
untilDone: (date) => `免费至 ${date}。`,
|
|
1466
|
+
overLimit: "超出新套餐的上限:不会删除任何内容,但无法新建。",
|
|
1467
|
+
usageOf: (used, limit, dimension) => `${used}/${limit} ${dimension}`,
|
|
1435
1468
|
},
|
|
1436
1469
|
// 0.32.0 — docs/text-size-harmonization.md §6: the text-size and contrast settings in
|
|
1437
1470
|
// the "外观" group.
|
package/src/i18n/review.ts
CHANGED
|
@@ -366,4 +366,11 @@ export const KIT_LABEL_SAMPLES: Readonly<Record<string, readonly (readonly unkno
|
|
|
366
366
|
"billing.usage": [["{{used}}", "{{limit}}"]],
|
|
367
367
|
"billing.contactSubject": [["{{dimension}}"]],
|
|
368
368
|
"billing.waitingChanges": one,
|
|
369
|
+
// 0.33.0: the limit's figure line (§14.11) and the operator's plan parts (§14.12).
|
|
370
|
+
"billing.limitUsageLine": [["{{dimension}}", "{{used}}", "{{limit}}"]],
|
|
371
|
+
"planChange.current": [["{{plan}}"]],
|
|
372
|
+
"planChange.changed": [["{{from}}", "{{to}}"]],
|
|
373
|
+
"planChange.set": [["{{to}}"]],
|
|
374
|
+
"planChange.untilDone": [["{{date}}"]],
|
|
375
|
+
"planChange.usageOf": [["{{used}}", "{{limit}}", "{{dimension}}"]],
|
|
369
376
|
};
|
package/src/index.ts
CHANGED
|
@@ -88,7 +88,7 @@ export * from "./components/search-field";
|
|
|
88
88
|
export * from "./components/dropdown";
|
|
89
89
|
export * from "./components/popover";
|
|
90
90
|
export { SwipeableRow } from "./components/swipeable-row";
|
|
91
|
-
export type { SwipeAction, SwipeableRowProps } from "./components/swipeable-row";
|
|
91
|
+
export type { SwipeAction, SwipePaint, SwipeTone, SwipeableRowProps } from "./components/swipeable-row";
|
|
92
92
|
export * from "./components/calculator";
|
|
93
93
|
export * from "./components/numpad-sheet";
|
|
94
94
|
export * from "./components/number-input";
|
|
@@ -214,8 +214,11 @@ export * from "./components/description-list";
|
|
|
214
214
|
export * from "./components/form-actions";
|
|
215
215
|
// 0.18: lock every opted-in commit under one provider, the reason in its tooltip
|
|
216
216
|
// (Kurvenschmiede 2). `useCommitReason` stays internal.
|
|
217
|
-
|
|
218
|
-
|
|
217
|
+
// 0.33: a lock says its source, and a control can be exempt from one
|
|
218
|
+
// (docs/billing-harmonization.md §12.36): the kinds, the holds, `CommitScope`,
|
|
219
|
+
// `COMMIT_EXCEPT_BILLING` and the pure `writeLockFor`.
|
|
220
|
+
export { WriteLockProvider, useWriteLock, writeLockFor, COMMIT_EXCEPT_BILLING, DEFAULT_WRITE_LOCK_LABELS } from "./components/write-lock";
|
|
221
|
+
export type { WriteLock, WriteLockLabels, WriteLockProviderProps, WriteLockKind, WriteLockHold, CommitScope } from "./components/write-lock";
|
|
219
222
|
// 0.18: the parts both apps' admin rosters repeat (Kurvenschmiede 6).
|
|
220
223
|
export { RoleChip, AccountStateChip, DateMark, dateColumn, DEFAULT_ACCOUNT_STATE_LABELS, ACCOUNT_STATE_TONES } from "./components/account-chips";
|
|
221
224
|
export type { RoleChipProps, RoleDefinition, RoleVocabulary, AccountState, AccountStateLabels, AccountStateChipProps, DateMarkProps, DateColumnOptions } from "./components/account-chips";
|
|
@@ -784,6 +787,7 @@ export type {
|
|
|
784
787
|
RowActionsCollapse,
|
|
785
788
|
RowActionsSize,
|
|
786
789
|
RowActionsColumnOptions,
|
|
790
|
+
RowActionTone,
|
|
787
791
|
} from "./components/row-actions";
|
|
788
792
|
export { useLargeText, useCoarsePointer, useInlineFacts } from "./hooks/use-large-text";
|
|
789
793
|
export type { AppearanceLabels } from "./components/appearance-labels";
|
|
@@ -803,12 +807,52 @@ export { PlanLimitNotice, planLimitMailto } from "./billing/plan-limit-notice";
|
|
|
803
807
|
export type { PlanLimitNoticeProps } from "./billing/plan-limit-notice";
|
|
804
808
|
export { isPlanLimit } from "./billing/plan-limit";
|
|
805
809
|
export type { PlanLimitRefusal } from "./billing/plan-limit";
|
|
806
|
-
|
|
810
|
+
// 0.33.0: sources name their kind, the combined lock holds them all, and billing's is one
|
|
811
|
+
// hook (docs/billing-harmonization.md §12.36).
|
|
812
|
+
export { combineWriteLocks, useBillingLockReason, useBillingWriteLock } from "./billing/billing-lock";
|
|
807
813
|
export type { WriteLockSource, CombinedWriteLock, BillingLockReasonOptions } from "./billing/billing-lock";
|
|
808
814
|
export { billingLockAt, isBillingReadOnly, billingDaysLeft } from "./billing/billing-standing";
|
|
809
815
|
export type { BillingStanding } from "./billing/billing-standing";
|
|
810
816
|
export { SubscriptionActions } from "./billing/subscription-actions";
|
|
811
817
|
export type { SubscriptionActionsProps } from "./billing/subscription-actions";
|
|
818
|
+
// ── 0.33.0: billing's round 0.33 (docs/billing-harmonization.md §14) ──
|
|
819
|
+
// The way back from a checkout and its "processing", router-agnostic (§14.4).
|
|
820
|
+
export {
|
|
821
|
+
CHECKOUT_RETURN_PARAM,
|
|
822
|
+
CHECKOUT_RETURN_VALUE,
|
|
823
|
+
isCheckoutReturn,
|
|
824
|
+
withoutCheckoutReturn,
|
|
825
|
+
checkoutReturnUrl,
|
|
826
|
+
} from "./billing/checkout-return";
|
|
827
|
+
export { checkoutFingerprint, checkoutLanded, noteCheckoutStarted, useCheckoutProcessing } from "./billing/checkout-processing";
|
|
828
|
+
export type { CheckoutOverview, CheckoutProcessingOptions } from "./billing/checkout-processing";
|
|
829
|
+
// The link to the pay page and Paddle's locale (§14.4); the page itself ships as dist/pay/.
|
|
830
|
+
export { PAY_PAGE_LANG_PARAM, paddleLocale, payPageUrl } from "./billing/pay-page";
|
|
831
|
+
export type { PaddleEnvironment } from "./billing/pay-page";
|
|
832
|
+
// The API's shapes the parts read, server-kit 0.7's (§4, §14.5), and the plan limit as
|
|
833
|
+
// a toast (§14.11).
|
|
834
|
+
export type { BillingOverview, SubscriptionSource, PortalTarget, PortalRequest } from "./billing/billing-overview";
|
|
835
|
+
export { usePlanLimitToast } from "./billing/plan-limit-toast";
|
|
836
|
+
export type { PlanLimitToastOptions } from "./billing/plan-limit-toast";
|
|
837
|
+
// The operator's plan parts (§14.12).
|
|
838
|
+
export {
|
|
839
|
+
planColumn,
|
|
840
|
+
usePlanColumn,
|
|
841
|
+
PlanChangeConfirm,
|
|
842
|
+
usePlanChangeResult,
|
|
843
|
+
DEFAULT_PLAN_CHANGE_LABELS,
|
|
844
|
+
} from "./admin/plan-change";
|
|
845
|
+
export type {
|
|
846
|
+
PlanChangeLabels,
|
|
847
|
+
PlanColumnOptions,
|
|
848
|
+
PlanColumnUsage,
|
|
849
|
+
PlanChange,
|
|
850
|
+
PlanChangeConfirmProps,
|
|
851
|
+
PlanChangeOutcome,
|
|
852
|
+
PlanChangeTone,
|
|
853
|
+
PlanChangeLine,
|
|
854
|
+
PlanChangeResultOptions,
|
|
855
|
+
} from "./admin/plan-change";
|
|
812
856
|
|
|
813
857
|
// ── 0.22.0: the inputs round (kastlan's, keksdose's and Kurvenschmiede's audits) ──
|
|
814
858
|
export * from "./components/checkbox-group";
|