Skip to content

A UI Library with Open Architecture for Vue & Nuxt β€” powered by Storybook and Tailwind CSS πŸ’š

License

Notifications You must be signed in to change notification settings

vuelessjs/vueless

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

vueless-cover.png

Vueless UI

A UI library with Open Architecture for Vue.js 3 and Nuxt.js 3 / 4, powered by Storybook v10 and Tailwind CSS v4.

With Vueless UI, you’re free to:

  • πŸͺ„️ Customize any component
  • πŸ“‹ Copy and extend existing ones
  • 🧱 Build your own from scratch
  • πŸ“• Document it all seamlessly in Storybook

Documentation | UI Components | Theme Builder | About

Key features

  • 🧩 65+ crafted UI components (including range date picker, multi-select, and nested table)
  • ✨ Open Architecture lets you customize, copy, extend, and create your own components
  • πŸ“• Built-in Storybook support
  • πŸͺ© Theme Builder for runtime theme customization
  • 🌈 Beautiful default UI theme
  • πŸŒ€ Unstyled mode
  • πŸŒ— Light and dark mode
  • 🧬 Design tokens powered by CSS variables
  • βš™οΈ Server-side rendering (SSR)
  • 🌍 Internationalization (i18n)
  • ♿️ Accessibility (a11y)
  • πŸ–ΌοΈ Inline SVG icons
  • πŸͺ„ Auto component imports (as you use them)
  • 🧿 Uncompiled source in npm for better DX
  • πŸ§ͺ️ 1400+ unit tests ensuring consistent logic
  • πŸ›‘οΈ Full TypeScript support with type safety

Built-In Storybook

No setup, no hacks β€” just a fully functional Storybook preset ready to test your Vueless UI design system out of the box.

Demo | Package | Docs

storybook.png

Theme Builder

Customize colors, rounding, and typography at runtime, generate full palettes, and export a ready-to-use theme to your project.

Try Vueless UI Theme Builder πŸš€

theme-builder.png

Quick Start (Vue)

New project

To get started with Vueless UI, simply paste the following code into your terminal:

npm create vueless@latest

This command guides you through a few setup options, then generates a new scaffolded Vue + Vueless UI project with the complete application structure.


Existing project

  1. Install vueless UI library packages.
npm install vueless
npx vueless init
  1. 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');
  1. Import Tailwind CSS and Vueless at the top of the main CSS file.
@import "tailwindcss";
@import "vueless";
  1. Add Vite plugins.
import { Vueless, TailwindCSS, UnpluginComponents } from "vueless/plugin-vite";

export default defineConfig({
  plugins: [
    ...
    Vueless(),
    TailwindCSS(),
    UnpluginComponents(),
  ],
  ...
})

Quick Start (Nuxt)

  1. Install Vueless Nuxt module.
npm install @vueless/nuxt
npx vueless init
  1. Register @vueless/nuxt into the Nuxt config modules section.
export default defineNuxtConfig({
  modules: [
    '@vueless/nuxt'
  ],
  ...
})
  1. Import Tailwind CSS and Vueless at the top of the main CSS file.
@import "tailwindcss";
@import "vueless";

Ecosystem

Contributing

  • 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.

License

Vueless is released under the MIT License.


From Ukrainians to a Peaceful World πŸ‡ΊπŸ‡¦