@oxyhq/bloom 0.40.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.
Files changed (147) hide show
  1. package/lib/commonjs/theme/BloomThemeProvider.js +18 -7
  2. package/lib/commonjs/theme/BloomThemeProvider.js.map +1 -1
  3. package/lib/commonjs/theme/apply-dark-class.js +2 -2
  4. package/lib/commonjs/theme/apply-dark-class.js.map +1 -1
  5. package/lib/commonjs/theme/build-theme-from-seed.js +17 -5
  6. package/lib/commonjs/theme/build-theme-from-seed.js.map +1 -1
  7. package/lib/commonjs/theme/build-theme.js +9 -6
  8. package/lib/commonjs/theme/build-theme.js.map +1 -1
  9. package/lib/commonjs/theme/color-engine/index.js +8 -1
  10. package/lib/commonjs/theme/color-engine/index.js.map +1 -1
  11. package/lib/commonjs/theme/color-engine/scheme-variants.js +62 -15
  12. package/lib/commonjs/theme/color-engine/scheme-variants.js.map +1 -1
  13. package/lib/commonjs/theme/color-engine/seed-from-image.js +11 -1
  14. package/lib/commonjs/theme/color-engine/seed-from-image.js.map +1 -1
  15. package/lib/commonjs/theme/color-presets.js +13 -13
  16. package/lib/commonjs/theme/color-presets.js.map +1 -1
  17. package/lib/commonjs/theme/color-scope/seed-scope.js +4 -1
  18. package/lib/commonjs/theme/color-scope/seed-scope.js.map +1 -1
  19. package/lib/commonjs/theme/color-scope/style-builder.js +2 -2
  20. package/lib/commonjs/theme/color-scope/style-builder.js.map +1 -1
  21. package/lib/commonjs/theme/index.js.map +1 -1
  22. package/lib/commonjs/theme/native-root-vars.js +1 -1
  23. package/lib/commonjs/theme/native-root-vars.js.map +1 -1
  24. package/lib/commonjs/theme/native-root-vars.native.js +2 -2
  25. package/lib/commonjs/theme/native-root-vars.native.js.map +1 -1
  26. package/lib/commonjs/theme/native-root-vars.web.js +1 -1
  27. package/lib/commonjs/theme/native-root-vars.web.js.map +1 -1
  28. package/lib/commonjs/theme/preset-vars.js +16 -2
  29. package/lib/commonjs/theme/preset-vars.js.map +1 -1
  30. package/lib/commonjs/theme/token-registry.js +2 -2
  31. package/lib/commonjs/theme/token-registry.js.map +1 -1
  32. package/lib/module/theme/BloomThemeProvider.js +18 -7
  33. package/lib/module/theme/BloomThemeProvider.js.map +1 -1
  34. package/lib/module/theme/apply-dark-class.js +2 -2
  35. package/lib/module/theme/apply-dark-class.js.map +1 -1
  36. package/lib/module/theme/build-theme-from-seed.js +18 -5
  37. package/lib/module/theme/build-theme-from-seed.js.map +1 -1
  38. package/lib/module/theme/build-theme.js +9 -6
  39. package/lib/module/theme/build-theme.js.map +1 -1
  40. package/lib/module/theme/color-engine/index.js +8 -1
  41. package/lib/module/theme/color-engine/index.js.map +1 -1
  42. package/lib/module/theme/color-engine/scheme-variants.js +62 -15
  43. package/lib/module/theme/color-engine/scheme-variants.js.map +1 -1
  44. package/lib/module/theme/color-engine/seed-from-image.js +11 -1
  45. package/lib/module/theme/color-engine/seed-from-image.js.map +1 -1
  46. package/lib/module/theme/color-presets.js +13 -13
  47. package/lib/module/theme/color-presets.js.map +1 -1
  48. package/lib/module/theme/color-scope/seed-scope.js +4 -1
  49. package/lib/module/theme/color-scope/seed-scope.js.map +1 -1
  50. package/lib/module/theme/color-scope/style-builder.js +2 -2
  51. package/lib/module/theme/color-scope/style-builder.js.map +1 -1
  52. package/lib/module/theme/index.js.map +1 -1
  53. package/lib/module/theme/native-root-vars.js +1 -1
  54. package/lib/module/theme/native-root-vars.js.map +1 -1
  55. package/lib/module/theme/native-root-vars.native.js +2 -2
  56. package/lib/module/theme/native-root-vars.native.js.map +1 -1
  57. package/lib/module/theme/native-root-vars.web.js +1 -1
  58. package/lib/module/theme/native-root-vars.web.js.map +1 -1
  59. package/lib/module/theme/preset-vars.js +17 -2
  60. package/lib/module/theme/preset-vars.js.map +1 -1
  61. package/lib/module/theme/token-registry.js +2 -2
  62. package/lib/module/theme/token-registry.js.map +1 -1
  63. package/lib/typescript/commonjs/theme/BloomThemeProvider.d.ts +15 -1
  64. package/lib/typescript/commonjs/theme/BloomThemeProvider.d.ts.map +1 -1
  65. package/lib/typescript/commonjs/theme/apply-dark-class.d.ts +2 -1
  66. package/lib/typescript/commonjs/theme/apply-dark-class.d.ts.map +1 -1
  67. package/lib/typescript/commonjs/theme/build-theme-from-seed.d.ts +13 -2
  68. package/lib/typescript/commonjs/theme/build-theme-from-seed.d.ts.map +1 -1
  69. package/lib/typescript/commonjs/theme/build-theme.d.ts +2 -1
  70. package/lib/typescript/commonjs/theme/build-theme.d.ts.map +1 -1
  71. package/lib/typescript/commonjs/theme/color-engine/index.d.ts +17 -1
  72. package/lib/typescript/commonjs/theme/color-engine/index.d.ts.map +1 -1
  73. package/lib/typescript/commonjs/theme/color-engine/scheme-variants.d.ts +34 -7
  74. package/lib/typescript/commonjs/theme/color-engine/scheme-variants.d.ts.map +1 -1
  75. package/lib/typescript/commonjs/theme/color-engine/seed-from-image.d.ts +11 -1
  76. package/lib/typescript/commonjs/theme/color-engine/seed-from-image.d.ts.map +1 -1
  77. package/lib/typescript/commonjs/theme/color-presets.d.ts +14 -0
  78. package/lib/typescript/commonjs/theme/color-presets.d.ts.map +1 -1
  79. package/lib/typescript/commonjs/theme/color-scope/seed-scope.d.ts +15 -2
  80. package/lib/typescript/commonjs/theme/color-scope/seed-scope.d.ts.map +1 -1
  81. package/lib/typescript/commonjs/theme/color-scope/style-builder.d.ts +2 -1
  82. package/lib/typescript/commonjs/theme/color-scope/style-builder.d.ts.map +1 -1
  83. package/lib/typescript/commonjs/theme/index.d.ts +3 -1
  84. package/lib/typescript/commonjs/theme/index.d.ts.map +1 -1
  85. package/lib/typescript/commonjs/theme/native-root-vars.d.ts +2 -1
  86. package/lib/typescript/commonjs/theme/native-root-vars.d.ts.map +1 -1
  87. package/lib/typescript/commonjs/theme/native-root-vars.native.d.ts +2 -1
  88. package/lib/typescript/commonjs/theme/native-root-vars.native.d.ts.map +1 -1
  89. package/lib/typescript/commonjs/theme/native-root-vars.web.d.ts +2 -1
  90. package/lib/typescript/commonjs/theme/native-root-vars.web.d.ts.map +1 -1
  91. package/lib/typescript/commonjs/theme/preset-vars.d.ts +12 -1
  92. package/lib/typescript/commonjs/theme/preset-vars.d.ts.map +1 -1
  93. package/lib/typescript/commonjs/theme/token-registry.d.ts +2 -1
  94. package/lib/typescript/commonjs/theme/token-registry.d.ts.map +1 -1
  95. package/lib/typescript/module/theme/BloomThemeProvider.d.ts +15 -1
  96. package/lib/typescript/module/theme/BloomThemeProvider.d.ts.map +1 -1
  97. package/lib/typescript/module/theme/apply-dark-class.d.ts +2 -1
  98. package/lib/typescript/module/theme/apply-dark-class.d.ts.map +1 -1
  99. package/lib/typescript/module/theme/build-theme-from-seed.d.ts +13 -2
  100. package/lib/typescript/module/theme/build-theme-from-seed.d.ts.map +1 -1
  101. package/lib/typescript/module/theme/build-theme.d.ts +2 -1
  102. package/lib/typescript/module/theme/build-theme.d.ts.map +1 -1
  103. package/lib/typescript/module/theme/color-engine/index.d.ts +17 -1
  104. package/lib/typescript/module/theme/color-engine/index.d.ts.map +1 -1
  105. package/lib/typescript/module/theme/color-engine/scheme-variants.d.ts +34 -7
  106. package/lib/typescript/module/theme/color-engine/scheme-variants.d.ts.map +1 -1
  107. package/lib/typescript/module/theme/color-engine/seed-from-image.d.ts +11 -1
  108. package/lib/typescript/module/theme/color-engine/seed-from-image.d.ts.map +1 -1
  109. package/lib/typescript/module/theme/color-presets.d.ts +14 -0
  110. package/lib/typescript/module/theme/color-presets.d.ts.map +1 -1
  111. package/lib/typescript/module/theme/color-scope/seed-scope.d.ts +15 -2
  112. package/lib/typescript/module/theme/color-scope/seed-scope.d.ts.map +1 -1
  113. package/lib/typescript/module/theme/color-scope/style-builder.d.ts +2 -1
  114. package/lib/typescript/module/theme/color-scope/style-builder.d.ts.map +1 -1
  115. package/lib/typescript/module/theme/index.d.ts +3 -1
  116. package/lib/typescript/module/theme/index.d.ts.map +1 -1
  117. package/lib/typescript/module/theme/native-root-vars.d.ts +2 -1
  118. package/lib/typescript/module/theme/native-root-vars.d.ts.map +1 -1
  119. package/lib/typescript/module/theme/native-root-vars.native.d.ts +2 -1
  120. package/lib/typescript/module/theme/native-root-vars.native.d.ts.map +1 -1
  121. package/lib/typescript/module/theme/native-root-vars.web.d.ts +2 -1
  122. package/lib/typescript/module/theme/native-root-vars.web.d.ts.map +1 -1
  123. package/lib/typescript/module/theme/preset-vars.d.ts +12 -1
  124. package/lib/typescript/module/theme/preset-vars.d.ts.map +1 -1
  125. package/lib/typescript/module/theme/token-registry.d.ts +2 -1
  126. package/lib/typescript/module/theme/token-registry.d.ts.map +1 -1
  127. package/package.json +1 -1
  128. package/src/__tests__/theme.test.ts +3 -0
  129. package/src/theme/BloomThemeProvider.tsx +38 -8
  130. package/src/theme/__tests__/__fixtures__/golden-resolved-tokens.json +74 -74
  131. package/src/theme/__tests__/__snapshots__/visual-gallery.test.tsx.snap +68 -68
  132. package/src/theme/__tests__/explicit-accents.test.ts +129 -0
  133. package/src/theme/apply-dark-class.ts +7 -2
  134. package/src/theme/build-theme-from-seed.ts +25 -2
  135. package/src/theme/build-theme.ts +9 -3
  136. package/src/theme/color-engine/index.ts +27 -1
  137. package/src/theme/color-engine/scheme-variants.ts +131 -24
  138. package/src/theme/color-engine/seed-from-image.ts +11 -1
  139. package/src/theme/color-presets.ts +27 -13
  140. package/src/theme/color-scope/seed-scope.ts +18 -2
  141. package/src/theme/color-scope/style-builder.ts +3 -1
  142. package/src/theme/index.ts +3 -1
  143. package/src/theme/native-root-vars.native.ts +7 -2
  144. package/src/theme/native-root-vars.ts +6 -1
  145. package/src/theme/native-root-vars.web.ts +6 -1
  146. package/src/theme/preset-vars.ts +19 -0
  147. package/src/theme/token-registry.ts +3 -2
