@oxyhq/bloom 0.81.0 → 0.82.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.
@@ -86,10 +86,31 @@ const foregroundFor = argb => contrastOf(argb, true) >= AA ? 'rgb(255 255 255)'
86
86
  const noLegibleForeground = argb => contrastOf(argb, true) < AA && contrastOf(argb, false) < AA;
87
87
 
88
88
  /** The tone a white-label fill sits at in LIGHT mode. */
89
- const LIGHT_FILL_TONE = 45;
89
+ const FILL_TONE_FLOOR = 45;
90
90
 
91
91
  /** The tone a white-label fill sits at in DARK: the ceiling white text allows. */
92
- const DARK_FILL_TONE = 49;
92
+ const FILL_TONE_SEARCH_CEILING = 56;
93
+
94
+ /**
95
+ * How much DEEPER the same brand sits on a light page than on a dark one.
96
+ *
97
+ * Not decoration: a colour on a near-white page has nothing to read against, so
98
+ * the mode difference is what makes a theme a theme rather than one palette shown
99
+ * twice. Dropping it is a regression that looks like a simplification — light and
100
+ * dark collapse onto the same fill for every seed that is not already bright, and
101
+ * the two modes stop being distinguishable at all.
102
+ */
103
+ const LIGHT_DEPTH_STEP = 5;
104
+
105
+ /**
106
+ * How deep a light-mode fill may go. Deliberately BELOW the search's lower bound,
107
+ * which those two used to share — and sharing them silently voided the depth step
108
+ * for any seed whose dark fill already sits at that bound. A high-chroma seed is
109
+ * exactly that case: pink loses its white label above tone 45, so dark cannot rise
110
+ * to make room and light must descend instead, or the two modes render the
111
+ * identical fill.
112
+ */
113
+ const LIGHT_FILL_FLOOR = 40;
93
114
 
94
115
  /** How far a fill may be dragged from its natural tone before the colour is lost. */
95
116
  const TONE_BUDGET = 25;
@@ -230,6 +251,47 @@ function vividHueNear(hue) {
230
251
  return bestChroma - baseChroma >= VIVID_SNAP_MIN_GAIN ? bestHue : hue;
231
252
  }
232
253
 
254
+ /**
255
+ * The most vivid tone a palette reaches while a WHITE label still clears AA on
256
+ * it — searched per HUE instead of assumed.
257
+ *
258
+ * A single tone for every hue leaves chroma on the table for some and takes it
259
+ * from others, because the sRGB gamut is not a cylinder: from tone 45 upward an
260
+ * orange keeps gaining chroma until white runs out at ~49.5 (59 -> 84), while a
261
+ * violet has already passed its peak and LOSES chroma over the same interval
262
+ * (91 -> 86). The old flat 45 spent none of the contrast headroom it had — every
263
+ * preset sat at 5.38 when 4.5 was the requirement — and orange paid for that
264
+ * twice, since its hue is also one of the gamut's narrow ones.
265
+ *
266
+ * The floor is what keeps this from trading lightness for chroma: a hue that
267
+ * peaks far below 45 stays at 45 rather than descending into a near-black slab
268
+ * that happens to be saturated. So the search can only ever improve a fill or
269
+ * leave it exactly where it was.
270
+ *
271
+ * Contrast is measured on the QUANTIZED colour, not the engine's continuous
272
+ * tone-ratio: an earlier iteration chose tones by the latter and shipped 135
273
+ * pairs at a measured 4.49.
274
+ */
275
+ function vividLegibleTone(palette) {
276
+ let bestTone = FILL_TONE_FLOOR;
277
+ let bestChroma = -1;
278
+ for (let tone = FILL_TONE_FLOOR; tone <= FILL_TONE_SEARCH_CEILING; tone += 0.5) {
279
+ const argb = palette.tone(tone);
280
+ if (contrastOf(argb, true) < AA) continue;
281
+ const chroma = _hct.Hct.fromInt(argb).chroma;
282
+ // A tie keeps the DEEPEST tone. Ties are common rather than exotic — any seed
283
+ // whose chroma sits below the gamut ceiling across this whole range has a flat
284
+ // curve here — and breaking them toward the lightest end instead changes no
285
+ // preset's output, because the light-mode floor below already supplies the
286
+ // separation that would have bought. Mutation-checked, not assumed.
287
+ if (chroma > bestChroma) {
288
+ bestChroma = chroma;
289
+ bestTone = tone;
290
+ }
291
+ }
292
+ return bestTone;
293
+ }
294
+
233
295
  /**
234
296
  * The tone a BRAND fill sits at.
235
297
  *
@@ -248,11 +310,11 @@ function whiteLabelTone(palette, seedTone, isDark) {
248
310
  // smear there, indistinguishable from the same colour in dark, which is not a
249
311
  // theme at all. Coming down is what makes faircoin a deep green in light and a
250
312
  // bright lime in dark.
251
- if (!isDark) return LIGHT_FILL_TONE;
313
+ if (!isDark) return Math.max(LIGHT_FILL_FLOOR, vividLegibleTone(palette) - LIGHT_DEPTH_STEP);
252
314
  // DARK: the budget applies. Most brands come down to where white fits, but a
253
315
  // seed that is already light cannot without ceasing to be itself, so it keeps
254
316
  // its own tone and takes a black label. That is the eleven-and-two pattern.
255
- const candidate = Math.max(DARK_FILL_TONE, seedTone - TONE_BUDGET);
317
+ const candidate = Math.max(vividLegibleTone(palette), seedTone - TONE_BUDGET);
256
318
  return contrastOf(palette.tone(candidate), true) >= AA ? candidate : Math.max(seedTone, DARK_SEED_FLOOR);
257
319
  }
258
320
 
@@ -263,10 +325,10 @@ function whiteLabelTone(palette, seedTone, isDark) {
263
325
  * peaks dark comes down and carries white.
264
326
  */
265
327
  function accentTone(hue, isDark) {
266
- if (!isDark) return LIGHT_FILL_TONE;
267
- const peak = Math.max(peakTone(hue), DARK_ACCENT_FLOOR);
268
328
  const palette = _tonalPalette.TonalPalette.fromHueAndChroma(hue, ACCENT_CHROMA);
269
- const candidate = Math.max(DARK_FILL_TONE, peak - TONE_BUDGET);
329
+ if (!isDark) return Math.max(LIGHT_FILL_FLOOR, vividLegibleTone(palette) - LIGHT_DEPTH_STEP);
330
+ const peak = Math.max(peakTone(hue), DARK_ACCENT_FLOOR);
331
+ const candidate = Math.max(vividLegibleTone(palette), peak - TONE_BUDGET);
270
332
  return contrastOf(palette.tone(candidate), true) >= AA ? candidate : peak;
271
333
  }
272
334
 
