@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,36 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: MazAnimatedElement
|
|
3
|
-
description: MazAnimatedElement is a standalone component that animates its content with a sliding blur effect when it enters the viewport. It supports different animation directions (up, down, left, right) and allows customizing the animation delay and duration.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# {{ $frontmatter.title }}
|
|
7
|
-
|
|
8
|
-
{{ $frontmatter.description }}
|
|
9
|
-
|
|
10
|
-
<!--@include: ./../../.vitepress/mixins/getting-started.md-->
|
|
11
|
-
|
|
12
|
-
## Basic usage
|
|
13
|
-
|
|
14
|
-
<ComponentDemo expanded>
|
|
15
|
-
<MazAnimatedElement direction="up" :delay="1000" :duration="2000">
|
|
16
|
-
<MazAvatar src="https://github.com/LouisMazel.png" size="lg" />
|
|
17
|
-
</MazAnimatedElement>
|
|
18
|
-
|
|
19
|
-
<template #code>
|
|
20
|
-
|
|
21
|
-
```vue
|
|
22
|
-
<script lang="ts" setup>
|
|
23
|
-
import MazAnimatedElement from 'maz-ui/components/MazAnimatedElement'
|
|
24
|
-
</script>
|
|
25
|
-
|
|
26
|
-
<template>
|
|
27
|
-
<MazAnimatedElement direction="up" :delay="1000" :duration="2000">
|
|
28
|
-
<MazAvatar src="https://github.com/LouisMazel.png" size="lg" />
|
|
29
|
-
</MazAnimatedElement>
|
|
30
|
-
</template>
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
</template>
|
|
34
|
-
</ComponentDemo>
|
|
35
|
-
|
|
36
|
-
<!--@include: ./../../.vitepress/generated-docs/maz-animated-element.doc.md-->
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: MazAnimatedText
|
|
3
|
-
description: MazAnimatedText is a standalone component that animates text with a sliding blur effect. It can highlight the last word with a gradient background and supports different animation directions (up, down, left, right).
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# {{ $frontmatter.title }}
|
|
7
|
-
|
|
8
|
-
{{ $frontmatter.description }}
|
|
9
|
-
|
|
10
|
-
<!--@include: ./../../.vitepress/mixins/getting-started.md-->
|
|
11
|
-
|
|
12
|
-
## Basic usage
|
|
13
|
-
|
|
14
|
-
::: tip
|
|
15
|
-
This component is SSR friendly. It will display the brut text on the server side with the chosen tag, and the animated text on the client side.
|
|
16
|
-
:::
|
|
17
|
-
|
|
18
|
-
<ComponentDemo expanded>
|
|
19
|
-
<MazAnimatedText tag="h1" text="Hello" last-word="world" :delay="1000" :duration="2000" direction="up" :column-gap="0.5" :row-gap="0.5" />
|
|
20
|
-
|
|
21
|
-
<template #code>
|
|
22
|
-
|
|
23
|
-
```vue
|
|
24
|
-
<script lang="ts" setup>
|
|
25
|
-
import MazAnimatedText from 'maz-ui/components/MazAnimatedText'
|
|
26
|
-
</script>
|
|
27
|
-
|
|
28
|
-
<template>
|
|
29
|
-
<MazAnimatedText tag="h1" text="Hello" last-word="world" :delay="1000" :duration="2000" direction="up" :column-gap="0.5" :row-gap="0.5" />
|
|
30
|
-
</template>
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
</template>
|
|
34
|
-
</ComponentDemo>
|
|
35
|
-
|
|
36
|
-
<!--@include: ./../../.vitepress/generated-docs/maz-animated-text.doc.md-->
|
|
@@ -1,227 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: MazAvatar
|
|
3
|
-
description: MazAvatar is a standalone component that displays an image or an icon with a caption. It can be used to display a user's profile picture, a placeholder image, or an icon.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# {{ $frontmatter.title }}
|
|
7
|
-
|
|
8
|
-
{{ $frontmatter.description }}
|
|
9
|
-
|
|
10
|
-
<!--@include: ./../../.vitepress/mixins/getting-started.md-->
|
|
11
|
-
|
|
12
|
-
::: tip
|
|
13
|
-
This component uses [vLazyImg](./../directives/lazy-img.md) directive
|
|
14
|
-
:::
|
|
15
|
-
|
|
16
|
-
## Basic usage
|
|
17
|
-
|
|
18
|
-
<MazAvatar src="https://api.dicebear.com/7.x/big-smile/svg?backgroundColor=1d90ff&scale=80" />
|
|
19
|
-
|
|
20
|
-
```vue
|
|
21
|
-
<script lang="ts" setup>
|
|
22
|
-
import MazAvatar from 'maz-ui/components/MazAvatar'
|
|
23
|
-
</script>
|
|
24
|
-
|
|
25
|
-
<template>
|
|
26
|
-
<MazAvatar src="https://api.dicebear.com/7.x/big-smile/svg?backgroundColor=1d90ff&scale=80" />
|
|
27
|
-
</template>
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
## Options
|
|
31
|
-
|
|
32
|
-
::: tip
|
|
33
|
-
See all the options props [here](#props-event-slots)
|
|
34
|
-
:::
|
|
35
|
-
|
|
36
|
-
<div class="flex space-between gap-05 items-center flex-wrap">
|
|
37
|
-
<MazAvatar
|
|
38
|
-
caption="Louis Mazel"
|
|
39
|
-
size="1.5rem"
|
|
40
|
-
/>
|
|
41
|
-
<MazAvatar
|
|
42
|
-
src="https://api.dicebear.com/7.x/big-smile/svg?backgroundColor=1d90ff&scale=80&seed=maz-ui"
|
|
43
|
-
size="2rem"
|
|
44
|
-
href="https://api.dicebear.com/7.x/big-smile/svg?backgroundColor=1d90ff&scale=80&seed=maz-ui"
|
|
45
|
-
target="_blank"
|
|
46
|
-
rounded-size="none"
|
|
47
|
-
clickable
|
|
48
|
-
>
|
|
49
|
-
<template #icon>
|
|
50
|
-
<MazIcon icon="/eye.svg" style="color: white;" size="2rem" />
|
|
51
|
-
</template>
|
|
52
|
-
</MazAvatar>
|
|
53
|
-
|
|
54
|
-
<MazAvatar
|
|
55
|
-
src="https://api.dicebear.com/7.x/big-smile/svg?backgroundColor=1d90ff&scale=80&seed=200"
|
|
56
|
-
size="2.5rem"
|
|
57
|
-
clickable
|
|
58
|
-
rounded-size="xl"
|
|
59
|
-
button-color="destructive"
|
|
60
|
-
@click="clicked"
|
|
61
|
-
/>
|
|
62
|
-
|
|
63
|
-
<MazAvatar
|
|
64
|
-
src="https://api.dicebear.com/7.x/big-smile/svg?backgroundColor=1d90ff&scale=80&seed=600"
|
|
65
|
-
size="3rem"
|
|
66
|
-
bordered
|
|
67
|
-
noElevation
|
|
68
|
-
/>
|
|
69
|
-
|
|
70
|
-
</div>
|
|
71
|
-
|
|
72
|
-
```vue
|
|
73
|
-
<script lang="ts" setup>
|
|
74
|
-
import MazAvatar from 'maz-ui/components/MazAvatar'
|
|
75
|
-
function clicked() { console.log('clicked') }
|
|
76
|
-
</script>
|
|
77
|
-
|
|
78
|
-
<template>
|
|
79
|
-
<MazAvatar
|
|
80
|
-
caption="Louis Mazel"
|
|
81
|
-
size="1.5rem"
|
|
82
|
-
/>
|
|
83
|
-
<MazAvatar
|
|
84
|
-
src="https://api.dicebear.com/7.x/big-smile/svg?backgroundColor=1d90ff&scale=80&seed=maz-ui"
|
|
85
|
-
size="2rem"
|
|
86
|
-
href="https://api.dicebear.com/7.x/big-smile/svg?backgroundColor=1d90ff&scale=80&seed=maz-ui"
|
|
87
|
-
target="_blank"
|
|
88
|
-
rounded-size="none"
|
|
89
|
-
clickable
|
|
90
|
-
>
|
|
91
|
-
<template #icon>
|
|
92
|
-
<MazIcon icon="/eye.svg" />
|
|
93
|
-
</template>
|
|
94
|
-
</MazAvatar>
|
|
95
|
-
<MazAvatar
|
|
96
|
-
src="https://api.dicebear.com/7.x/big-smile/svg?backgroundColor=1d90ff&scale=80&seed=200"
|
|
97
|
-
size="2.5rem"
|
|
98
|
-
clickable
|
|
99
|
-
rounded-size="xl"
|
|
100
|
-
@click="clicked"
|
|
101
|
-
/>
|
|
102
|
-
<MazAvatar
|
|
103
|
-
src="https://api.dicebear.com/7.x/big-smile/svg?backgroundColor=1d90ff&scale=80&seed=600"
|
|
104
|
-
size="3rem"
|
|
105
|
-
bordered
|
|
106
|
-
/>
|
|
107
|
-
</template>
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
## Initials from caption
|
|
111
|
-
|
|
112
|
-
When no `src` is provided, `MazAvatar` displays initials generated from the `caption`. The `letter-count` prop (default `2`) controls how many letters are displayed:
|
|
113
|
-
|
|
114
|
-
- **Single word**: the first `letter-count` characters of the word are used.
|
|
115
|
-
- **Multiple words**: the first letter of each of the first `letter-count` words is used.
|
|
116
|
-
|
|
117
|
-
Initials are always uppercased.
|
|
118
|
-
|
|
119
|
-
<div class="flex gap-05 items-center flex-wrap">
|
|
120
|
-
<MazAvatar caption="admin" size="3rem" />
|
|
121
|
-
<MazAvatar caption="admin" :letter-count="3" size="3rem" />
|
|
122
|
-
<MazAvatar caption="Louis Mazel" size="3rem" />
|
|
123
|
-
<MazAvatar caption="Jean Claude Dus" :letter-count="3" size="3rem" />
|
|
124
|
-
</div>
|
|
125
|
-
|
|
126
|
-
```vue
|
|
127
|
-
<template>
|
|
128
|
-
<!-- "AD" -->
|
|
129
|
-
<MazAvatar caption="admin" />
|
|
130
|
-
<!-- "ADM" -->
|
|
131
|
-
<MazAvatar caption="admin" :letter-count="3" />
|
|
132
|
-
<!-- "LM" -->
|
|
133
|
-
<MazAvatar caption="Louis Mazel" />
|
|
134
|
-
<!-- "JCD" -->
|
|
135
|
-
<MazAvatar caption="Jean Claude Dus" :letter-count="3" />
|
|
136
|
-
</template>
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
## On Error
|
|
140
|
-
|
|
141
|
-
When no `src` (and no `caption`) is provided, or when the image fails to load, `MazAvatar` displays the default `no-image` placeholder.
|
|
142
|
-
|
|
143
|
-
<MazAvatar @error="error" src="https://broken-link-image-src.example" />
|
|
144
|
-
|
|
145
|
-
```html
|
|
146
|
-
<MazAvatar @error="error" src="https://broken-link-image-src.example" />
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
## Fallback image loaded on error
|
|
150
|
-
|
|
151
|
-
<MazAvatar
|
|
152
|
-
class="vp-raw"
|
|
153
|
-
src="https://broken-link-image-src.com"
|
|
154
|
-
fallback-src="https://api.dicebear.com/7.x/big-smile/svg?backgroundColor=1d90ff&scale=80&seed=100"
|
|
155
|
-
/>
|
|
156
|
-
|
|
157
|
-
```html
|
|
158
|
-
<MazAvatar
|
|
159
|
-
src="https://broken-link-image-src.com"
|
|
160
|
-
fallback-src="https://api.dicebear.com/7.x/big-smile/svg?backgroundColor=1d90ff&scale=80&seed=100"
|
|
161
|
-
/>
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
## Loading
|
|
165
|
-
|
|
166
|
-
The props `loading` has 3 possible values: `intersecting`, `lazy`, or `eager`.
|
|
167
|
-
|
|
168
|
-
By default, the value is `intersecting` which means the image will be loaded when it's intersecting with the `IntersectionObserver` browser API. This mode uses the [`MazLazyImg`](./maz-lazy-img.md) component with [`vLazyImg`](./../directives/lazy-img.md) directive to handle the lazy loading.
|
|
169
|
-
|
|
170
|
-
Native modes:
|
|
171
|
-
|
|
172
|
-
- `lazy`: The image will be loaded only when it's in the viewport
|
|
173
|
-
- `eager`: The image will be loaded immediately
|
|
174
|
-
|
|
175
|
-
These modes are native use an `HTMLImageElement` with the `loading` attribute. (see [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#attr-loading)). **Useful for SSR (Server Side Rendering) or when you want to load the image immediately.**
|
|
176
|
-
|
|
177
|
-
<div class="flex gap-05 items-center flex-wrap">
|
|
178
|
-
<MazAvatar
|
|
179
|
-
class="vp-raw"
|
|
180
|
-
loading="intersecting"
|
|
181
|
-
src="https://api.dicebear.com/7.x/big-smile/svg?backgroundColor=1d90ff&scale=80&seed=123"
|
|
182
|
-
/>
|
|
183
|
-
<MazAvatar
|
|
184
|
-
class="vp-raw"
|
|
185
|
-
loading="lazy"
|
|
186
|
-
src="https://api.dicebear.com/7.x/big-smile/svg?backgroundColor=1d90ff&scale=80&seed=123"
|
|
187
|
-
/>
|
|
188
|
-
<MazAvatar
|
|
189
|
-
class="vp-raw"
|
|
190
|
-
loading="eager"
|
|
191
|
-
src="https://api.dicebear.com/7.x/big-smile/svg?backgroundColor=1d90ff&scale=80&seed=123"
|
|
192
|
-
/>
|
|
193
|
-
</div>
|
|
194
|
-
|
|
195
|
-
```html
|
|
196
|
-
<MazAvatar
|
|
197
|
-
loading="intersecting"
|
|
198
|
-
src="https://api.dicebear.com/7.x/big-smile/svg?backgroundColor=1d90ff&scale=80&seed=123"
|
|
199
|
-
/>
|
|
200
|
-
<MazAvatar loading="lazy" src="https://api.dicebear.com/7.x/big-smile/svg?backgroundColor=1d90ff&scale=80&seed=123" />
|
|
201
|
-
<MazAvatar loading="eager" src="https://api.dicebear.com/7.x/big-smile/svg?backgroundColor=1d90ff&scale=80&seed=123" />
|
|
202
|
-
```
|
|
203
|
-
|
|
204
|
-
## Image height full
|
|
205
|
-
|
|
206
|
-
By default the image fills the avatar **width** (`width: 100%`). Enable `image-height-full` to make the image fill the **height** instead: it keeps its aspect ratio, fills 100% of the height and overflows/crops horizontally. This is ideal for wide images or SVGs (like flags) that must cover the whole avatar.
|
|
207
|
-
|
|
208
|
-
<div class="flex gap-05 items-center flex-wrap">
|
|
209
|
-
<MazAvatar class="vp-raw" size="4rem" src="https://placedog.net/300/200?id=7" />
|
|
210
|
-
<MazAvatar class="vp-raw" size="4rem" image-height-full src="https://placedog.net/300/200?id=7" />
|
|
211
|
-
</div>
|
|
212
|
-
|
|
213
|
-
```vue
|
|
214
|
-
<template>
|
|
215
|
-
<!-- default: width 100% -->
|
|
216
|
-
<MazAvatar src="https://placedog.net/300/200" />
|
|
217
|
-
<!-- height 100%, cropped on the sides -->
|
|
218
|
-
<MazAvatar image-height-full src="https://placedog.net/300/200" />
|
|
219
|
-
</template>
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
<script lang="ts" setup>
|
|
223
|
-
const clicked = () => { console.log('clicked') }
|
|
224
|
-
const error = (el) => { console.error('error', el) }
|
|
225
|
-
</script>
|
|
226
|
-
|
|
227
|
-
<!--@include: ./../../.vitepress/generated-docs/maz-avatar.doc.md-->
|
|
@@ -1,250 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: MazBackdrop
|
|
3
|
-
description: MazBackdrop is a flexible backdrop component that provides a foundation for modals, drawers, bottom sheets and any overlay content. It handles focus management, keyboard navigation, and animations automatically.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# {{ $frontmatter.title }}
|
|
7
|
-
|
|
8
|
-
{{ $frontmatter.description }}
|
|
9
|
-
|
|
10
|
-
<!--@include: ./../../.vitepress/mixins/getting-started.md-->
|
|
11
|
-
|
|
12
|
-
::: tip
|
|
13
|
-
This component uses `<Teleport to="body">` and is the foundation for [MazDialog](./maz-dialog.md), [MazDrawer](./maz-drawer.md), and [MazBottomSheet](./maz-bottom-sheet.md)
|
|
14
|
-
:::
|
|
15
|
-
|
|
16
|
-
## Basic usage
|
|
17
|
-
|
|
18
|
-
MazBackdrop creates a semi-transparent overlay that covers the entire screen. Think of it like a dark blanket that appears behind your content to make it stand out.
|
|
19
|
-
|
|
20
|
-
<ComponentDemo expanded>
|
|
21
|
-
<MazBtn @click="basicOpen = true">Open Backdrop</MazBtn>
|
|
22
|
-
|
|
23
|
-
<MazBackdrop v-model="basicOpen" justify="center" align="center">
|
|
24
|
-
<div class="demo-content">
|
|
25
|
-
<h3>Hello! I'm on top of the backdrop</h3>
|
|
26
|
-
<p>Click outside or press Escape to close</p>
|
|
27
|
-
<MazBtn @click="basicOpen = false">Close</MazBtn>
|
|
28
|
-
</div>
|
|
29
|
-
</MazBackdrop>
|
|
30
|
-
|
|
31
|
-
<template #code>
|
|
32
|
-
|
|
33
|
-
```vue
|
|
34
|
-
<script setup>
|
|
35
|
-
import MazBackdrop from 'maz-ui/components/MazBackdrop'
|
|
36
|
-
import { ref } from 'vue'
|
|
37
|
-
|
|
38
|
-
const basicOpen = ref(false)
|
|
39
|
-
</script>
|
|
40
|
-
|
|
41
|
-
<template>
|
|
42
|
-
<MazBtn @click="basicOpen = true">
|
|
43
|
-
Open Backdrop
|
|
44
|
-
</MazBtn>
|
|
45
|
-
|
|
46
|
-
<MazBackdrop v-model="basicOpen" justify="center" align="center">
|
|
47
|
-
<div class="my-content">
|
|
48
|
-
<h3>Hello! I'm on top of the backdrop</h3>
|
|
49
|
-
<p>Click outside or press Escape to close</p>
|
|
50
|
-
<MazBtn @click="basicOpen = false">Close</MazBtn>
|
|
51
|
-
</div>
|
|
52
|
-
</MazBackdrop>
|
|
53
|
-
</template>
|
|
54
|
-
|
|
55
|
-
<style lang="css" scoped>
|
|
56
|
-
.demo-content {
|
|
57
|
-
background: var(--maz-surface);
|
|
58
|
-
padding: 2rem;
|
|
59
|
-
border-radius: var(--maz-rounded-md);
|
|
60
|
-
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
|
|
61
|
-
max-width: 400px;
|
|
62
|
-
text-align: center;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
.demo-content h3 {
|
|
66
|
-
margin-top: 0;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
.demo-content p {
|
|
70
|
-
margin-bottom: 1.5rem;
|
|
71
|
-
color: var(--maz-muted);
|
|
72
|
-
}
|
|
73
|
-
</style>
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
</template>
|
|
77
|
-
</ComponentDemo>
|
|
78
|
-
|
|
79
|
-
## Persistent backdrop
|
|
80
|
-
|
|
81
|
-
A persistent backdrop cannot be closed by clicking outside or pressing Escape. Perfect for important confirmations!
|
|
82
|
-
|
|
83
|
-
<ComponentDemo>
|
|
84
|
-
<MazBtn @click="persistentOpen = true">Open Persistent Backdrop</MazBtn>
|
|
85
|
-
|
|
86
|
-
<MazBackdrop v-model="persistentOpen" persistent align="center" justify="center">
|
|
87
|
-
<div class="demo-content">
|
|
88
|
-
<h3>I'm persistent!</h3>
|
|
89
|
-
<p>You can only close me by clicking the button below</p>
|
|
90
|
-
<MazBtn @click="persistentOpen = false" color="destructive">
|
|
91
|
-
Force Close
|
|
92
|
-
</MazBtn>
|
|
93
|
-
</div>
|
|
94
|
-
</MazBackdrop>
|
|
95
|
-
|
|
96
|
-
<template #code>
|
|
97
|
-
|
|
98
|
-
```html
|
|
99
|
-
<MazBackdrop v-model="persistentOpen" persistent align="center" justify="center">
|
|
100
|
-
<div class="my-content">
|
|
101
|
-
<h3>I'm persistent!</h3>
|
|
102
|
-
<p>You can only close me by clicking the button below</p>
|
|
103
|
-
<MazBtn @click="persistentOpen = false" color="destructive">
|
|
104
|
-
Force Close
|
|
105
|
-
</MazBtn>
|
|
106
|
-
</div>
|
|
107
|
-
</MazBackdrop>
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
</template>
|
|
111
|
-
</ComponentDemo>
|
|
112
|
-
|
|
113
|
-
## Content positioning
|
|
114
|
-
|
|
115
|
-
You can control where your content appears using `justify` and `align` props. It's like choosing where to place a sticker on your screen!
|
|
116
|
-
|
|
117
|
-
<ComponentDemo>
|
|
118
|
-
<div class="maz:flex maz:flex-wrap maz:gap-2">
|
|
119
|
-
<MazBtn @click="topLeftOpen = true">Top Left</MazBtn>
|
|
120
|
-
<MazBtn @click="centerOpen = true">Center</MazBtn>
|
|
121
|
-
<MazBtn @click="bottomRightOpen = true">Bottom Right</MazBtn>
|
|
122
|
-
</div>
|
|
123
|
-
|
|
124
|
-
<!-- Top Left -->
|
|
125
|
-
<MazBackdrop v-model="topLeftOpen" justify="start" align="start" content-padding>
|
|
126
|
-
<div class="demo-content">
|
|
127
|
-
<h3>I'm at the top left!</h3>
|
|
128
|
-
<MazBtn @click="topLeftOpen = false" size="sm">Close</MazBtn>
|
|
129
|
-
</div>
|
|
130
|
-
</MazBackdrop>
|
|
131
|
-
|
|
132
|
-
<!-- Center -->
|
|
133
|
-
<MazBackdrop v-model="centerOpen" justify="center" align="center" content-padding>
|
|
134
|
-
<div class="demo-content">
|
|
135
|
-
<h3 3>I'm perfectly centered!</h3>
|
|
136
|
-
<MazBtn @click="centerOpen = false" size="sm">Close</MazBtn>
|
|
137
|
-
</div>
|
|
138
|
-
</MazBackdrop>
|
|
139
|
-
|
|
140
|
-
<!-- Bottom Right -->
|
|
141
|
-
<MazBackdrop v-model="bottomRightOpen" justify="end" align="end" content-padding>
|
|
142
|
-
<div class="demo-content">
|
|
143
|
-
<h3>I'm at the bottom right!</h3>
|
|
144
|
-
<MazBtn @click="bottomRightOpen = false" size="sm">Close</MazBtn>
|
|
145
|
-
</div>
|
|
146
|
-
</MazBackdrop>
|
|
147
|
-
|
|
148
|
-
<template #code>
|
|
149
|
-
|
|
150
|
-
```html
|
|
151
|
-
<!-- Top Left -->
|
|
152
|
-
<MazBackdrop v-model="topLeftOpen" justify="start" align="start" content-padding>
|
|
153
|
-
<div class="my-content">
|
|
154
|
-
<h3>I'm at the top left!</h3>
|
|
155
|
-
<MazBtn @click="topLeftOpen = false">Close</MazBtn>
|
|
156
|
-
</div>
|
|
157
|
-
</MazBackdrop>
|
|
158
|
-
|
|
159
|
-
<!-- Center -->
|
|
160
|
-
<MazBackdrop v-model="centerOpen" justify="center" align="center" content-padding>
|
|
161
|
-
<div class="my-content">
|
|
162
|
-
<h3>I'm perfectly centered!</h3>
|
|
163
|
-
<MazBtn @click="centerOpen = false">Close</MazBtn>
|
|
164
|
-
</div>
|
|
165
|
-
</MazBackdrop>
|
|
166
|
-
|
|
167
|
-
<!-- Bottom Right -->
|
|
168
|
-
<MazBackdrop v-model="bottomRightOpen" justify="end" align="end" content-padding>
|
|
169
|
-
<div class="my-content">
|
|
170
|
-
<h3>I'm at the bottom right!</h3>
|
|
171
|
-
<MazBtn @click="bottomRightOpen = false">Close</MazBtn>
|
|
172
|
-
</div>
|
|
173
|
-
</MazBackdrop>
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
</template>
|
|
177
|
-
</ComponentDemo>
|
|
178
|
-
|
|
179
|
-
## Custom animations
|
|
180
|
-
|
|
181
|
-
MazBackdrop comes with built-in animations, but you can customize them with the `transition-name` prop.
|
|
182
|
-
|
|
183
|
-
<ComponentDemo>
|
|
184
|
-
<MazBtn @click="animatedOpen = true">Open with Custom Animation</MazBtn>
|
|
185
|
-
|
|
186
|
-
<MazBackdrop v-model="animatedOpen" transition-name="modal-anim">
|
|
187
|
-
<div class="demo-content">
|
|
188
|
-
<h3>I slide and scale in!</h3>
|
|
189
|
-
<p>This uses the same animation as MazDialog</p>
|
|
190
|
-
<MazBtn @click="animatedOpen = false">Close</MazBtn>
|
|
191
|
-
</div>
|
|
192
|
-
</MazBackdrop>
|
|
193
|
-
|
|
194
|
-
<template #code>
|
|
195
|
-
|
|
196
|
-
```html
|
|
197
|
-
<MazBackdrop v-model="animatedOpen" transition-name="modal-anim">
|
|
198
|
-
<div class="my-content">
|
|
199
|
-
<h3>I slide and scale in!</h3>
|
|
200
|
-
<p>This uses the same animation as MazDialog</p>
|
|
201
|
-
<MazBtn @click="animatedOpen = false">Close</MazBtn>
|
|
202
|
-
</div>
|
|
203
|
-
</MazBackdrop>
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
</template>
|
|
207
|
-
</ComponentDemo>
|
|
208
|
-
|
|
209
|
-
## Accessibility features
|
|
210
|
-
|
|
211
|
-
MazBackdrop automatically handles:
|
|
212
|
-
- **Focus trap**: Tab navigation stays within your content
|
|
213
|
-
- **Keyboard support**: Escape key to close (unless persistent)
|
|
214
|
-
- **Screen readers**: Proper ARIA attributes for accessibility
|
|
215
|
-
- **Scroll lock**: Prevents background scrolling when open
|
|
216
|
-
|
|
217
|
-
These features work automatically - you don't need to do anything extra!
|
|
218
|
-
|
|
219
|
-
<!--@include: ./../../.vitepress/generated-docs/maz-backdrop.doc.md-->
|
|
220
|
-
|
|
221
|
-
<script setup>
|
|
222
|
-
import { ref } from 'vue'
|
|
223
|
-
|
|
224
|
-
const basicOpen = ref(false)
|
|
225
|
-
const persistentOpen = ref(false)
|
|
226
|
-
const topLeftOpen = ref(false)
|
|
227
|
-
const centerOpen = ref(false)
|
|
228
|
-
const bottomRightOpen = ref(false)
|
|
229
|
-
const animatedOpen = ref(false)
|
|
230
|
-
</script>
|
|
231
|
-
|
|
232
|
-
<style scoped>
|
|
233
|
-
.demo-content {
|
|
234
|
-
background: var(--maz-surface);
|
|
235
|
-
padding: 2rem;
|
|
236
|
-
border-radius: var(--maz-rounded-md);
|
|
237
|
-
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
|
|
238
|
-
max-width: 400px;
|
|
239
|
-
text-align: center;
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
.demo-content h3 {
|
|
243
|
-
margin-top: 0;
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
.demo-content p {
|
|
247
|
-
margin-bottom: 1.5rem;
|
|
248
|
-
color: var(--maz-muted);
|
|
249
|
-
}
|
|
250
|
-
</style>
|