Skip to content

Getting Started

Everything you need to know to start using Mirror.

Overview

Installation

CLI

Add @maas/mirror to your dependencies.

sh
pnpm install @maas/vue-equipment
sh
npm install @maas/vue-equipment
sh
bun install @maas/vue-equipment

Tokens

Generate CSS variables and fully typed JS variables with the @maas/mirror CLI. The default output directory is .maas.

sh
pnpx @maas/mirror tokens
sh
npx @maas/mirror tokens
sh
bunx @maas/mirror tokens

Tailwind

Generate tailwind utility classes with the @maas/mirror CLI. The default output file is .maas/tailwind.preset.css.

sh
pnpx @maas/mirror tailwind
sh
npx @maas/mirror tailwind
sh
bunx @maas/mirror tailwind

Usage

Vue

If you are using Vue, import the component directly in your Vue app.

js
import { MButton, MBadge, MInput } from '@maas/mirror/vue'

Import the neccessary CSS variables seperately.

css
@import '.maas/tokens/css/component/button.css';
@import '.maas/tokens/css/component/badge.css';
@import '.maas/tokens/css/component/input.css';

Nuxt

Mirror comes with a Nuxt module. In your Nuxt config file add @maas/mirror/nuxt to your modules and configure it according to your needs. Import the neccessary CSS variables seperately.

js
export default defineNuxtConfig({
  modules: ['@maas/mirror/nuxt'],
  mirror: {
    component: ['button', 'badge', 'input'],
  },
  css: [
    '.maas/tokens/css/application.css',
    '.maas/tokens/css/component/button.css',
    '.maas/tokens/css/component/badge.css',
    '.maas/tokens/css/component/input.css',
  ],
})

Peer Dependencies

Mirror relies on various peer dependencies. Depending on your package manager as well as your project settings, you may need to add them manually.

Auto Installation

Both npm (starting from version 7) and bun automatically install peer dependencies. For pnpm we recommend adding a .npmrc file to the root of your project.

ini
auto-install-peers=true

Manual Installation

Alternatively, install them all with the following command.

sh
pnpm install @clack/prompts @maas/vue-primitive @prettier/sync c12 camelcase-keys citty colorjs.io deepmerge defu giget glob lodash-es multimatch picocolors reduce-css-calc rimraf scule style-dictionary tailwindcss
sh
npm install @clack/prompts @maas/vue-primitive @prettier/sync c12 camelcase-keys citty colorjs.io deepmerge defu giget glob lodash-es multimatch picocolors reduce-css-calc rimraf scule style-dictionary tailwindcss
sh
bun install @clack/prompts @maas/vue-primitive @prettier/sync c12 camelcase-keys citty colorjs.io deepmerge defu giget glob lodash-es multimatch picocolors reduce-css-calc rimraf scule style-dictionary tailwindcss