@oxyhq/bloom 0.41.0 → 0.42.0
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/lib/commonjs/theme/BloomThemeProvider.js +18 -7
- package/lib/commonjs/theme/BloomThemeProvider.js.map +1 -1
- package/lib/commonjs/theme/apply-dark-class.js +2 -2
- package/lib/commonjs/theme/apply-dark-class.js.map +1 -1
- package/lib/commonjs/theme/build-theme-from-seed.js +17 -5
- package/lib/commonjs/theme/build-theme-from-seed.js.map +1 -1
- package/lib/commonjs/theme/build-theme.js +9 -6
- package/lib/commonjs/theme/build-theme.js.map +1 -1
- package/lib/commonjs/theme/color-engine/index.js +8 -1
- package/lib/commonjs/theme/color-engine/index.js.map +1 -1
- package/lib/commonjs/theme/color-engine/scheme-variants.js +42 -18
- package/lib/commonjs/theme/color-engine/scheme-variants.js.map +1 -1
- package/lib/commonjs/theme/color-engine/seed-from-image.js +11 -1
- package/lib/commonjs/theme/color-engine/seed-from-image.js.map +1 -1
- package/lib/commonjs/theme/color-presets.js.map +1 -1
- package/lib/commonjs/theme/color-scope/seed-scope.js +3 -1
- package/lib/commonjs/theme/color-scope/seed-scope.js.map +1 -1
- package/lib/commonjs/theme/color-scope/style-builder.js +2 -2
- package/lib/commonjs/theme/color-scope/style-builder.js.map +1 -1
- package/lib/commonjs/theme/index.js.map +1 -1
- package/lib/commonjs/theme/native-root-vars.js +1 -1
- package/lib/commonjs/theme/native-root-vars.js.map +1 -1
- package/lib/commonjs/theme/native-root-vars.native.js +2 -2
- package/lib/commonjs/theme/native-root-vars.native.js.map +1 -1
- package/lib/commonjs/theme/native-root-vars.web.js +1 -1
- package/lib/commonjs/theme/native-root-vars.web.js.map +1 -1
- package/lib/commonjs/theme/preset-vars.js +16 -2
- package/lib/commonjs/theme/preset-vars.js.map +1 -1
- package/lib/commonjs/theme/token-registry.js +2 -2
- package/lib/commonjs/theme/token-registry.js.map +1 -1
- package/lib/module/theme/BloomThemeProvider.js +18 -7
- package/lib/module/theme/BloomThemeProvider.js.map +1 -1
- package/lib/module/theme/apply-dark-class.js +2 -2
- package/lib/module/theme/apply-dark-class.js.map +1 -1
- package/lib/module/theme/build-theme-from-seed.js +18 -5
- package/lib/module/theme/build-theme-from-seed.js.map +1 -1
- package/lib/module/theme/build-theme.js +9 -6
- package/lib/module/theme/build-theme.js.map +1 -1
- package/lib/module/theme/color-engine/index.js +8 -1
- package/lib/module/theme/color-engine/index.js.map +1 -1
- package/lib/module/theme/color-engine/scheme-variants.js +43 -18
- package/lib/module/theme/color-engine/scheme-variants.js.map +1 -1
- package/lib/module/theme/color-engine/seed-from-image.js +11 -1
- package/lib/module/theme/color-engine/seed-from-image.js.map +1 -1
- package/lib/module/theme/color-presets.js.map +1 -1
- package/lib/module/theme/color-scope/seed-scope.js +3 -1
- package/lib/module/theme/color-scope/seed-scope.js.map +1 -1
- package/lib/module/theme/color-scope/style-builder.js +2 -2
- package/lib/module/theme/color-scope/style-builder.js.map +1 -1
- package/lib/module/theme/index.js.map +1 -1
- package/lib/module/theme/native-root-vars.js +1 -1
- package/lib/module/theme/native-root-vars.js.map +1 -1
- package/lib/module/theme/native-root-vars.native.js +2 -2
- package/lib/module/theme/native-root-vars.native.js.map +1 -1
- package/lib/module/theme/native-root-vars.web.js +1 -1
- package/lib/module/theme/native-root-vars.web.js.map +1 -1
- package/lib/module/theme/preset-vars.js +17 -2
- package/lib/module/theme/preset-vars.js.map +1 -1
- package/lib/module/theme/token-registry.js +2 -2
- package/lib/module/theme/token-registry.js.map +1 -1
- package/lib/typescript/commonjs/theme/BloomThemeProvider.d.ts +15 -1
- package/lib/typescript/commonjs/theme/BloomThemeProvider.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/apply-dark-class.d.ts +2 -1
- package/lib/typescript/commonjs/theme/apply-dark-class.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/build-theme-from-seed.d.ts +13 -2
- package/lib/typescript/commonjs/theme/build-theme-from-seed.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/build-theme.d.ts +2 -1
- package/lib/typescript/commonjs/theme/build-theme.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/color-engine/index.d.ts +17 -1
- package/lib/typescript/commonjs/theme/color-engine/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/color-engine/scheme-variants.d.ts +25 -7
- package/lib/typescript/commonjs/theme/color-engine/scheme-variants.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/color-engine/seed-from-image.d.ts +11 -1
- package/lib/typescript/commonjs/theme/color-engine/seed-from-image.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/color-presets.d.ts +14 -0
- package/lib/typescript/commonjs/theme/color-presets.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/color-scope/seed-scope.d.ts +12 -0
- package/lib/typescript/commonjs/theme/color-scope/seed-scope.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/color-scope/style-builder.d.ts +2 -1
- package/lib/typescript/commonjs/theme/color-scope/style-builder.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/index.d.ts +3 -1
- package/lib/typescript/commonjs/theme/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/native-root-vars.d.ts +2 -1
- package/lib/typescript/commonjs/theme/native-root-vars.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/native-root-vars.native.d.ts +2 -1
- package/lib/typescript/commonjs/theme/native-root-vars.native.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/native-root-vars.web.d.ts +2 -1
- package/lib/typescript/commonjs/theme/native-root-vars.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/preset-vars.d.ts +12 -1
- package/lib/typescript/commonjs/theme/preset-vars.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/token-registry.d.ts +2 -1
- package/lib/typescript/commonjs/theme/token-registry.d.ts.map +1 -1
- package/lib/typescript/module/theme/BloomThemeProvider.d.ts +15 -1
- package/lib/typescript/module/theme/BloomThemeProvider.d.ts.map +1 -1
- package/lib/typescript/module/theme/apply-dark-class.d.ts +2 -1
- package/lib/typescript/module/theme/apply-dark-class.d.ts.map +1 -1
- package/lib/typescript/module/theme/build-theme-from-seed.d.ts +13 -2
- package/lib/typescript/module/theme/build-theme-from-seed.d.ts.map +1 -1
- package/lib/typescript/module/theme/build-theme.d.ts +2 -1
- package/lib/typescript/module/theme/build-theme.d.ts.map +1 -1
- package/lib/typescript/module/theme/color-engine/index.d.ts +17 -1
- package/lib/typescript/module/theme/color-engine/index.d.ts.map +1 -1
- package/lib/typescript/module/theme/color-engine/scheme-variants.d.ts +25 -7
- package/lib/typescript/module/theme/color-engine/scheme-variants.d.ts.map +1 -1
- package/lib/typescript/module/theme/color-engine/seed-from-image.d.ts +11 -1
- package/lib/typescript/module/theme/color-engine/seed-from-image.d.ts.map +1 -1
- package/lib/typescript/module/theme/color-presets.d.ts +14 -0
- package/lib/typescript/module/theme/color-presets.d.ts.map +1 -1
- package/lib/typescript/module/theme/color-scope/seed-scope.d.ts +12 -0
- package/lib/typescript/module/theme/color-scope/seed-scope.d.ts.map +1 -1
- package/lib/typescript/module/theme/color-scope/style-builder.d.ts +2 -1
- package/lib/typescript/module/theme/color-scope/style-builder.d.ts.map +1 -1
- package/lib/typescript/module/theme/index.d.ts +3 -1
- package/lib/typescript/module/theme/index.d.ts.map +1 -1
- package/lib/typescript/module/theme/native-root-vars.d.ts +2 -1
- package/lib/typescript/module/theme/native-root-vars.d.ts.map +1 -1
- package/lib/typescript/module/theme/native-root-vars.native.d.ts +2 -1
- package/lib/typescript/module/theme/native-root-vars.native.d.ts.map +1 -1
- package/lib/typescript/module/theme/native-root-vars.web.d.ts +2 -1
- package/lib/typescript/module/theme/native-root-vars.web.d.ts.map +1 -1
- package/lib/typescript/module/theme/preset-vars.d.ts +12 -1
- package/lib/typescript/module/theme/preset-vars.d.ts.map +1 -1
- package/lib/typescript/module/theme/token-registry.d.ts +2 -1
- package/lib/typescript/module/theme/token-registry.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/theme.test.ts +3 -0
- package/src/theme/BloomThemeProvider.tsx +38 -8
- package/src/theme/__tests__/explicit-accents.test.ts +129 -0
- package/src/theme/apply-dark-class.ts +7 -2
- package/src/theme/build-theme-from-seed.ts +25 -2
- package/src/theme/build-theme.ts +9 -3
- package/src/theme/color-engine/index.ts +27 -1
- package/src/theme/color-engine/scheme-variants.ts +108 -30
- package/src/theme/color-engine/seed-from-image.ts +11 -1
- package/src/theme/color-presets.ts +14 -0
- package/src/theme/color-scope/seed-scope.ts +14 -0
- package/src/theme/color-scope/style-builder.ts +3 -1
- package/src/theme/index.ts +3 -1
- package/src/theme/native-root-vars.native.ts +7 -2
- package/src/theme/native-root-vars.ts +6 -1
- package/src/theme/native-root-vars.web.ts +6 -1
- package/src/theme/preset-vars.ts +19 -0
- package/src/theme/token-registry.ts +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_BloomThemeProvider","require","_colorScope","_seedScope","_seedScope2","_index","_buildTheme","_buildThemeFromSeed","_gradients","_useTheme","_useNavigationTheme","_colorPresets","_colorUtils","_presetVars","_applyDarkClass","_setColorSchemeSafe","_initCssInterop","_persistence"],"sourceRoot":"../../../src","sources":["theme/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAD,OAAA;AAEA,IAAAE,UAAA,GAAAF,OAAA;AAEA,IAAAG,WAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAJ,OAAA;AAaA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,mBAAA,GAAAN,OAAA;
|
|
1
|
+
{"version":3,"names":["_BloomThemeProvider","require","_colorScope","_seedScope","_seedScope2","_index","_buildTheme","_buildThemeFromSeed","_gradients","_useTheme","_useNavigationTheme","_colorPresets","_colorUtils","_presetVars","_applyDarkClass","_setColorSchemeSafe","_initCssInterop","_persistence"],"sourceRoot":"../../../src","sources":["theme/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAD,OAAA;AAEA,IAAAE,UAAA,GAAAF,OAAA;AAEA,IAAAG,WAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAJ,OAAA;AAaA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,mBAAA,GAAAN,OAAA;AAEA,IAAAO,UAAA,GAAAP,OAAA;AACA,IAAAQ,SAAA,GAAAR,OAAA;AACA,IAAAS,mBAAA,GAAAT,OAAA;AAIA,IAAAU,aAAA,GAAAV,OAAA;AAOA,IAAAW,WAAA,GAAAX,OAAA;AAEA,IAAAY,WAAA,GAAAZ,OAAA;AAEA,IAAAa,eAAA,GAAAb,OAAA;AACA,IAAAc,mBAAA,GAAAd,OAAA;AACA,IAAAe,eAAA,GAAAf,OAAA;AAEA,IAAAgB,YAAA,GAAAhB,OAAA","ignoreList":[]}
|
|
@@ -34,7 +34,7 @@ exports.applyNativeRootVars = applyNativeRootVars;
|
|
|
34
34
|
* The signature is intentionally identical to those variants so the import site in
|
|
35
35
|
* `BloomThemeProvider` is platform-agnostic.
|
|
36
36
|
*/
|
|
37
|
-
function applyNativeRootVars(_colorPreset, _mode) {
|
|
37
|
+
function applyNativeRootVars(_colorPreset, _mode, _accents) {
|
|
38
38
|
// Intentionally empty — the native variant (`native-root-vars.native.ts`) does
|
|
39
39
|
// the real work; this neutral default and the web fork are inert.
|
|
40
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["applyNativeRootVars","_colorPreset","_mode"],"sourceRoot":"../../../src","sources":["theme/native-root-vars.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"names":["applyNativeRootVars","_colorPreset","_mode","_accents"],"sourceRoot":"../../../src","sources":["theme/native-root-vars.ts"],"mappings":";;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,mBAAmBA,CACjCC,YAA0B,EAC1BC,KAAuB,EACvBC,QAA0B,EACpB;EACN;EACA;AAAA","ignoreList":[]}
|
|
@@ -125,9 +125,9 @@ var _tokenRegistry = require("./token-registry.js");
|
|
|
125
125
|
* Defensive guard: if a host ships a react-native-css build that doesn't expose
|
|
126
126
|
* `rootVariables` as a callable (it always does on @3), we bail rather than throw.
|
|
127
127
|
*/
|
|
128
|
-
function applyNativeRootVars(colorPreset, mode) {
|
|
128
|
+
function applyNativeRootVars(colorPreset, mode, accents) {
|
|
129
129
|
if (typeof _nativeInternal.rootVariables !== 'function') return;
|
|
130
|
-
const vars = (0, _tokenRegistry.getResolvedTokens)(colorPreset, mode);
|
|
130
|
+
const vars = (0, _tokenRegistry.getResolvedTokens)(colorPreset, mode, accents);
|
|
131
131
|
for (const [key, value] of Object.entries(vars)) {
|
|
132
132
|
// The family is keyed by the bare name; `getResolvedTokens` keys include `--`.
|
|
133
133
|
const name = key.startsWith('--') ? key.slice(2) : key;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_nativeInternal","require","_tokenRegistry","applyNativeRootVars","colorPreset","mode","rootVariables","vars","getResolvedTokens","key","value","Object","entries","name","startsWith","slice","set"],"sourceRoot":"../../../src","sources":["theme/native-root-vars.native.ts"],"mappings":";;;;;;AAgBA,IAAAA,eAAA,GAAAC,OAAA;
|
|
1
|
+
{"version":3,"names":["_nativeInternal","require","_tokenRegistry","applyNativeRootVars","colorPreset","mode","accents","rootVariables","vars","getResolvedTokens","key","value","Object","entries","name","startsWith","slice","set"],"sourceRoot":"../../../src","sources":["theme/native-root-vars.native.ts"],"mappings":";;;;;;AAgBA,IAAAA,eAAA,GAAAC,OAAA;AAIA,IAAAC,cAAA,GAAAD,OAAA;AApBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,mBAAmBA,CACjCC,WAAyB,EACzBC,IAAsB,EACtBC,OAAyB,EACnB;EACN,IAAI,OAAOC,6BAAa,KAAK,UAAU,EAAE;EAEzC,MAAMC,IAAI,GAAG,IAAAC,gCAAiB,EAACL,WAAW,EAAEC,IAAI,EAAEC,OAAO,CAAC;EAC1D,KAAK,MAAM,CAACI,GAAG,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACL,IAAI,CAAC,EAAE;IAC/C;IACA,MAAMM,IAAI,GAAGJ,GAAG,CAACK,UAAU,CAAC,IAAI,CAAC,GAAGL,GAAG,CAACM,KAAK,CAAC,CAAC,CAAC,GAAGN,GAAG;IACtD,IAAAH,6BAAa,EAACO,IAAI,CAAC,CAACG,GAAG,CAAC,CAAC,CAACN,KAAK,CAAC,CAAC,CAAC;EACpC;AACF","ignoreList":[]}
|
|
@@ -21,7 +21,7 @@ exports.applyNativeRootVars = applyNativeRootVars;
|
|
|
21
21
|
* The signature is intentionally identical to the plain variant so the import
|
|
22
22
|
* site in `BloomThemeProvider` is platform-agnostic.
|
|
23
23
|
*/
|
|
24
|
-
function applyNativeRootVars(_colorPreset, _mode) {
|
|
24
|
+
function applyNativeRootVars(_colorPreset, _mode, _accents) {
|
|
25
25
|
// Intentionally empty — web applies preset vars to `document.documentElement`.
|
|
26
26
|
}
|
|
27
27
|
//# sourceMappingURL=native-root-vars.web.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["applyNativeRootVars","_colorPreset","_mode"],"sourceRoot":"../../../src","sources":["theme/native-root-vars.web.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"names":["applyNativeRootVars","_colorPreset","_mode","_accents"],"sourceRoot":"../../../src","sources":["theme/native-root-vars.web.ts"],"mappings":";;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,mBAAmBA,CACjCC,YAA0B,EAC1BC,KAAuB,EACvBC,QAA0B,EACpB;EACN;AAAA","ignoreList":[]}
|
|
@@ -8,6 +8,14 @@ exports.getPresetVars = getPresetVars;
|
|
|
8
8
|
var _colorPresets = require("./color-presets.js");
|
|
9
9
|
var _index = require("./color-engine/index.js");
|
|
10
10
|
var _tokenRegistry = require("./token-registry.js");
|
|
11
|
+
/**
|
|
12
|
+
* Optional explicit accent-colour overrides (`#rrggbb`) that PIN the secondary
|
|
13
|
+
* and/or tertiary palette app-wide, regardless of the active preset's own seed.
|
|
14
|
+
* Threaded from `BloomThemeProvider`'s `secondaryColor` / `tertiaryColor` props
|
|
15
|
+
* down through the whole token pipeline. When both are omitted, the preset's own
|
|
16
|
+
* (usually derived) accents are used — output is unchanged.
|
|
17
|
+
*/
|
|
18
|
+
|
|
11
19
|
// Circular at the module graph level (`token-registry` imports `getPresetVars`
|
|
12
20
|
// from here), but safe: `getResolvedTokens` is only referenced inside the
|
|
13
21
|
// `applyPresetVarsToDocument` function body — i.e. at call time, after both
|
|
@@ -30,12 +38,18 @@ var _tokenRegistry = require("./token-registry.js");
|
|
|
30
38
|
* This is the single source of truth for extended theming vars — consumer apps
|
|
31
39
|
* must not redefine these per-app.
|
|
32
40
|
*/
|
|
33
|
-
function getPresetVars(colorName, mode) {
|
|
41
|
+
function getPresetVars(colorName, mode, accents) {
|
|
34
42
|
const preset = _colorPresets.APP_COLOR_PRESETS[colorName];
|
|
35
43
|
const r = (0, _index.generateRoleColors)({
|
|
36
44
|
seed: preset.hex,
|
|
37
45
|
variant: preset.variant,
|
|
38
|
-
isDark: mode === 'dark'
|
|
46
|
+
isDark: mode === 'dark',
|
|
47
|
+
// Pinned accents: an explicit app-wide override (from the provider) wins,
|
|
48
|
+
// else the preset's own declared accent, else undefined → derived rotation.
|
|
49
|
+
// The built-in presets declare none, so with no override their generated
|
|
50
|
+
// tokens stay byte-identical.
|
|
51
|
+
secondarySeed: accents?.secondaryHex ?? preset.secondaryHex,
|
|
52
|
+
tertiarySeed: accents?.tertiaryHex ?? preset.tertiaryHex
|
|
39
53
|
});
|
|
40
54
|
return {
|
|
41
55
|
// --- base shadcn palette ---
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_colorPresets","require","_index","_tokenRegistry","getPresetVars","colorName","mode","preset","APP_COLOR_PRESETS","r","generateRoleColors","seed","hex","variant","isDark","background","onBackground","surfaceContainerLow","onSurface","surfaceContainer","primary","onPrimary","secondary","onSecondary","tertiary","onTertiary","surfaceContainerHigh","onSurfaceVariant","secondaryContainer","onSecondaryContainer","error","outlineVariant","surfaceContainerLowest","primaryContainer","tertiaryContainer","applyPresetVarsToDocument","document","vars","getResolvedTokens","root","documentElement","style","key","value","Object","entries","setProperty"],"sourceRoot":"../../../src","sources":["theme/preset-vars.ts"],"mappings":";;;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;
|
|
1
|
+
{"version":3,"names":["_colorPresets","require","_index","_tokenRegistry","getPresetVars","colorName","mode","accents","preset","APP_COLOR_PRESETS","r","generateRoleColors","seed","hex","variant","isDark","secondarySeed","secondaryHex","tertiarySeed","tertiaryHex","background","onBackground","surfaceContainerLow","onSurface","surfaceContainer","primary","onPrimary","secondary","onSecondary","tertiary","onTertiary","surfaceContainerHigh","onSurfaceVariant","secondaryContainer","onSecondaryContainer","error","outlineVariant","surfaceContainerLowest","primaryContainer","tertiaryContainer","applyPresetVarsToDocument","document","vars","getResolvedTokens","root","documentElement","style","key","value","Object","entries","setProperty"],"sourceRoot":"../../../src","sources":["theme/preset-vars.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -112,8 +112,8 @@ function hslToSrgb(triple) {
|
|
|
112
112
|
* (`__fixtures__/golden-resolved-tokens.json`), guaranteeing the visible palette
|
|
113
113
|
* matches the previous resolved-color pipeline byte-for-byte.
|
|
114
114
|
*/
|
|
115
|
-
function getResolvedTokens(preset, mode) {
|
|
116
|
-
const raw = (0, _presetVars.getPresetVars)(preset, mode);
|
|
115
|
+
function getResolvedTokens(preset, mode, accents) {
|
|
116
|
+
const raw = (0, _presetVars.getPresetVars)(preset, mode, accents);
|
|
117
117
|
const resolved = {};
|
|
118
118
|
for (const [key, value] of Object.entries(raw)) {
|
|
119
119
|
resolved[key] = RAW_HSL_TRIPLE.test(value) ? hslToSrgb(value) : value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_colorPresets","require","_presetVars","CANONICAL_TOKENS","exports","RAW_HSL_TRIPLE","hslToSrgb","triple","colorPart","alphaPart","split","map","part","trim","channels","filter","Boolean","hue","parseFloat","replace","sat","light","h","Number","isFinite","s","l","chroma","Math","abs","huePrime","second","r","g","b","match","red","round","green","blue","undefined","alpha","endsWith","safeAlpha","getResolvedTokens","preset","mode","raw","getPresetVars","resolved","key","value","Object","entries","test"],"sourceRoot":"../../../src","sources":["theme/token-registry.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["_colorPresets","require","_presetVars","CANONICAL_TOKENS","exports","RAW_HSL_TRIPLE","hslToSrgb","triple","colorPart","alphaPart","split","map","part","trim","channels","filter","Boolean","hue","parseFloat","replace","sat","light","h","Number","isFinite","s","l","chroma","Math","abs","huePrime","second","r","g","b","match","red","round","green","blue","undefined","alpha","endsWith","safeAlpha","getResolvedTokens","preset","mode","accents","raw","getPresetVars","resolved","key","value","Object","entries","test"],"sourceRoot":"../../../src","sources":["theme/token-registry.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -157,9 +157,20 @@ export function BloomThemeProvider({
|
|
|
157
157
|
fonts = true,
|
|
158
158
|
onFontsLoading,
|
|
159
159
|
nativeWrapperStyle,
|
|
160
|
+
secondaryColor,
|
|
161
|
+
tertiaryColor,
|
|
160
162
|
children
|
|
161
163
|
}) {
|
|
162
164
|
const rnScheme = useRNColorScheme();
|
|
165
|
+
|
|
166
|
+
// The app-wide pinned accents, if any. Memoized so its identity only changes
|
|
167
|
+
// when a prop changes (keeps the effect/memo deps below stable). Left
|
|
168
|
+
// `undefined` when neither is set so every downstream call is byte-identical
|
|
169
|
+
// to the no-accent path.
|
|
170
|
+
const explicitAccents = useMemo(() => secondaryColor === undefined && tertiaryColor === undefined ? undefined : {
|
|
171
|
+
secondaryHex: secondaryColor,
|
|
172
|
+
tertiaryHex: tertiaryColor
|
|
173
|
+
}, [secondaryColor, tertiaryColor]);
|
|
163
174
|
const {
|
|
164
175
|
mode,
|
|
165
176
|
colorPreset,
|
|
@@ -187,8 +198,8 @@ export function BloomThemeProvider({
|
|
|
187
198
|
useIsomorphicLayoutEffect(() => {
|
|
188
199
|
setColorSchemeSafe(effectiveMode);
|
|
189
200
|
applyDarkClass(resolved);
|
|
190
|
-
applyColorPresetVars(colorPreset, resolved);
|
|
191
|
-
}, [effectiveMode, resolved, colorPreset]);
|
|
201
|
+
applyColorPresetVars(colorPreset, resolved, explicitAccents);
|
|
202
|
+
}, [effectiveMode, resolved, colorPreset, explicitAccents]);
|
|
192
203
|
|
|
193
204
|
// Native only: publish the preset vars into react-native-css's GLOBAL root
|
|
194
205
|
// variable family so they reach the ENTIRE app tree — navigator screens and
|
|
@@ -198,16 +209,16 @@ export function BloomThemeProvider({
|
|
|
198
209
|
// there. Runs before paint via `useIsomorphicLayoutEffect`, matching the
|
|
199
210
|
// sibling `applyColorPresetVars` side effect.
|
|
200
211
|
useIsomorphicLayoutEffect(() => {
|
|
201
|
-
applyNativeRootVars(colorPreset, resolved);
|
|
202
|
-
}, [colorPreset, resolved]);
|
|
212
|
+
applyNativeRootVars(colorPreset, resolved, explicitAccents);
|
|
213
|
+
}, [colorPreset, resolved, explicitAccents]);
|
|
203
214
|
const contextValue = useMemo(() => ({
|
|
204
|
-
theme: buildTheme(colorPreset, resolved, isAdaptive),
|
|
215
|
+
theme: buildTheme(colorPreset, resolved, isAdaptive, explicitAccents),
|
|
205
216
|
mode,
|
|
206
217
|
colorPreset,
|
|
207
218
|
setMode,
|
|
208
219
|
setColorPreset,
|
|
209
220
|
resetTheme
|
|
210
|
-
}), [colorPreset, resolved, isAdaptive, mode, setMode, setColorPreset, resetTheme]);
|
|
221
|
+
}), [colorPreset, resolved, isAdaptive, explicitAccents, mode, setMode, setColorPreset, resetTheme]);
|
|
211
222
|
const shouldAwait = awaitHydration ?? Boolean(persistKey && storage);
|
|
212
223
|
const isGated = shouldAwait && !hydrated;
|
|
213
224
|
|
|
@@ -215,7 +226,7 @@ export function BloomThemeProvider({
|
|
|
215
226
|
// handed to `VariableContextProvider` so descendants resolve `var(--primary)`
|
|
216
227
|
// etc. through react-native-css's real VariableContext. Web writes these to
|
|
217
228
|
// `document.documentElement` via `applyColorPresetVars`, so it's unused there.
|
|
218
|
-
const nativeVars = useMemo(() => Platform.OS === 'web' ? null : buildScopeVars(colorPreset, resolved), [colorPreset, resolved]);
|
|
229
|
+
const nativeVars = useMemo(() => Platform.OS === 'web' ? null : buildScopeVars(colorPreset, resolved, explicitAccents), [colorPreset, resolved, explicitAccents]);
|
|
219
230
|
const VariableProvider = getVariableContextProvider();
|
|
220
231
|
const content = /*#__PURE__*/_jsx(FontLoader, {
|
|
221
232
|
enabled: fonts,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","createContext","useCallback","useEffect","useMemo","useRef","useState","Platform","View","useColorScheme","useRNColorScheme","useControllableState","FontLoader","applyDarkClass","applyColorPresetVars","buildTheme","buildScopeVars","getVariableContextProvider","applyNativeRootVars","readPersistedTheme","readPersistedThemeSync","removePersistedTheme","writePersistedTheme","setColorSchemeSafe","useIsomorphicLayoutEffect","jsx","_jsx","DEFAULT_PRESET","DEFAULT_MODE","BloomThemeContext","globalThis","__oxyhq_bloom_theme_context__","useThemeState","controlledMode","controlledPreset","defaultMode","defaultPreset","persistKey","storage","onModeChange","onColorPresetChange","syncResult","syncState","kind","state","initialMode","mode","initialPreset","colorPreset","hydrated","setHydrated","setModeInternal","value","defaultValue","setPresetInternal","modeRef","current","presetRef","cancelled","then","undefined","setMode","next","setColorPreset","resetTheme","BloomThemeProvider","defaultColorPreset","awaitHydration","onHydrating","fonts","onFontsLoading","nativeWrapperStyle","children","rnScheme","isAdaptive","effectiveMode","resolved","contextValue","theme","shouldAwait","Boolean","isGated","nativeVars","OS","VariableProvider","content","enabled","fallback","Provider","nativeTree","style","flex"],"sourceRoot":"../../../src","sources":["theme/BloomThemeProvider.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA,OAAO,uBAAoB;AAE3B,OAAOA,KAAK,IACVC,aAAa,EACbC,WAAW,EAEXC,SAAS,EACTC,OAAO,EACPC,MAAM,EACNC,QAAQ,QACH,OAAO;AACd,SACEC,QAAQ,EACRC,IAAI,EACJC,cAAc,IAAIC,gBAAgB,QAG7B,cAAc;AAErB,SAASC,oBAAoB,QAAQ,kCAA+B;AACpE,SAASC,UAAU,QAAQ,qBAAqB;AAEhD,SAASC,cAAc,EAAEC,oBAAoB,QAAQ,uBAAoB;AACzE,SAASC,UAAU,QAAQ,kBAAe;AAE1C,SAASC,cAAc,EAAEC,0BAA0B,QAAQ,gCAA6B;AACxF,SAASC,mBAAmB,QAAQ,oBAAoB;AACxD,SACEC,kBAAkB,EAClBC,sBAAsB,EACtBC,oBAAoB,EACpBC,mBAAmB,QAGd,kBAAe;
|
|
1
|
+
{"version":3,"names":["React","createContext","useCallback","useEffect","useMemo","useRef","useState","Platform","View","useColorScheme","useRNColorScheme","useControllableState","FontLoader","applyDarkClass","applyColorPresetVars","buildTheme","buildScopeVars","getVariableContextProvider","applyNativeRootVars","readPersistedTheme","readPersistedThemeSync","removePersistedTheme","writePersistedTheme","setColorSchemeSafe","useIsomorphicLayoutEffect","jsx","_jsx","DEFAULT_PRESET","DEFAULT_MODE","BloomThemeContext","globalThis","__oxyhq_bloom_theme_context__","useThemeState","controlledMode","controlledPreset","defaultMode","defaultPreset","persistKey","storage","onModeChange","onColorPresetChange","syncResult","syncState","kind","state","initialMode","mode","initialPreset","colorPreset","hydrated","setHydrated","setModeInternal","value","defaultValue","setPresetInternal","modeRef","current","presetRef","cancelled","then","undefined","setMode","next","setColorPreset","resetTheme","BloomThemeProvider","defaultColorPreset","awaitHydration","onHydrating","fonts","onFontsLoading","nativeWrapperStyle","secondaryColor","tertiaryColor","children","rnScheme","explicitAccents","secondaryHex","tertiaryHex","isAdaptive","effectiveMode","resolved","contextValue","theme","shouldAwait","Boolean","isGated","nativeVars","OS","VariableProvider","content","enabled","fallback","Provider","nativeTree","style","flex"],"sourceRoot":"../../../src","sources":["theme/BloomThemeProvider.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA,OAAO,uBAAoB;AAE3B,OAAOA,KAAK,IACVC,aAAa,EACbC,WAAW,EAEXC,SAAS,EACTC,OAAO,EACPC,MAAM,EACNC,QAAQ,QACH,OAAO;AACd,SACEC,QAAQ,EACRC,IAAI,EACJC,cAAc,IAAIC,gBAAgB,QAG7B,cAAc;AAErB,SAASC,oBAAoB,QAAQ,kCAA+B;AACpE,SAASC,UAAU,QAAQ,qBAAqB;AAEhD,SAASC,cAAc,EAAEC,oBAAoB,QAAQ,uBAAoB;AACzE,SAASC,UAAU,QAAQ,kBAAe;AAE1C,SAASC,cAAc,EAAEC,0BAA0B,QAAQ,gCAA6B;AACxF,SAASC,mBAAmB,QAAQ,oBAAoB;AACxD,SACEC,kBAAkB,EAClBC,sBAAsB,EACtBC,oBAAoB,EACpBC,mBAAmB,QAGd,kBAAe;AAEtB,SAASC,kBAAkB,QAAQ,4BAAyB;AAC5D,SAASC,yBAAyB,QAAQ,mCAAgC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG3E,MAAMC,cAA4B,GAAG,KAAK;AAC1C,MAAMC,YAAuB,GAAG,QAAQ;AAuBxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,iBAA+D,GACzEC,UAAU,CAACC,6BAA6B,kBACvC9B,aAAa,CAAgC,IAAI,CAAE;AAsFvD,SAAS+B,aAAaA,CAAC;EACrBC,cAAc;EACdC,gBAAgB;EAChBC,WAAW;EACXC,aAAa;EACbC,UAAU;EACVC,OAAO;EACPC,YAAY;EACZC;AACiB,CAAC,EAAoB;EACtC;EACA;EACA;EACA,MAAM,CAACC,UAAU,CAAC,GAAGnC,QAAQ,CAAiB,MAC5Cc,sBAAsB,CAACiB,UAAU,EAAEC,OAAO,CAC5C,CAAC;EACD,MAAMI,SAAS,GAAGD,UAAU,CAACE,IAAI,KAAK,MAAM,GAAGF,UAAU,CAACG,KAAK,GAAG,IAAI;EAEtE,MAAMC,WAAW,GAAGH,SAAS,EAAEI,IAAI,IAAIX,WAAW;EAClD,MAAMY,aAAa,GAAGL,SAAS,EAAEM,WAAW,IAAIZ,aAAa;;EAE7D;EACA;EACA,MAAM,CAACa,QAAQ,EAAEC,WAAW,CAAC,GAAG5C,QAAQ,CAAUmC,UAAU,CAACE,IAAI,KAAK,OAAO,CAAC;EAE9E,MAAM,CAACG,IAAI,EAAEK,eAAe,CAAC,GAAGxC,oBAAoB,CAAY;IAC9DyC,KAAK,EAAEnB,cAAc;IACrBoB,YAAY,EAAER;EAChB,CAAC,CAAC;EACF,MAAM,CAACG,WAAW,EAAEM,iBAAiB,CAAC,GAAG3C,oBAAoB,CAAe;IAC1EyC,KAAK,EAAElB,gBAAgB;IACvBmB,YAAY,EAAEN;EAChB,CAAC,CAAC;;EAEF;EACA;EACA;EACA,MAAMQ,OAAO,GAAGlD,MAAM,CAACyC,IAAI,CAAC;EAC5BS,OAAO,CAACC,OAAO,GAAGV,IAAI;EACtB,MAAMW,SAAS,GAAGpD,MAAM,CAAC2C,WAAW,CAAC;EACrCS,SAAS,CAACD,OAAO,GAAGR,WAAW;;EAE/B;EACA;EACA7C,SAAS,CAAC,MAAM;IACd,IAAI8C,QAAQ,EAAE;IACd,IAAI,CAACZ,UAAU,IAAI,CAACC,OAAO,EAAE;MAC3BY,WAAW,CAAC,IAAI,CAAC;MACjB;IACF;IAEA,IAAIQ,SAAS,GAAG,KAAK;IACrBvC,kBAAkB,CAACkB,UAAU,EAAEC,OAAO,CAAC,CAACqB,IAAI,CAAEf,KAAK,IAAK;MACtD,IAAIc,SAAS,EAAE;MACf,IAAId,KAAK,EAAEE,IAAI,IAAIb,cAAc,KAAK2B,SAAS,EAAE;QAC/CT,eAAe,CAACP,KAAK,CAACE,IAAI,CAAC;QAC3BP,YAAY,GAAGK,KAAK,CAACE,IAAI,CAAC;MAC5B;MACA,IAAIF,KAAK,EAAEI,WAAW,IAAId,gBAAgB,KAAK0B,SAAS,EAAE;QACxDN,iBAAiB,CAACV,KAAK,CAACI,WAAW,CAAC;QACpCR,mBAAmB,GAAGI,KAAK,CAACI,WAAW,CAAC;MAC1C;MACAE,WAAW,CAAC,IAAI,CAAC;IACnB,CAAC,CAAC;IAEF,OAAO,MAAM;MACXQ,SAAS,GAAG,IAAI;IAClB,CAAC;IACD;IACA;IACA;IACA;EACF,CAAC,EAAE,CAACrB,UAAU,EAAEC,OAAO,CAAC,CAAC;EAEzB,MAAMuB,OAAO,GAAG3D,WAAW,CACxB4D,IAAe,IAAK;IACnBX,eAAe,CAACW,IAAI,CAAC;IACrBvB,YAAY,GAAGuB,IAAI,CAAC;IACpB,KAAKxC,mBAAmB,CAACe,UAAU,EAAEC,OAAO,EAAE;MAC5CQ,IAAI,EAAEgB,IAAI;MACVd,WAAW,EAAES,SAAS,CAACD;IACzB,CAAC,CAAC;EACJ,CAAC,EACD,CAACL,eAAe,EAAEZ,YAAY,EAAEF,UAAU,EAAEC,OAAO,CACrD,CAAC;EAED,MAAMyB,cAAc,GAAG7D,WAAW,CAC/B4D,IAAkB,IAAK;IACtBR,iBAAiB,CAACQ,IAAI,CAAC;IACvBtB,mBAAmB,GAAGsB,IAAI,CAAC;IAC3B,KAAKxC,mBAAmB,CAACe,UAAU,EAAEC,OAAO,EAAE;MAC5CQ,IAAI,EAAES,OAAO,CAACC,OAAO;MACrBR,WAAW,EAAEc;IACf,CAAC,CAAC;EACJ,CAAC,EACD,CAACR,iBAAiB,EAAEd,mBAAmB,EAAEH,UAAU,EAAEC,OAAO,CAC9D,CAAC;EAED,MAAM0B,UAAU,GAAG9D,WAAW,CAAC,MAAM;IACnC,IAAI+B,cAAc,KAAK2B,SAAS,EAAE;MAChCT,eAAe,CAAChB,WAAW,CAAC;MAC5BI,YAAY,GAAGJ,WAAW,CAAC;IAC7B;IACA,IAAID,gBAAgB,KAAK0B,SAAS,EAAE;MAClCN,iBAAiB,CAAClB,aAAa,CAAC;MAChCI,mBAAmB,GAAGJ,aAAa,CAAC;IACtC;IACA,KAAKf,oBAAoB,CAACgB,UAAU,EAAEC,OAAO,CAAC;EAChD,CAAC,EAAE,CACDL,cAAc,EACdC,gBAAgB,EAChBC,WAAW,EACXC,aAAa,EACbe,eAAe,EACfG,iBAAiB,EACjBf,YAAY,EACZC,mBAAmB,EACnBH,UAAU,EACVC,OAAO,CACR,CAAC;EAEF,OAAO;IAAEQ,IAAI;IAAEE,WAAW;IAAEa,OAAO;IAAEE,cAAc;IAAEC,UAAU;IAAEf;EAAS,CAAC;AAC7E;AAEA,OAAO,SAASgB,kBAAkBA,CAAC;EACjCnB,IAAI,EAAEb,cAAc;EACpBe,WAAW,EAAEd,gBAAgB;EAC7BC,WAAW,GAAGP,YAAY;EAC1BsC,kBAAkB,GAAGvC,cAAc;EACnCY,YAAY;EACZC,mBAAmB;EACnBH,UAAU;EACVC,OAAO;EACP6B,cAAc;EACdC,WAAW;EACXC,KAAK,GAAG,IAAI;EACZC,cAAc;EACdC,kBAAkB;EAClBC,cAAc;EACdC,aAAa;EACbC;AACuB,CAAC,EAAE;EAC1B,MAAMC,QAAQ,GAAGjE,gBAAgB,CAAC,CAAC;;EAEnC;EACA;EACA;EACA;EACA,MAAMkE,eAAe,GAAGxE,OAAO,CAC7B,MACEoE,cAAc,KAAKZ,SAAS,IAAIa,aAAa,KAAKb,SAAS,GACvDA,SAAS,GACT;IAAEiB,YAAY,EAAEL,cAAc;IAAEM,WAAW,EAAEL;EAAc,CAAC,EAClE,CAACD,cAAc,EAAEC,aAAa,CAChC,CAAC;EAED,MAAM;IAAE3B,IAAI;IAAEE,WAAW;IAAEa,OAAO;IAAEE,cAAc;IAAEC,UAAU;IAAEf;EAAS,CAAC,GAAGjB,aAAa,CAAC;IACzFC,cAAc;IACdC,gBAAgB;IAChBC,WAAW;IACXC,aAAa,EAAE8B,kBAAkB;IACjC7B,UAAU;IACVC,OAAO;IACPC,YAAY;IACZC;EACF,CAAC,CAAC;EAEF,MAAMuC,UAAU,GAAGjC,IAAI,KAAK,UAAU;EACtC,MAAMkC,aAA6C,GAAGD,UAAU,GAAG,QAAQ,GAAGjC,IAAI;EAClF,MAAMmC,QAA0B,GAC9BD,aAAa,KAAK,QAAQ,GAAIL,QAAQ,KAAK,MAAM,GAAG,MAAM,GAAG,OAAO,GAAIK,aAAa;;EAEvF;EACA;EACA;EACAxD,yBAAyB,CAAC,MAAM;IAC9BD,kBAAkB,CAACyD,aAAa,CAAC;IACjCnE,cAAc,CAACoE,QAAQ,CAAC;IACxBnE,oBAAoB,CAACkC,WAAW,EAAEiC,QAAQ,EAAEL,eAAe,CAAC;EAC9D,CAAC,EAAE,CAACI,aAAa,EAAEC,QAAQ,EAAEjC,WAAW,EAAE4B,eAAe,CAAC,CAAC;;EAE3D;EACA;EACA;EACA;EACA;EACA;EACA;EACApD,yBAAyB,CAAC,MAAM;IAC9BN,mBAAmB,CAAC8B,WAAW,EAAEiC,QAAQ,EAAEL,eAAe,CAAC;EAC7D,CAAC,EAAE,CAAC5B,WAAW,EAAEiC,QAAQ,EAAEL,eAAe,CAAC,CAAC;EAE5C,MAAMM,YAAY,GAAG9E,OAAO,CAC1B,OAAO;IACL+E,KAAK,EAAEpE,UAAU,CAACiC,WAAW,EAAEiC,QAAQ,EAAEF,UAAU,EAAEH,eAAe,CAAC;IACrE9B,IAAI;IACJE,WAAW;IACXa,OAAO;IACPE,cAAc;IACdC;EACF,CAAC,CAAC,EACF,CAAChB,WAAW,EAAEiC,QAAQ,EAAEF,UAAU,EAAEH,eAAe,EAAE9B,IAAI,EAAEe,OAAO,EAAEE,cAAc,EAAEC,UAAU,CAChG,CAAC;EAED,MAAMoB,WAAW,GAAGjB,cAAc,IAAIkB,OAAO,CAAChD,UAAU,IAAIC,OAAO,CAAC;EACpE,MAAMgD,OAAO,GAAGF,WAAW,IAAI,CAACnC,QAAQ;;EAExC;EACA;EACA;EACA;EACA,MAAMsC,UAAU,GAAGnF,OAAO,CACxB,MAAOG,QAAQ,CAACiF,EAAE,KAAK,KAAK,GAAG,IAAI,GAAGxE,cAAc,CAACgC,WAAW,EAAEiC,QAAQ,EAAEL,eAAe,CAAE,EAC7F,CAAC5B,WAAW,EAAEiC,QAAQ,EAAEL,eAAe,CACzC,CAAC;EACD,MAAMa,gBAAgB,GAAGxE,0BAA0B,CAAC,CAAC;EAErD,MAAMyE,OAAO,gBACXhE,IAAA,CAACd,UAAU;IAAC+E,OAAO,EAAEtB,KAAM;IAACuB,QAAQ,EAAEtB,cAAe;IAAAI,QAAA,EAClDY,OAAO,GAAGlB,WAAW,IAAI,IAAI,GAAGM;EAAQ,CAC/B,CACb;EAED,IAAInE,QAAQ,CAACiF,EAAE,KAAK,KAAK,EAAE;IACzB,oBAAO9D,IAAA,CAACG,iBAAiB,CAACgE,QAAQ;MAACzC,KAAK,EAAE8B,YAAa;MAAAR,QAAA,EAAEgB;IAAO,CAA6B,CAAC;EAChG;;EAEA;EACA;EACA;EACA,MAAMI,UAAU,gBAAGpE,IAAA,CAAClB,IAAI;IAACuF,KAAK,EAAE,CAAC;MAAEC,IAAI,EAAE;IAAE,CAAC,EAAEzB,kBAAkB,CAAE;IAAAG,QAAA,EAAEgB;EAAO,CAAO,CAAC;EAEnF,oBACEhE,IAAA,CAACG,iBAAiB,CAACgE,QAAQ;IAACzC,KAAK,EAAE8B,YAAa;IAAAR,QAAA,EAC7Ce,gBAAgB,IAAIF,UAAU,gBAC7B7D,IAAA,CAAC+D,gBAAgB;MAACrC,KAAK,EAAEmC,UAAW;MAAAb,QAAA,EAAEoB;IAAU,CAAmB,CAAC,GAEpEA;EACD,CACyB,CAAC;AAEjC","ignoreList":[]}
|
|
@@ -26,10 +26,10 @@ export function applyDarkClass(resolved) {
|
|
|
26
26
|
* Includes extended tokens (card, chart-*, content-area, sidebar-*) so consumer
|
|
27
27
|
* apps don't need to synthesize them.
|
|
28
28
|
*/
|
|
29
|
-
export function applyColorPresetVars(preset, resolved) {
|
|
29
|
+
export function applyColorPresetVars(preset, resolved, accents) {
|
|
30
30
|
if (Platform.OS !== 'web' || typeof document === 'undefined') return;
|
|
31
31
|
if (!APP_COLOR_PRESETS[preset]) return;
|
|
32
|
-
const vars = getResolvedTokens(preset, resolved);
|
|
32
|
+
const vars = getResolvedTokens(preset, resolved, accents);
|
|
33
33
|
const root = document.documentElement.style;
|
|
34
34
|
for (const [key, value] of Object.entries(vars)) {
|
|
35
35
|
root.setProperty(key, value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","APP_COLOR_PRESETS","getResolvedTokens","applyDarkClass","resolved","OS","document","documentElement","classList","toggle","applyColorPresetVars","preset","vars","root","style","key","value","Object","entries","setProperty"],"sourceRoot":"../../../src","sources":["theme/apply-dark-class.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,iBAAiB,QAA2B,oBAAiB;
|
|
1
|
+
{"version":3,"names":["Platform","APP_COLOR_PRESETS","getResolvedTokens","applyDarkClass","resolved","OS","document","documentElement","classList","toggle","applyColorPresetVars","preset","accents","vars","root","style","key","value","Object","entries","setProperty"],"sourceRoot":"../../../src","sources":["theme/apply-dark-class.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,iBAAiB,QAA2B,oBAAiB;AAEtE,SAASC,iBAAiB,QAAQ,qBAAkB;AAEpD,OAAO,SAASC,cAAcA,CAACC,QAA0B,EAAE;EACzD,IAAIJ,QAAQ,CAACK,EAAE,KAAK,KAAK,IAAI,OAAOC,QAAQ,KAAK,WAAW,EAAE;IAC5DA,QAAQ,CAACC,eAAe,CAACC,SAAS,CAACC,MAAM,CAAC,MAAM,EAAEL,QAAQ,KAAK,MAAM,CAAC;EACxE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASM,oBAAoBA,CAClCC,MAAoB,EACpBP,QAA0B,EAC1BQ,OAAyB,EACzB;EACA,IAAIZ,QAAQ,CAACK,EAAE,KAAK,KAAK,IAAI,OAAOC,QAAQ,KAAK,WAAW,EAAE;EAC9D,IAAI,CAACL,iBAAiB,CAACU,MAAM,CAAC,EAAE;EAEhC,MAAME,IAAI,GAAGX,iBAAiB,CAACS,MAAM,EAAEP,QAAQ,EAAEQ,OAAO,CAAC;EACzD,MAAME,IAAI,GAAGR,QAAQ,CAACC,eAAe,CAACQ,KAAK;EAE3C,KAAK,MAAM,CAACC,GAAG,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACN,IAAI,CAAC,EAAE;IAC/CC,IAAI,CAACM,WAAW,CAACJ,GAAG,EAAEC,KAAK,CAAC;EAC9B;AACF","ignoreList":[]}
|
|
@@ -4,6 +4,15 @@ import { generateRoleColors } from "./color-engine/index.js";
|
|
|
4
4
|
import { buildSeedScopeVars } from "./color-scope/seed-scope.js";
|
|
5
5
|
import { STATUS_COLORS } from "./build-theme.js";
|
|
6
6
|
import { THEME_GRADIENTS } from "./gradients.js";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Optional explicit accent seeds for the arbitrary-seed theme path. Pinning a
|
|
10
|
+
* `secondarySeed` / `tertiarySeed` (`#rrggbb`) forces that accent family to the
|
|
11
|
+
* given brand colour instead of the derived hue-rotation — mirroring
|
|
12
|
+
* {@link GenerateOptions.secondarySeed}. For an artwork-derived theme, pass the
|
|
13
|
+
* ranked `seedsFromImagePixels` results (`seeds[1]` / `seeds[2]`).
|
|
14
|
+
*/
|
|
15
|
+
|
|
7
16
|
/**
|
|
8
17
|
* Build the JS `theme.colors` object from an ARBITRARY seed colour — the dynamic
|
|
9
18
|
* counterpart of `buildTheme(preset, …)`.
|
|
@@ -17,12 +26,14 @@ import { THEME_GRADIENTS } from "./gradients.js";
|
|
|
17
26
|
* family (primarySubtle / negative / …) reads the engine's container/error roles
|
|
18
27
|
* directly — identical to the preset path.
|
|
19
28
|
*/
|
|
20
|
-
export function buildColorsFromSeed(seed, resolved, variant, contrastLevel) {
|
|
29
|
+
export function buildColorsFromSeed(seed, resolved, variant, contrastLevel, accents) {
|
|
21
30
|
const t = buildSeedScopeVars({
|
|
22
31
|
seed,
|
|
23
32
|
mode: resolved,
|
|
24
33
|
variant,
|
|
25
|
-
contrastLevel
|
|
34
|
+
contrastLevel,
|
|
35
|
+
secondarySeed: accents?.secondarySeed,
|
|
36
|
+
tertiarySeed: accents?.tertiarySeed
|
|
26
37
|
});
|
|
27
38
|
const isDark = resolved === 'dark';
|
|
28
39
|
|
|
@@ -32,7 +43,9 @@ export function buildColorsFromSeed(seed, resolved, variant, contrastLevel) {
|
|
|
32
43
|
seed,
|
|
33
44
|
variant,
|
|
34
45
|
isDark,
|
|
35
|
-
contrastLevel
|
|
46
|
+
contrastLevel,
|
|
47
|
+
secondarySeed: accents?.secondarySeed,
|
|
48
|
+
tertiarySeed: accents?.tertiarySeed
|
|
36
49
|
});
|
|
37
50
|
return {
|
|
38
51
|
background: g('background'),
|
|
@@ -73,10 +86,10 @@ export function buildColorsFromSeed(seed, resolved, variant, contrastLevel) {
|
|
|
73
86
|
* `buildTheme`, there is no adaptive (Material You / iOS dynamic) override — a
|
|
74
87
|
* seed IS the dynamic source here.
|
|
75
88
|
*/
|
|
76
|
-
export function buildThemeFromSeed(seed, resolved, variant, contrastLevel) {
|
|
89
|
+
export function buildThemeFromSeed(seed, resolved, variant, contrastLevel, accents) {
|
|
77
90
|
return {
|
|
78
91
|
mode: resolved,
|
|
79
|
-
colors: buildColorsFromSeed(seed, resolved, variant, contrastLevel),
|
|
92
|
+
colors: buildColorsFromSeed(seed, resolved, variant, contrastLevel, accents),
|
|
80
93
|
gradients: THEME_GRADIENTS,
|
|
81
94
|
isDark: resolved === 'dark',
|
|
82
95
|
isLight: resolved === 'light'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["generateRoleColors","buildSeedScopeVars","STATUS_COLORS","THEME_GRADIENTS","buildColorsFromSeed","seed","resolved","variant","contrastLevel","t","mode","isDark","g","k","r","background","backgroundSecondary","backgroundTertiary","text","textSecondary","textTertiary","outline","border","borderLight","primary","primaryForeground","primaryLight","primaryDark","secondary","secondaryForeground","tertiary","tertiaryForeground","tint","icon","iconActive","primarySubtle","primaryContainer","primarySubtleForeground","onPrimaryContainer","negative","error","negativeForeground","onError","negativeSubtle","errorContainer","negativeSubtleForeground","onErrorContainer","contrast50","card","shadow","overlay","buildThemeFromSeed","colors","gradients","isLight"],"sourceRoot":"../../../src","sources":["theme/build-theme-from-seed.ts"],"mappings":";;AAAA,SAASA,kBAAkB,QAA6C,yBAAgB;AACxF,SAASC,kBAAkB,QAAQ,6BAA0B;AAC7D,SAASC,aAAa,QAAQ,kBAAe;AAC7C,SAASC,eAAe,QAAQ,gBAAa
|
|
1
|
+
{"version":3,"names":["generateRoleColors","buildSeedScopeVars","STATUS_COLORS","THEME_GRADIENTS","buildColorsFromSeed","seed","resolved","variant","contrastLevel","accents","t","mode","secondarySeed","tertiarySeed","isDark","g","k","r","background","backgroundSecondary","backgroundTertiary","text","textSecondary","textTertiary","outline","border","borderLight","primary","primaryForeground","primaryLight","primaryDark","secondary","secondaryForeground","tertiary","tertiaryForeground","tint","icon","iconActive","primarySubtle","primaryContainer","primarySubtleForeground","onPrimaryContainer","negative","error","negativeForeground","onError","negativeSubtle","errorContainer","negativeSubtleForeground","onErrorContainer","contrast50","card","shadow","overlay","buildThemeFromSeed","colors","gradients","isLight"],"sourceRoot":"../../../src","sources":["theme/build-theme-from-seed.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -29,20 +29,23 @@ export const STATUS_COLORS = {
|
|
|
29
29
|
* (`--card` → engine `surfaceContainerLowest`) and `secondary` is a real
|
|
30
30
|
* contrast colour (engine `secondary` role), not a mirror of `primary`.
|
|
31
31
|
*/
|
|
32
|
-
function buildColorsFromPreset(preset, resolved) {
|
|
33
|
-
const t = getResolvedTokens(preset, resolved);
|
|
32
|
+
function buildColorsFromPreset(preset, resolved, accents) {
|
|
33
|
+
const t = getResolvedTokens(preset, resolved, accents);
|
|
34
34
|
const isDark = resolved === 'dark';
|
|
35
35
|
|
|
36
36
|
// Read a resolved `rgb(...)` token by its bare name (no leading `--`).
|
|
37
37
|
const g = k => t[`--${k}`] ?? 'rgb(0 0 0)';
|
|
38
38
|
|
|
39
39
|
// The full engine role set — for fields that map to roles Bloom's canonical
|
|
40
|
-
// token set does not surface (containers, error family).
|
|
40
|
+
// token set does not surface (containers, error family). An app-wide accent
|
|
41
|
+
// override wins over the preset's own declared accent (else derived).
|
|
41
42
|
const config = APP_COLOR_PRESETS[preset];
|
|
42
43
|
const r = generateRoleColors({
|
|
43
44
|
seed: config.hex,
|
|
44
45
|
variant: config.variant,
|
|
45
|
-
isDark
|
|
46
|
+
isDark,
|
|
47
|
+
secondarySeed: accents?.secondaryHex ?? config.secondaryHex,
|
|
48
|
+
tertiarySeed: accents?.tertiaryHex ?? config.tertiaryHex
|
|
46
49
|
});
|
|
47
50
|
return {
|
|
48
51
|
background: g('background'),
|
|
@@ -89,9 +92,9 @@ function buildColorsFromPreset(preset, resolved) {
|
|
|
89
92
|
* When `isAdaptive` is true and the platform exposes adaptive (Material You /
|
|
90
93
|
* iOS dynamic) colors, those override the preset-derived palette.
|
|
91
94
|
*/
|
|
92
|
-
export function buildTheme(preset, resolved, isAdaptive = false) {
|
|
95
|
+
export function buildTheme(preset, resolved, isAdaptive = false, accents) {
|
|
93
96
|
const adaptive = isAdaptive && Platform.OS !== 'web' ? getAdaptiveColors() : undefined;
|
|
94
|
-
const colors = adaptive ?? buildColorsFromPreset(preset, resolved);
|
|
97
|
+
const colors = adaptive ?? buildColorsFromPreset(preset, resolved, accents);
|
|
95
98
|
return {
|
|
96
99
|
mode: resolved,
|
|
97
100
|
colors,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","APP_COLOR_PRESETS","generateRoleColors","getAdaptiveColors","getResolvedTokens","THEME_GRADIENTS","STATUS_COLORS","success","error","warning","info","buildColorsFromPreset","preset","resolved","t","isDark","g","k","config","r","seed","hex","variant","background","backgroundSecondary","backgroundTertiary","text","textSecondary","textTertiary","outline","border","borderLight","primary","primaryForeground","primaryLight","primaryDark","secondary","secondaryForeground","tertiary","tertiaryForeground","tint","icon","iconActive","primarySubtle","primaryContainer","primarySubtleForeground","onPrimaryContainer","negative","negativeForeground","onError","negativeSubtle","errorContainer","negativeSubtleForeground","onErrorContainer","contrast50","card","shadow","overlay","buildTheme","isAdaptive","adaptive","OS","undefined","colors","mode","gradients","isLight"],"sourceRoot":"../../../src","sources":["theme/build-theme.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,iBAAiB,QAA2B,oBAAiB;AACtE,SAASC,kBAAkB,QAAyB,yBAAgB;
|
|
1
|
+
{"version":3,"names":["Platform","APP_COLOR_PRESETS","generateRoleColors","getAdaptiveColors","getResolvedTokens","THEME_GRADIENTS","STATUS_COLORS","success","error","warning","info","buildColorsFromPreset","preset","resolved","accents","t","isDark","g","k","config","r","seed","hex","variant","secondarySeed","secondaryHex","tertiarySeed","tertiaryHex","background","backgroundSecondary","backgroundTertiary","text","textSecondary","textTertiary","outline","border","borderLight","primary","primaryForeground","primaryLight","primaryDark","secondary","secondaryForeground","tertiary","tertiaryForeground","tint","icon","iconActive","primarySubtle","primaryContainer","primarySubtleForeground","onPrimaryContainer","negative","negativeForeground","onError","negativeSubtle","errorContainer","negativeSubtleForeground","onErrorContainer","contrast50","card","shadow","overlay","buildTheme","isAdaptive","adaptive","OS","undefined","colors","mode","gradients","isLight"],"sourceRoot":"../../../src","sources":["theme/build-theme.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -44,9 +44,16 @@ export function hexFromArgb(argb) {
|
|
|
44
44
|
/**
|
|
45
45
|
* Generate the full role set from ANY seed colour — the dynamic-theming entry
|
|
46
46
|
* point. Presets are just fixed seeds; a user-picked colour works identically.
|
|
47
|
+
*
|
|
48
|
+
* `secondarySeed` / `tertiarySeed` optionally PIN those accent families to real
|
|
49
|
+
* brand colours (e.g. a blue-primary brand with a yellow secondary); omitted, the
|
|
50
|
+
* accents are derived as the variant's hue-rotations — byte-identical to before.
|
|
47
51
|
*/
|
|
48
52
|
export function generateRoleColors(opts) {
|
|
49
|
-
const scheme = buildScheme(opts.variant ?? 'vibrant', Hct.fromInt(argbFromHex(opts.seed)), opts.isDark ?? false, opts.contrastLevel ?? 0
|
|
53
|
+
const scheme = buildScheme(opts.variant ?? 'vibrant', Hct.fromInt(argbFromHex(opts.seed)), opts.isDark ?? false, opts.contrastLevel ?? 0, {
|
|
54
|
+
secondarySource: opts.secondarySeed !== undefined ? Hct.fromInt(argbFromHex(opts.secondarySeed)) : undefined,
|
|
55
|
+
tertiarySource: opts.tertiarySeed !== undefined ? Hct.fromInt(argbFromHex(opts.tertiarySeed)) : undefined
|
|
56
|
+
});
|
|
50
57
|
const out = {};
|
|
51
58
|
for (const name of Object.keys(Roles)) {
|
|
52
59
|
const argb = Roles[name].getArgb(scheme);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Hct","TonalPalette","DynamicScheme","buildScheme","schemeVibrant","schemeExpressive","schemeTonalSpot","schemeNeutral","Roles","ColorRole","quantizeWu","score","quantizeImage","seedsFromImagePixels","seedHexFromImagePixels","argbFromRgb","redFromArgb","greenFromArgb","blueFromArgb","argbFromHex","hex","h","replace","v","length","parseInt","hexFromArgb","argb","r","toString","padStart","g","b","generateRoleColors","opts","scheme","variant","fromInt","seed","isDark","contrastLevel","out","name","Object","keys","getArgb"],"sourceRoot":"../../../../src","sources":["theme/color-engine/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,GAAG,QAAQ,UAAO;AAC3B,SAASC,YAAY,QAAQ,oBAAiB;AAC9C,SAASC,aAAa,QAAQ,qBAAkB;AAChD,SAASC,WAAW,EAAEC,aAAa,EAAEC,gBAAgB,EAAEC,eAAe,EAAEC,aAAa,QAAQ,sBAAmB;AAEhH,SAASC,KAAK,QAAQ,kBAAe;AAErC,SAASC,SAAS,QAAQ,iBAAc;AACxC,SAASC,UAAU,QAAQ,mBAAgB;AAC3C,SAASC,KAAK,QAAQ,YAAS;AAE/B,SAASC,aAAa,EAAEC,oBAAoB,EAAEC,sBAAsB,QAAQ,sBAAmB;AAC/F,SAASC,WAAW,EAAEC,WAAW,EAAEC,aAAa,EAAEC,YAAY,QAAQ,kBAAe;AAErF,SAASA,YAAY,EAAED,aAAa,EAAED,WAAW,QAAQ,kBAAe;AACxE,SAASR,KAAK,QAAuB,kBAAe;AACpD,SAASR,GAAG,QAAQ,UAAO;AAC3B,SAASG,WAAW,QAA4B,sBAAmB;;AAEnE;AACA,OAAO,SAASgB,WAAWA,CAACC,GAAW,EAAU;EAC/C,MAAMC,CAAC,GAAGD,GAAG,CAACE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;EAC9B,MAAMC,CAAC,GAAGF,CAAC,CAACG,MAAM,KAAK,CAAC,GAAG,KAAKH,CAAC,EAAE,GAAGA,CAAC;EACvC,OAAOI,QAAQ,CAACF,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC;AAC9B;;AAEA;AACA,OAAO,SAASG,WAAWA,CAACC,IAAY,EAAU;EAChD,MAAMC,CAAC,GAAGZ,WAAW,CAACW,IAAI,CAAC,CAACE,QAAQ,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;EACzD,MAAMC,CAAC,GAAGd,aAAa,CAACU,IAAI,CAAC,CAACE,QAAQ,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;EAC3D,MAAME,CAAC,GAAGd,YAAY,CAACS,IAAI,CAAC,CAACE,QAAQ,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;EAC1D,OAAO,IAAIF,CAAC,GAAGG,CAAC,GAAGC,CAAC,EAAE;AACxB;;AAEA;;
|
|
1
|
+
{"version":3,"names":["Hct","TonalPalette","DynamicScheme","buildScheme","schemeVibrant","schemeExpressive","schemeTonalSpot","schemeNeutral","Roles","ColorRole","quantizeWu","score","quantizeImage","seedsFromImagePixels","seedHexFromImagePixels","argbFromRgb","redFromArgb","greenFromArgb","blueFromArgb","argbFromHex","hex","h","replace","v","length","parseInt","hexFromArgb","argb","r","toString","padStart","g","b","generateRoleColors","opts","scheme","variant","fromInt","seed","isDark","contrastLevel","secondarySource","secondarySeed","undefined","tertiarySource","tertiarySeed","out","name","Object","keys","getArgb"],"sourceRoot":"../../../../src","sources":["theme/color-engine/index.ts"],"mappings":"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","ignoreList":[]}
|