A set of fully customizable Vue 2 components designed to be styled with Tailwind CSS utility classes, featuring unlimited variants, configurable props, and a theming system for building consistent design systems.
Define custom default CSS classes for every component to match your unique design.
Create as many style variants as you need for every specific use case.
Override default prop values globally so you never repeat the same settings.
Install the same component multiple times with different names and default settings.
Completely open source under the MIT license for personal and commercial use.
Import only the components you need to keep your production bundle size small.
Vue Tailwind provides a collection of Vue 2 UI components that are designed from the ground up to be styled using Tailwind CSS utility classes. Rather than shipping with opinionated, locked-in styles, every component lets you define your own default classes, create unlimited style variants, and override prop defaults at the global level. This makes it a strong fit for teams who want the convenience of a component library without sacrificing control over their design system. The library is written in TypeScript and supports tree-shaking, so you can import only the components your project actually needs.
The theming system revolves around three core concepts: classes, fixedClasses, and variants. Fixed classes persist across all states while the active variant swaps in its own set of classes. You can register the same underlying component multiple times under different names, each with its own default props and styling — useful for creating semantic wrappers like a submit button or a styled heading without writing new components. The variant prop also accepts an object for conditional styling, letting you toggle between error, success, or other states based on your application logic.
@tailwindcss/forms plugin, though all classes are fully replaceable