@maz-ui/mcp 5.0.1-beta.0 → 5.1.0-beta.1
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 +16 -0
- package/dist/index.d.mts +345 -0
- package/dist/index.d.ts +345 -0
- package/dist/index.mjs +16 -0
- package/dist/shared/mcp.DseFuKdl.mjs +2968 -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 +78 -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 +27 -189
- package/docs/{src/components → components}/maz-btn.md +62 -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 +107 -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 +48 -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 +21 -15
- 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 +50 -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 +239 -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 +507 -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 +59 -0
- package/package.json +86 -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
|
@@ -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
|
-
#
|
|
8
|
+
# MazDropzone
|
|
7
9
|
|
|
8
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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="
|
|
331
|
-
<MazIcon icon="/arrow-up-on-square.svg" class="
|
|
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
|
-
|
|
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
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
}
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
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 covers the whole page with a backdrop and a spinner to block the interface during a global loading"
|
|
4
|
+
package: "maz-ui"
|
|
5
|
+
url: "https://maz-ui.com/components/maz-fullscreen-loader"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# MazFullscreenLoader
|
|
9
|
+
|
|
10
|
+
> MazFullscreenLoader covers the whole page with a backdrop and a spinner to block the interface during a global loading
|
|
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`.
|