@synopackageland/ui 0.19.2 → 0.19.3

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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.19.3 (2026-11-02)
4
+
5
+ - Fix the library's own text (a `SettingsPage` footer's Reset and Apply, Close, pagination, validation) showing English in an App that names its language only on `AppRoot`'s `lang` or not at all. `AppRoot` takes a `locale` prop and otherwise reads its `lang` attribute; with neither, and no `ConfigProvider locale` above, the text follows DSM's language in a DSM window, then the browser's, then English. `toUiLocale()` and `detectUiLocale()` map DSM codes (`cht`, `jpn`, …) and BCP-47 tags.
6
+ - Fix a `SettingsPage` footer in a page with gutters (`PageContent`, an App shell) drawn as a box inset by the gutter: it now reaches both edges of the content area as DSM's footer does, its buttons on the content's right edge. `PageContent` sets `--ui-page-gutter-x` for this.
7
+ - Library text in every language ends without a closing period (Version 2.0.0 is available, Could not check for updates, FilePicker's rejections); periods between sentences stay.
8
+
3
9
  ## 0.19.2 (2026-11-01)
4
10
 
5
11
  - Fix `FacetPanel` values showing no box until picked: a filter list read as blank space beside its labels. Every value now shows the Checkbox's box, empty until picked and ticked once picked, in the panel and in the phone sheet.
package/README.md CHANGED
@@ -188,6 +188,11 @@ Inside `AppRoot`, a nested `ConfigProvider` (for `dir` or `locale`) must pass
188
188
  the same `teleport-to`, and your own `<Teleport>`s must target an element inside
189
189
  the root.
190
190
 
191
+ The library's own text (Reset, Apply, Close, …) follows `AppRoot`'s `locale`
192
+ prop, else its `lang` attribute (`<AppRoot :lang="locale">`), else a
193
+ `ConfigProvider locale` above it, else DSM's language in a DSM window, then the
194
+ browser's. Pass the language your App shows so both read alike.
195
+
191
196
  Theme overrides go on your own app root, after the library stylesheet. Use a
192
197
  package-specific selector, so an override does not also match other apps:
193
198
 
@@ -1,3 +1,4 @@
1
+ import { UiLocale } from '../../../i18n/locale';
1
2
  type __VLS_Props = {
2
3
  modalScope?: 'document' | 'app';
3
4
  /**
@@ -18,6 +19,12 @@ type __VLS_Props = {
18
19
  * `<html>` instead, but then passes `dark` here too when it sets an accent.
19
20
  */
20
21
  colorScheme?: 'light' | 'dark';
22
+ /**
23
+ * The language of the library's own text (Reset, Apply, Close, ...). Without
24
+ * it the root's `lang` attribute names it, then an enclosing ConfigProvider,
25
+ * then DSM's language in a DSM window, then the browser's.
26
+ */
27
+ locale?: UiLocale;
21
28
  };
22
29
  declare var __VLS_7: {}, __VLS_9: {};
23
30
  type __VLS_Slots = {} & {
@@ -297,10 +297,10 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
297
297
  }) => any) | undefined;
298
298
  onCellUpdate?: ((value: DataGridCellUpdate) => any) | undefined;
299
299
  }>, {
300
- footer: boolean;
301
- filter: string;
302
300
  sort: DataGridSort | null;
301
+ filter: string;
303
302
  fill: boolean;
303
+ footer: boolean;
304
304
  loading: boolean;
305
305
  group: DataGridGroup | null;
306
306
  loadingText: string;
@@ -1,6 +1,15 @@
1
1
  import { ComputedRef, InjectionKey } from 'vue';
2
2
  export type UiLocale = 'en' | 'zh-TW' | 'zh-CN' | 'ja' | 'ko' | 'de' | 'fr' | 'es' | 'it';
3
+ export declare const UI_LOCALES: readonly UiLocale[];
3
4
  export declare const UI_LOCALE_KEY: InjectionKey<ComputedRef<UiLocale>>;
5
+ /** The built-in locale for a DSM language code or a BCP-47 tag, or undefined
6
+ * when the library has no text for it. Chinese without a region reads as
7
+ * Traditional only for Taiwan, Hong Kong and Macau scripts and regions. */
8
+ export declare function toUiLocale(tag: string | null | undefined): UiLocale | undefined;
9
+ /** The language the page runs in when no AppRoot or ConfigProvider names one:
10
+ * DSM's language in a DSM window (DSM reloads the window when it changes),
11
+ * else the browser's, else English. */
12
+ export declare function detectUiLocale(): UiLocale;
4
13
  export declare function useUiLocale(own: () => UiLocale | undefined): ComputedRef<UiLocale>;
5
14
  /** Named placeholders let applications translate messages without concatenating English. */
6
15
  export declare function formatUiText(template: string, values: Record<string, string | number>): string;
@@ -156,15 +156,15 @@ export declare const englishUiText: {
156
156
  readonly "Enter password": "Enter password";
157
157
  readonly "Unsaved changes": "Unsaved changes";
158
158
  readonly "Save your changes before closing?": "Save your changes before closing?";
159
- readonly "The value is not valid.": "The value is not valid.";
159
+ readonly "The value is not valid.": "The value is not valid";
160
160
  readonly "About this application": "About this application";
161
161
  readonly BETA: "BETA";
162
162
  readonly "Version {version}": "Version {version}";
163
163
  readonly "Checking for updates\u2026": "Checking for updates…";
164
- readonly "Version {version} is available.": "Version {version} is available.";
165
- readonly "Beta version {version} is available.": "Beta version {version} is available.";
166
- readonly "Could not check for updates.": "Could not check for updates.";
167
- readonly "You have the latest version.": "You have the latest version.";
164
+ readonly "Version {version} is available.": "Version {version} is available";
165
+ readonly "Beta version {version} is available.": "Beta version {version} is available";
166
+ readonly "Could not check for updates.": "Could not check for updates";
167
+ readonly "You have the latest version.": "You have the latest version";
168
168
  readonly "Could not refresh. Showing previous data": "Could not refresh. Showing previous data";
169
169
  readonly Retry: "Retry";
170
170
  readonly "Release notes": "Release notes";
@@ -225,7 +225,7 @@ export declare const englishUiText: {
225
225
  readonly "Copy path": "Copy path";
226
226
  readonly "Path: {path}": "Path: {path}";
227
227
  readonly Copied: "Copied";
228
- readonly "Couldn't copy. Select the text and copy it manually.": "Couldn't copy. Select the text and copy it manually.";
228
+ readonly "Couldn't copy. Select the text and copy it manually.": "Couldn't copy. Select the text and copy it manually";
229
229
  readonly "Couldn't copy": "Couldn't copy";
230
230
  readonly "Clear filters": "Clear filters";
231
231
  readonly Filters: "Filters";
package/dist/index.d.ts CHANGED
@@ -265,6 +265,7 @@ export { default as OverflowToolbar } from './components/composite/overflow-tool
265
265
  export { computeOverflowFit, ITEM_GAP } from './components/composite/overflow-toolbar/overflow';
266
266
  export type { OverflowToolbarItem, OverflowToolbarMenuEntry, OverflowToolbarMoreMenu, OverflowToolbarMoreState, OverflowToolbarMoreText, } from './components/composite/overflow-toolbar/types';
267
267
  export type { UiLocale } from './i18n/locale';
268
+ export { detectUiLocale, toUiLocale, UI_LOCALES } from './i18n/locale';
268
269
  export { useUiText } from './i18n/text';
269
270
  export type { UiTextKey } from './i18n/text';
270
271
  export { filePickerText } from './i18n/filePicker';