@maz-ui/mcp 5.0.0 → 5.1.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 (343) hide show
  1. package/README.md +61 -228
  2. package/bin/maz-ui-mcp.mjs +2 -5
  3. package/dist/cli.d.mts +7 -0
  4. package/dist/cli.d.ts +7 -0
  5. package/dist/cli.mjs +14 -0
  6. package/dist/index.d.mts +340 -0
  7. package/dist/index.d.ts +340 -0
  8. package/dist/index.mjs +14 -0
  9. package/dist/shared/mcp.DzqVbCaL.mjs +2346 -0
  10. package/docs/README.md +207 -0
  11. package/docs/agents/agents-md.md +52 -0
  12. package/docs/agents/claude-rule.md +52 -0
  13. package/docs/components/maz-accordion.md +76 -0
  14. package/docs/{src/components → components}/maz-alert.md +31 -164
  15. package/docs/components/maz-animated-counter.md +87 -0
  16. package/docs/components/maz-animated-element.md +46 -0
  17. package/docs/components/maz-animated-text.md +53 -0
  18. package/docs/components/maz-avatar.md +193 -0
  19. package/docs/components/maz-backdrop.md +178 -0
  20. package/docs/{src/components → components}/maz-badge.md +26 -67
  21. package/docs/components/maz-bottom-sheet.md +257 -0
  22. package/docs/{src/components → components}/maz-btn-group.md +26 -189
  23. package/docs/{src/components → components}/maz-btn.md +60 -245
  24. package/docs/components/maz-card-spotlight.md +84 -0
  25. package/docs/{src/components → components}/maz-card.md +67 -192
  26. package/docs/components/maz-carousel.md +153 -0
  27. package/docs/{src/components → components}/maz-chart.md +17 -161
  28. package/docs/components/maz-checkbox.md +138 -0
  29. package/docs/components/maz-checklist.md +251 -0
  30. package/docs/components/maz-circular-progress-bar.md +109 -0
  31. package/docs/{src/components → components}/maz-code-highlight.md +15 -93
  32. package/docs/components/maz-container.md +241 -0
  33. package/docs/{src/components → components}/maz-date-picker.md +85 -454
  34. package/docs/components/maz-dialog-confirm.md +215 -0
  35. package/docs/components/maz-dialog.md +143 -0
  36. package/docs/components/maz-drawer.md +106 -0
  37. package/docs/components/maz-dropdown.md +419 -0
  38. package/docs/{src/components → components}/maz-dropzone.md +80 -221
  39. package/docs/components/maz-expand-animation.md +82 -0
  40. package/docs/components/maz-fullscreen-loader.md +58 -0
  41. package/docs/components/maz-gallery.md +79 -0
  42. package/docs/{src/components → components}/maz-icon.md +32 -83
  43. package/docs/components/maz-input-code.md +73 -0
  44. package/docs/components/maz-input-number.md +79 -0
  45. package/docs/components/maz-input-phone-number.md +536 -0
  46. package/docs/components/maz-input-price.md +68 -0
  47. package/docs/components/maz-input-tags.md +112 -0
  48. package/docs/{src/components → components}/maz-input.md +74 -221
  49. package/docs/components/maz-lazy-img.md +113 -0
  50. package/docs/components/maz-link.md +146 -0
  51. package/docs/components/maz-loading-bar.md +38 -0
  52. package/docs/{src/components → components}/maz-markdown-editor.md +72 -125
  53. package/docs/components/maz-pagination.md +82 -0
  54. package/docs/components/maz-popover.md +794 -0
  55. package/docs/{src/components → components}/maz-pull-to-refresh.md +59 -45
  56. package/docs/components/maz-radio-buttons.md +313 -0
  57. package/docs/components/maz-radio.md +119 -0
  58. package/docs/{src/components → components}/maz-read-more.md +31 -122
  59. package/docs/components/maz-reading-progress-bar.md +96 -0
  60. package/docs/{src/components → components}/maz-select-country.md +80 -340
  61. package/docs/{src/components → components}/maz-select.md +76 -206
  62. package/docs/components/maz-sidebar-content.md +25 -0
  63. package/docs/components/maz-sidebar-footer.md +25 -0
  64. package/docs/components/maz-sidebar-group.md +27 -0
  65. package/docs/components/maz-sidebar-header.md +25 -0
  66. package/docs/components/maz-sidebar-menu-button.md +41 -0
  67. package/docs/components/maz-sidebar-menu-item.md +25 -0
  68. package/docs/components/maz-sidebar-menu-sub.md +32 -0
  69. package/docs/components/maz-sidebar-menu.md +25 -0
  70. package/docs/components/maz-sidebar-separator.md +21 -0
  71. package/docs/components/maz-sidebar-trigger.md +25 -0
  72. package/docs/{src/components → components}/maz-sidebar.md +117 -329
  73. package/docs/{src/components → components}/maz-skeleton.md +27 -156
  74. package/docs/{src/components → components}/maz-slider.md +33 -66
  75. package/docs/components/maz-spinner.md +84 -0
  76. package/docs/{src/components → components}/maz-stepper.md +43 -185
  77. package/docs/components/maz-switch.md +86 -0
  78. package/docs/components/maz-table-cell.md +27 -0
  79. package/docs/components/maz-table-row.md +28 -0
  80. package/docs/components/maz-table-title.md +27 -0
  81. package/docs/components/maz-table-virtualizer.md +31 -0
  82. package/docs/components/maz-table.md +426 -0
  83. package/docs/components/maz-tabs-bar.md +43 -0
  84. package/docs/components/maz-tabs-content-item.md +27 -0
  85. package/docs/components/maz-tabs-content.md +27 -0
  86. package/docs/{src/components → components}/maz-tabs.md +89 -126
  87. package/docs/components/maz-textarea.md +255 -0
  88. package/docs/components/maz-ticker.md +427 -0
  89. package/docs/components/maz-timeline.md +304 -0
  90. package/docs/components/maz-ui-provider.md +26 -0
  91. package/docs/{src/components → components}/maz-window-mockup.md +38 -105
  92. package/docs/composables/use-aos.md +41 -0
  93. package/docs/composables/use-breakpoints.md +42 -0
  94. package/docs/composables/use-dialog.md +58 -0
  95. package/docs/{src/composables → composables}/use-display-names.md +12 -59
  96. package/docs/{src/composables → composables}/use-drag.md +14 -68
  97. package/docs/{src/composables → composables}/use-form-validator.md +22 -696
  98. package/docs/{src/composables → composables}/use-idle-timeout.md +13 -97
  99. package/docs/{src/composables → composables}/use-pull-to-refresh.md +14 -7
  100. package/docs/{src/composables → composables}/use-reading-time.md +20 -56
  101. package/docs/composables/use-string-matching.md +41 -0
  102. package/docs/{src/composables → composables}/use-swipe.md +14 -81
  103. package/docs/{src/composables → composables}/use-timer.md +12 -38
  104. package/docs/composables/use-toast.md +50 -0
  105. package/docs/{src/composables → composables}/use-user-visibility.md +14 -56
  106. package/docs/composables/use-wait.md +50 -0
  107. package/docs/composables/use-window-size.md +25 -0
  108. package/docs/{src/directives → directives}/click-outside.md +13 -99
  109. package/docs/{src/directives → directives}/fullscreen-img.md +10 -28
  110. package/docs/{src/directives → directives}/lazy-img.md +14 -49
  111. package/docs/{src/directives → directives}/tooltip.md +12 -217
  112. package/docs/{src/directives → directives}/zoom-img.md +11 -38
  113. package/docs/{src/ecosystem → ecosystem}/eslint-config.md +37 -29
  114. package/docs/ecosystem/icons/icon-set.md +25 -0
  115. package/docs/{src/ecosystem → ecosystem}/icons/index.md +22 -16
  116. package/docs/ecosystem/mcp.md +165 -0
  117. package/docs/{src/ecosystem → ecosystem}/node/exec-promise.md +12 -6
  118. package/docs/ecosystem/node/index.md +53 -0
  119. package/docs/{src/ecosystem → ecosystem}/node/logger.md +12 -6
  120. package/docs/{src/ecosystem → ecosystem}/node/print-banner.md +12 -4
  121. package/docs/ecosystem/node/setup-agents.md +102 -0
  122. package/docs/{src/ecosystem → ecosystem}/nuxt.md +46 -19
  123. package/docs/{src/ecosystem → ecosystem}/stylelint-config.md +33 -25
  124. package/docs/{src/ecosystem → ecosystem}/themes.md +72 -235
  125. package/docs/{src/ecosystem → ecosystem}/translations.md +25 -23
  126. package/docs/ecosystem/utils/camel-case.md +37 -0
  127. package/docs/ecosystem/utils/capitalize.md +37 -0
  128. package/docs/{src/ecosystem → ecosystem}/utils/check-availability.md +14 -8
  129. package/docs/{src/ecosystem → ecosystem}/utils/cookie.md +18 -12
  130. package/docs/ecosystem/utils/country-code-to-unicode-flag.md +128 -0
  131. package/docs/{src/ecosystem → ecosystem}/utils/currency.md +12 -26
  132. package/docs/{src/ecosystem → ecosystem}/utils/date.md +10 -24
  133. package/docs/ecosystem/utils/debounce-callback.md +44 -0
  134. package/docs/{src/ecosystem → ecosystem}/utils/debounce-id.md +14 -8
  135. package/docs/{src/ecosystem → ecosystem}/utils/debounce.md +14 -8
  136. package/docs/ecosystem/utils/fetch-locale-ip.md +39 -0
  137. package/docs/{src/ecosystem → ecosystem}/utils/format-json.md +11 -5
  138. package/docs/{src/ecosystem → ecosystem}/utils/format-phone-number.md +12 -6
  139. package/docs/ecosystem/utils/get-browser-locale.md +35 -0
  140. package/docs/ecosystem/utils/get-country-flag-url.md +67 -0
  141. package/docs/{src/ecosystem → ecosystem}/utils/get-error-message.md +10 -4
  142. package/docs/{src/ecosystem → ecosystem}/utils/idle-timeout.md +15 -9
  143. package/docs/{src/ecosystem → ecosystem}/utils/index.md +10 -13
  144. package/docs/{src/ecosystem → ecosystem}/utils/is-client.md +11 -5
  145. package/docs/{src/ecosystem → ecosystem}/utils/is-equal.md +14 -8
  146. package/docs/{src/ecosystem → ecosystem}/utils/is-ios.md +12 -6
  147. package/docs/ecosystem/utils/is-server.md +37 -0
  148. package/docs/ecosystem/utils/is-standalone-mode.md +49 -0
  149. package/docs/{src/ecosystem → ecosystem}/utils/kebab-case.md +10 -4
  150. package/docs/{src/ecosystem → ecosystem}/utils/normalize-string.md +10 -4
  151. package/docs/{src/ecosystem → ecosystem}/utils/number.md +10 -24
  152. package/docs/{src/ecosystem → ecosystem}/utils/pascal-case.md +11 -5
  153. package/docs/{src/ecosystem → ecosystem}/utils/prevent-ios-input-zoom.md +14 -8
  154. package/docs/{src/ecosystem → ecosystem}/utils/script-loader.md +16 -8
  155. package/docs/{src/ecosystem → ecosystem}/utils/sleep.md +10 -4
  156. package/docs/{src/ecosystem → ecosystem}/utils/snake-case.md +10 -4
  157. package/docs/{src/ecosystem → ecosystem}/utils/swipe-handler.md +14 -8
  158. package/docs/{src/ecosystem → ecosystem}/utils/textarea-autogrow.md +12 -6
  159. package/docs/{src/ecosystem → ecosystem}/utils/throttle-id.md +13 -7
  160. package/docs/{src/ecosystem → ecosystem}/utils/throttle.md +14 -8
  161. package/docs/ecosystem/utils/truthy-filter.md +37 -0
  162. package/docs/{src/ecosystem → ecosystem}/utils/types/deep-key-of.md +11 -5
  163. package/docs/{src/ecosystem → ecosystem}/utils/types/deep-partial.md +10 -4
  164. package/docs/ecosystem/utils/types/deep-required.md +45 -0
  165. package/docs/ecosystem/utils/types/flatten-object-keys.md +50 -0
  166. package/docs/{src/ecosystem → ecosystem}/utils/types/generic-instance-type.md +10 -4
  167. package/docs/{src/ecosystem → ecosystem}/utils/types/infer-maybe-ref.md +10 -4
  168. package/docs/ecosystem/utils/upper-first.md +38 -0
  169. package/docs/{src/ecosystem → ecosystem}/utils/user-visibility.md +12 -6
  170. package/docs/guide/ai-agents.md +237 -0
  171. package/docs/{src/guide → guide}/browser-support.md +22 -15
  172. package/docs/{src/guide → guide}/getting-started.md +34 -139
  173. package/docs/{src/guide → guide}/global-defaults.md +12 -11
  174. package/docs/{src/guide → guide}/maz-ui-provider.md +17 -16
  175. package/docs/{src/guide → guide}/migration-v5.md +95 -88
  176. package/docs/{src/guide → guide}/resolvers.md +33 -100
  177. package/docs/guide/tailwind.md +483 -0
  178. package/docs/{src/guide → guide}/vue.md +33 -39
  179. package/docs/manifest.json +1 -0
  180. package/docs/{src/plugins → plugins}/aos.md +20 -55
  181. package/docs/{src/plugins → plugins}/dialog.md +14 -161
  182. package/docs/plugins/toast.md +221 -0
  183. package/docs/plugins/wait.md +78 -0
  184. package/docs/reference/icons.md +46 -0
  185. package/docs/reference/tailwind-tokens.md +191 -0
  186. package/docs/rules.md +57 -0
  187. package/package.json +84 -22
  188. package/dist/mcp.d.mts +0 -153
  189. package/dist/mcp.d.ts +0 -153
  190. package/dist/mcp.mjs +0 -1511
  191. package/docs/generated-docs/maz-accordion.doc.md +0 -21
  192. package/docs/generated-docs/maz-alert.doc.md +0 -20
  193. package/docs/generated-docs/maz-animated-counter.doc.md +0 -17
  194. package/docs/generated-docs/maz-animated-element.doc.md +0 -14
  195. package/docs/generated-docs/maz-animated-text.doc.md +0 -17
  196. package/docs/generated-docs/maz-avatar.doc.md +0 -45
  197. package/docs/generated-docs/maz-backdrop.doc.md +0 -55
  198. package/docs/generated-docs/maz-badge.doc.md +0 -16
  199. package/docs/generated-docs/maz-bottom-sheet.doc.md +0 -24
  200. package/docs/generated-docs/maz-btn-group.doc.md +0 -20
  201. package/docs/generated-docs/maz-btn.doc.md +0 -33
  202. package/docs/generated-docs/maz-card-spotlight.doc.md +0 -16
  203. package/docs/generated-docs/maz-card.doc.md +0 -39
  204. package/docs/generated-docs/maz-carousel.doc.md +0 -17
  205. package/docs/generated-docs/maz-chart.doc.md +0 -10
  206. package/docs/generated-docs/maz-checkbox.doc.md +0 -33
  207. package/docs/generated-docs/maz-checklist.doc.md +0 -30
  208. package/docs/generated-docs/maz-circular-progress-bar.doc.md +0 -27
  209. package/docs/generated-docs/maz-code-highlight.doc.md +0 -11
  210. package/docs/generated-docs/maz-container.doc.md +0 -26
  211. package/docs/generated-docs/maz-date-picker.doc.md +0 -56
  212. package/docs/generated-docs/maz-dialog-confirm.doc.md +0 -24
  213. package/docs/generated-docs/maz-dialog.doc.md +0 -22
  214. package/docs/generated-docs/maz-drawer.doc.md +0 -25
  215. package/docs/generated-docs/maz-dropdown.doc.md +0 -45
  216. package/docs/generated-docs/maz-dropzone.doc.md +0 -82
  217. package/docs/generated-docs/maz-expand-animation.doc.md +0 -12
  218. package/docs/generated-docs/maz-fullscreen-loader.doc.md +0 -13
  219. package/docs/generated-docs/maz-gallery.doc.md +0 -17
  220. package/docs/generated-docs/maz-icon.doc.md +0 -16
  221. package/docs/generated-docs/maz-input-code.doc.md +0 -25
  222. package/docs/generated-docs/maz-input-number.doc.md +0 -33
  223. package/docs/generated-docs/maz-input-phone-number.doc.md +0 -62
  224. package/docs/generated-docs/maz-input-price.doc.md +0 -26
  225. package/docs/generated-docs/maz-input-tags.doc.md +0 -24
  226. package/docs/generated-docs/maz-input.doc.md +0 -54
  227. package/docs/generated-docs/maz-lazy-img.doc.md +0 -49
  228. package/docs/generated-docs/maz-link.doc.md +0 -31
  229. package/docs/generated-docs/maz-loading-bar.doc.md +0 -6
  230. package/docs/generated-docs/maz-markdown-editor.doc.md +0 -65
  231. package/docs/generated-docs/maz-pagination.doc.md +0 -21
  232. package/docs/generated-docs/maz-popover.doc.md +0 -79
  233. package/docs/generated-docs/maz-pull-to-refresh.doc.md +0 -50
  234. package/docs/generated-docs/maz-radio-buttons.doc.md +0 -34
  235. package/docs/generated-docs/maz-radio.doc.md +0 -33
  236. package/docs/generated-docs/maz-read-more.doc.md +0 -18
  237. package/docs/generated-docs/maz-reading-progress-bar.doc.md +0 -18
  238. package/docs/generated-docs/maz-select-country.doc.md +0 -45
  239. package/docs/generated-docs/maz-select.doc.md +0 -32
  240. package/docs/generated-docs/maz-sidebar-content.doc.md +0 -5
  241. package/docs/generated-docs/maz-sidebar-footer.doc.md +0 -5
  242. package/docs/generated-docs/maz-sidebar-group.doc.md +0 -11
  243. package/docs/generated-docs/maz-sidebar-header.doc.md +0 -5
  244. package/docs/generated-docs/maz-sidebar-menu-button.doc.md +0 -27
  245. package/docs/generated-docs/maz-sidebar-menu-item.doc.md +0 -5
  246. package/docs/generated-docs/maz-sidebar-menu-sub.doc.md +0 -16
  247. package/docs/generated-docs/maz-sidebar-menu.doc.md +0 -5
  248. package/docs/generated-docs/maz-sidebar-separator.doc.md +0 -0
  249. package/docs/generated-docs/maz-sidebar-trigger.doc.md +0 -5
  250. package/docs/generated-docs/maz-sidebar.doc.md +0 -36
  251. package/docs/generated-docs/maz-skeleton.doc.md +0 -12
  252. package/docs/generated-docs/maz-slider.doc.md +0 -20
  253. package/docs/generated-docs/maz-spinner.doc.md +0 -6
  254. package/docs/generated-docs/maz-stepper.doc.md +0 -30
  255. package/docs/generated-docs/maz-switch.doc.md +0 -31
  256. package/docs/generated-docs/maz-table-cell.doc.md +0 -5
  257. package/docs/generated-docs/maz-table-row.doc.md +0 -12
  258. package/docs/generated-docs/maz-table-title.doc.md +0 -5
  259. package/docs/generated-docs/maz-table-virtualizer.doc.md +0 -20
  260. package/docs/generated-docs/maz-table.doc.md +0 -72
  261. package/docs/generated-docs/maz-tabs-bar.doc.md +0 -29
  262. package/docs/generated-docs/maz-tabs-content-item.doc.md +0 -11
  263. package/docs/generated-docs/maz-tabs-content.doc.md +0 -5
  264. package/docs/generated-docs/maz-tabs.doc.md +0 -20
  265. package/docs/generated-docs/maz-textarea.doc.md +0 -46
  266. package/docs/generated-docs/maz-ticker.doc.md +0 -25
  267. package/docs/generated-docs/maz-timeline.doc.md +0 -32
  268. package/docs/generated-docs/maz-ui-provider.doc.md +0 -12
  269. package/docs/generated-docs/maz-window-mockup.doc.md +0 -23
  270. package/docs/src/blog/v4.md +0 -276
  271. package/docs/src/blog/v5.md +0 -184
  272. package/docs/src/changelog.md +0 -7
  273. package/docs/src/components/index.md +0 -8
  274. package/docs/src/components/maz-accordion.md +0 -80
  275. package/docs/src/components/maz-animated-counter.md +0 -124
  276. package/docs/src/components/maz-animated-element.md +0 -36
  277. package/docs/src/components/maz-animated-text.md +0 -36
  278. package/docs/src/components/maz-avatar.md +0 -227
  279. package/docs/src/components/maz-backdrop.md +0 -250
  280. package/docs/src/components/maz-bottom-sheet.md +0 -533
  281. package/docs/src/components/maz-card-spotlight.md +0 -163
  282. package/docs/src/components/maz-carousel.md +0 -231
  283. package/docs/src/components/maz-checkbox.md +0 -168
  284. package/docs/src/components/maz-checklist.md +0 -414
  285. package/docs/src/components/maz-circular-progress-bar.md +0 -145
  286. package/docs/src/components/maz-container.md +0 -363
  287. package/docs/src/components/maz-dialog-confirm.md +0 -240
  288. package/docs/src/components/maz-dialog.md +0 -164
  289. package/docs/src/components/maz-drawer.md +0 -181
  290. package/docs/src/components/maz-dropdown.md +0 -691
  291. package/docs/src/components/maz-expand-animation.md +0 -99
  292. package/docs/src/components/maz-fullscreen-loader.md +0 -58
  293. package/docs/src/components/maz-gallery.md +0 -85
  294. package/docs/src/components/maz-input-code.md +0 -61
  295. package/docs/src/components/maz-input-number.md +0 -81
  296. package/docs/src/components/maz-input-phone-number.md +0 -942
  297. package/docs/src/components/maz-input-price.md +0 -67
  298. package/docs/src/components/maz-input-tags.md +0 -114
  299. package/docs/src/components/maz-lazy-img.md +0 -88
  300. package/docs/src/components/maz-link.md +0 -178
  301. package/docs/src/components/maz-loading-bar.md +0 -26
  302. package/docs/src/components/maz-pagination.md +0 -79
  303. package/docs/src/components/maz-popover.md +0 -1416
  304. package/docs/src/components/maz-radio-buttons.md +0 -462
  305. package/docs/src/components/maz-radio.md +0 -142
  306. package/docs/src/components/maz-reading-progress-bar.md +0 -74
  307. package/docs/src/components/maz-spinner.md +0 -93
  308. package/docs/src/components/maz-switch.md +0 -92
  309. package/docs/src/components/maz-table.md +0 -732
  310. package/docs/src/components/maz-textarea.md +0 -400
  311. package/docs/src/components/maz-ticker.md +0 -692
  312. package/docs/src/components/maz-timeline.md +0 -478
  313. package/docs/src/composables/use-aos.md +0 -34
  314. package/docs/src/composables/use-breakpoints.md +0 -35
  315. package/docs/src/composables/use-dialog.md +0 -88
  316. package/docs/src/composables/use-string-matching.md +0 -63
  317. package/docs/src/composables/use-toast.md +0 -71
  318. package/docs/src/composables/use-wait.md +0 -62
  319. package/docs/src/composables/use-window-size.md +0 -18
  320. package/docs/src/ecosystem/icons/icon-set.md +0 -123
  321. package/docs/src/ecosystem/mcp.md +0 -210
  322. package/docs/src/ecosystem/node/index.md +0 -53
  323. package/docs/src/ecosystem/utils/camel-case.md +0 -31
  324. package/docs/src/ecosystem/utils/capitalize.md +0 -50
  325. package/docs/src/ecosystem/utils/country-code-to-unicode-flag.md +0 -213
  326. package/docs/src/ecosystem/utils/debounce-callback.md +0 -38
  327. package/docs/src/ecosystem/utils/fetch-locale-ip.md +0 -33
  328. package/docs/src/ecosystem/utils/get-browser-locale.md +0 -29
  329. package/docs/src/ecosystem/utils/get-country-flag-url.md +0 -156
  330. package/docs/src/ecosystem/utils/is-server.md +0 -31
  331. package/docs/src/ecosystem/utils/is-standalone-mode.md +0 -43
  332. package/docs/src/ecosystem/utils/truthy-filter.md +0 -31
  333. package/docs/src/ecosystem/utils/types/deep-required.md +0 -39
  334. package/docs/src/ecosystem/utils/types/flatten-object-keys.md +0 -44
  335. package/docs/src/ecosystem/utils/upper-first.md +0 -32
  336. package/docs/src/guide/cli.md +0 -144
  337. package/docs/src/guide/migration-v4.md +0 -925
  338. package/docs/src/guide/tailwind.md +0 -158
  339. package/docs/src/index.md +0 -603
  340. package/docs/src/made-with-maz-ui.md +0 -58
  341. package/docs/src/plugins/toast.md +0 -349
  342. package/docs/src/plugins/wait.md +0 -109
  343. package/docs/src/theme-editor.md +0 -21
