Skip to content

Document the Popover semantic contract - #5790

Merged
cixzhang merged 1 commit into
mainfrom
docs/popover-contract
Sep 1, 2026
Merged

Document the Popover semantic contract#5790
cixzhang merged 1 commit into
mainfrom
docs/popover-contract

Conversation

@cixzhang

@cixzhang cixzhang commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Why

Popover has one painted surface, but the original draft described popover and popover-surface as equal anatomy owners. Cindy’s final decision makes popover the canonical broad baseline while preserving existing themes through a documented compatibility window.

What

  • Accept the Popover contract as current, approved by cixzhang on 2026-08-31.
  • Map the real Popover surface to canonical popover; remove the invented shared-hook anatomy part.
  • Define optional component-owned surfaceTarget values as refinements on the same surface, and mark popover-surface as a deprecated compatibility alias.
  • Keep runtime migration and named-AT evidence as explicit follow-up rather than blockers to the accepted semantic contract.
  • Add an inventory regression proving the alias remains enumerable but is excluded from active ownership. The existing validator already understands deprecatedFor, so no schema or validator change is needed.

Risk

Documentation and inventory-test only. Runtime behavior and emitted classes are unchanged; existing popover-surface themes keep working. Automatic hook-wide popover emission and any later alias removal require separate implementation, release notes, and review. The PR remains draft for final parent review/merge. No Changeset.

Testing

  • 8 focused Popover, theming-target, knowledge, and docs suites (164 tests)
  • pnpm check:knowledge
  • pnpm check:repo
  • Prettier on all changed files

@vercel

vercel Bot commented Aug 31, 2026

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 1, 2026 1:54pm UTC

Request Review

@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Meta Open Source bot. label Aug 31, 2026
github-actions Bot added a commit that referenced this pull request Aug 31, 2026
@github-actions

github-actions Bot commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

PR Analysis Report

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

Modified Components

Popover (@astryxdesign/core)
Metric Before After Delta
Bundle Size (ESM) N/A N/A N/A
Lines of Code N/A 809 -
Complexity N/A Very High (90) -

Bundle Size Summary

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

Accessibility Audit

Status: No accessibility violations detected.


Generated by PR Enrichment workflow | View full report

@cixzhang
cixzhang force-pushed the docs/popover-contract branch from ba08b1e to 9b8ec1b Compare September 1, 2026 13:50
@cixzhang

cixzhang commented Sep 1, 2026

Copy link
Copy Markdown
Contributor Author

/approve-spec 9b8ec1b

@cixzhang

cixzhang commented Sep 1, 2026

Copy link
Copy Markdown
Contributor Author

/approve-spec 9b8ec1b

@cixzhang
cixzhang merged commit 4389248 into main Sep 1, 2026
29 checks passed
github-actions Bot added a commit that referenced this pull request Sep 1, 2026
@github-actions
github-actions Bot deleted the docs/popover-contract branch September 2, 2026 06:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Meta Open Source bot.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant