Skip to content

Build a design system with Lit web components

Share Velkin UI custom elements and theme tokens across React, Vue, and Lit applications, with published wrappers and documented component subpath imports.

The problem

Multiple application frameworks can fragment the behavior, naming, and visual foundations of a design system.

An implementation path

Use the same Lit implementation through published React and Vue wrappers. Apply VuThemeProvider at the application boundary and customize documented tokens and CSS parts.

"use client";
import { VuThemeProvider } from "@velkin/react/theme-provider";
import { VuButton } from "@velkin/react/button";
export default function Example() { return <VuThemeProvider persist><VuButton variant="solid" color="primary">Save changes</VuButton></VuThemeProvider>; }

Components to evaluate

Integration responsibilities

Shared components do not remove framework-specific work around forms, routing, SSR, or event bindings. Test each integration.

Use your actual content and data volume for the evaluation. Test empty, loading, error, and success states, then review mobile layout and focus order. Keep the application’s data access and authorization separate from presentation components.

Start with Velkin UI · Connect your AI editor · Compare MIT and Pro