6 Commits

Author SHA1 Message Date
Mats Bosson
de1c9a1cb8 Virtual scrolling primitive 2026-03-29 21:06:06 +07:00
Mats Bosson
5bc9ac7b61 Listbox, Select, and list navigation
createListNavigation is the core primitive for all collection components
(Listbox, Select, Combobox, Menu). It provides value-based keyboard
navigation, selection/activation modes, typeahead, and aria-activedescendant
virtual focus.
Listbox: standalone selectable list with single/multiple selection.
Select: floating dropdown with trigger, keyboard navigation, form integration.
Also fixes exactOptionalPropertyTypes compatibility in createDisclosureState
and createListNavigation interfaces.
2026-03-29 19:12:05 +07:00
Mats Bosson
c78a8832d9 Floating positioning primitive
Reactive wrapper around @floating-ui/dom that auto-updates floating
element position relative to an anchor. Exports createFloating,
CreateFloatingOptions, and FloatingState from primitives index.
2026-03-29 10:25:38 +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