@synopackageland/ui 0.5.6 → 0.5.8

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 (43) hide show
  1. package/README.md +117 -9
  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/dist/themes/dsm7-embedded-reset.css +1 -1
  42. package/dist/themes/dsm7-embedded.css +1 -1
  43. package/package.json +1 -1
package/README.md CHANGED
@@ -15,6 +15,7 @@ npm install @synopackageland/ui --registry https://registry.npmjs.org
15
15
 
16
16
  Vue **3.5 or later within Vue 3** is required by the package. Building from
17
17
  source requires Node.js **20+** and pnpm **10.33.2**.
18
+ The browser acceptance scripts require Node.js **22+** (global WebSocket); CI uses Node.js 24.
18
19
 
19
20
  ## Quick start
20
21
 
@@ -466,13 +467,94 @@ from the same source and share runtime files, exports, MIT license and notices.
466
467
  Public repository and issue tracker links will be added once those are selected.
467
468
  See the [documentation](https://www.varvis.me/docs/) for usage.
468
469
 
469
-
470
- ## Form controls and compact settings (0.5.6)
470
+ ### CI and tag releases
471
+
472
+ GitHub Actions runs on Ubuntu for pushes to `master` and `ci/**`, pull requests,
473
+ and manual dispatch. Both workflows share `.github/actions/verify`: a frozen
474
+ pnpm install from npmjs, `pnpm check` (build, lint, typecheck, unit tests and both
475
+ package-content audits), `notices:check`, responsive/host/switch/layout/motion
476
+ browser checks, and the Histoire workbench build. pnpm and Playwright Chromium
477
+ are cached. Browser screenshots and measurements are retained for seven days.
478
+ The internal target audit inspects metadata offline; it never contacts an
479
+ internal registry. The existing `pnpm release` internal workflow remains available.
480
+
481
+ To release the public package:
482
+
483
+ 1. Update `package.json` to a new stable `X.Y.Z` version and add the matching
484
+ `## X.Y.Z (date)` section to `CHANGELOG.md`. Keep `pnpm-lock.yaml` current.
485
+ 2. Merge the changes into `master` after CI passes.
486
+ 3. Tag that merged commit and push the tag:
487
+
488
+ ```bash
489
+ git switch master
490
+ git pull --ff-only
491
+ git tag vX.Y.Z
492
+ git push origin vX.Y.Z
493
+ ```
494
+
495
+ The release workflow checks the exact tag/version, default-branch ancestry,
496
+ nonempty changelog section and npm version availability. It runs the same full
497
+ CI gates, stages a public package into an empty directory, packs it, and audits
498
+ the actual tarball (every exported dist file, MIT license, notices, bundled Reka,
499
+ public name and exact `publishConfig`). A separate job rechecks the artifact and
500
+ registry before publishing with `NPM_TOKEN`, then creates a GitHub Release from
501
+ that version's changelog using `GITHUB_TOKEN`. Publishing uses `--access public
502
+ --ignore-scripts`, without provenance. Only the publish job has `contents: write`.
503
+ If npm publication succeeds but GitHub Release creation fails, create the Release
504
+ from the changelog separately; rerunning publishing intentionally refuses the
505
+ already published version.
506
+
507
+ On branches and PRs, the release workflow performs the full pipeline through
508
+ `npm publish <tgz> --dry-run --access public --ignore-scripts`, without npm
509
+ credentials or creating a GitHub Release. An existing npm version is allowed only
510
+ in dry-run mode and is reported explicitly; npm 11 also rejects duplicate versions
511
+ during dry-runs, so only that confirmed case adds `--force` while retaining
512
+ `--dry-run`. Real publishing never uses `--force`; registry errors still fail. Manual
513
+ dispatch defaults to `dry_run: true`; `false` is rejected because only a pushed
514
+ version tag may publish. This permits rehearsal with the current version before
515
+ tagging. Do not use a real release tag to test workflows.
516
+
517
+ For local Linux browser checks, run `pnpm exec playwright install --with-deps chromium`,
518
+ set `CHROME` to `chromium.executablePath()` from Playwright, and use
519
+ `MOTION_BROWSER=playwright pnpm check:motion`. The default motion runner remains
520
+ ego-browser. `check:local-browser` requires the interactive ego-browser runtime
521
+ and a user browser space, so it remains a local acceptance check rather than a
522
+ GitHub-hosted job; the host gate also exercises the default-modal isolation fixture.
523
+
524
+ ### CI 與 tag 發版
525
+
526
+ Ubuntu CI 在 `master`、`ci/**` push、PR 與手動執行時,從 npmjs 安裝鎖定依賴,
527
+ 共用完整 build/lint/typecheck/test/package audit/notices 與
528
+ responsive/host/switch/layout/motion、Histoire build 檢查。
529
+ 快取 pnpm 與 Chromium;瀏覽器證據保留七天。內部目標只做離線 metadata audit,
530
+ 不連內部 registry;既有 `pnpm release` 保留。
531
+
532
+ 發版時先更新 `package.json` 版號與 CHANGELOG 對應段落,通過 CI 後合併至
533
+ `master`,再推送合併 commit 的 `vX.Y.Z` tag(指令如上)。Workflow 驗證 tag、
534
+ 預設分支歷史與 npm 版本未存在,完成同一組檢查後 stage public、pack 並稽核
535
+ 實際 tgz,確保 dist、所有 exports、MIT/第三方授權與公開 metadata 齊全。
536
+ 獨立 publish job 重新驗證,再以 `NPM_TOKEN` 發 npm,成功後以 changelog 建立
537
+ GitHub Release;不使用 provenance。npm 已成功但 GitHub Release 失敗時,另行
538
+ 建立 Release;重跑會拒絕已存在的 npm 版本。
539
+
540
+ 分支、PR 與預設手動執行會走到 `npm publish --dry-run`,不帶 npm 憑證、不建
541
+ Release;既有版號只在 dry-run 放行。npm 11 在演練也會拒絕重複版號,故只在
542
+ 確認已存在後,演練加入 `--force` 並保留 `--dry-run`;正式發佈不加 `--force`。
543
+ 查詢 registry 失敗仍拒絕。
544
+ 手動 `dry_run: false` 會拒絕;正式發佈只能由推 tag 觸發。
545
+ Linux motion 使用 `MOTION_BROWSER=playwright`,本機預設 ego-browser 保留。
546
+ `check:local-browser` 需使用者的互動 ego-browser space,保留為本機驗收項。
547
+
548
+
549
+ ## Form controls and compact settings (0.5.7)
471
550
 
472
551
  `Form` and standalone `FormItem` default to `direction="auto"`. They use the
473
552
  container's width, including a DSM package window, and stack labels below 520px.
474
553
  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
554
+ to stack at every width. An item can override its form. Inherited auto is resolved
555
+ against each FormItem's own width, so items inside 96px FieldCells stack even in a
556
+ wide Form. Remove a FieldCell item's explicit vertical workaround to restore auto.
557
+ SettingsRow likewise stacks below 520px of its own width. Controls bind their
476
558
  FormItem id and ARIA state automatically; remove Select `role="group"` workarounds
477
559
  and manual `field.controlId` bindings unless an application deliberately chooses
478
560
  an explicit id. Explicit descriptions are merged with the field's help/error ids.
@@ -494,11 +576,11 @@ document, set a distinct `app.config.idPrefix` for each app.
494
576
  <FilePicker v-model="files" variant="compact" :max-size="524288" />
495
577
  </FormItem>
496
578
  </Form>
497
- <KeyValueRow label="Version" value="0.5.6" />
579
+ <KeyValueRow label="Version" value="0.5.7" />
498
580
  <KeyValueRow label="Download">
499
- <Link :href="downloadUrl" download="notes.txt" :download-label="t('download')">{{ t('download') }}</Link>
581
+ <Link :href="downloadUrl" download="notes.txt">{{ t('download') }}</Link>
500
582
  </KeyValueRow>
501
- <Link href="https://example.com/docs" external :external-label="t('opensNewTab')">{{ t('docs') }}</Link>
583
+ <Link href="https://example.com/docs" external>{{ t('docs') }}</Link>
502
584
  </ConfigProvider>
503
585
  ```
504
586
 
@@ -509,12 +591,18 @@ locale overrides ConfigProvider. Its `text` accepts partial overrides of
509
591
  `remove`, `typeRejected`, `sizeRejected`, `countRejected`, `duplicateRejected`.
510
592
  The messages use `{name}`, `{size}` and `{count}` placeholders. Existing
511
593
  `title`/`description` props still win. Other controls retain their exposed text
512
- props; the provider locale currently localizes FilePicker only.
594
+ props and partial text objects; built-in text throughout the library now follows
595
+ Provider locale. Explicit strings, including `''`, win over built-in translations.
596
+ DatePicker's calendar inherits Provider locale unless its own Intl `locale` is
597
+ supplied. Caller-owned option labels, content, URLs, rules' custom messages and
598
+ business terminology stay caller-owned. Validation fallbacks use the locale at
599
+ validation time; imperative message-box default titles use the locale at opening.
600
+ See [the complete default-text and container audit](docs/component-defaults-0.5.7.md).
513
601
 
514
602
  `KeyValueRow` renders a `dl` with `dt`/`dd`; its default slot accepts rich values,
515
603
  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
604
+ permit jumping past guards. Its built-in accessible name, `footer` actions and
605
+ step progress follow Provider locale; explicit overrides remain available. `RepeatRow` places wrapped cells
518
606
  inside `[data-repeat-fields]` and keeps its remove action beside the first control;
519
607
  `removeDisabled` disables the action. Use wrapping rows for adjacent controls.
520
608
 
@@ -556,3 +644,23 @@ Assert the emitted model value and label/ARIA links. For browser checks, use
556
644
  actual ArrowDown/ArrowUp/Enter/Escape input and verify the selected value and focus.
557
645
  `pnpm check` is valid without existing dist; `release:stage` requires a complete
558
646
  build and refuses missing/empty exported artifacts before copying files.
647
+
648
+ ### FilePicker rejection contract
649
+
650
+ FilePicker selects browser `File[]`; it does not read or parse their contents.
651
+ Each incoming file gets at most one reason, in the following order:
652
+
653
+ | Reason | When emitted |
654
+ | --- | --- |
655
+ | `type` | The name/MIME does not match `accept` (case-insensitive extension, MIME or MIME wildcard). |
656
+ | `size` | A nonzero `maxSize` is exceeded; a file exactly at the limit is accepted. |
657
+ | `duplicate` | Name, size and lastModified equal an existing or earlier accepted file. Directory path/content are not compared. |
658
+ | `count` | Adding the file would exceed `maxFiles`, or a single-file picker already contains one file. |
659
+
660
+ Single-file mode accepts the first valid file and rejects subsequent files with
661
+ `count`. It keeps an already selected file; remove it before selecting a replacement.
662
+ A canceled/empty selection emits neither `rejected` nor `update:modelValue`.
663
+ Disabled selection/drop is ignored. Size/type/count/duplicate are sufficient for
664
+ the component's selection policy. Failed reads, malformed JSON, encoding errors,
665
+ content validation, uploads and network failures belong to the application and
666
+ 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>;