Skip to content
Español

Navigate

Type to search. Press Escape to close.

    Project

    Roadmap

    This page states an order, not a schedule. Nothing here is a commitment to ship by a given date, and items move when evidence says they should. What is marked done is done and testable today; everything else is not.

    Order: priority, not dates. Commitments: none. Done: means testable today.

    What 1.0 ships

    AreaStateContents
    Componentsdone33 families: 14 CSS-only and 19 with optional JavaScript, each with states, keyboard behaviour and a fallback that works without a script
    Tokens and themesdoneDesign tokens as the visual contract, light, dark and system themes, nested scopes, right-to-left, forced colours, print and reduced motion
    DeliverydoneLayered and flat CSS, one stylesheet per component, ES modules with real exports, an IIFE with one global, TypeScript types and the tokens as JSON
    DocumentationdoneThis site in English and Spanish, a reference generated from the sources, a playground and a theme builder
    ExamplesdoneFour complete pages and a plain HTML starter, each downloadable as a zip
    VerificationdoneUnit and contract tests, browser tests in Chromium, Firefox and WebKit, accessibility checks under reduced motion, size budgets

    What is public, and how it is allowed to change from here, is written down in stability; what changed in each version is in the changelog.

    Explicitly out of scope

    These are excluded on purpose, not forgotten. Each is a domain of its own, and shipping half of any of them would cost more than omitting it:

    • A virtualised data grid, a rich text editor, drag and drop, charts.
    • A utility compiler with arbitrary values, a class scanner or purge step, a starter-generating CLI, a visual editor.
    • React and Vue wrappers. The plain HTML already works inside all of them.
    • A large template catalogue. Four worked pages are the scope; a gallery is not.

    The principle behind the list: counting variants does not widen the scope. A family counts as finished only when it has states, keyboard behaviour, a no-JavaScript fallback, documentation and tests.

    Under consideration after 1.0

    Priority is about order of work, not about importance to you. Nothing on this list is promised, and nothing here changes a public name without a major version.

    PriorityItemWhy it sits here
    P1A screen reader pass (NVDA, VoiceOver) and the fixes it producesValidates what automated checks structurally cannot; what has and has not been verified is listed under accessibility
    P2More worked pages and fixtures for patterns people actually ask aboutA documented pattern is worth more right now than another family
    P2New components only where a pattern repeats across real projectsThe grammar stays small on purpose; every addition has to earn its name
    P3Framework wrappers, a utility compiler, a starter CLIOnly with real demand — each is convenience, not capability

    How this list changes

    An item moves up when there is evidence: a reproducible problem in a real project, a contract that turned out to be wrong, or an accessibility finding. Anything that alters a public surface — class names, tokens, options, events, layer order — is recorded as a decision record in the repository before it lands, so the reasoning survives the change. Bug reports and use cases are the most useful input; see contributing.