@@ -1,15 +1,24 @@
1
1
  ---
2
- title: MazDropzone
3
- description: MazDropzone is a powerful and flexible file upload component with drag & drop support, progress tracking, and customizable UI. Perfect for handling single or multiple file uploads in your Vue applications.
2
+ title: "MazDropzone"
3
+ description: "MazDropzone is a powerful and flexible file upload component with drag & drop support, progress tracking, and customizable UI. Perfect for handling single or multiple file uploads in your Vue applications."
4
+ package: "maz-ui"
5
+ url: "https://maz-ui.com/components/maz-dropzone"
4
6
  ---
5
7
 
6
- # {{ $frontmatter.title }}
8
+ # MazDropzone
7
9
 
8
- {{ $frontmatter.description }}
10
+ > MazDropzone is a powerful and flexible file upload component with drag & drop support, progress tracking, and customizable UI. Perfect for handling single or multiple file uploads in your Vue applications.
9
11
 
10
- <!--@include: ./../../.vitepress/mixins/getting-started.md-->
12
+ - Package: `maz-ui`
13
+ - Import: `import MazDropzone from 'maz-ui/components/MazDropzone'`
14
+ - Nuxt: auto-imported by `@maz-ui/nuxt`, no import needed in a Nuxt app
15
+ - Web: https://maz-ui.com/components/maz-dropzone
11
16
 
