Repository navigation
v0.8.0
Highlights
- BREAKING —
lucide-reactis now an optional peer dependency. Icon props (Button/Badge/Input/Dialog) take a Lucide icon component instead of a string name, eliminating a ~1.37 MB whole-barrel icon import from consumer bundles. (#223) - BREAKING — brand-named semantic tokens. New
--color-vermillion(朱) and--color-indigo(藍) tokens;--color-accentis removed andText'scolorprop drops"accent". (#236) - New
--indigo-*primitive scale — a traditional Japanese indigo, the second brand color alongside vermillion. (#232) error/destructivesplit onto a dedicated--red-*primitive — value-identical to vermillion today, a governance seam so brand 朱 and danger red retune independently. (#240)- Tree-shakeable lv1 barrel + SSR support —
import { Button }drops ~81% (~48 KB → ~9.7 KB), and React bundles now carry a'use client'directive for Next.js App Router. (#228, #225)
⚠️ Breaking Changes
lucide-react → optional peer dependency, icon props take components (#223)
Install lucide-react yourself (pnpm add lucide-react) and pass the icon component, not a name string:
| Before | After |
|---|---|
<Button icon="Search" /> |
import { Search } from 'lucide-react'<Button icon={Search} /> |
Applies to Button / Badge icon, Input iconLeft / iconRight, and Dialog's actionButton.icon / cancelButton.icon / subActionButton.icon. The IconName type export is removed — icon props are now typed as LucideIcon (import from lucide-react).
--color-accent removed, brand-named tokens added (#236)
| Before | After |
|---|---|
<Text color="accent"> |
<Text color="vermillion"> (also new: color="indigo") |
bg-accent / text-accent / var(--color-accent) |
bg-vermillion / text-vermillion / var(--color-vermillion) |
tokens.color.accent / .accentForeground |
tokens.color.vermillion / .vermillionForeground (or .indigo / .indigoForeground) |
Settled pre-1.0 deliberately — api-stability.md freezes CSS variable names as BREAKING from v1.0.0, so the brand-named tokens land in v0.8.0 to bake before the contract goes live.
What's Changed
Minor Changes
- BREAKING: brand-named semantic tokens
--color-vermillion/--color-indigo;--color-accentremoved (#185) — #236 - feat(tokens): add the
--indigo-*primitive color scale (#181) — #232 - BREAKING:
lucide-reactoptional peerDep + tree-shakeable icon component API (#117, #118) — #223 - refactor(tokens): add
--red-*primitive scale, repointerror/destructiveoff vermillion (#238) — #240
Patch Changes
- perf(build): make the
components/lv1barrel tree-shakeable via per-component entries — #228 - chore: normalize
package.jsonsideEffectsto["*.css", "**/*.css"]— #223 - feat(lint): add the
no-primitive-colorBiome GritQL plugin (#122) — #220 - fix(ssr): inject
'use client'into the lv1 build via tsup banner (#116) — #225
Full Changelog: v0.7.0...v0.8.0