JSPM

maz-ui

3.9.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 23198
  • Score
    100M100P100Q135103F
  • License MIT

A standalone components library for Vue.Js 3 & Nuxt.Js 3

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 Logo

Maz UI

Lightweight and efficient library for Vue & Nuxt

vue badge nuxt badge nuxt badge npm types Downloads

Coverage github actions test unit

Documentation · Getting Started · Showcase

Maz UI Demo Dashboard
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

Please refer to

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.

📄 License

MIT

Built with ❤️ by Louis Mazel