@synopackageland/ui 0.20.10 → 0.20.11

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,16 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.20.11 (2026-11-05)
4
+
5
+ - Button centres its icon on the label: an icon (an `svg`, or an element marked `data-icon`, which `Icon` and `StatusDot` now carry) sits on the centre of the label's line instead of DSM's x-height middle, which put a 16px icon 0.6-1.6px under the label depending on the font. The label keeps its ellipsis
6
+ - Button counts only an `svg` or a `data-icon` element as the icon before or after its text. A `<span>` around the text is text, so `<Button><Mic /><span>Record</span></Button>` keeps one 8px gap instead of 16px, and a `v-if` comment counts as nothing. The label is plain text (docs/button-policy.md, rule 10). CopyButton and FacetPanel mark their icon and count with `data-icon`
7
+ - A Callout inside a `SettingsSection` body sits 12px from the rows around it instead of flush on the next row; a closed Callout takes no gap
8
+ - On a phone, a `SectionTabs` section pushed from its list spans the page's content area: its Back header reaches both edges and its content keeps the page gutter, instead of a white page inside the gutter with its fields on its edges. The list keeps its inset
9
+ - A pushed page's Back header never cuts Back short: its sides keep their full width and a long title ends in its ellipsis first (SectionTabs, ListDetail)
10
+ - FilePicker leaves the file count out of its limits line when the limit is 1 ("up to 1 files"), and the new `show-hint` prop (default on) hides the built-in line of types, size and count when the page states them itself
11
+ - An `AppTabBar` set to `:more="false"` is the whole phone navigation: while it shows, the phone bar drops its menu button, which opened a drawer of the same destinations. A hidden bar brings the button back. Leave `more` unset to keep the drawer reachable through More
12
+ - Docs: the dark scheme attribute belongs on the app root (`AppRoot color-scheme`); `<html data-ui-color-scheme="dark">` works only with `theme.css`, never under the embedded stylesheets. WizardStep lays its content out in block flow (docs/wizard.md, Layout)
13
+
3
14
  ## 0.20.10 (2026-11-05)
4
15
 
5
16
  - A page of cards now sits on a lighter near-white canvas (`--ui-page-canvas`) so it matches pages without a background; `--ui-app-web-canvas` still overrides it
package/README.md CHANGED
@@ -476,9 +476,13 @@ readable on it, and leaves the status tones DSM's:
476
476
  </AppRoot>
477
477
  ```
478
478
 
479
- The theme has a dark scheme too: `<AppRoot color-scheme="dark">` (or
480
- `data-ui-color-scheme="dark"` on `<html>` for a full page) switches every
481
- token, and derives the accent for a dark page. The host decides when, for
479
+ The theme has a dark scheme too: `<AppRoot color-scheme="dark">` switches
480
+ every token, and derives the accent for a dark page. AppRoot puts
481
+ `data-ui-color-scheme="dark"` on its root (`[data-ui-app]`); set the attribute
482
+ there yourself only without AppRoot. The embedded stylesheets
483
+ (`themes/dsm7-embedded*.css`, a DSM window) read it only on `[data-ui-app]`, never on
484
+ the host's `<html>`; `<html data-ui-color-scheme="dark">` works only with
485
+ `theme.css`, on a page of your own. The host decides when, for
482
486
  example from `prefers-color-scheme` ([colour system](docs/color-system.md#dark-theme)).
483
487
 
484
488
  Other tokens are overridden in a stylesheet imported after the library's:
@@ -13,7 +13,9 @@ type __VLS_Props = {
13
13
  modelValue?: string;
14
14
  /**
15
15
  * Adds a last More tab. Defaults to on inside an AppLayout with a sidebar,
16
- * where it opens the navigation drawer; it always emits `more`.
16
+ * where it opens the navigation drawer; it always emits `more`. Set to
17
+ * `false` when the tabs are the whole navigation: while the bar shows,
18
+ * the phone bar then drops its menu button too.
17
19
  */
18
20
  more?: boolean;
19
21
  /** Hides the bar, for example while a full-screen drawer covers the page. */
@@ -22,6 +22,11 @@ type __VLS_Props = {
22
22
  text?: Partial<FilePickerText>;
23
23
  title?: string;
24
24
  description?: string;
25
+ /**
26
+ * Shows the built-in line of limits (accepted types, maximum size, file
27
+ * count) under the picker. Turn it off when the page states the limits itself.
28
+ */
29
+ showHint?: boolean;
25
30
  };
26
31
  declare var __VLS_53: {
27
32
  file: File;
@@ -46,6 +51,7 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {},
46
51
  maxFiles: number;
47
52
  maxSize: number;
48
53
  directory: boolean;
54
+ showHint: boolean;
49
55
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
50
56
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
51
57
  declare const _default: typeof __VLS_export;
@@ -13,6 +13,7 @@ export type FilePickerText = {
13
13
  images: string;
14
14
  videos: string;
15
15
  audio: string;
16
+ /** `maxFiles` shows only for a limit of two or more, so it is always plural. */
16
17
  maxSize: string;
17
18
  maxFiles: string;
18
19
  remove: string;