12
- <!--@include: ./../../.vitepress/mixins/translated-component.md-->
17
+ > Before use it, you should install the MazUi plugin in your project, follow instructions in [Getting Started](../guide/getting-started.md)
18
+
19
+ **Tip:**
20
+
21
+ This component can be translated globally using the [MazUi](../ecosystem/translations.md) plugin.
13
22
 
14
23
  ## Key Features
15
24
 
@@ -40,7 +49,7 @@ description: MazDropzone is a powerful and flexible file upload component with d
40
49
 
41
50
  ### Error handling example
42
51
 
43
- ::: details View code
52
+ **Details: View code**
44
53
 
45
54
  ```vue
46
55
  <script setup>
@@ -71,35 +80,8 @@ function handleError({ code, files }) {
71
80
  </template>
72
81
  ```
73
82
 
74
- :::
75
-
76
83
  ## Basic Usage
77
84
 
78
- <ComponentDemo expanded>
79
- <MazDropzone
80
- ref="dropzone"
81
- v-model="files"
82
- :max-file-size="3"
83
- multiple
84
- :max-concurrent-uploads="3"
85
- @upload-success="onUploadSuccess"
86
- @upload-error="onUploadError"
87
- @error="onError"
88
- url="https://httpbin.org/post"
89
- :request-options="{
90
- headers: { 'My-Awesome-Header': 'header value' },
91
- }"
92
- />
93
-
94
- <br />
95
- <div class="maz:text-center">
96
- <MazBtn @click="dropzone?.uploadFiles()" :loading="dropzone?.isUploading">
97
- Upload Files
98
- </MazBtn>
99
- </div>
100
-
101
- <template #code>
102
-
103
85
  ```vue
104
86
  <script setup lang="ts">
105
87
  import { useToast } from 'maz-ui/composables'
@@ -148,24 +130,10 @@ function onError({ files, event, code }) {
148
130
  </template>
149
131
  ```
