@maz-ui/mcp 5.0.1-beta.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,52 +1,24 @@
1
1
  ---
2
- title: useIdleTimeout
3
- description: A Vue composable that provides an easy way to track user inactivity on your website and execute a callback function when the user becomes idle.
2
+ title: "useIdleTimeout"
3
+ description: "A Vue composable that provides an easy way to track user inactivity on your website and execute a callback function when the user becomes idle."
4
+ package: "maz-ui"
5
+ url: "https://maz-ui.com/composables/use-idle-timeout"
4
6
  ---
5
7
 
6
- # {{ $frontmatter.title }}
8
+ # useIdleTimeout
7
9
 
8
- {{ $frontmatter.description }}
10
+ > A Vue composable that provides an easy way to track user inactivity on your website and execute a callback function when the user becomes idle.
9
11
 
10
- ::: info
11
- A plugin to know the amount of time a user has spent on your website
12
- :::
13
-
14
- ## Demo
15
-
16
- <ComponentDemo>
17
- <div class="flex items-start gap-05 items-center flex-wrap">
18
- <MazBtn @click="idleTimeout.start()" color="info">
19
- Start
20
- </MazBtn>
21
- <MazBtn @click="idleTimeout.pause()" color="warning">
22
- Pause
23
- </MazBtn>
24
- <MazBtn @click="idleTimeout.resume()">
25
- Resume
26
- </MazBtn>
27
- <MazBtn @click="idleTimeout.reset()" color="secondary">
28
- Reset
29
- </MazBtn>
30
- <MazBtn @click="idleTimeout.destroy()" color="destructive">
31
- Destroy
32
- </MazBtn>
33
- </div>
34
-
35
- <br />
36
-
37
- <MazCard block>
38
- <div style="display: flex;">
39
- <div style="flex: 1;">isIdle: {{event.isIdle ?? false}}</div>
40
- <div v-if="event.eventType" style="flex: 1; padding-left: 10px;">eventType: {{event.eventType ?? '-' }}</div>
41
- </div>
42
- </MazCard>
12
+ - Package: `maz-ui`
13
+ - Import: `import { useIdleTimeout } from 'maz-ui/composables/useIdleTimeout'`
14
+ - Nuxt: auto-imported by `@maz-ui/nuxt`, no import needed in a Nuxt app
15
+ - Web: https://maz-ui.com/composables/use-idle-timeout
43
16
 
44
- <br />
45
- <br />
17
+ **Note:**
46
18
 
47
- <p class="maz:text-warning">Wait 5 seconds without any actions to see the dialog popup</p>
19
+ A plugin to know the amount of time a user has spent on your website
48
20
 
49
- <template #code>
21
+ ## Demo
50
22
 
51
23
  ```vue
52
24
  <script lang="ts" setup>
@@ -133,62 +105,6 @@ onBeforeUnmount(() => {
133
105
  </template>
134
106
  ```
135
107
 
136
- </template>
137
- </ComponentDemo>
138
-
139
- <script lang="ts" setup>
140
- import { onMounted, ref, onBeforeUnmount } from 'vue'
141
-
142
- import { useIdleTimeout } from 'maz-ui/composables/useIdleTimeout'
143
- import { useDialog } from 'maz-ui/composables/useDialog'
144
-
145
- const dialog = useDialog()
146
-
147
- const event = ref({})
148
-
149
- const timeout = 5000
150
-
151
- const idleTimeout = useIdleTimeout({
152
- callback,
153
- options: {
154
- timeout,
155
- immediate: false,
156
- once: false,
157
- },
158
- })
159
-
160
- async function callback({ isIdle, eventType, instance }) {
161
- console.log({ isIdle, eventType })
162
- event.value = { isIdle, eventType }
163
-
164
- if (isIdle) {
165
- try {
166
- instance.destroy()
167
- await dialog.open({
168
- title: 'Are you still here?',
169
- message: `You have been inactive for ${timeout / 1000} secondes, do you want to continue?`,
170
- data: {
171
- cancelText: 'No',
172
- confirmText: 'Yes',
173
- }
174
- }).promise
175
- instance.start()
176
- } catch (e) {
177
- instance.destroy()
178
- }
179
- }
180
- }
181
-
182
- onMounted(() => {
183
- // should be executed on client
184
- idleTimeout.start()
185
- })
186
-
187
- onBeforeUnmount(() => {
188
- idleTimeout.destroy()
189
- })
190
- </script>
191
-
192
108
  ## Callback
193
109
 
194
110
  ```ts
@@ -1,15 +1,22 @@
1
1
  ---
2
- title: usePullToRefresh
3
- description: usePullToRefresh is a headless Vue composable for the pull to refresh gesture on the window or any scroll container.
2
+ title: "usePullToRefresh"
3
+ description: "usePullToRefresh is a headless Vue composable for the pull to refresh gesture on the window or any scroll container."
4
+ package: "maz-ui"
5
+ url: "https://maz-ui.com/composables/use-pull-to-refresh"
4
6
  ---
5
7
 
6
- # {{ $frontmatter.title }}
8
+ # usePullToRefresh
7
9
 
8
- {{ $frontmatter.description }}
10
+ > usePullToRefresh is a headless Vue composable for the pull to refresh gesture on the window or any scroll container.
11
+
12
+ - Package: `maz-ui`
13
+ - Import: `import { usePullToRefresh } from 'maz-ui/composables/usePullToRefresh'`
14
+ - Nuxt: auto-imported by `@maz-ui/nuxt`, no import needed in a Nuxt app
15
+ - Web: https://maz-ui.com/composables/use-pull-to-refresh
9
16
 
10
17
  ## Introduction
11
18
 
12
- `usePullToRefresh` tracks the pull to refresh gesture and gives you its state (distance, progress, ready, refreshing) to build your own indicator. It powers [MazPullToRefresh](./../components/maz-pull-to-refresh.md): use the component for a ready-made indicator, the composable when you need full control over the rendering.
19
+ `usePullToRefresh` tracks the pull to refresh gesture and gives you its state (distance, progress, ready, refreshing) to build your own indicator. It powers [MazPullToRefresh](../components/maz-pull-to-refresh.md): use the component for a ready-made indicator, the composable when you need full control over the rendering.
13
20
 
14
21
  The pull only starts when the target is scrolled to the top, follows a rubber band beyond the threshold, ignores horizontal and multi-touch gestures, and prevents the native bounce while pulling.
15
22
 
@@ -29,8 +36,8 @@ const { distance, progress, isReady, isRefreshing } = usePullToRefresh({
29
36
  </script>
30
37
 
31
38
  <template>
32
- <div ref="scroller" class="maz:h-screen maz:overflow-y-auto">
33
- <div class="maz:flex maz:items-end maz:justify-center maz:overflow-hidden" :style="{ height: `${distance}px` }">
39
+ <div ref="scroller" class="h-screen overflow-y-auto">
40
+ <div class="flex items-end justify-center overflow-hidden" :style="{ height: `${distance}px` }">
34
41
  <span v-if="isRefreshing">Refreshing…</span>
35
42
  <span v-else-if="isReady">Release to refresh</span>
36
43
  <span v-else :style="{ opacity: progress }">Pull to refresh</span>
@@ -1,15 +1,22 @@
1
1
  ---
2
- title: useReadingTime
3
- description: This composable allows you to calculate the reading time of a text
2
+ title: "useReadingTime"
3
+ description: "This composable allows you to calculate the reading time of a text"
4
+ package: "maz-ui"
5
+ url: "https://maz-ui.com/composables/use-reading-time"
4
6
  ---
5
7
 
6
- # {{ $frontmatter.title }}
8
+ # useReadingTime
7
9
 
8
- {{ $frontmatter.description }}
10
+ > This composable allows you to calculate the reading time of a text
11
+
12
+ - Package: `maz-ui`
13
+ - Import: `import { useReadingTime } from 'maz-ui/composables/useReadingTime'`
14
+ - Nuxt: auto-imported by `@maz-ui/nuxt`, no import needed in a Nuxt app
15
+ - Web: https://maz-ui.com/composables/use-reading-time
9
16
 
10
17
  ## Basic usage
11
18
 
12
- Time to read this page: <strong>{{ duration }} minutes</strong>
19
+ Time to read this page: minutes
13
20
 
14
21
  ```vue
