Skip to content

Latest commit

 

History

History
153 lines (130 loc) · 6.8 KB

File metadata and controls

153 lines (130 loc) · 6.8 KB

Roadmap

The release-sized product boundary is defined in Library scope. The deployable documentation and preview application follows Catalog architecture.

0. Source distribution foundation

  • Zero-dependency mado-ui CLI.
  • Versioned registry and JSON schemas.
  • Default/modular project detection.
  • Safe init, list, view, add, update, remove, diff and doctor flows.
  • Deterministic lock with explicit roots, captured dependency edges, a compatibility generation and SHA-256 source hashes.
  • Three-state update planning that replaces pristine source, preserves non-conflicting customizations and blocks ambiguous merges.
  • Package, default fixture, modular fixture and catalog smoke coverage.

1. Foundations and primitives

Implemented:

  • semantic light, dark and forced-colors theme tokens;
  • badge;
  • native button and link recipes with one visual contract;
  • inline code, code block and keyboard-input recipes;
  • native input, select, textarea and checkbox recipes;
  • editable combobox with a native datalist fallback, Popover-backed listbox, retained input focus and complete form/event behavior;
  • native modal and non-modal dialog surfaces with browser-owned focus, modality and close lifecycle;
  • native details/summary disclosures with an opt-in exclusive group via a shared non-empty name;
  • declarative non-modal popovers with browser-owned visibility, light dismissal and progressively enhanced anchor positioning;
  • popover-backed dropdown menus with composite keyboard navigation, typeahead and focus return;
  • stack, cluster and responsive grid layout recipes;
  • native determinate/indeterminate progress;
  • native semantic meter ranges;
  • resilient avatar image/fallback presentation with stable semantics;
  • native horizontal-rule separators for thematic breaks;
  • finite, reduced-motion-aware decorative skeleton placeholders;
  • reduced-motion-aware decorative spinner;
  • progressively enhanced tabs with automatic activation, roving focus and useful in-page links as the static fallback;
  • native Interest Invoker tooltips with authored descriptions and a progressively enhanced hover, focus and Escape fallback.

Closed-choice controls remain native. Progressive helpers are introduced only where the platform lacks the complete interaction, while retaining native validation, submission, reset and an honest unsupported-browser fallback.

2. Blocks

Implemented:

  • panel/card surfaces.
  • Contextual alert feedback.
  • Native field, description, fieldset and validation-message composition.
  • Wrapping native breadcrumbs with application-owned routes and current-page semantics.
  • Vertical and wrapping horizontal navigation lists with native link keyboard behavior.
  • Popover-backed responsive navigation with native links, delegated dynamic item handling, a locally scrolling body and a pinned account/action footer.
  • Native-first in-flow notification regions with a separate stable status announcer and application-owned message lifecycle.
  • Responsive metric cards using native description-list label/value groups.
  • Native description-list composition for structured term/value groups.
  • Responsive page-header structure without fixed heading or landmark semantics.
  • Visual toolbar action groups with native Tab order.
  • Responsive thematic form sections and explicit-label settings rows.
  • Native search-and-filter form composition with separate collection actions and normal Tab order.
  • Responsive native-table shell with local keyboard-reachable overflow.
  • Wrapping pagination with native links and current-page semantics.
  • Shared content-state layout for empty, loading, success, warning and recoverable error presentation with application-owned async, announcement and focus behavior.
  • Readable native document flow for guides, policies and other long-form informational content without styling nested blocks implicitly.
  • Modal command palette composed from native dialog and the stable editable combobox contract, with application-owned commands and shortcuts.

3. Templates

Implemented:

  • Responsive application shell with native route navigation, a skip link and one route-content landmark.
  • List/data page with shareable native filtering, table results, pagination and an honest empty state.
  • Parameterized detail page with native breadcrumbs, grouped metadata and a missing-record branch.
  • Parameterized edit form with native constraints, reactive form state and an explicit application-owned persistence seam.
  • Native settings page for profile, locale and preferences with explicit descriptions and application-owned persistence.
  • Focused authentication shell with a skip link, home route and no embedded identity or access policy.

Templates are copied Mado page() and layout() recipes. Product-specific data access, routing and domain language stay in the application. Further page recipes should be extracted from repeated application needs, not added speculatively.

Catalog delivery

Implemented:

  • Typed manifest covering all 44 current registry items.
  • Routed Mado shell, direct item URLs and per-item lazy showcases.
  • Isolated same-origin template previews that cannot nest application and catalog main landmarks.
  • Static declarations for every current public catalog route.
  • Native local search and category filtering over the catalog manifest, with shell-owned state that survives SPA navigation.
  • Stable @latest Clipboard API copy actions with a visible manual-copy path when clipboard access is unavailable.
  • A persistent application-owned notification region with one stable status announcer for copy results.
  • A validated reference contract for all 44 registry items, split by family and lazy-loaded with each item route.
  • Composition, public API, source-detected classes and CSS properties, accessibility, keyboard, focus, fallback, dependency graph and copied-file references on every item page.
  • Static /docs/installation, /docs/theming and /docs/cli routes derived from one Node-readable guide manifest.
  • Repeatable 48-route, 49-snapshot release verification and an independent Cloudflare deployment at ui.madojs.dev.

Planned:

  • Immutable versioned catalog releases after the first stable registry release.

Later CLI work

  • Immutable historical registry releases and honest three-way diffs.
  • Migration reports for upstream behavior changes.
  • Optional mado ui ... delegation from the framework CLI.
  • Registry namespaces only after a real third-party registry appears.

Quality gate for every public item

  • Registry validation and strict TypeScript.
  • Real-browser behavior for focus, keyboard, slots and forms.
  • Static snapshot and live takeover coverage.
  • 320 px layout, 200% zoom and forced-colors review.
  • Generated default and modular applications typecheck and build.