Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,43 @@ Versioning follows the policy in [CONTRIBUTING.md](CONTRIBUTING.md#versioning).

## [Unreleased]

## [0.2.0-alpha.19]

Astryx 0.6.5 → 0.7.0 (`@astryxdesign/lab` 0.7.0-canary.97a0d31). Astryx's
own release notes: https://github.com/facebook/astryx/releases/tag/v0.7.0
(rem spacing, 16px phone typography, Field-composed input styling parts,
Banner live regions, data-color tokens in StyleX).

### Changed

- **Astryx 0.7.0, which is breaking for Field-composed inputs.**
`TextInput`, `Selector`, `ComplexSelector`, the date and time inputs,
`Typeahead`, `Tokenizer`, `CheckboxList`, `RadioList` and `Slider` no
longer take a root `xstyle` / `className` / `style`: style the Field box
with `containerXstyle` / `containerClassName` / `containerStyle` and the
control box with `controlXstyle` / `controlClassName` / `controlStyle`.
`pnpm exec ui-common upgrade --from 0.2.0-alpha.18` runs 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`), moves
the lab canary to `0.7.0-canary.97a0d31` and its core override to `0.7.0`,
and bumps the `@lablup/ui-common` / `@lablup/ui-common-cli` pins.
- **`PagedSelector` follows the same contract**: `xstyle` / `className` /
`style` are replaced by the `container*` and `control*` props it passes to
`ComplexSelector`.
- `Banner` no longer derives `role="status"` / `role="alert"` from `status`
(Astryx #6630). `NotificationStack` sets the role it had explicitly
(`alert` for an error or warning, `status` otherwise), so notices are
still announced. A `Banner` or `ListBanner` placed by a consumer is now
silent unless it passes a `role` or announces with `useAnnounce`.
- Core spacing tokens are rem, and phone typography starts at 16px in the
Neutral theme; the Lablup theme was rebuilt with `astryx theme build`.
- The `ComplexSelector`, `Drawer` and `Tour` forks are re-taken from 0.7.0.
`ComplexSelector` gains Astryx's `renderTrigger` (and the exported
`ComplexSelectorRenderTriggerProps`); `Drawer` takes lab's `padding` prop
and container inset. Both keep their fixes (`hasClear` / `onClear`; the
z-index host, `aria-modal` passthrough and the `Modal` portal host).

### Added

- **`Form.Item` / `FormItemVisual` take `labelExtra`** for actions that belong
Expand All @@ -16,6 +53,18 @@ Versioning follows the policy in [CONTRIBUTING.md](CONTRIBUTING.md#versioning).
layout put it right after the label, and the colon moves to the end of the
slot. Ignored without a `label`.

- New mirrored subpaths: `theme/dataTokens.stylex`, `theme/neutral/fonts.css`,
`Markdown/plugin-renderer`, and the StyleX helper modules Astryx now
exports (`DateInput/tokens.stylex`, `Icon/IconSize.stylex`,
`Indicator/indicator.markers.stylex`, `Layer/layerAnimations.stylex`,
`Layer/layerTextReset.stylex`, `Layer/layerViewportInset.stylex`,
`Layout/container.stylex`, `Layout/edgeCompensation.stylex`,
`Layout/padding.stylex`, `NavItem/navItemStyles.stylex`,
`Selector/selectorPresentation.stylex`, `Stack/stack.stylex`,
`Stack/stackItem.stylex`, `Text/text.stylex`, `utils/focusOutline.stylex`,
`utils/interactionOverlay.stylex`). New root names include the
`*MenuGroup` components. No subpath was removed.

## [0.2.0-alpha.18]

### Added
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,14 +102,14 @@ there):

```yaml
overrides:
"@astryxdesign/lab>@astryxdesign/core": "0.6.5"
"@astryxdesign/lab>@astryxdesign/core": "0.7.0"
```

npm, in the root `package.json`:

```json
"overrides": {
"@astryxdesign/lab": { "@astryxdesign/core": "0.6.5" }
"@astryxdesign/lab": { "@astryxdesign/core": "0.7.0" }
}
```

Expand Down
85 changes: 79 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@lablup/ui-common",
"version": "0.2.0-alpha.18",
"version": "0.2.0-alpha.19",
"description": "Lablup's UI layer on Astryx: the Astryx surface re-exported 1:1, the Lablup theme, and shared components",
"license": "Apache-2.0",
"author": "Lablup Inc.",
Expand Down Expand Up @@ -79,10 +79,78 @@
"types": "./dist/astryx/theme/tokens.stylex.d.ts",
"import": "./dist/astryx/theme/tokens.stylex.js"
},
"./theme/dataTokens.stylex": {
"types": "./dist/astryx/theme/dataTokens.stylex.d.ts",
"import": "./dist/astryx/theme/dataTokens.stylex.js"
},
"./theme/syntax": {
"types": "./dist/astryx/theme/syntax.d.ts",
"import": "./dist/astryx/theme/syntax.js"
},
"./DateInput/tokens.stylex": {
"types": "./dist/astryx/DateInput/tokens.stylex.d.ts",
"import": "./dist/astryx/DateInput/tokens.stylex.js"
},
"./Icon/IconSize.stylex": {
"types": "./dist/astryx/Icon/IconSize.stylex.d.ts",
"import": "./dist/astryx/Icon/IconSize.stylex.js"
},
"./Indicator/indicator.markers.stylex": {
"types": "./dist/astryx/Indicator/indicator.markers.stylex.d.ts",
"import": "./dist/astryx/Indicator/indicator.markers.stylex.js"
},
"./Layer/layerAnimations.stylex": {
"types": "./dist/astryx/Layer/layerAnimations.stylex.d.ts",
"import": "./dist/astryx/Layer/layerAnimations.stylex.js"
},
"./Layer/layerTextReset.stylex": {
"types": "./dist/astryx/Layer/layerTextReset.stylex.d.ts",
"import": "./dist/astryx/Layer/layerTextReset.stylex.js"
},
"./Layer/layerViewportInset.stylex": {
"types": "./dist/astryx/Layer/layerViewportInset.stylex.d.ts",
"import": "./dist/astryx/Layer/layerViewportInset.stylex.js"
},
"./Layout/container.stylex": {
"types": "./dist/astryx/Layout/container.stylex.d.ts",
"import": "./dist/astryx/Layout/container.stylex.js"
},
"./Layout/edgeCompensation.stylex": {
"types": "./dist/astryx/Layout/edgeCompensation.stylex.d.ts",
"import": "./dist/astryx/Layout/edgeCompensation.stylex.js"
},
"./Layout/padding.stylex": {
"types": "./dist/astryx/Layout/padding.stylex.d.ts",
"import": "./dist/astryx/Layout/padding.stylex.js"
},
"./NavItem/navItemStyles.stylex": {
"types": "./dist/astryx/NavItem/navItemStyles.stylex.d.ts",
"import": "./dist/astryx/NavItem/navItemStyles.stylex.js"
},
"./Selector/selectorPresentation.stylex": {
"types": "./dist/astryx/Selector/selectorPresentation.stylex.d.ts",
"import": "./dist/astryx/Selector/selectorPresentation.stylex.js"
},
"./Stack/stack.stylex": {
"types": "./dist/astryx/Stack/stack.stylex.d.ts",
"import": "./dist/astryx/Stack/stack.stylex.js"
},
"./Stack/stackItem.stylex": {
"types": "./dist/astryx/Stack/stackItem.stylex.d.ts",
"import": "./dist/astryx/Stack/stackItem.stylex.js"
},
"./Text/text.stylex": {
"types": "./dist/astryx/Text/text.stylex.d.ts",
"import": "./dist/astryx/Text/text.stylex.js"
},
"./utils/focusOutline.stylex": {
"types": "./dist/astryx/utils/focusOutline.stylex.d.ts",
"import": "./dist/astryx/utils/focusOutline.stylex.js"
},
"./utils/interactionOverlay.stylex": {
"types": "./dist/astryx/utils/interactionOverlay.stylex.d.ts",
"import": "./dist/astryx/utils/interactionOverlay.stylex.js"
},
"./locales/*.json": "./dist/locales/*.json",
"./locales/*.generated.js": {
"types": "./dist/locales/*.generated.d.ts",
Expand Down Expand Up @@ -516,6 +584,10 @@
"types": "./dist/astryx/Markdown/plugins.d.ts",
"import": "./dist/astryx/Markdown/plugins.js"
},
"./Markdown/plugin-renderer": {
"types": "./dist/astryx/Markdown/plugin-renderer.d.ts",
"import": "./dist/astryx/Markdown/plugin-renderer.js"
},
"./Markdown/parser": {
"types": "./dist/astryx/Markdown/parser.d.ts",
"import": "./dist/astryx/Markdown/parser.js"
Expand Down Expand Up @@ -566,6 +638,7 @@
"import": "./dist/astryx/theme/neutral/built.js"
},
"./theme/neutral/theme.css": "./dist/astryx/theme/neutral/theme.css",
"./theme/neutral/fonts.css": "./dist/astryx/theme/neutral/fonts.css",
"./AlertModal": {
"types": "./dist/components/AlertModal/index.d.ts",
"import": "./dist/components/AlertModal/index.js"
Expand Down Expand Up @@ -604,8 +677,8 @@
"verify": "pnpm run typecheck && pnpm run lint && pnpm run format:check && pnpm run check:boundary && pnpm run theme:check && pnpm run test && pnpm run build && pnpm run check:pack && pnpm run check:integration"
},
"dependencies": {
"@astryxdesign/core": "0.6.5",
"@astryxdesign/theme-neutral": "0.6.5",
"@astryxdesign/core": "0.7.0",
"@astryxdesign/theme-neutral": "0.7.0",
"@dnd-kit/core": "6.3.1",
"@dnd-kit/modifiers": "9.0.0",
"@dnd-kit/sortable": "10.0.0",
Expand All @@ -614,7 +687,7 @@
"lucide-react": "^1.18.0"
},
"peerDependencies": {
"@astryxdesign/lab": "0.6.5-canary.8701623",
"@astryxdesign/lab": "0.7.0-canary.97a0d31",
"@stylexjs/stylex": "^0.19.0",
"react": "^19.2.0",
"react-dom": "^19.2.0"
Expand All @@ -625,8 +698,8 @@
}
},
"devDependencies": {
"@astryxdesign/cli": "0.6.5",
"@astryxdesign/lab": "0.6.5-canary.8701623",
"@astryxdesign/cli": "0.7.0",
"@astryxdesign/lab": "0.7.0-canary.97a0d31",
"@eslint/js": "^9.39.0",
"@storybook/addon-docs": "^10.6.1",
"@storybook/react-vite": "^10.6.1",
Expand Down
44 changes: 44 additions & 0 deletions packages/cli/codemods/0.2.0-alpha.19/upstream.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
{
"$comment": "Written by `ui-common sync-astryx`. Astryx codemods consumers need when they upgrade across this ui-common version; `ui-common upgrade` runs them with @lablup/ui-common specifiers swapped for Astryx's, and moves the consumer's lab pin and core override.",
"astryx": {
"from": "0.6.5",
"to": "0.7.0"
},
"lab": {
"from": "0.6.5-canary.8701623",
"to": "0.7.0-canary.97a0d31"
},
"codemods": [
{
"id": "migrate-copied-themes-to-descriptors",
"version": "0.6.7",
"title": "Give copied app themes their local descriptors"
},
{
"id": "migrate-deprecated-theme-surface",
"version": "0.7.0",
"title": "Migrate removed component theme aliases and selectors"
},
{
"id": "validate-data-token-ownership",
"version": "0.7.0",
"title": "Validate data-token ownership"
},
{
"id": "migrate-field-input-styling",
"version": "0.7.0",
"title": "Migrate input root styling to container/control parts"
},
{
"id": "preserve-bottom-sheet-content-padding",
"version": "0.7.0",
"title": "Preserve BottomSheet content padding"
},
{
"id": "rename-empty-search-results-text",
"version": "0.7.0",
"title": "Rename emptySearchResultsText to emptySearchText"
}
],
"optional": []
}
2 changes: 1 addition & 1 deletion packages/cli/migration/0.1-to-0.2.json
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@
"names": { "Drawer": "Drawer", "DrawerProps": "DrawerProps" }
},
"alternatives": [],
"requiresPackages": { "@astryxdesign/lab": "0.6.5-canary.8701623" },
"requiresPackages": { "@astryxdesign/lab": "0.7.0-canary.97a0d31" },
"propRenames": [
{
"from": "onClose",
Expand Down
4 changes: 2 additions & 2 deletions packages/cli/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@lablup/ui-common-cli",
"version": "0.2.0-alpha.18",
"version": "0.2.0-alpha.19",
"description": "The ui-common command line: the pinned Astryx CLI in @lablup/ui-common terms, the agent block, and the upgrade codemods",
"license": "Apache-2.0",
"author": "Lablup Inc.",
Expand Down Expand Up @@ -36,7 +36,7 @@
"./package.json": "./package.json"
},
"dependencies": {
"@astryxdesign/cli": "0.6.5",
"@astryxdesign/cli": "0.7.0",
"jscodeshift": "^17.4.0",
"postcss": "^8.5.25",
"postcss-selector-parser": "^7.1.6"
Expand Down
8 changes: 7 additions & 1 deletion packages/cli/test/cli/cli.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -334,7 +334,13 @@ describe("upgrade registry", () => {
it("registers the Astryx 0.6.5 codemods under 0.2.0-alpha.16", async () => {
expect(registeredVersions()).toContain("0.2.0-alpha.16");
expect(await stepsBetween("0.2.0-alpha.15", "0.2.0-alpha.16")).toHaveLength(1);
expect(await stepsBetween("0.2.0-alpha.16", "0.2.0")).toHaveLength(0);
expect(await stepsBetween("0.2.0-alpha.16", "0.2.0-alpha.18")).toHaveLength(0);
});

it("registers the Astryx 0.7.0 codemods under 0.2.0-alpha.19", async () => {
expect(registeredVersions()).toContain("0.2.0-alpha.19");
expect(await stepsBetween("0.2.0-alpha.18", "0.2.0-alpha.19")).toHaveLength(1);
expect(await stepsBetween("0.2.0-alpha.19", "0.2.0")).toHaveLength(0);
});

it("maps every removed export onto something the installed Astryx exports", () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"private": true,
"type": "module",
"dependencies": {
"@astryxdesign/lab": "0.6.5-canary.8701623",
"@astryxdesign/lab": "0.7.0-canary.97a0d31",
"@lablup/ui-common": "0.2.0-alpha.0",
"@stylexjs/stylex": "^0.19.0",
"react": "^19.2.0"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ Ran the codemods over 4 files under `src`; searched 4 files under the project ro
- dependencies["@lablup/ui-common"]: "0.1.0-alpha.19" → "0.2.0-alpha.0".
- added @lablup/ui-common-cli 0.2.0-alpha.0 to devDependencies: the `ui-common` bin ships in its own package since 0.2, released at the same version as @lablup/ui-common.
- added @stylexjs/stylex ^0.19.0 to dependencies.
- added @astryxdesign/lab 0.6.5-canary.8701623 to dependencies: a Drawer moved to @lablup/ui-common/lab, and ui-common pins the lab canary exactly.
- no package manager was detected, so point @astryxdesign/lab's @astryxdesign/core peer at ui-common's by hand (pnpm: `overrides: { "@astryxdesign/lab>@astryxdesign/core": "0.6.5" }` in pnpm-workspace.yaml; npm: `"overrides": {"@astryxdesign/lab":{"@astryxdesign/core":"0.6.5"}}` in the root package.json) and check that `why @astryxdesign/core` lists one version.
- added @astryxdesign/lab 0.7.0-canary.97a0d31 to dependencies: a Drawer moved to @lablup/ui-common/lab, and ui-common pins the lab canary exactly.
- no package manager was detected, so point @astryxdesign/lab's @astryxdesign/core peer at ui-common's by hand (pnpm: `overrides: { "@astryxdesign/lab>@astryxdesign/core": "0.7.0" }` in pnpm-workspace.yaml; npm: `"overrides": {"@astryxdesign/lab":{"@astryxdesign/core":"0.7.0"}}` in the root package.json) and check that `why @astryxdesign/core` lists one version.

## Manual review

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"private": true,
"type": "module",
"dependencies": {
"@astryxdesign/lab": "0.6.5-canary.8701623",
"@astryxdesign/lab": "0.7.0-canary.97a0d31",
"@lablup/ui-common": "^0.2.0-alpha.0",
"@stylexjs/stylex": "^0.19.0",
"react": "^19.2.0"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ Ran the codemods over 6 files under `src`; searched 6 files under the project ro
- dependencies["@lablup/ui-common"]: "^0.1.0-alpha.19" → "^0.2.0-alpha.0".
- added @lablup/ui-common-cli 0.2.0-alpha.0 to devDependencies: the `ui-common` bin ships in its own package since 0.2, released at the same version as @lablup/ui-common.
- added @stylexjs/stylex ^0.19.0 to dependencies.
- added @astryxdesign/lab 0.6.5-canary.8701623 to dependencies: a Drawer moved to @lablup/ui-common/lab, and ui-common pins the lab canary exactly.
- no package manager was detected, so point @astryxdesign/lab's @astryxdesign/core peer at ui-common's by hand (pnpm: `overrides: { "@astryxdesign/lab>@astryxdesign/core": "0.6.5" }` in pnpm-workspace.yaml; npm: `"overrides": {"@astryxdesign/lab":{"@astryxdesign/core":"0.6.5"}}` in the root package.json) and check that `why @astryxdesign/core` lists one version.
- added @astryxdesign/lab 0.7.0-canary.97a0d31 to dependencies: a Drawer moved to @lablup/ui-common/lab, and ui-common pins the lab canary exactly.
- no package manager was detected, so point @astryxdesign/lab's @astryxdesign/core peer at ui-common's by hand (pnpm: `overrides: { "@astryxdesign/lab>@astryxdesign/core": "0.7.0" }` in pnpm-workspace.yaml; npm: `"overrides": {"@astryxdesign/lab":{"@astryxdesign/core":"0.7.0"}}` in the root package.json) and check that `why @astryxdesign/core` lists one version.

## Manual review

Expand Down
Loading
Loading