Package Exports
- maz-ui
- maz-ui/modules/maz-ui.mjs
- maz-ui/modules/maz-ui.umd.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (maz-ui) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Maz UI
Lightweight and efficient library for Vue & Nuxt
Documentation · Getting Started · Showcase
Example of a dashboard built with Maz UI components
✨ Features
- 🎯 Cherry-pick components - Use only what you need
- 🌙 Dark mode - Built-in dark mode support
- 🎨 Themeable - Easy to customize with CSS variables
- 📱 Responsive - Mobile-first design approach
- 🔧 TypeScript - Full type support included
- ⚡️ Lightweight - Tree-shakeable, no bloat
- 🔍 SSR - Server-side rendering ready
🚀 Quick Start
npm install maz-ui
Vue
// main.ts
import { mazUi } from '@maz-ui/themes/presets'
import { fr } from '@maz-ui/translations'
import { MazUi } from 'maz-ui/plugins/maz-ui'
import 'maz-ui/styles'
const app = createApp(App)
app.use(MazUi, {
theme: {
preset: mazUi,
},
translations: {
messages: {
fr,
},
},
})
💡 Usage
Then, import and use only the components, composables, and more you need:
<script setup lang="ts">
import MazBtn from 'maz-ui/components/MazBtn'
</script>
<template>
<MazBtn>Click me!</MazBtn>
</template>
Use provided resolvers to enjoy auto-imports and TypeScript support: Resolvers documentation
Nuxt
The Nuxt module automatically:
- Imports all components, plugins, composables and directives on-demand (auto-imports)
- Includes required styles
- Provides TypeScript support out of the box
See options and more in the documentation
// nuxt.config.ts
export default defineNuxtConfig({
modules: ['@maz-ui/nuxt'],
})
💡 Usage
No need to import components, plugins, composables or directives, they are all auto-imported.
<script setup lang="ts">
const toast = useToast()
</script>
<template>
<MazBtn @click="toast.success('Hello Maz UI!')">
Click me!
</MazBtn>
</template>
🎨 Theming Made Easy
Customize Maz UI to match your brand with our dedicated CLI tool:
# Install the CLI
npm install -g @maz-ui/cli
# Generate your theme
maz generate-css-vars
The CLI will automatically:
- Generate all color variations
- Create dark mode variables
- Output a ready-to-use CSS file
To know how configure the CLI, check theming options in our documentation.
🧰 What's included?
- 🧩 Components - Beautiful, accessible UI components
- 🔌 Plugins - Powerful plugins for common use cases
- 🎣 Composables - Reusable composition functions
- 📏 Directives - Useful Vue directives
- 🛠️ Helpers - Useful utilities for common tasks
Icons
Maz UI provides a comprehensive set of beautiful icons (300+) ready-to-use for Vue applications, based on the amazing Heroicons set. All icons are optimized as Vue components with full TypeScript support.
Documentation
Installation
npm install @maz-ui/icons
Usage
Import the icons you need from the package:
<script setup>
import { MazArrowTopRightOnSquare, MazCheckCircle, MazXMark } from '@maz-ui/icons'
</script>
<template>
<div>
<CheckCircle class="text-green-500 h-6 w-6" />
<XMark class="text-red-500 h-5 w-5 cursor-pointer" @click="close" />
<ArrowTopRightOnSquare class="text-blue-500 h-4 w-4" />
</div>
</template>
Note: Icons are asynchronous Vue components optimized for tree-shaking. Only imported icons will be included in your final bundle.
🤝 Contributing
We're always looking for contributors! Check out our contribution guide to get started.