@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.
- package/README.md +61 -228
- package/bin/maz-ui-mcp.mjs +2 -5
- package/dist/cli.d.mts +7 -0
- package/dist/cli.d.ts +7 -0
- package/dist/cli.mjs +14 -0
- package/dist/index.d.mts +340 -0
- package/dist/index.d.ts +340 -0
- package/dist/index.mjs +14 -0
- package/dist/shared/mcp.DzqVbCaL.mjs +2346 -0
- package/docs/README.md +207 -0
- package/docs/agents/agents-md.md +52 -0
- package/docs/agents/claude-rule.md +52 -0
- package/docs/components/maz-accordion.md +76 -0
- package/docs/{src/components → components}/maz-alert.md +31 -164
- package/docs/components/maz-animated-counter.md +87 -0
- package/docs/components/maz-animated-element.md +46 -0
- package/docs/components/maz-animated-text.md +53 -0
- package/docs/components/maz-avatar.md +193 -0
- package/docs/components/maz-backdrop.md +178 -0
- package/docs/{src/components → components}/maz-badge.md +26 -67
- package/docs/components/maz-bottom-sheet.md +257 -0
- package/docs/{src/components → components}/maz-btn-group.md +26 -189
- package/docs/{src/components → components}/maz-btn.md +60 -245
- package/docs/components/maz-card-spotlight.md +84 -0
- package/docs/{src/components → components}/maz-card.md +67 -192
- package/docs/components/maz-carousel.md +153 -0
- package/docs/{src/components → components}/maz-chart.md +17 -161
- package/docs/components/maz-checkbox.md +138 -0
- package/docs/components/maz-checklist.md +251 -0
- package/docs/components/maz-circular-progress-bar.md +109 -0
- package/docs/{src/components → components}/maz-code-highlight.md +15 -93
- package/docs/components/maz-container.md +241 -0
- package/docs/{src/components → components}/maz-date-picker.md +85 -454
- package/docs/components/maz-dialog-confirm.md +215 -0
- package/docs/components/maz-dialog.md +143 -0
- package/docs/components/maz-drawer.md +106 -0
- package/docs/components/maz-dropdown.md +419 -0
- package/docs/{src/components → components}/maz-dropzone.md +80 -221
- package/docs/components/maz-expand-animation.md +82 -0
- package/docs/components/maz-fullscreen-loader.md +58 -0
- package/docs/components/maz-gallery.md +79 -0
- package/docs/{src/components → components}/maz-icon.md +32 -83
- package/docs/components/maz-input-code.md +73 -0
- package/docs/components/maz-input-number.md +79 -0
- package/docs/components/maz-input-phone-number.md +536 -0
- package/docs/components/maz-input-price.md +68 -0
- package/docs/components/maz-input-tags.md +112 -0
- package/docs/{src/components → components}/maz-input.md +74 -221
- package/docs/components/maz-lazy-img.md +113 -0
- package/docs/components/maz-link.md +146 -0
- package/docs/components/maz-loading-bar.md +38 -0
- package/docs/{src/components → components}/maz-markdown-editor.md +72 -125
- package/docs/components/maz-pagination.md +82 -0
- package/docs/components/maz-popover.md +794 -0
- package/docs/{src/components → components}/maz-pull-to-refresh.md +59 -45
- package/docs/components/maz-radio-buttons.md +313 -0
- package/docs/components/maz-radio.md +119 -0
- package/docs/{src/components → components}/maz-read-more.md +31 -122
- package/docs/components/maz-reading-progress-bar.md +96 -0
- package/docs/{src/components → components}/maz-select-country.md +80 -340
- package/docs/{src/components → components}/maz-select.md +76 -206
- package/docs/components/maz-sidebar-content.md +25 -0
- package/docs/components/maz-sidebar-footer.md +25 -0
- package/docs/components/maz-sidebar-group.md +27 -0
- package/docs/components/maz-sidebar-header.md +25 -0
- package/docs/components/maz-sidebar-menu-button.md +41 -0
- package/docs/components/maz-sidebar-menu-item.md +25 -0
- package/docs/components/maz-sidebar-menu-sub.md +32 -0
- package/docs/components/maz-sidebar-menu.md +25 -0
- package/docs/components/maz-sidebar-separator.md +21 -0
- package/docs/components/maz-sidebar-trigger.md +25 -0
- package/docs/{src/components → components}/maz-sidebar.md +117 -329
- package/docs/{src/components → components}/maz-skeleton.md +27 -156
- package/docs/{src/components → components}/maz-slider.md +33 -66
- package/docs/components/maz-spinner.md +84 -0
- package/docs/{src/components → components}/maz-stepper.md +43 -185
- package/docs/components/maz-switch.md +86 -0
- package/docs/components/maz-table-cell.md +27 -0
- package/docs/components/maz-table-row.md +28 -0
- package/docs/components/maz-table-title.md +27 -0
- package/docs/components/maz-table-virtualizer.md +31 -0
- package/docs/components/maz-table.md +426 -0
- package/docs/components/maz-tabs-bar.md +43 -0
- package/docs/components/maz-tabs-content-item.md +27 -0
- package/docs/components/maz-tabs-content.md +27 -0
- package/docs/{src/components → components}/maz-tabs.md +89 -126
- package/docs/components/maz-textarea.md +255 -0
- package/docs/components/maz-ticker.md +427 -0
- package/docs/components/maz-timeline.md +304 -0
- package/docs/components/maz-ui-provider.md +26 -0
- package/docs/{src/components → components}/maz-window-mockup.md +38 -105
- package/docs/composables/use-aos.md +41 -0
- package/docs/composables/use-breakpoints.md +42 -0
- package/docs/composables/use-dialog.md +58 -0
- package/docs/{src/composables → composables}/use-display-names.md +12 -59
- package/docs/{src/composables → composables}/use-drag.md +14 -68
- package/docs/{src/composables → composables}/use-form-validator.md +22 -696
- package/docs/{src/composables → composables}/use-idle-timeout.md +13 -97
- package/docs/{src/composables → composables}/use-pull-to-refresh.md +14 -7
- package/docs/{src/composables → composables}/use-reading-time.md +20 -56
- package/docs/composables/use-string-matching.md +41 -0
- package/docs/{src/composables → composables}/use-swipe.md +14 -81
- package/docs/{src/composables → composables}/use-timer.md +12 -38
- package/docs/composables/use-toast.md +50 -0
- package/docs/{src/composables → composables}/use-user-visibility.md +14 -56
- package/docs/composables/use-wait.md +50 -0
- package/docs/composables/use-window-size.md +25 -0
- package/docs/{src/directives → directives}/click-outside.md +13 -99
- package/docs/{src/directives → directives}/fullscreen-img.md +10 -28
- package/docs/{src/directives → directives}/lazy-img.md +14 -49
- package/docs/{src/directives → directives}/tooltip.md +12 -217
- package/docs/{src/directives → directives}/zoom-img.md +11 -38
- package/docs/{src/ecosystem → ecosystem}/eslint-config.md +37 -29
- package/docs/ecosystem/icons/icon-set.md +25 -0
- package/docs/{src/ecosystem → ecosystem}/icons/index.md +22 -16
- package/docs/ecosystem/mcp.md +165 -0
- package/docs/{src/ecosystem → ecosystem}/node/exec-promise.md +12 -6
- package/docs/ecosystem/node/index.md +53 -0
- package/docs/{src/ecosystem → ecosystem}/node/logger.md +12 -6
- package/docs/{src/ecosystem → ecosystem}/node/print-banner.md +12 -4
- package/docs/ecosystem/node/setup-agents.md +102 -0
- package/docs/{src/ecosystem → ecosystem}/nuxt.md +46 -19
- package/docs/{src/ecosystem → ecosystem}/stylelint-config.md +33 -25
- package/docs/{src/ecosystem → ecosystem}/themes.md +72 -235
- package/docs/{src/ecosystem → ecosystem}/translations.md +25 -23
- package/docs/ecosystem/utils/camel-case.md +37 -0
- package/docs/ecosystem/utils/capitalize.md +37 -0
- package/docs/{src/ecosystem → ecosystem}/utils/check-availability.md +14 -8
- package/docs/{src/ecosystem → ecosystem}/utils/cookie.md +18 -12
- package/docs/ecosystem/utils/country-code-to-unicode-flag.md +128 -0
- package/docs/{src/ecosystem → ecosystem}/utils/currency.md +12 -26
- package/docs/{src/ecosystem → ecosystem}/utils/date.md +10 -24
- package/docs/ecosystem/utils/debounce-callback.md +44 -0
- package/docs/{src/ecosystem → ecosystem}/utils/debounce-id.md +14 -8
- package/docs/{src/ecosystem → ecosystem}/utils/debounce.md +14 -8
- package/docs/ecosystem/utils/fetch-locale-ip.md +39 -0
- package/docs/{src/ecosystem → ecosystem}/utils/format-json.md +11 -5
- package/docs/{src/ecosystem → ecosystem}/utils/format-phone-number.md +12 -6
- package/docs/ecosystem/utils/get-browser-locale.md +35 -0
- package/docs/ecosystem/utils/get-country-flag-url.md +67 -0
- package/docs/{src/ecosystem → ecosystem}/utils/get-error-message.md +10 -4
- package/docs/{src/ecosystem → ecosystem}/utils/idle-timeout.md +15 -9
- package/docs/{src/ecosystem → ecosystem}/utils/index.md +10 -13
- package/docs/{src/ecosystem → ecosystem}/utils/is-client.md +11 -5
- package/docs/{src/ecosystem → ecosystem}/utils/is-equal.md +14 -8
- package/docs/{src/ecosystem → ecosystem}/utils/is-ios.md +12 -6
- package/docs/ecosystem/utils/is-server.md +37 -0
- package/docs/ecosystem/utils/is-standalone-mode.md +49 -0
- package/docs/{src/ecosystem → ecosystem}/utils/kebab-case.md +10 -4
- package/docs/{src/ecosystem → ecosystem}/utils/normalize-string.md +10 -4
- package/docs/{src/ecosystem → ecosystem}/utils/number.md +10 -24
- package/docs/{src/ecosystem → ecosystem}/utils/pascal-case.md +11 -5
- package/docs/{src/ecosystem → ecosystem}/utils/prevent-ios-input-zoom.md +14 -8
- package/docs/{src/ecosystem → ecosystem}/utils/script-loader.md +16 -8
- package/docs/{src/ecosystem → ecosystem}/utils/sleep.md +10 -4
- package/docs/{src/ecosystem → ecosystem}/utils/snake-case.md +10 -4
- package/docs/{src/ecosystem → ecosystem}/utils/swipe-handler.md +14 -8
- package/docs/{src/ecosystem → ecosystem}/utils/textarea-autogrow.md +12 -6
- package/docs/{src/ecosystem → ecosystem}/utils/throttle-id.md +13 -7
- package/docs/{src/ecosystem → ecosystem}/utils/throttle.md +14 -8
- package/docs/ecosystem/utils/truthy-filter.md +37 -0
- package/docs/{src/ecosystem → ecosystem}/utils/types/deep-key-of.md +11 -5
- package/docs/{src/ecosystem → ecosystem}/utils/types/deep-partial.md +10 -4
- package/docs/ecosystem/utils/types/deep-required.md +45 -0
- package/docs/ecosystem/utils/types/flatten-object-keys.md +50 -0
- package/docs/{src/ecosystem → ecosystem}/utils/types/generic-instance-type.md +10 -4
- package/docs/{src/ecosystem → ecosystem}/utils/types/infer-maybe-ref.md +10 -4
- package/docs/ecosystem/utils/upper-first.md +38 -0
- package/docs/{src/ecosystem → ecosystem}/utils/user-visibility.md +12 -6
- package/docs/guide/ai-agents.md +237 -0
- package/docs/{src/guide → guide}/browser-support.md +22 -15
- package/docs/{src/guide → guide}/getting-started.md +34 -139
- package/docs/{src/guide → guide}/global-defaults.md +12 -11
- package/docs/{src/guide → guide}/maz-ui-provider.md +17 -16
- package/docs/{src/guide → guide}/migration-v5.md +95 -88
- package/docs/{src/guide → guide}/resolvers.md +33 -100
- package/docs/guide/tailwind.md +483 -0
- package/docs/{src/guide → guide}/vue.md +33 -39
- package/docs/manifest.json +1 -0
- package/docs/{src/plugins → plugins}/aos.md +20 -55
- package/docs/{src/plugins → plugins}/dialog.md +14 -161
- package/docs/plugins/toast.md +221 -0
- package/docs/plugins/wait.md +78 -0
- package/docs/reference/icons.md +46 -0
- package/docs/reference/tailwind-tokens.md +191 -0
- package/docs/rules.md +57 -0
- package/package.json +84 -22
- package/dist/mcp.d.mts +0 -153
- package/dist/mcp.d.ts +0 -153
- package/dist/mcp.mjs +0 -1511
- package/docs/generated-docs/maz-accordion.doc.md +0 -21
- package/docs/generated-docs/maz-alert.doc.md +0 -20
- package/docs/generated-docs/maz-animated-counter.doc.md +0 -17
- package/docs/generated-docs/maz-animated-element.doc.md +0 -14
- package/docs/generated-docs/maz-animated-text.doc.md +0 -17
- package/docs/generated-docs/maz-avatar.doc.md +0 -45
- package/docs/generated-docs/maz-backdrop.doc.md +0 -55
- package/docs/generated-docs/maz-badge.doc.md +0 -16
- package/docs/generated-docs/maz-bottom-sheet.doc.md +0 -24
- package/docs/generated-docs/maz-btn-group.doc.md +0 -20
- package/docs/generated-docs/maz-btn.doc.md +0 -33
- package/docs/generated-docs/maz-card-spotlight.doc.md +0 -16
- package/docs/generated-docs/maz-card.doc.md +0 -39
- package/docs/generated-docs/maz-carousel.doc.md +0 -17
- package/docs/generated-docs/maz-chart.doc.md +0 -10
- package/docs/generated-docs/maz-checkbox.doc.md +0 -33
- package/docs/generated-docs/maz-checklist.doc.md +0 -30
- package/docs/generated-docs/maz-circular-progress-bar.doc.md +0 -27
- package/docs/generated-docs/maz-code-highlight.doc.md +0 -11
- package/docs/generated-docs/maz-container.doc.md +0 -26
- package/docs/generated-docs/maz-date-picker.doc.md +0 -56
- package/docs/generated-docs/maz-dialog-confirm.doc.md +0 -24
- package/docs/generated-docs/maz-dialog.doc.md +0 -22
- package/docs/generated-docs/maz-drawer.doc.md +0 -25
- package/docs/generated-docs/maz-dropdown.doc.md +0 -45
- package/docs/generated-docs/maz-dropzone.doc.md +0 -82
- package/docs/generated-docs/maz-expand-animation.doc.md +0 -12
- package/docs/generated-docs/maz-fullscreen-loader.doc.md +0 -13
- package/docs/generated-docs/maz-gallery.doc.md +0 -17
- package/docs/generated-docs/maz-icon.doc.md +0 -16
- package/docs/generated-docs/maz-input-code.doc.md +0 -25
- package/docs/generated-docs/maz-input-number.doc.md +0 -33
- package/docs/generated-docs/maz-input-phone-number.doc.md +0 -62
- package/docs/generated-docs/maz-input-price.doc.md +0 -26
- package/docs/generated-docs/maz-input-tags.doc.md +0 -24
- package/docs/generated-docs/maz-input.doc.md +0 -54
- package/docs/generated-docs/maz-lazy-img.doc.md +0 -49
- package/docs/generated-docs/maz-link.doc.md +0 -31
- package/docs/generated-docs/maz-loading-bar.doc.md +0 -6
- package/docs/generated-docs/maz-markdown-editor.doc.md +0 -65
- package/docs/generated-docs/maz-pagination.doc.md +0 -21
- package/docs/generated-docs/maz-popover.doc.md +0 -79
- package/docs/generated-docs/maz-pull-to-refresh.doc.md +0 -50
- package/docs/generated-docs/maz-radio-buttons.doc.md +0 -34
- package/docs/generated-docs/maz-radio.doc.md +0 -33
- package/docs/generated-docs/maz-read-more.doc.md +0 -18
- package/docs/generated-docs/maz-reading-progress-bar.doc.md +0 -18
- package/docs/generated-docs/maz-select-country.doc.md +0 -45
- package/docs/generated-docs/maz-select.doc.md +0 -32
- package/docs/generated-docs/maz-sidebar-content.doc.md +0 -5
- package/docs/generated-docs/maz-sidebar-footer.doc.md +0 -5
- package/docs/generated-docs/maz-sidebar-group.doc.md +0 -11
- package/docs/generated-docs/maz-sidebar-header.doc.md +0 -5
- package/docs/generated-docs/maz-sidebar-menu-button.doc.md +0 -27
- package/docs/generated-docs/maz-sidebar-menu-item.doc.md +0 -5
- package/docs/generated-docs/maz-sidebar-menu-sub.doc.md +0 -16
- package/docs/generated-docs/maz-sidebar-menu.doc.md +0 -5
- package/docs/generated-docs/maz-sidebar-separator.doc.md +0 -0
- package/docs/generated-docs/maz-sidebar-trigger.doc.md +0 -5
- package/docs/generated-docs/maz-sidebar.doc.md +0 -36
- package/docs/generated-docs/maz-skeleton.doc.md +0 -12
- package/docs/generated-docs/maz-slider.doc.md +0 -20
- package/docs/generated-docs/maz-spinner.doc.md +0 -6
- package/docs/generated-docs/maz-stepper.doc.md +0 -30
- package/docs/generated-docs/maz-switch.doc.md +0 -31
- package/docs/generated-docs/maz-table-cell.doc.md +0 -5
- package/docs/generated-docs/maz-table-row.doc.md +0 -12
- package/docs/generated-docs/maz-table-title.doc.md +0 -5
- package/docs/generated-docs/maz-table-virtualizer.doc.md +0 -20
- package/docs/generated-docs/maz-table.doc.md +0 -72
- package/docs/generated-docs/maz-tabs-bar.doc.md +0 -29
- package/docs/generated-docs/maz-tabs-content-item.doc.md +0 -11
- package/docs/generated-docs/maz-tabs-content.doc.md +0 -5
- package/docs/generated-docs/maz-tabs.doc.md +0 -20
- package/docs/generated-docs/maz-textarea.doc.md +0 -46
- package/docs/generated-docs/maz-ticker.doc.md +0 -25
- package/docs/generated-docs/maz-timeline.doc.md +0 -32
- package/docs/generated-docs/maz-ui-provider.doc.md +0 -12
- package/docs/generated-docs/maz-window-mockup.doc.md +0 -23
- package/docs/src/blog/v4.md +0 -276
- package/docs/src/blog/v5.md +0 -184
- package/docs/src/changelog.md +0 -7
- package/docs/src/components/index.md +0 -8
- package/docs/src/components/maz-accordion.md +0 -80
- package/docs/src/components/maz-animated-counter.md +0 -124
- package/docs/src/components/maz-animated-element.md +0 -36
- package/docs/src/components/maz-animated-text.md +0 -36
- package/docs/src/components/maz-avatar.md +0 -227
- package/docs/src/components/maz-backdrop.md +0 -250
- package/docs/src/components/maz-bottom-sheet.md +0 -533
- package/docs/src/components/maz-card-spotlight.md +0 -163
- package/docs/src/components/maz-carousel.md +0 -231
- package/docs/src/components/maz-checkbox.md +0 -168
- package/docs/src/components/maz-checklist.md +0 -414
- package/docs/src/components/maz-circular-progress-bar.md +0 -145
- package/docs/src/components/maz-container.md +0 -363
- package/docs/src/components/maz-dialog-confirm.md +0 -240
- package/docs/src/components/maz-dialog.md +0 -164
- package/docs/src/components/maz-drawer.md +0 -181
- package/docs/src/components/maz-dropdown.md +0 -691
- package/docs/src/components/maz-expand-animation.md +0 -99
- package/docs/src/components/maz-fullscreen-loader.md +0 -58
- package/docs/src/components/maz-gallery.md +0 -85
- package/docs/src/components/maz-input-code.md +0 -61
- package/docs/src/components/maz-input-number.md +0 -81
- package/docs/src/components/maz-input-phone-number.md +0 -942
- package/docs/src/components/maz-input-price.md +0 -67
- package/docs/src/components/maz-input-tags.md +0 -114
- package/docs/src/components/maz-lazy-img.md +0 -88
- package/docs/src/components/maz-link.md +0 -178
- package/docs/src/components/maz-loading-bar.md +0 -26
- package/docs/src/components/maz-pagination.md +0 -79
- package/docs/src/components/maz-popover.md +0 -1416
- package/docs/src/components/maz-radio-buttons.md +0 -462
- package/docs/src/components/maz-radio.md +0 -142
- package/docs/src/components/maz-reading-progress-bar.md +0 -74
- package/docs/src/components/maz-spinner.md +0 -93
- package/docs/src/components/maz-switch.md +0 -92
- package/docs/src/components/maz-table.md +0 -732
- package/docs/src/components/maz-textarea.md +0 -400
- package/docs/src/components/maz-ticker.md +0 -692
- package/docs/src/components/maz-timeline.md +0 -478
- package/docs/src/composables/use-aos.md +0 -34
- package/docs/src/composables/use-breakpoints.md +0 -35
- package/docs/src/composables/use-dialog.md +0 -88
- package/docs/src/composables/use-string-matching.md +0 -63
- package/docs/src/composables/use-toast.md +0 -71
- package/docs/src/composables/use-wait.md +0 -62
- package/docs/src/composables/use-window-size.md +0 -18
- package/docs/src/ecosystem/icons/icon-set.md +0 -123
- package/docs/src/ecosystem/mcp.md +0 -210
- package/docs/src/ecosystem/node/index.md +0 -53
- package/docs/src/ecosystem/utils/camel-case.md +0 -31
- package/docs/src/ecosystem/utils/capitalize.md +0 -50
- package/docs/src/ecosystem/utils/country-code-to-unicode-flag.md +0 -213
- package/docs/src/ecosystem/utils/debounce-callback.md +0 -38
- package/docs/src/ecosystem/utils/fetch-locale-ip.md +0 -33
- package/docs/src/ecosystem/utils/get-browser-locale.md +0 -29
- package/docs/src/ecosystem/utils/get-country-flag-url.md +0 -156
- package/docs/src/ecosystem/utils/is-server.md +0 -31
- package/docs/src/ecosystem/utils/is-standalone-mode.md +0 -43
- package/docs/src/ecosystem/utils/truthy-filter.md +0 -31
- package/docs/src/ecosystem/utils/types/deep-required.md +0 -39
- package/docs/src/ecosystem/utils/types/flatten-object-keys.md +0 -44
- package/docs/src/ecosystem/utils/upper-first.md +0 -32
- package/docs/src/guide/cli.md +0 -144
- package/docs/src/guide/migration-v4.md +0 -925
- package/docs/src/guide/tailwind.md +0 -158
- package/docs/src/index.md +0 -603
- package/docs/src/made-with-maz-ui.md +0 -58
- package/docs/src/plugins/toast.md +0 -349
- package/docs/src/plugins/wait.md +0 -109
- package/docs/src/theme-editor.md +0 -21
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "useWait"
|
|
3
|
+
description: "Vue composable for handling wait plugins"
|
|
4
|
+
package: "maz-ui"
|
|
5
|
+
url: "https://maz-ui.com/composables/use-wait"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# useWait
|
|
9
|
+
|
|
10
|
+
> Vue composable for handling wait plugins
|
|
11
|
+
|
|
12
|
+
- Package: `maz-ui`
|
|
13
|
+
- Import: `import { useWait } from 'maz-ui/composables/useWait'`
|
|
14
|
+
- Nuxt: auto-imported by `@maz-ui/nuxt` when `mazUi.plugins.wait` is enabled
|
|
15
|
+
- Web: https://maz-ui.com/composables/use-wait
|
|
16
|
+
|
|
17
|
+
**Warning:**
|
|
18
|
+
|
|
19
|
+
You must install the [wait plugin](../plugins/wait.md#install) before using it
|
|
20
|
+
|
|
21
|
+
**Tip:**
|
|
22
|
+
|
|
23
|
+
More info about the [wait plugin](../plugins/wait.md) in its documentation
|
|
24
|
+
|
|
25
|
+
## Usage
|
|
26
|
+
|
|
27
|
+
```vue
|
|
28
|
+
<script lang="ts" setup>
|
|
29
|
+
import { sleep } from '@maz-ui/utils'
|
|
30
|
+
import { useWait } from 'maz-ui/composables'
|
|
31
|
+
import { onMounted } from 'vue'
|
|
32
|
+
|
|
33
|
+
const wait = useWait()
|
|
34
|
+
|
|
35
|
+
onMounted(async () => {
|
|
36
|
+
wait.start('MAIN_LOADER')
|
|
37
|
+
await sleep(2000)
|
|
38
|
+
wait.stop('MAIN_LOADER')
|
|
39
|
+
})
|
|
40
|
+
</script>
|
|
41
|
+
|
|
42
|
+
<template>
|
|
43
|
+
<MazFullscreenLoader v-if="wait.isLoading('MAIN_LOADER')">
|
|
44
|
+
Loading
|
|
45
|
+
</MazFullscreenLoader>
|
|
46
|
+
<p v-else>
|
|
47
|
+
Loaded
|
|
48
|
+
</p>
|
|
49
|
+
</template>
|
|
50
|
+
```
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "useWindowSize"
|
|
3
|
+
description: "This composable provides a simple utility to track the width and height of the browser window with reactivity"
|
|
4
|
+
package: "maz-ui"
|
|
5
|
+
url: "https://maz-ui.com/composables/use-window-size"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# useWindowSize
|
|
9
|
+
|
|
10
|
+
> This composable provides a simple utility to track the width and height of the browser window with reactivity
|
|
11
|
+
|
|
12
|
+
- Package: `maz-ui`
|
|
13
|
+
- Import: `import { useWindowSize } from 'maz-ui/composables/useWindowSize'`
|
|
14
|
+
- Nuxt: auto-imported by `@maz-ui/nuxt`, no import needed in a Nuxt app
|
|
15
|
+
- Web: https://maz-ui.com/composables/use-window-size
|
|
16
|
+
|
|
17
|
+
## Basic usage
|
|
18
|
+
|
|
19
|
+
```ts
|
|
20
|
+
const { height, width } = useWindowSize()
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
**Warning:**
|
|
24
|
+
|
|
25
|
+
More documentation to come
|
|
@@ -1,31 +1,19 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: vClickOutside
|
|
3
|
-
description: vClickOutside is a Vue directive to trigger a function when the user clicks outside an element
|
|
2
|
+
title: "vClickOutside"
|
|
3
|
+
description: "vClickOutside is a Vue directive to trigger a function when the user clicks outside an element"
|
|
4
|
+
package: "maz-ui"
|
|
5
|
+
url: "https://maz-ui.com/directives/click-outside"
|
|
4
6
|
---
|
|
5
7
|
|
|
6
|
-
#
|
|
8
|
+
# vClickOutside
|
|
7
9
|
|
|
8
|
-
|
|
10
|
+
> vClickOutside is a Vue directive to trigger a function when the user clicks outside an element
|
|
9
11
|
|
|
10
|
-
|
|
12
|
+
- Package: `maz-ui`
|
|
13
|
+
- Import: `import { vClickOutside } from 'maz-ui/directives/vClickOutside'`
|
|
14
|
+
- Web: https://maz-ui.com/directives/click-outside
|
|
11
15
|
|
|
12
|
-
|
|
13
|
-
<div
|
|
14
|
-
class="maz:flex maz:flex-center maz:rounded-md maz:p-12 maz:bg-surface-300"
|
|
15
|
-
>
|
|
16
|
-
<MazCard v-click-outside="clikedOutside">
|
|
17
|
-
Click outside me
|
|
18
|
-
</MazCard>
|
|
19
|
-
</div>
|
|
20
|
-
|
|
21
|
-
<div
|
|
22
|
-
v-if="hasClikedOutside"
|
|
23
|
-
class="maz:flex maz:flex-center maz:rounded-md maz:bg-sucess maz:text-success-foreground maz:p-4 maz:mt-4"
|
|
24
|
-
>
|
|
25
|
-
You clicked outside
|
|
26
|
-
</div>
|
|
27
|
-
|
|
28
|
-
<template #code>
|
|
16
|
+
## Basic usage
|
|
29
17
|
|
|
30
18
|
```vue
|
|
31
19
|
<script lang="ts" setup>
|
|
@@ -42,7 +30,7 @@ function clikedOutside() {
|
|
|
42
30
|
|
|
43
31
|
<template>
|
|
44
32
|
<div
|
|
45
|
-
class="
|
|
33
|
+
class="flex flex-center rounded-md p-12 bg-surface-300"
|
|
46
34
|
>
|
|
47
35
|
<MazCard v-click-outside="clikedOutside">
|
|
48
36
|
Click outside me
|
|
@@ -51,43 +39,17 @@ function clikedOutside() {
|
|
|
51
39
|
|
|
52
40
|
<div
|
|
53
41
|
v-if="hasClikedOutside"
|
|
54
|
-
class="
|
|
42
|
+
class="flex flex-center rounded-md bg-sucess text-success-foreground p-4 mt-4"
|
|
55
43
|
>
|
|
56
44
|
You clicked outside
|
|
57
45
|
</div>
|
|
58
46
|
</template>
|
|
59
47
|
```
|
|
60
48
|
|
|
61
|
-
</template>
|
|
62
|
-
</ComponentDemo>
|
|
63
|
-
|
|
64
49
|
## Advanced usage with options
|
|
65
50
|
|
|
66
51
|
The directive can accept an options object to customize its behavior:
|
|
67
52
|
|
|
68
|
-
<ComponentDemo>
|
|
69
|
-
<div
|
|
70
|
-
class="maz:flex maz:flex-center maz:rounded-md maz:p-12 maz:bg-surface-300"
|
|
71
|
-
>
|
|
72
|
-
<MazCard v-click-outside="{ callback: clickedOutsideWithIgnore, ignore: ['.ignore-me'] }">
|
|
73
|
-
<div class="maz:p-4">
|
|
74
|
-
<p>Click outside me (but not on the button below)</p>
|
|
75
|
-
<MazBtn class="ignore-me maz:mt-2" color="secondary">
|
|
76
|
-
This button is ignored
|
|
77
|
-
</MazBtn>
|
|
78
|
-
</div>
|
|
79
|
-
</MazCard>
|
|
80
|
-
</div>
|
|
81
|
-
|
|
82
|
-
<div
|
|
83
|
-
v-if="hasClickedOutsideWithIgnore"
|
|
84
|
-
class="maz:flex maz:flex-center maz:rounded-md maz:bg-sucess maz:text-success-foreground maz:p-4 maz:mt-4"
|
|
85
|
-
>
|
|
86
|
-
You clicked outside (button clicks are ignored)
|
|
87
|
-
</div>
|
|
88
|
-
|
|
89
|
-
<template #code>
|
|
90
|
-
|
|
91
53
|
```vue
|
|
92
54
|
<script lang="ts" setup>
|
|
93
55
|
import { vClickOutside } from 'maz-ui/directives'
|
|
@@ -113,32 +75,10 @@ function clickedOutsideWithIgnore() {
|
|
|
113
75
|
</template>
|
|
114
76
|
```
|
|
115
77
|
|
|
116
|
-
</template>
|
|
117
|
-
</ComponentDemo>
|
|
118
|
-
|
|
119
78
|
## Using the `once` option
|
|
120
79
|
|
|
121
80
|
The directive can be configured to trigger only once:
|
|
122
81
|
|
|
123
|
-
<ComponentDemo>
|
|
124
|
-
<div
|
|
125
|
-
class="maz:flex maz:flex-center maz:rounded-md maz:p-12 maz:bg-surface-300"
|
|
126
|
-
>
|
|
127
|
-
<MazCard v-click-outside="{ callback: clickedOnce, once: true }">
|
|
128
|
-
Click outside me (works only once)
|
|
129
|
-
</MazCard>
|
|
130
|
-
</div>
|
|
131
|
-
|
|
132
|
-
<div
|
|
133
|
-
v-if="hasClickedOnce"
|
|
134
|
-
style="padding: 16px; margin-top: 16px; background-color: var(--maz-info); color: white;"
|
|
135
|
-
class="maz:flex maz:flex-center maz:rounded-md"
|
|
136
|
-
>
|
|
137
|
-
This will only show once!
|
|
138
|
-
</div>
|
|
139
|
-
|
|
140
|
-
<template #code>
|
|
141
|
-
|
|
142
82
|
```vue
|
|
143
83
|
<script lang="ts" setup>
|
|
144
84
|
import { vClickOutside } from 'maz-ui/directives'
|
|
@@ -159,9 +99,6 @@ function clickedOnce() {
|
|
|
159
99
|
</template>
|
|
160
100
|
```
|
|
161
101
|
|
|
162
|
-
</template>
|
|
163
|
-
</ComponentDemo>
|
|
164
|
-
|
|
165
102
|
## All options combined
|
|
166
103
|
|
|
167
104
|
Here's an example using all available options:
|
|
@@ -242,27 +179,4 @@ app.mount('#app')
|
|
|
242
179
|
|
|
243
180
|
### Nuxt
|
|
244
181
|
|
|
245
|
-
Please refer to the [Nuxt module documentation](
|
|
246
|
-
|
|
247
|
-
<script lang="ts" setup>
|
|
248
|
-
import { ref } from 'vue'
|
|
249
|
-
import { vClickOutside } from 'maz-ui/directives/vClickOutside'
|
|
250
|
-
|
|
251
|
-
const hasClikedOutside = ref(false)
|
|
252
|
-
const hasClickedOutsideWithIgnore = ref(false)
|
|
253
|
-
const hasClickedOnce = ref(false)
|
|
254
|
-
|
|
255
|
-
const clikedOutside = () => {
|
|
256
|
-
hasClikedOutside.value = true
|
|
257
|
-
setTimeout(() => hasClikedOutside.value = false, 2000)
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
const clickedOutsideWithIgnore = () => {
|
|
261
|
-
hasClickedOutsideWithIgnore.value = true
|
|
262
|
-
setTimeout(() => hasClickedOutsideWithIgnore.value = false, 2000)
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
const clickedOnce = () => {
|
|
266
|
-
hasClickedOnce.value = true
|
|
267
|
-
}
|
|
268
|
-
</script>
|
|
182
|
+
Please refer to the [Nuxt module documentation](../ecosystem/nuxt.md) for more information.
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: v-fullscreen-img
|
|
3
|
-
description: Displays images fullscreen on click
|
|
2
|
+
title: "v-fullscreen-img"
|
|
3
|
+
description: "Displays images fullscreen on click"
|
|
4
|
+
package: "maz-ui"
|
|
5
|
+
url: "https://maz-ui.com/directives/fullscreen-img"
|
|
4
6
|
---
|
|
5
7
|
|
|
8
|
+
# v-fullscreen-img
|
|
6
9
|
|
|
7
|
-
|
|
10
|
+
> Displays images fullscreen on click
|
|
8
11
|
|
|
9
|
-
|
|
12
|
+
- Package: `maz-ui`
|
|
13
|
+
- Import: `import { vFullscreenImg } from 'maz-ui/directives/vFullscreenImg'`
|
|
14
|
+
- Web: https://maz-ui.com/directives/fullscreen-img
|
|
10
15
|
|
|
11
16
|
## Basic usage
|
|
12
17
|
|
|
13
|
-
<img
|
|
14
|
-
v-fullscreen-img
|
|
15
|
-
src="https://placedog.net/1000/500"
|
|
16
|
-
/>
|
|
17
|
-
|
|
18
18
|
```vue
|
|
19
19
|
<template>
|
|
20
20
|
<img
|
|
@@ -30,14 +30,6 @@ description: Displays images fullscreen on click
|
|
|
30
30
|
|
|
31
31
|
## With animate options
|
|
32
32
|
|
|
33
|
-
<img
|
|
34
|
-
v-fullscreen-img="{
|
|
35
|
-
scaleOnHover: true,
|
|
36
|
-
blurOnHover: true,
|
|
37
|
-
}"
|
|
38
|
-
src="https://placedog.net/1000/600"
|
|
39
|
-
/>
|
|
40
|
-
|
|
41
33
|
```html
|
|
42
34
|
<img
|
|
43
35
|
v-fullscreen-img="{
|
|
@@ -50,12 +42,6 @@ description: Displays images fullscreen on click
|
|
|
50
42
|
|
|
51
43
|
## On custom element
|
|
52
44
|
|
|
53
|
-
<MazBtn
|
|
54
|
-
v-fullscreen-img="'https://placedog.net/1000/700'"
|
|
55
|
-
>
|
|
56
|
-
Click me to show image
|
|
57
|
-
</MazBtn>
|
|
58
|
-
|
|
59
45
|
```html
|
|
60
46
|
<MazBtn
|
|
61
47
|
v-fullscreen-img="'https://placedog.net/1000/700'"
|
|
@@ -83,7 +69,7 @@ app.mount('#app')
|
|
|
83
69
|
|
|
84
70
|
### Nuxt
|
|
85
71
|
|
|
86
|
-
Please refer to the [Nuxt module documentation](
|
|
72
|
+
Please refer to the [Nuxt module documentation](../ecosystem/nuxt.md) for more information.
|
|
87
73
|
|
|
88
74
|
## Types
|
|
89
75
|
|
|
@@ -95,7 +81,3 @@ interface vFullscreenImgBindingOptions extends vFullscreenImgOptions {
|
|
|
95
81
|
|
|
96
82
|
export type vFullscreenImgBindingValue = string | vFullscreenImgBindingOptions | undefined
|
|
97
83
|
```
|
|
98
|
-
|
|
99
|
-
<script setup lang="ts">
|
|
100
|
-
import { vFullscreenImg } from 'maz-ui/directives/vFullscreenImg'
|
|
101
|
-
</script>
|
|
@@ -1,24 +1,23 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: vLazyImg
|
|
3
|
-
description: vLazyImg is a Vue directive to lazy load images with many options. Images are loaded when they enter the viewport, using a shared IntersectionObserver for optimal performance.
|
|
2
|
+
title: "vLazyImg"
|
|
3
|
+
description: "vLazyImg is a Vue directive to lazy load images with many options. Images are loaded when they enter the viewport, using a shared IntersectionObserver for optimal performance."
|
|
4
|
+
package: "maz-ui"
|
|
5
|
+
url: "https://maz-ui.com/directives/lazy-img"
|
|
4
6
|
---
|
|
5
7
|
|
|
6
|
-
#
|
|
8
|
+
# vLazyImg
|
|
7
9
|
|
|
8
|
-
|
|
10
|
+
> vLazyImg is a Vue directive to lazy load images with many options. Images are loaded when they enter the viewport, using a shared IntersectionObserver for optimal performance.
|
|
9
11
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
- Package: `maz-ui`
|
|
13
|
+
- Import: `import { vLazyImg } from 'maz-ui/directives/vLazyImg'`
|
|
14
|
+
- Web: https://maz-ui.com/directives/lazy-img
|
|
13
15
|
|
|
14
|
-
|
|
16
|
+
**Tip: Performance**
|
|
17
|
+
|
|
18
|
+
Every element bound to the directive shares a pooled `IntersectionObserver` (grouped by observer options) and keeps its state per element. You can render hundreds of lazy images - like a list of [`MazAvatar`](../components/maz-avatar.md) - with only a handful of observers and no leak when elements unmount.
|
|
15
19
|
|
|
16
|
-
|
|
17
|
-
alt="Lazy loaded image"
|
|
18
|
-
style="background-color: var(--maz-surface-300); width: 80%;"
|
|
19
|
-
class="flex flex-center rounded"
|
|
20
|
-
v-lazy-img="'https://placedog.net/1500/1000'"
|
|
21
|
-
/>
|
|
20
|
+
## Basic usage
|
|
22
21
|
|
|
23
22
|
```vue
|
|
24
23
|
<script lang="ts" setup>
|
|
@@ -38,12 +37,6 @@ import { vLazyImg } from 'maz-ui/directives'
|
|
|
38
37
|
|
|
39
38
|
> Instead of `v-lazy-img` use `v-lazy-img:bg-image`
|
|
40
39
|
|
|
41
|
-
<div
|
|
42
|
-
style="height: 200px; width: 100%; background-size: contain;"
|
|
43
|
-
class="flex flex-center rounded"
|
|
44
|
-
v-lazy-img:bg-image="'https://placedog.net/1500/1000'"
|
|
45
|
-
/>
|
|
46
|
-
|
|
47
40
|
```vue
|
|
48
41
|
<template>
|
|
49
42
|
<div
|
|
@@ -70,8 +63,6 @@ Set `disabled: true` to load the image immediately, bypassing the `IntersectionO
|
|
|
70
63
|
|
|
71
64
|
Provide a `fallbackSrc` to replace the image when it fails to load. Set `fallbackSrc: false` to keep the broken image instead of loading the default placeholder.
|
|
72
65
|
|
|
73
|
-
<img class="maz:size-40" v-lazy-img="{ src: 'https://broken-link.example' }" alt="broken image" />
|
|
74
|
-
|
|
75
66
|
```vue
|
|
76
67
|
<template>
|
|
77
68
|
<img
|
|
@@ -87,13 +78,6 @@ Provide a `fallbackSrc` to replace the image when it fails to load. Set `fallbac
|
|
|
87
78
|
|
|
88
79
|
> Open the developer console to show logs
|
|
89
80
|
|
|
90
|
-
<img
|
|
91
|
-
alt="Lazy loaded image with options"
|
|
92
|
-
style="background-color: var(--maz-surface-300); width: 80%;"
|
|
93
|
-
class="flex flex-center rounded"
|
|
94
|
-
v-lazy-img="lazyBinding"
|
|
95
|
-
/>
|
|
96
|
-
|
|
97
81
|
```vue
|
|
98
82
|
<script lang="ts" setup>
|
|
99
83
|
import { vLazyImg, type vLazyImgBindingValue } from 'maz-ui/directives'
|
|
@@ -161,7 +145,7 @@ app.mount('#app')
|
|
|
161
145
|
|
|
162
146
|
### Nuxt
|
|
163
147
|
|
|
164
|
-
Please refer to the [Nuxt module documentation](
|
|
148
|
+
Please refer to the [Nuxt module documentation](../ecosystem/nuxt.md) for more information.
|
|
165
149
|
|
|
166
150
|
## Types
|
|
167
151
|
|
|
@@ -196,22 +180,3 @@ interface vLazyImgBindingOptions extends vLazyImgOptions {
|
|
|
196
180
|
|
|
197
181
|
export type vLazyImgBindingValue = string | vLazyImgBindingOptions
|
|
198
182
|
```
|
|
199
|
-
|
|
200
|
-
<script lang="ts" setup>
|
|
201
|
-
import { vLazyImg, type vLazyImgBindingValue } from 'maz-ui/directives/vLazyImg'
|
|
202
|
-
|
|
203
|
-
const lazyBinding: vLazyImgBindingValue = {
|
|
204
|
-
src: 'https://placedog.net/1500/1000',
|
|
205
|
-
baseClass: 'custom-class',
|
|
206
|
-
loadingClass: 'custom-class-loading',
|
|
207
|
-
loadedClass: 'custom-class-loaded',
|
|
208
|
-
errorClass: 'custom-class-error',
|
|
209
|
-
fallbackClass: 'custom-class-fallback',
|
|
210
|
-
observerOnce: false,
|
|
211
|
-
loadOnce: true,
|
|
212
|
-
onLoading: (el: Element) => console.log('loading', el),
|
|
213
|
-
onLoaded: (el: Element) => console.log('loaded', el),
|
|
214
|
-
onError: (el: Element) => console.log('error', el),
|
|
215
|
-
onIntersecting: (el: Element) => console.log('intersecting', el),
|
|
216
|
-
}
|
|
217
|
-
</script>
|