@maz-ui/mcp 4.9.3 → 5.0.0-beta.0
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/dist/mcp.mjs +1 -1
- package/docs/generated-docs/maz-alert.doc.md +1 -1
- package/docs/generated-docs/maz-avatar.doc.md +1 -1
- package/docs/generated-docs/maz-badge.doc.md +8 -8
- package/docs/generated-docs/maz-btn.doc.md +26 -26
- package/docs/generated-docs/maz-card.doc.md +19 -19
- package/docs/generated-docs/maz-chart.doc.md +8 -8
- package/docs/generated-docs/maz-container.doc.md +20 -20
- package/docs/generated-docs/maz-drawer.doc.md +8 -8
- package/docs/generated-docs/maz-dropdown.doc.md +1 -1
- package/docs/generated-docs/maz-dropzone.doc.md +2 -2
- package/docs/generated-docs/maz-gallery.doc.md +15 -15
- package/docs/generated-docs/maz-icon.doc.md +11 -14
- package/docs/generated-docs/maz-input.doc.md +38 -38
- package/docs/generated-docs/maz-lazy-img.doc.md +18 -0
- package/docs/generated-docs/maz-link.doc.md +9 -9
- package/docs/generated-docs/maz-pagination.doc.md +9 -9
- package/docs/generated-docs/maz-popover.doc.md +5 -1
- package/docs/generated-docs/maz-radio-buttons.doc.md +17 -17
- package/docs/generated-docs/maz-select.doc.md +2 -2
- package/docs/generated-docs/maz-skeleton.doc.md +10 -10
- package/docs/generated-docs/maz-table.doc.md +37 -37
- package/docs/generated-docs/maz-textarea.doc.md +1 -1
- package/docs/generated-docs/maz-timeline.doc.md +1 -1
- package/docs/src/blog/v4.md +7 -7
- package/docs/src/blog/v5.md +186 -0
- package/docs/src/components/maz-accordion.md +1 -1
- package/docs/src/components/maz-alert.md +15 -15
- package/docs/src/components/maz-animated-counter.md +4 -4
- package/docs/src/components/maz-avatar.md +2 -2
- package/docs/src/components/maz-backdrop.md +7 -7
- package/docs/src/components/maz-badge.md +12 -30
- package/docs/src/components/maz-bottom-sheet.md +74 -74
- package/docs/src/components/maz-btn-group.md +17 -17
- package/docs/src/components/maz-btn.md +127 -94
- package/docs/src/components/maz-card-spotlight.md +5 -5
- package/docs/src/components/maz-card.md +20 -20
- package/docs/src/components/maz-carousel.md +14 -14
- package/docs/src/components/maz-chart.md +23 -4
- package/docs/src/components/maz-checkbox.md +3 -3
- package/docs/src/components/maz-checklist.md +19 -19
- package/docs/src/components/maz-circular-progress-bar.md +4 -4
- package/docs/src/components/maz-container.md +52 -37
- package/docs/src/components/maz-date-picker.md +7 -7
- package/docs/src/components/maz-dialog-confirm.md +2 -2
- package/docs/src/components/maz-drawer.md +14 -14
- package/docs/src/components/maz-dropdown.md +27 -12
- package/docs/src/components/maz-dropzone.md +6 -6
- package/docs/src/components/maz-expand-animation.md +2 -2
- package/docs/src/components/maz-fullscreen-loader.md +2 -2
- package/docs/src/components/maz-gallery.md +1 -1
- package/docs/src/components/maz-icon.md +113 -60
- package/docs/src/components/maz-input-code.md +1 -1
- package/docs/src/components/maz-input-phone-number.md +89 -88
- package/docs/src/components/maz-input-tags.md +2 -2
- package/docs/src/components/maz-input.md +42 -12
- package/docs/src/components/maz-link.md +28 -12
- package/docs/src/components/maz-pagination.md +2 -2
- package/docs/src/components/maz-popover.md +236 -236
- package/docs/src/components/maz-pull-to-refresh.md +2 -2
- package/docs/src/components/maz-radio-buttons.md +11 -11
- package/docs/src/components/maz-radio.md +3 -3
- package/docs/src/components/maz-read-more.md +7 -7
- package/docs/src/components/maz-select-country.md +26 -26
- package/docs/src/components/maz-select.md +1 -1
- package/docs/src/components/maz-skeleton.md +25 -25
- package/docs/src/components/maz-spinner.md +2 -2
- package/docs/src/components/maz-stepper.md +5 -5
- package/docs/src/components/maz-switch.md +1 -1
- package/docs/src/components/maz-table.md +10 -10
- package/docs/src/components/maz-tabs.md +17 -17
- package/docs/src/components/maz-textarea.md +8 -8
- package/docs/src/components/maz-ticker.md +37 -37
- package/docs/src/components/maz-timeline.md +9 -9
- package/docs/src/composables/use-dialog.md +1 -1
- package/docs/src/composables/use-display-names.md +2 -2
- package/docs/src/composables/use-form-validator.md +35 -35
- package/docs/src/composables/use-idle-timeout.md +3 -3
- package/docs/src/composables/use-reading-time.md +5 -5
- package/docs/src/composables/use-string-matching.md +4 -4
- package/docs/src/composables/use-swipe.md +3 -3
- package/docs/src/composables/use-timer.md +3 -3
- package/docs/src/composables/use-toast.md +1 -1
- package/docs/src/composables/use-user-visibility.md +1 -1
- package/docs/src/composables/use-wait.md +2 -2
- package/docs/src/directives/click-outside.md +17 -17
- package/docs/src/directives/lazy-img.md +5 -5
- package/docs/src/directives/tooltip.md +15 -15
- package/docs/src/directives/zoom-img.md +1 -1
- package/docs/src/ecosystem/eslint-config.md +100 -0
- package/docs/src/ecosystem/stylelint-config.md +190 -0
- package/docs/src/guide/browser-support.md +81 -0
- package/docs/src/guide/getting-started.md +23 -16
- package/docs/src/guide/icon-set.md +11 -11
- package/docs/src/guide/icons.md +32 -5
- package/docs/src/guide/maz-ui-provider.md +6 -6
- package/docs/src/guide/migration-v4.md +3 -3
- package/docs/src/guide/migration-v5.md +662 -0
- package/docs/src/guide/nuxt.md +27 -44
- package/docs/src/guide/resolvers.md +2 -2
- package/docs/src/guide/tailwind.md +154 -0
- package/docs/src/guide/themes.md +258 -485
- package/docs/src/guide/vue.md +8 -5
- package/docs/src/helpers/capitalize.md +4 -4
- package/docs/src/helpers/country-code-to-unicode-flag.md +37 -37
- package/docs/src/helpers/currency.md +4 -4
- package/docs/src/helpers/date.md +4 -4
- package/docs/src/helpers/get-country-flag-url.md +9 -9
- package/docs/src/helpers/number.md +5 -5
- package/docs/src/index.md +296 -266
- package/docs/src/made-with-maz-ui.md +5 -5
- package/docs/src/plugins/aos.md +6 -6
- package/docs/src/plugins/dialog.md +4 -4
- package/docs/src/plugins/toast.md +3 -3
- package/docs/src/plugins/wait.md +1 -1
- package/package.json +5 -5
|
@@ -36,12 +36,12 @@ head:
|
|
|
36
36
|
style="min-width: 250px;"
|
|
37
37
|
>
|
|
38
38
|
<template #content-title>
|
|
39
|
-
<h4 class="maz
|
|
39
|
+
<h4 class="maz:m-0">
|
|
40
40
|
Doggo
|
|
41
41
|
</h4>
|
|
42
42
|
</template>
|
|
43
43
|
<template #content-body>
|
|
44
|
-
<p class="maz
|
|
44
|
+
<p class="maz:text-muted" style="margin-bottom: 0;">
|
|
45
45
|
It's a beautifull doggo, no ?
|
|
46
46
|
</p>
|
|
47
47
|
</template>
|
|
@@ -69,12 +69,12 @@ import MazCard from 'maz-ui/components/MazCard'
|
|
|
69
69
|
style="min-width: 250px;"
|
|
70
70
|
>
|
|
71
71
|
<template #title>
|
|
72
|
-
<h4 class="maz
|
|
72
|
+
<h4 class="maz:m-0">
|
|
73
73
|
Doggo
|
|
74
74
|
</h4>
|
|
75
75
|
</template>
|
|
76
76
|
<template #content-body>
|
|
77
|
-
<p class="maz
|
|
77
|
+
<p class="maz:text-muted" style="margin-bottom: 0;">
|
|
78
78
|
It's a beautifull doggo, no ?
|
|
79
79
|
</p>
|
|
80
80
|
</template>
|
|
@@ -95,7 +95,7 @@ This options will display the component without scrollbar only when the componen
|
|
|
95
95
|
<ComponentDemo>
|
|
96
96
|
<MazCarousel hide-scrollbar>
|
|
97
97
|
<template #title>
|
|
98
|
-
<h4 class="maz
|
|
98
|
+
<h4 class="maz:text-2xl maz:font-bold">Carousel</h4>
|
|
99
99
|
</template>
|
|
100
100
|
<MazCard
|
|
101
101
|
v-for="(item, i) in Array(8)"
|
|
@@ -108,12 +108,12 @@ This options will display the component without scrollbar only when the componen
|
|
|
108
108
|
style="min-width: 250px;"
|
|
109
109
|
>
|
|
110
110
|
<template #content-title>
|
|
111
|
-
<h4 class="maz
|
|
111
|
+
<h4 class="maz:m-0">
|
|
112
112
|
Doggo
|
|
113
113
|
</h4>
|
|
114
114
|
</template>
|
|
115
115
|
<template #content-body>
|
|
116
|
-
<p class="maz
|
|
116
|
+
<p class="maz:text-muted" style="margin-bottom: 0;">
|
|
117
117
|
It's a beautifull doggo, no ?
|
|
118
118
|
</p>
|
|
119
119
|
</template>
|
|
@@ -131,7 +131,7 @@ import MazCard from 'maz-ui/components/MazCard'
|
|
|
131
131
|
<template>
|
|
132
132
|
<MazCarousel hide-scrollbar>
|
|
133
133
|
<template #title>
|
|
134
|
-
<h4 class="maz
|
|
134
|
+
<h4 class="maz:text-2xl maz:font-bold">Carousel</h4>
|
|
135
135
|
</template>
|
|
136
136
|
<MazCard
|
|
137
137
|
v-for="(item, i) in Array(8)"
|
|
@@ -144,12 +144,12 @@ import MazCard from 'maz-ui/components/MazCard'
|
|
|
144
144
|
style="min-width: 250px;"
|
|
145
145
|
>
|
|
146
146
|
<template #content-title>
|
|
147
|
-
<h4 class="maz
|
|
147
|
+
<h4 class="maz:m-0">
|
|
148
148
|
Doggo
|
|
149
149
|
</h4>
|
|
150
150
|
</template>
|
|
151
151
|
<template #content-body>
|
|
152
|
-
<p class="maz
|
|
152
|
+
<p class="maz:text-muted" style="margin-bottom: 0;">
|
|
153
153
|
It's a beautifull doggo, no ?
|
|
154
154
|
</p>
|
|
155
155
|
</template>
|
|
@@ -178,12 +178,12 @@ This options will display the component without scroll buttons
|
|
|
178
178
|
style="min-width: 250px;"
|
|
179
179
|
>
|
|
180
180
|
<template #content-title>
|
|
181
|
-
<h4 class="maz
|
|
181
|
+
<h4 class="maz:m-0">
|
|
182
182
|
Doggo
|
|
183
183
|
</h4>
|
|
184
184
|
</template>
|
|
185
185
|
<template #content-body>
|
|
186
|
-
<p class="maz
|
|
186
|
+
<p class="maz:text-muted" style="margin-bottom: 0;">
|
|
187
187
|
It's a beautifull doggo, no ?
|
|
188
188
|
</p>
|
|
189
189
|
</template>
|
|
@@ -211,12 +211,12 @@ import MazCard from 'maz-ui/components/MazCard'
|
|
|
211
211
|
style="min-width: 250px;"
|
|
212
212
|
>
|
|
213
213
|
<template #content-title>
|
|
214
|
-
<h4 class="maz
|
|
214
|
+
<h4 class="maz:m-0">
|
|
215
215
|
Doggo
|
|
216
216
|
</h4>
|
|
217
217
|
</template>
|
|
218
218
|
<template #content-body>
|
|
219
|
-
<p class="maz
|
|
219
|
+
<p class="maz:text-muted" style="margin-bottom: 0;">
|
|
220
220
|
It's a beautifull doggo, no ?
|
|
221
221
|
</p>
|
|
222
222
|
</template>
|
|
@@ -11,10 +11,14 @@ description: MazChart is a standalone component which generates graphics & chart
|
|
|
11
11
|
|
|
12
12
|
Follow the [Chart.JS](https://www.chartjs.org/docs/latest/) documentation to create your own chart.
|
|
13
13
|
|
|
14
|
-
You can also check the documentation and [examples of vue-chartjs](https://vue-chartjs.org/examples/)
|
|
15
|
-
|
|
16
14
|
You can use all the plugins of Chart.JS. Follow the examples below.
|
|
17
15
|
|
|
16
|
+
::: tip Performance
|
|
17
|
+
`MazChart` lazy-loads `chart.js` on mount and registers only the controllers, elements and scales needed for the chart `type` you requested. A `<MazChart type="pie">` won't pull `BarController`, `LineElement` or any other unused module. The chart instance is also held outside Vue's reactivity (`shallowRef` + `markRaw`) — this avoids accidental deep proxying of the underlying chart and the freezes that can come with it on large datasets.
|
|
18
|
+
|
|
19
|
+
When `data` or `options` change after the initial render, `chart.update()` is called with `'none'` by default so updates don't animate. Pass `update-mode="default"` (or any other Chart.js update mode) to opt back into animations.
|
|
20
|
+
:::
|
|
21
|
+
|
|
18
22
|
## Bar chart
|
|
19
23
|
|
|
20
24
|
<MazChart
|
|
@@ -318,6 +322,21 @@ const lineChart = {
|
|
|
318
322
|
|
|
319
323
|
## Types
|
|
320
324
|
|
|
321
|
-
|
|
325
|
+
`MazChartProps` is generic over the chart type, the data point shape and the label type — it mirrors the same generic signature as `Chart.js` itself:
|
|
326
|
+
|
|
327
|
+
```ts
|
|
328
|
+
interface MazChartProps<
|
|
329
|
+
T extends ChartType = ChartType,
|
|
330
|
+
TData = DefaultDataPoint<T>,
|
|
331
|
+
TLabel = unknown,
|
|
332
|
+
> {
|
|
333
|
+
type: T
|
|
334
|
+
data: ChartData<T, TData, TLabel>
|
|
335
|
+
options?: ChartOptions<T>
|
|
336
|
+
plugins?: Plugin[]
|
|
337
|
+
datasetIdKey?: string
|
|
338
|
+
updateMode?: UpdateMode
|
|
339
|
+
}
|
|
340
|
+
```
|
|
322
341
|
|
|
323
|
-
|
|
342
|
+
For the underlying types, see [chart.js types](https://www.chartjs.org/docs/latest/api/).
|
|
@@ -32,7 +32,7 @@ const checked = ref(false)
|
|
|
32
32
|
|
|
33
33
|
`v-model="{{chosenColors}}"`
|
|
34
34
|
|
|
35
|
-
<div class="maz
|
|
35
|
+
<div class="maz:flex maz:flex-col maz:gap-2">
|
|
36
36
|
<MazCheckbox
|
|
37
37
|
v-for="color in colors"
|
|
38
38
|
:key="color"
|
|
@@ -89,7 +89,7 @@ const colors: Color[] = [
|
|
|
89
89
|
|
|
90
90
|
`v-model="{{chosenSizes}}"`
|
|
91
91
|
|
|
92
|
-
<div class="maz
|
|
92
|
+
<div class="maz:flex maz:flex-col maz:gap-2">
|
|
93
93
|
<MazCheckbox
|
|
94
94
|
v-for="size in sizes"
|
|
95
95
|
:key="size"
|
|
@@ -133,7 +133,7 @@ const sizes: MazSize[] = ['mini', 'xs', 'sm', 'md', 'lg', 'xl']
|
|
|
133
133
|
|
|
134
134
|
## Disabled
|
|
135
135
|
|
|
136
|
-
<div class="maz
|
|
136
|
+
<div class="maz:flex maz:flex-col maz:gap-2">
|
|
137
137
|
<MazCheckbox :model-value="false" disabled name="disabled">
|
|
138
138
|
disabled
|
|
139
139
|
</MazCheckbox>
|
|
@@ -34,11 +34,11 @@ lastUpdated: false
|
|
|
34
34
|
size: 'sm'
|
|
35
35
|
}"
|
|
36
36
|
:items="languagesOptions"
|
|
37
|
-
class="maz
|
|
37
|
+
class="maz:max-h-80"
|
|
38
38
|
>
|
|
39
39
|
<template #item="{ item }">
|
|
40
|
-
<div class="maz
|
|
41
|
-
<span class="maz
|
|
40
|
+
<div class="maz:flex maz:w-full maz:items-center maz:justify-between maz:gap-2">
|
|
41
|
+
<span class="maz:capitalize">{{ item.label }}</span>
|
|
42
42
|
<MazBadge color="theme" outlined>
|
|
43
43
|
{{ item.value }}
|
|
44
44
|
</MazBadge>
|
|
@@ -66,11 +66,11 @@ lastUpdated: false
|
|
|
66
66
|
size: 'sm'
|
|
67
67
|
}"
|
|
68
68
|
:items="languagesOptions"
|
|
69
|
-
class="maz
|
|
69
|
+
class="maz:h-80"
|
|
70
70
|
>
|
|
71
71
|
<template #item="{ item }">
|
|
72
|
-
<div class="maz
|
|
73
|
-
<span class="maz
|
|
72
|
+
<div class="maz:flex maz:w-full maz:items-center maz:justify-between maz:gap-2">
|
|
73
|
+
<span class="maz:capitalize">{{ item.label }}</span>
|
|
74
74
|
<MazBadge color="theme" outlined>
|
|
75
75
|
{{ item.value }}
|
|
76
76
|
</MazBadge>
|
|
@@ -118,25 +118,25 @@ You can replace the default search function by providing a custom search functio
|
|
|
118
118
|
:search-function="customEmployeeSearch"
|
|
119
119
|
color="success"
|
|
120
120
|
elevation
|
|
121
|
-
class="maz
|
|
121
|
+
class="maz:max-h-96"
|
|
122
122
|
>
|
|
123
123
|
<template #item="{ item }">
|
|
124
|
-
<div class="maz
|
|
125
|
-
<div class="maz
|
|
124
|
+
<div class="maz:flex maz:w-full maz:items-center maz:gap-4">
|
|
125
|
+
<div class="maz:flex maz:h-10 maz:w-10 maz:flex-none maz:items-center maz:justify-center maz:rounded-full maz:bg-linear-to-br maz:from-primary-500 maz:to-secondary-500 maz:text-white maz:font-semibold maz:text-lg">
|
|
126
126
|
{{ item.initials }}
|
|
127
127
|
</div>
|
|
128
|
-
<div class="maz
|
|
129
|
-
<div class="maz
|
|
130
|
-
<span class="maz
|
|
131
|
-
<MazBadge :color="item.departmentColor" size="
|
|
128
|
+
<div class="maz:flex maz:flex-1 maz:flex-col maz:gap-1">
|
|
129
|
+
<div class="maz:flex maz:items-center maz:gap-2">
|
|
130
|
+
<span class="maz:font-semibold maz:text-normal">{{ item.label }}</span>
|
|
131
|
+
<MazBadge :color="item.departmentColor" size="xs">
|
|
132
132
|
{{ item.department }}
|
|
133
133
|
</MazBadge>
|
|
134
134
|
</div>
|
|
135
|
-
<span class="maz
|
|
135
|
+
<span class="maz:text-muted maz:text-sm">{{ item.email }}</span>
|
|
136
136
|
</div>
|
|
137
|
-
<div class="maz
|
|
138
|
-
<MazIcon
|
|
139
|
-
<span class="maz
|
|
137
|
+
<div class="maz:flex maz:flex-none maz:items-center maz:gap-1">
|
|
138
|
+
<MazIcon icon="/star.svg" class="maz:text-warning-500" size="1rem" />
|
|
139
|
+
<span class="maz:text-sm maz:font-medium">{{ item.rating }}</span>
|
|
140
140
|
</div>
|
|
141
141
|
</div>
|
|
142
142
|
</template>
|
|
@@ -180,7 +180,7 @@ You can replace the default search function by providing a custom search functio
|
|
|
180
180
|
<span class="text-muted text-sm">{{ item.email }}</span>
|
|
181
181
|
</div>
|
|
182
182
|
<div class="flex flex-none items-center gap-1">
|
|
183
|
-
<MazIcon
|
|
183
|
+
<MazIcon icon="/star.svg" class="text-warning-500" size="1rem" />
|
|
184
184
|
<span class="text-sm font-medium">{{ item.rating }}</span>
|
|
185
185
|
</div>
|
|
186
186
|
</div>
|
|
@@ -301,7 +301,7 @@ You can replace the default search function by providing a custom search functio
|
|
|
301
301
|
|
|
302
302
|
<script lang="ts" setup>
|
|
303
303
|
import { ref } from 'vue'
|
|
304
|
-
import { useDisplayNames } from 'maz-ui/
|
|
304
|
+
import { useDisplayNames } from 'maz-ui/composables/useDisplayNames'
|
|
305
305
|
|
|
306
306
|
// First demo variables
|
|
307
307
|
const query = ref()
|
|
@@ -34,7 +34,7 @@ import MazCircularProgressBar from 'maz-ui/components/MazCircularProgressBar'
|
|
|
34
34
|
The size of the component can be changed by passing the `size` prop. The value could be a string in px, em or rem.
|
|
35
35
|
|
|
36
36
|
<ComponentDemo>
|
|
37
|
-
<div class="maz
|
|
37
|
+
<div class="maz:flex maz:gap-3 maz:flex-wrap maz:items-center">
|
|
38
38
|
<MazCircularProgressBar :percentage="75" suffix="%" size="3em" />
|
|
39
39
|
<MazCircularProgressBar :percentage="75" suffix="%" size="100px" />
|
|
40
40
|
<MazCircularProgressBar :percentage="75" suffix="%" size="10rem" />
|
|
@@ -75,7 +75,7 @@ The duration of the animation can be changed by passing the `duration` prop. The
|
|
|
75
75
|
## Color
|
|
76
76
|
|
|
77
77
|
<ComponentDemo>
|
|
78
|
-
<div class="maz
|
|
78
|
+
<div class="maz:flex maz:gap-3 maz:flex-wrap maz:items-center">
|
|
79
79
|
<MazCircularProgressBar :percentage="75" color="primary" />
|
|
80
80
|
<MazCircularProgressBar :percentage="75" color="secondary" />
|
|
81
81
|
<MazCircularProgressBar :percentage="75" color="info" />
|
|
@@ -98,7 +98,7 @@ The duration of the animation can be changed by passing the `duration` prop. The
|
|
|
98
98
|
The color of the component is automatically according to the percentage. The color will be green if the percentage is egal to 100%, orange if below 100%, and red if below 50%.
|
|
99
99
|
|
|
100
100
|
<ComponentDemo>
|
|
101
|
-
<div class="maz
|
|
101
|
+
<div class="maz:flex maz:gap-3 maz:flex-wrap maz:items-center">
|
|
102
102
|
<MazCircularProgressBar :percentage="0" auto-color size="9rem" />
|
|
103
103
|
<MazCircularProgressBar :percentage="25" auto-color size="9rem" />
|
|
104
104
|
<MazCircularProgressBar :percentage="50" auto-color size="9rem" />
|
|
@@ -127,7 +127,7 @@ Replace the percentage value by a custom slot.
|
|
|
127
127
|
Obviously, the "counter animation" will not work in this case.
|
|
128
128
|
|
|
129
129
|
<ComponentDemo>
|
|
130
|
-
<div class="maz
|
|
130
|
+
<div class="maz:flex maz:gap-3 maz:flex-wrap maz:items-center">
|
|
131
131
|
<MazCircularProgressBar :percentage="50">
|
|
132
132
|
2/4
|
|
133
133
|
</MazCircularProgressBar>
|
|
@@ -63,14 +63,14 @@ Add a header with a title using the `title` prop or the `title` slot.
|
|
|
63
63
|
|
|
64
64
|
## With icons
|
|
65
65
|
|
|
66
|
-
Add icons to the header using `
|
|
66
|
+
Add icons to the header using `start-icon` and `end-icon` props.
|
|
67
67
|
|
|
68
68
|
<ComponentDemo>
|
|
69
|
-
<div class="maz
|
|
70
|
-
<MazContainer title="Settings"
|
|
69
|
+
<div class="maz:flex maz:flex-col maz:gap-4">
|
|
70
|
+
<MazContainer title="Settings" start-icon="/cog-6-tooth.svg">
|
|
71
71
|
Configure your application settings here.
|
|
72
72
|
</MazContainer>
|
|
73
|
-
<MazContainer title="User Profile"
|
|
73
|
+
<MazContainer title="User Profile" start-icon="/user.svg" end-icon="/pencil.svg">
|
|
74
74
|
View and edit your profile information.
|
|
75
75
|
</MazContainer>
|
|
76
76
|
</div>
|
|
@@ -79,11 +79,11 @@ Add icons to the header using `left-icon` and `right-icon` props.
|
|
|
79
79
|
|
|
80
80
|
```vue
|
|
81
81
|
<template>
|
|
82
|
-
<MazContainer title="Settings"
|
|
82
|
+
<MazContainer title="Settings" start-icon="/cog-6-tooth.svg">
|
|
83
83
|
Configure your application settings here.
|
|
84
84
|
</MazContainer>
|
|
85
85
|
|
|
86
|
-
<MazContainer title="User Profile"
|
|
86
|
+
<MazContainer title="User Profile" start-icon="/user.svg" end-icon="/pencil.svg">
|
|
87
87
|
View and edit your profile information.
|
|
88
88
|
</MazContainer>
|
|
89
89
|
</template>
|
|
@@ -92,6 +92,21 @@ Add icons to the header using `left-icon` and `right-icon` props.
|
|
|
92
92
|
</template>
|
|
93
93
|
</ComponentDemo>
|
|
94
94
|
|
|
95
|
+
`startIcon` and `endIcon` also accept a full `MazIconProps` object — pass the same shape `<MazIcon>` accepts to override the icon size, add a `<title>` for screen readers, etc.
|
|
96
|
+
|
|
97
|
+
```vue
|
|
98
|
+
<MazContainer
|
|
99
|
+
title="Settings"
|
|
100
|
+
:start-icon="{
|
|
101
|
+
icon: MazCog6Tooth,
|
|
102
|
+
size: 'lg',
|
|
103
|
+
title: 'Open settings',
|
|
104
|
+
}"
|
|
105
|
+
>
|
|
106
|
+
Configure your application settings here.
|
|
107
|
+
</MazContainer>
|
|
108
|
+
```
|
|
109
|
+
|
|
95
110
|
## Styling options
|
|
96
111
|
|
|
97
112
|
### Elevation
|
|
@@ -121,7 +136,7 @@ Add shadow to make the container stand out.
|
|
|
121
136
|
By default, the container has a border. You can disable it.
|
|
122
137
|
|
|
123
138
|
<ComponentDemo>
|
|
124
|
-
<div class="maz
|
|
139
|
+
<div class="maz:flex maz:flex-col maz:gap-4">
|
|
125
140
|
<MazContainer title="With border (default)">
|
|
126
141
|
This container has a border.
|
|
127
142
|
</MazContainer>
|
|
@@ -174,7 +189,7 @@ Remove the background color with the `transparent` prop.
|
|
|
174
189
|
Customize the border radius with the `rounded-size` prop.
|
|
175
190
|
|
|
176
191
|
<ComponentDemo>
|
|
177
|
-
<div class="maz
|
|
192
|
+
<div class="maz:flex maz:flex-wrap maz:gap-4">
|
|
178
193
|
<MazContainer v-for="size in roundedSizes" :key="size" :rounded-size="size">
|
|
179
194
|
{{ size }}
|
|
180
195
|
</MazContainer>
|
|
@@ -245,14 +260,14 @@ Use the `block` prop to make the container take full width.
|
|
|
245
260
|
|
|
246
261
|
## Custom header
|
|
247
262
|
|
|
248
|
-
Use the `header` slot to fully customize the header, or use `title`, `icon-
|
|
263
|
+
Use the `header` slot to fully customize the header, or use `title`, `icon-start`, and `icon-end` slots for more granular control.
|
|
249
264
|
|
|
250
265
|
<ComponentDemo>
|
|
251
266
|
<MazContainer>
|
|
252
267
|
<template #header>
|
|
253
|
-
<div class="maz
|
|
254
|
-
<span class="maz
|
|
255
|
-
<MazBadge size="
|
|
268
|
+
<div class="maz:flex maz:items-center maz:justify-between maz:w-full maz:px-4 maz:py-3 maz:bg-primary maz:text-primary-foreground">
|
|
269
|
+
<span class="maz:font-semibold">Custom Header</span>
|
|
270
|
+
<MazBadge size="sm" color="white" class="maz:text-primary">
|
|
256
271
|
New
|
|
257
272
|
</MazBadge>
|
|
258
273
|
</div>
|
|
@@ -266,9 +281,9 @@ Use the `header` slot to fully customize the header, or use `title`, `icon-left`
|
|
|
266
281
|
<template>
|
|
267
282
|
<MazContainer>
|
|
268
283
|
<template #header>
|
|
269
|
-
<div class="maz
|
|
270
|
-
<span class="maz
|
|
271
|
-
<MazBadge size="
|
|
284
|
+
<div class="maz:flex maz:items-center maz:justify-between maz:w-full maz:px-4 maz:py-3 maz:bg-primary maz:text-primary-foreground">
|
|
285
|
+
<span class="maz:font-semibold">Custom Header</span>
|
|
286
|
+
<MazBadge size="sm" color="white" class="maz:text-primary">
|
|
272
287
|
New
|
|
273
288
|
</MazBadge>
|
|
274
289
|
</div>
|
|
@@ -286,24 +301,24 @@ Use the `header` slot to fully customize the header, or use `title`, `icon-left`
|
|
|
286
301
|
<ComponentDemo>
|
|
287
302
|
<MazContainer
|
|
288
303
|
title="Dashboard Overview"
|
|
289
|
-
|
|
304
|
+
start-icon="chart-bar"
|
|
290
305
|
elevation
|
|
291
306
|
:bordered="false"
|
|
292
307
|
rounded-size="xl"
|
|
293
308
|
block
|
|
294
309
|
>
|
|
295
|
-
<div class="maz
|
|
296
|
-
<MazContainer class="maz
|
|
297
|
-
<p class="maz
|
|
298
|
-
<p class="maz
|
|
310
|
+
<div class="maz:flex maz:gap-4 maz:flex-wrap">
|
|
311
|
+
<MazContainer class="maz:flex-1 maz:min-w-[150px]">
|
|
312
|
+
<p class="maz:text-muted maz:text-sm">Users</p>
|
|
313
|
+
<p class="maz:text-2xl maz:font-bold">1,234</p>
|
|
299
314
|
</MazContainer>
|
|
300
|
-
<MazContainer class="maz
|
|
301
|
-
<p class="maz
|
|
302
|
-
<p class="maz
|
|
315
|
+
<MazContainer class="maz:flex-1 maz:min-w-[150px]">
|
|
316
|
+
<p class="maz:text-muted maz:text-sm">Revenue</p>
|
|
317
|
+
<p class="maz:text-2xl maz:font-bold">$12.5k</p>
|
|
303
318
|
</MazContainer>
|
|
304
|
-
<MazContainer class="maz
|
|
305
|
-
<p class="maz
|
|
306
|
-
<p class="maz
|
|
319
|
+
<MazContainer class="maz:flex-1 maz:min-w-[150px]">
|
|
320
|
+
<p class="maz:text-muted maz:text-sm">Orders</p>
|
|
321
|
+
<p class="maz:text-2xl maz:font-bold">567</p>
|
|
307
322
|
</MazContainer>
|
|
308
323
|
</div>
|
|
309
324
|
</MazContainer>
|
|
@@ -314,24 +329,24 @@ Use the `header` slot to fully customize the header, or use `title`, `icon-left`
|
|
|
314
329
|
<template>
|
|
315
330
|
<MazContainer
|
|
316
331
|
title="Dashboard Overview"
|
|
317
|
-
|
|
332
|
+
start-icon="chart-bar"
|
|
318
333
|
elevation
|
|
319
334
|
:bordered="false"
|
|
320
335
|
rounded-size="xl"
|
|
321
336
|
block
|
|
322
337
|
>
|
|
323
|
-
<div class="maz
|
|
324
|
-
<MazContainer class="maz
|
|
325
|
-
<p class="maz
|
|
326
|
-
<p class="maz
|
|
338
|
+
<div class="maz:flex maz:gap-4 maz:flex-wrap">
|
|
339
|
+
<MazContainer class="maz:flex-1 maz:min-w-[150px]">
|
|
340
|
+
<p class="maz:text-muted maz:text-sm">Users</p>
|
|
341
|
+
<p class="maz:text-2xl maz:font-bold">1,234</p>
|
|
327
342
|
</MazContainer>
|
|
328
|
-
<MazContainer class="maz
|
|
329
|
-
<p class="maz
|
|
330
|
-
<p class="maz
|
|
343
|
+
<MazContainer class="maz:flex-1 maz:min-w-[150px]">
|
|
344
|
+
<p class="maz:text-muted maz:text-sm">Revenue</p>
|
|
345
|
+
<p class="maz:text-2xl maz:font-bold">$12.5k</p>
|
|
331
346
|
</MazContainer>
|
|
332
|
-
<MazContainer class="maz
|
|
333
|
-
<p class="maz
|
|
334
|
-
<p class="maz
|
|
347
|
+
<MazContainer class="maz:flex-1 maz:min-w-[150px]">
|
|
348
|
+
<p class="maz:text-muted maz:text-sm">Orders</p>
|
|
349
|
+
<p class="maz:text-2xl maz:font-bold">567</p>
|
|
335
350
|
</MazContainer>
|
|
336
351
|
</div>
|
|
337
352
|
</MazContainer>
|
|
@@ -72,7 +72,7 @@ This controls how dates are stored and transmitted in your `v-model`. Default is
|
|
|
72
72
|
This controls how dates appear in the input field using `Intl.DateTimeFormatOptions`.
|
|
73
73
|
|
|
74
74
|
<ComponentDemo>
|
|
75
|
-
<div class="maz
|
|
75
|
+
<div class="maz:grid maz:grid-cols-1 maz:mob-l:grid-cols-3 maz:gap-4">
|
|
76
76
|
<MazDatePicker
|
|
77
77
|
v-model="formatExample1"
|
|
78
78
|
label="ISO Format (YYYY-MM-DD)"
|
|
@@ -346,7 +346,7 @@ const dateTime = ref()
|
|
|
346
346
|
### Time Only Selection
|
|
347
347
|
|
|
348
348
|
<ComponentDemo>
|
|
349
|
-
<div class="maz
|
|
349
|
+
<div class="maz:grid maz:grid-cols-1 maz:mob-l:grid-cols-2 maz:gap-4">
|
|
350
350
|
<MazDatePicker
|
|
351
351
|
v-model="timeOnly24"
|
|
352
352
|
label="Time Only (24h)"
|
|
@@ -400,7 +400,7 @@ const time12 = ref('02:30 pm')
|
|
|
400
400
|
### Custom Minute Intervals
|
|
401
401
|
|
|
402
402
|
<ComponentDemo>
|
|
403
|
-
<div class="maz
|
|
403
|
+
<div class="maz:grid maz:grid-cols-1 maz:mob-l:grid-cols-3 maz:gap-4">
|
|
404
404
|
<MazDatePicker
|
|
405
405
|
v-model="timeInterval1"
|
|
406
406
|
label="5min intervals"
|
|
@@ -698,7 +698,7 @@ const shortcuts = [
|
|
|
698
698
|
color="info"
|
|
699
699
|
@update:model-value="console.log($event)"
|
|
700
700
|
/>
|
|
701
|
-
<p class="maz
|
|
701
|
+
<p class="maz:text-sm maz:text-muted maz:mt-2">
|
|
702
702
|
Min: {{ minMaxDates.min }} | Max: {{ minMaxDates.max }}
|
|
703
703
|
</p>
|
|
704
704
|
|
|
@@ -772,7 +772,7 @@ const maxDate = dayjs().add(30, 'day').format('YYYY-MM-DD')
|
|
|
772
772
|
<br />
|
|
773
773
|
|
|
774
774
|
<ComponentDemo>
|
|
775
|
-
<div class="maz
|
|
775
|
+
<div class="maz:grid maz:grid-cols-1 maz:mob-l:grid-cols-2 maz:gap-4">
|
|
776
776
|
<MazDatePicker
|
|
777
777
|
v-model="weekendDisabled"
|
|
778
778
|
label="Weekends Disabled"
|
|
@@ -839,7 +839,7 @@ const holidays = [
|
|
|
839
839
|
<br />
|
|
840
840
|
|
|
841
841
|
<ComponentDemo>
|
|
842
|
-
<div class="maz
|
|
842
|
+
<div class="maz:grid maz:grid-cols-1 maz:mob-l:grid-cols-2 maz:gap-4">
|
|
843
843
|
<MazDatePicker
|
|
844
844
|
v-model="dateTime"
|
|
845
845
|
format="YYYY-MM-DD hh:mm a"
|
|
@@ -899,7 +899,7 @@ const disabledHours = [0, 1, 2, 11, 22, 23]
|
|
|
899
899
|
MazDatePicker supports full internationalization. **By default, it uses the locale from the [MazUiTranslations](../guide/translations.md) plugin**, but you can override it:
|
|
900
900
|
|
|
901
901
|
<ComponentDemo>
|
|
902
|
-
<div class="maz
|
|
902
|
+
<div class="maz:grid maz:grid-cols-1 maz:mob-l:grid-cols-2 maz:gap-4">
|
|
903
903
|
<MazDatePicker
|
|
904
904
|
v-model="frenchDate"
|
|
905
905
|
label="French Locale"
|
|
@@ -188,10 +188,10 @@ type Size = 'mini' | 'xs' | 'sm' | 'md' | 'lg' | 'xl'
|
|
|
188
188
|
|
|
189
189
|
<script setup lang="ts">
|
|
190
190
|
import { ref } from 'vue'
|
|
191
|
-
import { useToast } from 'maz-ui/
|
|
191
|
+
import { useToast } from 'maz-ui/composables/useToast'
|
|
192
192
|
import MazDialogConfirm, {
|
|
193
193
|
useMazDialogConfirm, type MazDialogConfirmButton, type MazDialogConfirmData
|
|
194
|
-
} from 'maz-ui/
|
|
194
|
+
} from 'maz-ui/components/MazDialogConfirm'
|
|
195
195
|
|
|
196
196
|
const { showDialogAndWaitChoice, data } = useMazDialogConfirm()
|
|
197
197
|
const confirmDialog = ref(false)
|