@oxyhq/bloom 0.74.1 → 0.74.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -87,9 +87,20 @@ const noLegibleForeground = argb => contrastOf(argb, true) < AA && contrastOf(ar
87
87
  /** The tone a white-label fill sits at in LIGHT mode. */
88
88
  const LIGHT_FILL_TONE = 45;
89
89
 
90
- /** No dark-mode fill sits below this: under it a colour goes heavy on black. */
90
+ /** No dark-mode BRAND fill sits below this: under it a colour goes heavy on black. */
91
91
  const DARK_FLOOR = 58;
92
92
 
93
+ /**
94
+ * Accent fills sit at their hue's PEAK tone in dark — where the hue is most
95
+ * itself, so a lime reads as lime rather than olive.
96
+ *
97
+ * The cost is fixed and cannot be engineered away: peaks for that family live
98
+ * around tone 88, and white text needs a fill at or below 49, so these buttons
99
+ * carry a BLACK label. Capping the tone to win the white label back turns the
100
+ * same accents dull — measured on blue, rgb(252 220 0) becomes rgb(134 116 0).
101
+ * The bright colour is the deliberate choice.
102
+ */
103
+
93
104
  /** Chroma ceiling for an accent FILL — the brand palette's own maximum, not the gamut's. */
94
105
  const ACCENT_CHROMA = 80;
95
106
 
@@ -277,12 +288,14 @@ function buildPolicyTokens(seedHex, isDark, roles, pinned = {}) {
277
288
  // analyzer runs there — Bloom ships it yet only reaches it on the fidelity
278
289
  // path, which no Bloom variant uses, so a rotated accent could land in the
279
290
  // band with nothing to lift it out.
280
- // LIGHT sits at the fill tone, and deliberately does NOT run the bile
281
- // analyzer over it. Lifting a yellow-green out of that band costs 25 tones,
282
- // which puts the fill above the white-label ceiling and flips a button's
283
- // label to black on the compose button, whose whole point is white on
284
- // colour. The accent chroma cap already keeps this out of neon territory,
285
- // and the hue is the caller's brand, not ours to move.
291
+ // Bloom's own tone policy governs this, and M3's `fixIfDisliked` deliberately
292
+ // does not get a say. That heuristic flags dark yellow-greens and lifts them
293
+ // to tone 70 a remedy calibrated for M3's tone assignments, where nothing
294
+ // depends on staying under the ceiling white text needs. Here everything does:
295
+ // a 25-tone lift puts the fill above it and flips a compose button's label to
296
+ // black. The accent chroma cap already keeps these hues out of neon territory,
297
+ // and the hue itself is the caller's brand rather than ours to move. The
298
+ // analyzer still runs where it was designed to, inside `color-roles`.
286
299
  const tone = isDark ? Math.max(peakTone(hue), DARK_FLOOR) : LIGHT_FILL_TONE;
287
300
  const pair = fillPair(fillPalette, tone);
288
301
  tokens[`--${role}`] = pair.fill;
@@ -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_FLOOR","ACCENT_CHROMA","TEXT_TONE","light","dark","TEXT_CHROMA","SUBTLE_SOURCE_TONE","SUBTLE_ALPHA","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","chroma","Hct","fromInt","peakChroma","vividHueNear","baseChroma","bestHue","delta","candidate","fillPair","startTone","fill","foreground","accentHues","seedHue","firstRotation","secondRotation","geometricA","geometricB","geometricStandout","quiet","snapped","standout","errorHue","argbFromHex","secondary","tertiary","buildPolicyTokens","seedHex","isDark","roles","pinned","seed","brandPalette","primary","max","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;AAEA,IAAAG,WAAA,GAAAH,OAAA;AA5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOA;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,UAAU,GAAG,EAAE;;AAErB;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,MAAMI,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,GAAGtB,IAAI,CAACuB,GAAG,CAACH,CAAC,GAAGC,CAAC,CAAC,GAAG,GAAG;EAC/B,OAAOrB,IAAI,CAACwB,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,MAAMC,MAAM,GAAGC,QAAG,CAACC,OAAO,CAACR,OAAO,CAACK,IAAI,CAACA,IAAI,CAAC,CAAC,CAACC,MAAM;IACrD,IAAIA,MAAM,GAAGF,UAAU,EAAE;MACvBA,UAAU,GAAGE,MAAM;MACnBH,QAAQ,GAAGE,IAAI;IACjB;EACF;EACA,OAAOF,QAAQ;AACjB;;AAEA;AACA,SAASM,UAAUA,CAACV,GAAW,EAAU;EACvC,OAAOQ,QAAG,CAACC,OAAO,CAACP,0BAAY,CAACC,gBAAgB,CAACH,GAAG,EAAE,GAAG,CAAC,CAACM,IAAI,CAACP,QAAQ,CAACC,GAAG,CAAC,CAAC,CAAC,CAACO,MAAM;AACxF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASI,YAAYA,CAACX,GAAW,EAAU;EACzC,MAAMY,UAAU,GAAGF,UAAU,CAACV,GAAG,CAAC;EAClC,IAAIa,OAAO,GAAGb,GAAG;EACjB,IAAIK,UAAU,GAAGO,UAAU;EAC3B,KAAK,IAAIE,KAAK,GAAG,CAACzB,iBAAiB,EAAEyB,KAAK,IAAIzB,iBAAiB,EAAEyB,KAAK,IAAI,CAAC,EAAE;IAC3E,MAAMC,SAAS,GAAG,CAAE,CAACf,GAAG,GAAGc,KAAK,IAAI,GAAG,GAAI,GAAG,IAAI,GAAG;IACrD,MAAMP,MAAM,GAAGG,UAAU,CAACK,SAAS,CAAC;IACpC,IAAIR,MAAM,GAAGF,UAAU,EAAE;MACvBA,UAAU,GAAGE,MAAM;MACnBM,OAAO,GAAGE,SAAS;IACrB;EACF;EACA,OAAOV,UAAU,GAAGO,UAAU,IAAItB,mBAAmB,GAAGuB,OAAO,GAAGb,GAAG;AACvE;;AAEA;AACA,SAASgB,QAAQA,CAACf,OAAqB,EAAEgB,SAAiB,EAAwC;EAChG,IAAIX,IAAI,GAAGW,SAAS;EACpB,OAAOvC,mBAAmB,CAACuB,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;IAAEY,IAAI,EAAExD,GAAG,CAACuC,OAAO,CAACK,IAAI,CAACA,IAAI,CAAC,CAAC;IAAEa,UAAU,EAAE1C,aAAa,CAACwB,OAAO,CAACK,IAAI,CAACA,IAAI,CAAC;EAAE,CAAC;AACzF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASc,UAAUA,CAACC,OAAe,EAA2C;EAC5E,MAAM,CAACC,aAAa,EAAEC,cAAc,CAAC,GAAGnC,eAAe;EACvD,MAAMoC,UAAU,GAAG,CAACH,OAAO,GAAGC,aAAa,IAAI,GAAG;EAClD,MAAMG,UAAU,GAAG,CAACJ,OAAO,GAAGE,cAAc,IAAI,GAAG;EAEnD,MAAMG,iBAAiB,GACrBhB,UAAU,CAACc,UAAU,CAAC,IAAId,UAAU,CAACe,UAAU,CAAC,GAAGD,UAAU,GAAGC,UAAU;EAC5E,MAAME,KAAK,GAAGD,iBAAiB,KAAKF,UAAU,GAAGC,UAAU,GAAGD,UAAU;EACxE,MAAMI,OAAO,GAAGjB,YAAY,CAACe,iBAAiB,CAAC;EAC/C,MAAMG,QAAQ,GACZpC,WAAW,CAACmC,OAAO,EAAED,KAAK,CAAC,IAAIpC,qBAAqB,GAAGqC,OAAO,GAAGF,iBAAiB;;EAEpF;EACA;EACA;EACA,MAAMI,QAAQ,GAAGtB,QAAG,CAACC,OAAO,CAAC,IAAAsB,kBAAW,EAAC5E,YAAY,CAACG,KAAK,CAAC,CAAC,CAAC0C,GAAG;EACjE,OAAOP,WAAW,CAACoC,QAAQ,EAAEC,QAAQ,CAAC,GAAGtC,qBAAqB,GAC1D;IAAEwC,SAAS,EAAEH,QAAQ;IAAEI,QAAQ,EAAEN;EAAM,CAAC,GACxC;IAAEK,SAAS,EAAEL,KAAK;IAAEM,QAAQ,EAAEJ;EAAS,CAAC;AAC9C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASK,iBAAiBA,CAC/BC,OAAe,EACfC,MAAe,EACfC,KAAiB,EACjBC,MAAqB,GAAG,CAAC,CAAC,EACZ;EACd,MAAMC,IAAI,GAAG/B,QAAG,CAACC,OAAO,CAAC,IAAAsB,kBAAW,EAACI,OAAO,CAAC,CAAC;;EAE9C;EACA;EACA;EACA;EACA;EACA;EACA,MAAMK,YAAY,GAAGJ,MAAM,GACvBlC,0BAAY,CAACO,OAAO,CAAC,IAAAsB,kBAAW,EAACI,OAAO,CAAC,CAAC,GAC1CjC,0BAAY,CAACC,gBAAgB,CAACoC,IAAI,CAACvC,GAAG,EAAE,GAAG,CAAC;EAChD,MAAMyC,OAAO,GAAGzB,QAAQ,CACtBwB,YAAY,EACZJ,MAAM,GAAG9D,IAAI,CAACoE,GAAG,CAACH,IAAI,CAACjC,IAAI,EAAE1B,UAAU,CAAC,GAAGD,eAC7C,CAAC;EAED,MAAMgE,MAAoB,GAAG;IAC3B,WAAW,EAAEF,OAAO,CAACvB,IAAI;IACzB,sBAAsB,EAAEuB,OAAO,CAACtB,UAAU;IAC1C;IACA;IACA,gBAAgB,EAAEkB,KAAK,CAACI,OAAO;IAC/B,kBAAkB,EAAE1E,IAAI,CACtBmC,0BAAY,CAACC,gBAAgB,CAACoC,IAAI,CAACvC,GAAG,EAAE,GAAG,CAAC,CAACM,IAAI,CAACpB,kBAAkB,CAAC,EACrEkD,MAAM,GAAGjD,YAAY,CAACH,IAAI,GAAGG,YAAY,CAACJ,KAC5C,CAAC;IACD,QAAQ,EAAEsD,KAAK,CAACI,OAAO;IACvB;IACA;IACA;IACA;IACA;IACA,QAAQ,EAAEL,MAAM,GAAGC,KAAK,CAACO,gBAAgB,GAAGP,KAAK,CAACQ,sBAAsB;IACxE;IACA;IACA,cAAc,EAAEnF,GAAG,CAACwC,0BAAY,CAACC,gBAAgB,CAACoC,IAAI,CAACvC,GAAG,EAAE,EAAE,CAAC,CAACM,IAAI,CAAC8B,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;IACtF;IACA,UAAU,EAAEC,KAAK,CAACS,oBAAoB;IACtC,qBAAqB,EAAET,KAAK,CAACU;EAC/B,CAAC;EAED,MAAMC,IAAI,GAAG5B,UAAU,CAACmB,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,GAAG3C,QAAG,CAACC,OAAO,CAAC,IAAAsB,kBAAW,EAACmB,GAAG,CAAC,CAAC,CAAClD,GAAG,GAAGgD,IAAI,CAACC,IAAI,CAAC;IAC9E;IACA;IACA,MAAMG,WAAW,GAAGlD,0BAAY,CAACC,gBAAgB,CAACH,GAAG,EAAEnB,aAAa,CAAC;IACrE,MAAMwE,WAAW,GAAGnD,0BAAY,CAACC,gBAAgB,CAACH,GAAG,EAAEf,WAAW,CAAC;IACnE,MAAMqE,YAAY,GAAGpD,0BAAY,CAACC,gBAAgB,CAACH,GAAG,EAAE,GAAG,CAAC;IAC5D;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,MAAMM,IAAI,GAAG8B,MAAM,GAAG9D,IAAI,CAACoE,GAAG,CAAC3C,QAAQ,CAACC,GAAG,CAAC,EAAEpB,UAAU,CAAC,GAAGD,eAAe;IAC3E,MAAM4E,IAAI,GAAGvC,QAAQ,CAACoC,WAAW,EAAE9C,IAAI,CAAC;IACxCqC,MAAM,CAAC,KAAKM,IAAI,EAAE,CAAC,GAAGM,IAAI,CAACrC,IAAI;IAC/ByB,MAAM,CAAC,KAAKM,IAAI,aAAa,CAAC,GAAGM,IAAI,CAACpC,UAAU;IAChDwB,MAAM,CAAC,KAAKM,IAAI,OAAO,CAAC,GAAGvF,GAAG,CAAC2F,WAAW,CAAC/C,IAAI,CAAC8B,MAAM,GAAGtD,SAAS,CAACE,IAAI,GAAGF,SAAS,CAACC,KAAK,CAAC,CAAC;IAC3F4D,MAAM,CAAC,KAAKM,IAAI,SAAS,CAAC,GAAGlF,IAAI,CAC/BuF,YAAY,CAAChD,IAAI,CAACpB,kBAAkB,CAAC,EACrCkD,MAAM,GAAGjD,YAAY,CAACH,IAAI,GAAGG,YAAY,CAACJ,KAC5C,CAAC;EACH;;EAEA;EACA;EACA;EACA,KAAK,IAAIyE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAI,CAAC,EAAE;IAC7Bb,MAAM,CAAC,WAAWa,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG9F,GAAG,CAC9BwC,0BAAY,CAACC,gBAAgB,CAAC,CAACoC,IAAI,CAACvC,GAAG,GAAGwD,CAAC,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC,CAAClD,IAAI,CAAC8B,MAAM,GAAG,EAAE,GAAG,EAAE,CACpF,CAAC;EACH;;EAEA;EACA;EACA;EACA;EACA,KAAK,MAAM,CAACa,IAAI,EAAEQ,GAAG,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACxG,YAAY,CAAC,EAAE;IACtD,MAAMyG,MAAM,GAAGpD,QAAG,CAACC,OAAO,CAAC,IAAAsB,kBAAW,EAAC0B,GAAG,CAAC,CAAC;IAC5C,MAAMxD,OAAO,GAAGC,0BAAY,CAACC,gBAAgB,CAACyD,MAAM,CAAC5D,GAAG,EAAE4D,MAAM,CAACrD,MAAM,CAAC;IACxE,MAAMgD,IAAI,GAAGvC,QAAQ,CAACf,OAAO,EAAEmC,MAAM,GAAG9D,IAAI,CAACoE,GAAG,CAACkB,MAAM,CAACtD,IAAI,EAAE1B,UAAU,CAAC,GAAGD,eAAe,CAAC;IAC5FgE,MAAM,CAAC,KAAKM,IAAI,EAAE,CAAC,GAAGM,IAAI,CAACrC,IAAI;IAC/ByB,MAAM,CAAC,KAAKM,IAAI,aAAa,CAAC,GAAGM,IAAI,CAACpC,UAAU;IAChDwB,MAAM,CAAC,KAAKM,IAAI,OAAO,CAAC,GAAGvF,GAAG,CAC5BwC,0BAAY,CAACC,gBAAgB,CAACyD,MAAM,CAAC5D,GAAG,EAAEf,WAAW,CAAC,CAACqB,IAAI,CACzD8B,MAAM,GAAGtD,SAAS,CAACE,IAAI,GAAGF,SAAS,CAACC,KACtC,CACF,CAAC;IACD;IACA;IACA;IACA;IACA4D,MAAM,CAAC,KAAKM,IAAI,SAAS,CAAC,GAAGlF,IAAI,CAC/BkC,OAAO,CAACK,IAAI,CAACsD,MAAM,CAACtD,IAAI,CAAC,EACzB8B,MAAM,GAAGjD,YAAY,CAACH,IAAI,GAAGG,YAAY,CAACJ,KAC5C,CAAC;EACH;EAEA,OAAO4D,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","LIGHT_FILL_TONE","DARK_FLOOR","ACCENT_CHROMA","TEXT_TONE","light","dark","TEXT_CHROMA","SUBTLE_SOURCE_TONE","SUBTLE_ALPHA","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","chroma","Hct","fromInt","peakChroma","vividHueNear","baseChroma","bestHue","delta","candidate","fillPair","startTone","fill","foreground","accentHues","seedHue","firstRotation","secondRotation","geometricA","geometricB","geometricStandout","quiet","snapped","standout","errorHue","argbFromHex","secondary","tertiary","buildPolicyTokens","seedHex","isDark","roles","pinned","seed","brandPalette","primary","max","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":[]}
@@ -82,9 +82,20 @@ const noLegibleForeground = argb => contrastOf(argb, true) < AA && contrastOf(ar
82
82
  /** The tone a white-label fill sits at in LIGHT mode. */
83
83
  const LIGHT_FILL_TONE = 45;
84
84
 
85
- /** No dark-mode fill sits below this: under it a colour goes heavy on black. */
85
+ /** No dark-mode BRAND fill sits below this: under it a colour goes heavy on black. */
86
86
  const DARK_FLOOR = 58;
87
87
 
88
+ /**
89
+ * Accent fills sit at their hue's PEAK tone in dark — where the hue is most
90
+ * itself, so a lime reads as lime rather than olive.
91
+ *
92
+ * The cost is fixed and cannot be engineered away: peaks for that family live
93
+ * around tone 88, and white text needs a fill at or below 49, so these buttons
94
+ * carry a BLACK label. Capping the tone to win the white label back turns the
95
+ * same accents dull — measured on blue, rgb(252 220 0) becomes rgb(134 116 0).
96
+ * The bright colour is the deliberate choice.
97
+ */
98
+
88
99
  /** Chroma ceiling for an accent FILL — the brand palette's own maximum, not the gamut's. */
89
100
  const ACCENT_CHROMA = 80;
90
101
 
@@ -272,12 +283,14 @@ export function buildPolicyTokens(seedHex, isDark, roles, pinned = {}) {
272
283
  // analyzer runs there — Bloom ships it yet only reaches it on the fidelity
273
284
  // path, which no Bloom variant uses, so a rotated accent could land in the
274
285
  // band with nothing to lift it out.
275
- // LIGHT sits at the fill tone, and deliberately does NOT run the bile
276
- // analyzer over it. Lifting a yellow-green out of that band costs 25 tones,
277
- // which puts the fill above the white-label ceiling and flips a button's
278
- // label to black on the compose button, whose whole point is white on
279
- // colour. The accent chroma cap already keeps this out of neon territory,
280
- // and the hue is the caller's brand, not ours to move.
286
+ // Bloom's own tone policy governs this, and M3's `fixIfDisliked` deliberately
287
+ // does not get a say. That heuristic flags dark yellow-greens and lifts them
288
+ // to tone 70 a remedy calibrated for M3's tone assignments, where nothing
289
+ // depends on staying under the ceiling white text needs. Here everything does:
290
+ // a 25-tone lift puts the fill above it and flips a compose button's label to
291
+ // black. The accent chroma cap already keeps these hues out of neon territory,
292
+ // and the hue itself is the caller's brand rather than ours to move. The
293
+ // analyzer still runs where it was designed to, inside `color-roles`.
281
294
  const tone = isDark ? Math.max(peakTone(hue), DARK_FLOOR) : LIGHT_FILL_TONE;
282
295
  const pair = fillPair(fillPalette, tone);
283
296
  tokens[`--${role}`] = pair.fill;
@@ -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_FLOOR","ACCENT_CHROMA","TEXT_TONE","light","dark","TEXT_CHROMA","SUBTLE_SOURCE_TONE","SUBTLE_ALPHA","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","chroma","fromInt","peakChroma","vividHueNear","baseChroma","bestHue","delta","candidate","fillPair","startTone","fill","foreground","accentHues","seedHue","firstRotation","secondRotation","geometricA","geometricB","geometricStandout","quiet","snapped","standout","errorHue","secondary","tertiary","buildPolicyTokens","seedHex","isDark","roles","pinned","seed","brandPalette","primary","max","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","LIGHT_FILL_TONE","DARK_FLOOR","ACCENT_CHROMA","TEXT_TONE","light","dark","TEXT_CHROMA","SUBTLE_SOURCE_TONE","SUBTLE_ALPHA","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","chroma","fromInt","peakChroma","vividHueNear","baseChroma","bestHue","delta","candidate","fillPair","startTone","fill","foreground","accentHues","seedHue","firstRotation","secondRotation","geometricA","geometricB","geometricStandout","quiet","snapped","standout","errorHue","secondary","tertiary","buildPolicyTokens","seedHex","isDark","roles","pinned","seed","brandPalette","primary","max","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 +1 @@
1
- {"version":3,"file":"color-policy.d.ts","sourceRoot":"","sources":["../../../../src/theme/color-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAM9D,sFAAsF;AACtF,eAAO,MAAM,YAAY;;;;;CAKf,CAAC;AAEX,wFAAwF;AACxF,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,kFAAkF;AAClF,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAkLlD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,UAAU,EACjB,MAAM,GAAE,aAAkB,GACzB,YAAY,CA8Gd"}
1
+ {"version":3,"file":"color-policy.d.ts","sourceRoot":"","sources":["../../../../src/theme/color-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAK9D,sFAAsF;AACtF,eAAO,MAAM,YAAY;;;;;CAKf,CAAC;AAEX,wFAAwF;AACxF,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,kFAAkF;AAClF,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AA6LlD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,UAAU,EACjB,MAAM,GAAE,aAAkB,GACzB,YAAY,CAgHd"}
@@ -1 +1 @@
1
- {"version":3,"file":"color-policy.d.ts","sourceRoot":"","sources":["../../../../src/theme/color-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAM9D,sFAAsF;AACtF,eAAO,MAAM,YAAY;;;;;CAKf,CAAC;AAEX,wFAAwF;AACxF,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,kFAAkF;AAClF,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAkLlD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,UAAU,EACjB,MAAM,GAAE,aAAkB,GACzB,YAAY,CA8Gd"}
1
+ {"version":3,"file":"color-policy.d.ts","sourceRoot":"","sources":["../../../../src/theme/color-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAK9D,sFAAsF;AACtF,eAAO,MAAM,YAAY;;;;;CAKf,CAAC;AAEX,wFAAwF;AACxF,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,kFAAkF;AAClF,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AA6LlD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,UAAU,EACjB,MAAM,GAAE,aAAkB,GACzB,YAAY,CAgHd"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxyhq/bloom",
3
- "version": "0.74.1",
3
+ "version": "0.74.3",
4
4
  "packageManager": "bun@1.3.14",
5
5
  "description": "Bloom UI — Oxy ecosystem component library for React Native + Expo + Web",
6
6
  "main": "lib/commonjs/index.js",
@@ -115,4 +115,5 @@ describe('colour policy legibility', () => {
115
115
  it('never picks black where white is legible', () => {
116
116
  expect(avoidableBlack).toEqual([]);
117
117
  });
118
- });
118
+
119
+ });
@@ -25,7 +25,6 @@
25
25
  import { argbFromHex, type RoleColors } from './color-engine';
26
26
  import { Hct } from './color-engine/hct';
27
27
  import { TonalPalette } from './color-engine/tonal-palette';
28
- import { fixIfDisliked } from './color-engine/dislike-analyzer';
29
28
  import { blueFromArgb, greenFromArgb, redFromArgb } from './color-engine/color-utils';
30
29
 
31
30
  /** Semantic status seeds. Only hue and chroma survive; tones come from the policy. */
@@ -95,9 +94,20 @@ const noLegibleForeground = (argb: number): boolean =>
95
94
  /** The tone a white-label fill sits at in LIGHT mode. */
96
95
  const LIGHT_FILL_TONE = 45;
97
96
 
98
- /** No dark-mode fill sits below this: under it a colour goes heavy on black. */
97
+ /** No dark-mode BRAND fill sits below this: under it a colour goes heavy on black. */
99
98
  const DARK_FLOOR = 58;
100
99
 
100
+ /**
101
+ * Accent fills sit at their hue's PEAK tone in dark — where the hue is most
102
+ * itself, so a lime reads as lime rather than olive.
103
+ *
104
+ * The cost is fixed and cannot be engineered away: peaks for that family live
105
+ * around tone 88, and white text needs a fill at or below 49, so these buttons
106
+ * carry a BLACK label. Capping the tone to win the white label back turns the
107
+ * same accents dull — measured on blue, rgb(252 220 0) becomes rgb(134 116 0).
108
+ * The bright colour is the deliberate choice.
109
+ */
110
+
101
111
  /** Chroma ceiling for an accent FILL — the brand palette's own maximum, not the gamut's. */
102
112
  const ACCENT_CHROMA = 80;
103
113
 
@@ -291,12 +301,14 @@ export function buildPolicyTokens(
291
301
  // analyzer runs there — Bloom ships it yet only reaches it on the fidelity
292
302
  // path, which no Bloom variant uses, so a rotated accent could land in the
293
303
  // band with nothing to lift it out.
294
- // LIGHT sits at the fill tone, and deliberately does NOT run the bile
295
- // analyzer over it. Lifting a yellow-green out of that band costs 25 tones,
296
- // which puts the fill above the white-label ceiling and flips a button's
297
- // label to black on the compose button, whose whole point is white on
298
- // colour. The accent chroma cap already keeps this out of neon territory,
299
- // and the hue is the caller's brand, not ours to move.
304
+ // Bloom's own tone policy governs this, and M3's `fixIfDisliked` deliberately
305
+ // does not get a say. That heuristic flags dark yellow-greens and lifts them
306
+ // to tone 70 a remedy calibrated for M3's tone assignments, where nothing
307
+ // depends on staying under the ceiling white text needs. Here everything does:
308
+ // a 25-tone lift puts the fill above it and flips a compose button's label to
309
+ // black. The accent chroma cap already keeps these hues out of neon territory,
310
+ // and the hue itself is the caller's brand rather than ours to move. The
311
+ // analyzer still runs where it was designed to, inside `color-roles`.
300
312
  const tone = isDark ? Math.max(peakTone(hue), DARK_FLOOR) : LIGHT_FILL_TONE;
301
313
  const pair = fillPair(fillPalette, tone);
302
314
  tokens[`--${role}`] = pair.fill;