150
132
 
151
- </template>
152
- </ComponentDemo>
153
-
154
133
  ## File Type Restrictions
155
134
 
156
135
  You can restrict allowed file types using the `data-types` prop:
157
136
 
158
- <ComponentDemo>
159
- <MazDropzone
160
- v-model="files"
161
- :data-types="acceptedFormats"
162
- :max-file-size="5"
163
- :max-files="5"
164
- @error="onError"
165
- />
166
-
167
- <template #code>
168
-
169
137
  ```vue
170
138
  <script lang="ts" setup>
171
139
  const acceptedFormats = [
@@ -213,25 +181,10 @@ const acceptedFormats = [
213
181
  </template>
214
182
  ```
215
183
 
216
- </template>
217
- </ComponentDemo>
218
-
219
184
  ## Auto Upload
220
185
 
221
186
  Enable automatic file upload using the `auto-upload` prop. Files can be uploaded individually (`single`) in separate requests or all at once (`multiple`) in a single request:
222
187
 
223
- <ComponentDemo>
224
- <MazDropzone
225
- v-model="files"
226
- auto-upload="single"
227
- url="https://your-upload-endpoint.com/upload"
228
- @upload-success="onUploadSuccess"
229
- @upload-error="onUploadError"
230
- @error="onError"
231
- />
232
-
233
- <template #code>
234
-
235
188
  ```html
236
189
  <MazDropzone
237
190
  v-model="files"
@@ -243,12 +196,10 @@ Enable automatic file upload using the `auto-upload` prop. Files can be uploaded
243
196
  />
244
197
  ```
