13 Commits

Author SHA1 Message Date
Mats Bosson
0155749028 Dialog tests
Adds aria and keyboard interaction tests for the Dialog component (10 new tests, 53 total passing). Also fixes DialogContent to render with the `open` attribute so the <dialog> element is accessible in JSDOM.
2026-03-29 05:56:42 +07:00
Mats Bosson
69068fbee9 Dialog component
Implements DialogRoot, Content, Title, Description, Trigger, Close, Portal, and Overlay parts with full context wiring, focus trap, scroll lock, and dismiss. Also fixes pre-existing TS6 exactOptionalPropertyTypes errors in create-disclosure-state and presence, and silences TS6.0 deprecation warnings via ignoreDeprecations.
2026-03-29 05:47:48 +07:00
Mats Bosson
de85abf548 Fix Presence reactivity 2026-03-29 05:28:35 +07:00
Mats Bosson
3374349ef2 Presence animation utility
Implements the Presence utility component with forceMount support and
data-opening/data-closing attribute signals for CSS-driven transitions.
2026-03-29 05:26:01 +07:00
Mats Bosson
be99077306 Dismiss utility with layer stack 2026-03-29 04:41:38 +07:00
Mats Bosson
18f4869b20 Scroll lock utility 2026-03-29 04:41:35 +07:00
Mats Bosson
7e201f6af6 Harden focus trap and add tests 2026-03-29 04:37:45 +07:00
Mats Bosson
5b86cb5650 Focus trap utility 2026-03-29 04:36:00 +07:00
Mats Bosson
697e80ef72 VisuallyHidden and Portal utilities 2026-03-29 03:01:52 +07:00
Mats Bosson
b291ceab50 ID registration primitive 2026-03-29 02:46:51 +07:00
Mats Bosson
ed13193430 Disclosure state primitive
Implements controlled/uncontrolled open-close state for disclosure components (Dialog, Popover, Tooltip, Collapsible, etc.) wrapping createControllableSignal with open/close/toggle convenience methods.
2026-03-29 02:41:54 +07:00
Mats Bosson
8f2e6042ea Controllable signal primitive
Implements the controlled/uncontrolled state primitive with full TDD coverage (5 tests passing). Delegates to an internal signal when uncontrolled, defers to the external value accessor when controlled.
2026-03-29 02:38:40 +07:00
Mats Bosson
405ce15933 Initial monorepo setup 2026-03-29 02:30:05 +07:00