Roadmap

Volt UI reached 1.0.0, and 1.0 is a starting line rather than a finish. This is the direction the project is heading and the order it will get there in.

How to read this page

There are no dates here on purpose — a roadmap with dates it can't keep is worse than no roadmap. What is committed is the order: each item below depends on the one above it, and shipping them out of sequence would mean redoing work. Anything here that turns out to be wrong gets removed from this page rather than quietly dropped.

None of this breaks your existing code. The 1.0 public API is frozen and everything below follows ordinary semantic versioning — see Versioning & Stability.

  1. Documentation in more languages

    Status: Next Applies to: Docs site

    The docs are English-only today. Ukrainian (UA) and Spanish (ES) are next, so the library is approachable without reading English first.

    • Applies to this documentation site — guides, component pages, and examples.
    • Component names, selectors, inputs, and outputs stay in English. Translating an API would break every copied component and every code sample on the internet.
    • Language is a reader preference, not a separate build: the same components and the same package back every locale.
  2. A first-party headless layer — @volt-ui/core

    Status: Planned Applies to: Library

    Replace the ng-primitives dependency with Volt UI’s own headless primitives, so behavior and styling are two layers of one project instead of one project on top of someone else’s.

    • Headless and styled ship separately. Want only the behavior — focus management, keyboard handling, ARIA wiring — with your own markup and CSS? Take @volt-ui/core alone.
    • Want what Volt UI looks like today? Keep using the styled components; they are built on the same headless layer.
    • This happens before the component catalog grows — see the reasoning below.
    • The @volt-ui/core name is already reserved for exactly this in the project spec; it is not a new idea, it is the next one.
  3. Two distributions: with Tailwind and without

    Status: Planned Applies to: Library

    Volt UI is styled with Tailwind CSS v4 today, which rules it out for projects that do not or cannot use Tailwind. A Tailwind-free distribution removes that constraint.

    • The Tailwind build stays the default and keeps working exactly as it does now.
    • The Tailwind-free build ships the same components and the same design tokens as plain CSS.
    • Depends on the headless layer landing first: once behavior is separate from styling, a second styling target stops being a fork and becomes a build output.
  4. More layouts built from Volt UI components

    Status: Exploring Applies to: Library

    Beyond the existing sidebar and top-nav layouts — fuller application shells assembled from components that already exist, so a real screen is a starting point rather than an assembly job.

    • Least critical item on this page, and honestly labelled as such — it is a convenience, not a gap.
    • Composed from shipped Volt UI components rather than new one-off primitives.
    • Sequenced last on purpose: layouts built before the headless port would need porting too.

Why the headless layer comes first

The most tempting thing to do after a 1.0 is add components. That is deliberately not what happens next. Every Volt UI component today delegates its accessibility and interaction behavior to ng-primitives, so every component added before that layer is replaced is one more component to port afterwards. Growing the catalog first would make the migration bigger, slower, and more likely to break your code when it lands.

Doing it in this order means the port happens once, across the components that exist today, and the catalog grows afterwards on a foundation that is entirely first-party.

What is not changing

The copy-in model

Components stay copyable into your project via the CLI. You own the code you copy; nothing on this page changes that.

The 1.0 API

Selectors, inputs, and outputs frozen at 1.0 keep working. A breaking change requires a major version and migration notes.

Theming

The 5 color × 5 style presets and the token system stay as they are. A Tailwind-free build adds an option; it removes nothing.

Have an opinion on the order, or need something that isn't here? Open an issue or a discussion on GitHub. Shipped work is recorded in CHANGELOG.md, and the longer-term technical framing lives in specs/SPEC.md.