npm.io
4.9.3 • Published 6d ago

maz-ui

Licence
MIT
Version
4.9.3
Deps
11
Size
1.0 MB
Vulns
0
Weekly
0
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?

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 } from '@maz-ui/icons/MazArrowTopRightOnSquare'
import { MazCheckCircle } from '@maz-ui/icons/MazCheckCircle'
import { MazXMark } from '@maz-ui/icons/MazXMark'
</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

Keywords