Skip to content

Navigation Menu

Sign in
Sign up

feat(core): promote Drawer from lab - #6071

Draft
imdreamrunner wants to merge 1 commit into
agent/harden-lab-drawer-20260904 from
agent/promote-drawer-core-20260904
Draft

feat(core): promote Drawer from lab #6071
imdreamrunner wants to merge 1 commit into
agent/harden-lab-drawer-20260904 from
agent/promote-drawer-core-20260904

Conversation

@imdreamrunner

@imdreamrunner imdreamrunner commented Sep 5, 2026
edited
Loading

Copy link
×ばつ32px. ## Before marking ready - [ ] Land #6073 and retarget this PR to `main`. - [ ] Record the full promotion audit (B or better, zero BLOCKs) in the component-score ledger. - [ ] Attach the visual contact sheet from the promotion audit. - [ ] Obtain spec-owner approval for the path/terminology updates. " data-view-component="true"> Copy Markdown
Contributor

Stack

Depends on #6073 — harden Drawer layer lifecycle in Lab. This PR intentionally contains only promotion and migration work; the behavior changes are reviewed first in #6073.

Why

Once the Lab hardening lands, Drawer satisfies the shared overlay and native top-layer contracts required for Core. Promoting it gives consumers a stable inspector/detail-panel primitive without changing its public props.

Prior API work: #3327, #5246. The broader Sheet questions remain in #3675; this promotion stays inline-axis only and continues to direct block-axis use cases to BottomSheet.

What

  • Moves the hardened Drawer implementation, docs, and tests from @astryxdesign/lab to @astryxdesign/core/Drawer.
  • Adds the Core root/subpath exports and updates Storybook, sandbox, motion-audit, RTL, modal-host, and visual-scope references.
  • Adds Drawer showcase and row-inspector CLI blocks.
  • Adds a staged astryx upgrade --apply codemod that moves Drawer and DrawerProps imports/re-exports from the Lab root or Lab Drawer subpath to @astryxdesign/core/Drawer.
  • Records the import-path move as a [breaking] minor release for Core and CLI.
  • Updates current architecture/family record paths and terminology from Lab Drawer to Drawer.

Risk

There is no Drawer behavior change relative to #6073. The main compatibility risk is the import-path move; the codemod covers value imports, type imports, aliases, mixed Lab imports, direct Drawer subpaths, and re-exports.

Testing

  • pnpm lint:strict
  • pnpm build
  • Promotion, Drawer/layer/focus, CLI discovery/template, visual-scope, and codemod suites — 236 tests passed
  • pnpm check:sync
  • pnpm check:knowledge
  • pnpm check:changesets
  • pnpm check:cli-structure
  • pnpm sync:exports:check
  • pnpm check:package-boundaries
  • pnpm storybook:build
  • pnpm guard:modal-close --storybook-dir apps/storybook/dist
  • pnpm a11y:audit -- --components Drawer — 8 stories, 0 violations
  • pnpm rtl:audit -- --filter Drawer — D4 pass, no coverage gap

Accessibility promotion checklist

  • Name: required Drawer label plus localized close-button name.
  • Role: native dialog semantics; modal behavior follows the WAI-ARIA modal dialog pattern.
  • State: aria-modal is present only for the modal path; controlled isOpen remains authoritative.
  • Keyboard: Escape reaches only the shared topmost layer; consumer cancellation and IME handling remain intact.
  • Focus: modal focus is trapped and restored; non-modal focus is intentionally not trapped.
  • Announcements: N/A — Drawer owns no async status transition.
  • Reduced motion: entry and exit remain guarded by prefers-reduced-motion.
  • Contrast/themes: rendered in light and Y2K dark; component paint remains token-backed.
  • Forced colors: panel content and dismissal control remain visible in Chromium forced-colors mode.
  • i18n: the built-in close label resolves through useTranslator().
  • Target size: the close control measures ×ばつ32px.

Before marking ready

  • Land fix(lab): harden Drawer layer lifecycle #6073 and retarget this PR to main.
  • Record the full promotion audit (B or better, zero BLOCKs) in the component-score ledger.
  • Attach the visual contact sheet from the promotion audit.
  • Obtain spec-owner approval for the path/terminology updates.

@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Meta Open Source bot. label Sep 5, 2026

vercel Bot commented Sep 5, 2026
edited
Loading

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
astryx Ready Ready Preview Sep 5, 2026 6:20am UTC

Request Review

@github-actions github-actions Bot added the needs:design-review Affects visuals — Design should review label Sep 5, 2026
@github-actions github-actions Bot added the needs:spec-owner-review Current knowledge records await owner approval label Sep 5, 2026
imdreamrunner force-pushed the agent/promote-drawer-core-20260904 branch from 58e4ce6 to e14779e Compare September 5, 2026 04:59
github-actions Bot added a commit that referenced this pull request Sep 5, 2026
github-actions Bot added a commit that referenced this pull request Sep 5, 2026

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

PR Analysis Report

Preview availability: Storybook and Sandbox were not published for this CI run.

New Components

Drawer (@astryxdesign/core)
Metric Value
Bundle Size (ESM) N/A
Bundle Size (CJS) 255B
Lines of Code 450
Source Files 3
Complexity High (26)
Exports Drawer
Props Count N/A
Has Tests Yes
Has Stories Yes

Modified Components

Layer (@astryxdesign/core)
Metric Before After Delta
Bundle Size (ESM) N/A N/A N/A
Lines of Code N/A 1374 -
Complexity N/A Very High (100) -

Bundle Size Summary

Package Size (ESM) Size (CJS) Gzipped
@astryxdesign/core N/A 4.8KB 1.2KB
@astryxdesign/lab N/A 3.4KB 1.5KB

Accessibility Audit

Status: No accessibility violations detected.

Visual Regression

Status: Skipped — Broad stable scope is deferred to the daily release gate. It covers 380 trusted baseline shots instead of recapturing them for this PR. View the report


Generated by PR Enrichment workflow | View full report

imdreamrunner force-pushed the agent/promote-drawer-core-20260904 branch from e14779e to baf8a0b Compare September 5, 2026 06:04
imdreamrunner changed the base branch from main to agent/harden-lab-drawer-20260904 September 5, 2026 06:04
imdreamrunner force-pushed the agent/promote-drawer-core-20260904 branch from baf8a0b to f55981b Compare September 5, 2026 06:12
imdreamrunner force-pushed the agent/harden-lab-drawer-20260904 branch from 138abe1 to 5e6ef7a Compare September 5, 2026 06:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@cvkxx cvkxx Awaiting requested review from cvkxx
@ernestt ernestt Awaiting requested review from ernestt
@kentonquatman kentonquatman Awaiting requested review from kentonquatman
@rubyycheung rubyycheung Awaiting requested review from rubyycheung
@cixzhang cixzhang Awaiting requested review from cixzhang cixzhang will be requested when the pull request is marked ready for review cixzhang is a code owner
@josephfarina josephfarina Awaiting requested review from josephfarina josephfarina will be requested when the pull request is marked ready for review josephfarina is a code owner

Assignees

No one assigned

Labels

CLA Signed This label is managed by the Meta Open Source bot. needs:design-review Affects visuals — Design should review needs:spec-owner-review Current knowledge records await owner approval

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

1 participant

AltStyle によって変換されたページ (->オリジナル) /