Weini UI
A free, public design system and Vue component library maintained by Weini. It brings our interface foundations, accessible components, and interaction patterns into one shared source.
Component library
Browse the components used across Weini interfaces. Each page documents behavior, accessibility, public API, and practical Vue examples.
Actions
08Forms
22Display
09Overlays
10Navigation
09Layout
04Data
03Utilities
02A selection from each category
Foundations
The visual and behavioral decisions that keep every component part of the same Weini interface language.
Color and themes
Semantic tokens for light and dark interfaces, with product-level overrides.
02Typography
Nebula Sans, type roles, weights, and readable interface rhythm.
03Design foundations
A consistent scale for control sizes, spacing, surfaces, and interaction.
04Form patterns
Labels, validation, native form behavior, and consistent field composition.
Nebula Sans · interface typeface
Shared radius scale
Using Weini UI
Components are distributed as readable source. Add only what your interface needs, keep native behavior, and adapt the implementation inside your own project.
Open the getting-started guide ↗<script setup lang="ts">
import Button from './components/ui/button/Button.vue'
</script>
<template>
<Button>Save changes</Button>
</template>