@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.
Files changed (143) 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 +42 -18
  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.map +1 -1
  16. package/lib/commonjs/theme/color-scope/seed-scope.js +3 -1
  17. package/lib/commonjs/theme/color-scope/seed-scope.js.map +1 -1
  18. package/lib/commonjs/theme/color-scope/style-builder.js +2 -2
  19. package/lib/commonjs/theme/color-scope/style-builder.js.map +1 -1
  20. package/lib/commonjs/theme/index.js.map +1 -1
  21. package/lib/commonjs/theme/native-root-vars.js +1 -1
  22. package/lib/commonjs/theme/native-root-vars.js.map +1 -1
  23. package/lib/commonjs/theme/native-root-vars.native.js +2 -2
  24. package/lib/commonjs/theme/native-root-vars.native.js.map +1 -1
  25. package/lib/commonjs/theme/native-root-vars.web.js +1 -1
  26. package/lib/commonjs/theme/native-root-vars.web.js.map +1 -1
  27. package/lib/commonjs/theme/preset-vars.js +16 -2
  28. package/lib/commonjs/theme/preset-vars.js.map +1 -1
  29. package/lib/commonjs/theme/token-registry.js +2 -2
  30. package/lib/commonjs/theme/token-registry.js.map +1 -1
  31. package/lib/module/theme/BloomThemeProvider.js +18 -7
  32. package/lib/module/theme/BloomThemeProvider.js.map +1 -1
  33. package/lib/module/theme/apply-dark-class.js +2 -2
  34. package/lib/module/theme/apply-dark-class.js.map +1 -1
  35. package/lib/module/theme/build-theme-from-seed.js +18 -5
  36. package/lib/module/theme/build-theme-from-seed.js.map +1 -1
  37. package/lib/module/theme/build-theme.js +9 -6
  38. package/lib/module/theme/build-theme.js.map +1 -1
  39. package/lib/module/theme/color-engine/index.js +8 -1
  40. package/lib/module/theme/color-engine/index.js.map +1 -1
  41. package/lib/module/theme/color-engine/scheme-variants.js +43 -18
  42. package/lib/module/theme/color-engine/scheme-variants.js.map +1 -1
  43. package/lib/module/theme/color-engine/seed-from-image.js +11 -1
  44. package/lib/module/theme/color-engine/seed-from-image.js.map +1 -1
  45. package/lib/module/theme/color-presets.js.map +1 -1
  46. package/lib/module/theme/color-scope/seed-scope.js +3 -1
  47. package/lib/module/theme/color-scope/seed-scope.js.map +1 -1
  48. package/lib/module/theme/color-scope/style-builder.js +2 -2
  49. package/lib/module/theme/color-scope/style-builder.js.map +1 -1
  50. package/lib/module/theme/index.js.map +1 -1
  51. package/lib/module/theme/native-root-vars.js +1 -1
  52. package/lib/module/theme/native-root-vars.js.map +1 -1
  53. package/lib/module/theme/native-root-vars.native.js +2 -2
  54. package/lib/module/theme/native-root-vars.native.js.map +1 -1
  55. package/lib/module/theme/native-root-vars.web.js +1 -1
  56. package/lib/module/theme/native-root-vars.web.js.map +1 -1
  57. package/lib/module/theme/preset-vars.js +17 -2
  58. package/lib/module/theme/preset-vars.js.map +1 -1
  59. package/lib/module/theme/token-registry.js +2 -2
  60. package/lib/module/theme/token-registry.js.map +1 -1
  61. package/lib/typescript/commonjs/theme/BloomThemeProvider.d.ts +15 -1
  62. package/lib/typescript/commonjs/theme/BloomThemeProvider.d.ts.map +1 -1
  63. package/lib/typescript/commonjs/theme/apply-dark-class.d.ts +2 -1
  64. package/lib/typescript/commonjs/theme/apply-dark-class.d.ts.map +1 -1
  65. package/lib/typescript/commonjs/theme/build-theme-from-seed.d.ts +13 -2
  66. package/lib/typescript/commonjs/theme/build-theme-from-seed.d.ts.map +1 -1
  67. package/lib/typescript/commonjs/theme/build-theme.d.ts +2 -1
  68. package/lib/typescript/commonjs/theme/build-theme.d.ts.map +1 -1
  69. package/lib/typescript/commonjs/theme/color-engine/index.d.ts +17 -1
  70. package/lib/typescript/commonjs/theme/color-engine/index.d.ts.map +1 -1
  71. package/lib/typescript/commonjs/theme/color-engine/scheme-variants.d.ts +25 -7
  72. package/lib/typescript/commonjs/theme/color-engine/scheme-variants.d.ts.map +1 -1
  73. package/lib/typescript/commonjs/theme/color-engine/seed-from-image.d.ts +11 -1
  74. package/lib/typescript/commonjs/theme/color-engine/seed-from-image.d.ts.map +1 -1
  75. package/lib/typescript/commonjs/theme/color-presets.d.ts +14 -0
  76. package/lib/typescript/commonjs/theme/color-presets.d.ts.map +1 -1
  77. package/lib/typescript/commonjs/theme/color-scope/seed-scope.d.ts +12 -0
  78. package/lib/typescript/commonjs/theme/color-scope/seed-scope.d.ts.map +1 -1
  79. package/lib/typescript/commonjs/theme/color-scope/style-builder.d.ts +2 -1
  80. package/lib/typescript/commonjs/theme/color-scope/style-builder.d.ts.map +1 -1
  81. package/lib/typescript/commonjs/theme/index.d.ts +3 -1
  82. package/lib/typescript/commonjs/theme/index.d.ts.map +1 -1
  83. package/lib/typescript/commonjs/theme/native-root-vars.d.ts +2 -1
  84. package/lib/typescript/commonjs/theme/native-root-vars.d.ts.map +1 -1
  85. package/lib/typescript/commonjs/theme/native-root-vars.native.d.ts +2 -1
  86. package/lib/typescript/commonjs/theme/native-root-vars.native.d.ts.map +1 -1
  87. package/lib/typescript/commonjs/theme/native-root-vars.web.d.ts +2 -1
  88. package/lib/typescript/commonjs/theme/native-root-vars.web.d.ts.map +1 -1
  89. package/lib/typescript/commonjs/theme/preset-vars.d.ts +12 -1
  90. package/lib/typescript/commonjs/theme/preset-vars.d.ts.map +1 -1
  91. package/lib/typescript/commonjs/theme/token-registry.d.ts +2 -1
  92. package/lib/typescript/commonjs/theme/token-registry.d.ts.map +1 -1
  93. package/lib/typescript/module/theme/BloomThemeProvider.d.ts +15 -1
  94. package/lib/typescript/module/theme/BloomThemeProvider.d.ts.map +1 -1
  95. package/lib/typescript/module/theme/apply-dark-class.d.ts +2 -1
  96. package/lib/typescript/module/theme/apply-dark-class.d.ts.map +1 -1
  97. package/lib/typescript/module/theme/build-theme-from-seed.d.ts +13 -2
  98. package/lib/typescript/module/theme/build-theme-from-seed.d.ts.map +1 -1
  99. package/lib/typescript/module/theme/build-theme.d.ts +2 -1
  100. package/lib/typescript/module/theme/build-theme.d.ts.map +1 -1
  101. package/lib/typescript/module/theme/color-engine/index.d.ts +17 -1
  102. package/lib/typescript/module/theme/color-engine/index.d.ts.map +1 -1
  103. package/lib/typescript/module/theme/color-engine/scheme-variants.d.ts +25 -7
  104. package/lib/typescript/module/theme/color-engine/scheme-variants.d.ts.map +1 -1
  105. package/lib/typescript/module/theme/color-engine/seed-from-image.d.ts +11 -1
  106. package/lib/typescript/module/theme/color-engine/seed-from-image.d.ts.map +1 -1
  107. package/lib/typescript/module/theme/color-presets.d.ts +14 -0
  108. package/lib/typescript/module/theme/color-presets.d.ts.map +1 -1
  109. package/lib/typescript/module/theme/color-scope/seed-scope.d.ts +12 -0
  110. package/lib/typescript/module/theme/color-scope/seed-scope.d.ts.map +1 -1
  111. package/lib/typescript/module/theme/color-scope/style-builder.d.ts +2 -1
  112. package/lib/typescript/module/theme/color-scope/style-builder.d.ts.map +1 -1
  113. package/lib/typescript/module/theme/index.d.ts +3 -1
  114. package/lib/typescript/module/theme/index.d.ts.map +1 -1
  115. package/lib/typescript/module/theme/native-root-vars.d.ts +2 -1
  116. package/lib/typescript/module/theme/native-root-vars.d.ts.map +1 -1
  117. package/lib/typescript/module/theme/native-root-vars.native.d.ts +2 -1
  118. package/lib/typescript/module/theme/native-root-vars.native.d.ts.map +1 -1
  119. package/lib/typescript/module/theme/native-root-vars.web.d.ts +2 -1
  120. package/lib/typescript/module/theme/native-root-vars.web.d.ts.map +1 -1
  121. package/lib/typescript/module/theme/preset-vars.d.ts +12 -1
  122. package/lib/typescript/module/theme/preset-vars.d.ts.map +1 -1
  123. package/lib/typescript/module/theme/token-registry.d.ts +2 -1
  124. package/lib/typescript/module/theme/token-registry.d.ts.map +1 -1
  125. package/package.json +1 -1
  126. package/src/__tests__/theme.test.ts +3 -0
  127. package/src/theme/BloomThemeProvider.tsx +38 -8
  128. package/src/theme/__tests__/explicit-accents.test.ts +129 -0
  129. package/src/theme/apply-dark-class.ts +7 -2
  130. package/src/theme/build-theme-from-seed.ts +25 -2
  131. package/src/theme/build-theme.ts +9 -3
  132. package/src/theme/color-engine/index.ts +27 -1
  133. package/src/theme/color-engine/scheme-variants.ts +108 -30
  134. package/src/theme/color-engine/seed-from-image.ts +11 -1
  135. package/src/theme/color-presets.ts +14 -0
  136. package/src/theme/color-scope/seed-scope.ts +14 -0
  137. package/src/theme/color-scope/style-builder.ts +3 -1
  138. package/src/theme/index.ts +3 -1
  139. package/src/theme/native-root-vars.native.ts +7 -2
  140. package/src/theme/native-root-vars.ts +6 -1
  141. package/src/theme/native-root-vars.web.ts +6 -1
  142. package/src/theme/preset-vars.ts +19 -0
  143. package/src/theme/token-registry.ts +3 -2
