@taprootio/espalier 3.0.1 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,38 @@ here. This file ships in the published npm package. It is a curated public
5
5
  record and intentionally does not mirror the private `taproot-controls`
6
6
  development history.
7
7
 
8
+ ## 3.1.0 — Info becomes a real blue family, and intent colors become yours
9
+
10
+ - Give `intent="info"` its own fixed status family: blue (hue 244), derived
11
+ and emitted like danger/success/warning as `--esp-color-info`. It no
12
+ longer borrows the complementary family, which could render informational
13
+ styling green on complementary-adjacent brand seeds and made `info` mean
14
+ different colors on buttons versus badges.
15
+ - Add the `intents` theme field: retune any status family with an absolute
16
+ color — an `anchor:` reference or a supported color form (hex,
17
+ `rgb()`, `hsl()`, `oklch()`; CSS keywords are not parsed)
18
+ (`"intents": { "danger": "#700007", "info": "anchor:sky" }`). One
19
+ override drives the emitted family token, `intent=` pins on controls,
20
+ class-styled chrome, and derived tokens such as `dangerText`; the legacy
21
+ `semanticHues`/`variantChroma` knobs are ignored for an overridden
22
+ family. Overrides retune a family, never reassign one: `validateTheme`
23
+ rejects family names as values and warns when two status colors — or a
24
+ status color and the action color — become hard to distinguish, with
25
+ per-pair remediation advice counterfactual-tested as rendered at
26
+ emitted-token precision: a remedy is offered alone only when it
27
+ separates the pair by itself, as an explicit "widen/move, then
28
+ retune" sequence only when a concrete retune is found under it, and
29
+ never when it cannot work or is not proven to — a retune is
30
+ promised only when a concrete emitted candidate clears the
31
+ threshold, and a pair whose best candidate lands within the audit's
32
+ search margin is flagged as unreliable to retune rather than
33
+ impossible.
34
+ - Add the `accent.hover` role slot, so a hover can change family rather
35
+ than only lightness; when absent, `linkHover` follows `accent.text`
36
+ unchanged.
37
+ - Warn when an explicit `chroma` band targets an anchor-sourced token and
38
+ would move a declared swatch off its color.
39
+
8
40
  ## 3.0.0 — Intent and context replace the variant attribute
9
41
 
10
42
  - Remove the `variant` attribute. Its two jobs are now separate attributes: