Skip to content

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 19 Jul 08:16
f8cc988

Minor Changes

  • #19 78746ca Thanks @MikeNotThePope! - Visual "pop" overhaul: neubrutalist hard shadows, real surface hierarchy, and press-down interactions across both themes.

    • New hard-shadow tokens: --hard-shadow-color / --hard-shadow-sm|/|-lg|-amber exposed as shadow-hard-sm, shadow-hard, shadow-hard-lg, and shadow-hard-amber utilities. Light mode drops a warm near-black slab; dark mode extrudes with a border-toned slab (a dark drop is invisible on a near-black ground). Lava theme gets basalt equivalents.
    • Surface hierarchy: light mode background moves to warm-100 so cards (warm-white) and page surfaces (warm-50) genuinely separate; dark mode gains a deeper warm-975 ground beneath warm-900 page / warm-850 card / warm-800 popover. Same ladder for lava via basalt-975.
    • Press mechanics: solid Button variants and interactive Cards now rest on a hard shadow, lift on hover, and sink flush on press (prefers-reduced-motion respected).
    • Token-driven amber: new --primary-border, --secondary-fill-foreground, and --secondary-fill-border tokens; the amber Button variant no longer needs per-component dark: overrides (and now follows theme secondaries, e.g. sulfur under the lava theme).
    • Overlays: popovers, menus, dialogs, tooltips, and toasts swap soft shadow-md/lg for the hard-shadow treatment.
    • Light-mode --secondary/--muted step up to warm-200; --surface-interactive* follow.
  • #15 58e1f7a Thanks @MikeNotThePope! - Add info variants to the components that consume status colors: Alert (variant="info"), Badge (variant="info"), and Toaster (toast.info() toasts are now styled with the info status tokens instead of falling back to default styling).

  • #12 ec856c9 Thanks @MikeNotThePope! - Add Lava theme: magma/sulfur/basalt OKLCH palette with light and dark semantic mappings, enabled via data-theme="lava". Registered in the theme picker and the WCAG contrast audit (all pairings pass AA in both modes).

  • #20 772ed03 Thanks @MikeNotThePope! - Palette audit fixes for both themes (default + lava).

    • New mid-neutral steps: warm-350/warm-450 and basalt-350/basalt-450 close the 13–14% lightness gaps between the 300/400/500 steps — giving disabled text, tertiary text, and hover borders proper options. warm-350warm-450 are exposed as Tailwind utilities alongside the existing scale.
    • Ramp depth: new amber-900 and sulfur-900 extend the yellow ramps to a true dark step for text-on-amber/sulfur surfaces.
    • De-duplicated warning: --raw-warning is now an alias of --raw-amber-600 (they were byte-identical values that could drift apart); light-mode --status-warning-text now uses amber-800 instead of a hand-rolled near-duplicate.
    • plum-50 reads as plum: chroma raised from 0.009 to 0.02 — it was within a just-noticeable difference of the warm neutrals.
    • Sidebar fix: rail focus shadow used shadcn-upstream hsl(var(--sidebar-border)), which wraps an OKLCH value in hsl() and silently produced invalid CSS; now uses the variable directly.
    • Docs tokens page updated to match the current ladders (post surface-hierarchy overhaul) and new steps.
  • #14 c34a073 Thanks @MikeNotThePope! - Add --status-info token family (--status-info, --status-info-surface, --status-info-text) with light/dark values for both the default theme (new --raw-info blue) and the lava theme (ijen blue), exposed as status-info Tailwind color utilities and covered by the WCAG contrast audit.

Patch Changes

  • #17 ee810dc Thanks @MikeNotThePope! - Define the missing destructive-foreground token. Button and Badge referenced text-destructive-foreground, but the token was never defined, so Tailwind v4 silently dropped the utility and destructive controls inherited the page text color (failing WCAG AA contrast in light mode). The token is now defined in all four theme blocks — white everywhere except Lava dark, whose lighter destructive fill needs near-black — mapped in @theme inline, and the contrast audit now checks the pair components actually use.

  • #18 ce66fab Thanks @MikeNotThePope! - Remove unused date-fns dependency, re-export useDirection directly from Radix, and simplify the library build config (esbuild resolves @/ via tsconfig paths natively).

  • #23 4709287 Thanks @MikeNotThePope! - FormActions: replace physical ml-auto with logical ms-auto (RTL correctness) and allow the action bar and end-group to wrap on narrow viewports instead of overflowing. The direction audit now also bans ml-auto/mr-auto, which it previously missed.

  • #16 282bce1 Thanks @MikeNotThePope! - Darken status border colors to meet WCAG 3:1 non-text contrast in light mode: success and warning in the default theme (amber-500 → amber-600), and success, warning (sulfur-500 → sulfur-700), and info in the Lava theme. The contrast audit now checks every status border against its surface and the page background, so regressions fail the build.