@@ -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,15 +40,15 @@ 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
  });
@@ -44,58 +63,58 @@ export function schemeVibrant(source, isDark, contrastLevel) {
44
63
  * old hand-authored palette felt more vivid than pure M3, and this restores that
45
64
  * across the whole primary/secondary/tertiary trio.
46
65
  */
47
- export function schemeVivid(source, isDark, contrastLevel) {
66
+ export function schemeVivid(source, isDark, contrastLevel, accents = {}) {
48
67
  return new DynamicScheme({
49
68
  sourceColorArgb: source.toInt(),
50
69
  variant: Variant.VIBRANT,
51
70
  contrastLevel,
52
71
  isDark,
53
72
  primaryPalette: TonalPalette.fromHueAndChroma(source.hue, 200.0),
54
- secondaryPalette: TonalPalette.fromHueAndChroma(DynamicScheme.getRotatedHue(source, VIBRANT_HUES, VIBRANT_SECONDARY_ROTATIONS), 64.0),
55
- tertiaryPalette: TonalPalette.fromHueAndChroma(DynamicScheme.getRotatedHue(source, VIBRANT_HUES, VIBRANT_TERTIARY_ROTATIONS), 72.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)),
56
75
  neutralPalette: TonalPalette.fromHueAndChroma(source.hue, 10.0),
57
76
  neutralVariantPalette: TonalPalette.fromHueAndChroma(source.hue, 12.0)
58
77
  });
59
78
  }
60
- export function schemeExpressive(source, isDark, contrastLevel) {
79
+ export function schemeExpressive(source, isDark, contrastLevel, accents = {}) {
61
80
  return new DynamicScheme({
62
81
  sourceColorArgb: source.toInt(),
63
82
  variant: Variant.EXPRESSIVE,
64
83
  contrastLevel,
65
84
  isDark,
66
85
  primaryPalette: TonalPalette.fromHueAndChroma(sanitizeDegreesDouble(source.hue + 240.0), 40.0),
67
- secondaryPalette: TonalPalette.fromHueAndChroma(DynamicScheme.getRotatedHue(source, EXPRESSIVE_HUES, EXPRESSIVE_SECONDARY_ROTATIONS), 24.0),
68
- 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)),
69
88
  neutralPalette: TonalPalette.fromHueAndChroma(source.hue + 15, 8.0),
70
89
  neutralVariantPalette: TonalPalette.fromHueAndChroma(source.hue + 15, 12.0)
71
90
  });
72
91
  }
