@synopackageland/ui 0.5.6 → 0.5.7

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.
Files changed (41) hide show
  1. package/README.md +37 -8
  2. package/dist/components/app/app-sidebar/AppSidebar.vue.d.ts +0 -3
  3. package/dist/components/composite/about-dialog/AboutDialog.vue.d.ts +0 -12
  4. package/dist/components/composite/callout/Callout.vue.d.ts +0 -1
  5. package/dist/components/composite/copy-cut-field/CopyCutField.vue.d.ts +0 -2
  6. package/dist/components/composite/data-grid/labels.d.ts +2 -0
  7. package/dist/components/composite/data-table/DataTable.vue.d.ts +0 -1
  8. package/dist/components/composite/form/rules.d.ts +3 -0
  9. package/dist/components/composite/message-box/MessageBox.vue.d.ts +0 -5
  10. package/dist/components/composite/message-box/controller.d.ts +2 -1
  11. package/dist/components/composite/overflow-toolbar/OverflowToolbar.vue.d.ts +0 -4
  12. package/dist/components/composite/repeat-rows/RepeatRow.vue.d.ts +0 -1
  13. package/dist/components/composite/search-field/SearchField.vue.d.ts +0 -2
  14. package/dist/components/composite/tree-view/TreeView.vue.d.ts +0 -1
  15. package/dist/components/composite/wizard/Wizard.vue.d.ts +0 -6
  16. package/dist/components/containers/panel/Panel.vue.d.ts +0 -2
  17. package/dist/components/feedback/info-tip/InfoTip.vue.d.ts +0 -1
  18. package/dist/components/feedback/notification/Notification.vue.d.ts +0 -1
  19. package/dist/components/feedback/notification/NotificationProvider.vue.d.ts +0 -2
  20. package/dist/components/primitives/breadcrumb/Breadcrumb.vue.d.ts +0 -1
  21. package/dist/components/primitives/color-picker/ColorPicker.vue.d.ts +0 -2
  22. package/dist/components/primitives/date-picker/DatePicker.vue.d.ts +0 -1
  23. package/dist/components/primitives/dialog/Dialog.vue.d.ts +0 -1
  24. package/dist/components/primitives/input-steppers/InputSteppers.vue.d.ts +0 -13
  25. package/dist/components/primitives/link/Link.vue.d.ts +0 -2
  26. package/dist/components/primitives/loading/LoadingIndicator.vue.d.ts +0 -1
  27. package/dist/components/primitives/pagination/labels.d.ts +1 -0
  28. package/dist/components/primitives/select/Select.vue.d.ts +0 -4
  29. package/dist/components/primitives/select/internal/ComboboxField.vue.d.ts +0 -6
  30. package/dist/components/primitives/sheet/Sheet.vue.d.ts +0 -1
  31. package/dist/components/primitives/slider/Slider.vue.d.ts +0 -1
  32. package/dist/components/primitives/spinner/Spinner.vue.d.ts +0 -1
  33. package/dist/components/primitives/split-button/SplitButton.vue.d.ts +0 -1
  34. package/dist/components/primitives/tag/Tag.vue.d.ts +0 -1
  35. package/dist/components/primitives/toast/ToastProvider.vue.d.ts +3 -1
  36. package/dist/components/primitives/typography/TypoHeader.vue.d.ts +0 -1
  37. package/dist/components/primitives/typography/typography.d.ts +1 -1
  38. package/dist/i18n/text.d.ts +140 -0
  39. package/dist/index.js +12821 -11612
  40. package/dist/reka-runtime.json +1 -1
  41. package/package.json +1 -1
