Skip to content

feat: add shared Select facade - #32

Merged
PeterGuy326 merged 1 commit into
mainfrom
codex/31-standard-control-facade
Sep 28, 2026
Merged

PeterGuy326 merged 1 commit into
mainfrom
codex/31-standard-control-facade

Conversation

@Bindy-lbb

Copy link
Copy Markdown
Collaborator

Closes #31

Summary

  • add the public Select facade over Ant Design with a stable ui-select hook
  • preserve Ant Design's option/value API while exposing an invalid state for product forms
  • cover the export, accessible name, invalid state and stable hook in the primitive contract tests

Validation

  • npm run format:check
  • npm run lint
  • npm run typecheck
  • npm run test (24 passing)
  • npm run build
  • npm run check:dist-tokens
  • npm run test:pack
  • npm run test:visual -- --grep 'aligns reading content' (1 passing)

npm run check reached the full screenshot suite and found a pre-existing 67,403-pixel drift in the showcase-light.png baseline. The showcase has no Select usage, so this change cannot affect that page; I left the unrelated baseline untouched.

@PeterGuy326 PeterGuy326 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed head 4a82fce. Clean facade: keeps Ant Design's SelectProps/option model intact, layers invalid -> status='error' + aria-invalid, and exposes the stable .ui-select hook so product code stops re-deriving it. The aria-invalid ?? invalid order respects an explicit aria-invalid. CSS adds the minimal width:100% baseline; tests cover the hook, invalid state and accessible name. No blockers. Approving — unblocks roleweave #522.

@PeterGuy326
PeterGuy326 merged commit db1bcbb into main Sep 28, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(facade): complete standard Ant Design control surface

2 participants