245
198
 
246
- </template>
247
- </ComponentDemo>
248
-
249
199
  You can also upload all files at once using `multiple`:
250
200
 
251
- ::: tip
201
+ **Tip:**
202
+
252
203
  Multiple upload is allowed:
253
204
 
254
205
  - when `max-files` is greater than 1
@@ -256,19 +207,6 @@ Multiple upload is allowed:
256
207
  - when `multiple` prop is set to `true`
257
208
 
258
209
  [Link to the source code](https://github.com/maz-ui/maz-ui/blob/main/components/MazDropzone.vue#L219)
259
- :::
260
-
261
- <ComponentDemo>
262
- <MazDropzone
263
- v-model="files"
264
- auto-upload="multiple"
265
- url="https://your-upload-endpoint.com/upload"
266
- @upload-success-multiple="onUploadSuccessMultiple"
267
- @upload-error-multiple="onUploadErrorMultiple"
268
- @error="onError"
269
- />
270
-
271
- <template #code>
272
210
 
273
211
  ```html
274
212
  <template>
@@ -302,33 +240,15 @@ Multiple upload is allowed:
302
240
  </script>
303
241
  ```
304
242
 
305
- </template>
306
- </ComponentDemo>
307
-
308
243
  ## Custom Upload Area
309
244
 
310
245
  Customize the upload area using slots:
311
246
 
312
- <ComponentDemo>
313
- <MazDropzone v-model="files" @error="onError">
314
- <template #no-files-area="{ handleFileInputClick }">
315
- <div class="maz:flex maz:flex-col maz:items-center maz:gap-4">
316
- <MazIcon icon="/arrow-up-on-square.svg" class="maz:text-4xl" />
317
- <p>Drop your files here or click to browse</p>
318
- <MazBtn @click="handleFileInputClick">
319
- Select Files
320
- </MazBtn>
321
- </div>
322
- </template>
323
- </MazDropzone>
324
-
325
- <template #code>
326
-
327
247
  ```html
328
248
  <MazDropzone v-model="files" @error="onError">
329
249
  <template #no-files-area="{ handleFileInputClick }">
330
- <div class="maz:flex maz:flex-col maz:items-center maz:gap-4">
331
- <MazIcon icon="/arrow-up-on-square.svg" class="maz:text-4xl" />
250
+ <div class="flex flex-col items-center gap-4">
251
+ <MazIcon icon="/arrow-up-on-square.svg" class="text-4xl" />
332
252
  <p>Drop your files here or click to browse</p>
333
253
  <MazBtn @click="handleFileInputClick"> Select Files </MazBtn>
334
254
  </div>
@@ -336,28 +256,12 @@ Customize the upload area using slots:
336
256
  </MazDropzone>
337
257
  ```
338
258
 
339
- </template>
340
- </ComponentDemo>
341
-
342
259
  ## Custom Translations
343
260
 
344
261
  ### Using `translations` prop
345
262
 
346
263
  Customize text messages using the `translations` prop:
347
264
 
348
- <ComponentDemo>
349
- <MazDropzone
350
- v-model="files"
351
- :translations="{
352
- dragAndDrop: 'Drag files here',
353
- selectFile: 'browse files',
354
- fileInfos: 'Accepted files: Images up to 5MB'
355
- }"
356
- @error="onError"
357
- />
358
-
359
- <template #code>
360
-
361
265
  ```html
362
266
  <MazDropzone
363
267
  v-model="files"
@@ -370,14 +274,11 @@ Customize text messages using the `translations` prop:
370
274
  />
371
275
  ```
