Truly headlessEvery component ships behavior and accessibility only — no styles. You write plain HTML with data-part attributes and class it however you like.
Built on Zag.jsState machines from Zag.js drive focus management, keyboard navigation, and ARIA, wrapped in idiomatic Stimulus controllers.
Made for HotwireNamespaced zag-* identifiers, Stimulus values for options, and real hidden inputs for form controls — drop them into any Rails view.
Tailwind-friendlyState is exposed as data-attributes (data-[state=open], data-[highlighted]) so you can style every state with Tailwind variants.