package/README.md CHANGED
@@ -467,12 +467,15 @@ Public repository and issue tracker links will be added once those are selected.
467
467
  See the [documentation](https://www.varvis.me/docs/) for usage.
468
468
 
469
469
 
470
- ## Form controls and compact settings (0.5.6)
470
+ ## Form controls and compact settings (0.5.7)
471
471
 
472
472
  `Form` and standalone `FormItem` default to `direction="auto"`. They use the
473
473
  container's width, including a DSM package window, and stack labels below 520px.
474
474
  Set `direction="horizontal"` to keep the previous layout or `direction="vertical"`
475
- to stack at every width. An item can override its form. Controls bind their
475
+ to stack at every width. An item can override its form. Inherited auto is resolved
476
+ against each FormItem's own width, so items inside 96px FieldCells stack even in a
477
+ wide Form. Remove a FieldCell item's explicit vertical workaround to restore auto.
478
+ SettingsRow likewise stacks below 520px of its own width. Controls bind their
476
479
  FormItem id and ARIA state automatically; remove Select `role="group"` workarounds
477
480
  and manual `field.controlId` bindings unless an application deliberately chooses
478
481
  an explicit id. Explicit descriptions are merged with the field's help/error ids.
@@ -494,11 +497,11 @@ document, set a distinct `app.config.idPrefix` for each app.
494
497
  <FilePicker v-model="files" variant="compact" :max-size="524288" />
495
498
  </FormItem>
496
499
  </Form>
497
- <KeyValueRow label="Version" value="0.5.6" />
500
+ <KeyValueRow label="Version" value="0.5.7" />
498
501
  <KeyValueRow label="Download">
499
- <Link :href="downloadUrl" download="notes.txt" :download-label="t('download')">{{ t('download') }}</Link>
502
+ <Link :href="downloadUrl" download="notes.txt">{{ t('download') }}</Link>
500
503
  </KeyValueRow>
501
- <Link href="https://example.com/docs" external :external-label="t('opensNewTab')">{{ t('docs') }}</Link>
504
+ <Link href="https://example.com/docs" external>{{ t('docs') }}</Link>
502
505
  </ConfigProvider>
503
506
  ```
504
507
 
@@ -509,12 +512,18 @@ locale overrides ConfigProvider. Its `text` accepts partial overrides of
509
512
  `remove`, `typeRejected`, `sizeRejected`, `countRejected`, `duplicateRejected`.
510
513
  The messages use `{name}`, `{size}` and `{count}` placeholders. Existing
511
514
  `title`/`description` props still win. Other controls retain their exposed text
512
- props; the provider locale currently localizes FilePicker only.
515
+ props and partial text objects; built-in text throughout the library now follows
516
+ Provider locale. Explicit strings, including `''`, win over built-in translations.
517
+ DatePicker's calendar inherits Provider locale unless its own Intl `locale` is
518
+ supplied. Caller-owned option labels, content, URLs, rules' custom messages and
519
+ business terminology stay caller-owned. Validation fallbacks use the locale at
520
+ validation time; imperative message-box default titles use the locale at opening.
521
+ See [the complete default-text and container audit](docs/component-defaults-0.5.7.md).
513
522
 
514
523
  `KeyValueRow` renders a `dl` with `dt`/`dd`; its default slot accepts rich values,
515
524
  including Link. `Wizard show-steps` shows registered step headlines and does not
516
- permit jumping past guards. Localize its `aria-label`, `footer` labels (including
517
- `startLabel`) and `progressText(current,total)`. `RepeatRow` places wrapped cells
525
+ permit jumping past guards. Its built-in accessible name, `footer` actions and
526
+ step progress follow Provider locale; explicit overrides remain available. `RepeatRow` places wrapped cells
518
527
  inside `[data-repeat-fields]` and keeps its remove action beside the first control;
519
528
  `removeDisabled` disables the action. Use wrapping rows for adjacent controls.
520
529
 
@@ -556,3 +565,23 @@ Assert the emitted model value and label/ARIA links. For browser checks, use
556
565
  actual ArrowDown/ArrowUp/Enter/Escape input and verify the selected value and focus.
557
566
  `pnpm check` is valid without existing dist; `release:stage` requires a complete
558
567
  build and refuses missing/empty exported artifacts before copying files.
568
+
569
+ ### FilePicker rejection contract
570
+
571
+ FilePicker selects browser `File[]`; it does not read or parse their contents.
572
+ Each incoming file gets at most one reason, in the following order:
573
+
574
+ | Reason | When emitted |
575
+ | --- | --- |
576
+ | `type` | The name/MIME does not match `accept` (case-insensitive extension, MIME or MIME wildcard). |
577
+ | `size` | A nonzero `maxSize` is exceeded; a file exactly at the limit is accepted. |
578
+ | `duplicate` | Name, size and lastModified equal an existing or earlier accepted file. Directory path/content are not compared. |
579
+ | `count` | Adding the file would exceed `maxFiles`, or a single-file picker already contains one file. |
580
+
581
+ Single-file mode accepts the first valid file and rejects subsequent files with
582
+ `count`. It keeps an already selected file; remove it before selecting a replacement.
583
+ A canceled/empty selection emits neither `rejected` nor `update:modelValue`.
584
+ Disabled selection/drop is ignored. Size/type/count/duplicate are sufficient for
585
+ the component's selection policy. Failed reads, malformed JSON, encoding errors,
586
+ content validation, uploads and network failures belong to the application and
587
+ must be displayed separately; do not invent another FilePicker rejection reason.
@@ -25,12 +25,9 @@ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {
25
25
  "onUpdate:expandedKeys"?: ((value: string[]) => any) | undefined;
26
26
  onBranchToggle?: ((key: string, expanded: boolean) => any) | undefined;
27
27
  }>, {
28
- ariaLabel: string;
29
- searchPlaceholder: string;
30
28
  collapsible: boolean;
31
29
  expandedKeys: string[];
32
30
  defaultExpandedKeys: string[];
33
- clearSearchLabel: string;
34
31
  searchable: boolean;
35
32
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
36
33
  declare const _default: typeof __VLS_export;
@@ -1,15 +1,4 @@
1
1
  import { AboutCheckState, AboutVersionInfo } from './types';
2
- /**
3
- * App-local "About this application" dialog: name, tagline, version, copyright
4
- * and legal links. It is a plain modal dialog, not a DSM window: no window
5
- * manager, dragging or desktop frame.
6
- *
7
- * The optional update check is never hidden. `fetchVersion` is awaited, the
8
- * result drives a visible, announced status (checking / update / beta /
9
- * failed), the request is re-runnable and its outcome is observable through
10
- * `check-start`, `check-result` and `check-error` plus the exposed
11
- * `checkForUpdates()`.
12
- */
13
2
  type __VLS_Props = {
14
3
  text?: Partial<{
15
4
  beta: string;
@@ -72,7 +61,6 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
72
61
  defaultOpen: boolean;
73
62
  open: boolean;
74
63
  version: string;
75
- closeLabel: string;
76
64
  tagline: string;
77
65
  iconSrc: string;
78
66
  beta: boolean;
@@ -16,7 +16,6 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {},
16
16
  onClose?: (() => any) | undefined;
17
17
  }>, {
18
18
  tone: "info" | "success" | "warning" | "danger";
19
- closeLabel: string;
20
19
  closable: boolean;
21
20
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
22
21
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -37,8 +37,6 @@ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {
37
37
  readonly: boolean;
38
38
  inputType: "text" | "textarea";
39
39
  autosize: CopyCutFieldAutosize;
40
- copyLabel: string;
41
- cutLabel: string;
42
40
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
43
41
  declare const _default: typeof __VLS_export;
44
42
  export default _default;
@@ -24,3 +24,5 @@ export type ResolvedDataGridLabels = DataGridLabels & {
24
24
  reorderRow: (key: string) => string;
25
25
  };
26
26
  export declare const defaultDataGridLabels: ResolvedDataGridLabels;
27
+ /** Locale-aware chrome; the exported English defaults remain available to callers. */
28
+ export declare function localizedDataGridLabels(t: import('../../../i18n/text').UiTranslator): ResolvedDataGridLabels;
@@ -22,7 +22,6 @@ type __VLS_Slots = {} & {
22
22
  declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
23
23
  compact: boolean;
24
24
  rowKey: string;
25
- emptyText: string;
26
25
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
27
26
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
28
27
  declare const _default: typeof __VLS_export;
@@ -1,5 +1,8 @@
1
+ import { UiTranslator } from '../../../i18n/text';
1
2
  import { FormRule, FormRuleType, ValidateTrigger } from './types';
2
3
  export type ValidateRulesOptions = {
4
+ /** Built-in fallback translator; omitted for the standalone English API. */
5
+ text?: UiTranslator;
3
6
  /** `null` runs every rule regardless of its `trigger`; `undefined` also runs every rule. */
4
7
  trigger?: ValidateTrigger | null;
5
8
  /** Trigger assumed by rules that do not declare one. Defaults to `'blur'`. */
@@ -1,9 +1,4 @@
1
1
  import { MessageBoxKind, MessageBoxOptions } from './types';
2
- /**
3
- * One app-local message box. It is fully controlled: it never closes itself,
4
- * it emits `settle` with the button id (or typed value) the user chose and the
5
- * host removes it. See `types.ts` for the awaited API.
6
- */
7
2
  type __VLS_Props = {
8
3
  open?: boolean;
9
4
  kind: MessageBoxKind;
@@ -1,3 +1,4 @@
1
+ import { UiTranslator } from '../../../i18n/text';
1
2
  import { Ref } from 'vue';
2
3
  import { MessageBox, MessageBoxRequest } from './types';
3
4
  export type MessageBoxHost = {
@@ -11,7 +12,7 @@ export type { LostChangeResult, MessageBox, MessageBoxButtonId, MessageBoxHandle
11
12
  * Owns the queue of active app-local message boxes. `MessageBoxProvider` renders
12
13
  * the queue and calls `settle` with the button id or typed value a box resolved.
13
14
  */
14
- export declare function createMessageBoxHost(): MessageBoxHost;
15
+ export declare function createMessageBoxHost(t?: UiTranslator): MessageBoxHost;
15
16
  /** The awaitable dialog API. Call it in `setup()`; a `MessageBoxProvider` must be an ancestor. */
16
17
  export declare function useDialog(): MessageBox;
17
18
  /** Alias of `useDialog()` that names the message-box family explicitly. */
@@ -1,8 +1,4 @@
1
1
  import { OverflowToolbarItem, OverflowToolbarMenuEntry, OverflowToolbarMoreMenu, OverflowToolbarMoreState } from './types';
2
- /**
3
- * An item-driven toolbar: anything that does not fit moves into a right-hand
4
- * More menu, including the submenu entries of an overflowed dropdown item.
5
- */
6
2
  type __VLS_Props = {
7
3
  items?: OverflowToolbarItem[];
8
4
  /** Items kept in the row even when the row is too narrow for them. */
@@ -12,7 +12,6 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {},
12
12
  }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
13
13
  onRemove?: (() => any) | undefined;
14
14
  }>, {
15
- removeLabel: string;
16
15
  removable: boolean;
17
16
  removeDisabled: boolean;
18
17
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
@@ -14,8 +14,6 @@ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {
14
14
  variant: "search" | "filter";
15
15
  disabled: boolean;
16
16
  modelValue: string;
17
- placeholder: string;
18
- clearLabel: string;
19
17
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
20
18
  declare const _default: typeof __VLS_export;
21
19
  export default _default;
@@ -84,7 +84,6 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
84
84
  checkable: boolean;
85
85
  defaultCheckedKeys: string[];
86
86
  loadChildren: (node: TreeNode) => Promise<TreeNode[] | undefined>;
87
- expandLabel: (node: TreeNode, expanded: boolean) => string;
88
87
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
89
88
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
90
89
  declare const _default: typeof __VLS_export;
@@ -1,9 +1,4 @@
1
1
  import { WizardFooterConfig, WizardStepChange } from './types';
2
- /**
3
- * Step-flow controller for multi-step dialogs. It owns step registration,
4
- * navigation guards, footer state and the finish / cancel outcomes. It creates
5
- * no window: mount it inside `Dialog` for app-local modality.
6
- */
7
2
  type __VLS_Props = {
8
3
  /** Initial / external reset key. Internal navigation keeps working when the caller does not bind it back. */
9
4
  activeStepKey?: string;
@@ -57,7 +52,6 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
57
52
  onFinished?: (() => any) | undefined;
58
53
  }>, {
59
54
  footer: WizardFooterConfig;
60
- ariaLabel: string;
61
55
  cancellable: boolean;
62
56
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
63
57
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -45,8 +45,6 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
45
45
  }>, {
46
46
  loading: boolean;
47
47
  fbar: PanelFbar;
48
- confirmText: string;
49
- cancelText: string;
50
48
  scrollable: boolean;
51
49
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
52
50
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -35,7 +35,6 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
35
35
  size: InfoTipSize;
36
36
  type: InfoTipType;
37
37
  disabled: boolean;
38
- ariaLabel: string;
39
38
  side: "top" | "right" | "bottom" | "left";
40
39
  hasPadding: boolean;
41
40
  triggerAction: TriggerAction;
@@ -34,7 +34,6 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {},
34
34
  open: boolean;
35
35
  tone: NotificationTone;
36
36
  content: string | false;
37
- closeLabel: string;
38
37
  duration: number | false;
39
38
  cancel: NotificationAction;
40
39
  confirm: NotificationAction;
@@ -23,8 +23,6 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, Notificatio
23
23
  alignment: NotificationAlignment;
24
24
  gap: number;
25
25
  stackGap: number;
26
- landmarkLabel: string;
27
- accessHint: string;
28
26
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
29
27
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
30
28
  declare const _default: typeof __VLS_export;
@@ -26,7 +26,6 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {},
26
26
  }>, {
27
27
  items: BreadcrumbItem[];
28
28
  actionMenuItems: boolean | BreadcrumbActionItem[];
29
- collapsedLabel: string;
30
29
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
31
30
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
32
31
  declare const _default: typeof __VLS_export;
@@ -63,8 +63,6 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
63
63
  customOptions: string[];
64
64
  hasCustom: boolean;
65
65
  filterSameColor: boolean;
66
- resetLabel: string;
67
- customLabel: string;
68
66
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
69
67
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
70
68
  declare const _default: typeof __VLS_export;
@@ -61,7 +61,6 @@ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {
61
61
  readonly: boolean;
62
62
  editable: boolean;
63
63
  clearable: boolean;
64
- locale: string;
65
64
  weekStartsOn: 0 | 1 | 2 | 3 | 4 | 5 | 6;
66
65
  showTime: boolean;
67
66
  allowBlank: boolean;
@@ -34,7 +34,6 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {},
34
34
  width: string;
35
35
  defaultOpen: boolean;
36
36
  open: boolean;
37
- closeLabel: string;
38
37
  showClose: boolean;
39
38
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
40
39
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -2,19 +2,6 @@ export type InputSteppersMenuItem = {
2
2
  title: string;
3
3
  value: number;
4
4
  };
5
- /**
6
- * Number semantics of this component (documented contract):
7
- * - `min` / `max` clamp every committed value.
8
- * - `step` is the increment used by the +/- buttons and by ArrowUp / ArrowDown.
9
- * - `precision` (optional) rounds every committed value to N decimals. Without it
10
- * a manually typed value keeps its decimals; step arithmetic only rounds away
11
- * binary float noise (0.1 + 0.2 becomes 0.3, 1.5 + 1 stays 2.5).
12
- * - Typing is committed on blur or Enter. An empty or non-numeric entry reverts to
13
- * the last valid value; an out-of-range entry is clamped. This is intentional:
14
- * the reference component left manual entries unclamped.
15
- * - `patchNum` runs before clamping and may reject a value with `false`, which also
16
- * reverts to the last valid value.
17
- */
18
5
  type __VLS_Props = {
19
6
  text?: Partial<{
20
7
  increase: string;
@@ -19,8 +19,6 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {},
19
19
  }>, {
20
20
  disabled: boolean;
21
21
  external: boolean;
22
- externalLabel: string;
23
- downloadLabel: string;
24
22
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
25
23
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
26
24
  declare const _default: typeof __VLS_export;
@@ -3,7 +3,6 @@ type __VLS_Props = {
3
3
  label?: string;
4
4
  };
5
5
  declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
6
- label: string;
7
6
  text: string;
8
7
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
9
8
  declare const _default: typeof __VLS_export;
@@ -16,3 +16,4 @@ export type PaginationLabels = {
16
16
  totalText: Record<PaginationTotalTextMode, string>;
17
17
  };
18
18
  export declare const defaultPaginationLabels: PaginationLabels;
19
+ export declare function localizedPaginationLabels(t: import('../../../i18n/text').UiTranslator): PaginationLabels;
@@ -23,13 +23,9 @@ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {
23
23
  }>, {
24
24
  search: SelectSearch;
25
25
  disabled: boolean;
26
- placeholder: string;
27
26
  options: SelectOptions;
28
27
  minSearchChar: number;
29
28
  caseSensitive: boolean;
30
- searchPlaceholder: string;
31
- notFoundText: string;
32
- loadingText: string;
33
29
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
34
30
  declare const _default: typeof __VLS_export;
35
31
  export default _default;
@@ -24,23 +24,17 @@ declare const __VLS_export: import('vue').DefineComponent<SelectFieldProps, {},
24
24
  loading: boolean;
25
25
  disabled: boolean;
26
26
  modelValue: string | string[];
27
- placeholder: string;
28
27
  ariaLabel: string;
29
28
  ariaLabelledby: string;
30
29
  defaultValue: string | string[];
31
30
  options: import('./types').SelectOptions;
32
31
  minSearchChar: number;
33
32
  caseSensitive: boolean;
34
- notFoundText: string;
35
- loadingText: string;
36
33
  multiple: boolean;
37
34
  allowCreate: import('./types').SelectAllowCreate;
38
35
  editable: boolean;
39
36
  clearable: boolean;
40
- createHintText: string;
41
37
  displayLimit: number | false;
42
- openLabel: string;
43
- clearLabel: string;
44
38
  removeTagLabel: (label: string) => string;
45
39
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
46
40
  declare const _default: typeof __VLS_export;
@@ -35,7 +35,6 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {},
35
35
  side: SheetSide;
36
36
  defaultOpen: boolean;
37
37
  open: boolean;
38
- closeLabel: string;
39
38
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
40
39
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
41
40
  declare const _default: typeof __VLS_export;
@@ -41,7 +41,6 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {},
41
41
  "onUpdate:modelValue"?: ((value: number) => any) | undefined;
42
42
  }>, {
43
43
  disabled: boolean;
44
- ariaLabel: string;
45
44
  step: number | string;
46
45
  tip: boolean;
47
46
  withInput: boolean | SliderInputOptions;
@@ -3,7 +3,6 @@ type __VLS_Props = {
3
3
  size?: number;
4
4
  };
5
5
  declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
6
- label: string;
7
6
  size: number;
8
7
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
9
8
  declare const _default: typeof __VLS_export;
@@ -18,7 +18,6 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {},
18
18
  }>, {
19
19
  variant: "secondary" | "primary";
20
20
  disabled: boolean;
21
- menuLabel: string;
22
21
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
23
22
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
24
23
  declare const _default: typeof __VLS_export;
@@ -43,7 +43,6 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
43
43
  label: string;
44
44
  disabled: boolean;
45
45
  invalid: boolean;
46
- removeLabel: string;
47
46
  appearance: TagAppearance;
48
47
  tooltip: boolean | string;
49
48
  removable: boolean;
@@ -1,5 +1,8 @@
1
1
  import { ToastController } from './toast';
2
2
  type __VLS_Props = {
3
+ /** Announcement prefix and viewport hotkey hint; default to the Provider locale. */
4
+ announcementLabel?: string;
5
+ viewportLabel?: string;
3
6
  closeLabel?: string;
4
7
  duration?: number;
5
8
  swipeDirection?: 'right' | 'left' | 'up' | 'down';
@@ -9,7 +12,6 @@ type __VLS_Slots = {} & {
9
12
  default?: (props: typeof __VLS_8) => any;
10
13
  };
11
14
  declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, ToastController, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
12
- closeLabel: string;
13
15
  duration: number;
14
16
  swipeDirection: "right" | "left" | "up" | "down";
15
17
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
@@ -22,7 +22,6 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {},
22
22
  href: string;
23
23
  level: HeaderLevel;
24
24
  baseUrl: string;
25
- anchorLabel: string;
26
25
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
27
26
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
28
27
  declare const _default: typeof __VLS_export;
@@ -7,6 +7,6 @@ export declare const HEADER_LEVELS: Record<HeaderLevel, string>;
7
7
  /** Turns heading text into a fragment id; CJK letters are kept as-is. */
8
8
  export declare function headingId(text: string): string;
9
9
  export type TipType = 'info' | 'warn' | 'error';
10
- export declare const TIP_TITLES: Record<TipType, string>;
10
+ export declare const TIP_TITLES: Record<TipType, 'Info' | 'Warning' | 'Error'>;
11
11
  export declare const TIP_BORDERS: Record<TipType, string>;
12
12
  export declare const TIP_TITLE_COLORS: Record<TipType, string>;
@@ -0,0 +1,140 @@
1
+ import { UiLocale } from './locale';
2
+ export declare const englishUiText: {
3
+ readonly "Opens in a new tab": "Opens in a new tab";
4
+ readonly Download: "Download";
5
+ readonly Close: "Close";
6
+ readonly Cancel: "Cancel";
7
+ readonly Confirm: "Confirm";
8
+ readonly OK: "OK";
9
+ readonly Delete: "Delete";
10
+ readonly Save: "Save";
11
+ readonly "Don't save": "Don't save";
12
+ readonly Remove: "Remove";
13
+ readonly "Remove {name}": "Remove {name}";
14
+ readonly Loading: "Loading";
15
+ readonly "Loading\u2026": "Loading…";
16
+ readonly Working: "Working";
17
+ readonly Search: "Search";
18
+ readonly "Search\u2026": "Search…";
19
+ readonly "Clear search": "Clear search";
20
+ readonly "Select\u2026": "Select…";
21
+ readonly "No results": "No results";
22
+ readonly "No data": "No data";
23
+ readonly Add: "Add";
24
+ readonly Clear: "Clear";
25
+ readonly "Open options": "Open options";
26
+ readonly Copy: "Copy";
27
+ readonly Cut: "Cut";
28
+ readonly "Toggle content": "Toggle content";
29
+ readonly "More options": "More options";
30
+ readonly More: "More";
31
+ readonly "Close notification": "Close notification";
32
+ readonly Notifications: "Notifications";
33
+ readonly "Press F6 to access notifications": "Press F6 to access notifications";
34
+ readonly "Application navigation": "Application navigation";
35
+ readonly Sections: "Sections";
36
+ readonly Slider: "Slider";
37
+ readonly "Increase value": "Increase value";
38
+ readonly "Decrease value": "Decrease value";
39
+ readonly "Preset values": "Preset values";
40
+ readonly "Show full path": "Show full path";
41
+ readonly "Link to this section": "Link to this section";
42
+ readonly "More information": "More information";
43
+ readonly Info: "Info";
44
+ readonly Warning: "Warning";
45
+ readonly Error: "Error";
46
+ readonly Reset: "Reset";
47
+ readonly Custom: "Custom";
48
+ readonly Color: "Color";
49
+ readonly "Common colors": "Common colors";
50
+ readonly Palette: "Palette";
51
+ readonly "Custom colors": "Custom colors";
52
+ readonly "Select date": "Select date";
53
+ readonly "Previous month": "Previous month";
54
+ readonly "Next month": "Next month";
55
+ readonly "Add time": "Add time";
56
+ readonly Hour: "Hour";
57
+ readonly Minute: "Minute";
58
+ readonly Meridiem: "Meridiem";
59
+ readonly "Clear date": "Clear date";
60
+ readonly AM: "AM";
61
+ readonly PM: "PM";
62
+ readonly "Expand {name}": "Expand {name}";
63
+ readonly "Collapse {name}": "Collapse {name}";
64
+ readonly "Select all times": "Select all times";
65
+ readonly "Select hour {hour}": "Select hour {hour}";
66
+ readonly "Select {name}": "Select {name}";
67
+ readonly "Edit {name}": "Edit {name}";
68
+ readonly "Setup wizard": "Setup wizard";
69
+ readonly Apply: "Apply";
70
+ readonly Start: "Start";
71
+ readonly Next: "Next";
72
+ readonly Previous: "Previous";
73
+ readonly "Step {step} of {total}": "Step {step} of {total}";
74
+ readonly "Password:": "Password:";
75
+ readonly "Enter password": "Enter password";
76
+ readonly "Unsaved changes": "Unsaved changes";
77
+ readonly "Save your changes before closing?": "Save your changes before closing?";
78
+ readonly "The value is not valid.": "The value is not valid.";
79
+ readonly "About this application": "About this application";
80
+ readonly BETA: "BETA";
81
+ readonly "Version {version}": "Version {version}";
82
+ readonly "Checking for updates\u2026": "Checking for updates…";
83
+ readonly "Version {version} is available.": "Version {version} is available.";
84
+ readonly "Beta version {version} is available.": "Beta version {version} is available.";
85
+ readonly "Could not check for updates.": "Could not check for updates.";
86
+ readonly Retry: "Retry";
87
+ readonly "Release notes": "Release notes";
88
+ readonly "Terms of Service": "Terms of Service";
89
+ readonly "Privacy Policy": "Privacy Policy";
90
+ readonly "{title} legal": "{title} legal";
91
+ readonly "First page": "First page";
92
+ readonly "Previous page": "Previous page";
93
+ readonly "Next page": "Next page";
94
+ readonly "Last page": "Last page";
95
+ readonly Refresh: "Refresh";
96
+ readonly Pagination: "Pagination";
97
+ readonly "Pagination, {total} items total": "Pagination, {total} items total";
98
+ readonly "Page {page}": "Page {page}";
99
+ readonly "Go to page {page}": "Go to page {page}";
100
+ readonly "Items per page": "Items per page";
101
+ readonly "{total} items": "{total} items";
102
+ readonly "{start}-{end} items": "{start}-{end} items";
103
+ readonly "{filteredCount} items": "{filteredCount} items";
104
+ readonly "{selectedCount} / {total} items selected": "{selectedCount} / {total} items selected";
105
+ readonly "{count} items": "{count} items";
106
+ readonly "Page {page} / {pageCount}": "Page {page} / {pageCount}";
107
+ readonly "Select visible rows": "Select visible rows";
108
+ readonly "Select row {key}": "Select row {key}";
109
+ readonly "Resize column {label}": "Resize column {label}";
110
+ readonly "Expand row {key}": "Expand row {key}";
111
+ readonly "Collapse row {key}": "Collapse row {key}";
112
+ readonly "Reorder row {key}": "Reorder row {key}";
113
+ readonly "Sort by {name}": "Sort by {name}";
114
+ readonly "Value is required": "Value is required";
115
+ readonly "Value does not match the expected format": "Value does not match the expected format";
116
+ readonly "Value is not one of the allowed options": "Value is not one of the allowed options";
117
+ readonly "Value must be exactly {len} characters": "Value must be exactly {len} characters";
118
+ readonly "Value must be at least {min}": "Value must be at least {min}";
119
+ readonly "Value must be at most {max}": "Value must be at most {max}";
120
+ readonly "Value must be a string": "Value must be a string";
121
+ readonly "Value must be a number": "Value must be a number";
122
+ readonly "Value must be an integer": "Value must be an integer";
123
+ readonly "Value must be a boolean": "Value must be a boolean";
124
+ readonly "Value must be an array": "Value must be an array";
125
+ readonly "Value must be a valid email address": "Value must be a valid email address";
126
+ readonly "Value must be a valid URL": "Value must be a valid URL";
127
+ readonly "Value must be a valid date": "Value must be a valid date";
128
+ readonly "{count} item": "{count} item";
129
+ readonly "Pagination, {total} item total": "Pagination, {total} item total";
130
+ readonly Notification: "Notification";
131
+ readonly "Notifications ({hotkey})": "Notifications ({hotkey})";
132
+ };
133
+ export type UiTextKey = keyof typeof englishUiText;
134
+ export type UiTranslator = (key: UiTextKey, values?: Record<string, string | number>) => string;
135
+ export declare const uiText: Record<UiLocale, Record<UiTextKey, string>>;
136
+ export declare function translateUiText(locale: UiLocale, key: UiTextKey, values?: Record<string, string | number>): string;
137
+ export declare function useUiText(): UiTranslator;
138
+ /** Preserve explicit strings, including empty ones, while resolving defaults
139
+ * lazily so provider locale changes are reflected during the next render. */
140
+ export declare function useLocalizedDefaults<T extends object, K extends keyof T>(raw: T, defaults: Record<K, UiTextKey>): T & Record<K, string>;