@maz-ui/mcp 4.0.0-beta.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +264 -0
- package/bin/maz-ui-mcp.mjs +7 -0
- package/dist/mcp.d.mts +13 -0
- package/dist/mcp.d.ts +13 -0
- package/dist/mcp.mjs +586 -0
- package/docs/generated-docs/maz-accordion.doc.md +21 -0
- package/docs/generated-docs/maz-animated-counter.doc.md +17 -0
- package/docs/generated-docs/maz-animated-element.doc.md +14 -0
- package/docs/generated-docs/maz-animated-text.doc.md +14 -0
- package/docs/generated-docs/maz-avatar.doc.md +44 -0
- package/docs/generated-docs/maz-backdrop.doc.md +61 -0
- package/docs/generated-docs/maz-badge.doc.md +16 -0
- package/docs/generated-docs/maz-bottom-sheet.doc.md +21 -0
- package/docs/generated-docs/maz-btn.doc.md +30 -0
- package/docs/generated-docs/maz-card-spotlight.doc.md +16 -0
- package/docs/generated-docs/maz-card.doc.md +39 -0
- package/docs/generated-docs/maz-carousel.doc.md +16 -0
- package/docs/generated-docs/maz-chart.doc.md +10 -0
- package/docs/generated-docs/maz-checkbox.doc.md +34 -0
- package/docs/generated-docs/maz-checklist.doc.md +30 -0
- package/docs/generated-docs/maz-circular-progress-bar.doc.md +27 -0
- package/docs/generated-docs/maz-date-picker.doc.md +52 -0
- package/docs/generated-docs/maz-dialog-confirm.doc.md +24 -0
- package/docs/generated-docs/maz-dialog.doc.md +22 -0
- package/docs/generated-docs/maz-drawer.doc.md +26 -0
- package/docs/generated-docs/maz-dropdown.doc.md +42 -0
- package/docs/generated-docs/maz-dropzone.doc.md +82 -0
- package/docs/generated-docs/maz-expand-animation.doc.md +12 -0
- package/docs/generated-docs/maz-fullscreen-loader.doc.md +13 -0
- package/docs/generated-docs/maz-gallery.doc.md +17 -0
- package/docs/generated-docs/maz-icon.doc.md +18 -0
- package/docs/generated-docs/maz-input-code.doc.md +25 -0
- package/docs/generated-docs/maz-input-number.doc.md +31 -0
- package/docs/generated-docs/maz-input-phone-number.doc.md +56 -0
- package/docs/generated-docs/maz-input-price.doc.md +26 -0
- package/docs/generated-docs/maz-input-tags.doc.md +24 -0
- package/docs/generated-docs/maz-input.doc.md +54 -0
- package/docs/generated-docs/maz-lazy-img.doc.md +31 -0
- package/docs/generated-docs/maz-link.doc.md +31 -0
- package/docs/generated-docs/maz-loading-bar.doc.md +6 -0
- package/docs/generated-docs/maz-pagination.doc.md +22 -0
- package/docs/generated-docs/maz-popover.doc.md +70 -0
- package/docs/generated-docs/maz-pull-to-refresh.doc.md +31 -0
- package/docs/generated-docs/maz-radio-buttons.doc.md +33 -0
- package/docs/generated-docs/maz-radio.doc.md +33 -0
- package/docs/generated-docs/maz-reading-progress-bar.doc.md +18 -0
- package/docs/generated-docs/maz-select-country.doc.md +44 -0
- package/docs/generated-docs/maz-select.doc.md +65 -0
- package/docs/generated-docs/maz-slider.doc.md +20 -0
- package/docs/generated-docs/maz-spinner.doc.md +6 -0
- package/docs/generated-docs/maz-stepper.doc.md +29 -0
- package/docs/generated-docs/maz-switch.doc.md +31 -0
- package/docs/generated-docs/maz-table-cell.doc.md +5 -0
- package/docs/generated-docs/maz-table-row.doc.md +11 -0
- package/docs/generated-docs/maz-table-title.doc.md +5 -0
- package/docs/generated-docs/maz-table.doc.md +66 -0
- package/docs/generated-docs/maz-tabs-bar.doc.md +18 -0
- package/docs/generated-docs/maz-tabs-content-item.doc.md +11 -0
- package/docs/generated-docs/maz-tabs-content.doc.md +5 -0
- package/docs/generated-docs/maz-tabs.doc.md +17 -0
- package/docs/generated-docs/maz-textarea.doc.md +41 -0
- package/docs/src/components/index.md +8 -0
- package/docs/src/components/maz-accordion.md +80 -0
- package/docs/src/components/maz-animated-counter.md +124 -0
- package/docs/src/components/maz-animated-element.md +36 -0
- package/docs/src/components/maz-animated-text.md +36 -0
- package/docs/src/components/maz-avatar.md +179 -0
- package/docs/src/components/maz-backdrop.md +16 -0
- package/docs/src/components/maz-badge.md +222 -0
- package/docs/src/components/maz-bottom-sheet.md +398 -0
- package/docs/src/components/maz-btn.md +526 -0
- package/docs/src/components/maz-card-spotlight.md +163 -0
- package/docs/src/components/maz-card.md +447 -0
- package/docs/src/components/maz-carousel.md +127 -0
- package/docs/src/components/maz-chart.md +346 -0
- package/docs/src/components/maz-checkbox.md +168 -0
- package/docs/src/components/maz-checklist.md +414 -0
- package/docs/src/components/maz-circular-progress-bar.md +147 -0
- package/docs/src/components/maz-date-picker.md +1078 -0
- package/docs/src/components/maz-dialog-confirm.md +240 -0
- package/docs/src/components/maz-dialog.md +208 -0
- package/docs/src/components/maz-drawer.md +177 -0
- package/docs/src/components/maz-dropdown.md +650 -0
- package/docs/src/components/maz-dropzone.md +442 -0
- package/docs/src/components/maz-expand-animation.md +99 -0
- package/docs/src/components/maz-fullscreen-loader.md +58 -0
- package/docs/src/components/maz-gallery.md +85 -0
- package/docs/src/components/maz-icon.md +85 -0
- package/docs/src/components/maz-input-code.md +61 -0
- package/docs/src/components/maz-input-number.md +81 -0
- package/docs/src/components/maz-input-phone-number.md +867 -0
- package/docs/src/components/maz-input-price.md +58 -0
- package/docs/src/components/maz-input-tags.md +114 -0
- package/docs/src/components/maz-input.md +453 -0
- package/docs/src/components/maz-lazy-img.md +24 -0
- package/docs/src/components/maz-link.md +156 -0
- package/docs/src/components/maz-loading-bar.md +26 -0
- package/docs/src/components/maz-pagination.md +81 -0
- package/docs/src/components/maz-popover.md +1414 -0
- package/docs/src/components/maz-pull-to-refresh.md +49 -0
- package/docs/src/components/maz-radio-buttons.md +456 -0
- package/docs/src/components/maz-radio.md +141 -0
- package/docs/src/components/maz-reading-progress-bar.md +74 -0
- package/docs/src/components/maz-select-country.md +636 -0
- package/docs/src/components/maz-select.md +439 -0
- package/docs/src/components/maz-slider.md +191 -0
- package/docs/src/components/maz-spinner.md +93 -0
- package/docs/src/components/maz-stepper.md +418 -0
- package/docs/src/components/maz-switch.md +92 -0
- package/docs/src/components/maz-table.md +571 -0
- package/docs/src/components/maz-tabs.md +231 -0
- package/docs/src/components/maz-textarea.md +218 -0
- package/docs/src/composables/use-aos.md +34 -0
- package/docs/src/composables/use-breakpoints.md +35 -0
- package/docs/src/composables/use-dialog.md +88 -0
- package/docs/src/composables/use-display-names.md +174 -0
- package/docs/src/composables/use-form-validator.md +1149 -0
- package/docs/src/composables/use-idle-timeout.md +256 -0
- package/docs/src/composables/use-reading-time.md +168 -0
- package/docs/src/composables/use-string-matching.md +63 -0
- package/docs/src/composables/use-swipe.md +223 -0
- package/docs/src/composables/use-timer.md +130 -0
- package/docs/src/composables/use-toast.md +71 -0
- package/docs/src/composables/use-user-visibility.md +169 -0
- package/docs/src/composables/use-wait.md +62 -0
- package/docs/src/composables/use-window-size.md +18 -0
- package/docs/src/demo/DemoAuthPage.vue +178 -0
- package/docs/src/demo/DemoDashboardPage.vue +298 -0
- package/docs/src/demo/DemoProductPage.vue +135 -0
- package/docs/src/directives/click-outside.md +275 -0
- package/docs/src/directives/fullscreen-img.md +101 -0
- package/docs/src/directives/lazy-img.md +184 -0
- package/docs/src/directives/tooltip.md +458 -0
- package/docs/src/directives/zoom-img.md +127 -0
- package/docs/src/guide/cli.md +144 -0
- package/docs/src/guide/getting-started.md +284 -0
- package/docs/src/guide/icon-set.md +60 -0
- package/docs/src/guide/icons.md +481 -0
- package/docs/src/guide/mcp.md +210 -0
- package/docs/src/guide/migration-v4.md +898 -0
- package/docs/src/guide/nuxt.md +411 -0
- package/docs/src/guide/resolvers.md +697 -0
- package/docs/src/guide/themes.md +789 -0
- package/docs/src/guide/translations.md +1173 -0
- package/docs/src/guide/vue.md +243 -0
- package/docs/src/helpers/camel-case.md +14 -0
- package/docs/src/helpers/capitalize.md +51 -0
- package/docs/src/helpers/check-availability.md +14 -0
- package/docs/src/helpers/country-code-to-unicode-flag.md +213 -0
- package/docs/src/helpers/currency.md +67 -0
- package/docs/src/helpers/date.md +67 -0
- package/docs/src/helpers/debounce-callback.md +14 -0
- package/docs/src/helpers/debounce-id.md +14 -0
- package/docs/src/helpers/debounce.md +14 -0
- package/docs/src/helpers/get-country-flag-url.md +156 -0
- package/docs/src/helpers/is-client.md +14 -0
- package/docs/src/helpers/is-equal.md +14 -0
- package/docs/src/helpers/is-standalone-mode.md +14 -0
- package/docs/src/helpers/kebab-case.md +14 -0
- package/docs/src/helpers/normalize-string.md +14 -0
- package/docs/src/helpers/number.md +65 -0
- package/docs/src/helpers/pascal-case.md +14 -0
- package/docs/src/helpers/script-loader.md +14 -0
- package/docs/src/helpers/sleep.md +14 -0
- package/docs/src/helpers/snake-case.md +14 -0
- package/docs/src/helpers/throttle-id.md +14 -0
- package/docs/src/helpers/throttle.md +14 -0
- package/docs/src/index.md +555 -0
- package/docs/src/made-with-maz-ui.md +58 -0
- package/docs/src/plugins/aos.md +347 -0
- package/docs/src/plugins/dialog.md +411 -0
- package/docs/src/plugins/toast.md +349 -0
- package/docs/src/plugins/wait.md +109 -0
- package/package.json +84 -0
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: '@maz-ui/cli - theme generator'
|
|
3
|
+
description: CLI of maz-ui to generate CSS variables file to theming maz-ui
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# {{ $frontmatter.title }}
|
|
7
|
+
|
|
8
|
+
{{ $frontmatter.description }}
|
|
9
|
+
|
|
10
|
+
::: warning
|
|
11
|
+
|
|
12
|
+
This module is only for v3.x users, if you are using v4.x, please use the [@maz-ui/themes](./themes.md) package instead.
|
|
13
|
+
|
|
14
|
+
:::
|
|
15
|
+
|
|
16
|
+
## Config file
|
|
17
|
+
|
|
18
|
+
Then, in your root folder of your project, add a file named `maz-ui.config.{ts,js,mjs,cjs}` as bellow ([model](#maz-ui-configuration-file-typescript-interface))
|
|
19
|
+
|
|
20
|
+
All colors can be in HEX, RGB, RGBA, HSL, HSLA and named formats.
|
|
21
|
+
|
|
22
|
+
No theme variables are required, you can put only one if you wish
|
|
23
|
+
|
|
24
|
+
```ts
|
|
25
|
+
import { defineConfig } from '@maz-ui/cli'
|
|
26
|
+
|
|
27
|
+
export default defineConfig({
|
|
28
|
+
outputCssFilePath: './css/maz-ui-variables.css',
|
|
29
|
+
theme: {
|
|
30
|
+
colors: {
|
|
31
|
+
primary: 'hsl(210, 100%, 56%)',
|
|
32
|
+
secondary: 'hsl(164, 76%, 46%)',
|
|
33
|
+
info: 'hsl(188, 78%, 41%)',
|
|
34
|
+
success: 'hsl(80, 61%, 50%)',
|
|
35
|
+
warning: 'hsl(40, 97%, 59%)',
|
|
36
|
+
danger: 'hsl(1, 100%, 71%)',
|
|
37
|
+
bgOverlay: 'hsl(0, 0%, 0% / 30%)',
|
|
38
|
+
lightTheme: {
|
|
39
|
+
textColor: 'hsl(0, 0%, 85%)',
|
|
40
|
+
colorMuted: 'hsla(0, 0%, 0%, 0.54)',
|
|
41
|
+
bgColor: 'hsl(0, 0%, 100%)',
|
|
42
|
+
},
|
|
43
|
+
darkTheme: {
|
|
44
|
+
textColor: 'hsl(210, 8%, 14%)',
|
|
45
|
+
colorMuted: 'hsla(0, 0%, 100%, 0.54)',
|
|
46
|
+
bgColor: 'hsl(235, 16%, 15%)',
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
borderColor: 'hsl(220deg 13.04% 90.98%)',
|
|
50
|
+
borderWidth: '0.125rem',
|
|
51
|
+
borderRadius: '0.5rem',
|
|
52
|
+
fontFamily: `system-ui, -apple-system, blinkmacsystemfont, 'Segoe UI', roboto, oxygen,
|
|
53
|
+
ubuntu, cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`,
|
|
54
|
+
},
|
|
55
|
+
})
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Generate CSS file variables
|
|
59
|
+
|
|
60
|
+
Two ways to generate the CSS file:
|
|
61
|
+
|
|
62
|
+
### Run CLI command
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
npx maz-ui generate-css-vars
|
|
66
|
+
# or pnpx maz-ui generate-css-vars
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### With package.json script
|
|
70
|
+
|
|
71
|
+
1. First, install the CLI package:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
npm install @maz-ui/cli
|
|
75
|
+
# or pnpm add @maz-ui/cli
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
2. Then, add the script in your `package.json`:
|
|
79
|
+
|
|
80
|
+
```json
|
|
81
|
+
{
|
|
82
|
+
"scripts": {
|
|
83
|
+
"generate-css-vars": "maz-ui generate-css-vars"
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
3. Finally, run the script:
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
npm run generate-css-vars
|
|
92
|
+
# or yanr generate-css-vars
|
|
93
|
+
# or pnpm generate-css-vars
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Then, the file will be generated, and you must import it in your project.
|
|
97
|
+
|
|
98
|
+
**Be careful, depending on the chosen colors, some variants may need to be adjusted**
|
|
99
|
+
|
|
100
|
+
## Maz-UI configuration file Typescript interface
|
|
101
|
+
|
|
102
|
+
```ts
|
|
103
|
+
interface MazUiConfig {
|
|
104
|
+
/**
|
|
105
|
+
* Path and name of generate CSS file
|
|
106
|
+
* @example './css/maz-ui-variables.css'
|
|
107
|
+
*/
|
|
108
|
+
outputCssFilePath: string
|
|
109
|
+
theme: {
|
|
110
|
+
colors: {
|
|
111
|
+
primary?: string
|
|
112
|
+
secondary?: string
|
|
113
|
+
info?: string
|
|
114
|
+
danger?: string
|
|
115
|
+
success?: string
|
|
116
|
+
warning?: string
|
|
117
|
+
bgOverlay?: string
|
|
118
|
+
lightTheme?: {
|
|
119
|
+
textColor?: string
|
|
120
|
+
colorMuted?: string
|
|
121
|
+
bgColor?: string
|
|
122
|
+
}
|
|
123
|
+
darkTheme?: {
|
|
124
|
+
textColor?: string
|
|
125
|
+
colorMuted?: string
|
|
126
|
+
bgColor?: string
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Border color applied to components like: inputs, card, etc
|
|
131
|
+
*/
|
|
132
|
+
borderColor?: string
|
|
133
|
+
/**
|
|
134
|
+
* Border width applied to components like: inputs, card, etc
|
|
135
|
+
*/
|
|
136
|
+
borderWidth?: string
|
|
137
|
+
/**
|
|
138
|
+
* Radius applied to rounded components like: buttons, inputs, card, etc.
|
|
139
|
+
*/
|
|
140
|
+
borderRadius?: string
|
|
141
|
+
fontFamily?: string
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
```
|
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Getting Started
|
|
3
|
+
description: Build Vue and Nuxt applications faster with Maz-UI v4 - The modern, modular component library
|
|
4
|
+
head:
|
|
5
|
+
- - meta
|
|
6
|
+
- name: keywords
|
|
7
|
+
content: vue ui library, vue components, nuxt ui, maz-ui installation, vue 3 components
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# {{ $frontmatter.title }}
|
|
11
|
+
|
|
12
|
+
{{ $frontmatter.description }}
|
|
13
|
+
|
|
14
|
+
::: tip ✨ What's New in v4
|
|
15
|
+
|
|
16
|
+
- 🌱 **Tree-shaking improvements** - Import only what you need
|
|
17
|
+
- 🛠️ **TypeScript-first** - Full type safety out of the box
|
|
18
|
+
- 🎨 **Theming system** - Customizable themes and dark mode support (4 presets available)
|
|
19
|
+
- 🌐 **Internationalization** - Locale management and tree-shakable imports
|
|
20
|
+
- 🎨 **Icon library** - Comprehensive collection of SVG icons designed for performance and flexibility
|
|
21
|
+
- 🧰 **Nuxt module** - Effortless Maz-UI integration with auto-imports
|
|
22
|
+
- 🚀 **Performance optimizations** - Tree-shaking benefits and maximum optimization
|
|
23
|
+
- 🛠️ **Enhanced accessibility** - WCAG 2.1 AA compliant
|
|
24
|
+
- 🆕 **New components** - MazPopover & MazSelectCountry
|
|
25
|
+
|
|
26
|
+
:::
|
|
27
|
+
|
|
28
|
+
## Guides
|
|
29
|
+
|
|
30
|
+
Start by choosing your framework:
|
|
31
|
+
|
|
32
|
+
<div class="maz-flex maz-gap-4 maz-w-full maz-flex-col tab-m:maz-flex-row vp-raw">
|
|
33
|
+
<MazCard
|
|
34
|
+
href="/guide/vue"
|
|
35
|
+
class="maz-flex-1"
|
|
36
|
+
:gallery="{
|
|
37
|
+
images: ['https://positivethinking.tech/wp-content/uploads/2021/01/Logo-Vuejs.png'],
|
|
38
|
+
height: 200,
|
|
39
|
+
width: '100%',
|
|
40
|
+
}"
|
|
41
|
+
>
|
|
42
|
+
<template #content-title>
|
|
43
|
+
<h3>
|
|
44
|
+
Vue Users Guide
|
|
45
|
+
</h3>
|
|
46
|
+
</template>
|
|
47
|
+
<template #footer>
|
|
48
|
+
<MazBtn color="contrast" href="/guide/vue">
|
|
49
|
+
Go to Vue guide
|
|
50
|
+
</MazBtn>
|
|
51
|
+
</template>
|
|
52
|
+
</MazCard>
|
|
53
|
+
<MazCard
|
|
54
|
+
href="/guide/nuxt"
|
|
55
|
+
class="maz-flex-1"
|
|
56
|
+
content-title="Nuxt Users Guide"
|
|
57
|
+
:gallery="{
|
|
58
|
+
images: ['https://seeklogo.com/images/N/nuxt-2023-logo-7D939E3251-seeklogo.com.png'],
|
|
59
|
+
height: 200,
|
|
60
|
+
width: '100%',
|
|
61
|
+
}"
|
|
62
|
+
>
|
|
63
|
+
<template #content-title>
|
|
64
|
+
<h3>
|
|
65
|
+
Nuxt Users Guide
|
|
66
|
+
</h3>
|
|
67
|
+
</template>
|
|
68
|
+
<template #footer>
|
|
69
|
+
<MazBtn color="contrast" href="/guide/nuxt">
|
|
70
|
+
Go to Nuxt guide
|
|
71
|
+
</MazBtn>
|
|
72
|
+
</template>
|
|
73
|
+
</MazCard>
|
|
74
|
+
</div>
|
|
75
|
+
|
|
76
|
+
## Ecosystem Packages
|
|
77
|
+
|
|
78
|
+
Extend Maz-UI with our specialized companion packages:
|
|
79
|
+
|
|
80
|
+
### @maz-ui/themes
|
|
81
|
+
|
|
82
|
+
**Advanced Theming System**
|
|
83
|
+
|
|
84
|
+
Modern theme system with HSL variables, dark mode support, and flexible strategies.
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
npm install @maz-ui/themes
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
**Features:**
|
|
91
|
+
|
|
92
|
+
- 🎨 HSL CSS custom properties
|
|
93
|
+
- 🌓 Smart dark mode detection
|
|
94
|
+
- ⚡ Multiple rendering strategies
|
|
95
|
+
- 🛡️ Full TypeScript support
|
|
96
|
+
|
|
97
|
+
[→ View Theme Documentation](./themes.md)
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
### @maz-ui/translations
|
|
102
|
+
|
|
103
|
+
**Internationalization (i18n)**
|
|
104
|
+
|
|
105
|
+
Internationalization library for Maz-UI.
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
npm install @maz-ui/translations
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
**Features:**
|
|
112
|
+
|
|
113
|
+
- 🌐 Internationalization of Maz-UI components
|
|
114
|
+
- 🔄 Locale management
|
|
115
|
+
- 📦 Tree-shakable imports
|
|
116
|
+
- 🛠️ TypeScript support
|
|
117
|
+
|
|
118
|
+
[→ View Translations Documentation](./translations.md)
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
### @maz-ui/icons
|
|
123
|
+
|
|
124
|
+
**Optimized Icon Library**
|
|
125
|
+
|
|
126
|
+
Comprehensive collection of SVG icons designed for performance and flexibility.
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
npm install @maz-ui/icons
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
**Features:**
|
|
133
|
+
|
|
134
|
+
- 300+ icons
|
|
135
|
+
- Usable as Vue components (e.g. `<MazStar />`)
|
|
136
|
+
- Tree-shakable imports
|
|
137
|
+
- Multiple sizes and variants
|
|
138
|
+
- Full TypeScript definitions
|
|
139
|
+
|
|
140
|
+
[→ Browse Icon Library](./icons.md)
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
### @maz-ui/mcp
|
|
145
|
+
|
|
146
|
+
**Maz-UI MCP server to connect your IA agents to the documentation**
|
|
147
|
+
|
|
148
|
+
**Features:**
|
|
149
|
+
|
|
150
|
+
- Connect your IA agents to the documentation
|
|
151
|
+
|
|
152
|
+
[→ View MCP Documentation](./mcp.md)
|
|
153
|
+
|
|
154
|
+
## Performance Optimizations
|
|
155
|
+
|
|
156
|
+
### Tree-Shaking Benefits
|
|
157
|
+
|
|
158
|
+
Maz-UI v4 is built with tree-shaking in mind. Import only what you need for optimal bundle sizes:
|
|
159
|
+
|
|
160
|
+
```typescript
|
|
161
|
+
/**
|
|
162
|
+
* Utilities
|
|
163
|
+
*/
|
|
164
|
+
|
|
165
|
+
// ❌ Avoid importing everything
|
|
166
|
+
import * as MazUI from 'maz-ui'
|
|
167
|
+
// ✅ Import specific utilities
|
|
168
|
+
import { formatCurrency, debounce } from 'maz-ui'
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* Components
|
|
172
|
+
*/
|
|
173
|
+
|
|
174
|
+
// ✅ Import specific components (good)
|
|
175
|
+
import { MazBtn, MazCard, MazInput } from 'maz-ui/components'
|
|
176
|
+
// ✅✅ Direct component import (most optimized)
|
|
177
|
+
import MazBtn from 'maz-ui/components/MazBtn'
|
|
178
|
+
import MazCard from 'maz-ui/components/MazCard'
|
|
179
|
+
import MazInput from 'maz-ui/components/MazInput'
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* Composables
|
|
183
|
+
*/
|
|
184
|
+
|
|
185
|
+
// ✅ Import composable from index file
|
|
186
|
+
import { useBreakpoints, useToast } from 'maz-ui/composables'
|
|
187
|
+
|
|
188
|
+
// ✅✅ Direct composable import (most optimized)
|
|
189
|
+
import { useToast } from 'maz-ui/composables/useToast'
|
|
190
|
+
import { useBreakpoints } from 'maz-ui/composables/useBreakpoints'
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* Directives
|
|
194
|
+
*/
|
|
195
|
+
|
|
196
|
+
// ✅ Import directive from index file
|
|
197
|
+
import { vClickOutside } from 'maz-ui/directives'
|
|
198
|
+
|
|
199
|
+
// ✅✅ Direct directive import (most optimized)
|
|
200
|
+
import { vClickOutside } from 'maz-ui/directives/vClickOutside'
|
|
201
|
+
|
|
202
|
+
// ✅✅✅ Even better: auto-import does this automatically
|
|
203
|
+
// Components, composables, and utilities are imported only when used
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* Plugins
|
|
207
|
+
*/
|
|
208
|
+
|
|
209
|
+
// ✅ Import plugin from index file
|
|
210
|
+
import { MazUi } from 'maz-ui/plugins'
|
|
211
|
+
// ✅✅ Direct plugin import (most optimized)
|
|
212
|
+
import { MazUi } from 'maz-ui/plugins/maz-ui'
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
::: tip Maximum Optimization
|
|
216
|
+
**Direct imports** (e.g., `import MazBtn from 'maz-ui/components/MazBtn'`) are the most optimized approach as they bypass index files completely. This ensures the smallest possible bundle size and fastest build times.
|
|
217
|
+
:::
|
|
218
|
+
|
|
219
|
+
## Next Steps
|
|
220
|
+
|
|
221
|
+
<div class="next-steps">
|
|
222
|
+
|
|
223
|
+
### Explore Components
|
|
224
|
+
|
|
225
|
+
Browse the [component library](./../components/maz-btn.md) with live examples and API documentation.
|
|
226
|
+
|
|
227
|
+
### Customize Themes
|
|
228
|
+
|
|
229
|
+
Learn about [theming and customization](./themes.md) to match your brand.
|
|
230
|
+
|
|
231
|
+
### Internationalization
|
|
232
|
+
|
|
233
|
+
Learn about [internationalization](./translations.md) to support multiple languages.
|
|
234
|
+
|
|
235
|
+
### Get Help
|
|
236
|
+
|
|
237
|
+
Browse [GitHub discussions](https://github.com/LouisMazel/maz-ui/discussions) or open an issue on [GitHub](https://github.com/LouisMazel/maz-ui/issues).
|
|
238
|
+
|
|
239
|
+
</div>
|
|
240
|
+
|
|
241
|
+
<style scoped>
|
|
242
|
+
.hero-section {
|
|
243
|
+
@apply maz-rounded maz-p-8 maz-my-12 maz-from-primary-400 maz-to-secondary-700 maz-bg-gradient-to-br;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
.features-grid {
|
|
247
|
+
display: grid;
|
|
248
|
+
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
|
|
249
|
+
gap: 2rem;
|
|
250
|
+
margin: 2rem 0;
|
|
251
|
+
|
|
252
|
+
h3 {
|
|
253
|
+
margin-top: 0;
|
|
254
|
+
}
|
|
255
|
+
ul {
|
|
256
|
+
margin-top: 0;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
.next-steps {
|
|
261
|
+
display: grid;
|
|
262
|
+
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
|
|
263
|
+
gap: 1rem;
|
|
264
|
+
margin: 2rem 0;
|
|
265
|
+
|
|
266
|
+
h3 {
|
|
267
|
+
margin-top: 0;
|
|
268
|
+
}
|
|
269
|
+
p {
|
|
270
|
+
margin-top: 0;
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
@media (max-width: 768px) {
|
|
275
|
+
.hero-actions {
|
|
276
|
+
flex-direction: column;
|
|
277
|
+
align-items: center;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
.hero-btn {
|
|
281
|
+
width: 200px;
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
</style>
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Icon Set (300+ icons)
|
|
2
|
+
|
|
3
|
+
The library includes **300+ carefully**
|
|
4
|
+
|
|
5
|
+
## Icon Naming Convention
|
|
6
|
+
|
|
7
|
+
All icons follow a consistent naming pattern:
|
|
8
|
+
|
|
9
|
+
- Vue components: `Maz` + PascalCase (e.g., `MazUserCircle`)
|
|
10
|
+
- SVG files: kebab-case (e.g., `user-circle.svg`)
|
|
11
|
+
|
|
12
|
+
## Find your icon
|
|
13
|
+
|
|
14
|
+
<ComponentDemo>
|
|
15
|
+
<div class="maz-flex maz-flex-col maz-gap-4">
|
|
16
|
+
<div class="maz-flex maz-gap-2 maz-items-start">
|
|
17
|
+
<MazInput v-model="search" label="Search icon" @update:model-value="search = $event.trim()" :left-icon="MazIcons.MazMagnifyingGlass" class="flex-1" />
|
|
18
|
+
<div class="maz-flex maz-flex-col maz-gap-1 maz-items-end">
|
|
19
|
+
<p class="maz-text-muted">{{ filteredIcons.length }} icons found</p>
|
|
20
|
+
<p class="maz-text-muted">
|
|
21
|
+
Click to copy icon to clipboard
|
|
22
|
+
</p>
|
|
23
|
+
</div>
|
|
24
|
+
</div>
|
|
25
|
+
<div class="maz-grid maz-grid-cols-3 maz-gap-2">
|
|
26
|
+
<button v-for="icon in filteredIcons" :key="icon.label" class="maz-flex maz-flex-col maz-items-center maz-gap-2 maz-text-center maz-border maz-border-solid maz-border-divider maz-rounded maz-p-4 maz-truncate hover:maz-bg-surface-400" @click="copyIcon(icon.label)">
|
|
27
|
+
<Component :is="icon.value" class="maz-text-2xl" />
|
|
28
|
+
<span class="maz-text-xs maz-text-muted maz-truncate">{{ icon.label }}</span>
|
|
29
|
+
</button>
|
|
30
|
+
</div>
|
|
31
|
+
</div>
|
|
32
|
+
</ComponentDemo>
|
|
33
|
+
|
|
34
|
+
<script setup>
|
|
35
|
+
import { ref, computed } from 'vue'
|
|
36
|
+
import { useToast } from 'maz-ui/composables/useToast'
|
|
37
|
+
import { vTooltip } from 'maz-ui/directives/vTooltip'
|
|
38
|
+
|
|
39
|
+
const MazIcons = await import('@maz-ui/icons')
|
|
40
|
+
const { success} = useToast()
|
|
41
|
+
|
|
42
|
+
const icons = Object.entries(MazIcons).map(([name, component]) => ({
|
|
43
|
+
label: name,
|
|
44
|
+
value: component,
|
|
45
|
+
}))
|
|
46
|
+
|
|
47
|
+
const search = ref()
|
|
48
|
+
|
|
49
|
+
const filteredIcons = computed(() => {
|
|
50
|
+
console.log(search.value)
|
|
51
|
+
if (!search.value) return icons
|
|
52
|
+
|
|
53
|
+
return icons.filter(icon => icon.label.toLowerCase().includes(search.value.toLowerCase())).slice(0, 10)
|
|
54
|
+
})
|
|
55
|
+
|
|
56
|
+
const copyIcon = (icon) => {
|
|
57
|
+
navigator.clipboard.writeText(icon)
|
|
58
|
+
success('Icon copied to clipboard')
|
|
59
|
+
}
|
|
60
|
+
</script>
|