15 Commits

Author SHA1 Message Date
Mats Bosson
4e711d8f5d Dialog types and context 2026-03-29 05:32:45 +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
0268422c81 NagLint hook setup 2026-03-29 05:18:07 +07:00
Mats Bosson
523c908b20 Fix dismiss idempotency 2026-03-29 04:43:07 +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
bedfa33117 Fix disclosure state toggle behavior 2026-03-29 02:43:19 +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
512eba474a Fix null handling in controllable signal 2026-03-29 02:40:38 +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