15
22
  <script lang="ts" setup>
@@ -29,25 +36,11 @@ const { duration } = useReadingTime({
29
36
 
30
37
  ## With content selector
31
38
 
32
- ::: warning
39
+ **Warning:**
40
+
33
41
  This method is not SSR friendly (only on client side, with Nuxt use this composable in `onMounted(() => { ... })`) and not recommended because it is less performant than the previous one
34
- :::
35
-
36
- Time to read this page: <strong>{{ durationSelector }} minutes</strong>
37
-
38
- <MazCard collapsible class="maz:w-full" title="Content to read">
39
- <div id="content-to-read" class="maz:px-4">
40
- <p>
41
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Lectus quam id leo in. Placerat vestibulum lectus mauris ultrices eros in cursus turpis. Et tortor consequat id porta nibh venenatis cras sed. Praesent tristique magna sit amet. Iaculis at erat pellentesque adipiscing commodo elit at. Interdum velit euismod in pellentesque massa placerat duis. Eget nunc scelerisque viverra mauris in aliquam. Nulla facilisi morbi tempus iaculis urna id volutpat lacus. Pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum odio. Egestas integer eget aliquet nibh praesent tristique magna sit amet. Volutpat blandit aliquam etiam erat velit scelerisque. Eget nullam non nisi est sit amet. Turpis egestas sed tempus urna et pharetra. Nisl rhoncus mattis rhoncus urna neque viverra justo. Rutrum tellus pellentesque eu tincidunt tortor aliquam. Non odio euismod lacinia at. Magna eget est lorem ipsum.
42
- </p>
43
- <p>
44
- Et ultrices neque ornare aenean euismod elementum nisi. Ullamcorper eget nulla facilisi etiam dignissim diam quis enim lobortis. Lobortis feugiat vivamus at augue eget arcu. Ut diam quam nulla porttitor massa id neque. Turpis in eu mi bibendum neque egestas. Vivamus at augue eget arcu dictum varius duis at. Nunc sed blandit libero volutpat. Convallis a cras semper auctor neque vitae tempus. Odio facilisis mauris sit amet massa vitae tortor condimentum. Condimentum id venenatis a condimentum. Tincidunt praesent semper feugiat nibh sed pulvinar. Dolor magna eget est lorem ipsum dolor. Ultricies mi eget mauris pharetra et ultrices neque ornare aenean. Sapien pellentesque habitant morbi tristique senectus et netus. Tortor vitae purus faucibus ornare suspendisse sed nisi. Est lorem ipsum dolor sit amet consectetur adipiscing elit pellentesque. Enim neque volutpat ac tincidunt vitae.
45
- </p>
46
- <p>
47
- Iaculis at erat pellentesque adipiscing commodo elit at imperdiet. Scelerisque felis imperdiet proin fermentum leo vel orci porta non. Ut etiam sit amet nisl purus in mollis nunc sed. Sed velit dignissim sodales ut eu sem integer. Odio tempor orci dapibus ultrices in iaculis nunc. Id semper risus in hendrerit gravida. Aliquam faucibus purus in massa tempor nec. Mattis nunc sed blandit libero volutpat sed cras ornare arcu. Quisque id diam vel quam elementum pulvinar etiam non quam. Et egestas quis ipsum suspendisse ultrices gravida dictum. Velit aliquet sagittis id consectetur purus ut faucibus pulvinar elementum. In hac habitasse platea dictumst quisque. Amet nisl purus in mollis nunc sed id semper. Sollicitudin tempor id eu nisl nunc mi. Dictumst vestibulum rhoncus est pellentesque elit ullamcorper dignissim. In iaculis nunc sed augue lacus viverra vitae.
48
- </p>
49
- </div>
50
- </MazCard>
42
+
43
+ Time to read this page: minutes
51
44
 
52
45
  ```vue
53
46
  <script lang="ts" setup>
@@ -75,8 +68,8 @@ onMounted(() => {
75
68
  Time to read this page: <strong>{{ duration }} minutes</strong>
76
69
  </div>
77
70
 
78
- <MazCard collapsible class="maz:w-full" title="Content to read">
79
- <div id="content-to-read" class="maz:px-4">
71
+ <MazCard collapsible class="w-full" title="Content to read">
72
+ <div id="content-to-read" class="px-4">
80
73
  <p>
81
74
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Lectus quam id leo in. Placerat vestibulum lectus mauris ultrices eros in cursus turpis. Et tortor consequat id porta nibh venenatis cras sed. Praesent tristique magna sit amet. Iaculis at erat pellentesque adipiscing commodo elit at. Interdum velit euismod in pellentesque massa placerat duis. Eget nunc scelerisque viverra mauris in aliquam. Nulla facilisi morbi tempus iaculis urna id volutpat lacus. Pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum odio. Egestas integer eget aliquet nibh praesent tristique magna sit amet. Volutpat blandit aliquam etiam erat velit scelerisque. Eget nullam non nisi est sit amet. Turpis egestas sed tempus urna et pharetra. Nisl rhoncus mattis rhoncus urna neque viverra justo. Rutrum tellus pellentesque eu tincidunt tortor aliquam. Non odio euismod lacinia at. Magna eget est lorem ipsum.
82
75
  </p>
@@ -95,38 +88,9 @@ onMounted(() => {
95
88
 
96
89
  > The velocity is the number of words per minute. By default it is 150 words per minute.
97
90
 
98
- **Velocity**: {{ velocity ?? 150 }} words per minute
99
-
100
- <MazInputNumber v-model="velocity" placeholder="Velocity" />
101
-
102
- Time to read this page: <strong>{{ durationSelector }} minutes</strong>
103
-
104
- {{wordCount}}
105
-
106
- <script lang="ts" setup>
107
- import { ref, onMounted } from 'vue'
108
- import { useReadingTime } from 'maz-ui/composables/useReadingTime'
109
-
110
- const velocity = ref()
111
-
112
- const { duration } = useReadingTime({
113
- content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Lectus quam id leo in. Placerat vestibulum lectus mauris ultrices eros in cursus turpis. Et tortor consequat id porta nibh venenatis cras sed. Praesent tristique magna sit amet. Iaculis at erat pellentesque adipiscing commodo elit at. Interdum velit euismod in pellentesque massa placerat duis. Eget nunc scelerisque viverra mauris in aliquam. Nulla facilisi morbi tempus iaculis urna id volutpat lacus. Pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum odio. Egestas integer eget aliquet nibh praesent tristique magna sit amet. Volutpat blandit aliquam etiam erat velit scelerisque. Eget nullam non nisi est sit amet. Turpis egestas sed tempus urna et pharetra. Nisl rhoncus mattis rhoncus urna neque viverra justo. Rutrum tellus pellentesque eu tincidunt tortor aliquam. Non odio euismod lacinia at. Magna eget est lorem ipsum. Et ultrices neque ornare aenean euismod elementum nisi. Ullamcorper eget nulla facilisi etiam dignissim diam quis enim lobortis. Lobortis feugiat vivamus at augue eget arcu. Ut diam quam nulla porttitor massa id neque. Turpis in eu mi bibendum neque egestas. Vivamus at augue eget arcu dictum varius duis at. Nunc sed blandit libero volutpat. Convallis a cras semper auctor neque vitae tempus. Odio facilisis mauris sit amet massa vitae tortor condimentum. Condimentum id venenatis a condimentum. Tincidunt praesent semper feugiat nibh sed pulvinar. Dolor magna eget est lorem ipsum dolor. Ultricies mi eget mauris pharetra et ultrices neque ornare aenean. Sapien pellentesque habitant morbi tristique senectus et netus. Tortor vitae purus faucibus ornare suspendisse sed nisi. Est lorem ipsum dolor sit amet consectetur adipiscing elit pellentesque. Enim neque volutpat ac tincidunt vitae. Iaculis at erat pellentesque adipiscing commodo elit at imperdiet. Scelerisque felis imperdiet proin fermentum leo vel orci porta non. Ut etiam sit amet nisl purus in mollis nunc sed. Sed velit dignissim sodales ut eu sem integer. Odio tempor orci dapibus ultrices in iaculis nunc. Id semper risus in hendrerit gravida. Aliquam faucibus purus in massa tempor nec. Mattis nunc sed blandit libero volutpat sed cras ornare arcu. Quisque id diam vel quam elementum pulvinar etiam non quam. Et egestas quis ipsum suspendisse ultrices gravida dictum. Velit aliquet sagittis id consectetur purus ut faucibus pulvinar elementum. In hac habitasse platea dictumst quisque. Amet nisl purus in mollis nunc sed id semper. Sollicitudin tempor id eu nisl nunc mi. Dictumst vestibulum rhoncus est pellentesque elit ullamcorper dignissim. In iaculis nunc sed augue lacus viverra vitae.',
114
- velocity,
115
- })
116
-
117
- const contentSelector = ref()
91
+ **Velocity**: words per minute
118
92
 
119
- const { duration: durationSelector, wordCount } = useReadingTime({
120
- contentSelector,
121
- velocity,
122
- })
123
-
124
- onMounted(() => {
125
- setTimeout(() => {
126
- contentSelector.value = '#content-to-read'
127
- }, 500)
128
- })
129
- </script>
93
+ Time to read this page: minutes
130
94
 
131
95
  ## Types
132
96
 
@@ -0,0 +1,41 @@
1
+ ---
2
+ title: "useStringMatching"
3
+ description: "Efficient composable for string matching tasks, utilizing Levenshtein distance calculation. Simplify comparison operations with minimal setup. Enhance text similarity checks effortlessly."
4
+ package: "maz-ui"
5
+ url: "https://maz-ui.com/composables/use-string-matching"
6
+ ---
7
+
8
+ # useStringMatching
9
+
10
+ > Efficient composable for string matching tasks, utilizing Levenshtein distance calculation. Simplify comparison operations with minimal setup. Enhance text similarity checks effortlessly.
11
+
12
+ - Package: `maz-ui`
13
+ - Import: `import { useStringMatching } from 'maz-ui/composables/useStringMatching'`
14
+ - Nuxt: auto-imported by `@maz-ui/nuxt`, no import needed in a Nuxt app
15
+ - Web: https://maz-ui.com/composables/use-string-matching
16
+
17
+ ## Usage
18
+
19
+ ```vue
20
+ <script lang="ts" setup>
21
+ import { useStringMatching } from 'maz-ui/composables'
22
+ import { ref } from 'vue'
23
+
24
+ const string1 = ref<string>('maz-ui')
25
+ const string2 = ref<string>('màéz-uiok')
26
+
27
+ const { score, isMatching } = useStringMatching(string1, string2)
28
+ </script>
29
+
30
+ <template>
31
+ <MazInput v-model="string1" label="Enter first string" />
32
+ <MazInput v-model="string2" label="Enter second string" />
33
+
34
+ <p>
35
+ <b>isMatching:</b> {{ isMatching }}
36
+ </p>
37
+ <p>
38
+ <b>score:</b> {{ score }}
39
+ </p>
40
+ </template>
41
+ ```
@@ -1,11 +1,18 @@
1
1
  ---
2
- title: useSwipe
3
- description: useSwipe is a Vue composable that simplifies the management of "swipe" interactions on HTML elements.
2
+ title: "useSwipe"
3
+ description: "useSwipe is a Vue composable that simplifies the management of \"swipe\" interactions on HTML elements."
4
+ package: "maz-ui"
5
+ url: "https://maz-ui.com/composables/use-swipe"
4
6
  ---
5
7
 
6
- # {{ $frontmatter.title }}
8
+ # useSwipe
7
9
 
8
- {{ $frontmatter.description }}
10
+ > useSwipe is a Vue composable that simplifies the management of "swipe" interactions on HTML elements.
11
+
12
+ - Package: `maz-ui`
13
+ - Import: `import { useSwipe } from 'maz-ui/composables/useSwipe'`
14
+ - Nuxt: auto-imported by `@maz-ui/nuxt`, no import needed in a Nuxt app
15
+ - Web: https://maz-ui.com/composables/use-swipe
9
16
 
10
17
  ## Introduction
11
18
 
@@ -14,9 +21,9 @@ You can use this information to implement specific interactions in your applicat
14
21
 
15
22
  It is built on top of [Pointer Events](https://developer.mozilla.org/en-US/docs/Web/API/Pointer_events), so it works with **touch, mouse and pen** out of the box.
16
23
 
17
- ::: tip
24
+ **Tip:**
25
+
18
26
  For a real-time drag gesture (follow the pointer, snap back, drag-to-dismiss…) rather than discrete directional detection, use [useDrag](./use-drag.md).
19
- :::
20
27
 
21
28
  ## Key Features
22
29
 
@@ -31,17 +38,6 @@ For a real-time drag gesture (follow the pointer, snap back, drag-to-dismiss…)
31
38
 
32
39
  ## Basic Usage
33
40
 
34
- <div ref="swipeContainer" class="swipe-container">
35
- <p>
36
- Swipe in any direction<br>
37
- <span class="maz:text-xs maz:text-muted">
38
- (works with touch, mouse and pen)
39
- </span>
40
- <br><br>
41
- Last swipe direction: {{lastSwipeDirection || 'None'}}
42
- </p>
43
- </div>
44
-
45
41
  Here's an example of using the useSwipe composable:
46
42
 
47
43
  ```vue
@@ -81,7 +77,7 @@ onUnmounted(() => {
81
77
  <div ref="swipeContainer" class="swipe-container">
82
78
  <p>
83
79
  Swipe in any direction<br>
84
- <span class="maz:text-sm maz:text-muted">
80
+ <span class="text-sm text-muted">
85
81
  (works with touch, mouse and pen)
86
82
  </span>
87
83
  <br><br>
@@ -104,55 +100,6 @@ onUnmounted(() => {
104
100
  </style>
105
101
  ```
106
102
 
107
- <script lang="ts" setup>
108
- import { useSwipe } from 'maz-ui/composables/useSwipe'
109
- import { onMounted, onUnmounted, ref } from 'vue'
110
-
111
- const swipeContainer = ref<HTMLDivElement>()
112
-
113
- const lastSwipeDirection = ref<string>('None')
114
-
115
- const { xDiff, yDiff, start, stop } = useSwipe({
116
- element: swipeContainer,
117
- onLeft: () => lastSwipeDirection.value = 'Swiped left',
118
- onRight: () => lastSwipeDirection.value = 'Swiped right',
119
- onUp: () => lastSwipeDirection.value = 'Swiped up',
120
- onDown: () => lastSwipeDirection.value = 'Swiped down',
121
- threshold: 50,
122
- })
123
-
124
- onMounted(() => {
125
- start()
126
- })
127
-
128
- onUnmounted(() => {
129
- stop()
130
- })
131
- </script>
132
-
133
- <style>
134
- .swipe-container {
135
- border: 1px solid #e2e2e3;
136
- border-radius: 10px;
137
- height: 200px;
138
- display: flex;
139
- justify-content: center;
140
- align-items: center;
141
- text-align: center;
142
- font-size: 1.2rem;
143
- }
144
- </style>
145
-
146
- In this example, the `useSwipe` composable is used to detect swiping movements on an HTML element with the `container` class. When a swipe is detected, the horizontal (`xDiff`) and vertical (`yDiff`) coordinates of the movement are displayed.
147
-
148
- Additionally, callbacks are defined for each swipe direction (`onLeft`, `onRight`, `onUp`, `onDown`), which will be called when the corresponding swipe is detected.
149
-
150
- The swipe detection threshold is also customized to 50 pixels.
151
-
152
- ## Options
153
-
154
- `useSwipe` accepts an options object with the following properties:
155
-
156
103
  ```ts
157
104
  interface UseSwipeOptions {
158
105
  /**
@@ -202,10 +149,6 @@ interface UseSwipeOptions {
202
149
  }
203
150
  ```
204
151
 
205
- ## Composable Return
206
-
207
- `useSwipe` returns an object with the following properties:
208
-
209
152
  ```ts
210
153
  interface UseSwipeReturn {
211
154
  /** A function to start listening for swipe events. */
@@ -226,13 +169,3 @@ interface UseSwipeReturn {
226
169
  yEnd: Ref<number | undefined>
227
170
  }
228
171
  ```
229
-
230
- ## Notes
231
-
232
- - Make sure to call the `start()` function to start listening for swipe events.
233
- - You can call the `stop()` function to stop listening for swipe events.
234
- - If you use the composable in a Vue component, make sure to call it in the `setup()` and clean up the event listeners in the `onUnmounted()`.
235
- - The composable automatically handles the addition and removal of event listeners based on the provided options.
236
- - You can customize the swipe detection threshold by modifying the `threshold` option.
237
- - If you want to prevent the default behavior of pointer move or mousewheel events, you can set the `preventDefaultOnMove` and `preventDefaultOnMouseWheel` options, respectively.
238
- - Use the `pointerTypes` option to restrict the gesture to specific input types (e.g. `['touch']` for touch-only).
@@ -1,11 +1,18 @@
1
1
  ---
2
- title: useTimer
3
- description: The useTimer composable manages timeouts. It allows you to start, pause, resume, and stop a timer with reactive updates on the remaining time. Ideal for handling asynchronous operations or user interactions with a specified timeout.
2
+ title: "useTimer"
3
+ description: "The useTimer composable manages timeouts. It allows you to start, pause, resume, and stop a timer with reactive updates on the remaining time. Ideal for handling asynchronous operations or user interactions with a specified timeout."
4
+ package: "maz-ui"
5
+ url: "https://maz-ui.com/composables/use-timer"
4
6
  ---
5
7
 
6
- # {{ $frontmatter.title }}
8
+ # useTimer
7
9
 
8
- {{ $frontmatter.description }}
10
+ > The useTimer composable manages timeouts. It allows you to start, pause, resume, and stop a timer with reactive updates on the remaining time. Ideal for handling asynchronous operations or user interactions with a specified timeout.
11
+
12
+ - Package: `maz-ui`
13
+ - Import: `import { useTimer } from 'maz-ui/composables/useTimer'`
14
+ - Nuxt: auto-imported by `@maz-ui/nuxt`, no import needed in a Nuxt app
15
+ - Web: https://maz-ui.com/composables/use-timer
9
16
 
10
17
  ---
11
18
 
@@ -23,40 +30,7 @@ This composable can be used in Vue components to handle timeouts in a flexible a
23
30
 
24
31
  ## Usage
25
32
 
26
- **Remaning time**: {{ remainingTime }}ms
27
-
28
- <div class="maz:flex maz:items-center maz:gap-2">
29
- <MazBtn @click="start">
30
- Start
31
- </MazBtn>
32
- <MazBtn color="destructive" @click="stop">
33
- Stop
34
- </MazBtn>
35
- <MazBtn color="warning" @click="pause">
36
- Pause
37
- </MazBtn>
38
- <MazBtn color="secondary" @click="resume">
39
- Resume
40
- </MazBtn>
41
- </div>
42
-
43
- <script lang="ts" setup>
44
- import { useTimer } from 'maz-ui/composables/useTimer'
45
- import { useToast } from 'maz-ui/composables/useToast'
46
-
47
- const toast = useToast()
48
-
49
- const { start, stop, pause, resume, remainingTime } = useTimer({
50
- timeout: 4000,
51
- callback: () => toast.info('Timeout end', {
52
- button: {
53
- onClick: start,
54
- text: 're-start',
55
- closeToast: true,
56
- },
57
- })
58
- })
59
- </script>
33
+ **Remaning time**: ms
60
34
 
61
35
  ```vue
62
36
  <script lang="ts" setup>
@@ -0,0 +1,50 @@
1
+ ---
2
+ title: "useToast"
3
+ description: "Vue composable for handling toast plugin in your components"
4
+ package: "maz-ui"
5
+ url: "https://maz-ui.com/composables/use-toast"
6
+ ---
7
+
8
+ # useToast
9
+
10
+ > Vue composable for handling toast plugin in your components
11
+
12
+ - Package: `maz-ui`
13
+ - Import: `import { useToast } from 'maz-ui/composables/useToast'`
14
+ - Nuxt: auto-imported by `@maz-ui/nuxt` when `mazUi.plugins.toast` is enabled
15
+ - Web: https://maz-ui.com/composables/use-toast
16
+
17
+ **Warning:**
18
+
19
+ You must install [toast plugin](../plugins/toast.md#install) before use it
20
+
21
+ **Tip:**
22
+
23
+ More info about [toast plugin](../plugins/toast.md) in its documentation
24
+
25
+ ## Usage
26
+
27
+ ```vue
28
+ <script lang="ts" setup>
29
+ import { useToast } from 'maz-ui/composables'
30
+
31
+ const toast = useToast()
32
+
33
+ toast.info('info message', {
34
+ button: {
35
+ onClick: () => toast.success('clicked'),
36
+ text: 'Click me',
37
+ closeToast: true
38
+ }
39
+ })
40
+ toast.success('success message', {
41
+ button: {
42
+ href: '/composables/use-toast',
43
+ text: 'Follow me',
44
+ closeToast: true,
45
+ }
46
+ })
47
+ toast.warning('warning message')
48
+ toast.error('error message')
49
+ </script>
50
+ ```
@@ -1,40 +1,28 @@
1
1
  ---
2
- title: user-visibility
3
- description: Plugin to see and manage the user page visibility
2
+ title: "user-visibility"
3
+ description: "Plugin to see and manage the user page visibility"
4
+ package: "maz-ui"
5
+ url: "https://maz-ui.com/composables/use-user-visibility"
4
6
  ---
5
7
 
6
- # {{ $frontmatter.title }}
8
+ # user-visibility
7
9
 
8
- {{ $frontmatter.description }}
10
+ > Plugin to see and manage the user page visibility
9
11
 
10
- ::: tip
11
- Useful to know if the user is displaying your website
12
- :::
13
-
14
- ## Demo
12
+ - Package: `maz-ui`
13
+ - Import: `import { useUserVisibility } from 'maz-ui/composables/useUserVisibility'`
14
+ - Nuxt: auto-imported by `@maz-ui/nuxt`, no import needed in a Nuxt app
15
+ - Web: https://maz-ui.com/composables/use-user-visibility
15
16
 
16
- <MazCard overflow-hidden style="width: 100%; margin-bottom: 1rem;">
17
- <h3 style="margin-top: 0; margin-bottom: 1rem;">Logs</h3>
17
+ **Tip:**
18
18
 
19
- <div v-for="({isVisible}, i) in events" :key="i">
20
- isVisible: {{isVisible}}
21
- </div>
22
- </MazCard>
23
-
24
- <div class="flex items-start gap-05 items-center flex-wrap">
25
- <MazBtn @click="userVisibility.start()" color="info">
26
- Start
27
- </MazBtn>
19
+ Useful to know if the user is displaying your website
28
20
 
29
- <MazBtn @click="userVisibility.destroy()" color="destructive">
30
- Destroy
31
- </MazBtn>
21
+ ## Demo
32
22
 
33
- </div>
23
+ **Tip:**
34
24
 
35
- ::: tip
36
25
  Switch tabs for a second to see events
37
- :::
38
26
 
39
27
  ## How to use it?
40
28
 
@@ -88,36 +76,6 @@ onBeforeUnmount(() => {
88
76
  </template>
89
77
  ```
90
78
 
91
- <script lang="ts" setup>
92
- import { onMounted, ref, onBeforeUnmount } from 'vue'
93
-
94
- import { useUserVisibility } from 'maz-ui/composables/useUserVisibility'
95
-
96
- const events = ref([])
97
-
98
- const callback = ({ isVisible }) => {
99
- console.log('isVisible', isVisible)
100
- events.value.push({ isVisible: isVisible })
101
- }
102
-
103
- const options = {
104
- immediate: true,
105
- once: false,
106
- timeout: 1000,
107
- ssr: true,
108
- }
109
-
110
- const userVisibility = useUserVisibility({ callback, options })
111
-
112
- onMounted(() => {
113
- userVisibility.start()
114
- })
115
-
116
- onBeforeUnmount(() => {
117
- userVisibility.destroy()
118
- })
119
- </script>
120
-
121
79
  ## Callback
122
80
 
123
81
  ```ts