Vueless is an open-source UI library and design system framework for Vue.js 3 and Nuxt.js 3, built on top of Tailwind CSS v4.
Itβs completely styleless, allowing you to extend or override default styles without modifying the components themselves β only your custom styles are included in the final build.
Vueless is simple enough for everyday use and powerful enough for advanced scenarios, making it ideal for quickly building beautiful UIs in minutes or developing a fully customized corporate UI library that strictly follows your design guidelines.
Documentation | UI Components | Website
- π§© 65+ UI components (including range date picker, multi-selects, and nested table)
- π Built-in Storybook support
- π Beautiful, modern default UI theme
- π Light and dark mode support
- π Unstyled mode
- π¨οΈ Flexible color palettes
- ποΈ Runtime theme and color switching
- 𧬠Design tokens powered by CSS variables
- β¨ Powerful yet simple styling customization system
- π Internationalization (i18n)
- βΏοΈ Accessibility (a11y)
- βοΈ Server-side rendering (SSR) friendly
- πΌοΈ 1000+ built-in SVG icons
- π‘οΈ Full TypeScript support with type safety
- π§° Copy and extend existing components
- π§± Create your own components
- π§οΈ Define default values for props
- π©οΈ Add or hide props to components
- π§Ώ
npm
package ships full source without TypeScript transpilation for better DX.
- Install
vueless
UI library packages.
npm install vueless
npx vueless init
- In the file where you create the Vue application, add the following code:
import { createApp } from 'vue';
import { createVueless } from "vueless";
import App from './App.vue';
const vueless = createVueless();
createApp(App).use(vueless).mount('#app');
- Import Tailwind CSS and Vueless at the top of the main CSS file.
@import "tailwindcss";
@import "vueless";
- Add Vite plugins.
import { Vueless, UnpluginComponents } from "vueless/plugin-vite";
export default defineConfig({
plugins: [
...
Vueless(),
UnpluginComponents(),
],
...
})
- Install Vueless Nuxt module.
npm install @vueless/nuxt
npx vueless init
- Register
@vueless/nuxt
into the Nuxt config modules section.
export default defineNuxtConfig({
modules: [
'@vueless/nuxt'
],
...
})
- Import Tailwind CSS and Vueless at the top of the main CSS file.
@import "tailwindcss";
@import "vueless";
- We encourage you to contribute to Vueless! Please check out the contributing to Vueless for guidelines.
- Trying to report a possible security vulnerability in Vueless? Please check out our security policy for guidelines.
- Everyone interacting in Vueless and its sub-projects' codebases, issue trackers, chats, and mailing lists is expected to follow our code of conduct rules.
Vueless is released under the MIT License.