Skip to content

Releases: react-zero-ui/core

SSR Safe onClick, CSS-variable support

07 Aug 07:30
8e9897b

Choose a tag to compare

Area Change
Built-in TS strip A programmatic @babel/preset-typescript pass now runs inside the parser. No Babel config required; works on .ts, .tsx, .js, .jsx, .cts, .mts.
SSR onClick helper zeroSSR.onClick(key, values) is fully static-analysed. Injects an optional 650 B runtime only when used; remains tree-shaken otherwise.
CSS-variable mode useUI('--blur', '0px') syncs state directly to a CSS custom property—no re-render, GPU-grade animations.
Dashed-key object fix Build-time resolver now handles { 'dark-mode': 'theme' }['dark-mode'] and y[x] where x = 'test-toggle'.
Boolean & ternary accuracy !!true, !5, and bool ? y[x] : z resolve correctly; added string-boolean coercion guards.
Robust file scan Fast-glob pattern covers JS/TS and CSS/SCSS/Sass/Less; hooks parsed only from code, tokens scanned from all files.
Error-caching scanner Token scanner caches both results and first failure; prevents log spam on repeated builds.
Cache key upgrade File-level LRU keyed by mtime:size for perfect change detection.

What's Changed

Full Changelog: v0.2.3...v0.3.4

v0.2.3 · Scoped Styles & New Parser (BREAKING)

09 Jul 01:00

Choose a tag to compare

v0.2.3 · Scoped Styles & New Parser (BREAKING)

TL;DR
🔒 Element-scoped UI variants · ⚡ 4× faster compile · 🎯 String-only keys · 🛑 Breaking change notice & migration guide below.


✨ Highlights

Feature What it means
Scoped styles Attach ref={setter.ref} and data-ui="key:value" is set only on that element; descendants style with key-value:* Tailwind classes.
String-only UI keys Both stateKey and initial value must be kebab-case strings. Guarantees deterministic CSS.
Tailwind-style variant discovery Parser resolves each stateKey and scans your codebase for key-value:utility classes—auto-registers custom variants, no plugin boilerplate.
New parser stack quick-glob + quick-lru + full Babel traversal → 4× faster on a 10 k-LOC repo.
Zero-runtime CSS Generates static selectors like .profile-card:theme-dark:bg-black via PostCSS 8.
TypeScript migration (phase 1) Core rewritten in .ts (helpers stay .cts).

🧩 Internal

  • Swapped fast-globquick-glob with .gitignore awareness.


📦 Install

# cli auto set up

npx create-zero-ui

npm

npm i @react-zero-ui/core


🗣 Feedback

Scoped styles are still fresh—file issues, tag v0.2 in the title, and include a repro. Let’s break it now, not in prod.

Relaunch under @react-zero-ui

25 Jun 19:45

Choose a tag to compare

🚀 v0.1.0 - Relaunch under @react-zero-ui

This is the first release of the Zero-UI core library under the new organizational namespace:

@react-zero-ui/core@0.1.0

🔄 What's Changed

  • Fully migrated from @austin1serb/react-zero-ui
  • Downgraded version to 0.1.0 beta
  • Package scope updated for long-term brand and ecosystem clarity
  • All internal imports, NPM metadata, and CLI dependencies updated
  • No functional or API changes yet - this is a structural realignment

📦 Install

npm install @react-zero-ui/core

⚠️ Migration Notice - old page still works

If you're using the old package:

npm uninstall @austin1serb/react-zero-ui
npm install @react-zero-ui/core

🧠 Context

This release marks the beginning of a structured ecosystem under the react-zero-ui GitHub org and the zero-ui.dev domain. Expect more scoped packages (CLI, docs, plugins) soon.

v1.0.21 – First Public Release

21 Jun 00:27

Choose a tag to compare

This is the first official GitHub release of @austinserb/react-zero-ui,
matching the stable version already published to npm.

No code changes -- this is for visibility and version tracking.