Getting Started

Roadmap

Upcoming components, features, and milestones for Vy UI — where the project is headed and what ships next.

Vy UI is alpha. The lists below separate what is live today from the work still moving. For release-by-release detail, see the Changelog.

Expect breaking changes. Things will break. Don't ship this to production yet.

Live now

  • Headless core primitives@vyui/core includes overlays, dialogs, menus, form controls, navigation, scroll/gesture primitives, and layout helpers for Lynx-native apps.
  • Styled kit components@vyui/kit wraps the core primitives with themed components including Accordion, Button, Drawer, FeedList, Input, Modal, Select, Slider, Toast, Tray, and more.
  • Dark modeuseColorMode() plus a three-tier semantic token system (bg-default, text-muted, …) flips the whole component set via a single .dark class, no per-component dark: variants. VyApp wires the toggle contract for you. See Theming → Dark Mode.
  • Tray — a morphing, multi-view bottom sheet with measured view heights, back navigation, and persistent footer support.
  • Side-aware Sheet and Drawer — top, right, bottom, and left placement with matching slide animations and drag-to-dismiss physics.
  • Keyboard-aware inputsInput, Textarea, VyInput, and VyTextarea emit a normalized keyboard event for Lynx's on-screen keyboard.
  • Gesture and scroll primitives — Swiper, SwipeAction, Sortable, Draggable, FeedList, and ScrollView share main-thread gesture physics tuned for Lynx.
  • @vyui/cli — shadcn-style CLI for copying styled components into an app: pnpm dlx @vyui/cli add button.
  • Hosted registry seedvyui.dev/r/* manifests exist for the default, rounded, and shadcn styles, currently covering Accordion, Avatar, Button, Chip, and Toast.
  • Generated component docs — API tables and examples are generated from source so docs drift less between releases.
  • Intl stopgaps — core exports installIntlPolyfill, DateFormatter, useDateFormatter, useLocale, and useDirection for the current Lynx runtime constraints.

In progress

  • Registry expansion — adding the rest of the styled kit components to vyui.dev/r/* so the CLI can install more than the seed set.
  • Component documentation depth — expanding examples, usage notes, accessibility notes, and edge-case guidance across the current component set.
  • Native-device verification — continuing to validate gesture-heavy primitives against iOS, Android, and web behaviour.
  • Accessibility follow-through — adding spoken announcements for transient UI, stronger focus handling for dialogs, and more target-specific checks.
  • Internationalization follow-through — moving beyond the current English-only formatter/polyfill stopgaps toward app-level locale messages and RTL polish.

Planned

  • Starter templates.
  • Cross-target testing (iOS / Android / Web).
  • Web — first-class web support so the same components run in the browser as cleanly as on native — see Web event parity below.
  • Web event parity — normalise interaction events across targets so the same component handles native tap/long-press and web click/hover without per-target code.
  • Internationalization (i18n) — overridable built-in strings, richer locale-aware formatting, and complete RTL layout coverage — see i18n.
  • Calendar and date inputsVyCalendar / date-picker components are planned, but blocked on native Lynx date-object, timezone, and locale-formatting verification — see Calendar.