372
276
 
373
- </template>
374
- </ComponentDemo>
375
-
376
277
  ### Using `MazUi` plugin
377
278
 
378
279
  You can also use the `MazUi` plugin to customize the translations:
379
280
 
380
- ::: details View code
281
+ **Details: View code**
381
282
 
382
283
  ```ts
383
284
  import { MazUi } from 'maz-ui/plugins/maz-ui'
@@ -401,33 +302,10 @@ app.use(MazUi, {
401
302
  })
402
303
  ```
403
304
 
404
- :::
405
-
406
305
  ## Custom Upload Request
407
306
 
408
307
  Customize the upload request using `uploadUrl`, `requestOptions` and `transformBody`:
409
308
 
410
- <ComponentDemo>
411
- <MazDropzone
412
- v-model="files"
413
- url="/api/upload"
414
- :request-options="{
415
- method: 'POST',
416
- headers: {
417
- 'Authorization': 'Bearer token123'
418
- },
419
- }"
420
- :transform-body="(formData, files) => {
421
- // Add additional data to FormData
422
- formData.append('userId', '123')
423
- formData.append('fileCount', files.length.toString())
424
- return formData
425
- }"
426
- @error="onError"
427
- />
428
-
429
- <template #code>
430
-
431
309
  ```html
432
310
  <MazDropzone
433
311
  v-model="files"
@@ -448,81 +326,62 @@ Customize the upload request using `uploadUrl`, `requestOptions` and `transformB
448
326
  />
