@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,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>
|