Repository navigation
feat!: move to Astryx 0.7.0; prepare 0.2.0-alpha.19 - #66
Conversation
Bump @astryxdesign/core, theme-neutral and cli from 0.6.5 to 0.7.0 and @astryxdesign/lab to 0.7.0-canary.97a0d31 (the release commit's parent). - Mirror the new core subpaths: theme/dataTokens.stylex, the StyleX helper modules core now exports, Markdown/plugin-renderer, neutral fonts.css. No subpath was removed. - Re-take the ComplexSelector, Drawer and Tour forks from 0.7.0 and keep their fixes. ComplexSelector gains renderTrigger and the container/control styling parts; useFieldInputStyling is inlined since core does not export it. Drawer takes lab's padding prop and container inset; the upstream tests that read the StyleX stylesheet are skipped like the existing ones. - PagedSelector replaces xstyle/className/style with the container* and control* props, following Field-composed inputs. - NotificationStack sets the live role Banner used to derive from status (alert for error/warning, status otherwise), since 0.7.0 stopped deriving it. - Record Astryx's 0.6.7 and 0.7.0 codemods for consumers under 0.2.0-alpha.19; regenerate upgrade fixtures and the Lablup theme.
PR Analysis Report📚 Storybook PreviewGitHub Pages may take up to a minute to hydrate after the deploy. 🧩 Changed Components
26 other changed file(s) in
|
There was a problem hiding this comment.
🟡 Changes recommended
The custom ComplexSelector trigger does not receive or expose its disabled state.
1 open finding
What changed in this PR
Upgrades ui-common to Astryx 0.7.0 and prepares the 0.2.0-alpha.19 release.
Changes:
- Updates Astryx dependencies, exports, generated theme assets, and upgrade codemods.
- Rebases ComplexSelector, Drawer, and Tour forks.
- Preserves NotificationStack live-region behavior.
| File | Description |
|---|---|
CHANGELOG.md |
Documents the release. |
README.md |
Updates core override guidance. |
package.json |
Bumps versions and exports. |
pnpm-lock.yaml |
Locks Astryx 0.7 dependencies. |
pnpm-workspace.yaml |
Updates peer and age rules. |
src/index.ts |
Mirrors new root exports. |
src/exports.test.ts |
Updates fork export expectations. |
src/components/PagedSelector/PagedSelector.tsx |
Adopts styling-part props. |
src/components/NotificationStack/NotificationStack.tsx |
Restores explicit live roles. |
src/components/NotificationStack/NotificationStack.test.tsx |
Tests notification roles. |
src/forks/ComplexSelector/index.ts |
Exports trigger props. |
src/forks/ComplexSelector/ComplexSelector.tsx |
Rebases selector behavior and API. |
src/forks/ComplexSelector/ComplexSelector.test.tsx |
Updates selector tests. |
src/forks/ComplexSelector/ComplexSelector.styles.ts |
Refreshes compiled styles. |
src/forks/Drawer/useDrawerDialogPresence.ts |
Updates fork provenance. |
src/forks/Drawer/Drawer.tsx |
Adds container padding support. |
src/forks/Drawer/Drawer.test.tsx |
Adds padding tests. |
src/forks/Drawer/Drawer.styles.ts |
Refreshes compiled styles. |
src/forks/Tour/useTour.ts |
Updates fork provenance. |
src/forks/Tour/TourStep.tsx |
Updates fork provenance. |
src/forks/Tour/TourStep.styles.ts |
Refreshes style provenance. |
src/forks/Tour/TourContext.ts |
Updates fork provenance. |
src/forks/Tour/Tour.tsx |
Resets steps during deactivation render. |
src/forks/Tour/Tour.test.tsx |
Tests reset timing. |
src/forks/provenance.json |
Updates upstream hashes and versions. |
src/theme/lablup/built/theme.css.d.ts |
Adds generated CSS declaration. |
src/theme/lablup/built/theme.css |
Rebuilds theme CSS. |
src/theme/lablup/built/lablup.variants.d.ts |
Updates generated metadata. |
src/theme/lablup/built/lablup.js |
Rebuilds theme module. |
src/theme/lablup/built/lablup.d.ts |
Updates generated declarations. |
src/astryx/utils/interactionOverlay.stylex.ts |
Mirrors StyleX helper. |
src/astryx/utils/focusOutline.stylex.ts |
Mirrors StyleX helper. |
src/astryx/theme/neutral/fonts.css |
Mirrors neutral fonts. |
src/astryx/theme/dataTokens.stylex.ts |
Mirrors data tokens. |
src/astryx/Text/text.stylex.ts |
Mirrors text styles. |
src/astryx/Stack/stackItem.stylex.ts |
Mirrors stack-item styles. |
src/astryx/Stack/stack.stylex.ts |
Mirrors stack styles. |
src/astryx/Selector/selectorPresentation.stylex.ts |
Mirrors selector styles. |
src/astryx/NavItem/navItemStyles.stylex.ts |
Mirrors navigation styles. |
src/astryx/Markdown/plugin-renderer.ts |
Mirrors Markdown renderer. |
src/astryx/Layout/padding.stylex.ts |
Mirrors padding styles. |
src/astryx/Layout/edgeCompensation.stylex.ts |
Mirrors edge compensation. |
src/astryx/Layout/container.stylex.ts |
Mirrors container styles. |
src/astryx/Layer/layerViewportInset.stylex.ts |
Mirrors viewport inset styles. |
src/astryx/Layer/layerTextReset.stylex.ts |
Mirrors text reset styles. |
src/astryx/Layer/layerAnimations.stylex.ts |
Mirrors layer animations. |
src/astryx/Indicator/indicator.markers.stylex.ts |
Mirrors indicator markers. |
src/astryx/Icon/IconSize.stylex.ts |
Mirrors icon sizing. |
src/astryx/DateInput/tokens.stylex.ts |
Mirrors date-input tokens. |
packages/cli/package.json |
Bumps CLI and Astryx dependency. |
packages/cli/migration/0.1-to-0.2.json |
Updates required lab canary. |
packages/cli/codemods/0.2.0-alpha.19/upstream.json |
Registers upstream migrations. |
packages/cli/test/cli/cli.test.ts |
Tests registry entry. |
packages/cli/test/upgrade/fixtures/subpath-barrel/expected/ui-common-upgrade-report.md |
Updates fixture report. |
packages/cli/test/upgrade/fixtures/subpath-barrel/expected/package.json |
Updates fixture lab pin. |
packages/cli/test/upgrade/fixtures/adapter/expected/ui-common-upgrade-report.md |
Updates fixture report. |
packages/cli/test/upgrade/fixtures/adapter/expected/package.json |
Updates fixture lab pin. |
Files not reviewed (1)
- pnpm-lock.yaml: Generated file
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Ready-gate agent review (Opus) — blocking issues onlyNO BLOCKING ISSUES. Copilot: 1 thread (render-prop trigger lacks a disabled signal) — won't apply, verbatim upstream 0.7.0 code; replied and resolved. Consumer check: backend.ai-webui was built, verified ( After both reviews (not re-reviewed): |

Summary
Astryx 0.6.5 → 0.7.0 (
@astryxdesign/core,theme-neutral,cli) and@astryxdesign/lab→ 0.7.0-canary.97a0d31 (the canary of the commit the v0.7.0 release was cut from), done withui-common sync-astryx, released as 0.2.0-alpha.19. Upstream notes: https://github.com/facebook/astryx/releases/tag/v0.7.0What the bump dragged in:
theme/dataTokens.stylex(data-color defaults moved to StyleX),theme/neutral/fonts.css,Markdown/plugin-renderer, and the StyleX helper modules core now exports (Layout/padding.stylex,Layer/layerAnimations.stylex,utils/interactionOverlay.stylex, …). New root names include the*MenuGroupcomponents. No subpath removed.sync-forks.mjs --accept):ComplexSelector: takes upstream'srenderTrigger(+ exportedComplexSelectorRenderTriggerProps) and the Field-composed styling contract (container*/control*instead of rootxstyle/className/style).useFieldInputStylingis inlined, asuseResolvedRequiredalready was, since core does not export it.hasClear/onClearkept (feat(ComplexSelector): add hasClear/onClear next to the loading spinner facebook/astryx#6362 still open).Drawer: takes lab'spaddingprop and container inset; the z-index host,aria-modalpassthrough andModalportal host are kept. The new upstream "container padding" tests read the StyleX stylesheet, so they are skipped like the two existing stylesheet-dependent tests.Tour: upstream changes merged cleanly.PagedSelector:xstyle/className/style→ thecontainer*/control*props it forwards toComplexSelector(breaking, CHANGELOG).NotificationStack: Astryx #6630 stopped derivingBanner's live role fromstatus, so notices would have gone silent. The stack now sets the role explicitly (alertfor error/warning,statusotherwise), with a test.packages/cli/codemods/0.2.0-alpha.19/upstream.jsonrecords Astryx's 0.6.7 and 0.7.0 codemods (migrate-field-input-styling,rename-empty-search-results-text,preserve-bottom-sheet-content-padding,migrate-deprecated-theme-surface,validate-data-token-ownership,migrate-copied-themes-to-descriptors— the last is a project codemod and is noted, not run), soui-common upgrade --from 0.2.0-alpha.18runs them and moves the lab canary / core override. Upgrade fixtures regenerated; registry test extended.pnpm-workspace.yaml: Astryx 0.7.0 was published today, socli/core/theme-neutral0.7.0 join the release-age exclusions next to the lab canary.[Unreleased]Form.ItemlabelExtraentry ships in this release.Verification
pnpm run verify— typecheck, lint, format, boundary, theme:check, 1547 tests (7 skipped: the stylesheet-dependent Drawer/ComplexSelector upstream tests), build, check:pack (988 files),astryxintegration validate — all pass.Release
After merge: create the GitHub release
v0.2.0-alpha.19; the publish workflow publishes both packages undernext. backend.ai-webui moves onto it in a follow-up PR.