@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.
Files changed (175) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +264 -0
  3. package/bin/maz-ui-mcp.mjs +7 -0
  4. package/dist/mcp.d.mts +13 -0
  5. package/dist/mcp.d.ts +13 -0
  6. package/dist/mcp.mjs +586 -0
  7. package/docs/generated-docs/maz-accordion.doc.md +21 -0
  8. package/docs/generated-docs/maz-animated-counter.doc.md +17 -0
  9. package/docs/generated-docs/maz-animated-element.doc.md +14 -0
  10. package/docs/generated-docs/maz-animated-text.doc.md +14 -0
  11. package/docs/generated-docs/maz-avatar.doc.md +44 -0
  12. package/docs/generated-docs/maz-backdrop.doc.md +61 -0
  13. package/docs/generated-docs/maz-badge.doc.md +16 -0
  14. package/docs/generated-docs/maz-bottom-sheet.doc.md +21 -0
  15. package/docs/generated-docs/maz-btn.doc.md +30 -0
  16. package/docs/generated-docs/maz-card-spotlight.doc.md +16 -0
  17. package/docs/generated-docs/maz-card.doc.md +39 -0
  18. package/docs/generated-docs/maz-carousel.doc.md +16 -0
  19. package/docs/generated-docs/maz-chart.doc.md +10 -0
  20. package/docs/generated-docs/maz-checkbox.doc.md +34 -0
  21. package/docs/generated-docs/maz-checklist.doc.md +30 -0
  22. package/docs/generated-docs/maz-circular-progress-bar.doc.md +27 -0
  23. package/docs/generated-docs/maz-date-picker.doc.md +52 -0
  24. package/docs/generated-docs/maz-dialog-confirm.doc.md +24 -0
  25. package/docs/generated-docs/maz-dialog.doc.md +22 -0
  26. package/docs/generated-docs/maz-drawer.doc.md +26 -0
  27. package/docs/generated-docs/maz-dropdown.doc.md +42 -0
  28. package/docs/generated-docs/maz-dropzone.doc.md +82 -0
  29. package/docs/generated-docs/maz-expand-animation.doc.md +12 -0
  30. package/docs/generated-docs/maz-fullscreen-loader.doc.md +13 -0
  31. package/docs/generated-docs/maz-gallery.doc.md +17 -0
  32. package/docs/generated-docs/maz-icon.doc.md +18 -0
  33. package/docs/generated-docs/maz-input-code.doc.md +25 -0
  34. package/docs/generated-docs/maz-input-number.doc.md +31 -0
  35. package/docs/generated-docs/maz-input-phone-number.doc.md +56 -0
  36. package/docs/generated-docs/maz-input-price.doc.md +26 -0
  37. package/docs/generated-docs/maz-input-tags.doc.md +24 -0
  38. package/docs/generated-docs/maz-input.doc.md +54 -0
  39. package/docs/generated-docs/maz-lazy-img.doc.md +31 -0
  40. package/docs/generated-docs/maz-link.doc.md +31 -0
  41. package/docs/generated-docs/maz-loading-bar.doc.md +6 -0
  42. package/docs/generated-docs/maz-pagination.doc.md +22 -0
  43. package/docs/generated-docs/maz-popover.doc.md +70 -0
  44. package/docs/generated-docs/maz-pull-to-refresh.doc.md +31 -0
  45. package/docs/generated-docs/maz-radio-buttons.doc.md +33 -0
  46. package/docs/generated-docs/maz-radio.doc.md +33 -0
  47. package/docs/generated-docs/maz-reading-progress-bar.doc.md +18 -0
  48. package/docs/generated-docs/maz-select-country.doc.md +44 -0
  49. package/docs/generated-docs/maz-select.doc.md +65 -0
  50. package/docs/generated-docs/maz-slider.doc.md +20 -0
  51. package/docs/generated-docs/maz-spinner.doc.md +6 -0
  52. package/docs/generated-docs/maz-stepper.doc.md +29 -0
  53. package/docs/generated-docs/maz-switch.doc.md +31 -0
  54. package/docs/generated-docs/maz-table-cell.doc.md +5 -0
  55. package/docs/generated-docs/maz-table-row.doc.md +11 -0
  56. package/docs/generated-docs/maz-table-title.doc.md +5 -0
  57. package/docs/generated-docs/maz-table.doc.md +66 -0
  58. package/docs/generated-docs/maz-tabs-bar.doc.md +18 -0
  59. package/docs/generated-docs/maz-tabs-content-item.doc.md +11 -0
  60. package/docs/generated-docs/maz-tabs-content.doc.md +5 -0
  61. package/docs/generated-docs/maz-tabs.doc.md +17 -0
  62. package/docs/generated-docs/maz-textarea.doc.md +41 -0
  63. package/docs/src/components/index.md +8 -0
  64. package/docs/src/components/maz-accordion.md +80 -0
  65. package/docs/src/components/maz-animated-counter.md +124 -0
  66. package/docs/src/components/maz-animated-element.md +36 -0
  67. package/docs/src/components/maz-animated-text.md +36 -0
  68. package/docs/src/components/maz-avatar.md +179 -0
  69. package/docs/src/components/maz-backdrop.md +16 -0
  70. package/docs/src/components/maz-badge.md +222 -0
  71. package/docs/src/components/maz-bottom-sheet.md +398 -0
  72. package/docs/src/components/maz-btn.md +526 -0
  73. package/docs/src/components/maz-card-spotlight.md +163 -0
  74. package/docs/src/components/maz-card.md +447 -0
  75. package/docs/src/components/maz-carousel.md +127 -0
  76. package/docs/src/components/maz-chart.md +346 -0
  77. package/docs/src/components/maz-checkbox.md +168 -0
  78. package/docs/src/components/maz-checklist.md +414 -0
  79. package/docs/src/components/maz-circular-progress-bar.md +147 -0
  80. package/docs/src/components/maz-date-picker.md +1078 -0
  81. package/docs/src/components/maz-dialog-confirm.md +240 -0
  82. package/docs/src/components/maz-dialog.md +208 -0
  83. package/docs/src/components/maz-drawer.md +177 -0
  84. package/docs/src/components/maz-dropdown.md +650 -0
  85. package/docs/src/components/maz-dropzone.md +442 -0
  86. package/docs/src/components/maz-expand-animation.md +99 -0
  87. package/docs/src/components/maz-fullscreen-loader.md +58 -0
  88. package/docs/src/components/maz-gallery.md +85 -0
  89. package/docs/src/components/maz-icon.md +85 -0
  90. package/docs/src/components/maz-input-code.md +61 -0
  91. package/docs/src/components/maz-input-number.md +81 -0
  92. package/docs/src/components/maz-input-phone-number.md +867 -0
  93. package/docs/src/components/maz-input-price.md +58 -0
  94. package/docs/src/components/maz-input-tags.md +114 -0
  95. package/docs/src/components/maz-input.md +453 -0
  96. package/docs/src/components/maz-lazy-img.md +24 -0
  97. package/docs/src/components/maz-link.md +156 -0
  98. package/docs/src/components/maz-loading-bar.md +26 -0
  99. package/docs/src/components/maz-pagination.md +81 -0
  100. package/docs/src/components/maz-popover.md +1414 -0
  101. package/docs/src/components/maz-pull-to-refresh.md +49 -0
  102. package/docs/src/components/maz-radio-buttons.md +456 -0
  103. package/docs/src/components/maz-radio.md +141 -0
  104. package/docs/src/components/maz-reading-progress-bar.md +74 -0
  105. package/docs/src/components/maz-select-country.md +636 -0
  106. package/docs/src/components/maz-select.md +439 -0
  107. package/docs/src/components/maz-slider.md +191 -0
  108. package/docs/src/components/maz-spinner.md +93 -0
  109. package/docs/src/components/maz-stepper.md +418 -0
  110. package/docs/src/components/maz-switch.md +92 -0
  111. package/docs/src/components/maz-table.md +571 -0
  112. package/docs/src/components/maz-tabs.md +231 -0
  113. package/docs/src/components/maz-textarea.md +218 -0
  114. package/docs/src/composables/use-aos.md +34 -0
  115. package/docs/src/composables/use-breakpoints.md +35 -0
  116. package/docs/src/composables/use-dialog.md +88 -0
  117. package/docs/src/composables/use-display-names.md +174 -0
  118. package/docs/src/composables/use-form-validator.md +1149 -0
  119. package/docs/src/composables/use-idle-timeout.md +256 -0
  120. package/docs/src/composables/use-reading-time.md +168 -0
  121. package/docs/src/composables/use-string-matching.md +63 -0
  122. package/docs/src/composables/use-swipe.md +223 -0
  123. package/docs/src/composables/use-timer.md +130 -0
  124. package/docs/src/composables/use-toast.md +71 -0
  125. package/docs/src/composables/use-user-visibility.md +169 -0
  126. package/docs/src/composables/use-wait.md +62 -0
  127. package/docs/src/composables/use-window-size.md +18 -0
  128. package/docs/src/demo/DemoAuthPage.vue +178 -0
  129. package/docs/src/demo/DemoDashboardPage.vue +298 -0
  130. package/docs/src/demo/DemoProductPage.vue +135 -0
  131. package/docs/src/directives/click-outside.md +275 -0
  132. package/docs/src/directives/fullscreen-img.md +101 -0
  133. package/docs/src/directives/lazy-img.md +184 -0
  134. package/docs/src/directives/tooltip.md +458 -0
  135. package/docs/src/directives/zoom-img.md +127 -0
  136. package/docs/src/guide/cli.md +144 -0
  137. package/docs/src/guide/getting-started.md +284 -0
  138. package/docs/src/guide/icon-set.md +60 -0
  139. package/docs/src/guide/icons.md +481 -0
  140. package/docs/src/guide/mcp.md +210 -0
  141. package/docs/src/guide/migration-v4.md +898 -0
  142. package/docs/src/guide/nuxt.md +411 -0
  143. package/docs/src/guide/resolvers.md +697 -0
  144. package/docs/src/guide/themes.md +789 -0
  145. package/docs/src/guide/translations.md +1173 -0
  146. package/docs/src/guide/vue.md +243 -0
  147. package/docs/src/helpers/camel-case.md +14 -0
  148. package/docs/src/helpers/capitalize.md +51 -0
  149. package/docs/src/helpers/check-availability.md +14 -0
  150. package/docs/src/helpers/country-code-to-unicode-flag.md +213 -0
  151. package/docs/src/helpers/currency.md +67 -0
  152. package/docs/src/helpers/date.md +67 -0
  153. package/docs/src/helpers/debounce-callback.md +14 -0
  154. package/docs/src/helpers/debounce-id.md +14 -0
  155. package/docs/src/helpers/debounce.md +14 -0
  156. package/docs/src/helpers/get-country-flag-url.md +156 -0
  157. package/docs/src/helpers/is-client.md +14 -0
  158. package/docs/src/helpers/is-equal.md +14 -0
  159. package/docs/src/helpers/is-standalone-mode.md +14 -0
  160. package/docs/src/helpers/kebab-case.md +14 -0
  161. package/docs/src/helpers/normalize-string.md +14 -0
  162. package/docs/src/helpers/number.md +65 -0
  163. package/docs/src/helpers/pascal-case.md +14 -0
  164. package/docs/src/helpers/script-loader.md +14 -0
  165. package/docs/src/helpers/sleep.md +14 -0
  166. package/docs/src/helpers/snake-case.md +14 -0
  167. package/docs/src/helpers/throttle-id.md +14 -0
  168. package/docs/src/helpers/throttle.md +14 -0
  169. package/docs/src/index.md +555 -0
  170. package/docs/src/made-with-maz-ui.md +58 -0
  171. package/docs/src/plugins/aos.md +347 -0
  172. package/docs/src/plugins/dialog.md +411 -0
  173. package/docs/src/plugins/toast.md +349 -0
  174. package/docs/src/plugins/wait.md +109 -0
  175. 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>