@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.
Files changed (116) hide show
  1. package/dist/mcp.mjs +1 -1
  2. package/docs/generated-docs/maz-alert.doc.md +1 -1
  3. package/docs/generated-docs/maz-avatar.doc.md +1 -1
  4. package/docs/generated-docs/maz-badge.doc.md +8 -8
  5. package/docs/generated-docs/maz-btn.doc.md +26 -26
  6. package/docs/generated-docs/maz-card.doc.md +19 -19
  7. package/docs/generated-docs/maz-chart.doc.md +8 -8
  8. package/docs/generated-docs/maz-container.doc.md +20 -20
  9. package/docs/generated-docs/maz-drawer.doc.md +8 -8
  10. package/docs/generated-docs/maz-dropdown.doc.md +1 -1
  11. package/docs/generated-docs/maz-dropzone.doc.md +2 -2
  12. package/docs/generated-docs/maz-gallery.doc.md +15 -15
  13. package/docs/generated-docs/maz-icon.doc.md +11 -14
  14. package/docs/generated-docs/maz-input.doc.md +38 -38
  15. package/docs/generated-docs/maz-lazy-img.doc.md +18 -0
  16. package/docs/generated-docs/maz-link.doc.md +9 -9
  17. package/docs/generated-docs/maz-pagination.doc.md +9 -9
  18. package/docs/generated-docs/maz-popover.doc.md +5 -1
  19. package/docs/generated-docs/maz-radio-buttons.doc.md +17 -17
  20. package/docs/generated-docs/maz-select.doc.md +2 -2
  21. package/docs/generated-docs/maz-skeleton.doc.md +10 -10
  22. package/docs/generated-docs/maz-table.doc.md +37 -37
  23. package/docs/generated-docs/maz-textarea.doc.md +1 -1
  24. package/docs/generated-docs/maz-timeline.doc.md +1 -1
  25. package/docs/src/blog/v4.md +7 -7
  26. package/docs/src/blog/v5.md +186 -0
  27. package/docs/src/components/maz-accordion.md +1 -1
  28. package/docs/src/components/maz-alert.md +15 -15
  29. package/docs/src/components/maz-animated-counter.md +4 -4
  30. package/docs/src/components/maz-avatar.md +2 -2
  31. package/docs/src/components/maz-backdrop.md +7 -7
  32. package/docs/src/components/maz-badge.md +12 -30
  33. package/docs/src/components/maz-bottom-sheet.md +74 -74
  34. package/docs/src/components/maz-btn-group.md +17 -17
  35. package/docs/src/components/maz-btn.md +127 -94
  36. package/docs/src/components/maz-card-spotlight.md +5 -5
  37. package/docs/src/components/maz-card.md +20 -20
  38. package/docs/src/components/maz-carousel.md +14 -14
  39. package/docs/src/components/maz-chart.md +23 -4
  40. package/docs/src/components/maz-checkbox.md +3 -3
  41. package/docs/src/components/maz-checklist.md +19 -19
  42. package/docs/src/components/maz-circular-progress-bar.md +4 -4
  43. package/docs/src/components/maz-container.md +52 -37
  44. package/docs/src/components/maz-date-picker.md +7 -7
  45. package/docs/src/components/maz-dialog-confirm.md +2 -2
  46. package/docs/src/components/maz-drawer.md +14 -14
  47. package/docs/src/components/maz-dropdown.md +27 -12
  48. package/docs/src/components/maz-dropzone.md +6 -6
  49. package/docs/src/components/maz-expand-animation.md +2 -2
  50. package/docs/src/components/maz-fullscreen-loader.md +2 -2
  51. package/docs/src/components/maz-gallery.md +1 -1
  52. package/docs/src/components/maz-icon.md +113 -60
  53. package/docs/src/components/maz-input-code.md +1 -1
  54. package/docs/src/components/maz-input-phone-number.md +89 -88
  55. package/docs/src/components/maz-input-tags.md +2 -2
  56. package/docs/src/components/maz-input.md +42 -12
  57. package/docs/src/components/maz-link.md +28 -12
  58. package/docs/src/components/maz-pagination.md +2 -2
  59. package/docs/src/components/maz-popover.md +236 -236
  60. package/docs/src/components/maz-pull-to-refresh.md +2 -2
  61. package/docs/src/components/maz-radio-buttons.md +11 -11
  62. package/docs/src/components/maz-radio.md +3 -3
  63. package/docs/src/components/maz-read-more.md +7 -7
  64. package/docs/src/components/maz-select-country.md +26 -26
  65. package/docs/src/components/maz-select.md +1 -1
  66. package/docs/src/components/maz-skeleton.md +25 -25
  67. package/docs/src/components/maz-spinner.md +2 -2
  68. package/docs/src/components/maz-stepper.md +5 -5
  69. package/docs/src/components/maz-switch.md +1 -1
  70. package/docs/src/components/maz-table.md +10 -10
  71. package/docs/src/components/maz-tabs.md +17 -17
  72. package/docs/src/components/maz-textarea.md +8 -8
  73. package/docs/src/components/maz-ticker.md +37 -37
  74. package/docs/src/components/maz-timeline.md +9 -9
  75. package/docs/src/composables/use-dialog.md +1 -1
  76. package/docs/src/composables/use-display-names.md +2 -2
  77. package/docs/src/composables/use-form-validator.md +35 -35
  78. package/docs/src/composables/use-idle-timeout.md +3 -3
  79. package/docs/src/composables/use-reading-time.md +5 -5
  80. package/docs/src/composables/use-string-matching.md +4 -4
  81. package/docs/src/composables/use-swipe.md +3 -3
  82. package/docs/src/composables/use-timer.md +3 -3
  83. package/docs/src/composables/use-toast.md +1 -1
  84. package/docs/src/composables/use-user-visibility.md +1 -1
  85. package/docs/src/composables/use-wait.md +2 -2
  86. package/docs/src/directives/click-outside.md +17 -17
  87. package/docs/src/directives/lazy-img.md +5 -5
  88. package/docs/src/directives/tooltip.md +15 -15
  89. package/docs/src/directives/zoom-img.md +1 -1
  90. package/docs/src/ecosystem/eslint-config.md +100 -0
  91. package/docs/src/ecosystem/stylelint-config.md +190 -0
  92. package/docs/src/guide/browser-support.md +81 -0
  93. package/docs/src/guide/getting-started.md +23 -16
  94. package/docs/src/guide/icon-set.md +11 -11
  95. package/docs/src/guide/icons.md +32 -5
  96. package/docs/src/guide/maz-ui-provider.md +6 -6
  97. package/docs/src/guide/migration-v4.md +3 -3
  98. package/docs/src/guide/migration-v5.md +662 -0
  99. package/docs/src/guide/nuxt.md +27 -44
  100. package/docs/src/guide/resolvers.md +2 -2
  101. package/docs/src/guide/tailwind.md +154 -0
  102. package/docs/src/guide/themes.md +258 -485
  103. package/docs/src/guide/vue.md +8 -5
  104. package/docs/src/helpers/capitalize.md +4 -4
  105. package/docs/src/helpers/country-code-to-unicode-flag.md +37 -37
  106. package/docs/src/helpers/currency.md +4 -4
  107. package/docs/src/helpers/date.md +4 -4
  108. package/docs/src/helpers/get-country-flag-url.md +9 -9
  109. package/docs/src/helpers/number.md +5 -5
  110. package/docs/src/index.md +296 -266
  111. package/docs/src/made-with-maz-ui.md +5 -5
  112. package/docs/src/plugins/aos.md +6 -6
  113. package/docs/src/plugins/dialog.md +4 -4
  114. package/docs/src/plugins/toast.md +3 -3
  115. package/docs/src/plugins/wait.md +1 -1
  116. 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-m-0">
