Repository navigation
0.1.0-alpha.0
Pre-release
Pre-release
The first alpha of FUNSTACK UI, a headless React UI library and the first Async React-native UI library: Suspense-native, transition-by-default, action props instead of event handlers, <ViewTransition> built in, and modern HTML/CSS first.
npm install @funstack/ui@alphaRequires React >=19.3. Docs: https://ui.funstack.work
Components
- Toggle: a pressed/unpressed button with
pressedChangeAction, optimistic state and pending state. - Tabs: roving-focus tabs with
valueChangeAction. Panels usehidden="until-found", so find-in-page reveals them. - Accordion: built on
<details>/<summary>. Works without JavaScript (Server Component friendly) and supports async expand actions. - Tooltip: built on the Popover API (
popover="hint"), CSS anchor positioning andinterestfor. - Dialog: built on native
<dialog>, modal or non-modal, with light dismiss.Dialog.Formcan close on settle, and nested confirm dialogs are supported. - Switch, Checkbox (including indeterminate), RadioGroup: native inputs with action props, optimistic and pending state, and full form participation (submission, reset,
required).
Highlights
- Every change goes through an action prop run inside a transition, and pending state is exposed as data attributes and render state.
- Server Functions can be passed directly as action props.
- An opt-in
transitionprop adds a<ViewTransition>boundary. - Tested in Chromium, Firefox and WebKit.
This is an experimental alpha, so APIs may change in any release.