@@ -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;;AAYA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAACC,IAAqB,EAAc;EACpE,MAAMC,MAAM,GAAGhC,WAAW,CACxB+B,IAAI,CAACE,OAAO,IAAI,SAAS,EACzBpC,GAAG,CAACqC,OAAO,CAAClB,WAAW,CAACe,IAAI,CAACI,IAAI,CAAC,CAAC,EACnCJ,IAAI,CAACK,MAAM,IAAI,KAAK,EACpBL,IAAI,CAACM,aAAa,IAAI,CACxB,CAAC;EACD,MAAMC,GAAG,GAAG,CAAC,CAAe;EAC5B,KAAK,MAAMC,IAAI,IAAIC,MAAM,CAACC,IAAI,CAACpC,KAAK,CAAC,EAAgB;IACnD,MAAMmB,IAAI,GAAGnB,KAAK,CAACkC,IAAI,CAAC,CAACG,OAAO,CAACV,MAAM,CAAC;IACxCM,GAAG,CAACC,IAAI,CAAC,GAAG,OAAO1B,WAAW,CAACW,IAAI,CAAC,IAAIV,aAAa,CAACU,IAAI,CAAC,IAAIT,YAAY,CAACS,IAAI,CAAC,GAAG;EACtF;EACA,OAAOc,GAAG;AACZ","ignoreList":[]}
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":[]}
@@ -13,6 +13,25 @@ import { DynamicScheme } from "./dynamic-scheme.js";
13
13
  import { sanitizeDegreesDouble } from "./math-utils.js";
14
14
  import { TonalPalette } from "./tonal-palette.js";
15
15
  import { Variant } from "./variant.js";
16
+
17
+ /**
18
+ * Optional explicit accent seeds for a scheme. When a source HCT is supplied, its
19
+ * palette is built from that colour itself (keeping the brand hue + chroma) instead
20
+ * of the derived hue-rotation — so a brand with a distinct secondary/tertiary accent
21
+ * (e.g. blue primary + yellow secondary) can PIN its real accent family. The M3 role
22
+ * tones still apply on top (a pinned yellow yields a yellow-hued secondary family:
23
+ * light container, dark on-colour) — that is correct M3 behaviour.
24
+ */
25
+
26
+ /**
27
+ * Build the accent tonal palette for a role: from the pinned brand colour when a
28
+ * `source` is provided (preserving its hue + chroma), otherwise from the caller's
29
+ * derived rotation. Uses `TonalPalette.fromInt` so the palette keeps the exact
30
+ * brand key colour; the role tones apply the same way for both.
31
+ */
32
+ function accentPalette(source, derived) {
33
+ return source !== undefined ? TonalPalette.fromInt(source.toInt()) : derived();
34
+ }
16
35
  const VIBRANT_HUES = [0.0, 41.0, 61.0, 101.0, 131.0, 181.0, 251.0, 301.0, 360.0];
17
36
  const VIBRANT_SECONDARY_ROTATIONS = [18.0, 15.0, 10.0, 12.0, 15.0, 18.0, 15.0, 12.0, 12.0];
18
37
  const VIBRANT_TERTIARY_ROTATIONS = [35.0, 30.0, 20.0, 25.0, 30.0, 35.0, 30.0, 25.0, 25.0];
