Uh oh!
There was an error while loading. Please reload this page.
feat(headless): add Select primitive - #8479
Conversation
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
12a74cf to
bf64381Compare032b0f0 to
24adffaComparebf64381 to
d7de1caCompare38c58e6 to
8136289Compared7de1ca to
758050dCompare758050d to
b3280a8Compare8136289 to
3b5f83fCompare3b5f83f to
e6b05b8Compareb3280a8 to
80923baComparee6b05b8 to
97e0dbdCompare80923ba to
6a4046eCompare6a4046e to
a73a615Compare97e0dbd to
7bc3787CompareIntroduces the @clerk/headless package — a zero-style React component library providing accessible headless UI primitives. This first PR establishes the core infrastructure and patterns: - Package scaffold: Vite build, Vitest browser tests (Chromium), TypeScript config - Core utils: renderElement (polymorphic rendering with render prop support), mergeProps (event handler chaining, style/className merging) - Hooks: useControllableState, useTransitionStatus, useAnimationsFinished, useTransition - First primitive: Dialog (modal with focus trapping, scroll lock, portal support) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Introduces the @clerk/headless package — a zero-style React component library providing accessible headless UI primitives. This first PR establishes the core infrastructure and patterns: - Package scaffold: Vite build, Vitest browser tests (Chromium), TypeScript config - Core utils: renderElement (polymorphic rendering with render prop support), mergeProps (event handler chaining, style/className merging) - Hooks: useControllableState, useTransitionStatus, useAnimationsFinished, useTransition - First primitive: Dialog (modal with focus trapping, scroll lock, portal support) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Introduces the @clerk/headless package — a zero-style React component library providing accessible headless UI primitives. This first PR establishes the core infrastructure and patterns: - Package scaffold: Vite build, Vitest browser tests (Chromium), TypeScript config - Core utils: renderElement (polymorphic rendering with render prop support), mergeProps (event handler chaining, style/className merging) - Hooks: useControllableState, useTransitionStatus, useAnimationsFinished, useTransition - First primitive: Dialog (modal with focus trapping, scroll lock, portal support) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Introduces the @clerk/headless package — a zero-style React component library providing accessible headless UI primitives. This first PR establishes the core infrastructure and patterns: - Package scaffold: Vite build, Vitest browser tests (Chromium), TypeScript config - Core utils: renderElement (polymorphic rendering with render prop support), mergeProps (event handler chaining, style/className merging) - Hooks: useControllableState, useTransitionStatus, useAnimationsFinished, useTransition - First primitive: Dialog (modal with focus trapping, scroll lock, portal support) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Introduces the @clerk/headless package — a zero-style React component library providing accessible headless UI primitives. This first PR establishes the core infrastructure and patterns: - Package scaffold: Vite build, Vitest browser tests (Chromium), TypeScript config - Core utils: renderElement (polymorphic rendering with render prop support), mergeProps (event handler chaining, style/className merging) - Hooks: useControllableState, useTransitionStatus, useAnimationsFinished, useTransition - First primitive: Dialog (modal with focus trapping, scroll lock, portal support) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
a73a615 to
f55dc7cCompare7bc3787 to
9cc0903Comparealexcarpenter
commented
Jun 9, 2026
Superseded by #8790, which consolidates the remaining headless primitive stack (Tabs → Collapsible) into a single PR for one review pass. Closing in favor of that. |
Summary
Review Stack
Test plan
pnpm buildsucceedspnpm testpasses (+34 select tests, 1 layout-dependent test skipped for happy-dom)🤖 Generated with Claude Code