39
+ <h4 class="maz:m-0">
40
40
  Doggo
41
41
  </h4>
42
42
  </template>
43
43
  <template #content-body>
44
- <p class="maz-text-muted" style="margin-bottom: 0;">
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-m-0">
72
+ <h4 class="maz:m-0">
73
73
  Doggo
74
74
  </h4>
75
75
  </template>
76
76
  <template #content-body>
77
- <p class="maz-text-muted" style="margin-bottom: 0;">
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-text-2xl maz-font-bold">Carousel</h4>
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-m-0">
111
+ <h4 class="maz:m-0">
112
112
  Doggo
113
113
  </h4>
114
114
  </template>
115
115
  <template #content-body>
116
- <p class="maz-text-muted" style="margin-bottom: 0;">
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-text-2xl maz-font-bold">Carousel</h4>
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-m-0">
147
+ <h4 class="maz:m-0">
148
148
  Doggo
149
149
  </h4>
150
150
  </template>
151
151
  <template #content-body>
152
- <p class="maz-text-muted" style="margin-bottom: 0;">
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-m-0">
181
+ <h4 class="maz:m-0">
182
182
  Doggo
183
183
  </h4>
184
184
  </template>
185
185
  <template #content-body>
186
- <p class="maz-text-muted" style="margin-bottom: 0;">
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-m-0">
214
+ <h4 class="maz:m-0">
215
215
  Doggo
216
216
  </h4>
217
217
  </template>
218
218
  <template #content-body>
