fossui
  • docs
  • playground
  • roadmap
  • pub.dev
    18

Components roadmap

21 of 32 components shipped (66%)

What fossui ships today, what is being built next, and what is planned. This page is the single place to check whether a component exists yet, so you do not have to read the changelog or grep the source.

Every component marked [x] clears the same bar before it ships: themed tokens, light and dark, full keyboard and screen-reader support, text-scale and right-to-left layout, and three layers of tests. That bar is written down in checklist.md.

Available now

Forms and inputs

  • Button – variants, sizes, leading and trailing icon slots, a loading state, an icon-only form, and an optional controller for driving loading and disabled imperatively.
  • Text field – single-line and multi-line input from one widget.
  • Checkbox – on/off control, with a group for related options.
  • Radio group – single choice from a set.
  • Switch – toggle control.
  • Slider – pick a value from a range.
  • Select – single or multiple choice from a dropdown.
  • Combobox and autocomplete – filterable select, single or multi.

Layout and surfaces

  • Card – surface container with the package elevation.
  • Separator – thin divider.
  • Tabs – tabbed panels, horizontal or vertical.

Feedback and status

  • Spinner – a themed loading indicator, also used inside Button.
  • Progress – determinate progress bar.
  • Badge – small status or count pill.
  • Avatar – image with an initials fallback.
  • Alert – inline status message.

Overlays

  • Dialog – modal dialog over a dimmed scrim.
  • Alert dialog – non-dismissible confirm dialog.
  • Drawer – panel that slides in from an edge.
  • Tooltip – anchored hint on hover or focus.
  • Toast – transient notifications with a queue.

Planned

  • Accordion – expandable, stacked sections.
  • Calendar – month grid for date display and selection.
  • Command – searchable command palette.
  • Date Picker – date selection in a calendar popover.
  • Meter – static gauge for a bounded value.
  • Number Field – numeric input with steppers.
  • OTP Field – segmented one-time-code entry.
  • Popover – floating panel anchored to a trigger.
  • Sheet – panel that slides in from an edge.
  • Toggle – a two-state pressable button.
  • Toggle Group – a set of toggles, single or multiple.

How the order is decided

Components are built in dependency order, not alphabetical order. A layer has to exist before anything that builds on it: tokens before any component, simple controls before overlays, overlays before the data-heavy widgets that compose them. Button came first because it exercises the whole pipeline once (token reads, the variant API, interactive state, golden tests, and the catalog entry), which makes every component after it faster to add.

Have a component you need sooner? Open an issue and say so. The order above is a plan, not a contract.