@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,571 @@
1
+ ---
2
+ title: MazTable
3
+ description: MazTable is designed to be a reusable data table with advanced features. Pagination, Search, Column Sorting, Row Selection, UI options, Loading and Slots.
4
+ ---
5
+
6
+ # {{ $frontmatter.title }}
7
+
8
+ {{ $frontmatter.description }}
9
+
10
+ <!--@include: ./../.vitepress/mixins/getting-started.md-->
11
+
12
+ ## Key Features
13
+
14
+ 1. Pagination (prop `pagination`)
15
+ * The component supports pagination with buttons to go to the first, previous, next, and last page.
16
+ * You can display only the pagination elements (input and buttons) and make API calls to your server to get elements by using the prop `pagination` with `no-paginate-rows`.
17
+ 2. Search (prop `search`): It includes a search feature with a search bar where users can enter a query to filter displayed data. You can choose the column where the search will be activated.
18
+ 3. Column Sorting (prop: `sortable`): Columns are sortable, indicated by arrow icons. Sorting can be activated by clicking on the column header.
19
+ 4. Row Selection (prop `select-value="key"`): There is a dedicated column for selection with a checkbox for each row. Users can individually or collectively select/deselect rows.
20
+ 5. Customizable Page Size: Users can choose the number of items to display per page using a dropdown list.
21
+ 6. Loading Indicator (prop `loading`): A loading indicator (MazLoadingBar) is displayed when data is being loaded.
22
+
23
+ ## Available models
24
+
25
+ * v-model: `(string | boolean | number)[] | undefined` (list of selected key)
26
+ * v-model:search-query: `string | undefined`
27
+ * v-model:page: `number`
28
+ * v-model:page-size: `number`
29
+
30
+ ## Basic usage
31
+
32
+ You can use MazTable and his child component to build a simple table and enjoy the style.
33
+
34
+ <ComponentDemo>
35
+ <MazTable class="vp-raw" size="md" :headers="['#', 'Lastname', 'Firstname', 'Age']">
36
+ <MazTableRow>
37
+ <MazTableCell>
38
+ 1
39
+ </MazTableCell>
40
+ <MazTableCell>
41
+ John
42
+ </MazTableCell>
43
+ <MazTableCell>
44
+ Doe
45
+ </MazTableCell>
46
+ <MazTableCell>
47
+ 99
48
+ </MazTableCell>
49
+ </MazTableRow>
50
+ <MazTableRow>
51
+ <MazTableCell>
52
+ 2
53
+ </MazTableCell>
54
+ <MazTableCell>
55
+ Doe
56
+ </MazTableCell>
57
+ <MazTableCell>
58
+ John
59
+ </MazTableCell>
60
+ <MazTableCell>
61
+ 30
62
+ </MazTableCell>
63
+ </MazTableRow>
64
+ </MazTable>
65
+
66
+ <template #code>
67
+
68
+ ```vue
69
+ <template>
70
+ <MazTable size="sm" :headers="['#', 'Lastname', 'Firstname', 'Age']">
71
+ <MazTableRow>
72
+ <MazTableCell>
73
+ 1
74
+ </MazTableCell>
75
+ <MazTableCell>
76
+ John
77
+ </MazTableCell>
78
+ <MazTableCell>
79
+ Doe
80
+ </MazTableCell>
81
+ <MazTableCell>
82
+ 99
83
+ </MazTableCell>
84
+ </MazTableRow>
85
+ <MazTableRow>
86
+ <MazTableCell>
87
+ 2
88
+ </MazTableCell>
89
+ <MazTableCell>
90
+ Doe
91
+ </MazTableCell>
92
+ <MazTableCell>
93
+ John
94
+ </MazTableCell>
95
+ <MazTableCell>
96
+ 30
97
+ </MazTableCell>
98
+ </MazTableRow>
99
+ </MazTable>
100
+ </template>
101
+
102
+ <script lang="ts" setup>
103
+ import { MazTable, MazTableRow, MazTableCell } from 'maz-ui/components'
104
+ </script>
105
+ ```
106
+
107
+ </template>
108
+ </ComponentDemo>
109
+
110
+ ## Advanced data table
111
+
112
+ You can also provide all your data, the table is auto-generated and you can use the features [listed on top](#key-features)
113
+
114
+ ---
115
+
116
+ <ComponentDemo>
117
+ <div class="maz-bg-surface-400 maz-rounded maz-p-2">
118
+
119
+ v-model="{{selectedIds ?? 'undefined'}}"
120
+
121
+ v-model:search-query="{{searchQuery ?? 'undefined'}}"
122
+
123
+ v-model:page="{{page ?? 'undefined'}}"
124
+
125
+ v-model:page-size="{{pageSize ?? 'undefined'}}"
126
+ </div>
127
+
128
+ <MazTable
129
+ size="sm"
130
+ v-model="selectedIds"
131
+ v-model:search-query="searchQuery"
132
+ v-model:page="page"
133
+ v-model:page-size="pageSize"
134
+ search
135
+ pagination
136
+ color="secondary"
137
+ sortable
138
+ selectable
139
+ title="Competitions"
140
+ hoverable
141
+ background-even
142
+ selected-key="id"
143
+ class="vp-raw"
144
+ :headers="[
145
+ { label:'#', key: 'index', align: 'center', width: '2rem', sortable: false },
146
+ { label:'Name', key: 'name' },
147
+ { label: 'Code', key: 'code', align: 'center' },
148
+ { label: 'Type', key: 'type' },
149
+ { label: 'Area', key: 'areaName', align: 'center', classes: 'maz-font-bold' },
150
+ ]"
151
+ :rows="competitions"
152
+ >
153
+ <template #cell-index="{ value }">
154
+ <span class="maz-text-base">{{value}}</span>
155
+ </template>
156
+ <template #cell-name="{ row, value }">
157
+ <div class="maz-flex maz-items-center maz-gap-2">
158
+ <MazAvatar :src="row.logoUrl" size="0.5rem"></MazAvatar>
159
+ <span>{{value}}</span>
160
+ </div>
161
+ </template>
162
+ <template #cell-type="{ value }">
163
+ <MazBadge :color="value === 'CUP' ? 'primary' : 'secondary'">{{value}}</MazBadge>
164
+ </template>
165
+
166
+ <template #actions>
167
+ <MazBtn v-tooltip="{ text: 'Delete', color: 'destructive' }" fab size="xs" color="destructive" icon="trash" />
168
+ </template>
169
+ </MazTable>
170
+
171
+ <template #code>
172
+
173
+ ```vue
174
+ <template>
175
+ <MazTable
176
+ size="sm"
177
+ v-model="selectedIds"
178
+ v-model:search-query="searchQuery"
179
+ v-model:page="page"
180
+ v-model:page-size="pageSize"
181
+ search
182
+ pagination
183
+ color="secondary"
184
+ sortable
185
+ selectable
186
+ hoverable
187
+ background-even
188
+ selected-key="id"
189
+ :headers="[
190
+ { label:'#', key: 'index', align: 'center', width: '2rem', sortable: false },
191
+ { label:'Name', key: 'name' },
192
+ { label: 'Code', key: 'code', align: 'center' },
193
+ { label: 'Type', key: 'type' },
194
+ { label: 'Area', key: 'areaName', align: 'center', classes: 'maz-font-bold' },
195
+ ]"
196
+ :rows="competitions"
197
+ >
198
+ <template #cell-index="{ value }">
199
+ <span class="maz-text-base">{{value}}</span>
200
+ </template>
201
+ <template #cell-name="{ row, value }">
202
+ <div class="maz-flex maz-items-center maz-gap-2">
203
+ <MazAvatar :src="row.logoUrl" size="0.5rem"></MazAvatar>
204
+ <span>{{value}}</span>
205
+ </div>
206
+ </template>
207
+ <template #cell-type="{ value }">
208
+ <MazBadge :color="value === 'CUP' ? 'primary' : 'secondary'">{{value}}</MazBadge>
209
+ </template>
210
+
211
+ <template #actions>
212
+ <MazBtn fab size="xs" color="destructive" icon="trash" />
213
+ </template>
214
+ </MazTable>
215
+ </template>
216
+
217
+ <script lang="ts" setup>
218
+ import { MazTable } from 'maz-ui/components'
219
+
220
+ const competitions = [
221
+ {
222
+ id: '0262672d-7c7a-4d30-866e-edb88b5a5336',
223
+ name: 'UEFA Champions League',
224
+ code: 'CL',
225
+ type: 'CUP',
226
+ areaName: 'Europe',
227
+ matchday: 6,
228
+ logoUrl: 'https://crests.football-data.org/CL.png',
229
+ groups: 1,
230
+ index: 1,
231
+ },
232
+ {
233
+ id: '08d15e97-a319-4772-9b82-f1877369b40f',
234
+ name: 'Premier League',
235
+ code: 'PL',
236
+ type: 'LEAGUE',
237
+ areaName: 'England',
238
+ matchday: 18,
239
+ logoUrl: 'https://crests.football-data.org/PL.png',
240
+ groups: 1,
241
+ index: 2,
242
+ },
243
+ {
244
+ id: '17e62396-bbcb-42f5-acff-caed11534976',
245
+ name: 'Serie A',
246
+ code: 'SA',
247
+ type: 'LEAGUE',
248
+ areaName: 'Italy',
249
+ matchday: 17,
250
+ logoUrl: 'https://crests.football-data.org/SA.png',
251
+ groups: 0,
252
+ index: 3,
253
+ },
254
+ {
255
+ id: '3726264e-ba3a-4a9f-b4a4-8fc33e12747c',
256
+ name: 'FIFA World Cup',
257
+ code: 'WC',
258
+ type: 'CUP',
259
+ areaName: 'World',
260
+ matchday: 8,
261
+ logoUrl: 'https://crests.football-data.org/qatar.png',
262
+ groups: 1,
263
+ index: 4,
264
+ },
265
+ {
266
+ id: '555dc3f4-e592-46af-b634-59f07a201f2e',
267
+ name: 'Primeira Liga',
268
+ code: 'PPL',
269
+ type: 'LEAGUE',
270
+ areaName: 'Portugal',
271
+ matchday: 15,
272
+ logoUrl: 'https://crests.football-data.org/PPL.png',
273
+ groups: 0,
274
+ index: 5,
275
+ },
276
+ {
277
+ id: '59bbdfa0-86d8-4a74-b701-435747c55a42',
278
+ name: 'Primera Division',
279
+ code: 'PD',
280
+ type: 'LEAGUE',
281
+ areaName: 'Spain',
282
+ matchday: 18,
283
+ logoUrl: 'https://crests.football-data.org/PD.png',
284
+ groups: 1,
285
+ index: 6,
286
+ },
287
+ {
288
+ id: '6ae53332-3d27-4781-912d-d9c4e69657f9',
289
+ name: 'Ligue 1',
290
+ code: 'FL1',
291
+ type: 'LEAGUE',
292
+ areaName: 'France',
293
+ matchday: 17,
294
+ logoUrl: 'https://crests.football-data.org/FL1.png',
295
+ groups: 4,
296
+ index: 7,
297
+ },
298
+ {
299
+ id: '747c79ee-89c8-436a-b0ea-53f05f180007',
300
+ name: 'European Championship',
301
+ code: 'EC',
302
+ type: 'CUP',
303
+ areaName: 'Europe',
304
+ matchday: 1,
305
+ logoUrl: 'https://crests.football-data.org/EUR.svg',
306
+ groups: 1,
307
+ index: 8,
308
+ },
309
+ {
310
+ id: '7a32d897-6b22-4212-8ffe-049ae912c346',
311
+ name: 'Eredivisie',
312
+ code: 'DED',
313
+ type: 'LEAGUE',
314
+ areaName: 'Netherlands',
315
+ matchday: 18,
316
+ logoUrl: 'https://crests.football-data.org/ED.png',
317
+ groups: 0,
318
+ index: 9,
319
+ },
320
+ {
321
+ id: 'ab57e2dc-272c-45e6-b13e-57617a13b753',
322
+ name: 'Championship',
323
+ code: 'ELC',
324
+ type: 'LEAGUE',
325
+ areaName: 'England',
326
+ matchday: 23,
327
+ logoUrl: 'https://crests.football-data.org/ELC.png',
328
+ groups: 0,
329
+ index: 10,
330
+ },
331
+ {
332
+ id: 'b84e3295-7315-46c7-b979-6d9d784e5460',
333
+ name: 'Campeonato Brasileiro Série A',
334
+ code: 'BSA',
335
+ type: 'LEAGUE',
336
+ areaName: 'Brazil',
337
+ matchday: 38,
338
+ logoUrl: 'https://crests.football-data.org/764.svg',
339
+ groups: 0,
340
+ index: 11,
341
+ },
342
+ {
343
+ id: 'cafad3ce-1783-4652-9248-4bcad024dd98',
344
+ name: 'Copa Libertadores',
345
+ code: 'CLI',
346
+ type: 'CUP',
347
+ areaName: 'South America',
348
+ matchday: 11,
349
+ logoUrl: 'https://crests.football-data.org/CLI.svg',
350
+ groups: 0,
351
+ index: 12,
352
+ },
353
+ {
354
+ id: 'ed945bea-9a58-450a-8d62-7baa7722b5e7',
355
+ name: 'Bundesliga',
356
+ code: 'BL1',
357
+ type: 'LEAGUE',
358
+ areaName: 'Germany',
359
+ matchday: 16,
360
+ logoUrl: 'https://crests.football-data.org/BL1.png',
361
+ groups: 0,
362
+ index: 13,
363
+ },
364
+ ]
365
+ </script>
366
+ ```
367
+
368
+ </template>
369
+
370
+ </ComponentDemo>
371
+
372
+ ## Loading
373
+
374
+ Enable the loading state with the prop `loading`
375
+
376
+ <ComponentDemo>
377
+ <MazTable loading class="vp-raw" :headers="['#', 'Lastname', 'Firstname', 'Age']">
378
+ <MazTableRow>
379
+ <MazTableCell>
380
+ 1
381
+ </MazTableCell>
382
+ <MazTableCell>
383
+ John
384
+ </MazTableCell>
385
+ <MazTableCell>
386
+ Doe
387
+ </MazTableCell>
388
+ <MazTableCell>
389
+ 99
390
+ </MazTableCell>
391
+ </MazTableRow>
392
+ <MazTableRow>
393
+ <MazTableCell>
394
+ 2
395
+ </MazTableCell>
396
+ <MazTableCell>
397
+ Doe
398
+ </MazTableCell>
399
+ <MazTableCell>
400
+ John
401
+ </MazTableCell>
402
+ <MazTableCell>
403
+ 33
404
+ </MazTableCell>
405
+ </MazTableRow>
406
+ <MazTableRow>
407
+ <MazTableCell>
408
+ 3
409
+ </MazTableCell>
410
+ <MazTableCell>
411
+ Max
412
+ </MazTableCell>
413
+ <MazTableCell>
414
+ Simth
415
+ </MazTableCell>
416
+ <MazTableCell>
417
+ 66
418
+ </MazTableCell>
419
+ </MazTableRow>
420
+ </MazTable>
421
+
422
+ <template #code>
423
+
424
+ ```html{2}
425
+ <MazTable
426
+ :loading="true"
427
+ :headers="['#', 'Lastname', 'Firstname', 'Age']"
428
+ >
429
+ ...
430
+ </MazTable>
431
+ ```
432
+
433
+ </template>
434
+
435
+ </ComponentDemo>
436
+
437
+ ## Sizing
438
+
439
+ Available sizes: `'mini' | 'xs' | 'sm' | 'md' | 'lg' | 'xl'`
440
+
441
+ <ComponentDemo>
442
+ <MazTable class="vp-raw" size="xs" :headers="['#', 'Lastname', 'Firstname', 'Age']">
443
+ <MazTableRow>
444
+ <MazTableCell>
445
+ 1
446
+ </MazTableCell>
447
+ <MazTableCell>
448
+ John
449
+ </MazTableCell>
450
+ <MazTableCell>
451
+ Doe
452
+ </MazTableCell>
453
+ <MazTableCell>
454
+ 99
455
+ </MazTableCell>
456
+ </MazTableRow>
457
+ </MazTable>
458
+ <br />
459
+ <MazTable class="vp-raw" size="md" :headers="['#', 'Lastname', 'Firstname', 'Age']">
460
+ <MazTableRow>
461
+ <MazTableCell>
462
+ 1
463
+ </MazTableCell>
464
+ <MazTableCell>
465
+ John
466
+ </MazTableCell>
467
+ <MazTableCell>
468
+ Doe
469
+ </MazTableCell>
470
+ <MazTableCell>
471
+ 99
472
+ </MazTableCell>
473
+ </MazTableRow>
474
+ </MazTable>
475
+ <br />
476
+ <MazTable class="vp-raw" size="lg" :headers="['#', 'Lastname', 'Firstname', 'Age']">
477
+ <MazTableRow>
478
+ <MazTableCell>
479
+ 1
480
+ </MazTableCell>
481
+ <MazTableCell>
482
+ John
483
+ </MazTableCell>
484
+ <MazTableCell>
485
+ Doe
486
+ </MazTableCell>
487
+ <MazTableCell>
488
+ 99
489
+ </MazTableCell>
490
+ </MazTableRow>
491
+ </MazTable>
492
+
493
+ <template #code>
494
+
495
+ ```html
496
+ <MazTable size="xs" :headers="['#', 'Lastname', 'Firstname', 'Age']">
497
+ ...
498
+ </MazTable>
499
+ <MazTable size="md" :headers="['#', 'Lastname', 'Firstname', 'Age']">
500
+ ...
501
+ </MazTable>
502
+ <MazTable size="lg" :headers="['#', 'Lastname', 'Firstname', 'Age']">
503
+ ...
504
+ </MazTable>
505
+ ```
506
+
507
+ </template>
508
+ </ComponentDemo>
509
+
510
+ <script lang="ts" setup>
511
+ import { ref } from 'vue'
512
+ import {competitions} from './competitions.ts'
513
+ import { vTooltip } from 'maz-ui/src/directives/vTooltip.ts'
514
+
515
+ const selectedIds = ref<string[]>(['0262672d-7c7a-4d30-866e-edb88b5a5336'])
516
+ const searchQuery = ref<string>()
517
+ const pageSize = ref<number>(10)
518
+ const page = ref<number>(1)
519
+ </script>
520
+
521
+ ## Types
522
+
523
+ ### Property `row`
524
+
525
+ The `rows` property is an array of Row: `type Rows = Row[]`
526
+
527
+ ```ts
528
+ type Row = Record<string, any> & {
529
+ selected?: boolean
530
+ action?: (row: Row) => unknown
531
+ classes?: HTMLAttributes['class']
532
+ }
533
+ ```
534
+
535
+ ### Property `headers`
536
+
537
+ The `headers` property has type: `type Headers = string | HeadersEnriched[]`
538
+
539
+ ```ts
540
+ export interface MazTableHeadersEnriched {
541
+ label: string
542
+ key?: string
543
+ sortable?: boolean
544
+ hidden?: boolean
545
+ srOnly?: boolean
546
+ width?: string
547
+ maxWidth?: string
548
+ classes?: ThHTMLAttributes['class']
549
+ scope?: ThHTMLAttributes['scope']
550
+ align?: ThHTMLAttributes['align']
551
+ rowspan?: ThHTMLAttributes['rowspan']
552
+ colspan?: ThHTMLAttributes['colspan']
553
+ headers?: ThHTMLAttributes['headers']
554
+ }
555
+ ```
556
+
557
+ ## Props & Events emitted
558
+
559
+ <!--@include: ./../../.vitepress/generated-docs/maz-table.doc.md-->
560
+
561
+ ## MazTableCell
562
+
563
+ <!--@include: ./../../.vitepress/generated-docs/maz-table-cell.doc.md-->
564
+
565
+ ## MazTableRow
566
+
567
+ <!--@include: ./../../.vitepress/generated-docs/maz-table-row.doc.md-->
568
+
569
+ ## MazTableTitle
570
+
571
+ <!--@include: ./../../.vitepress/generated-docs/maz-table-title.doc.md-->