73
92
 
74
93
  /** The Material You default — a calm, balanced treatment of the seed. */
75
- export function schemeTonalSpot(source, isDark, contrastLevel) {
94
+ export function schemeTonalSpot(source, isDark, contrastLevel, accents = {}) {
76
95
  return new DynamicScheme({
77
96
  sourceColorArgb: source.toInt(),
78
97
  variant: Variant.TONAL_SPOT,
79
98
  contrastLevel,
80
99
  isDark,
81
100
  primaryPalette: TonalPalette.fromHueAndChroma(source.hue, 36.0),
82
- secondaryPalette: TonalPalette.fromHueAndChroma(source.hue, 16.0),
83
- 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)),
84
103
  neutralPalette: TonalPalette.fromHueAndChroma(source.hue, 6.0),
85
104
  neutralVariantPalette: TonalPalette.fromHueAndChroma(source.hue, 8.0)
86
105
  });
87
106
  }
88
107
 
89
108
  /** Near-greyscale — the seed hue is present only as a whisper. */
90
- export function schemeNeutral(source, isDark, contrastLevel) {
109
+ export function schemeNeutral(source, isDark, contrastLevel, accents = {}) {
91
110
  return new DynamicScheme({
92
111
  sourceColorArgb: source.toInt(),
93
112
  variant: Variant.NEUTRAL,
94
113
  contrastLevel,
95
114
  isDark,
96
115
  primaryPalette: TonalPalette.fromHueAndChroma(source.hue, 12.0),
97
- secondaryPalette: TonalPalette.fromHueAndChroma(source.hue, 8.0),
98
- 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)),
99
118
  neutralPalette: TonalPalette.fromHueAndChroma(source.hue, 2.0),
100
119
  neutralVariantPalette: TonalPalette.fromHueAndChroma(source.hue, 2.0)
101
120
  });
