Skip to content

v0.26.0

Latest

Choose a tag to compare

@bambamboole bambamboole released this 25 Jul 11:33
873ab3d

0.26.0 (2026-07-24)

⚠ BREAKING CHANGES

  • refresh the default look — deep lagoon palette, dark elevation, 14px type scale
  • collapse the shadcn host-variable layer into the lt token namespace
  • align the last off-vocabulary names
  • one variant vocabulary — semantic variant everywhere, emphasis for looks
  • unify Badge on the tone palette with a single color prop
  • split Button and Action styling into variant (emphasis) and color (intent)
  • rename the feedback variant error to danger

Features

  • add font, ring, border, radius, shadow, and chart tokens (fc05276)
  • add normalizeToOklch for hex and rgb theme inputs (3265d53)
  • add oklch color math utilities for theme derivation (e1233db)
  • add PHP oklch color math mirroring the JS derivation (557d033)
  • add PHP Theme value object with createTheme-parity toCss (62cf761)
  • add Theme schema and createTheme CSS emitter (85fdb86)
  • backend-driven theming, token gaps, styling cleanup (a69f3dd)
  • collapse the shadcn host-variable layer into the lt token namespace (61af59c)
  • color chart series from the categorical palette (cccc124)
  • derive theme foreground and states from normalized hex/rgb inputs (f609095)
  • expose injectTheme and theme API from package barrels (2e14dbb)
  • refresh the default look — deep lagoon palette, dark elevation, 14px type scale (3e9b4d7)
  • rename the feedback variant error to danger (bf541c0)
  • render the PHP theme via the latticeTheme directive and Lattice::theme (2d90c71)
  • split Button and Action styling into variant (emphasis) and color (intent) (2e2ff2c)
  • unify Badge on the tone palette with a single color prop (7ef2ddb)

Bug Fixes

  • keep a concrete hex fallback for the color picker default (a656061)
  • keep the disabled treatment on checked checkboxes (f49aa06)
  • reject Color dark counterparts and expose the disabled token pair (0ae81a8)
  • reject CSS-breakout characters in theme values and cover near-gray parity (66fde6c)
  • reproduce default color states and generalize on-color foreground derivation (c5f6de9)
  • restore the color-picker selection ring and wire the ring-offset token (0e79290)
  • use a dark foreground for the warning color in dark mode (68d6a27)

Refactoring

  • align the last off-vocabulary names (c74b7b8)
  • apply rector suggestions to the slim Theme (e07d8a1)
  • apply rector suggestions to theme classes (cc4d942)
  • drop config-based theming, register themes via Lattice::theme() only (8ff1707)
  • drop the unimplemented chart field from the Theme type (e01aaaf)
  • let Button own variant and emphasis defaulting (5124727)
  • make ThemeRenderer the single owner of theme rendering (30c0339)
  • one variant vocabulary — semantic variant everywhere, emphasis for looks (d0bba21)
  • remove the JS theming emitter, keep the appearance mode API (46e87c2)
  • route all focus rings through the ring-width token and tokenize toggle disabled state (9029e27)
  • route chart tokens through host variables and drop inert tokens (ad7cf38)
  • slim Theme to a flat token map, drop oklch and derivation (adf936d)
  • tokenize focus ring and disabled treatment, drop raw hex (0a0655f)
  • tokenize remaining disabled treatments outside the otp group dim (20e78b8)

Documentation

  • align prose and examples with the variant, emphasis, and danger vocabulary (54bcd81)
  • document backend-only theming (f655f21)
  • document server-side PHP theming (8280a1d)
  • lead theming page with createTheme (ffdf538)