@molecule/app-theme-css-variables 1.0.1 → 1.0.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/README.md CHANGED
@@ -3,7 +3,7 @@ AUTO-GENERATED — DO NOT EDIT THIS FILE.
3
3
  Generated by `mlcl sync-docs` from the package's src/index.ts JSDoc + mlcl/registry.json.
4
4
  Edits here are overwritten on the next commit (molecule's pre-commit hook regenerates).
5
5
  To change this document, edit the module-level JSDoc in src/index.ts.
6
- Generated: 2026-08-04T01:52:56.051Z
6
+ Generated: 2026-09-13T23:39:58.618Z
7
7
  -->
8
8
 
9
9
  # @molecule/app-theme-css-variables
@@ -89,6 +89,15 @@ interface CSSVariablesThemeConfig {
89
89
  * Provide an adapter for React Native (AsyncStorage wrapper) or custom stores.
90
90
  */
91
91
  storage?: ThemeStorageAdapter
92
+ /**
93
+ * With no persisted choice, start on the theme whose `mode` matches the
94
+ * OS preference (`prefers-color-scheme`) instead of `defaultTheme`.
95
+ * Browser-only: a render without a window — a server, a build-time
96
+ * prerender — starts on `defaultTheme`, which `getServerTheme()` reports
97
+ * so a hydrating client renders the markup it was sent before switching.
98
+ * Default: false.
99
+ */
100
+ systemDefault?: boolean
92
101
  }
93
102
  ```
94
103
 
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAS,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAG/D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAmHzD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,uBAAuB,GAAG,aAAa,CAqF9F;AAED,uEAAuE;AACvE,eAAO,MAAM,QAAQ,EAAE,aAGrB,CAAA"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAS,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAG/D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAmHzD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,uBAAuB,GAAG,aAAa,CAiH9F;AAED,uEAAuE;AACvE,eAAO,MAAM,QAAQ,EAAE,aAGrB,CAAA"}
package/dist/provider.js CHANGED
@@ -135,7 +135,7 @@ function applyThemeToDocument(themes, activeTheme, prefix) {
135
135
  * @returns A ThemeProvider that applies themes as CSS custom properties on the document root.
136
136
  */
137
137
  export function createCSSVariablesThemeProvider(config) {
138
- const { themes, defaultTheme, prefix = 'mol', applyToDocument = true, persistKey } = config;
138
+ const { themes, defaultTheme, prefix = 'mol', applyToDocument = true, persistKey, systemDefault = false, } = config;
139
139
  // If a persistKey is set without an explicit storage adapter, fall back to
140
140
  // window.localStorage. The previous behavior — persistKey but no storage =
141
141
  // silent no-op — was the source of "I toggled dark mode and it reset on
@@ -157,13 +157,29 @@ export function createCSSVariablesThemeProvider(config) {
157
157
  },
158
158
  }
159
159
  : undefined);
160
- let currentTheme = themes.find((t) => t.name === defaultTheme) || themes[0];
160
+ // What a render without a browser starts on — no storage, no media query.
161
+ const serverTheme = themes.find((t) => t.name === defaultTheme) || themes[0];
162
+ let currentTheme = serverTheme;
161
163
  const listeners = new Set();
162
164
  // Try to restore from storage adapter
165
+ let restored = false;
163
166
  if (persistKey && storage) {
164
167
  const saved = storage.getItem(persistKey);
165
168
  if (saved) {
166
169
  const found = themes.find((t) => t.name === saved);
170
+ if (found) {
171
+ currentTheme = found;
172
+ restored = true;
173
+ }
174
+ }
175
+ }
176
+ // Nothing persisted: follow the OS preference when asked to (browser only).
177
+ if (!restored && systemDefault) {
178
+ const matchMedia = globalThis
179
+ .matchMedia;
180
+ if (typeof matchMedia === 'function') {
181
+ const mode = matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
182
+ const found = themes.find((t) => t.mode === mode);
167
183
  if (found)
168
184
  currentTheme = found;
169
185
  }
@@ -204,6 +220,9 @@ export function createCSSVariablesThemeProvider(config) {
204
220
  getThemes() {
205
221
  return themes;
206
222
  },
223
+ getServerTheme() {
224
+ return serverTheme;
225
+ },
207
226
  };
208
227
  return provider;
209
228
  }
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -37,5 +37,14 @@ export interface CSSVariablesThemeConfig {
37
37
  * Provide an adapter for React Native (AsyncStorage wrapper) or custom stores.
38
38
  */
39
39
  storage?: ThemeStorageAdapter;
40
+ /**
41
+ * With no persisted choice, start on the theme whose `mode` matches the
42
+ * OS preference (`prefers-color-scheme`) instead of `defaultTheme`.
43
+ * Browser-only: a render without a window — a server, a build-time
44
+ * prerender — starts on `defaultTheme`, which `getServerTheme()` reports
45
+ * so a hydrating client renders the markup it was sent before switching.
46
+ * Default: false.
47
+ */
48
+ systemDefault?: boolean;
40
49
  }
41
50
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAEhD;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;IACnC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,wBAAwB;IACxB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,wCAAwC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,oEAAoE;IACpE,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,mBAAmB,CAAA;CAC9B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAEhD;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;IACnC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,wBAAwB;IACxB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,wCAAwC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,oEAAoE;IACpE,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,mBAAmB,CAAA;IAC7B;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@molecule/app-theme-css-variables",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "CSS custom properties theme provider for molecule.dev",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -31,7 +31,7 @@
31
31
  "devDependencies": {
32
32
  "@types/node": "26.1.2",
33
33
  "typescript": "6.0.3",
34
- "vitest": "4.1.10"
34
+ "vitest": "4.1.11"
35
35
  },
36
36
  "peerDependencies": {
37
37
  "@molecule/app-theme": "^1.0.1"
@@ -41,7 +41,7 @@
41
41
  "url": "https://github.com/molecule-dev/molecule.git",
42
42
  "directory": "packages/app/bonds/theme/css-variables"
43
43
  },
44
- "homepage": "https://github.com/molecule-dev/molecule/tree/main/packages/app/bonds/theme/css-variables",
44
+ "homepage": "https://www.molecule.dev/packages/app-theme-css-variables",
45
45
  "bugs": "https://github.com/molecule-dev/molecule/issues",
46
46
  "publishConfig": {
47
47
  "access": "public"