Releases: facebook/astryx
Releases · facebook/astryx
v0.1.1
This release continues removing the xds naming from the public API, alongside component fixes and a new astryx build CLI workflow.
@astryxdesign/core
Breaking Changes
- Rename
xdsTokenDefaultsexport totokenDefaults(exported from@astryxdesign/core/theme). Update imports accordingly. Part of removing xds naming from the public API.
Fixes
ChatLayoutScrollButton: widen trailing inline padding when a label (e.g. "New messages") is shown so the text isn't cramped against the pill's rounded corner. The icon-only collapsed state is unchanged.DateInput: no longer crashes the page while typing an incomplete date. Typing a leading0or1could coerce the in-progress value into an invalid date (year0) and throw aRangeError. Partial input is now treated as incomplete instead of being parsed.Selector: remove doubled focus ring. The inner combobox button drew its own:focus-visibleoutline on top of the wrapper's:focus-withinring. The button now defers to the wrapper's focus ring, matchingTextInputandNumberInput.Layout:<Layout>…</Layout>no longer renders a blank page. Children now render as a shorthand for thecontentslot (<Layout>{main}</Layout>≡<Layout content={main} />); an explicitcontentprop still wins when both are provided.ToggleButton:pressedChangeActionnow runs inside an interruptible transition with optimistic pressed state (matchingSwitch), so the loading spinner appears and the action's lifecycle is respected. The optimistic state flips immediately, the spinner is debounced, the action is interruptible, and synchronous suspending handlers are supported.pressedChangeActionnow acceptsvoid | Promise<void>.
@astryxdesign/cli
New Features
astryx build: new command for page composition with natural-language search ranking.build "<idea>"returns an agent-ready composition kit grouped by role — a START line (scaffold vs compose), the closest PAGE template, always-on FRAME (page shell) and FOUNDATION (layout/typography/action) primitives, idea-specific BLOCKS and DOMAIN COMPONENTS, and a SETUP reminder. Always-on FRAME/FOUNDATION groups raised measured component recall from 15% → 71% on an agent-grounded eval.buildwith no args prints the how-to-build playbook.- Build-first agent docs: generated
CLAUDE.mdnow leads with thebuildworkflow and includes a required-CSS setup note (reset.css+astryx.css) so components never render unstyled.initpoints agents atastryx build/astryx search. - Denser, tailored agent docs: generated
CLAUDE.md/AGENTS.mdblock tightened from ~48 → ~26 lines (same information), with styling guidance tailored to the project's configured system (StyleXxstyle, Tailwind utility classes, or plainstyle/classNamewithvar(--token)).
Fixes
npx astryxnow works when the CLI is installed as a real npm package. The bin resolves sibling modules via its real path (realpath ofimport.meta.url), fixingERR_MODULE_NOT_FOUNDwhen invoked via thenode_modules/.bin/astryxsymlink. Non-interactiveinit/themeerrors now sayastryx <command>instead of the stalexds <command>.- v0.1.0 upgrade codemod: migrate legacy
@xds/*module specifiers and config surfaces to the Astryx v0.1.0 names. [breaking] Remove legacyastryx.versionFileupdate-hint support frompackage.json.
Documentation
- Theme System guide: add an
npm installstep to Quick Start soimport {neutralTheme} from '@astryxdesign/theme-neutral'doesn't fail withCannot find module(#3082).
@astryxdesign/build
Breaking Changes
- Rename Vite integration exports off the xds name:
xdsStylex→astryxStylex, and option typesXDSVitePluginOptions/XDSVitePluginLegacyOptions→AstryxVitePluginOptions/AstryxVitePluginLegacyOptions. Update imports from@astryxdesign/build/vite. - Rename Next.js helper
withXDS→withAstryx(exported from@astryxdesign/build/next). Updatenext.config.mjs:import {withAstryx} from '@astryxdesign/build/next'.
Contributors
Thanks to everyone who contributed to this release: @cixzhang, @ejhammond, @joeyfarina, @josephfarina, @nynexman4464
Full Changelog: v0.1.0...v0.1.1