@@ -108,8 +127,14 @@ const BUILDERS = {
108
127
  neutral: schemeNeutral
109
128
  };
110
129
 
111
- /** Build a scheme by variant name. */
112
- export function buildScheme(variant, source, isDark, contrastLevel = 0) {
113
- 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);
114
139
  }
115
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","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":[]}
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":[]}
@@ -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;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":[]}
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":[]}
@@ -79,7 +79,9 @@ export function buildSeedScopeVars(options) {
79
79
  seed: options.seed,
80
80
  variant: options.variant ?? 'vivid',
81
81
  isDark: options.mode === 'dark',
82
- contrastLevel: options.contrastLevel ?? 0
82
+ contrastLevel: options.contrastLevel ?? 0,
83
+ secondarySeed: options.secondarySeed,
84
+ tertiarySeed: options.tertiarySeed
83
85
  });
84
86
  const tokens = roleColorsToPresetTokens(roles);
85
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","variant","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":";;AAAA,SAASA,iBAAiB,QAA8C,oBAAiB;AACzF,SAASC,kBAAkB,QAAyB,yBAAgB;AACpE;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,EACR;EACd,MAAMC,MAAM,GAAGN,iBAAiB,CAACI,SAAS,CAAC;EAC3C,MAAMG,CAAa,GAAGN,kBAAkB,CAAC;IACvCO,IAAI,EAAEF,MAAM,CAACG,GAAG;IAChBC,OAAO,EAAEJ,MAAM,CAACI,OAAO;IACvBC,MAAM,EAAEN,IAAI,KAAK;EACnB,CAAC,CAAC;EAEF,OAAO;IACL;IACA,cAAc,EAAEE,CAAC,CAACK,UAAU;IAC5B,cAAc,EAAEL,CAAC,CAACM,YAAY;IAC9B,WAAW,EAAEN,CAAC,CAACO,mBAAmB;IAClC,sBAAsB,EAAEP,CAAC,CAACQ,SAAS;IACnC,WAAW,EAAER,CAAC,CAACS,gBAAgB;IAC/B,sBAAsB,EAAET,CAAC,CAACQ,SAAS;IACnC,WAAW,EAAER,CAAC,CAACU,OAAO;IACtB,sBAAsB,EAAEV,CAAC,CAACW,SAAS;IACnC;IACA;IACA,aAAa,EAAEX,CAAC,CAACY,SAAS;IAC1B,wBAAwB,EAAEZ,CAAC,CAACa,WAAW;IACvC;IACA;IACA,YAAY,EAAEb,CAAC,CAACc,QAAQ;IACxB,uBAAuB,EAAEd,CAAC,CAACe,UAAU;IACrC,SAAS,EAAEf,CAAC,CAACgB,oBAAoB;IACjC,oBAAoB,EAAEhB,CAAC,CAACiB,gBAAgB;IACxC,UAAU,EAAEjB,CAAC,CAACkB,kBAAkB;IAChC,qBAAqB,EAAElB,CAAC,CAACmB,oBAAoB;IAC7C,eAAe,EAAEnB,CAAC,CAACoB,KAAK;IACxB,UAAU,EAAEpB,CAAC,CAACqB,cAAc;IAC5B,SAAS,EAAErB,CAAC,CAACqB,cAAc;IAC3B,QAAQ,EAAErB,CAAC,CAACU,OAAO;IACnB,WAAW,EAAEV,CAAC,CAACO,mBAAmB;IAElC;IACA;IACA;IACA,QAAQ,EAAEP,CAAC,CAACsB,sBAAsB;IAClC,mBAAmB,EAAEtB,CAAC,CAACQ,SAAS;IAChC;IACA,WAAW,EAAER,CAAC,CAACU,OAAO;IACtB,WAAW,EAAEV,CAAC,CAACY,SAAS;IACxB,WAAW,EAAEZ,CAAC,CAACc,QAAQ;IACvB,WAAW,EAAEd,CAAC,CAACuB,gBAAgB;IAC/B,WAAW,EAAEvB,CAAC,CAACwB,iBAAiB;IAChC,gBAAgB,EAAExB,CAAC,CAACK,UAAU;IAC9B,sBAAsB,EAAEL,CAAC,CAACQ,SAAS;IACnC,mBAAmB,EAAER,CAAC,CAACU,OAAO;IAC9B,8BAA8B,EAAEV,CAAC,CAACW,SAAS;IAC3C,kBAAkB,EAAEX,CAAC,CAACkB,kBAAkB;IACxC,6BAA6B,EAAElB,CAAC,CAACmB,oBAAoB;IACrD,kBAAkB,EAAEnB,CAAC,CAACqB,cAAc;IACpC,gBAAgB,EAAErB,CAAC,CAACU;EACtB,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASe,yBAAyBA,CACvC5B,SAAuB,EACvBC,IAAsB,EAChB;EACN;EACA;EACA;EACA;EACA,IAAI,OAAO4B,QAAQ,KAAK,WAAW,EAAE;EAErC,MAAMC,IAAI,GAAGhC,iBAAiB,CAACE,SAAS,EAAEC,IAAI,CAAC;EAC/C,MAAM8B,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":[]}
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":"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","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
@@ -1 +1 @@
1
- {"version":3,"file":"BloomThemeProvider.d.ts","sourceRoot":"","sources":["../../../../src/theme/BloomThemeProvider.tsx"],"names":[],"mappings":"AAIA,OAAO,oBAAoB,CAAC;AAE5B,OAAO,KAQN,MAAM,OAAO,CAAC;AACf,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAOtB,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpD,OAAO,EAKL,KAAK,iBAAiB,EAEvB,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAKhD,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,EAAE,YAAY,CAAC;IAC1B,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACnC,cAAc,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IAC/C;;;;OAIG;IACH,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,6BAA6B,EAC7B,KAAK,CAAC,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,GAC5C,SAAS,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAEpB,CAAC;AAExD,MAAM,WAAW,uBAAuB;IACtC,uFAAuF;IACvF,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,mEAAmE;IACnE,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,mEAAmE;IACnE,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,2EAA2E;IAC3E,kBAAkB,CAAC,EAAE,YAAY,CAAC;IAElC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACzC,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IAErD;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iDAAiD;IACjD,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE9B,2DAA2D;IAC3D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wDAAwD;IACxD,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEjC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAE1C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAkJD,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EAAE,cAAc,EACpB,WAAW,EAAE,gBAAgB,EAC7B,WAA0B,EAC1B,kBAAmC,EACnC,YAAY,EACZ,mBAAmB,EACnB,UAAU,EACV,OAAO,EACP,cAAc,EACd,WAAW,EACX,KAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,QAAQ,GACT,EAAE,uBAAuB,2CAwFzB"}
1
+ {"version":3,"file":"BloomThemeProvider.d.ts","sourceRoot":"","sources":["../../../../src/theme/BloomThemeProvider.tsx"],"names":[],"mappings":"AAIA,OAAO,oBAAoB,CAAC;AAE5B,OAAO,KAQN,MAAM,OAAO,CAAC;AACf,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAOtB,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpD,OAAO,EAKL,KAAK,iBAAiB,EAEvB,MAAM,eAAe,CAAC;AAIvB,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAKhD,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,EAAE,YAAY,CAAC;IAC1B,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACnC,cAAc,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IAC/C;;;;OAIG;IACH,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,6BAA6B,EAC7B,KAAK,CAAC,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,GAC5C,SAAS,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAEpB,CAAC;AAExD,MAAM,WAAW,uBAAuB;IACtC,uFAAuF;IACvF,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,mEAAmE;IACnE,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,mEAAmE;IACnE,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,2EAA2E;IAC3E,kBAAkB,CAAC,EAAE,YAAY,CAAC;IAElC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACzC,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IAErD;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iDAAiD;IACjD,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE9B,2DAA2D;IAC3D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wDAAwD;IACxD,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEjC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAE1C;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAkJD,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EAAE,cAAc,EACpB,WAAW,EAAE,gBAAgB,EAC7B,WAA0B,EAC1B,kBAAmC,EACnC,YAAY,EACZ,mBAAmB,EACnB,UAAU,EACV,OAAO,EACP,cAAc,EACd,WAAW,EACX,KAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,QAAQ,GACT,EAAE,uBAAuB,2CAoGzB"}
@@ -1,4 +1,5 @@
1
1
  import { type AppColorName } from './color-presets';