449
327
  ```
450
328
 
451
- </template>
452
- </ComponentDemo>
453
-
454
- <!--@include: ./../../.vitepress/generated-docs/maz-dropzone.doc.md-->
455
-
456
- <script setup lang="ts">
457
- import { ref } from 'vue'
458
- import { useToast } from 'maz-ui/composables/useToast'
459
-
460
- const files = ref<File[]>([])
461
- const dropzone = ref<InstanceType<typeof MazDropzone>>()
462
- const toast = useToast()
463
-
464
- const onUploadSuccess = ({ file, response }) => {
465
- console.log('Upload success:', file, response)
466
- toast.success(`File ${file.name} uploaded successfully`)
467
- }
468
-
469
- const onUploadError = ({ file, code, error }) => {
470
- console.error('Upload failed:', file, code, error)
471
- toast.error(`File ${file.name} upload failed: ${code} - ${error}`)
472
- }
473
-
474
- const onUploadSuccessMultiple = ({ files, response }) => {
475
- console.log('Upload multiple success:', files, response)
476
- toast.success(`${files.length} files uploaded successfully`)
477
- }
478
-
479
- const onUploadErrorMultiple = ({ files, code, error }) => {
480
- console.error('Upload multiple failed:', files, code, error)
481
- toast.error(`${files.length} files upload failed: ${code} - ${error}`)
482
- }
483
-
484
- const onError = ({ files, event, code }) => {
485
- console.error('Error:', files, event, code)
486
- toast.error(`${files?.length} files upload failed: ${code} - ${files?.map(file => file.name).join(', ')}`)
487
- }
488
-
489
- const acceptedFormats = [
490
- // iOS
491
- '.strings',
492
- '.stringsdict',
493
- '.plist',
494
- '.xliff',
495
- '.xlf',
496
- // Android
497
- '.xml',
498
- // Web
499
- '.json',
500
- '.yaml',
501
- '.yml',
502
- '.po',
503
- '.pot',
504
- '.mo',
505
- // Java
506
- '.properties',
507
- // Flutter
508
- '.arb',
509
- // Général
510
- '.csv',
511
- '.tsv',
512
- '.txt',
513
- // MIME types fallback
514
- 'text/*',
515
- 'application/json',
516
- 'text/xml',
517
- 'application/xml',
518
- 'text/yaml',
519
- 'text/html',
520
- 'image/svg+xml',
521
- 'video/mp4',
522
- 'video/quicktime',
523
- 'video/mpeg',
524
- 'video/ogg',
525
- 'video/webm',
526
- 'audio/*',
527
- ]
528
- </script>
329
+ ## MazDropzone API
330
+
331
+ `import MazDropzone from 'maz-ui/components/MazDropzone'`
332
+
333
+ ### Props
334
+
335
+ - `id` (`string`): The id of the dropzone.
336
+ - `multiple` (`boolean`, default: `false`): Allow multiple files to be uploaded.
337
+ - `data-types` (`string[]`, default: `['*\/*']`): Allowed data types/MIME types for files (e.g. ['application/json']).
338
+ - `prevent-default-for-unhandled` (`boolean`, default: `true`): Prevent default behavior for unhandled drag & drop events.
339
+ - `max-file-size` (`number`): Maximum file size in MB.
340
+ - `max-files` (`number`): Maximum number of files allowed.
341
+ - `disabled` (`boolean`, default: `false`): Disable the dropzone.
342
+ - `preview` (`boolean`, default: `true`): Show file preview.
343
+ - `min-file-size` (`number`): Minimum file size in MB.
344
+ - `allow-duplicates` (`boolean`, default: `false`): Allow duplicates.
345
+ - `translations` (`{ dragAndDrop?: string | undefined; selectFile?: string | undefined; divider?: string | undefined; fileMaxCount?: string | undefined; fileMaxSize?: string | undefined; fileTypes?: string | undefined; types?: { image?: string | undefined;...`): Translations - Custom translations for the component.
346
+ - `color` (`"primary" | "secondary" | "accent" | "info" | "success" | "warning" | "destructive" | "contrast" | "transparent"`, default: `"primary"`): Main color of the component.
347
+ - `remove-file-btn-props` (`MazBtnProps`, default: `{}`): MazBtn props [MazBtn props](./maz-btn.md#props).
348
+ - `spinner-props` (`MazSpinnerProps`, default: `{}`): MazSpinner props [MazSpinner props](./maz-spinner.md#props).
349
+ - `auto-upload` (`false | "multiple" | "single"`, default: `false`): Auto upload files - If set to `multiple`, all files will be uploaded at once in a single request. If set to `single`, files will be uploaded one by one in separate requests. If set to `false`, no upload will be done automatically.
350
+ - `url` (`string`): Upload URL - If set, files will be uploaded to the given URL.
351
+ - `request-options` (`RequestInit`): Request options - Request options to be used for the upload (using fetch) [Request options](https://developer.mozilla.org/en-US/docs/Web/API/fetch#options).
352
+ - `transform-body` (`((formData: FormData) => BodyInit | null | undefined)`): Transform the body of the request.
353
+ - `max-concurrent-uploads` (`number`, default: `5`): Maximum number of concurrent uploads - Limit the number of files uploaded simultaneously to avoid overwhelming the server.
354
+ - `model-value` (`MazDropzoneFileData[]`, default: `[]`, `v-model`): The files data.
355
+
356
+ ### Events
357
+
358
+ - `@error` (payload: `values: { files: File[] | null; event: DragEvent | null; code: MazDropzoneErrorCode; }`): Event emitted when an error occurs
359
+ - `@add` (payload: `value: File`): Event emitted when a file is added to the dropzone
360
+ - `@drop` (payload: `values: { files: File[] | null; event: DragEvent; }`): Event emitted when files are dropped in the dropzone
361
+ - `@update:modelValue` (payload: `value: MazDropzoneFileData[]`)
362
+ - `@enter` (payload: `values: { files: File[] | null; event: DragEvent; }`): Event emitted when dragged files enter the dropzone
363
+ - `@leave` (payload: `values: { files: File[] | null; event: DragEvent; }`): Event emitted when dragged files leave the dropzone
364
+ - `@over` (payload: `values: { files: File[] | null; event: DragEvent; }`): Event emitted when dragged files are over the dropzone
365
+ - `@remove` (payload: `value: File`): Event emitted when a file is removed from the dropzone
366
+ - `@upload-error` (payload: `values: { file: File; code: MazDropzoneErrorCode; error: unknown; }`): Event emitted when an error occurs during file upload
367
+ - `@upload-error-multiple` (payload: `values: { files: File[]; code: MazDropzoneErrorCode; error: unknown; }`): Event emitted when an error occurs during multiple files upload
368
+ - `@upload-success` (payload: `values: { file: File; response?: Response | undefined; }`): Event emitted when a file is successfully uploaded
369
+ - `@upload-success-multiple` (payload: `values: { files: File[]; response?: Response | undefined; }`): Event emitted when multiple files are successfully uploaded
370
+
371
+ ### Slots
372
+
373
+ - `#files-area`: Slot to customize the files area Bindings: `filesData: MazDropzoneFileData[]` (The files data).
374
+ - `#file-item`: Slot to customize the file item Bindings: `file: MazDropzoneFileData` (The drop file data).
375
+ - `#no-files-area`: Slot to customize the no files area Bindings: `selectFile: () => void` (The function to select the file).
376
+ - `#upload-icon`: Slot to customize the upload icon
377
+
378
+ ### Exposed (template ref)
379
+
380
+ - `uploadFiles`: Upload files
381
+ - `uploadFilesMultiple`: Upload multiple files
382
+ - `getFormData`: Get form data
383
+ - `getFormDataMultiple`: Get form data multiple
384
+ - `reset`: Reset the files
385
+ - `isUploading`: Check if the files are uploading
386
+ - `addFile`: Add a file to the dropzone
387
+ - `removeFile`: Remove a file from the dropzone
@@ -0,0 +1,82 @@
1
+ ---
2
+ title: "MazExpandAnimation"
3
+ description: "MazExpandAnimation is a standalone component that allows you to animate the height of a block element"
4
+ package: "maz-ui"
5
+ url: "https://maz-ui.com/components/maz-expand-animation"
6
+ ---
7
+
8
+ # MazExpandAnimation
9
+
10
+ > MazExpandAnimation is a standalone component that allows you to animate the height of a block element
11
+
12
+ - Package: `maz-ui`
13
+ - Import: `import MazExpandAnimation from 'maz-ui/components/MazExpandAnimation'`
14
+ - Nuxt: auto-imported by `@maz-ui/nuxt`, no import needed in a Nuxt app
15
+ - Web: https://maz-ui.com/components/maz-expand-animation
16
+
17
+ > Before use it, you should install the MazUi plugin in your project, follow instructions in [Getting Started](../guide/getting-started.md)
18
+
19
+ ## Basic usage
20
+
21
+ ```vue
22
+ <script lang="ts" setup>
23
+ import MazExpandAnimation from 'maz-ui/components/MazExpandAnimation'
24
+ import { ref } from 'vue'
25
+
26
+ const visible = ref(false)
27
+ </script>
28
+
29
+ <template>
30
+ <MazBtn @click="visible = !visible">
31
+ Exec animation
32
+ </MazBtn>
33
+
34
+ <MazExpandAnimation v-model="visible">
35
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
36
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
37
+ </MazExpandAnimation>
38
+ </template>
39
+ ```
40
+
41
+ ## Options
42
+
43
+ - **duration**: `String` - default: `300ms` - Duration of the animation in ms
44
+ - **timing-function**: `String` - default: `ease-in-out` - Timing function of the animation
45
+
46
+ ```vue
47
+ <script lang="ts" setup>
48
+ import MazExpandAnimation from 'maz-ui/components/MazExpandAnimation'
49
+ import { ref } from 'vue'
50
+
51
+ const visible = ref(false)
52
+ </script>
53
+
54
+ <template>
55
+ <MazBtn @click="visible = !visible">
56
+ Exec animation
57
+ </MazBtn>
58
+
59
+ <MazExpandAnimation v-model="visible" duration="1000ms" timing-function="linear">
60
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
61
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
62
+ </MazExpandAnimation>
63
+ </template>
64
+ ```
65
+
66
+ ## MazExpandAnimation API
67
+
68
+ `import MazExpandAnimation from 'maz-ui/components/MazExpandAnimation'`
69
+
70
+ ### Props
71
+
72
+ - `duration` (`string`, default: `"300ms"`): Duration of the animation in milliseconds.
73
+ - `timing-function` (`string`, default: `"ease-in-out"`): Timing function of the animation.
74
+ - `model-value` (`boolean`, `v-model`)
75
+
76
+ ### Events
77
+
78
+ - `@update:modelValue` (payload: `value: boolean | undefined`)
79
+
80
+ ### Slots
81
+
82
+ - `#default`: Default Slot - Display content
@@ -0,0 +1,58 @@
1
+ ---
2
+ title: "MazFullscreenLoader"
3
+ description: "MazFullscreenLoader is a standalone component"
4
+ package: "maz-ui"
5
+ url: "https://maz-ui.com/components/maz-fullscreen-loader"
6
+ ---
7
+
8
+ # MazFullscreenLoader
9
+
10
+ > MazFullscreenLoader is a standalone component
11
+
12
+ - Package: `maz-ui`
13
+ - Import: `import MazFullscreenLoader from 'maz-ui/components/MazFullscreenLoader'`
14
+ - Nuxt: auto-imported by `@maz-ui/nuxt`, no import needed in a Nuxt app
15
+ - Web: https://maz-ui.com/components/maz-fullscreen-loader
16
+
17
+ > Before use it, you should install the MazUi plugin in your project, follow instructions in [Getting Started](../guide/getting-started.md)
18
+
19
+ ## Basic usage
20
+
21
+ ```vue
22
+ <script lang="ts" setup>
23
+ import { MazBtn, MazFullscreenLoader } from 'maz-ui/components'
24
+
25
+ import { ref } from 'vue'
26
+
27
+ const showLoader = ref(false)
28
+ </script>
29
+
30
+ <template>
31
+ <MazFullscreenLoader v-if="showLoader" @click="showLoader = false">
32
+ <p>
33
+ Loading...
34
+ </p>
35
+ <p>
36
+ (click to hide loader)
37
+ </p>
38
+ </MazFullscreenLoader>
39
+
40
+ <MazBtn @click="showLoader = true">
41
+ Show loader
42
+ </MazBtn>
43
+ </template>
44
+ ```
45
+
46
+ ## MazFullscreenLoader API
47
+
48
+ `import MazFullscreenLoader from 'maz-ui/components/MazFullscreenLoader'`
49
+
50
+ ### Props
51
+
52
+ - `color` (`"primary" | "secondary" | "accent" | "info" | "success" | "warning" | "destructive" | "contrast" | "transparent"`, default: `"primary"`): The color of the spinner.
53
+ - `size` (`` `${number}rem` | `${number}px` | `${number}em` | `${number}vw` | `${number}vh` | `${number}vmin` | `${number}vmax` | `${number}%` | `${number}ch` | `${number}cm` | `${number}mm` | `${number}in` | `${number}ex` | `${number}pc` | `${number... ``, default: `"3em"`): The size of the spinner.
54
+ - `teleport-selector` (`string`, default: `"body"`): The selector to teleport the loader.
55
+
56
+ ### Slots
57
+
58
+ - `#default`
@@ -0,0 +1,79 @@
1
+ ---
2
+ title: "MazGallery"
3
+ description: "MazGallery is a standalone component used to display images in a container and has many options and actions"
4
+ package: "maz-ui"
5
+ url: "https://maz-ui.com/components/maz-gallery"
6
+ ---
7
+
8
+ # MazGallery
9
+
10
+ > MazGallery is a standalone component used to display images in a container and has many options and actions
11
+
12
+ - Package: `maz-ui`
13
+ - Import: `import MazGallery from 'maz-ui/components/MazGallery'`
14
+ - Nuxt: auto-imported by `@maz-ui/nuxt`, no import needed in a Nuxt app
15
+ - Web: https://maz-ui.com/components/maz-gallery
16
+
17
+ > Before use it, you should install the MazUi plugin in your project, follow instructions in [Getting Started](../guide/getting-started.md)
18
+
19
+ ## Basic usage
20
+
21
+ ```vue
22
+ <script lang="ts" setup>
23
+ import { MazGallery, type MazGalleryImage } from 'maz-ui/components'
24
+
25
+ const images: MazGalleryImage[] = [
26
+ 'https://placedog.net/640/400',
27
+ { src: 'https://placedog.net/640/600', thumbnail: 'https://placedog.net/100/100', alt: 'image description' },
28
+ { src: 'https://placedog.net/640/700', alt: 'image description' },
29
+ 'https://placedog.net/640/800',
30
+ 'https://placedog.net/640/1000',
31
+ 'https://placedog.net/800/800'
32
+ ]
33
+ </script>
34
+
35
+ <template>
36
+ <MazGallery
37
+ :images
38
+ :height="320"
39
+ />
40
+ </template>
41
+ ```
42
+
43
+ ## Set height by CSS
44
+
45
+ ```html
46
+ <MazGallery :images="images" class="h-48 md:h-60 lg:h-80" :height="false" />
47
+ ```
48
+
49
+ ## Types
50
+
51
+ ```ts
52
+ type MazGalleryImage
53
+ = | {
54
+ thumbnail?: string
55
+ src: string
56
+ alt?: string
57
+ }
58
+ | string
59
+ ```
60
+
61
+ ## MazGallery API
62
+
63
+ `import MazGallery from 'maz-ui/components/MazGallery'`
64
+
65
+ ### Props
66
+
67
+ - `images` (`MazGalleryImage[]`, default: `[]`): Array of string or object: `['https://via.placeholder.com/500', 'https://via.placeholder.com/600']` or `[{ slug: 'https://via.placeholder.com/500', alt: 'image descripton' }, { slug: 'https://via.placeholder.com/600', alt: 'image descripton' }]`.
68
+ - `displayed-count` (`number`, default: `5`): Images count shown (max: 5).
69
+ - `remaining` (`boolean`, default: `true`): Remove transparent layer with the remain count (ex: +2).
70
+ - `height` (`string | number | false`, default: `"100%"`): Height of gallery - set to `false` to remove default height.
71
+ - `width` (`string | number | false`, default: `"100%"`): Width of gallery - set to `false` to remove default width.
72
+ - `radius` (`boolean`, default: `true`): Disable the border radius of the gallery.
73
+ - `zoom` (`boolean`, default: `true`): Disable full size display when clicking on image.
74
+ - `has-empty-layer` (`boolean`, default: `true`): Layer with photography icon when no images is provided.
75
+ - `lazy` (`boolean`, default: `true`): Lazy load image - if false, images are directly loaded.
76
+ - `blur` (`boolean`, default: `true`): Disable blur effect on image hover.
77
+ - `scale` (`boolean`, default: `true`): Disable scale animation effect on image hover.
78
+ - `separator-color` (`string`, default: `"transparent"`): Choose color of borders between images - Should be a CSS color or CSS variable - Ex: `#000`.
79
+ - `background-color` (`string`): Choose background color of the gallery - Should be a CSS color or CSS variable - Ex: `#000`.