219
- <p class="maz-text-muted" style="margin-bottom: 0;">
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
- ### ChartProps
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
- Follow this link to see the type definitions: [vue-chartjs/src/types.ts](https://github.com/apertureless/vue-chartjs/blob/main/src/types.ts#L12)
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-flex maz-flex-col maz-gap-2">
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-flex maz-flex-col maz-gap-2">
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-flex maz-flex-col maz-gap-2">
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-max-h-80"
37
+ class="maz:max-h-80"
38
38
  >
39
39
  <template #item="{ item }">
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>
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-h-80"
69
+ class="maz:h-80"
70
70
  >
71
71
  <template #item="{ item }">
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>
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-max-h-96"
121
+ class="maz:max-h-96"
122
122
  >
123
123
  <template #item="{ item }">
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-gradient-to-br maz-from-primary-500 maz-to-secondary-500 maz-text-white maz-font-semibold maz-text-lg">
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-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="0.7em">
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-text-muted maz-text-sm">{{ item.email }}</span>
135
+ <span class="maz:text-muted maz:text-sm">{{ item.email }}</span>
136
136
  </div>
137
- <div class="maz-flex maz-flex-none maz-items-center maz-gap-1">
138
- <MazIcon name="star" class="maz-text-warning-500" size="1rem" />
139
- <span class="maz-text-sm maz-font-medium">{{ item.rating }}</span>
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 name="star" class="text-warning-500" size="1rem" />
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/src/composables/useDisplayNames'
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-flex maz-gap-3 maz-flex-wrap maz-items-center">
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-flex maz-gap-3 maz-flex-wrap maz-items-center">
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-flex maz-gap-3 maz-flex-wrap maz-items-center">
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-flex maz-gap-3 maz-flex-wrap maz-items-center">
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 `left-icon` and `right-icon` props.
66
+ Add icons to the header using `start-icon` and `end-icon` props.
67
67
 
68
68
  <ComponentDemo>
69
- <div class="maz-flex maz-flex-col maz-gap-4">
70
- <MazContainer title="Settings" left-icon="cog-6-tooth">
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" left-icon="user" right-icon="pencil">
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" left-icon="cog-6-tooth">
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" left-icon="user" right-icon="pencil">
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-flex maz-flex-col maz-gap-4">
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-flex maz-flex-wrap maz-gap-4">
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-left`, and `icon-right` slots for more granular control.
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-flex maz-items-center maz-justify-between maz-w-full maz-px-4 maz-py-3 maz-bg-primary maz-text-primary-foreground">
254
- <span class="maz-font-semibold">Custom Header</span>
255
- <MazBadge size="0.8rem" color="white" class="maz-text-primary">
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-flex maz-items-center maz-justify-between maz-w-full maz-px-4 maz-py-3 maz-bg-primary maz-text-primary-foreground">
270
- <span class="maz-font-semibold">Custom Header</span>
271
- <MazBadge size="0.8rem" color="white" class="maz-text-primary">
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
- left-icon="chart-bar"
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-flex maz-gap-4 maz-flex-wrap">
296
- <MazContainer class="maz-flex-1 maz-min-w-[150px]">
297
- <p class="maz-text-muted maz-text-sm">Users</p>
298
- <p class="maz-text-2xl maz-font-bold">1,234</p>
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-flex-1 maz-min-w-[150px]">
301
- <p class="maz-text-muted maz-text-sm">Revenue</p>
302
- <p class="maz-text-2xl maz-font-bold">$12.5k</p>
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-flex-1 maz-min-w-[150px]">
305
- <p class="maz-text-muted maz-text-sm">Orders</p>
306
- <p class="maz-text-2xl maz-font-bold">567</p>
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
- left-icon="chart-bar"
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-flex maz-gap-4 maz-flex-wrap">
324
- <MazContainer class="maz-flex-1 maz-min-w-[150px]">
325
- <p class="maz-text-muted maz-text-sm">Users</p>
326
- <p class="maz-text-2xl maz-font-bold">1,234</p>
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-flex-1 maz-min-w-[150px]">
329
- <p class="maz-text-muted maz-text-sm">Revenue</p>
330
- <p class="maz-text-2xl maz-font-bold">$12.5k</p>
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-flex-1 maz-min-w-[150px]">
333
- <p class="maz-text-muted maz-text-sm">Orders</p>
334
- <p class="maz-text-2xl maz-font-bold">567</p>
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-grid maz-grid-cols-1 mob-l:maz-grid-cols-3 maz-gap-4">
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-grid maz-grid-cols-1 mob-l:maz-grid-cols-2 maz-gap-4">
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-grid maz-grid-cols-1 mob-l:maz-grid-cols-3 maz-gap-4">
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-text-sm maz-text-muted maz-mt-2">
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-grid maz-grid-cols-1 mob-l:maz-grid-cols-2 maz-gap-4">
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-grid maz-grid-cols-1 mob-l:maz-grid-cols-2 maz-gap-4">
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-grid maz-grid-cols-1 mob-l:maz-grid-cols-2 maz-gap-4">
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/src/composables/useToast'
191
+ import { useToast } from 'maz-ui/composables/useToast'
192
192
  import MazDialogConfirm, {
193
193
  useMazDialogConfirm, type MazDialogConfirmButton, type MazDialogConfirmData
194
- } from 'maz-ui/src/components/MazDialogConfirm.vue'
194
+ } from 'maz-ui/components/MazDialogConfirm'
195
195
 
196
196
  const { showDialogAndWaitChoice, data } = useMazDialogConfirm()
197
197
  const confirmDialog = ref(false)