2
+ import type { ExplicitAccents } from './preset-vars';
2
3
  export declare function applyDarkClass(resolved: 'light' | 'dark'): void;
3
4
  /**
4
5
  * Apply a color preset's CSS custom properties to the document root.
@@ -17,5 +18,5 @@ export declare function applyDarkClass(resolved: 'light' | 'dark'): void;
17
18
  * Includes extended tokens (card, chart-*, content-area, sidebar-*) so consumer
18
19
  * apps don't need to synthesize them.
19
20
  */
20
- export declare function applyColorPresetVars(preset: AppColorName, resolved: 'light' | 'dark'): void;
21
+ export declare function applyColorPresetVars(preset: AppColorName, resolved: 'light' | 'dark', accents?: ExplicitAccents): void;
21
22
  //# sourceMappingURL=apply-dark-class.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"apply-dark-class.d.ts","sourceRoot":"","sources":["../../../../src/theme/apply-dark-class.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGvE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,QAIxD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,QAUpF"}
1
+ {"version":3,"file":"apply-dark-class.d.ts","sourceRoot":"","sources":["../../../../src/theme/apply-dark-class.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGrD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,QAIxD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,OAAO,GAAG,MAAM,EAC1B,OAAO,CAAC,EAAE,eAAe,QAW1B"}
@@ -1,5 +1,16 @@
1
1
  import { type SchemeVariant } from './color-engine';
2
2
  import type { Theme, ThemeColors } from './types';
3
+ /**
4
+ * Optional explicit accent seeds for the arbitrary-seed theme path. Pinning a
5
+ * `secondarySeed` / `tertiarySeed` (`#rrggbb`) forces that accent family to the
6
+ * given brand colour instead of the derived hue-rotation — mirroring
7
+ * {@link GenerateOptions.secondarySeed}. For an artwork-derived theme, pass the
8
+ * ranked `seedsFromImagePixels` results (`seeds[1]` / `seeds[2]`).
9
+ */
10
+ export interface SeedAccents {
11
+ secondarySeed?: string;
12
+ tertiarySeed?: string;
13
+ }
3
14
  /**
4
15
  * Build the JS `theme.colors` object from an ARBITRARY seed colour — the dynamic
5
16
  * counterpart of `buildTheme(preset, …)`.
@@ -13,11 +24,11 @@ import type { Theme, ThemeColors } from './types';
13
24
  * family (primarySubtle / negative / …) reads the engine's container/error roles
14
25
  * directly — identical to the preset path.
15
26
  */
16
- export declare function buildColorsFromSeed(seed: string, resolved: 'light' | 'dark', variant?: SchemeVariant, contrastLevel?: number): ThemeColors;
27
+ export declare function buildColorsFromSeed(seed: string, resolved: 'light' | 'dark', variant?: SchemeVariant, contrastLevel?: number, accents?: SeedAccents): ThemeColors;
17
28
  /**
18
29
  * Build a full `Theme` from a seed colour and a resolved light/dark mode. Unlike
19
30
  * `buildTheme`, there is no adaptive (Material You / iOS dynamic) override — a
20
31
  * seed IS the dynamic source here.
21
32
  */
22
- export declare function buildThemeFromSeed(seed: string, resolved: 'light' | 'dark', variant?: SchemeVariant, contrastLevel?: number): Theme;
33
+ export declare function buildThemeFromSeed(seed: string, resolved: 'light' | 'dark', variant?: SchemeVariant, contrastLevel?: number, accents?: SeedAccents): Theme;
23
34
  //# sourceMappingURL=build-theme-from-seed.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"build-theme-from-seed.d.ts","sourceRoot":"","sources":["../../../../src/theme/build-theme-from-seed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAIzF,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAElD;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,OAAO,GAAG,MAAM,EAC1B,OAAO,CAAC,EAAE,aAAa,EACvB,aAAa,CAAC,EAAE,MAAM,GACrB,WAAW,CAsDb;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,OAAO,GAAG,MAAM,EAC1B,OAAO,CAAC,EAAE,aAAa,EACvB,aAAa,CAAC,EAAE,MAAM,GACrB,KAAK,CAQP"}
1
+ {"version":3,"file":"build-theme-from-seed.d.ts","sourceRoot":"","sources":["../../../../src/theme/build-theme-from-seed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAIzF,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,OAAO,GAAG,MAAM,EAC1B,OAAO,CAAC,EAAE,aAAa,EACvB,aAAa,CAAC,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,WAAW,GACpB,WAAW,CA+Db;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,OAAO,GAAG,MAAM,EAC1B,OAAO,CAAC,EAAE,aAAa,EACvB,aAAa,CAAC,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,WAAW,GACpB,KAAK,CAQP"}
@@ -1,4 +1,5 @@
1
1
  import { type AppColorName } from './color-presets';
2
+ import type { ExplicitAccents } from './preset-vars';
2
3
  import type { Theme } from './types';
3
4
  /**
4
5
  * Status colors used across the design system. Independent of the accent
@@ -16,5 +17,5 @@ export declare const STATUS_COLORS: {
16
17
  * When `isAdaptive` is true and the platform exposes adaptive (Material You /
17
18
  * iOS dynamic) colors, those override the preset-derived palette.
18
19
  */
19
- export declare function buildTheme(preset: AppColorName, resolved: 'light' | 'dark', isAdaptive?: boolean): Theme;
20
+ export declare function buildTheme(preset: AppColorName, resolved: 'light' | 'dark', isAdaptive?: boolean, accents?: ExplicitAccents): Theme;
20
21
  //# sourceMappingURL=build-theme.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"build-theme.d.ts","sourceRoot":"","sources":["../../../../src/theme/build-theme.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAKvE,OAAO,KAAK,EAAE,KAAK,EAAe,MAAM,SAAS,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;;CAKhB,CAAC;AAgFX;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,OAAO,GAAG,MAAM,EAC1B,UAAU,GAAE,OAAe,GAC1B,KAAK,CAWP"}
1
+ {"version":3,"file":"build-theme.d.ts","sourceRoot":"","sources":["../../../../src/theme/build-theme.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAIrD,OAAO,KAAK,EAAE,KAAK,EAAe,MAAM,SAAS,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;;CAKhB,CAAC;AAoFX;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,OAAO,GAAG,MAAM,EAC1B,UAAU,GAAE,OAAe,EAC3B,OAAO,CAAC,EAAE,eAAe,GACxB,KAAK,CAWP"}
@@ -11,7 +11,7 @@ export { Hct } from './hct';
11
11
  export { TonalPalette } from './tonal-palette';
12
12
  export { DynamicScheme } from './dynamic-scheme';
13
13
  export { buildScheme, schemeVibrant, schemeExpressive, schemeTonalSpot, schemeNeutral } from './scheme-variants';
14
- export type { SchemeVariant } from './scheme-variants';
14
+ export type { SchemeVariant, AccentSources } from './scheme-variants';
15
15
  export { Roles } from './color-roles';
16
16
  export type { RoleName } from './color-roles';
17
17
  export { ColorRole } from './color-role';
@@ -35,10 +35,26 @@ export interface GenerateOptions {
35
35
  isDark?: boolean;
36
36
  /** −1 (low) … 0 (normal) … 1 (high). */
37
37
  contrastLevel?: number;
38
+ /**
39
+ * Optional explicit secondary-accent seed, `#rrggbb`. When set, the secondary
40
+ * palette is pinned to THIS colour's hue + chroma (M3 role tones still apply)
41
+ * instead of the variant's derived hue-rotation of the primary seed. Omit for
42
+ * the current derived behaviour.
43
+ */
44
+ secondarySeed?: string;
45
+ /**
46
+ * Optional explicit tertiary-accent seed, `#rrggbb`. Same semantics as
47
+ * {@link GenerateOptions.secondarySeed} for the tertiary palette.
48
+ */
49
+ tertiarySeed?: string;
38
50
  }
39
51
  /**
40
52
  * Generate the full role set from ANY seed colour — the dynamic-theming entry
41
53
  * point. Presets are just fixed seeds; a user-picked colour works identically.
54
+ *
55
+ * `secondarySeed` / `tertiarySeed` optionally PIN those accent families to real
56
+ * brand colours (e.g. a blue-primary brand with a yellow secondary); omitted, the
57
+ * accents are derived as the variant's hue-rotations — byte-identical to before.
42
58
  */
43
59
  export declare function generateRoleColors(opts: GenerateOptions): RoleColors;
44
60
  //# sourceMappingURL=index.d.ts.map