@@ -21,73 +40,101 @@ const EXPRESSIVE_SECONDARY_ROTATIONS = [45.0, 95.0, 45.0, 20.0, 45.0, 90.0, 45.0
21
40
  const EXPRESSIVE_TERTIARY_ROTATIONS = [120.0, 120.0, 20.0, 45.0, 20.0, 15.0, 20.0, 120.0, 120.0];
22
41
 
23
42
  /** Maxed-out colourfulness at each position of the primary palette. */
24
- export function schemeVibrant(source, isDark, contrastLevel) {
43
+ export function schemeVibrant(source, isDark, contrastLevel, accents = {}) {
25
44
  return new DynamicScheme({
26
45
  sourceColorArgb: source.toInt(),
27
46
  variant: Variant.VIBRANT,
28
47
  contrastLevel,
29
48
  isDark,
30
49
  primaryPalette: TonalPalette.fromHueAndChroma(source.hue, 200.0),
31
- secondaryPalette: TonalPalette.fromHueAndChroma(DynamicScheme.getRotatedHue(source, VIBRANT_HUES, VIBRANT_SECONDARY_ROTATIONS), 24.0),
32
- tertiaryPalette: TonalPalette.fromHueAndChroma(DynamicScheme.getRotatedHue(source, VIBRANT_HUES, VIBRANT_TERTIARY_ROTATIONS), 32.0),
50
+ secondaryPalette: accentPalette(accents.secondarySource, () => TonalPalette.fromHueAndChroma(DynamicScheme.getRotatedHue(source, VIBRANT_HUES, VIBRANT_SECONDARY_ROTATIONS), 24.0)),
51
+ tertiaryPalette: accentPalette(accents.tertiarySource, () => TonalPalette.fromHueAndChroma(DynamicScheme.getRotatedHue(source, VIBRANT_HUES, VIBRANT_TERTIARY_ROTATIONS), 32.0)),
33
52
  neutralPalette: TonalPalette.fromHueAndChroma(source.hue, 10.0),
34
53
  neutralVariantPalette: TonalPalette.fromHueAndChroma(source.hue, 12.0)
35
54
  });
36
55
  }
37
56
 
38
57
  /** Playful, intentionally detached from the seed hue (primary rotated 240°). */
39
- export function schemeExpressive(source, isDark, contrastLevel) {
58
+ /**
59
+ * Bloom's own brand-vivid scheme. Same vibrant base (max-chroma primary) but the
60
+ * secondary and tertiary accents keep MUCH more chroma than canonical M3 (which
61
+ * intentionally desaturates supporting accents). Neutrals stay low-chroma so
62
+ * surfaces read as clean tinted light/dark. This is what the presets use — the
63
+ * old hand-authored palette felt more vivid than pure M3, and this restores that
64
+ * across the whole primary/secondary/tertiary trio.
65
+ */
66
+ export function schemeVivid(source, isDark, contrastLevel, accents = {}) {
67
+ return new DynamicScheme({
68
+ sourceColorArgb: source.toInt(),
69
+ variant: Variant.VIBRANT,
70
+ contrastLevel,
71
+ isDark,
72
+ primaryPalette: TonalPalette.fromHueAndChroma(source.hue, 200.0),
73
+ secondaryPalette: accentPalette(accents.secondarySource, () => TonalPalette.fromHueAndChroma(DynamicScheme.getRotatedHue(source, VIBRANT_HUES, VIBRANT_SECONDARY_ROTATIONS), 64.0)),
74
+ tertiaryPalette: accentPalette(accents.tertiarySource, () => TonalPalette.fromHueAndChroma(DynamicScheme.getRotatedHue(source, VIBRANT_HUES, VIBRANT_TERTIARY_ROTATIONS), 72.0)),
75
+ neutralPalette: TonalPalette.fromHueAndChroma(source.hue, 10.0),
76
+ neutralVariantPalette: TonalPalette.fromHueAndChroma(source.hue, 12.0)
77
+ });
78
+ }
79
+ export function schemeExpressive(source, isDark, contrastLevel, accents = {}) {
40
80
  return new DynamicScheme({
41
81
  sourceColorArgb: source.toInt(),
42
82
  variant: Variant.EXPRESSIVE,
43
83
  contrastLevel,
44
84
  isDark,
45
85
  primaryPalette: TonalPalette.fromHueAndChroma(sanitizeDegreesDouble(source.hue + 240.0), 40.0),
46
- secondaryPalette: TonalPalette.fromHueAndChroma(DynamicScheme.getRotatedHue(source, EXPRESSIVE_HUES, EXPRESSIVE_SECONDARY_ROTATIONS), 24.0),
47
- tertiaryPalette: TonalPalette.fromHueAndChroma(DynamicScheme.getRotatedHue(source, EXPRESSIVE_HUES, EXPRESSIVE_TERTIARY_ROTATIONS), 32.0),
86
+ secondaryPalette: accentPalette(accents.secondarySource, () => TonalPalette.fromHueAndChroma(DynamicScheme.getRotatedHue(source, EXPRESSIVE_HUES, EXPRESSIVE_SECONDARY_ROTATIONS), 24.0)),
87
+ tertiaryPalette: accentPalette(accents.tertiarySource, () => TonalPalette.fromHueAndChroma(DynamicScheme.getRotatedHue(source, EXPRESSIVE_HUES, EXPRESSIVE_TERTIARY_ROTATIONS), 32.0)),
48
88
  neutralPalette: TonalPalette.fromHueAndChroma(source.hue + 15, 8.0),
49
89
  neutralVariantPalette: TonalPalette.fromHueAndChroma(source.hue + 15, 12.0)
50
90
  });
51
91
  }
52
92
 
53
93
  /** The Material You default — a calm, balanced treatment of the seed. */
54
- export function schemeTonalSpot(source, isDark, contrastLevel) {
94
+ export function schemeTonalSpot(source, isDark, contrastLevel, accents = {}) {
55
95
  return new DynamicScheme({
56
96
  sourceColorArgb: source.toInt(),
57
97
  variant: Variant.TONAL_SPOT,
58
98
  contrastLevel,
59
99
  isDark,
60
100
  primaryPalette: TonalPalette.fromHueAndChroma(source.hue, 36.0),
61
- secondaryPalette: TonalPalette.fromHueAndChroma(source.hue, 16.0),
62
- tertiaryPalette: TonalPalette.fromHueAndChroma(sanitizeDegreesDouble(source.hue + 60.0), 24.0),
101
+ secondaryPalette: accentPalette(accents.secondarySource, () => TonalPalette.fromHueAndChroma(source.hue, 16.0)),
102
+ tertiaryPalette: accentPalette(accents.tertiarySource, () => TonalPalette.fromHueAndChroma(sanitizeDegreesDouble(source.hue + 60.0), 24.0)),
63
103
  neutralPalette: TonalPalette.fromHueAndChroma(source.hue, 6.0),
64
104
  neutralVariantPalette: TonalPalette.fromHueAndChroma(source.hue, 8.0)
65
105
  });
66
106
  }
67
107
 
68
108
  /** Near-greyscale — the seed hue is present only as a whisper. */
69
- export function schemeNeutral(source, isDark, contrastLevel) {
109
+ export function schemeNeutral(source, isDark, contrastLevel, accents = {}) {
70
110
  return new DynamicScheme({
71
111
  sourceColorArgb: source.toInt(),
72
112
  variant: Variant.NEUTRAL,
73
113
  contrastLevel,
74
114
  isDark,
75
115
  primaryPalette: TonalPalette.fromHueAndChroma(source.hue, 12.0),
76
- secondaryPalette: TonalPalette.fromHueAndChroma(source.hue, 8.0),
77
- tertiaryPalette: TonalPalette.fromHueAndChroma(source.hue, 16.0),
116
+ secondaryPalette: accentPalette(accents.secondarySource, () => TonalPalette.fromHueAndChroma(source.hue, 8.0)),
117
+ tertiaryPalette: accentPalette(accents.tertiarySource, () => TonalPalette.fromHueAndChroma(source.hue, 16.0)),
78
118
  neutralPalette: TonalPalette.fromHueAndChroma(source.hue, 2.0),
79
119
  neutralVariantPalette: TonalPalette.fromHueAndChroma(source.hue, 2.0)
80
120
  });
81
121
  }
82
122
  const BUILDERS = {
123
+ vivid: schemeVivid,
83
124
  vibrant: schemeVibrant,
84
125
  expressive: schemeExpressive,
85
126
  tonalSpot: schemeTonalSpot,
86
127
  neutral: schemeNeutral
87
128
  };
88
129
 
89
- /** Build a scheme by variant name. */
90
- export function buildScheme(variant, source, isDark, contrastLevel = 0) {
91
- return BUILDERS[variant](source, isDark, contrastLevel);
130
+ /**
131
+ * Build a scheme by variant name.
132
+ *
133
+ * `accents` optionally pins the secondary and/or tertiary palette to an explicit
134
+ * brand colour (see {@link AccentSources}); omitted accents keep the variant's
135
+ * derived hue-rotation, so existing callers get byte-identical output.
136
+ */
137
+ export function buildScheme(variant, source, isDark, contrastLevel = 0, accents = {}) {
138
+ return BUILDERS[variant](source, isDark, contrastLevel, accents);
92
139
  }
93
140
  //# sourceMappingURL=scheme-variants.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DynamicScheme","sanitizeDegreesDouble","TonalPalette","Variant","VIBRANT_HUES","VIBRANT_SECONDARY_ROTATIONS","VIBRANT_TERTIARY_ROTATIONS","EXPRESSIVE_HUES","EXPRESSIVE_SECONDARY_ROTATIONS","EXPRESSIVE_TERTIARY_ROTATIONS","schemeVibrant","source","isDark","contrastLevel","sourceColorArgb","toInt","variant","VIBRANT","primaryPalette","fromHueAndChroma","hue","secondaryPalette","getRotatedHue","tertiaryPalette","neutralPalette","neutralVariantPalette","schemeExpressive","EXPRESSIVE","schemeTonalSpot","TONAL_SPOT","schemeNeutral","NEUTRAL","BUILDERS","vibrant","expressive","tonalSpot","neutral","buildScheme"],"sourceRoot":"../../../../src","sources":["theme/color-engine/scheme-variants.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,aAAa,QAAQ,qBAAkB;AAEhD,SAASC,qBAAqB,QAAQ,iBAAc;AACpD,SAASC,YAAY,QAAQ,oBAAiB;AAC9C,SAASC,OAAO,QAAQ,cAAW;AAInC,MAAMC,YAAY,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;AAChF,MAAMC,2BAA2B,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;AAC1F,MAAMC,0BAA0B,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;AAEzF,MAAMC,eAAe,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;AACnF,MAAMC,8BAA8B,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;AAC7F,MAAMC,6BAA6B,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;;AAEhG;AACA,OAAO,SAASC,aAAaA,CAACC,MAAW,EAAEC,MAAe,EAAEC,aAAqB,EAAiB;EAChG,OAAO,IAAIb,aAAa,CAAC;IACvBc,eAAe,EAAEH,MAAM,CAACI,KAAK,CAAC,CAAC;IAC/BC,OAAO,EAAEb,OAAO,CAACc,OAAO;IACxBJ,aAAa;IACbD,MAAM;IACNM,cAAc,EAAEhB,YAAY,CAACiB,gBAAgB,CAACR,MAAM,CAACS,GAAG,EAAE,KAAK,CAAC;IAChEC,gBAAgB,EAAEnB,YAAY,CAACiB,gBAAgB,CAC7CnB,aAAa,CAACsB,aAAa,CAACX,MAAM,EAAEP,YAAY,EAAEC,2BAA2B,CAAC,EAC9E,IACF,CAAC;IACDkB,eAAe,EAAErB,YAAY,CAACiB,gBAAgB,CAC5CnB,aAAa,CAACsB,aAAa,CAACX,MAAM,EAAEP,YAAY,EAAEE,0BAA0B,CAAC,EAC7E,IACF,CAAC;IACDkB,cAAc,EAAEtB,YAAY,CAACiB,gBAAgB,CAACR,MAAM,CAACS,GAAG,EAAE,IAAI,CAAC;IAC/DK,qBAAqB,EAAEvB,YAAY,CAACiB,gBAAgB,CAACR,MAAM,CAACS,GAAG,EAAE,IAAI;EACvE,CAAC,CAAC;AACJ;;AAEA;AACA,OAAO,SAASM,gBAAgBA,CAACf,MAAW,EAAEC,MAAe,EAAEC,aAAqB,EAAiB;EACnG,OAAO,IAAIb,aAAa,CAAC;IACvBc,eAAe,EAAEH,MAAM,CAACI,KAAK,CAAC,CAAC;IAC/BC,OAAO,EAAEb,OAAO,CAACwB,UAAU;IAC3Bd,aAAa;IACbD,MAAM;IACNM,cAAc,EAAEhB,YAAY,CAACiB,gBAAgB,CAAClB,qBAAqB,CAACU,MAAM,CAACS,GAAG,GAAG,KAAK,CAAC,EAAE,IAAI,CAAC;IAC9FC,gBAAgB,EAAEnB,YAAY,CAACiB,gBAAgB,CAC7CnB,aAAa,CAACsB,aAAa,CAACX,MAAM,EAAEJ,eAAe,EAAEC,8BAA8B,CAAC,EACpF,IACF,CAAC;IACDe,eAAe,EAAErB,YAAY,CAACiB,gBAAgB,CAC5CnB,aAAa,CAACsB,aAAa,CAACX,MAAM,EAAEJ,eAAe,EAAEE,6BAA6B,CAAC,EACnF,IACF,CAAC;IACDe,cAAc,EAAEtB,YAAY,CAACiB,gBAAgB,CAACR,MAAM,CAACS,GAAG,GAAG,EAAE,EAAE,GAAG,CAAC;IACnEK,qBAAqB,EAAEvB,YAAY,CAACiB,gBAAgB,CAACR,MAAM,CAACS,GAAG,GAAG,EAAE,EAAE,IAAI;EAC5E,CAAC,CAAC;AACJ;;AAEA;AACA,OAAO,SAASQ,eAAeA,CAACjB,MAAW,EAAEC,MAAe,EAAEC,aAAqB,EAAiB;EAClG,OAAO,IAAIb,aAAa,CAAC;IACvBc,eAAe,EAAEH,MAAM,CAACI,KAAK,CAAC,CAAC;IAC/BC,OAAO,EAAEb,OAAO,CAAC0B,UAAU;IAC3BhB,aAAa;IACbD,MAAM;IACNM,cAAc,EAAEhB,YAAY,CAACiB,gBAAgB,CAACR,MAAM,CAACS,GAAG,EAAE,IAAI,CAAC;IAC/DC,gBAAgB,EAAEnB,YAAY,CAACiB,gBAAgB,CAACR,MAAM,CAACS,GAAG,EAAE,IAAI,CAAC;IACjEG,eAAe,EAAErB,YAAY,CAACiB,gBAAgB,CAAClB,qBAAqB,CAACU,MAAM,CAACS,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC;IAC9FI,cAAc,EAAEtB,YAAY,CAACiB,gBAAgB,CAACR,MAAM,CAACS,GAAG,EAAE,GAAG,CAAC;IAC9DK,qBAAqB,EAAEvB,YAAY,CAACiB,gBAAgB,CAACR,MAAM,CAACS,GAAG,EAAE,GAAG;EACtE,CAAC,CAAC;AACJ;;AAEA;AACA,OAAO,SAASU,aAAaA,CAACnB,MAAW,EAAEC,MAAe,EAAEC,aAAqB,EAAiB;EAChG,OAAO,IAAIb,aAAa,CAAC;IACvBc,eAAe,EAAEH,MAAM,CAACI,KAAK,CAAC,CAAC;IAC/BC,OAAO,EAAEb,OAAO,CAAC4B,OAAO;IACxBlB,aAAa;IACbD,MAAM;IACNM,cAAc,EAAEhB,YAAY,CAACiB,gBAAgB,CAACR,MAAM,CAACS,GAAG,EAAE,IAAI,CAAC;IAC/DC,gBAAgB,EAAEnB,YAAY,CAACiB,gBAAgB,CAACR,MAAM,CAACS,GAAG,EAAE,GAAG,CAAC;IAChEG,eAAe,EAAErB,YAAY,CAACiB,gBAAgB,CAACR,MAAM,CAACS,GAAG,EAAE,IAAI,CAAC;IAChEI,cAAc,EAAEtB,YAAY,CAACiB,gBAAgB,CAACR,MAAM,CAACS,GAAG,EAAE,GAAG,CAAC;IAC9DK,qBAAqB,EAAEvB,YAAY,CAACiB,gBAAgB,CAACR,MAAM,CAACS,GAAG,EAAE,GAAG;EACtE,CAAC,CAAC;AACJ;AAEA,MAAMY,QAAiF,GAAG;EACxFC,OAAO,EAAEvB,aAAa;EACtBwB,UAAU,EAAER,gBAAgB;EAC5BS,SAAS,EAAEP,eAAe;EAC1BQ,OAAO,EAAEN;AACX,CAAC;;AAED;AACA,OAAO,SAASO,WAAWA,CACzBrB,OAAsB,EACtBL,MAAW,EACXC,MAAe,EACfC,aAAa,GAAG,CAAC,EACF;EACf,OAAOmB,QAAQ,CAAChB,OAAO,CAAC,CAACL,MAAM,EAAEC,MAAM,EAAEC,aAAa,CAAC;AACzD","ignoreList":[]}
1
+ {"version":3,"names":["DynamicScheme","sanitizeDegreesDouble","TonalPalette","Variant","accentPalette","source","derived","undefined","fromInt","toInt","VIBRANT_HUES","VIBRANT_SECONDARY_ROTATIONS","VIBRANT_TERTIARY_ROTATIONS","EXPRESSIVE_HUES","EXPRESSIVE_SECONDARY_ROTATIONS","EXPRESSIVE_TERTIARY_ROTATIONS","schemeVibrant","isDark","contrastLevel","accents","sourceColorArgb","variant","VIBRANT","primaryPalette","fromHueAndChroma","hue","secondaryPalette","secondarySource","getRotatedHue","tertiaryPalette","tertiarySource","neutralPalette","neutralVariantPalette","schemeVivid","schemeExpressive","EXPRESSIVE","schemeTonalSpot","TONAL_SPOT","schemeNeutral","NEUTRAL","BUILDERS","vivid","vibrant","expressive","tonalSpot","neutral","buildScheme"],"sourceRoot":"../../../../src","sources":["theme/color-engine/scheme-variants.ts"],"mappings":"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","ignoreList":[]}
@@ -51,7 +51,17 @@ export function quantizeImage(pixels, maxColors = 128) {
51
51
  return result;
52
52
  }
53
53
 
54
- /** Ranked seed candidates (best first) extracted from an image's pixels (ARGB). */
54
+ /**
55
+ * Ranked seed candidates (best first) extracted from an image's pixels (ARGB).
56
+ *
57
+ * The top result (`seeds[0]`) is the primary seed for `generateRoleColors({ seed })`.
58
+ * To derive a richer, brand-accurate theme from artwork, a caller can additionally
59
+ * pin distinct accents from the ranked list: pass `hexFromArgb(seeds[1])` as
60
+ * `secondarySeed` and `hexFromArgb(seeds[2])` as `tertiarySeed` to
61
+ * `generateRoleColors` / `buildSeedScopeVars` / `buildThemeFromSeed` so the
62
+ * secondary and tertiary families reflect the artwork's real supporting colours
63
+ * instead of hue-rotations of the primary.
64
+ */
55
65
  export function seedsFromImagePixels(pixels, options) {
56
66
  return score(quantizeImage(pixels), options);
57
67
  }
@@ -1 +1 @@
1
- {"version":3,"names":["hexFromArgb","labDistance","labFromInt","quantizeWu","countByColor","score","quantizeImage","pixels","maxColors","representatives","length","Map","repPoints","map","populations","Array","fill","pixel","count","entries","point","best","bestDistance","Infinity","i","repPoint","undefined","d","result","representative","population","set","seedsFromImagePixels","options","seedHexFromImagePixels","top","desired","Error"],"sourceRoot":"../../../../src","sources":["theme/color-engine/seed-from-image.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,WAAW,QAAQ,YAAS;AACrC,SAASC,WAAW,EAAEC,UAAU,QAAuB,yBAAsB;AAC7E,SAASC,UAAU,QAAQ,mBAAgB;AAC3C,SAASC,YAAY,QAAQ,oBAAiB;AAC9C,SAASC,KAAK,QAA2B,YAAS;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAACC,MAAgB,EAAEC,SAAS,GAAG,GAAG,EAAuB;EACpF,MAAMC,eAAe,GAAGN,UAAU,CAACI,MAAM,EAAEC,SAAS,CAAC;EACrD,IAAIC,eAAe,CAACC,MAAM,KAAK,CAAC,EAAE,OAAO,IAAIC,GAAG,CAAC,CAAC;EAClD,MAAMC,SAAqB,GAAGH,eAAe,CAACI,GAAG,CAACX,UAAU,CAAC;EAE7D,MAAMY,WAAW,GAAG,IAAIC,KAAK,CAASN,eAAe,CAACC,MAAM,CAAC,CAACM,IAAI,CAAC,CAAC,CAAC;EACrE,KAAK,MAAM,CAACC,KAAK,EAAEC,KAAK,CAAC,IAAId,YAAY,CAACG,MAAM,CAAC,CAACY,OAAO,CAAC,CAAC,EAAE;IAC3D,MAAMC,KAAK,GAAGlB,UAAU,CAACe,KAAK,CAAC;IAC/B,IAAII,IAAI,GAAG,CAAC;IACZ,IAAIC,YAAY,GAAGC,QAAQ;IAC3B,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGZ,SAAS,CAACF,MAAM,EAAEc,CAAC,EAAE,EAAE;MACzC,MAAMC,QAAQ,GAAGb,SAAS,CAACY,CAAC,CAAC;MAC7B,IAAIC,QAAQ,KAAKC,SAAS,EAAE;MAC5B,MAAMC,CAAC,GAAG1B,WAAW,CAACmB,KAAK,EAAEK,QAAQ,CAAC;MACtC,IAAIE,CAAC,GAAGL,YAAY,EAAE;QACpBA,YAAY,GAAGK,CAAC;QAChBN,IAAI,GAAGG,CAAC;MACV;IACF;IACAV,WAAW,CAACO,IAAI,CAAC,GAAG,CAACP,WAAW,CAACO,IAAI,CAAC,IAAI,CAAC,IAAIH,KAAK;EACtD;EAEA,MAAMU,MAAM,GAAG,IAAIjB,GAAG,CAAiB,CAAC;EACxC,KAAK,IAAIa,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGf,eAAe,CAACC,MAAM,EAAEc,CAAC,EAAE,EAAE;IAC/C,MAAMK,cAAc,GAAGpB,eAAe,CAACe,CAAC,CAAC;IACzC,MAAMM,UAAU,GAAGhB,WAAW,CAACU,CAAC,CAAC,IAAI,CAAC;IACtC,IAAIK,cAAc,KAAKH,SAAS,IAAII,UAAU,GAAG,CAAC,EAAEF,MAAM,CAACG,GAAG,CAACF,cAAc,EAAEC,UAAU,CAAC;EAC5F;EACA,OAAOF,MAAM;AACf;;AAEA;AACA,OAAO,SAASI,oBAAoBA,CAACzB,MAAgB,EAAE0B,OAAsB,EAAY;EACvF,OAAO5B,KAAK,CAACC,aAAa,CAACC,MAAM,CAAC,EAAE0B,OAAO,CAAC;AAC9C;;AAEA;AACA,OAAO,SAASC,sBAAsBA,CAAC3B,MAAgB,EAAU;EAC/D,MAAM,CAAC4B,GAAG,CAAC,GAAGH,oBAAoB,CAACzB,MAAM,EAAE;IAAE6B,OAAO,EAAE;EAAE,CAAC,CAAC;EAC1D,IAAID,GAAG,KAAKT,SAAS,EAAE,MAAM,IAAIW,KAAK,CAAC,mCAAmC,CAAC;EAC3E,OAAOrC,WAAW,CAACmC,GAAG,CAAC;AACzB","ignoreList":[]}
1
+ {"version":3,"names":["hexFromArgb","labDistance","labFromInt","quantizeWu","countByColor","score","quantizeImage","pixels","maxColors","representatives","length","Map","repPoints","map","populations","Array","fill","pixel","count","entries","point","best","bestDistance","Infinity","i","repPoint","undefined","d","result","representative","population","set","seedsFromImagePixels","options","seedHexFromImagePixels","top","desired","Error"],"sourceRoot":"../../../../src","sources":["theme/color-engine/seed-from-image.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,WAAW,QAAQ,YAAS;AACrC,SAASC,WAAW,EAAEC,UAAU,QAAuB,yBAAsB;AAC7E,SAASC,UAAU,QAAQ,mBAAgB;AAC3C,SAASC,YAAY,QAAQ,oBAAiB;AAC9C,SAASC,KAAK,QAA2B,YAAS;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAACC,MAAgB,EAAEC,SAAS,GAAG,GAAG,EAAuB;EACpF,MAAMC,eAAe,GAAGN,UAAU,CAACI,MAAM,EAAEC,SAAS,CAAC;EACrD,IAAIC,eAAe,CAACC,MAAM,KAAK,CAAC,EAAE,OAAO,IAAIC,GAAG,CAAC,CAAC;EAClD,MAAMC,SAAqB,GAAGH,eAAe,CAACI,GAAG,CAACX,UAAU,CAAC;EAE7D,MAAMY,WAAW,GAAG,IAAIC,KAAK,CAASN,eAAe,CAACC,MAAM,CAAC,CAACM,IAAI,CAAC,CAAC,CAAC;EACrE,KAAK,MAAM,CAACC,KAAK,EAAEC,KAAK,CAAC,IAAId,YAAY,CAACG,MAAM,CAAC,CAACY,OAAO,CAAC,CAAC,EAAE;IAC3D,MAAMC,KAAK,GAAGlB,UAAU,CAACe,KAAK,CAAC;IAC/B,IAAII,IAAI,GAAG,CAAC;IACZ,IAAIC,YAAY,GAAGC,QAAQ;IAC3B,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGZ,SAAS,CAACF,MAAM,EAAEc,CAAC,EAAE,EAAE;MACzC,MAAMC,QAAQ,GAAGb,SAAS,CAACY,CAAC,CAAC;MAC7B,IAAIC,QAAQ,KAAKC,SAAS,EAAE;MAC5B,MAAMC,CAAC,GAAG1B,WAAW,CAACmB,KAAK,EAAEK,QAAQ,CAAC;MACtC,IAAIE,CAAC,GAAGL,YAAY,EAAE;QACpBA,YAAY,GAAGK,CAAC;QAChBN,IAAI,GAAGG,CAAC;MACV;IACF;IACAV,WAAW,CAACO,IAAI,CAAC,GAAG,CAACP,WAAW,CAACO,IAAI,CAAC,IAAI,CAAC,IAAIH,KAAK;EACtD;EAEA,MAAMU,MAAM,GAAG,IAAIjB,GAAG,CAAiB,CAAC;EACxC,KAAK,IAAIa,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGf,eAAe,CAACC,MAAM,EAAEc,CAAC,EAAE,EAAE;IAC/C,MAAMK,cAAc,GAAGpB,eAAe,CAACe,CAAC,CAAC;IACzC,MAAMM,UAAU,GAAGhB,WAAW,CAACU,CAAC,CAAC,IAAI,CAAC;IACtC,IAAIK,cAAc,KAAKH,SAAS,IAAII,UAAU,GAAG,CAAC,EAAEF,MAAM,CAACG,GAAG,CAACF,cAAc,EAAEC,UAAU,CAAC;EAC5F;EACA,OAAOF,MAAM;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASI,oBAAoBA,CAACzB,MAAgB,EAAE0B,OAAsB,EAAY;EACvF,OAAO5B,KAAK,CAACC,aAAa,CAACC,MAAM,CAAC,EAAE0B,OAAO,CAAC;AAC9C;;AAEA;AACA,OAAO,SAASC,sBAAsBA,CAAC3B,MAAgB,EAAU;EAC/D,MAAM,CAAC4B,GAAG,CAAC,GAAGH,oBAAoB,CAACzB,MAAM,EAAE;IAAE6B,OAAO,EAAE;EAAE,CAAC,CAAC;EAC1D,IAAID,GAAG,KAAKT,SAAS,EAAE,MAAM,IAAIW,KAAK,CAAC,mCAAmC,CAAC;EAC3E,OAAOrC,WAAW,CAACmC,GAAG,CAAC;AACzB","ignoreList":[]}
@@ -52,67 +52,67 @@ export const APP_COLOR_PRESETS = {
52
52
  teal: {
53
53
  name: 'teal',
54
54
  hex: '#005c67',
55
- variant: 'vibrant'
55
+ variant: 'vivid'
56
56
  },
57
57
  blue: {
58
58
  name: 'blue',
59
59
  hex: '#1d9bf0',
60
- variant: 'vibrant'
60
+ variant: 'vivid'
61
61
  },
62
62
  green: {
63
63
  name: 'green',
64
64
  hex: '#10b981',
65
- variant: 'vibrant'
65
+ variant: 'vivid'
66
66
  },
67
67
  amber: {
68
68
  name: 'amber',
69
69
  hex: '#f59e0b',
70
- variant: 'vibrant'
70
+ variant: 'vivid'
71
71
  },
72
72
  yellow: {
73
73
  name: 'yellow',
74
74
  hex: '#ffc300',
75
- variant: 'vibrant'
75
+ variant: 'vivid'
76
76
  },
77
77
  red: {
78
78
  name: 'red',
79
79
  hex: '#ef4444',
80
- variant: 'vibrant'
80
+ variant: 'vivid'
81
81
  },
82
82
  purple: {
83
83
  name: 'purple',
84
84
  hex: '#8b5cf6',
85
- variant: 'vibrant'
85
+ variant: 'vivid'
86
86
  },
87
87
  pink: {
88
88
  name: 'pink',
89
89
  hex: '#ec4899',
90
- variant: 'vibrant'
90
+ variant: 'vivid'
91
91
  },
92
92
  sky: {
93
93
  name: 'sky',
94
94
  hex: '#0ea5e9',
95
- variant: 'vibrant'
95
+ variant: 'vivid'
96
96
  },
97
97
  orange: {
98
98
  name: 'orange',
99
99
  hex: '#f97316',
100
- variant: 'vibrant'
100
+ variant: 'vivid'
101
101
  },
102
102
  mint: {
103
103
  name: 'mint',
104
104
  hex: '#14b8a6',
105
- variant: 'vibrant'
105
+ variant: 'vivid'
106
106
  },
107
107
  oxy: {
108
108
  name: 'oxy',
109
109
  hex: '#c46ede',
110
- variant: 'vibrant'
110
+ variant: 'vivid'
111
111
  },
112
112
  faircoin: {
113
113
  name: 'faircoin',
114
114
  hex: '#9ffb50',
115
- variant: 'vibrant'
115
+ variant: 'vivid'
116
116
  }
117
117
  };
118
118
  //# sourceMappingURL=color-presets.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["APP_COLOR_NAMES","PREMIUM_COLOR_NAMES","HEX_TO_APP_COLOR","hexToAppColorName","hex","toLowerCase","APP_COLOR_PRESETS","teal","name","variant","blue","green","amber","yellow","red","purple","pink","sky","orange","mint","oxy","faircoin"],"sourceRoot":"../../../src","sources":["theme/color-presets.ts"],"mappings":";;AAiBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AASA;AACA;AACA;AACA;AACA;AACA;;AAGA,OAAO,MAAMA,eAAwC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC;;AAEzK;AACA,OAAO,MAAMC,mBAA4C,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC;AAE/E,OAAO,MAAMC,gBAA8C,GAAG;EAC5D,SAAS,EAAE,MAAM;EACjB,SAAS,EAAE,MAAM;EACjB,SAAS,EAAE,OAAO;EAClB,SAAS,EAAE,OAAO;EAClB,SAAS,EAAE,QAAQ;EACnB,SAAS,EAAE,KAAK;EAChB,SAAS,EAAE,QAAQ;EACnB,SAAS,EAAE,MAAM;EACjB,SAAS,EAAE,KAAK;EAChB,SAAS,EAAE,QAAQ;EACnB,SAAS,EAAE,MAAM;EACjB,SAAS,EAAE,KAAK;EAChB,SAAS,EAAE;AACb,CAAC;AAED,OAAO,SAASC,iBAAiBA,CAACC,GAAW,EAAgB;EAC3D,OAAOF,gBAAgB,CAACE,GAAG,CAACC,WAAW,CAAC,CAAC,CAAC,IAAI,MAAM;AACtD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,iBAAuD,GAAG;EACrEC,IAAI,EAAE;IAAEC,IAAI,EAAE,MAAM;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU,CAAC;EAC1DC,IAAI,EAAE;IAAEF,IAAI,EAAE,MAAM;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU,CAAC;EAC1DE,KAAK,EAAE;IAAEH,IAAI,EAAE,OAAO;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU,CAAC;EAC5DG,KAAK,EAAE;IAAEJ,IAAI,EAAE,OAAO;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU,CAAC;EAC5DI,MAAM,EAAE;IAAEL,IAAI,EAAE,QAAQ;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU,CAAC;EAC9DK,GAAG,EAAE;IAAEN,IAAI,EAAE,KAAK;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU,CAAC;EACxDM,MAAM,EAAE;IAAEP,IAAI,EAAE,QAAQ;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU,CAAC;EAC9DO,IAAI,EAAE;IAAER,IAAI,EAAE,MAAM;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU,CAAC;EAC1DQ,GAAG,EAAE;IAAET,IAAI,EAAE,KAAK;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU,CAAC;EACxDS,MAAM,EAAE;IAAEV,IAAI,EAAE,QAAQ;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU,CAAC;EAC9DU,IAAI,EAAE;IAAEX,IAAI,EAAE,MAAM;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU,CAAC;EAC1DW,GAAG,EAAE;IAAEZ,IAAI,EAAE,KAAK;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU,CAAC;EACxDY,QAAQ,EAAE;IAAEb,IAAI,EAAE,UAAU;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU;AACnE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["APP_COLOR_NAMES","PREMIUM_COLOR_NAMES","HEX_TO_APP_COLOR","hexToAppColorName","hex","toLowerCase","APP_COLOR_PRESETS","teal","name","variant","blue","green","amber","yellow","red","purple","pink","sky","orange","mint","oxy","faircoin"],"sourceRoot":"../../../src","sources":["theme/color-presets.ts"],"mappings":";;AAiBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAuBA;AACA;AACA;AACA;AACA;AACA;;AAGA,OAAO,MAAMA,eAAwC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC;;AAEzK;AACA,OAAO,MAAMC,mBAA4C,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC;AAE/E,OAAO,MAAMC,gBAA8C,GAAG;EAC5D,SAAS,EAAE,MAAM;EACjB,SAAS,EAAE,MAAM;EACjB,SAAS,EAAE,OAAO;EAClB,SAAS,EAAE,OAAO;EAClB,SAAS,EAAE,QAAQ;EACnB,SAAS,EAAE,KAAK;EAChB,SAAS,EAAE,QAAQ;EACnB,SAAS,EAAE,MAAM;EACjB,SAAS,EAAE,KAAK;EAChB,SAAS,EAAE,QAAQ;EACnB,SAAS,EAAE,MAAM;EACjB,SAAS,EAAE,KAAK;EAChB,SAAS,EAAE;AACb,CAAC;AAED,OAAO,SAASC,iBAAiBA,CAACC,GAAW,EAAgB;EAC3D,OAAOF,gBAAgB,CAACE,GAAG,CAACC,WAAW,CAAC,CAAC,CAAC,IAAI,MAAM;AACtD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,iBAAuD,GAAG;EACrEC,IAAI,EAAE;IAAEC,IAAI,EAAE,MAAM;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAQ,CAAC;EACxDC,IAAI,EAAE;IAAEF,IAAI,EAAE,MAAM;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAQ,CAAC;EACxDE,KAAK,EAAE;IAAEH,IAAI,EAAE,OAAO;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAQ,CAAC;EAC1DG,KAAK,EAAE;IAAEJ,IAAI,EAAE,OAAO;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAQ,CAAC;EAC1DI,MAAM,EAAE;IAAEL,IAAI,EAAE,QAAQ;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAQ,CAAC;EAC5DK,GAAG,EAAE;IAAEN,IAAI,EAAE,KAAK;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAQ,CAAC;EACtDM,MAAM,EAAE;IAAEP,IAAI,EAAE,QAAQ;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAQ,CAAC;EAC5DO,IAAI,EAAE;IAAER,IAAI,EAAE,MAAM;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAQ,CAAC;EACxDQ,GAAG,EAAE;IAAET,IAAI,EAAE,KAAK;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAQ,CAAC;EACtDS,MAAM,EAAE;IAAEV,IAAI,EAAE,QAAQ;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAQ,CAAC;EAC5DU,IAAI,EAAE;IAAEX,IAAI,EAAE,MAAM;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAQ,CAAC;EACxDW,GAAG,EAAE;IAAEZ,IAAI,EAAE,KAAK;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAQ,CAAC;EACtDY,QAAQ,EAAE;IAAEb,IAAI,EAAE,UAAU;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAQ;AACjE,CAAC","ignoreList":[]}
@@ -77,8 +77,11 @@ export function roleColorsToPresetTokens(r) {
77
77
  export function buildSeedScopeVars(options) {
78
78
  const roles = generateRoleColors({
79
79
  seed: options.seed,
80
+ variant: options.variant ?? 'vivid',
80
81
  isDark: options.mode === 'dark',
81
- contrastLevel: options.contrastLevel ?? 0
82
+ contrastLevel: options.contrastLevel ?? 0,
83
+ secondarySeed: options.secondarySeed,
84
+ tertiarySeed: options.tertiarySeed
82
85
  });
83
86
  const tokens = roleColorsToPresetTokens(roles);
84
87
  const vars = {
@@ -1 +1 @@
1
- {"version":3,"names":["generateRoleColors","CANONICAL_TOKENS","roleColorsToPresetTokens","r","background","onBackground","surfaceContainerLow","onSurface","surfaceContainer","primary","onPrimary","secondary","onSecondary","tertiary","onTertiary","surfaceContainerHigh","onSurfaceVariant","secondaryContainer","onSecondaryContainer","error","outlineVariant","surfaceContainerLowest","primaryContainer","tertiaryContainer","buildSeedScopeVars","options","roles","seed","isDark","mode","contrastLevel","tokens","vars","token","value","undefined"],"sourceRoot":"../../../../src","sources":["theme/color-scope/seed-scope.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["generateRoleColors","CANONICAL_TOKENS","roleColorsToPresetTokens","r","background","onBackground","surfaceContainerLow","onSurface","surfaceContainer","primary","onPrimary","secondary","onSecondary","tertiary","onTertiary","surfaceContainerHigh","onSurfaceVariant","secondaryContainer","onSecondaryContainer","error","outlineVariant","surfaceContainerLowest","primaryContainer","tertiaryContainer","buildSeedScopeVars","options","roles","seed","variant","isDark","mode","contrastLevel","secondarySeed","tertiarySeed","tokens","vars","token","value","undefined"],"sourceRoot":"../../../../src","sources":["theme/color-scope/seed-scope.ts"],"mappings":"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","ignoreList":[]}
@@ -23,8 +23,8 @@ const getNativeWindVars = lazyRequire('nativewind');
23
23
  * inherited custom properties like `--color-primary: var(--primary)` compute at
24
24
  * the document root and would otherwise keep pointing at the app-wide preset.
25
25
  */
26
- export function buildScopeVars(colorPreset, mode) {
27
- const tokens = getResolvedTokens(colorPreset, mode);
26
+ export function buildScopeVars(colorPreset, mode, accents) {
27
+ const tokens = getResolvedTokens(colorPreset, mode, accents);
28
28
  const vars = {
29
29
  ...tokens
30
30
  };
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","CANONICAL_TOKENS","getResolvedTokens","lazyRequire","getNativeWindVars","buildScopeVars","colorPreset","mode","tokens","vars","token","value","undefined","getVariableContextProvider","OS","module","VariableContextProvider","buildNativePresetStyle"],"sourceRoot":"../../../../src","sources":["theme/color-scope/style-builder.ts"],"mappings":";;AACA,SAASA,QAAQ,QAAwC,cAAc;AAEvE,SAASC,gBAAgB,EAAEC,iBAAiB,QAAQ,sBAAmB;AAEvE,SAASC,WAAW,QAAQ,6BAA0B;;AAEtD;AACA;AACA;AACA;AACA;AACA;;AAWA,MAAMC,iBAAiB,GAAGD,WAAW,CAAuB,YAAY,CAAC;;AAEzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,cAAcA,CAC5BC,WAAyB,EACzBC,IAAsB,EACE;EACxB,MAAMC,MAAM,GAAGN,iBAAiB,CAACI,WAAW,EAAEC,IAAI,CAAC;EACnD,MAAME,IAA4B,GAAG;IAAE,GAAGD;EAAO,CAAC;EAElD,KAAK,MAAME,KAAK,IAAIT,gBAAgB,EAAE;IACpC,MAAMU,KAAK,GAAGH,MAAM,CAAC,KAAKE,KAAK,EAAE,CAAC;IAClC,IAAIC,KAAK,KAAKC,SAAS,EAAE;MACvBH,IAAI,CAAC,WAAWC,KAAK,EAAE,CAAC,GAAGC,KAAK;IAClC;EACF;EAEA,OAAOF,IAAI;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASI,0BAA0BA,CAAA,EAA4C;EACpF,IAAIb,QAAQ,CAACc,EAAE,KAAK,KAAK,EAAE,OAAO,IAAI;EACtC,MAAMC,MAAM,GAAGX,iBAAiB,CAAC,CAAC;EAClC,IAAI,CAACW,MAAM,IAAI,OAAOA,MAAM,CAACC,uBAAuB,KAAK,UAAU,EAAE,OAAO,IAAI;EAChF,OAAOD,MAAM,CAACC,uBAAuB;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CACpCX,WAAyB,EACzBC,IAAsB,EACA;EACtB,IAAIP,QAAQ,CAACc,EAAE,KAAK,KAAK,EAAE,OAAOF,SAAS;EAC3C,MAAMG,MAAM,GAAGX,iBAAiB,CAAC,CAAC;EAClC,IAAI,CAACW,MAAM,IAAI,OAAOA,MAAM,CAACN,IAAI,KAAK,UAAU,EAAE,OAAOG,SAAS;EAClE,OAAOG,MAAM,CAACN,IAAI,CAACJ,cAAc,CAACC,WAAW,EAAEC,IAAI,CAAC,CAAC;AACvD","ignoreList":[]}
1
+ {"version":3,"names":["Platform","CANONICAL_TOKENS","getResolvedTokens","lazyRequire","getNativeWindVars","buildScopeVars","colorPreset","mode","accents","tokens","vars","token","value","undefined","getVariableContextProvider","OS","module","VariableContextProvider","buildNativePresetStyle"],"sourceRoot":"../../../../src","sources":["theme/color-scope/style-builder.ts"],"mappings":";;AACA,SAASA,QAAQ,QAAwC,cAAc;AAEvE,SAASC,gBAAgB,EAAEC,iBAAiB,QAAQ,sBAAmB;AAGvE,SAASC,WAAW,QAAQ,6BAA0B;;AAEtD;AACA;AACA;AACA;AACA;AACA;;AAWA,MAAMC,iBAAiB,GAAGD,WAAW,CAAuB,YAAY,CAAC;;AAEzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,cAAcA,CAC5BC,WAAyB,EACzBC,IAAsB,EACtBC,OAAyB,EACD;EACxB,MAAMC,MAAM,GAAGP,iBAAiB,CAACI,WAAW,EAAEC,IAAI,EAAEC,OAAO,CAAC;EAC5D,MAAME,IAA4B,GAAG;IAAE,GAAGD;EAAO,CAAC;EAElD,KAAK,MAAME,KAAK,IAAIV,gBAAgB,EAAE;IACpC,MAAMW,KAAK,GAAGH,MAAM,CAAC,KAAKE,KAAK,EAAE,CAAC;IAClC,IAAIC,KAAK,KAAKC,SAAS,EAAE;MACvBH,IAAI,CAAC,WAAWC,KAAK,EAAE,CAAC,GAAGC,KAAK;IAClC;EACF;EAEA,OAAOF,IAAI;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASI,0BAA0BA,CAAA,EAA4C;EACpF,IAAId,QAAQ,CAACe,EAAE,KAAK,KAAK,EAAE,OAAO,IAAI;EACtC,MAAMC,MAAM,GAAGZ,iBAAiB,CAAC,CAAC;EAClC,IAAI,CAACY,MAAM,IAAI,OAAOA,MAAM,CAACC,uBAAuB,KAAK,UAAU,EAAE,OAAO,IAAI;EAChF,OAAOD,MAAM,CAACC,uBAAuB;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CACpCZ,WAAyB,EACzBC,IAAsB,EACA;EACtB,IAAIP,QAAQ,CAACe,EAAE,KAAK,KAAK,EAAE,OAAOF,SAAS;EAC3C,MAAMG,MAAM,GAAGZ,iBAAiB,CAAC,CAAC;EAClC,IAAI,CAACY,MAAM,IAAI,OAAOA,MAAM,CAACN,IAAI,KAAK,UAAU,EAAE,OAAOG,SAAS;EAClE,OAAOG,MAAM,CAACN,IAAI,CAACL,cAAc,CAACC,WAAW,EAAEC,IAAI,CAAC,CAAC;AACvD","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["BloomThemeProvider","BloomColorScope","useColorScopeStyle","BloomSeedScope","buildSeedScopeVars","roleColorsToPresetTokens","generateRoleColors","seedHexFromImagePixels","seedsFromImagePixels","quantizeImage","argbFromHex","hexFromArgb","argbFromRgb","redFromArgb","greenFromArgb","blueFromArgb","buildTheme","STATUS_COLORS","buildThemeFromSeed","buildColorsFromSeed","THEME_GRADIENTS","useTheme","useThemeColor","useBloomTheme","useNavigationTheme","APP_COLOR_NAMES","PREMIUM_COLOR_NAMES","APP_COLOR_PRESETS","HEX_TO_APP_COLOR","hexToAppColorName","parseRgb","withAlpha","getPresetVars","applyPresetVarsToDocument","applyDarkClass","setColorSchemeSafe","initCssInteropDarkMode","webLocalStorage"],"sourceRoot":"../../../src","sources":["theme/index.ts"],"mappings":";;AAAA,SAASA,kBAAkB,QAAQ,yBAAsB;AAKzD,SAASC,eAAe,EAAEC,kBAAkB,QAAQ,eAAe;AAEnE,SAASC,cAAc,QAAQ,cAAc;AAE7C,SAASC,kBAAkB,EAAEC,wBAAwB,QAAQ,6BAA0B;AAEvF;AACA;AACA;AACA,SACEC,kBAAkB,EAClBC,sBAAsB,EACtBC,oBAAoB,EACpBC,aAAa,EACbC,WAAW,EACXC,WAAW,EACXC,WAAW,EACXC,WAAW,EACXC,aAAa,EACbC,YAAY,QACP,yBAAgB;AAEvB,SAASC,UAAU,EAAEC,aAAa,QAAQ,kBAAe;AACzD,SAASC,kBAAkB,EAAEC,mBAAmB,QAAQ,4BAAyB;AACjF,SAASC,eAAe,QAAQ,gBAAa;AAC7C,SAASC,QAAQ,EAAEC,aAAa,EAAEC,aAAa,QAAQ,gBAAa;AACpE,SAASC,kBAAkB,QAAQ,2BAAwB;AAI3D,SACEC,eAAe,EACfC,mBAAmB,EACnBC,iBAAiB,EACjBC,gBAAgB,EAChBC,iBAAiB,QACZ,oBAAiB;AACxB,SAASC,QAAQ,EAAEC,SAAS,QAAQ,kBAAe;AAEnD,SAASC,aAAa,EAAEC,yBAAyB,QAAQ,kBAAe;AACxE,SAASC,cAAc,QAAQ,uBAAoB;AACnD,SAASC,kBAAkB,QAAQ,4BAAyB;AAC5D,SAASC,sBAAsB,QAAQ,uBAAoB;AAE3D,SAASC,eAAe,QAAQ,kBAAe","ignoreList":[]}
1
+ {"version":3,"names":["BloomThemeProvider","BloomColorScope","useColorScopeStyle","BloomSeedScope","buildSeedScopeVars","roleColorsToPresetTokens","generateRoleColors","seedHexFromImagePixels","seedsFromImagePixels","quantizeImage","argbFromHex","hexFromArgb","argbFromRgb","redFromArgb","greenFromArgb","blueFromArgb","buildTheme","STATUS_COLORS","buildThemeFromSeed","buildColorsFromSeed","THEME_GRADIENTS","useTheme","useThemeColor","useBloomTheme","useNavigationTheme","APP_COLOR_NAMES","PREMIUM_COLOR_NAMES","APP_COLOR_PRESETS","HEX_TO_APP_COLOR","hexToAppColorName","parseRgb","withAlpha","getPresetVars","applyPresetVarsToDocument","applyDarkClass","setColorSchemeSafe","initCssInteropDarkMode","webLocalStorage"],"sourceRoot":"../../../src","sources":["theme/index.ts"],"mappings":";;AAAA,SAASA,kBAAkB,QAAQ,yBAAsB;AAKzD,SAASC,eAAe,EAAEC,kBAAkB,QAAQ,eAAe;AAEnE,SAASC,cAAc,QAAQ,cAAc;AAE7C,SAASC,kBAAkB,EAAEC,wBAAwB,QAAQ,6BAA0B;AAEvF;AACA;AACA;AACA,SACEC,kBAAkB,EAClBC,sBAAsB,EACtBC,oBAAoB,EACpBC,aAAa,EACbC,WAAW,EACXC,WAAW,EACXC,WAAW,EACXC,WAAW,EACXC,aAAa,EACbC,YAAY,QACP,yBAAgB;AAEvB,SAASC,UAAU,EAAEC,aAAa,QAAQ,kBAAe;AACzD,SAASC,kBAAkB,EAAEC,mBAAmB,QAAQ,4BAAyB;AAEjF,SAASC,eAAe,QAAQ,gBAAa;AAC7C,SAASC,QAAQ,EAAEC,aAAa,EAAEC,aAAa,QAAQ,gBAAa;AACpE,SAASC,kBAAkB,QAAQ,2BAAwB;AAI3D,SACEC,eAAe,EACfC,mBAAmB,EACnBC,iBAAiB,EACjBC,gBAAgB,EAChBC,iBAAiB,QACZ,oBAAiB;AACxB,SAASC,QAAQ,EAAEC,SAAS,QAAQ,kBAAe;AAEnD,SAASC,aAAa,EAAEC,yBAAyB,QAAQ,kBAAe;AAExE,SAASC,cAAc,QAAQ,uBAAoB;AACnD,SAASC,kBAAkB,QAAQ,4BAAyB;AAC5D,SAASC,sBAAsB,QAAQ,uBAAoB;AAE3D,SAASC,eAAe,QAAQ,kBAAe","ignoreList":[]}
@@ -30,7 +30,7 @@
30
30
  * The signature is intentionally identical to those variants so the import site in
31
31
  * `BloomThemeProvider` is platform-agnostic.
32
32
  */
33
- export function applyNativeRootVars(_colorPreset, _mode) {
33
+ export function applyNativeRootVars(_colorPreset, _mode, _accents) {
34
34
  // Intentionally empty — the native variant (`native-root-vars.native.ts`) does
35
35
  // the real work; this neutral default and the web fork are inert.
36
36
  }
@@ -1 +1 @@
1
- {"version":3,"names":["applyNativeRootVars","_colorPreset","_mode"],"sourceRoot":"../../../src","sources":["theme/native-root-vars.ts"],"mappings":";;AAEA;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,OAAO,SAASA,mBAAmBA,CAACC,YAA0B,EAAEC,KAAuB,EAAQ;EAC7F;EACA;AAAA","ignoreList":[]}
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;AACA,OAAO,SAASA,mBAAmBA,CACjCC,YAA0B,EAC1BC,KAAuB,EACvBC,QAA0B,EACpB;EACN;EACA;AAAA","ignoreList":[]}
@@ -121,9 +121,9 @@ import { getResolvedTokens } from "./token-registry.js";
121
121
  * Defensive guard: if a host ships a react-native-css build that doesn't expose
122
122
  * `rootVariables` as a callable (it always does on @3), we bail rather than throw.
123
123
  */
124
- export function applyNativeRootVars(colorPreset, mode) {
124
+ export function applyNativeRootVars(colorPreset, mode, accents) {
125
125
  if (typeof rootVariables !== 'function') return;
126
- const vars = getResolvedTokens(colorPreset, mode);
126
+ const vars = getResolvedTokens(colorPreset, mode, accents);
127
127
  for (const [key, value] of Object.entries(vars)) {
128
128
  // The family is keyed by the bare name; `getResolvedTokens` keys include `--`.
129
129
  const name = key.startsWith('--') ? key.slice(2) : key;
@@ -1 +1 @@
1
- {"version":3,"names":["rootVariables","getResolvedTokens","applyNativeRootVars","colorPreset","mode","vars","key","value","Object","entries","name","startsWith","slice","set"],"sourceRoot":"../../../src","sources":["theme/native-root-vars.native.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,aAAa,QAAQ,kCAAkC;AAGhE,SAASC,iBAAiB,QAAQ,qBAAkB;;AAEpD;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;AACA,OAAO,SAASC,mBAAmBA,CAACC,WAAyB,EAAEC,IAAsB,EAAQ;EAC3F,IAAI,OAAOJ,aAAa,KAAK,UAAU,EAAE;EAEzC,MAAMK,IAAI,GAAGJ,iBAAiB,CAACE,WAAW,EAAEC,IAAI,CAAC;EACjD,KAAK,MAAM,CAACE,GAAG,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACJ,IAAI,CAAC,EAAE;IAC/C;IACA,MAAMK,IAAI,GAAGJ,GAAG,CAACK,UAAU,CAAC,IAAI,CAAC,GAAGL,GAAG,CAACM,KAAK,CAAC,CAAC,CAAC,GAAGN,GAAG;IACtDN,aAAa,CAACU,IAAI,CAAC,CAACG,GAAG,CAAC,CAAC,CAACN,KAAK,CAAC,CAAC,CAAC;EACpC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["rootVariables","getResolvedTokens","applyNativeRootVars","colorPreset","mode","accents","vars","key","value","Object","entries","name","startsWith","slice","set"],"sourceRoot":"../../../src","sources":["theme/native-root-vars.native.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,aAAa,QAAQ,kCAAkC;AAIhE,SAASC,iBAAiB,QAAQ,qBAAkB;;AAEpD;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;AACA,OAAO,SAASC,mBAAmBA,CACjCC,WAAyB,EACzBC,IAAsB,EACtBC,OAAyB,EACnB;EACN,IAAI,OAAOL,aAAa,KAAK,UAAU,EAAE;EAEzC,MAAMM,IAAI,GAAGL,iBAAiB,CAACE,WAAW,EAAEC,IAAI,EAAEC,OAAO,CAAC;EAC1D,KAAK,MAAM,CAACE,GAAG,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACJ,IAAI,CAAC,EAAE;IAC/C;IACA,MAAMK,IAAI,GAAGJ,GAAG,CAACK,UAAU,CAAC,IAAI,CAAC,GAAGL,GAAG,CAACM,KAAK,CAAC,CAAC,CAAC,GAAGN,GAAG;IACtDP,aAAa,CAACW,IAAI,CAAC,CAACG,GAAG,CAAC,CAAC,CAACN,KAAK,CAAC,CAAC,CAAC;EACpC;AACF","ignoreList":[]}
@@ -17,7 +17,7 @@
17
17
  * The signature is intentionally identical to the plain variant so the import
18
18
  * site in `BloomThemeProvider` is platform-agnostic.
19
19
  */
20
- export function applyNativeRootVars(_colorPreset, _mode) {
20
+ export function applyNativeRootVars(_colorPreset, _mode, _accents) {
21
21
  // Intentionally empty — web applies preset vars to `document.documentElement`.
22
22
  }
23
23
  //# 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":";;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,mBAAmBA,CAACC,YAA0B,EAAEC,KAAuB,EAAQ;EAC7F;AAAA","ignoreList":[]}
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;AACA,OAAO,SAASA,mBAAmBA,CACjCC,YAA0B,EAC1BC,KAAuB,EACvBC,QAA0B,EACpB;EACN;AAAA","ignoreList":[]}
@@ -2,6 +2,15 @@
2
2
 
3
3
  import { APP_COLOR_PRESETS } from "./color-presets.js";
4
4
  import { generateRoleColors } from "./color-engine/index.js";
5
+
6
+ /**
7
+ * Optional explicit accent-colour overrides (`#rrggbb`) that PIN the secondary
8
+ * and/or tertiary palette app-wide, regardless of the active preset's own seed.
9
+ * Threaded from `BloomThemeProvider`'s `secondaryColor` / `tertiaryColor` props
10
+ * down through the whole token pipeline. When both are omitted, the preset's own
11
+ * (usually derived) accents are used — output is unchanged.
12
+ */
13
+
5
14
  // Circular at the module graph level (`token-registry` imports `getPresetVars`
6
15
  // from here), but safe: `getResolvedTokens` is only referenced inside the
7
16
  // `applyPresetVarsToDocument` function body — i.e. at call time, after both
@@ -25,12 +34,18 @@ import { getResolvedTokens } from "./token-registry.js";
25
34
  * This is the single source of truth for extended theming vars — consumer apps
26
35
  * must not redefine these per-app.
27
36
  */
28
- export function getPresetVars(colorName, mode) {
37
+ export function getPresetVars(colorName, mode, accents) {
29
38
  const preset = APP_COLOR_PRESETS[colorName];
30
39
  const r = generateRoleColors({
31
40
  seed: preset.hex,
32
41
  variant: preset.variant,
33
- isDark: mode === 'dark'
42
+ isDark: mode === 'dark',
43
+ // Pinned accents: an explicit app-wide override (from the provider) wins,
44
+ // else the preset's own declared accent, else undefined → derived rotation.
45
+ // The built-in presets declare none, so with no override their generated
46
+ // tokens stay byte-identical.
47
+ secondarySeed: accents?.secondaryHex ?? preset.secondaryHex,
48
+ tertiarySeed: accents?.tertiaryHex ?? preset.tertiaryHex
34
49
  });
35
50
  return {
36
51
  // --- base shadcn palette ---
@@ -1 +1 @@
1
- {"version":3,"names":["APP_COLOR_PRESETS","generateRoleColors","getResolvedTokens","getPresetVars","colorName","mode","preset","r","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","root","documentElement","style","key","value","Object","entries","setProperty"],"sourceRoot":"../../../src","sources":["theme/preset-vars.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["APP_COLOR_PRESETS","generateRoleColors","getResolvedTokens","getPresetVars","colorName","mode","accents","preset","r","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","root","documentElement","style","key","value","Object","entries","setProperty"],"sourceRoot":"../../../src","sources":["theme/preset-vars.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAA8C,oBAAiB;AACzF,SAASC,kBAAkB,QAAyB,yBAAgB;;AAEpE;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA,SAASC,iBAAiB,QAAQ,qBAAkB;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAC3BC,SAAuB,EACvBC,IAAsB,EACtBC,OAAyB,EACX;EACd,MAAMC,MAAM,GAAGP,iBAAiB,CAACI,SAAS,CAAC;EAC3C,MAAMI,CAAa,GAAGP,kBAAkB,CAAC;IACvCQ,IAAI,EAAEF,MAAM,CAACG,GAAG;IAChBC,OAAO,EAAEJ,MAAM,CAACI,OAAO;IACvBC,MAAM,EAAEP,IAAI,KAAK,MAAM;IACvB;IACA;IACA;IACA;IACAQ,aAAa,EAAEP,OAAO,EAAEQ,YAAY,IAAIP,MAAM,CAACO,YAAY;IAC3DC,YAAY,EAAET,OAAO,EAAEU,WAAW,IAAIT,MAAM,CAACS;EAC/C,CAAC,CAAC;EAEF,OAAO;IACL;IACA,cAAc,EAAER,CAAC,CAACS,UAAU;IAC5B,cAAc,EAAET,CAAC,CAACU,YAAY;IAC9B,WAAW,EAAEV,CAAC,CAACW,mBAAmB;IAClC,sBAAsB,EAAEX,CAAC,CAACY,SAAS;IACnC,WAAW,EAAEZ,CAAC,CAACa,gBAAgB;IAC/B,sBAAsB,EAAEb,CAAC,CAACY,SAAS;IACnC,WAAW,EAAEZ,CAAC,CAACc,OAAO;IACtB,sBAAsB,EAAEd,CAAC,CAACe,SAAS;IACnC;IACA;IACA,aAAa,EAAEf,CAAC,CAACgB,SAAS;IAC1B,wBAAwB,EAAEhB,CAAC,CAACiB,WAAW;IACvC;IACA;IACA,YAAY,EAAEjB,CAAC,CAACkB,QAAQ;IACxB,uBAAuB,EAAElB,CAAC,CAACmB,UAAU;IACrC,SAAS,EAAEnB,CAAC,CAACoB,oBAAoB;IACjC,oBAAoB,EAAEpB,CAAC,CAACqB,gBAAgB;IACxC,UAAU,EAAErB,CAAC,CAACsB,kBAAkB;IAChC,qBAAqB,EAAEtB,CAAC,CAACuB,oBAAoB;IAC7C,eAAe,EAAEvB,CAAC,CAACwB,KAAK;IACxB,UAAU,EAAExB,CAAC,CAACyB,cAAc;IAC5B,SAAS,EAAEzB,CAAC,CAACyB,cAAc;IAC3B,QAAQ,EAAEzB,CAAC,CAACc,OAAO;IACnB,WAAW,EAAEd,CAAC,CAACW,mBAAmB;IAElC;IACA;IACA;IACA,QAAQ,EAAEX,CAAC,CAAC0B,sBAAsB;IAClC,mBAAmB,EAAE1B,CAAC,CAACY,SAAS;IAChC;IACA,WAAW,EAAEZ,CAAC,CAACc,OAAO;IACtB,WAAW,EAAEd,CAAC,CAACgB,SAAS;IACxB,WAAW,EAAEhB,CAAC,CAACkB,QAAQ;IACvB,WAAW,EAAElB,CAAC,CAAC2B,gBAAgB;IAC/B,WAAW,EAAE3B,CAAC,CAAC4B,iBAAiB;IAChC,gBAAgB,EAAE5B,CAAC,CAACS,UAAU;IAC9B,sBAAsB,EAAET,CAAC,CAACY,SAAS;IACnC,mBAAmB,EAAEZ,CAAC,CAACc,OAAO;IAC9B,8BAA8B,EAAEd,CAAC,CAACe,SAAS;IAC3C,kBAAkB,EAAEf,CAAC,CAACsB,kBAAkB;IACxC,6BAA6B,EAAEtB,CAAC,CAACuB,oBAAoB;IACrD,kBAAkB,EAAEvB,CAAC,CAACyB,cAAc;IACpC,gBAAgB,EAAEzB,CAAC,CAACc;EACtB,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASe,yBAAyBA,CACvCjC,SAAuB,EACvBC,IAAsB,EAChB;EACN;EACA;EACA;EACA;EACA,IAAI,OAAOiC,QAAQ,KAAK,WAAW,EAAE;EAErC,MAAMC,IAAI,GAAGrC,iBAAiB,CAACE,SAAS,EAAEC,IAAI,CAAC;EAC/C,MAAMmC,IAAI,GAAGF,QAAQ,CAACG,eAAe,CAACC,KAAK;EAC3C,KAAK,MAAM,CAACC,GAAG,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACP,IAAI,CAAC,EAAE;IAC/CC,IAAI,CAACO,WAAW,CAACJ,GAAG,EAAEC,KAAK,CAAC;EAC9B;AACF","ignoreList":[]}
@@ -101,8 +101,8 @@ export function hslToSrgb(triple) {
101
101
  * (`__fixtures__/golden-resolved-tokens.json`), guaranteeing the visible palette
102
102
  * matches the previous resolved-color pipeline byte-for-byte.
103
103
  */
104
- export function getResolvedTokens(preset, mode) {
105
- const raw = getPresetVars(preset, mode);
104
+ export function getResolvedTokens(preset, mode, accents) {
105
+ const raw = getPresetVars(preset, mode, accents);
106
106
  const resolved = {};
107
107
  for (const [key, value] of Object.entries(raw)) {
108
108
  resolved[key] = RAW_HSL_TRIPLE.test(value) ? hslToSrgb(value) : value;
@@ -1 +1 @@
1
- {"version":3,"names":["APP_COLOR_NAMES","getPresetVars","CANONICAL_TOKENS","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","resolved","key","value","Object","entries","test"],"sourceRoot":"../../../src","sources":["theme/token-registry.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["APP_COLOR_NAMES","getPresetVars","CANONICAL_TOKENS","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","resolved","key","value","Object","entries","test"],"sourceRoot":"../../../src","sources":["theme/token-registry.ts"],"mappings":"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","ignoreList":[]}
@@ -82,7 +82,21 @@ export interface BloomThemeProviderProps {
82
82
  * vars to `document.documentElement` instead of using a wrapper).
83
83
  */
84
84
  nativeWrapperStyle?: StyleProp<ViewStyle>;
85
+ /**
86
+ * Optional app-wide secondary-accent colour, `#rrggbb`. When set, the whole
87
+ * theme's secondary family (`--secondary`, `bg-secondary`, `colors.secondary`,
88
+ * plus the container / on-colour roles) is PINNED to this brand colour instead
89
+ * of the derived hue-rotation of the active preset's seed — for a brand with a
90
+ * distinct accent (e.g. blue primary + yellow secondary). M3 role tones still
91
+ * apply. Omit to keep the preset's derived accent.
92
+ */
93
+ secondaryColor?: string;
94
+ /**
95
+ * Optional app-wide tertiary-accent colour, `#rrggbb`. Same semantics as
96
+ * {@link BloomThemeProviderProps.secondaryColor} for the tertiary family.
97
+ */
98
+ tertiaryColor?: string;
85
99
  children: React.ReactNode;
86
100
  }
87
- export declare function BloomThemeProvider({ mode: controlledMode, colorPreset: controlledPreset, defaultMode, defaultColorPreset, onModeChange, onColorPresetChange, persistKey, storage, awaitHydration, onHydrating, fonts, onFontsLoading, nativeWrapperStyle, children, }: BloomThemeProviderProps): import("react/jsx-runtime").JSX.Element;
101
+ export declare function BloomThemeProvider({ mode: controlledMode, colorPreset: controlledPreset, defaultMode, defaultColorPreset, onModeChange, onColorPresetChange, persistKey, storage, awaitHydration, onHydrating, fonts, onFontsLoading, nativeWrapperStyle, secondaryColor, tertiaryColor, children, }: BloomThemeProviderProps): import("react/jsx-runtime").JSX.Element;
88
102
  //# sourceMappingURL=BloomThemeProvider.d.ts.map