@@ -333,13 +395,17 @@ function buildPolicyTokens(seedHex, isDark, roles, pinned = {}) {
333
395
  // dark fill sit at the seed's own tone instead makes it brighter, but every one
334
396
  // of those labels turns black, which costs more than the brightness buys.
335
397
  const monochrome = seed.chroma <= MONOCHROME_MAX_CHROMA;
336
- // DARK keys off the seed itself so the fill IS the brand hex; LIGHT uses the
337
- // max-chroma palette, which is what stops a deepened fill from going pastel.
398
+ // BOTH modes key off the seed itself, so the fill carries the brand's SATURATION
399
+ // as well as its hue. Light used to force the hue to maximum chroma, which reads
400
+ // as "the seed only chose a hue" — and that silently renames a colour: a muted
401
+ // blue-grey seed resolved to a vivid cyan, and a brown seed to an orange, since
402
+ // both differ from a saturated neighbour by chroma alone. A deliberately soft
403
+ // brand now stays soft instead of being argued with.
338
404
  // A monochrome seed has no chroma to preserve either way, and its fill goes to
339
405
  // the far end of the scale rather than the white-label ceiling: a mid-grey
340
406
  // button reads as disabled, where near-black on white reads as the primary
341
407
  // action.
342
- const brandPalette = monochrome ? _tonalPalette.TonalPalette.fromHueAndChroma(0, 0) : isDark ? _tonalPalette.TonalPalette.fromInt((0, _index.argbFromHex)(seedHex)) : _tonalPalette.TonalPalette.fromHueAndChroma(seed.hue, 200);
408
+ const brandPalette = monochrome ? _tonalPalette.TonalPalette.fromHueAndChroma(0, 0) : _tonalPalette.TonalPalette.fromInt((0, _index.argbFromHex)(seedHex));
343
409
  const primary = fillPair(brandPalette, monochrome ? isDark ? MONOCHROME_FILL_TONE.dark : MONOCHROME_FILL_TONE.light : whiteLabelTone(brandPalette, seed.tone, isDark));
344
410
  const tokens = {
345
411
  '--primary': primary.fill,
@@ -416,7 +482,7 @@ function buildPolicyTokens(seedHex, isDark, roles, pinned = {}) {
416
482
  for (const [role, hex] of Object.entries(STATUS_SEEDS)) {
417
483
  const status = _hct.Hct.fromInt((0, _index.argbFromHex)(hex));
418
484
  const palette = _tonalPalette.TonalPalette.fromHueAndChroma(status.hue, status.chroma);
419
- const pair = fillPair(palette, isDark ? DARK_FILL_TONE : LIGHT_FILL_TONE);
485
+ const pair = fillPair(palette, isDark ? vividLegibleTone(palette) : Math.max(LIGHT_FILL_FLOOR, vividLegibleTone(palette) - LIGHT_DEPTH_STEP));
420
486
  tokens[`--${role}`] = pair.fill;
421
487
  tokens[`--${role}-foreground`] = pair.foreground;
422
488
  tokens[`--${role}-text`] = rgb(_tonalPalette.TonalPalette.fromHueAndChroma(status.hue, TEXT_CHROMA).tone(isDark ? TEXT_TONE.dark : TEXT_TONE.light));
@@ -1 +1 @@
1
- {"version":3,"names":["_index","require","_hct","_tonalPalette","_colorUtils","STATUS_SEEDS","exports","success","error","warning","info","AA","rgb","argb","redFromArgb","greenFromArgb","blueFromArgb","rgba","alpha","contrastOf","onWhite","channel","v","c","Math","pow","luminance","foregroundFor","noLegibleForeground","LIGHT_FILL_TONE","DARK_FILL_TONE","TONE_BUDGET","DARK_SEED_FLOOR","DARK_ACCENT_FLOOR","ACCENT_CHROMA","TEXT_TONE","light","dark","TEXT_CHROMA","SUBTLE_SOURCE_TONE","SUBTLE_ALPHA","MONOCHROME_MAX_CHROMA","isColourlessSeed","seedHex","Hct","fromInt","argbFromHex","chroma","MONOCHROME_FILL_TONE","MONOCHROME_SECONDARY_TONE","SPLIT_ROTATIONS","VIVID_SNAP_WINDOW","VIVID_SNAP_MIN_GAIN","MIN_ACCENT_SEPARATION","DESTRUCTIVE_PROXIMITY","hueDistance","a","b","d","abs","min","peakTone","hue","palette","TonalPalette","fromHueAndChroma","bestTone","bestChroma","tone","peakChroma","vividHueNear","baseChroma","bestHue","delta","candidate","whiteLabelTone","seedTone","isDark","max","accentTone","peak","fillPair","startTone","fill","foreground","accentHues","seedHue","firstRotation","secondRotation","geometricA","geometricB","geometricStandout","quiet","snapped","standout","errorHue","secondary","tertiary","buildPolicyTokens","roles","pinned","seed","monochrome","brandPalette","primary","tokens","surfaceContainer","surfaceContainerLowest","surfaceContainerHigh","onSurfaceVariant","hues","role","pin","undefined","fillPalette","textPalette","vividPalette","pair","i","hex","Object","entries","status"],"sourceRoot":"../../../src","sources":["theme/color-policy.ts"],"mappings":";;;;;;;;AAwBA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AA3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMA;AACO,MAAMI,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG;EAC1BE,OAAO,EAAE,SAAS;EAClBC,KAAK,EAAE,SAAS;EAChBC,OAAO,EAAE,SAAS;EAClBC,IAAI,EAAE;AACR,CAAU;;AAEV;;AAMA;;AAGA,MAAMC,EAAE,GAAG,GAAG;AAEd,MAAMC,GAAG,GAAIC,IAAY,IACvB,OAAO,IAAAC,uBAAW,EAACD,IAAI,CAAC,IAAI,IAAAE,yBAAa,EAACF,IAAI,CAAC,IAAI,IAAAG,wBAAY,EAACH,IAAI,CAAC,GAAG;;AAE1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMI,IAAI,GAAGA,CAACJ,IAAY,EAAEK,KAAa,KACvC,QAAQ,IAAAJ,uBAAW,EAACD,IAAI,CAAC,KAAK,IAAAE,yBAAa,EAACF,IAAI,CAAC,KAAK,IAAAG,wBAAY,EAACH,IAAI,CAAC,KAAKK,KAAK,GAAG;;AAEvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,UAAUA,CAACN,IAAY,EAAEO,OAAgB,EAAU;EAC1D,MAAMC,OAAO,GAAIC,CAAS,IAAa;IACrC,MAAMC,CAAC,GAAGD,CAAC,GAAG,GAAG;IACjB,OAAOC,CAAC,IAAI,OAAO,GAAGA,CAAC,GAAG,KAAK,GAAGC,IAAI,CAACC,GAAG,CAAC,CAACF,CAAC,GAAG,KAAK,IAAI,KAAK,EAAE,GAAG,CAAC;EACtE,CAAC;EACD,MAAMG,SAAS,GACb,MAAM,GAAGL,OAAO,CAAC,IAAAP,uBAAW,EAACD,IAAI,CAAC,CAAC,GACnC,MAAM,GAAGQ,OAAO,CAAC,IAAAN,yBAAa,EAACF,IAAI,CAAC,CAAC,GACrC,MAAM,GAAGQ,OAAO,CAAC,IAAAL,wBAAY,EAACH,IAAI,CAAC,CAAC;EACtC,OAAOO,OAAO,GAAG,IAAI,IAAIM,SAAS,GAAG,IAAI,CAAC,GAAG,CAACA,SAAS,GAAG,IAAI,IAAI,IAAI;AACxE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,aAAa,GAAId,IAAY,IACjCM,UAAU,CAACN,IAAI,EAAE,IAAI,CAAC,IAAIF,EAAE,GAAG,kBAAkB,GAAG,YAAY;AAElE,MAAMiB,mBAAmB,GAAIf,IAAY,IACvCM,UAAU,CAACN,IAAI,EAAE,IAAI,CAAC,GAAGF,EAAE,IAAIQ,UAAU,CAACN,IAAI,EAAE,KAAK,CAAC,GAAGF,EAAE;;AAE7D;AACA,MAAMkB,eAAe,GAAG,EAAE;;AAE1B;AACA,MAAMC,cAAc,GAAG,EAAE;;AAEzB;AACA,MAAMC,WAAW,GAAG,EAAE;;AAEtB;AACA,MAAMC,eAAe,GAAG,EAAE;;AAE1B;AACA;AACA;AACA;AACA,MAAMC,iBAAiB,GAAG,EAAE;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAMC,aAAa,GAAG,EAAE;;AAExB;AACA,MAAMC,SAAS,GAAG;EAAEC,KAAK,EAAE,EAAE;EAAEC,IAAI,EAAE;AAAG,CAAU;AAClD,MAAMC,WAAW,GAAG,EAAE;;AAEtB;AACA,MAAMC,kBAAkB,GAAG,EAAE;AAC7B,MAAMC,YAAY,GAAG;EAAEJ,KAAK,EAAE,IAAI;EAAEC,IAAI,EAAE;AAAK,CAAU;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA,MAAMI,qBAAqB,GAAG,CAAC;;AAE/B;AACA;AACA;AACA;AACA;AACO,SAASC,gBAAgBA,CAACC,OAAe,EAAW;EACzD,OAAOC,QAAG,CAACC,OAAO,CAAC,IAAAC,kBAAW,EAACH,OAAO,CAAC,CAAC,CAACI,MAAM,IAAIN,qBAAqB;AAC1E;;AAEA;AACA,MAAMO,oBAAoB,GAAG;EAAEZ,KAAK,EAAE,EAAE;EAAEC,IAAI,EAAE;AAAG,CAAU;;AAE7D;AACA,MAAMY,yBAAyB,GAAG;EAAEb,KAAK,EAAE,EAAE;EAAEC,IAAI,EAAE;AAAG,CAAU;;AAElE;AACA,MAAMa,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,CAAU;;AAE3C;AACA,MAAMC,iBAAiB,GAAG,EAAE;AAC5B,MAAMC,mBAAmB,GAAG,EAAE;;AAE9B;AACA,MAAMC,qBAAqB,GAAG,EAAE;;AAEhC;AACA,MAAMC,qBAAqB,GAAG,EAAE;AAEhC,SAASC,WAAWA,CAACC,CAAS,EAAEC,CAAS,EAAU;EACjD,MAAMC,CAAC,GAAGlC,IAAI,CAACmC,GAAG,CAACH,CAAC,GAAGC,CAAC,CAAC,GAAG,GAAG;EAC/B,OAAOjC,IAAI,CAACoC,GAAG,CAACF,CAAC,EAAE,GAAG,GAAGA,CAAC,CAAC;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASG,QAAQA,CAACC,GAAW,EAAU;EACrC,MAAMC,OAAO,GAAGC,0BAAY,CAACC,gBAAgB,CAACH,GAAG,EAAE,GAAG,CAAC;EACvD,IAAII,QAAQ,GAAG,EAAE;EACjB,IAAIC,UAAU,GAAG,CAAC,CAAC;EACnB,KAAK,IAAIC,IAAI,GAAG,EAAE,EAAEA,IAAI,IAAI,EAAE,EAAEA,IAAI,IAAI,CAAC,EAAE;IACzC,MAAMrB,MAAM,GAAGH,QAAG,CAACC,OAAO,CAACkB,OAAO,CAACK,IAAI,CAACA,IAAI,CAAC,CAAC,CAACrB,MAAM;IACrD,IAAIA,MAAM,GAAGoB,UAAU,EAAE;MACvBA,UAAU,GAAGpB,MAAM;MACnBmB,QAAQ,GAAGE,IAAI;IACjB;EACF;EACA,OAAOF,QAAQ;AACjB;;AAEA;AACA,SAASG,UAAUA,CAACP,GAAW,EAAU;EACvC,OAAOlB,QAAG,CAACC,OAAO,CAACmB,0BAAY,CAACC,gBAAgB,CAACH,GAAG,EAAE,GAAG,CAAC,CAACM,IAAI,CAACP,QAAQ,CAACC,GAAG,CAAC,CAAC,CAAC,CAACf,MAAM;AACxF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASuB,YAAYA,CAACR,GAAW,EAAU;EACzC,MAAMS,UAAU,GAAGF,UAAU,CAACP,GAAG,CAAC;EAClC,IAAIU,OAAO,GAAGV,GAAG;EACjB,IAAIK,UAAU,GAAGI,UAAU;EAC3B,KAAK,IAAIE,KAAK,GAAG,CAACtB,iBAAiB,EAAEsB,KAAK,IAAItB,iBAAiB,EAAEsB,KAAK,IAAI,CAAC,EAAE;IAC3E,MAAMC,SAAS,GAAG,CAAE,CAACZ,GAAG,GAAGW,KAAK,IAAI,GAAG,GAAI,GAAG,IAAI,GAAG;IACrD,MAAM1B,MAAM,GAAGsB,UAAU,CAACK,SAAS,CAAC;IACpC,IAAI3B,MAAM,GAAGoB,UAAU,EAAE;MACvBA,UAAU,GAAGpB,MAAM;MACnByB,OAAO,GAAGE,SAAS;IACrB;EACF;EACA,OAAOP,UAAU,GAAGI,UAAU,IAAInB,mBAAmB,GAAGoB,OAAO,GAAGV,GAAG;AACvE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASa,cAAcA,CAACZ,OAAqB,EAAEa,QAAgB,EAAEC,MAAe,EAAU;EACxF;EACA;EACA;EACA;EACA;EACA,IAAI,CAACA,MAAM,EAAE,OAAOhD,eAAe;EACnC;EACA;EACA;EACA,MAAM6C,SAAS,GAAGlD,IAAI,CAACsD,GAAG,CAAChD,cAAc,EAAE8C,QAAQ,GAAG7C,WAAW,CAAC;EAClE,OAAOZ,UAAU,CAAC4C,OAAO,CAACK,IAAI,CAACM,SAAS,CAAC,EAAE,IAAI,CAAC,IAAI/D,EAAE,GAClD+D,SAAS,GACTlD,IAAI,CAACsD,GAAG,CAACF,QAAQ,EAAE5C,eAAe,CAAC;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS+C,UAAUA,CAACjB,GAAW,EAAEe,MAAe,EAAU;EACxD,IAAI,CAACA,MAAM,EAAE,OAAOhD,eAAe;EACnC,MAAMmD,IAAI,GAAGxD,IAAI,CAACsD,GAAG,CAACjB,QAAQ,CAACC,GAAG,CAAC,EAAE7B,iBAAiB,CAAC;EACvD,MAAM8B,OAAO,GAAGC,0BAAY,CAACC,gBAAgB,CAACH,GAAG,EAAE5B,aAAa,CAAC;EACjE,MAAMwC,SAAS,GAAGlD,IAAI,CAACsD,GAAG,CAAChD,cAAc,EAAEkD,IAAI,GAAGjD,WAAW,CAAC;EAC9D,OAAOZ,UAAU,CAAC4C,OAAO,CAACK,IAAI,CAACM,SAAS,CAAC,EAAE,IAAI,CAAC,IAAI/D,EAAE,GAAG+D,SAAS,GAAGM,IAAI;AAC3E;;AAEA;AACA,SAASC,QAAQA,CAAClB,OAAqB,EAAEmB,SAAiB,EAAwC;EAChG,IAAId,IAAI,GAAGc,SAAS;EACpB,OAAOtD,mBAAmB,CAACmC,OAAO,CAACK,IAAI,CAACA,IAAI,CAAC,CAAC,IAAIA,IAAI,GAAG,CAAC,IAAIA,IAAI,GAAG,EAAE,EAAE;IACvEA,IAAI,IAAIA,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC;EAC5B;EACA,OAAO;IAAEe,IAAI,EAAEvE,GAAG,CAACmD,OAAO,CAACK,IAAI,CAACA,IAAI,CAAC,CAAC;IAAEgB,UAAU,EAAEzD,aAAa,CAACoC,OAAO,CAACK,IAAI,CAACA,IAAI,CAAC;EAAE,CAAC;AACzF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASiB,UAAUA,CAACC,OAAe,EAA2C;EAC5E,MAAM,CAACC,aAAa,EAAEC,cAAc,CAAC,GAAGtC,eAAe;EACvD,MAAMuC,UAAU,GAAG,CAACH,OAAO,GAAGC,aAAa,IAAI,GAAG;EAClD,MAAMG,UAAU,GAAG,CAACJ,OAAO,GAAGE,cAAc,IAAI,GAAG;EAEnD,MAAMG,iBAAiB,GACrBtB,UAAU,CAACoB,UAAU,CAAC,IAAIpB,UAAU,CAACqB,UAAU,CAAC,GAAGD,UAAU,GAAGC,UAAU;EAC5E,MAAME,KAAK,GAAGD,iBAAiB,KAAKF,UAAU,GAAGC,UAAU,GAAGD,UAAU;EACxE,MAAMI,OAAO,GAAGvB,YAAY,CAACqB,iBAAiB,CAAC;EAC/C,MAAMG,QAAQ,GACZvC,WAAW,CAACsC,OAAO,EAAED,KAAK,CAAC,IAAIvC,qBAAqB,GAAGwC,OAAO,GAAGF,iBAAiB;;EAEpF;EACA;EACA;EACA,MAAMI,QAAQ,GAAGnD,QAAG,CAACC,OAAO,CAAC,IAAAC,kBAAW,EAACzC,YAAY,CAACG,KAAK,CAAC,CAAC,CAACsD,GAAG;EACjE,OAAOP,WAAW,CAACuC,QAAQ,EAAEC,QAAQ,CAAC,GAAGzC,qBAAqB,GAC1D;IAAE0C,SAAS,EAAEF,QAAQ;IAAEG,QAAQ,EAAEL;EAAM,CAAC,GACxC;IAAEI,SAAS,EAAEJ,KAAK;IAAEK,QAAQ,EAAEH;EAAS,CAAC;AAC9C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASI,iBAAiBA,CAC/BvD,OAAe,EACfkC,MAAe,EACfsB,KAAiB,EACjBC,MAAqB,GAAG,CAAC,CAAC,EACZ;EACd,MAAMC,IAAI,GAAGzD,QAAG,CAACC,OAAO,CAAC,IAAAC,kBAAW,EAACH,OAAO,CAAC,CAAC;;EAE9C;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAM2D,UAAU,GAAGD,IAAI,CAACtD,MAAM,IAAIN,qBAAqB;EACvD;EACA;EACA;EACA;EACA;EACA;EACA,MAAM8D,YAAY,GAAGD,UAAU,GAC3BtC,0BAAY,CAACC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,GACnCY,MAAM,GACJb,0BAAY,CAACnB,OAAO,CAAC,IAAAC,kBAAW,EAACH,OAAO,CAAC,CAAC,GAC1CqB,0BAAY,CAACC,gBAAgB,CAACoC,IAAI,CAACvC,GAAG,EAAE,GAAG,CAAC;EAClD,MAAM0C,OAAO,GAAGvB,QAAQ,CACtBsB,YAAY,EACZD,UAAU,GACLzB,MAAM,GAAG7B,oBAAoB,CAACX,IAAI,GAAGW,oBAAoB,CAACZ,KAAK,GAChEuC,cAAc,CAAC4B,YAAY,EAAEF,IAAI,CAACjC,IAAI,EAAES,MAAM,CACpD,CAAC;EAED,MAAM4B,MAAoB,GAAG;IAC3B,WAAW,EAAED,OAAO,CAACrB,IAAI;IACzB,sBAAsB,EAAEqB,OAAO,CAACpB,UAAU;IAC1C;IACA;IACA,gBAAgB,EAAEe,KAAK,CAACK,OAAO;IAC/B,kBAAkB,EAAEvF,IAAI,CACtB+C,0BAAY,CAACC,gBAAgB,CAACoC,IAAI,CAACvC,GAAG,EAAEwC,UAAU,GAAG,CAAC,GAAG,GAAG,CAAC,CAAClC,IAAI,CAAC7B,kBAAkB,CAAC,EACtFsC,MAAM,GAAGrC,YAAY,CAACH,IAAI,GAAGG,YAAY,CAACJ,KAC5C,CAAC;IACD,QAAQ,EAAE+D,KAAK,CAACK,OAAO;IACvB;IACA;IACA;IACA;IACA;IACA,QAAQ,EAAE3B,MAAM,GAAGsB,KAAK,CAACO,gBAAgB,GAAGP,KAAK,CAACQ,sBAAsB;IACxE;IACA;IACA,cAAc,EAAE/F,GAAG,CACjBoD,0BAAY,CAACC,gBAAgB,CAACoC,IAAI,CAACvC,GAAG,EAAEwC,UAAU,GAAG,CAAC,GAAG,EAAE,CAAC,CAAClC,IAAI,CAACS,MAAM,GAAG,CAAC,GAAG,EAAE,CACnF,CAAC;IACD;IACA,UAAU,EAAEsB,KAAK,CAACS,oBAAoB;IACtC,qBAAqB,EAAET,KAAK,CAACU;EAC/B,CAAC;EAED,MAAMC,IAAI,GAAGzB,UAAU,CAACgB,IAAI,CAACvC,GAAG,CAAC;EACjC,KAAK,MAAMiD,IAAI,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,EAAW;IACrD,MAAMC,GAAG,GAAGZ,MAAM,CAACW,IAAI,CAAC;IACxB,MAAMjD,GAAG,GAAGkD,GAAG,KAAKC,SAAS,GAAGrE,QAAG,CAACC,OAAO,CAAC,IAAAC,kBAAW,EAACkE,GAAG,CAAC,CAAC,CAAClD,GAAG,GAAGgD,IAAI,CAACC,IAAI,CAAC;IAC9E;IACA;IACA;IACA;IACA,MAAMG,WAAW,GAAGlD,0BAAY,CAACC,gBAAgB,CAACH,GAAG,EAAEwC,UAAU,GAAG,CAAC,GAAGpE,aAAa,CAAC;IACtF,MAAMiF,WAAW,GAAGnD,0BAAY,CAACC,gBAAgB,CAACH,GAAG,EAAEwC,UAAU,GAAG,CAAC,GAAGhE,WAAW,CAAC;IACpF,MAAM8E,YAAY,GAAGpD,0BAAY,CAACC,gBAAgB,CAACH,GAAG,EAAEwC,UAAU,GAAG,CAAC,GAAG,GAAG,CAAC;IAC7E;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,MAAMlC,IAAI,GAAGkC,UAAU,GACnBS,IAAI,KAAK,UAAU,GACjBlC,MAAM,GACJ7B,oBAAoB,CAACX,IAAI,GACzBW,oBAAoB,CAACZ,KAAK,GAC5ByC,MAAM,GACJ5B,yBAAyB,CAACZ,IAAI,GAC9BY,yBAAyB,CAACb,KAAK,GACnC2C,UAAU,CAACjB,GAAG,EAAEe,MAAM,CAAC;IAC3B,MAAMwC,IAAI,GAAGpC,QAAQ,CAACiC,WAAW,EAAE9C,IAAI,CAAC;IACxCqC,MAAM,CAAC,KAAKM,IAAI,EAAE,CAAC,GAAGM,IAAI,CAAClC,IAAI;IAC/BsB,MAAM,CAAC,KAAKM,IAAI,aAAa,CAAC,GAAGM,IAAI,CAACjC,UAAU;IAChDqB,MAAM,CAAC,KAAKM,IAAI,OAAO,CAAC,GAAGnG,GAAG,CAACuG,WAAW,CAAC/C,IAAI,CAACS,MAAM,GAAG1C,SAAS,CAACE,IAAI,GAAGF,SAAS,CAACC,KAAK,CAAC,CAAC;IAC3FqE,MAAM,CAAC,KAAKM,IAAI,SAAS,CAAC,GAAG9F,IAAI,CAC/BmG,YAAY,CAAChD,IAAI,CAAC7B,kBAAkB,CAAC,EACrCsC,MAAM,GAAGrC,YAAY,CAACH,IAAI,GAAGG,YAAY,CAACJ,KAC5C,CAAC;EACH;;EAEA;EACA;EACA;EACA,KAAK,IAAIkF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAI,CAAC,EAAE;IAC7B;IACAb,MAAM,CAAC,WAAWa,CAAC,GAAG,CAAC,EAAE,CAAC,GAAGhB,UAAU,GACnC1F,GAAG,CAACoD,0BAAY,CAACC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAACG,IAAI,CAACS,MAAM,GAAG,EAAE,GAAGyC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAGA,CAAC,GAAG,EAAE,CAAC,CAAC,GACjF1G,GAAG,CAACoD,0BAAY,CAACC,gBAAgB,CAAC,CAACoC,IAAI,CAACvC,GAAG,GAAGwD,CAAC,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC,CAAClD,IAAI,CAACS,MAAM,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;EAC9F;;EAEA;EACA;EACA;EACA;EACA,KAAK,MAAM,CAACkC,IAAI,EAAEQ,GAAG,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACpH,YAAY,CAAC,EAAE;IACtD,MAAMqH,MAAM,GAAG9E,QAAG,CAACC,OAAO,CAAC,IAAAC,kBAAW,EAACyE,GAAG,CAAC,CAAC;IAC5C,MAAMxD,OAAO,GAAGC,0BAAY,CAACC,gBAAgB,CAACyD,MAAM,CAAC5D,GAAG,EAAE4D,MAAM,CAAC3E,MAAM,CAAC;IACxE,MAAMsE,IAAI,GAAGpC,QAAQ,CAAClB,OAAO,EAAEc,MAAM,GAAG/C,cAAc,GAAGD,eAAe,CAAC;IACzE4E,MAAM,CAAC,KAAKM,IAAI,EAAE,CAAC,GAAGM,IAAI,CAAClC,IAAI;IAC/BsB,MAAM,CAAC,KAAKM,IAAI,aAAa,CAAC,GAAGM,IAAI,CAACjC,UAAU;IAChDqB,MAAM,CAAC,KAAKM,IAAI,OAAO,CAAC,GAAGnG,GAAG,CAC5BoD,0BAAY,CAACC,gBAAgB,CAACyD,MAAM,CAAC5D,GAAG,EAAExB,WAAW,CAAC,CAAC8B,IAAI,CACzDS,MAAM,GAAG1C,SAAS,CAACE,IAAI,GAAGF,SAAS,CAACC,KACtC,CACF,CAAC;IACD;IACA;IACA;IACA;IACAqE,MAAM,CAAC,KAAKM,IAAI,SAAS,CAAC,GAAG9F,IAAI,CAC/B8C,OAAO,CAACK,IAAI,CAACsD,MAAM,CAACtD,IAAI,CAAC,EACzBS,MAAM,GAAGrC,YAAY,CAACH,IAAI,GAAGG,YAAY,CAACJ,KAC5C,CAAC;EACH;EAEA,OAAOqE,MAAM;AACf","ignoreList":[]}
1
+ {"version":3,"names":["_index","require","_hct","_tonalPalette","_colorUtils","STATUS_SEEDS","exports","success","error","warning","info","AA","rgb","argb","redFromArgb","greenFromArgb","blueFromArgb","rgba","alpha","contrastOf","onWhite","channel","v","c","Math","pow","luminance","foregroundFor","noLegibleForeground","FILL_TONE_FLOOR","FILL_TONE_SEARCH_CEILING","LIGHT_DEPTH_STEP","LIGHT_FILL_FLOOR","TONE_BUDGET","DARK_SEED_FLOOR","DARK_ACCENT_FLOOR","ACCENT_CHROMA","TEXT_TONE","light","dark","TEXT_CHROMA","SUBTLE_SOURCE_TONE","SUBTLE_ALPHA","MONOCHROME_MAX_CHROMA","isColourlessSeed","seedHex","Hct","fromInt","argbFromHex","chroma","MONOCHROME_FILL_TONE","MONOCHROME_SECONDARY_TONE","SPLIT_ROTATIONS","VIVID_SNAP_WINDOW","VIVID_SNAP_MIN_GAIN","MIN_ACCENT_SEPARATION","DESTRUCTIVE_PROXIMITY","hueDistance","a","b","d","abs","min","peakTone","hue","palette","TonalPalette","fromHueAndChroma","bestTone","bestChroma","tone","peakChroma","vividHueNear","baseChroma","bestHue","delta","candidate","vividLegibleTone","whiteLabelTone","seedTone","isDark","max","accentTone","peak","fillPair","startTone","fill","foreground","accentHues","seedHue","firstRotation","secondRotation","geometricA","geometricB","geometricStandout","quiet","snapped","standout","errorHue","secondary","tertiary","buildPolicyTokens","roles","pinned","seed","monochrome","brandPalette","primary","tokens","surfaceContainer","surfaceContainerLowest","surfaceContainerHigh","onSurfaceVariant","hues","role","pin","undefined","fillPalette","textPalette","vividPalette","pair","i","hex","Object","entries","status"],"sourceRoot":"../../../src","sources":["theme/color-policy.ts"],"mappings":"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","ignoreList":[]}
@@ -24,24 +24,28 @@ exports.hexToAppColorName = hexToAppColorName;
24
24
  * resolved `--token -> value` record that `getPresetVars` produces).
25
25
  */
26
26
 
27
- const APP_COLOR_NAMES = exports.APP_COLOR_NAMES = ['teal', 'blue', 'green', 'amber', 'yellow', 'red', 'purple', 'pink', 'sky', 'orange', 'mint', 'oxy', 'faircoin', 'mono'];
27
+ const APP_COLOR_NAMES = exports.APP_COLOR_NAMES = ['teal', 'blue', 'green', 'yellow', 'red', 'purple', 'pink', 'sky', 'orange', 'mint', 'oxy', 'faircoin', 'pumpkin', 'gray', 'brown', 'peach', 'rose', 'mono'];
28
28
 
29
29
  /** Premium-exclusive presets, hidden from the standard color picker. */
30
30
  const PREMIUM_COLOR_NAMES = exports.PREMIUM_COLOR_NAMES = ['oxy', 'faircoin'];
31
31
  const HEX_TO_APP_COLOR = exports.HEX_TO_APP_COLOR = {
32
32
  '#005c67': 'teal',
33
- '#1d9bf0': 'blue',
33
+ '#0085fe': 'blue',
34
34
  '#10b981': 'green',
35
- '#f59e0b': 'amber',
36
- '#ffc300': 'yellow',
35
+ '#fcdc00': 'yellow',
37
36
  '#ef4444': 'red',
38
- '#8b5cf6': 'purple',
39
- '#ec4899': 'pink',
40
- '#0ea5e9': 'sky',
41
- '#f97316': 'orange',
37
+ '#b866ff': 'purple',
38
+ '#ff3c7f': 'pink',
39
+ '#03a9f4': 'sky',
40
+ '#ff5722': 'orange',
42
41
  '#14b8a6': 'mint',
43
42
  '#c46ede': 'oxy',
44
43
  '#9ffb50': 'faircoin',
44
+ '#ff9800': 'pumpkin',
45
+ '#607d8b': 'gray',
46
+ '#813519': 'brown',
47
+ '#ffb28d': 'peach',
48
+ '#fcaffe': 'rose',
45
49
  '#000000': 'mono'
46
50
  };
47
51
  function hexToAppColorName(hex) {
@@ -62,7 +66,7 @@ const APP_COLOR_PRESETS = exports.APP_COLOR_PRESETS = {
62
66
  },
63
67
  blue: {
64
68
  name: 'blue',
65
- hex: '#1d9bf0',
69
+ hex: '#0085fe',
66
70
  variant: 'vivid'
67
71
  },
68
72
  green: {
@@ -70,14 +74,9 @@ const APP_COLOR_PRESETS = exports.APP_COLOR_PRESETS = {
70
74
  hex: '#10b981',
71
75
  variant: 'vivid'
72
76
  },
73
- amber: {
74
- name: 'amber',
75
- hex: '#f59e0b',
76
- variant: 'vivid'
77
- },
78
77
  yellow: {
79
78
  name: 'yellow',
80
- hex: '#ffc300',
79
+ hex: '#fcdc00',
81
80
  variant: 'vivid'
82
81
  },
83
82
  red: {
@@ -87,22 +86,28 @@ const APP_COLOR_PRESETS = exports.APP_COLOR_PRESETS = {
87
86
  },
88
87
  purple: {
89
88
  name: 'purple',
90
- hex: '#8b5cf6',
89
+ hex: '#b866ff',
91
90
  variant: 'vivid'
92
91
  },
93
92
  pink: {
94
93
  name: 'pink',
95
- hex: '#ec4899',
94
+ hex: '#ff3c7f',
96
95
  variant: 'vivid'
97
96
  },
98
97
  sky: {
99
98
  name: 'sky',
100
- hex: '#0ea5e9',
99
+ hex: '#03a9f4',
101
100
  variant: 'vivid'
102
101
  },
102
+ // Deliberately NOT Tailwind's orange-500 (`#f97316`). That seed sits at HCT hue
103
+ // 46, which reads as orange only because it is also light: at hue 46 the sRGB
104
+ // gamut allows a chroma of just 62 at the tones a white label needs (<= 49), so
105
+ // the brand fill resolved to `rgb(177 76 0)` — a brown. Hue 34 carries a chroma
106
+ // of 84 at that same tone, with the same white label and the same contrast
107
+ // headroom, so the fill reads as orange instead of paying for the hue twice.
103
108
  orange: {
104
109
  name: 'orange',
105
- hex: '#f97316',
110
+ hex: '#ff5722',
106
111
  variant: 'vivid'
107
112
  },
108
113
  mint: {
@@ -120,6 +125,31 @@ const APP_COLOR_PRESETS = exports.APP_COLOR_PRESETS = {
120
125
  hex: '#9ffb50',
121
126
  variant: 'vivid'
122
127
  },
128
+ pumpkin: {
129
+ name: 'pumpkin',
130
+ hex: '#ff9800',
131
+ variant: 'vivid'
132
+ },
133
+ gray: {
134
+ name: 'gray',
135
+ hex: '#607d8b',
136
+ variant: 'vivid'
137
+ },
138
+ brown: {
139
+ name: 'brown',
140
+ hex: '#813519',
141
+ variant: 'vivid'
142
+ },
143
+ peach: {
144
+ name: 'peach',
145
+ hex: '#ffb28d',
146
+ variant: 'vivid'
147
+ },
148
+ rose: {
149
+ name: 'rose',
150
+ hex: '#fcaffe',
151
+ variant: 'vivid'
152
+ },
123
153
  /**
124
154
  * No colour at all — the black-and-white theme. Its seed carries zero chroma,
125
155
  * which is the whole mechanism: the policy derives a greyscale palette from any
@@ -1 +1 @@
1
- {"version":3,"names":["APP_COLOR_NAMES","exports","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","mono"],"sourceRoot":"../../../src","sources":["theme/color-presets.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["APP_COLOR_NAMES","exports","PREMIUM_COLOR_NAMES","HEX_TO_APP_COLOR","hexToAppColorName","hex","toLowerCase","APP_COLOR_PRESETS","teal","name","variant","blue","green","yellow","red","purple","pink","sky","orange","mint","oxy","faircoin","pumpkin","gray","brown","peach","rose","mono"],"sourceRoot":"../../../src","sources":["theme/color-presets.ts"],"mappings":"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","ignoreList":[]}
@@ -80,10 +80,31 @@ const foregroundFor = argb => contrastOf(argb, true) >= AA ? 'rgb(255 255 255)'
80
80
  const noLegibleForeground = argb => contrastOf(argb, true) < AA && contrastOf(argb, false) < AA;
81
81
 
82
82
  /** The tone a white-label fill sits at in LIGHT mode. */
83
- const LIGHT_FILL_TONE = 45;
83
+ const FILL_TONE_FLOOR = 45;
84
84
 
85
85
  /** The tone a white-label fill sits at in DARK: the ceiling white text allows. */
86
- const DARK_FILL_TONE = 49;
86
+ const FILL_TONE_SEARCH_CEILING = 56;
87
+
88
+ /**
89
+ * How much DEEPER the same brand sits on a light page than on a dark one.
90
+ *
91
+ * Not decoration: a colour on a near-white page has nothing to read against, so
92
+ * the mode difference is what makes a theme a theme rather than one palette shown
93
+ * twice. Dropping it is a regression that looks like a simplification — light and
94
+ * dark collapse onto the same fill for every seed that is not already bright, and
95
+ * the two modes stop being distinguishable at all.
96
+ */
97
+ const LIGHT_DEPTH_STEP = 5;
98
+
99
+ /**
100
+ * How deep a light-mode fill may go. Deliberately BELOW the search's lower bound,
101
+ * which those two used to share — and sharing them silently voided the depth step
102
+ * for any seed whose dark fill already sits at that bound. A high-chroma seed is
103
+ * exactly that case: pink loses its white label above tone 45, so dark cannot rise
104
+ * to make room and light must descend instead, or the two modes render the
105
+ * identical fill.
106
+ */
107
+ const LIGHT_FILL_FLOOR = 40;
87
108
 
88
109
  /** How far a fill may be dragged from its natural tone before the colour is lost. */
89
110
  const TONE_BUDGET = 25;
@@ -224,6 +245,47 @@ function vividHueNear(hue) {
224
245
  return bestChroma - baseChroma >= VIVID_SNAP_MIN_GAIN ? bestHue : hue;
225
246
  }
226
247
 
248
+ /**
249
+ * The most vivid tone a palette reaches while a WHITE label still clears AA on
250
+ * it — searched per HUE instead of assumed.
251
+ *
252
+ * A single tone for every hue leaves chroma on the table for some and takes it
253
+ * from others, because the sRGB gamut is not a cylinder: from tone 45 upward an
254
+ * orange keeps gaining chroma until white runs out at ~49.5 (59 -> 84), while a
255
+ * violet has already passed its peak and LOSES chroma over the same interval
256
+ * (91 -> 86). The old flat 45 spent none of the contrast headroom it had — every
257
+ * preset sat at 5.38 when 4.5 was the requirement — and orange paid for that
258
+ * twice, since its hue is also one of the gamut's narrow ones.
259
+ *
260
+ * The floor is what keeps this from trading lightness for chroma: a hue that
261
+ * peaks far below 45 stays at 45 rather than descending into a near-black slab
262
+ * that happens to be saturated. So the search can only ever improve a fill or
263
+ * leave it exactly where it was.
264
+ *
265
+ * Contrast is measured on the QUANTIZED colour, not the engine's continuous
266
+ * tone-ratio: an earlier iteration chose tones by the latter and shipped 135
267
+ * pairs at a measured 4.49.
268
+ */
269
+ function vividLegibleTone(palette) {
270
+ let bestTone = FILL_TONE_FLOOR;
271
+ let bestChroma = -1;
272
+ for (let tone = FILL_TONE_FLOOR; tone <= FILL_TONE_SEARCH_CEILING; tone += 0.5) {
273
+ const argb = palette.tone(tone);
274
+ if (contrastOf(argb, true) < AA) continue;
275
+ const chroma = Hct.fromInt(argb).chroma;
276
+ // A tie keeps the DEEPEST tone. Ties are common rather than exotic — any seed
277
+ // whose chroma sits below the gamut ceiling across this whole range has a flat
278
+ // curve here — and breaking them toward the lightest end instead changes no
279
+ // preset's output, because the light-mode floor below already supplies the
280
+ // separation that would have bought. Mutation-checked, not assumed.
281
+ if (chroma > bestChroma) {
282
+ bestChroma = chroma;
283
+ bestTone = tone;
284
+ }
285
+ }
286
+ return bestTone;
287
+ }
288
+
227
289
  /**
228
290
  * The tone a BRAND fill sits at.
229
291
  *
@@ -242,11 +304,11 @@ function whiteLabelTone(palette, seedTone, isDark) {
242
304
  // smear there, indistinguishable from the same colour in dark, which is not a
243
305
  // theme at all. Coming down is what makes faircoin a deep green in light and a
244
306
  // bright lime in dark.
245
- if (!isDark) return LIGHT_FILL_TONE;
307
+ if (!isDark) return Math.max(LIGHT_FILL_FLOOR, vividLegibleTone(palette) - LIGHT_DEPTH_STEP);
246
308
  // DARK: the budget applies. Most brands come down to where white fits, but a
247
309
  // seed that is already light cannot without ceasing to be itself, so it keeps
248
310
  // its own tone and takes a black label. That is the eleven-and-two pattern.
249
- const candidate = Math.max(DARK_FILL_TONE, seedTone - TONE_BUDGET);
311
+ const candidate = Math.max(vividLegibleTone(palette), seedTone - TONE_BUDGET);
250
312
  return contrastOf(palette.tone(candidate), true) >= AA ? candidate : Math.max(seedTone, DARK_SEED_FLOOR);
251
313
  }
252
314
 
@@ -257,10 +319,10 @@ function whiteLabelTone(palette, seedTone, isDark) {
257
319
  * peaks dark comes down and carries white.
258
320
  */
259
321
  function accentTone(hue, isDark) {
260
- if (!isDark) return LIGHT_FILL_TONE;
261
- const peak = Math.max(peakTone(hue), DARK_ACCENT_FLOOR);
262
322
  const palette = TonalPalette.fromHueAndChroma(hue, ACCENT_CHROMA);
263
- const candidate = Math.max(DARK_FILL_TONE, peak - TONE_BUDGET);
323
+ if (!isDark) return Math.max(LIGHT_FILL_FLOOR, vividLegibleTone(palette) - LIGHT_DEPTH_STEP);
324
+ const peak = Math.max(peakTone(hue), DARK_ACCENT_FLOOR);
325
+ const candidate = Math.max(vividLegibleTone(palette), peak - TONE_BUDGET);
264
326
  return contrastOf(palette.tone(candidate), true) >= AA ? candidate : peak;
265
327
  }
266
328
 
@@ -327,13 +389,17 @@ export function buildPolicyTokens(seedHex, isDark, roles, pinned = {}) {
327
389
  // dark fill sit at the seed's own tone instead makes it brighter, but every one
328
390
  // of those labels turns black, which costs more than the brightness buys.
329
391
  const monochrome = seed.chroma <= MONOCHROME_MAX_CHROMA;
330
- // DARK keys off the seed itself so the fill IS the brand hex; LIGHT uses the
331
- // max-chroma palette, which is what stops a deepened fill from going pastel.
392
+ // BOTH modes key off the seed itself, so the fill carries the brand's SATURATION
393
+ // as well as its hue. Light used to force the hue to maximum chroma, which reads
394
+ // as "the seed only chose a hue" — and that silently renames a colour: a muted
395
+ // blue-grey seed resolved to a vivid cyan, and a brown seed to an orange, since
396
+ // both differ from a saturated neighbour by chroma alone. A deliberately soft
397
+ // brand now stays soft instead of being argued with.
332
398
  // A monochrome seed has no chroma to preserve either way, and its fill goes to
333
399
  // the far end of the scale rather than the white-label ceiling: a mid-grey
334
400
  // button reads as disabled, where near-black on white reads as the primary
335
401
  // action.
336
- const brandPalette = monochrome ? TonalPalette.fromHueAndChroma(0, 0) : isDark ? TonalPalette.fromInt(argbFromHex(seedHex)) : TonalPalette.fromHueAndChroma(seed.hue, 200);
402
+ const brandPalette = monochrome ? TonalPalette.fromHueAndChroma(0, 0) : TonalPalette.fromInt(argbFromHex(seedHex));
337
403
  const primary = fillPair(brandPalette, monochrome ? isDark ? MONOCHROME_FILL_TONE.dark : MONOCHROME_FILL_TONE.light : whiteLabelTone(brandPalette, seed.tone, isDark));
338
404
  const tokens = {
339
405
  '--primary': primary.fill,
@@ -410,7 +476,7 @@ export function buildPolicyTokens(seedHex, isDark, roles, pinned = {}) {
410
476
  for (const [role, hex] of Object.entries(STATUS_SEEDS)) {
411
477
  const status = Hct.fromInt(argbFromHex(hex));
412
478
  const palette = TonalPalette.fromHueAndChroma(status.hue, status.chroma);
413
- const pair = fillPair(palette, isDark ? DARK_FILL_TONE : LIGHT_FILL_TONE);
479
+ const pair = fillPair(palette, isDark ? vividLegibleTone(palette) : Math.max(LIGHT_FILL_FLOOR, vividLegibleTone(palette) - LIGHT_DEPTH_STEP));
414
480
  tokens[`--${role}`] = pair.fill;
415
481
  tokens[`--${role}-foreground`] = pair.foreground;
416
482
  tokens[`--${role}-text`] = rgb(TonalPalette.fromHueAndChroma(status.hue, TEXT_CHROMA).tone(isDark ? TEXT_TONE.dark : TEXT_TONE.light));
@@ -1 +1 @@
1
- {"version":3,"names":["argbFromHex","Hct","TonalPalette","blueFromArgb","greenFromArgb","redFromArgb","STATUS_SEEDS","success","error","warning","info","AA","rgb","argb","rgba","alpha","contrastOf","onWhite","channel","v","c","Math","pow","luminance","foregroundFor","noLegibleForeground","LIGHT_FILL_TONE","DARK_FILL_TONE","TONE_BUDGET","DARK_SEED_FLOOR","DARK_ACCENT_FLOOR","ACCENT_CHROMA","TEXT_TONE","light","dark","TEXT_CHROMA","SUBTLE_SOURCE_TONE","SUBTLE_ALPHA","MONOCHROME_MAX_CHROMA","isColourlessSeed","seedHex","fromInt","chroma","MONOCHROME_FILL_TONE","MONOCHROME_SECONDARY_TONE","SPLIT_ROTATIONS","VIVID_SNAP_WINDOW","VIVID_SNAP_MIN_GAIN","MIN_ACCENT_SEPARATION","DESTRUCTIVE_PROXIMITY","hueDistance","a","b","d","abs","min","peakTone","hue","palette","fromHueAndChroma","bestTone","bestChroma","tone","peakChroma","vividHueNear","baseChroma","bestHue","delta","candidate","whiteLabelTone","seedTone","isDark","max","accentTone","peak","fillPair","startTone","fill","foreground","accentHues","seedHue","firstRotation","secondRotation","geometricA","geometricB","geometricStandout","quiet","snapped","standout","errorHue","secondary","tertiary","buildPolicyTokens","roles","pinned","seed","monochrome","brandPalette","primary","tokens","surfaceContainer","surfaceContainerLowest","surfaceContainerHigh","onSurfaceVariant","hues","role","pin","undefined","fillPalette","textPalette","vividPalette","pair","i","hex","Object","entries","status"],"sourceRoot":"../../../src","sources":["theme/color-policy.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["argbFromHex","Hct","TonalPalette","blueFromArgb","greenFromArgb","redFromArgb","STATUS_SEEDS","success","error","warning","info","AA","rgb","argb","rgba","alpha","contrastOf","onWhite","channel","v","c","Math","pow","luminance","foregroundFor","noLegibleForeground","FILL_TONE_FLOOR","FILL_TONE_SEARCH_CEILING","LIGHT_DEPTH_STEP","LIGHT_FILL_FLOOR","TONE_BUDGET","DARK_SEED_FLOOR","DARK_ACCENT_FLOOR","ACCENT_CHROMA","TEXT_TONE","light","dark","TEXT_CHROMA","SUBTLE_SOURCE_TONE","SUBTLE_ALPHA","MONOCHROME_MAX_CHROMA","isColourlessSeed","seedHex","fromInt","chroma","MONOCHROME_FILL_TONE","MONOCHROME_SECONDARY_TONE","SPLIT_ROTATIONS","VIVID_SNAP_WINDOW","VIVID_SNAP_MIN_GAIN","MIN_ACCENT_SEPARATION","DESTRUCTIVE_PROXIMITY","hueDistance","a","b","d","abs","min","peakTone","hue","palette","fromHueAndChroma","bestTone","bestChroma","tone","peakChroma","vividHueNear","baseChroma","bestHue","delta","candidate","vividLegibleTone","whiteLabelTone","seedTone","isDark","max","accentTone","peak","fillPair","startTone","fill","foreground","accentHues","seedHue","firstRotation","secondRotation","geometricA","geometricB","geometricStandout","quiet","snapped","standout","errorHue","secondary","tertiary","buildPolicyTokens","roles","pinned","seed","monochrome","brandPalette","primary","tokens","surfaceContainer","surfaceContainerLowest","surfaceContainerHigh","onSurfaceVariant","hues","role","pin","undefined","fillPalette","textPalette","vividPalette","pair","i","hex","Object","entries","status"],"sourceRoot":"../../../src","sources":["theme/color-policy.ts"],"mappings":"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","ignoreList":[]}