Releases: react-zero-ui/core
SSR Safe onClick, CSS-variable support
| 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
- feat: update to node-v22 by @Austin1serb in #15
- feat:eslint plugin by @Austin1serb in #16
- added useScopedUI hook by @Austin1serb in #17
- feat:css-varables-toggle by @Austin1serb in #18
- Feat:ssr safe onClick handler experimental by @Austin1serb in #19
- Upgrade/resolver by @Austin1serb in #20
- 0.3.4 by @Austin1serb in #21
Full Changelog: v0.2.3...v0.3.4
v0.2.3 · Scoped Styles & New Parser (BREAKING)
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-glob→quick-globwith.gitignoreawareness.
📦 Install
# cli auto set upnpx 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
🚀 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
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.