Alpha — expect breaking changes

Headless & styled
components for
Vue-Lynx.

A styled kit built on headless, accessible primitives — rendering natively to iOS, Android, and web from a single Vue codebase.

$ npm i @vyui/kit

Live — the Lynx web runtime, running @vyui/kit

Two layers, one ecosystem

Pick the level of opinion you want, and mix them freely — import styled Vy* components from the kit and reach for raw @vyui/core primitives in the same file wherever you need bespoke styling.
  • @vyui/core — Headless
    47 behavioral primitives — Dialog, Sheet, Popover, Combobox, Slider, Swiper, Sortable, and more. State, focus, keyboard, gestures. You bring the styles.
  • @vyui/kit — Styled
    47 styled components on top of @vyui/core — VyButton, VyDrawer, VyModal, VyToast, VyIsland, and more. Themeable via Tailwind Variants and an app-config object.
  • @vyui/cli — Own the code
    shadcn-style CLI. vyui add button copies the styled component source into your project — you own and edit it, while headless @vyui/core stays an npm dependency.

One source. Every target.

Vue-Lynx is ByteDance's open-source native cross-platform framework — the same one powering parts of TikTok. You write Vue once; Lynx renders it natively.

Android
Web
iOS
Profile.vue

Component docs are live

Every component has a full reference — props, slots, events, and a live demo running a real Lynx bundle. Source is always one click away when you need more.