Roadmap & changelog
FUNSTACK UI is experimental; its first alpha is on npm. Planning happens in GitHub issues; this page is a short summary.
Changelog
The first alpha, 0.1.0-alpha.0, is published on npm under the alpha dist-tag: npm install @funstack/ui@alpha. Each release is listed on GitHub Releases; between releases, the commit history is the changelog.
Done
- Library-wide API conventions: action props, pending and optimistic state, Suspense, ViewTransition, composition.
- The first four primitives: Toggle, Tabs, Accordion, Tooltip.
- The second wave: Dialog (on
<dialog>and Invoker Commands), and the native form controls Switch, Checkbox and RadioGroup, with the shared form-reset and hydration handling. - Browser-mode tests (Playwright) in Chromium, Firefox and WebKit for Popover, anchor positioning,
<dialog>, native inputs and ViewTransition. - A conditional
<ViewTransition>boundary: components render one only when thetransitionprop is given, so a component mounting inside a transition no longer starts a document view transition (#35). - The first npm release,
0.1.0-alpha.0(dist-tagalpha). - CheckboxGroup: a
<fieldset>with a sharednameand a set value, a Parent box with mixed state, and a group-levelrequired(#33). - Popover: a non-modal overlay on
popover="auto"and Invoker Commands, with library-owned closes that animate with a view transition in every engine (#38, #40).
Next
- Menu: a menu button (#39, #41).
- More components after that, toward a full set: Select, ToggleGroup, and more.
Deferred
- Directive-free (truly zero-JS) variants of platform-native parts (#19).
- Tooltip: an Arrow part that points the right way after a fallback flip (#20) and a skip-delay group (#21).
Upstream
- react-dom renders
hidden="until-found"as a boolean (#16). - Chromium does not match
:checkedon a checkbox that is both checked and indeterminate; jsdom toggles instead of restoring a checkbox after a cancelled click (#34).
Ideas and bug reports are welcome as new issues.