Free for personal and commercial projects
You can use, modify and distribute Gavia UI, including in commercial projects. Keep the MIT license text and copyright notice.
A component library for Vue 3.
Buttons, inputs, tables and icons. Shared tokens, five themes and examples with code.
Created by Gorbach Dmitry. MIT · GitHub
The package gavia-ui@1.0.0 is available on npm.
pnpm add gavia-uiThe library requires Vue 3.
Adjust colors in the theme builder .
You can use, modify and distribute Gavia UI, including in commercial projects. Keep the MIT license text and copyright notice.
Report bugs and suggest changes in GitHub Issues . To contribute code, read the contributor guide .
Read the changelog and migration notes before upgrading.
Import the styles and a theme, then import a component. This example uses Classic. For Gavia and Gavia Dark, also import the font CSS and select gavia or gavia-dark. Gavia Dark is available from version 0.10.0.
01 / main.ts
Basic components work without installing a plugin.
import { createApp } from "vue";
import App from "./App.vue";
// Import styles explicitly: reset → base → primitives → theme.
import "gavia-ui/styles/reset.css";
import "gavia-ui/styles/base.css";
import "gavia-ui/styles/primitives.css";
import "gavia-ui/themes/white.css";
document.documentElement.dataset.wlTheme = "white";
createApp(App).mount("#app");02 / App.vue
<script setup lang="ts">
import { WlButton, WlIcon } from "gavia-ui";
import { ref } from "vue";
const count = ref(0);
</script>
<template>
<div class="wl-stack" data-space="md">
<div>
<WlButton v-bind='{"variant":"primary"}' @click="count++"><template #icon><WlIcon name="plus" /></template>{{ "Add" }}</WlButton>
</div>
<p role="status" class="wl-text-small">{{ "Clicks:" }} {{ count }}</p>
</div>
</template>Checks for components, accessibility, browser behavior and package installation.
Unit test results: · v1.0.0 · CI run working version. See the quality page for current CI results.