@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,231 @@
1
+ ---
2
+ title: MazTabs
3
+ description: MazTabs is a standalone component to display content in tabs with animations
4
+ ---
5
+
6
+ # {{ $frontmatter.title }}
7
+
8
+ {{ $frontmatter.description }}
9
+
10
+ ## Basic usage
11
+
12
+ <MazTabs>
13
+ <MazTabsBar :items="tabs" />
14
+
15
+ <MazTabsContent>
16
+ <MazTabsContentItem :tab="1" class="maz-py-4">
17
+ Tab 1
18
+ </MazTabsContentItem>
19
+ <MazTabsContentItem :tab="2" class="maz-py-4">
20
+ Tab 2
21
+ </MazTabsContentItem>
22
+ <MazTabsContentItem :tab="3" class="maz-py-4">
23
+ Tab 3
24
+ </MazTabsContentItem>
25
+ </MazTabsContent>
26
+ </MazTabs>
27
+
28
+ ```vue
29
+ <script lang="ts" setup>
30
+ import { MazTabs, MazTabsBar, type MazTabsBarItem, MazTabsContent, MazTabsContentItem } from 'maz-ui/components'
31
+
32
+ const tabs: MazTabsBarItem[] = [
33
+ { label: 'First Tab', disabled: false },
34
+ { label: 'Second Tab', disabled: false, badge: { color: 'destructive', content: 1, roundedSize: 'full' } },
35
+ { label: 'Third Tab', disabled: true },
36
+ ]
37
+ </script>
38
+
39
+ <template>
40
+ <MazTabs>
41
+ <MazTabsBar :items="tabs" />
42
+
43
+ <MazTabsContent>
44
+ <MazTabsContentItem :tab="1" class="maz-py-4">
45
+ Tab 1
46
+ </MazTabsContentItem>
47
+ <MazTabsContentItem :tab="2" class="maz-py-4">
48
+ Tab 2
49
+ </MazTabsContentItem>
50
+ <MazTabsContentItem :tab="3" class="maz-py-4">
51
+ Tab 3
52
+ </MazTabsContentItem>
53
+ </MazTabsContent>
54
+ </MazTabs>
55
+ </template>
56
+ ```
57
+
58
+ ## With model-value
59
+
60
+ <MazTabs v-model="currentTab">
61
+ <MazTabsBar :items="tabs" />
62
+
63
+ <MazTabsContent>
64
+ <MazTabsContentItem :tab="1" class="maz-py-4">
65
+ Tab 1
66
+ </MazTabsContentItem>
67
+ <MazTabsContentItem :tab="2" class="maz-py-4">
68
+ Tab 2
69
+ </MazTabsContentItem>
70
+ <MazTabsContentItem :tab="3" class="maz-py-4">
71
+ Tab 3
72
+ </MazTabsContentItem>
73
+ </MazTabsContent>
74
+ </MazTabs>
75
+
76
+ <br />
77
+
78
+ <MazBtn @click="currentTab = currentTab === 1 ? 2 : 1">
79
+ Set model-value to {{currentTab === 1 ? 2 : 1}}
80
+ </MazBtn>
81
+
82
+ ::: details View code
83
+
84
+ ```vue
85
+ <script lang="ts" setup>
86
+ import { ref } from 'vue'
87
+
88
+ const currentTab = ref(2)
89
+
90
+ const tabs: MazTabsBarItem[] = ['First Tab', 'Second Tab', 'Third Tab']
91
+ </script>
92
+
93
+ <template>
94
+ <MazTabs v-model="currentTab">
95
+ <MazTabsBar :items="tabs" />
96
+
97
+ <MazTabsContent>
98
+ <MazTabsContentItem :tab="1" class="maz-py-4">
99
+ Tab 1
100
+ </MazTabsContentItem>
101
+ <MazTabsContentItem :tab="2" class="maz-py-4">
102
+ Tab 2
103
+ </MazTabsContentItem>
104
+ <MazTabsContentItem :tab="3" class="maz-py-4">
105
+ Tab 3
106
+ </MazTabsContentItem>
107
+ </MazTabsContent>
108
+ </MazTabs>
109
+
110
+ <br>
111
+
112
+ <MazBtn @click="currentTab = currentTab === 1 ? 2 : 1">
113
+ Set model-value to {{ currentTab === 1 ? 2 : 1 }}
114
+ </MazBtn>
115
+ </template>
116
+ ```
117
+
118
+ :::
119
+
120
+ ## Persistent tab
121
+
122
+ To keep the tab current when the page reloads, you can use the `persistent` props on the component `<MazTabsBar />`.
123
+
124
+ The component will save the current table index in the URL of the page via a query parameter.
125
+
126
+ You can choose the name of this query parameter with the props `query-param` `@default 'tab'`
127
+
128
+ <MazTabs>
129
+ <MazTabsBar :items="tabs2" persistent />
130
+
131
+ <MazTabsContent>
132
+ <MazTabsContentItem :tab="1" class="maz-py-4">
133
+ Tab 1
134
+ </MazTabsContentItem>
135
+ <MazTabsContentItem :tab="2" class="maz-py-4">
136
+ Tab 2
137
+ </MazTabsContentItem>
138
+ <MazTabsContentItem :tab="3" class="maz-py-4">
139
+ Tab 3
140
+ </MazTabsContentItem>
141
+ </MazTabsContent>
142
+ </MazTabs>
143
+
144
+ ## Custom tabs with slot
145
+
146
+ <MazTabs>
147
+ <MazTabsBar :items="tabs2">
148
+ <template #item="{ item, index, active }">
149
+ {{ item.label }}
150
+ <MazBadge
151
+ size="0.6rem"
152
+ rounded-size="full"
153
+ :color="active ? 'primary' : 'transparent'"
154
+ >
155
+ {{ index}}
156
+ </MazBadge>
157
+ </template>
158
+ </MazTabsBar>
159
+ </MazTabs>
160
+
161
+ ```html
162
+ <MazTabs>
163
+ <MazTabsBar :items="tabs">
164
+ <template #item="{ item, index, active }">
165
+ {{ item.label }}
166
+
167
+ <MazBadge size="0.6rem" rounded-size="full" :color="active ? 'primary' : 'transparent'"> {{ index }} </MazBadge>
168
+ </template>
169
+ </MazTabsBar>
170
+ </MazTabs>
171
+ ```
172
+
173
+ <script lang="ts" setup>
174
+ import { ref } from 'vue'
175
+
176
+ const currentTab = ref(2)
177
+
178
+ const tabs: MazTabsBarItem[] = [
179
+ { label: 'First Tab', disabled: false },
180
+ { label: 'Second Tab', disabled: false, badge: { color: 'destructive', content: 1, roundedSize: 'full' } },
181
+ { label: 'Third Tab', disabled: true },
182
+ ]
183
+
184
+ const tabs2: MazTabsBarItem[] = ['First Tab', 'Second Tab', 'Third Tab', 'Fourth Tab', 'Fifth Tab', 'Sixth Tab', 'Seventh Tab', 'Eighth Tab', 'Ninth Tab', 'Tenth Tab']
185
+ </script>
186
+
187
+ ## Types
188
+
189
+ ```ts
190
+ type MazTabsBarItem
191
+ = | {
192
+ /**
193
+ * Label of the tab
194
+ */
195
+ label: string
196
+ /**
197
+ * Will disable the tab
198
+ * @default false
199
+ */
200
+ disabled?: boolean
201
+ /**
202
+ * Badge to display in the tab
203
+ * Inherit all props of MazBadge component
204
+ */
205
+ badge?: MazBadgeProps & {
206
+ /**
207
+ * Content of the badge
208
+ */
209
+ content: string | number | boolean
210
+ }
211
+ }
212
+ | string
213
+ ```
214
+
215
+ ## Props & Events emitted
216
+
217
+ ## MazTabs
218
+
219
+ <!--@include: ./../../.vitepress/generated-docs/maz-tabs.doc.md-->
220
+
221
+ ## MazTabsBar
222
+
223
+ <!--@include: ./../../.vitepress/generated-docs/maz-tabs-bar.doc.md-->
224
+
225
+ ## MazTabsContent
226
+
227
+ <!--@include: ./../../.vitepress/generated-docs/maz-tabs-content.doc.md-->
228
+
229
+ ## MazTabsContentItem
230
+
231
+ <!--@include: ./../../.vitepress/generated-docs/maz-tabs-content-item.doc.md-->
@@ -0,0 +1,218 @@
1
+ ---
2
+ title: MazTextarea
3
+ description: MazTextarea is a standalone component that replaces the standard html textarea input with a beautiful design system. Many options like colors, disabled, error, warning, success and error messages are available.
4
+ ---
5
+
6
+ # {{ $frontmatter.title }}
7
+
8
+ {{ $frontmatter.description }}
9
+
10
+ <!--@include: ./../.vitepress/mixins/getting-started.md-->
11
+
12
+ ::: info
13
+ This component has the "autogrow" feature, so when the user writes, the textarea expands automatically
14
+ :::
15
+
16
+ ## Basic usage
17
+
18
+ <ComponentDemo expanded>
19
+ <MazTextarea
20
+ v-model="value"
21
+ name="comment"
22
+ label="Enter your comment"
23
+ />
24
+
25
+ <template #code>
26
+
27
+ ```vue
28
+ <script lang="ts" setup>
29
+ import { MazTextarea } from 'maz-ui/components'
30
+ import { ref } from 'vue'
31
+
32
+ const value = ref()
33
+ </script>
34
+
35
+ <template>
36
+ <MazTextarea
37
+ v-model="value"
38
+ name="comment"
39
+ label="Enter your comment"
40
+ />
41
+ </template>
42
+ ```
43
+
44
+ </template>
45
+ </ComponentDemo>
46
+
47
+ ## With label and append slots
48
+
49
+ You can use the `label` and `append` slots to customize the label and the append element.
50
+
51
+ <ComponentDemo>
52
+ <MazTextarea
53
+ v-model="value"
54
+ name="comment"
55
+ >
56
+ <template #label>
57
+ <MazIcon name="envelope" class="maz-text-xl" />
58
+ <span class="maz-ml-2">
59
+ The custom label
60
+ </span>
61
+ </template>
62
+ <template #append>
63
+ <MazBtn icon="paper-airplane" size="sm" @click="sendMessage" />
64
+ </template>
65
+ </MazTextarea>
66
+
67
+ <template #code>
68
+
69
+ ```vue
70
+ <script lang="ts" setup>
71
+ import { useToast } from 'maz-ui/composables'
72
+ import { ref } from 'vue'
73
+
74
+ const value = ref<string>()
75
+
76
+ const toast = useToast()
77
+
78
+ function sendMessage() {
79
+ toast.success('Message sent', {
80
+ position: 'top-right',
81
+ })
82
+ value.value = ''
83
+ }
84
+ </script>
85
+
86
+ <template>
87
+ <MazTextarea
88
+ v-model="value"
89
+ name="comment"
90
+ >
91
+ <template #label>
92
+ <MazIcon name="envelope" class="maz-text-xl" />
93
+ <span class="maz-ml-2">
94
+ The custom label
95
+ </span>
96
+ </template>
97
+ <template #append>
98
+ <MazBtn icon="paper-airplane" size="sm" @click="sendMessage" />
99
+ </template>
100
+ </MazTextarea>
101
+ </template>
102
+ ```
103
+
104
+ </template>
105
+ </ComponentDemo>
106
+
107
+ ## With hint and state
108
+
109
+ You can use the `hint` attribute to display a hint message. This will replace the label.
110
+
111
+ <ComponentDemo>
112
+ <div class="maz-flex maz-flex-col maz-gap-4">
113
+ <MazTextarea
114
+ v-model="value"
115
+ name="comment"
116
+ label="This is a label"
117
+ hint="This is a hint message"
118
+ />
119
+ <MazTextarea
120
+ v-model="value"
121
+ name="comment"
122
+ label="This is a label"
123
+ hint="This is a hint message"
124
+ error
125
+ />
126
+ <MazTextarea
127
+ v-model="value"
128
+ name="comment"
129
+ label="This is a label"
130
+ hint="This is a hint message"
131
+ success
132
+ />
133
+ <MazTextarea
134
+ v-model="value"
135
+ name="comment"
136
+ label="This is a label"
137
+ hint="This is a hint message"
138
+ warning
139
+ />
140
+ </div>
141
+
142
+ <template #code>
143
+
144
+ ```vue
145
+ <template>
146
+ <MazTextarea
147
+ v-model="value"
148
+ name="comment"
149
+ label="This is a label"
150
+ hint="This is a hint message"
151
+ />
152
+ <MazTextarea
153
+ v-model="value"
154
+ name="comment"
155
+ label="This is a label"
156
+ hint="This is a hint message"
157
+ error
158
+ />
159
+ <MazTextarea
160
+ v-model="value"
161
+ name="comment"
162
+ label="This is a label"
163
+ hint="This is a hint message"
164
+ success
165
+ />
166
+ <MazTextarea
167
+ v-model="value"
168
+ name="comment"
169
+ label="This is a label"
170
+ hint="This is a hint message"
171
+ warning
172
+ />
173
+ </template>
174
+ ```
175
+
176
+ </template>
177
+ </ComponentDemo>
178
+
179
+ ## Disabled
180
+
181
+ <ComponentDemo>
182
+ <MazTextarea
183
+ v-model="value"
184
+ name="comment"
185
+ label="This is a label"
186
+ disabled
187
+ />
188
+
189
+ <template #code>
190
+
191
+ ```html
192
+ <MazTextarea v-model="value" name="comment" label="This is a label" disabled />
193
+ ```
194
+
195
+ </template>
196
+ </ComponentDemo>
197
+
198
+ <!--@include: ./../../.vitepress/generated-docs/maz-textarea.doc.md-->
199
+
200
+ <script lang="ts" setup>
201
+ import { ref } from 'vue'
202
+ import { useToast } from 'maz-ui/src/composables/useToast'
203
+
204
+ const value = ref()
205
+
206
+ const toast = useToast()
207
+
208
+ function sendMessage() {
209
+ toast.success('Message sent', {
210
+ position: 'top-right',
211
+ })
212
+ value.value = ''
213
+ }
214
+ </script>
215
+
216
+ ```
217
+
218
+ ```
@@ -0,0 +1,34 @@
1
+ ---
2
+ title: useAos
3
+ description: Vue composable for handling aos plugin in your components
4
+ ---
5
+
6
+ # {{ $frontmatter.title }}
7
+
8
+ {{ $frontmatter.description }}
9
+
10
+ ::: warning
11
+ You must install the [aos plugin](./../plugins/aos.md#install) before you start using it
12
+ :::
13
+
14
+ ::: tip
15
+ More info about the [aos plugin](./../plugins/aos.md) can be found in its documentation
16
+ :::
17
+
18
+ ## Usage
19
+
20
+ ```vue
21
+ <script lang="ts" setup>
22
+ import { useAos } from 'maz-ui'
23
+
24
+ const aos = useAos()
25
+
26
+ onMounted(() => {
27
+ aos.runAnimations()
28
+ })
29
+ </script>
30
+
31
+ <template>
32
+ <img data-maz-aos="scale-in">
33
+ </template>
34
+ ```
@@ -0,0 +1,35 @@
1
+ ---
2
+ title: useWindowSize
3
+ description: This composable extends the functionality of the useWindowSize composable to manage responsive breakpoints
4
+ ---
5
+
6
+ # {{ $frontmatter.title }}
7
+
8
+ {{ $frontmatter.description }}
9
+
10
+ ## Basic usage
11
+
12
+ ```ts
13
+ const breakpoints = {
14
+ 'sm': '640px',
15
+ 'md': '768px',
16
+ 'lg': '1024px',
17
+ 'xl': '1280px',
18
+ '2xl': '1536px',
19
+ }
20
+
21
+ const {
22
+ isLargeScreen,
23
+ isMediumScreen,
24
+ isSmallScreen,
25
+ } = useBreakpoints({
26
+ breakpoints,
27
+ initialWidth: 0,
28
+ mediumBreakPoint: 'md',
29
+ largeBreakPoint: 'lg',
30
+ })
31
+ ```
32
+
33
+ ::: warning
34
+ More documentation to come
35
+ :::
@@ -0,0 +1,88 @@
1
+ ---
2
+ title: useDialog
3
+ description: Vue composable for handling dialog plugin in your components
4
+ ---
5
+
6
+ # {{ $frontmatter.title }}
7
+
8
+ {{ $frontmatter.description }}
9
+
10
+ ::: warning
11
+ You must install [dialog plugin](./../plugins/dialog.md#install) before use it
12
+ :::
13
+
14
+ ::: tip
15
+ More info about [dialog plugin](./../plugins/dialog.md) in its documentation
16
+ :::
17
+
18
+ ## Usage
19
+
20
+ <ComponentDemo>
21
+ <MazBtn
22
+ @click="openDialog"
23
+ >
24
+ Open Dialog
25
+ </MazBtn>
26
+
27
+ <template #code>
28
+
29
+ ```vue
30
+ <script lang="ts" setup>
31
+ import { useDialog, useToast } from 'maz-ui/composables'
32
+
33
+ const dialog = useDialog()
34
+
35
+ const toast = useToast()
36
+
37
+ function openDialog() {
38
+ dialog.open({
39
+ title: 'Dialog title',
40
+ message: 'Dialog message',
41
+ onAccept: (response) => {
42
+ toast.success(`Dialog accepted`, {
43
+ position: 'bottom',
44
+ })
45
+ },
46
+ onReject: (response) => {
47
+ toast.error(`Dialog rejected`, {
48
+ position: 'bottom',
49
+ })
50
+ },
51
+ })
52
+ }
53
+ </script>
54
+
55
+ <template>
56
+ <MazBtn @click="openDialog">
57
+ Open Dialog
58
+ </MazBtn>
59
+ </template>
60
+ ```
61
+
62
+ </template>
63
+
64
+ </ComponentDemo>
65
+
66
+ <script lang="ts" setup>
67
+ import { useDialog, useToast } from 'maz-ui/src/composables/index'
68
+
69
+ const dialog = useDialog()
70
+ const toast = useToast()
71
+
72
+ function openDialog() {
73
+ dialog.open({
74
+ title: 'Dialog title',
75
+ message: 'Dialog message',
76
+ onAccept: (response) => {
77
+ toast.success(`Dialog accepted`, {
78
+ position: 'bottom',
79
+ })
80
+ },
81
+ onReject: (response) => {
82
+ toast.error(`Dialog rejected`, {
83
+ position: 'bottom',
84
+ })
85
+ },
86
+ })
87
+ }
88
+ </script>