@synopackageland/ui 0.23.7 → 0.23.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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 0.23.8 (2026-11-08)
6
+
7
+ - Document that DSM windows leave AppRoot's `color-scheme` and `data-ui-color-scheme` unset so the app stays light with its DSM window, even under an operating system's dark preference. Only an app's own full page (a portal or its own browser tab) may follow `prefers-color-scheme`. README, the colour system, theme hooks and AppRoot's prop documentation state the rule
8
+
5
9
  ## 0.23.7 (2026-11-08)
6
10
 
7
11
  Phone fixes: the bars stay shown while the page is near its top, so the room above the content is never given up before content lies under it, and a settings commit footer stays put while the page scrolls and is smaller. No App change is required; a DSM window and desktop are unchanged.
package/README.md CHANGED
@@ -476,14 +476,18 @@ 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">` switches
479
+ In a DSM window, leave AppRoot's `color-scheme` unset and do not set
480
+ `data-ui-color-scheme`. DSM draws the window light, even when the operating
481
+ system prefers dark mode. Do not follow `prefers-color-scheme` in a DSM window.
482
+
483
+ Only a full page of the app's own (a portal or its own browser tab) may follow
484
+ `prefers-color-scheme`. There, `<AppRoot color-scheme="dark">` switches
480
485
  every token, and derives the accent for a dark page. AppRoot puts
481
486
  `data-ui-color-scheme="dark"` on its root (`[data-ui-app]`); set the attribute
482
487
  there yourself only without AppRoot. The embedded stylesheets
483
488
  (`themes/dsm7-embedded*.css`, a DSM window) read it only on `[data-ui-app]`, never on
484
489
  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
486
- example from `prefers-color-scheme` ([colour system](docs/color-system.md#dark-theme)).
490
+ `theme.css`, on a page of your own ([colour system](docs/color-system.md#dark-theme)).
487
491
 
488
492
  Other tokens are overridden in a stylesheet imported after the library's:
489
493
 
@@ -14,6 +14,8 @@ type __VLS_Props = {
14
14
  */
15
15
  accent?: string;
16
16
  /**
17
+ * Leave unset in a DSM window; DSM draws it light.
18
+ * Only a full page of the app's own may follow `prefers-color-scheme`.
17
19
  * `dark` draws the app in the dark theme (src/theme/dark.css), and derives the
18
20
  * accent for it. A full page can set `data-ui-color-scheme="dark"` on
19
21
  * `<html>` instead, but then passes `dark` here too when it sets an accent.
@@ -3,7 +3,7 @@
3
3
  The theme draws every colour from five 12-step scales built from DSM 7's own
4
4
  colours (`src/theme/palette.css`). Components use the semantic tokens
5
5
  (`--ui-primary`, `--ui-text-secondary`, …) in `src/theme/dsm7.css`, and each
6
- of those is one step of a scale. The theme is light only, like DSM 7.
6
+ of those is one step of a scale. The default theme is light, like DSM 7.
7
7
 
8
8
  ## Scales
9
9
 
@@ -110,14 +110,21 @@ step 3, so links and selected labels stay readable on a dark page.
110
110
 
111
111
  ## Dark theme
112
112
 
113
+ In a DSM window, leave AppRoot's `color-scheme` unset and do not set
114
+ `data-ui-color-scheme`. DSM draws the window light, even when the operating
115
+ system prefers dark mode. Do not follow `prefers-color-scheme` in a DSM window.
116
+ Only a full page of the app's own (a portal or its own browser tab) may follow
117
+ that preference.
118
+
113
119
  The dark theme (`src/theme/dark.css`) ships inside `theme.css` and the embedded stylesheets. It applies wherever
114
120
  `data-ui-color-scheme="dark"` is set: on the app root (`[data-ui-app]`)
115
121
  through `<AppRoot color-scheme="dark">`. With `theme.css` on a page of your own,
116
122
  `<html data-ui-color-scheme="dark">` works too; the embedded stylesheets (a DSM
117
123
  window) are scoped to the app root and read the attribute only there, never on
118
124
  the host's `<html>` (an app with an accent passes `color-scheme="dark"` to
119
- AppRoot in any case, which derives the accent for it). The library does not follow `prefers-color-scheme` by itself;
120
- the host decides and sets the attribute.
125
+ AppRoot in any case, which derives the accent for it). The library does not
126
+ follow `prefers-color-scheme` by itself; an app that owns its full page decides
127
+ and sets the attribute.
121
128
 
122
129
  The same roles, with the light page's sage carried into the greys:
123
130
 
@@ -27,6 +27,11 @@ here stay implementation details and can change in any release.
27
27
 
28
28
  ### Application root and layout
29
29
 
30
+ In a DSM window, leave AppRoot's `color-scheme` unset and do not set
31
+ `data-ui-color-scheme`: DSM draws the window light, even when the operating
32
+ system prefers dark mode. Only a full page of the app's own (a portal or its
33
+ own browser tab) may follow `prefers-color-scheme` (see [Dark theme](color-system.md#dark-theme)).
34
+
30
35
  | Attribute | On | Values |
31
36
  | --- | --- | --- |
32
37
  | `data-ui-app` | `AppRoot`'s root and its floating hosts (portals) | present |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@synopackageland/ui",
3
- "version": "0.23.7",
3
+ "version": "0.23.8",
4
4
  "description": "Shared Vue 3 UI component library with a DSM 7 inspired application theme",
5
5
  "license": "MIT",
6
6
  "type": "module",