Repository navigation
Astryx 0.7.4 — every published @astryxdesign/* package ships at this version.
OLD_VERSION=0.7.3 # replace with the Core version your project uses today
npm install @astryxdesign/core@0.7.4 @astryxdesign/cli@0.7.4 # plus every other published @astryxdesign/* package you use, at 0.7.4
npx @astryxdesign/cli upgrade --from "$OLD_VERSION" --apply --path .@astryxdesign/core
New features
BottomSheetSwitchernow gives every step its own native<dialog>while preserving one scrim, focus containment, scroll locking, Escape handling, and focus return. The public props and defaults are unchanged. Its forwardedrefnow follows the dialog that hosts the active step. (#7720)
Fixes
-
Busy controls now announce “Loading” once through the shared polite announcement channel instead of competing with a second live Spinner. This covers
TextInput,TextArea,Selector,MultiSelector,CheckboxInput,CommandPalette,DateInput,DateRangeInput,DateTimeInput,TimeInput,FileInput,DropdownMenuSubMenu,Thumbnail,ChatMessageList,ComplexSelector,Typeahead,Tokenizer, andBaseTypeahead. Announcements made inside an open modal stay inside that modal. (#7920, #7930, #7939, #7942, #7948, #7950, #7954, #7956) -
ChatComposerInputannounces a trigger menu’s visible loading state once, while cached results that arrive before the loading row appears stay silent. (#7900) -
When a focused Carousel arrow reaches the end and becomes unavailable, focus moves to the scroll area without undoing the scroll. (#7926)
-
CommandPaletteItemexposes highlighted, selected, and disabled states on its theme target:.astryx-command-palette-item[data-highlighted] { /* … */ } .astryx-command-palette-item[data-selected] { /* … */ } .astryx-command-palette-item[data-disabled] { /* … */ }
Rendering, semantics, and props are unchanged. (#7967)
-
A busy
DateInputkeeps its ordinary appearance and shows its Spinner; only a disabled field is dimmed. (#7968) -
Selector, DropdownMenu, and ContextMenu options inside open, closed, or nested shadow roots now commit when clicked. (#7914)
-
useTypeaheadclears its pending type buffer when its component unmounts or becomes hidden, leaving no timer behind and restoring with an empty buffer. (#7938)
Documentation
BottomSheetSwitcheranatomy now describes the per-step dialog structure. (#7720)
@astryxdesign/cli
Experimental icon sets
Integrations can ship an icon set, projects can select one, agents can find icons by meaning, and copied templates can replace declared icons with the selected set. The feature is isolated under astryx experimental and does not change stable search results or template output unless a project opts in with experimental.iconSet. (#7759)
astryx experimental icon --list
astryx experimental icon "delete"
astryx experimental icon use <set>New features
- Docs, schema fields, and enum values can declare
stability: 'experimental'. The CLI labels experimental commands, keeps experimental docs out of stable search, and tells integration authors when an older supported CLI would drop the descriptor. (#7759) - Docs can render commands for each reader’s package manager with
{@command …},{@pm …}, and{@pm-only …}tokens.integration check --nextcan validate them before their findings become warnings in the next minor release. (#7868) - An integration doc can
replaceorextendan existing guide by route and place a sectionbeforeorafteranother section. Reads name the contributing package, and unresolved placement is reported as a non-failing note. (#7936) astryx doctor --built <path>checks a finished project, output folder, or HTML file for Astryx use and reports source-level purity issues when source is available. It reads files only and does not execute them. (#7886)astryx theme palette generatereceipts now identify the generator and candidate format without changing existing receipt fields. (#7678)- Integration validation reports what examples need to run wherever they are shown, including package availability, exported subpaths, props, browser-only dependencies, assets, and runnable code. These are notes today and become strict warnings in the next minor. (#7891)
- Project agent docs written by
astryx initnow tell agents to runastryx doctor --builtbefore delivering a build when the installed CLI supports it. (#7944)
Fixes
astryx doctor --builtno longer counts type-only imports as shipped Astryx use. (#7945)astryx discoverresults name their source package, and typo-tolerant lookup now matchesastryx search. (#7147)astryx searchfinds family members by their spelled-out names, lists representative members for a family-name query, and orders tied results by fit instead of alphabetically. (#7927, #7955, #7959)astryx integration verifynow reads the tarball filename npm 8 actually writes for scoped packages. (#7933)
Documentation
- Four block templates now say what they show and when to use them. (#7963)
- BottomSheetSwitcher templates describe the new per-step native dialogs. (#7720)
- The CommandPaletteItem showcase describes its rendered command and shortcut rows. (#7967)
- Lab ListInput showcase blocks are discoverable as templates. (#7953)
- Six guide titles now use plainer, consistent sentence case without changing their routes. (#7934)
Themes
Butter, Gothic, Matcha, Stone, and Y2K move their maintained light and dark themes to reviewed named palette stops. Public compatibility palette objects and metadata stay available, and apps can preserve the previous appearance by overriding the affected color, syntax, shadow, and component tokens. The CLI templates ship the same mappings. (#7669, #7670, #7671, #7672, #7675)
Contributors
Thanks to everyone who contributed to this release:
@cixzhang @ernestt @HelloOjasMutreja @imdreamrunner @josephfarina @rubyycheung @vjeux
Full Changelog: v0.7.3...v0.7.4