Tools
What's new
Release history for BlastCSS — every feature, fix, and breaking change.
The first stable release. The public API surface is now committed:
- Class names with the
b-prefix (components) and unprefixed utilities are stable. - All
--b-*design tokens are stable. - Module exports (
.,./core,./components,./components-extra,./utilities,./motion,./reset,./js,./tokens.json,./tokens.css,./tokens.ts) are stable. - The optional JS helper API —
autoInit,initDialogs,initCollapse,initTabs,initDropdowns,initToasts,initPopovers,initSegmented,initCombobox,initTagInput,initCommand,initTheme,showToast,viewTransition,trapDialogFocus— is stable.
Breaking changes will go through major version bumps from here.
Foundations modernized
- Migrated the entire color system to OKLCH with
light-dark()so dark mode works without redefining variables. - Added
color-scheme: light darkby default, with[data-theme="dark"]/[data-theme="light"]overriding. - Added
@supports not (color: light-dark(...))fallback for older browsers. - Added fluid type scale (
--b-fluid-h1,--b-fluid-h2,--b-fluid-h3,--b-fluid-lead). - Added fluid spacing (
--b-fluid-1…--b-fluid-5) and expanded spacing scale (--b-7,--b-14,--b-20,--b-24,--b-px). - Added motion tokens (
--b-duration-instant/fast/slow/slower,--b-ease-in/out/spring). - Added z-index scale (
--b-z-dropdown/sticky/popover/toast/modal/max). - Added shadow tokens (
--b-shadow-xs/xl/ring/glow).
Reset & base
- Added
interpolate-size: allow-keywordsfor animating to/fromauto. - Added
text-wrap: balanceon headings andtext-wrap: prettyon paragraphs. - Added blockquote, mark, kbd, abbr, figure styling.
- Added
:where()-scoped resets to lower specificity. - Modernized scrollbar styling.
Layout
- All
.b-container*now havecontainer-type: inline-sizeenabling container queries. - Added
.b-center,.b-cover,.b-switcher,.b-prose,.b-spacer,.b-subgrid,.b-sidebar-end. - Added container-aware breakpoint variants via
@sm:,@md:,@lg:.
Forms
- Textareas now use
field-sizing: contentto grow with input. - Added
.b-input-sm/.b-input-lg,.b-search(with icon),.b-error,.b-fieldset,[data-required]label. - Improved validation focus rings.
Components — modernized
- Modals and drawers now use
@starting-style+transition-behavior: allow-discretefor native open/close animations. - Popovers support the native
popoverattribute and CSSanchor-name/position-anchorwhere supported, with JS fallback. - Buttons gained
.b-btn-soft,.b-btn-outline,.b-btn-success,.b-btn-warning, plus loading state viaaria-busy="true". - Cards now have
.b-card-interactiveand use container queries. - Tabs gained
.b-tabs-pillvariant. - Tables gained
.b-table-stripedand.b-table-hover. - Toasts entry-animate via
@starting-style. - Navbar gained backdrop blur and
.b-navbar-sticky. - Avatars gained sizes (
-sm/-lg/-xl) and.b-avatar-statusindicator. - Stat gained
.b-stat-trend(and-downvariant). - Progress gained
.b-progress-indeterminate. - Added
.b-kbdand.b-divider. - Added
.b-badge-info,.b-badge-neutral,.b-badge-dot.
New components
- Segmented control (
.b-segmented) — radio-based, accessible. - Combobox (
.b-combobox) — searchable input with arrow-key navigation. - Command palette (
.b-command) — Spotlight-style with global ⌘K shortcut. - Tag input (
.b-tag-input) — multi-value entry with chips. - Stepper (
.b-stepper,.b-stepper-horizontal) — auto-numbered via CSS counters. - Code block (
.b-code) with header, language label, and copy button. - Hero (
.b-hero,.b-hero-grid) for landing pages.
Motion layer (new)
@view-transitionenabled by default for cross-document SPA-style navigation.- Reusable named transitions:
.b-vt-namewith--b-vt. - Scroll-driven
b-revealanimation whereanimation-timelineis supported. - Animation utilities:
.b-anim-fade-in,-slide-up,-scale-in,-pulse. - Reduced-motion guard at the layer level.
Utilities
- Container-query variants:
@sm:,@md:,@lg:(e.g.,@md:grid-2). - New utilities:
truncate,text-pretty,aspect-portrait,font-display,font-semi,tracking-,bg-soft-,bg-gradient-primary,border-strong,border-primary,border-t/-b,rounded-2xl,rounded-md,rounded-full,shadow-xs/-xl/-glow,scroll-snap-x/-y,snap-,content-auto,isolate,scheme-,motion-safe:,motion-reduce:, expandedgap-,col-span-,row-span-*,h-screen,min-h-screen,max-w-prose,w-fit.
JavaScript (new helpers)
showToast({ title, body, variant, duration })— programmatic toast API.viewTransition(callback)— wrap DOM mutations in a View Transition.initSegmented,initCombobox,initTagInput,initCommand,initTheme— auto-included inautoInit().- Theme toggle (
data-b-toggle="theme") withlocalStoragepersistence andb:theme:changeevent. - Popover anchor wiring via
anchor-namewhere supported.
Documentation site (rewritten)
- Brand-new generated docs site at
docs/with sidebar nav, sticky header, command-palette search (⌘K), copy-to-clipboard on code blocks, scrollspy on each page, and live theme toggle. - New theme playground at
docs/playground.html— interactive sliders for hue, chroma, radius, density, and weight; live CSS export. - New showcase at
docs/showcase.html— three realistic interfaces (dashboard, marketing, settings form). - 33 markdown content files in
docs-src/(guides + components + utilities) authored from scratch. - Zero-dependency static generator at
scripts/build-docs.mjs.
Build & tooling
- Build script now emits
blast.components-extra.min.cssandblast.motion.min.cssbundles. - Token export rewritten to parse
light-dark()calls and emit accurate light/dark JSON, CSS, and TypeScript. - Updated
npm run test:staticto also build docs. - Added
npm run build:docsandnpm run build:all. - Updated
serve.mjswith smart fallback todocs/for arbitrary paths.
Browser support
- Floor raised to evergreen (Chrome/Edge 125+, Safari 17.4+, Firefox 128+) for
light-dark(),@starting-style, container queries, popover API. - Older browsers fall back to a static hex palette via
@supports.
- Added optional JavaScript helpers for dialogs, collapse, tabs, dropdown close behavior, toasts, and popovers.
- Added spinner, drawer, collapse, popover, close button, input group, switch, range, and file input styling.
- Added static docs site, theme playground, kitchen-sink example, benchmark fixtures, and starter templates.
- Added generated token exports for CSS, JSON, and TypeScript.
- Added package export checks, HTML fixture checks, visual manifest checks, and benchmark generation.
- Added Playwright browser tests, axe scans, visual screenshot tests, and browser matrix CI.
- Added Bootstrap migration guide, 1.0 readiness checklist, and release process docs.
- Added release workflow with npm provenance publishing and package dry-run validation.
- Expanded component coverage with dropdown, accordion, toast, tooltip, pagination, breadcrumb, avatars, chips, lists, stats, empty states, icon buttons, and button groups.
- Expanded utility coverage for layout, sizing, aspect ratio, object fit, opacity, pointer events, positioning, and responsive grids.
- Added quality checks for bundled exports and required selectors.
- Tightened gzip size budgets.
- Added architecture, components, frameworks, and quality docs.
- Added the first CSS-only framework foundation.
- Added tokens, reset, base styles, layout primitives, forms, accessibility helpers, components, and utilities.
- Added dependency-free build script and gzip size checks.
- Added static demo and README.