@maz-ui/mcp 4.0.0-beta.26
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/LICENSE +21 -0
- package/README.md +264 -0
- package/bin/maz-ui-mcp.mjs +7 -0
- package/dist/mcp.d.mts +13 -0
- package/dist/mcp.d.ts +13 -0
- package/dist/mcp.mjs +586 -0
- package/docs/generated-docs/maz-accordion.doc.md +21 -0
- package/docs/generated-docs/maz-animated-counter.doc.md +17 -0
- package/docs/generated-docs/maz-animated-element.doc.md +14 -0
- package/docs/generated-docs/maz-animated-text.doc.md +14 -0
- package/docs/generated-docs/maz-avatar.doc.md +44 -0
- package/docs/generated-docs/maz-backdrop.doc.md +61 -0
- package/docs/generated-docs/maz-badge.doc.md +16 -0
- package/docs/generated-docs/maz-bottom-sheet.doc.md +21 -0
- package/docs/generated-docs/maz-btn.doc.md +30 -0
- package/docs/generated-docs/maz-card-spotlight.doc.md +16 -0
- package/docs/generated-docs/maz-card.doc.md +39 -0
- package/docs/generated-docs/maz-carousel.doc.md +16 -0
- package/docs/generated-docs/maz-chart.doc.md +10 -0
- package/docs/generated-docs/maz-checkbox.doc.md +34 -0
- package/docs/generated-docs/maz-checklist.doc.md +30 -0
- package/docs/generated-docs/maz-circular-progress-bar.doc.md +27 -0
- package/docs/generated-docs/maz-date-picker.doc.md +52 -0
- package/docs/generated-docs/maz-dialog-confirm.doc.md +24 -0
- package/docs/generated-docs/maz-dialog.doc.md +22 -0
- package/docs/generated-docs/maz-drawer.doc.md +26 -0
- package/docs/generated-docs/maz-dropdown.doc.md +42 -0
- package/docs/generated-docs/maz-dropzone.doc.md +82 -0
- package/docs/generated-docs/maz-expand-animation.doc.md +12 -0
- package/docs/generated-docs/maz-fullscreen-loader.doc.md +13 -0
- package/docs/generated-docs/maz-gallery.doc.md +17 -0
- package/docs/generated-docs/maz-icon.doc.md +18 -0
- package/docs/generated-docs/maz-input-code.doc.md +25 -0
- package/docs/generated-docs/maz-input-number.doc.md +31 -0
- package/docs/generated-docs/maz-input-phone-number.doc.md +56 -0
- package/docs/generated-docs/maz-input-price.doc.md +26 -0
- package/docs/generated-docs/maz-input-tags.doc.md +24 -0
- package/docs/generated-docs/maz-input.doc.md +54 -0
- package/docs/generated-docs/maz-lazy-img.doc.md +31 -0
- package/docs/generated-docs/maz-link.doc.md +31 -0
- package/docs/generated-docs/maz-loading-bar.doc.md +6 -0
- package/docs/generated-docs/maz-pagination.doc.md +22 -0
- package/docs/generated-docs/maz-popover.doc.md +70 -0
- package/docs/generated-docs/maz-pull-to-refresh.doc.md +31 -0
- package/docs/generated-docs/maz-radio-buttons.doc.md +33 -0
- package/docs/generated-docs/maz-radio.doc.md +33 -0
- package/docs/generated-docs/maz-reading-progress-bar.doc.md +18 -0
- package/docs/generated-docs/maz-select-country.doc.md +44 -0
- package/docs/generated-docs/maz-select.doc.md +65 -0
- package/docs/generated-docs/maz-slider.doc.md +20 -0
- package/docs/generated-docs/maz-spinner.doc.md +6 -0
- package/docs/generated-docs/maz-stepper.doc.md +29 -0
- package/docs/generated-docs/maz-switch.doc.md +31 -0
- package/docs/generated-docs/maz-table-cell.doc.md +5 -0
- package/docs/generated-docs/maz-table-row.doc.md +11 -0
- package/docs/generated-docs/maz-table-title.doc.md +5 -0
- package/docs/generated-docs/maz-table.doc.md +66 -0
- package/docs/generated-docs/maz-tabs-bar.doc.md +18 -0
- package/docs/generated-docs/maz-tabs-content-item.doc.md +11 -0
- package/docs/generated-docs/maz-tabs-content.doc.md +5 -0
- package/docs/generated-docs/maz-tabs.doc.md +17 -0
- package/docs/generated-docs/maz-textarea.doc.md +41 -0
- package/docs/src/components/index.md +8 -0
- package/docs/src/components/maz-accordion.md +80 -0
- package/docs/src/components/maz-animated-counter.md +124 -0
- package/docs/src/components/maz-animated-element.md +36 -0
- package/docs/src/components/maz-animated-text.md +36 -0
- package/docs/src/components/maz-avatar.md +179 -0
- package/docs/src/components/maz-backdrop.md +16 -0
- package/docs/src/components/maz-badge.md +222 -0
- package/docs/src/components/maz-bottom-sheet.md +398 -0
- package/docs/src/components/maz-btn.md +526 -0
- package/docs/src/components/maz-card-spotlight.md +163 -0
- package/docs/src/components/maz-card.md +447 -0
- package/docs/src/components/maz-carousel.md +127 -0
- package/docs/src/components/maz-chart.md +346 -0
- package/docs/src/components/maz-checkbox.md +168 -0
- package/docs/src/components/maz-checklist.md +414 -0
- package/docs/src/components/maz-circular-progress-bar.md +147 -0
- package/docs/src/components/maz-date-picker.md +1078 -0
- package/docs/src/components/maz-dialog-confirm.md +240 -0
- package/docs/src/components/maz-dialog.md +208 -0
- package/docs/src/components/maz-drawer.md +177 -0
- package/docs/src/components/maz-dropdown.md +650 -0
- package/docs/src/components/maz-dropzone.md +442 -0
- package/docs/src/components/maz-expand-animation.md +99 -0
- package/docs/src/components/maz-fullscreen-loader.md +58 -0
- package/docs/src/components/maz-gallery.md +85 -0
- package/docs/src/components/maz-icon.md +85 -0
- package/docs/src/components/maz-input-code.md +61 -0
- package/docs/src/components/maz-input-number.md +81 -0
- package/docs/src/components/maz-input-phone-number.md +867 -0
- package/docs/src/components/maz-input-price.md +58 -0
- package/docs/src/components/maz-input-tags.md +114 -0
- package/docs/src/components/maz-input.md +453 -0
- package/docs/src/components/maz-lazy-img.md +24 -0
- package/docs/src/components/maz-link.md +156 -0
- package/docs/src/components/maz-loading-bar.md +26 -0
- package/docs/src/components/maz-pagination.md +81 -0
- package/docs/src/components/maz-popover.md +1414 -0
- package/docs/src/components/maz-pull-to-refresh.md +49 -0
- package/docs/src/components/maz-radio-buttons.md +456 -0
- package/docs/src/components/maz-radio.md +141 -0
- package/docs/src/components/maz-reading-progress-bar.md +74 -0
- package/docs/src/components/maz-select-country.md +636 -0
- package/docs/src/components/maz-select.md +439 -0
- package/docs/src/components/maz-slider.md +191 -0
- package/docs/src/components/maz-spinner.md +93 -0
- package/docs/src/components/maz-stepper.md +418 -0
- package/docs/src/components/maz-switch.md +92 -0
- package/docs/src/components/maz-table.md +571 -0
- package/docs/src/components/maz-tabs.md +231 -0
- package/docs/src/components/maz-textarea.md +218 -0
- package/docs/src/composables/use-aos.md +34 -0
- package/docs/src/composables/use-breakpoints.md +35 -0
- package/docs/src/composables/use-dialog.md +88 -0
- package/docs/src/composables/use-display-names.md +174 -0
- package/docs/src/composables/use-form-validator.md +1149 -0
- package/docs/src/composables/use-idle-timeout.md +256 -0
- package/docs/src/composables/use-reading-time.md +168 -0
- package/docs/src/composables/use-string-matching.md +63 -0
- package/docs/src/composables/use-swipe.md +223 -0
- package/docs/src/composables/use-timer.md +130 -0
- package/docs/src/composables/use-toast.md +71 -0
- package/docs/src/composables/use-user-visibility.md +169 -0
- package/docs/src/composables/use-wait.md +62 -0
- package/docs/src/composables/use-window-size.md +18 -0
- package/docs/src/demo/DemoAuthPage.vue +178 -0
- package/docs/src/demo/DemoDashboardPage.vue +298 -0
- package/docs/src/demo/DemoProductPage.vue +135 -0
- package/docs/src/directives/click-outside.md +275 -0
- package/docs/src/directives/fullscreen-img.md +101 -0
- package/docs/src/directives/lazy-img.md +184 -0
- package/docs/src/directives/tooltip.md +458 -0
- package/docs/src/directives/zoom-img.md +127 -0
- package/docs/src/guide/cli.md +144 -0
- package/docs/src/guide/getting-started.md +284 -0
- package/docs/src/guide/icon-set.md +60 -0
- package/docs/src/guide/icons.md +481 -0
- package/docs/src/guide/mcp.md +210 -0
- package/docs/src/guide/migration-v4.md +898 -0
- package/docs/src/guide/nuxt.md +411 -0
- package/docs/src/guide/resolvers.md +697 -0
- package/docs/src/guide/themes.md +789 -0
- package/docs/src/guide/translations.md +1173 -0
- package/docs/src/guide/vue.md +243 -0
- package/docs/src/helpers/camel-case.md +14 -0
- package/docs/src/helpers/capitalize.md +51 -0
- package/docs/src/helpers/check-availability.md +14 -0
- package/docs/src/helpers/country-code-to-unicode-flag.md +213 -0
- package/docs/src/helpers/currency.md +67 -0
- package/docs/src/helpers/date.md +67 -0
- package/docs/src/helpers/debounce-callback.md +14 -0
- package/docs/src/helpers/debounce-id.md +14 -0
- package/docs/src/helpers/debounce.md +14 -0
- package/docs/src/helpers/get-country-flag-url.md +156 -0
- package/docs/src/helpers/is-client.md +14 -0
- package/docs/src/helpers/is-equal.md +14 -0
- package/docs/src/helpers/is-standalone-mode.md +14 -0
- package/docs/src/helpers/kebab-case.md +14 -0
- package/docs/src/helpers/normalize-string.md +14 -0
- package/docs/src/helpers/number.md +65 -0
- package/docs/src/helpers/pascal-case.md +14 -0
- package/docs/src/helpers/script-loader.md +14 -0
- package/docs/src/helpers/sleep.md +14 -0
- package/docs/src/helpers/snake-case.md +14 -0
- package/docs/src/helpers/throttle-id.md +14 -0
- package/docs/src/helpers/throttle.md +14 -0
- package/docs/src/index.md +555 -0
- package/docs/src/made-with-maz-ui.md +58 -0
- package/docs/src/plugins/aos.md +347 -0
- package/docs/src/plugins/dialog.md +411 -0
- package/docs/src/plugins/toast.md +349 -0
- package/docs/src/plugins/wait.md +109 -0
- package/package.json +84 -0
|
@@ -0,0 +1,458 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: vTooltip
|
|
3
|
+
description: vTooltip is a Vue 3 directive to display a text when the user hovers an element
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# {{ $frontmatter.title }}
|
|
7
|
+
|
|
8
|
+
{{ $frontmatter.description }}
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
## Basic usage
|
|
12
|
+
|
|
13
|
+
<ComponentDemo>
|
|
14
|
+
<p class="maz-mb-4">
|
|
15
|
+
Hover the buttons
|
|
16
|
+
</p>
|
|
17
|
+
<div
|
|
18
|
+
class="maz-flex maz-gap-3 maz-flex-wrap"
|
|
19
|
+
>
|
|
20
|
+
<MazBtn v-tooltip="'This is a top tooltip'">
|
|
21
|
+
Top
|
|
22
|
+
</MazBtn>
|
|
23
|
+
<MazBtn v-tooltip.right="'This is a top tooltip'">
|
|
24
|
+
Right
|
|
25
|
+
</MazBtn>
|
|
26
|
+
<MazBtn v-tooltip.left="'This is a top tooltip'">
|
|
27
|
+
Left
|
|
28
|
+
</MazBtn>
|
|
29
|
+
<MazBtn v-tooltip.bottom="'This is a top tooltip'">
|
|
30
|
+
Bottom
|
|
31
|
+
</MazBtn>
|
|
32
|
+
</div>
|
|
33
|
+
|
|
34
|
+
<template #code>
|
|
35
|
+
|
|
36
|
+
```vue
|
|
37
|
+
<script lang="ts" setup>
|
|
38
|
+
import { vTooltip } from 'maz-ui/directives'
|
|
39
|
+
</script>
|
|
40
|
+
|
|
41
|
+
<template>
|
|
42
|
+
<MazBtn v-tooltip="'This is a top tooltip'">
|
|
43
|
+
Top
|
|
44
|
+
</MazBtn>
|
|
45
|
+
<MazBtn v-tooltip.right="'This is a top tooltip'">
|
|
46
|
+
Right
|
|
47
|
+
</MazBtn>
|
|
48
|
+
<MazBtn v-tooltip.left="'This is a top tooltip'">
|
|
49
|
+
Left
|
|
50
|
+
</MazBtn>
|
|
51
|
+
<MazBtn v-tooltip.bottom="'This is a top tooltip'">
|
|
52
|
+
Bottom
|
|
53
|
+
</MazBtn>
|
|
54
|
+
</template>
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
</template>
|
|
58
|
+
</ComponentDemo>
|
|
59
|
+
|
|
60
|
+
## Colors
|
|
61
|
+
|
|
62
|
+
<ComponentDemo>
|
|
63
|
+
<p class="maz-mb-4">
|
|
64
|
+
Hover the buttons
|
|
65
|
+
</p>
|
|
66
|
+
<div
|
|
67
|
+
class="maz-flex maz-gap-3 maz-flex-wrap"
|
|
68
|
+
>
|
|
69
|
+
<MazBtn v-tooltip="{ text: 'Tooltip text', color: 'primary' }">
|
|
70
|
+
Primary
|
|
71
|
+
</MazBtn>
|
|
72
|
+
<MazBtn v-tooltip="{ text: 'Tooltip text', color: 'secondary' }" color="secondary">
|
|
73
|
+
Secondary
|
|
74
|
+
</MazBtn>
|
|
75
|
+
<MazBtn v-tooltip="{ text: 'Tooltip text', color: 'accent' }" color="accent">
|
|
76
|
+
Accent
|
|
77
|
+
</MazBtn>
|
|
78
|
+
<MazBtn v-tooltip="{ text: 'Tooltip text', color: 'success' }" color="success">
|
|
79
|
+
Success
|
|
80
|
+
</MazBtn>
|
|
81
|
+
<MazBtn v-tooltip="{ text: 'Tooltip text', color: 'warning' }" color="warning">
|
|
82
|
+
Warning
|
|
83
|
+
</MazBtn>
|
|
84
|
+
<MazBtn v-tooltip="{ text: 'Tooltip text', color: 'destructive' }" color="destructive">
|
|
85
|
+
Destructive
|
|
86
|
+
</MazBtn>
|
|
87
|
+
<MazBtn v-tooltip="{ text: 'Tooltip text', color: 'info' }" color="info">
|
|
88
|
+
Info
|
|
89
|
+
</MazBtn>
|
|
90
|
+
<MazBtn v-tooltip="{ text: 'Tooltip text', color: 'contrast' }" color="contrast">
|
|
91
|
+
Contrast
|
|
92
|
+
</MazBtn>
|
|
93
|
+
<MazBtn v-tooltip="{ text: 'Tooltip text', color: 'default' }" color="background">
|
|
94
|
+
Background
|
|
95
|
+
</MazBtn>
|
|
96
|
+
</div>
|
|
97
|
+
|
|
98
|
+
<template #code>
|
|
99
|
+
|
|
100
|
+
```html
|
|
101
|
+
<MazBtn v-tooltip="{ text: 'Tooltip text', color: 'primary' }">
|
|
102
|
+
Primary
|
|
103
|
+
</MazBtn>
|
|
104
|
+
|
|
105
|
+
<MazBtn v-tooltip="{ text: 'Tooltip text', color: 'secondary' }" color="secondary">
|
|
106
|
+
Secondary
|
|
107
|
+
</MazBtn>
|
|
108
|
+
|
|
109
|
+
<MazBtn v-tooltip="{ text: 'Tooltip text', color: 'success' }" color="success">
|
|
110
|
+
Success
|
|
111
|
+
</MazBtn>
|
|
112
|
+
|
|
113
|
+
<MazBtn v-tooltip="{ text: 'Tooltip text', color: 'warning' }" color="warning">
|
|
114
|
+
Warning
|
|
115
|
+
</MazBtn>
|
|
116
|
+
|
|
117
|
+
<MazBtn v-tooltip="{ text: 'Tooltip text', color: 'destructive' }" color="destructive">
|
|
118
|
+
destructive
|
|
119
|
+
</MazBtn>
|
|
120
|
+
|
|
121
|
+
<MazBtn v-tooltip="{ text: 'Tooltip text', color: 'info' }" color="info">
|
|
122
|
+
Info
|
|
123
|
+
</MazBtn>
|
|
124
|
+
|
|
125
|
+
<MazBtn v-tooltip="{ text: 'Tooltip text', color: 'accent' }" color="accent">
|
|
126
|
+
Accent
|
|
127
|
+
</MazBtn>
|
|
128
|
+
|
|
129
|
+
<MazBtn v-tooltip="{ text: 'Tooltip text', color: 'contrast' }" color="contrast">
|
|
130
|
+
Contrast
|
|
131
|
+
</MazBtn>
|
|
132
|
+
|
|
133
|
+
<MazBtn v-tooltip="{ text: 'Tooltip text', color: 'default' }" color="background">
|
|
134
|
+
Background
|
|
135
|
+
</MazBtn>
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
</template>
|
|
139
|
+
</ComponentDemo>
|
|
140
|
+
|
|
141
|
+
## Position
|
|
142
|
+
|
|
143
|
+
You can change the position of the tooltip by passing a `position` option or using the directive modifier (e.g. `v-tooltip.top`).
|
|
144
|
+
|
|
145
|
+
<ComponentDemo>
|
|
146
|
+
<div
|
|
147
|
+
class="maz-flex maz-gap-3 maz-flex-wrap"
|
|
148
|
+
>
|
|
149
|
+
<MazBtn v-tooltip.bottom="{ text: 'Tooltip text' }">
|
|
150
|
+
Bottom
|
|
151
|
+
</MazBtn>
|
|
152
|
+
<MazBtn v-tooltip.left="{ text: 'Tooltip text' }">
|
|
153
|
+
Left
|
|
154
|
+
</MazBtn>
|
|
155
|
+
<MazBtn v-tooltip.right="{ text: 'Tooltip text' }">
|
|
156
|
+
Right
|
|
157
|
+
</MazBtn>
|
|
158
|
+
<MazBtn v-tooltip.top="{ text: 'Tooltip text' }">
|
|
159
|
+
Top
|
|
160
|
+
</MazBtn>
|
|
161
|
+
<MazBtn v-tooltip.top-start="{ text: 'Tooltip text' }">
|
|
162
|
+
Top start
|
|
163
|
+
</MazBtn>
|
|
164
|
+
<MazBtn v-tooltip.top-end="{ text: 'Tooltip text' }">
|
|
165
|
+
Top end
|
|
166
|
+
</MazBtn>
|
|
167
|
+
<MazBtn v-tooltip.bottom-start="{ text: 'Tooltip text' }">
|
|
168
|
+
Bottom start
|
|
169
|
+
</MazBtn>
|
|
170
|
+
<MazBtn v-tooltip.bottom-end="{ text: 'Tooltip text' }">
|
|
171
|
+
Bottom end
|
|
172
|
+
</MazBtn>
|
|
173
|
+
<MazBtn v-tooltip.left-start="{ text: 'Tooltip text' }">
|
|
174
|
+
Left start
|
|
175
|
+
</MazBtn>
|
|
176
|
+
<MazBtn v-tooltip.left-end="{ text: 'Tooltip text' }">
|
|
177
|
+
Left end
|
|
178
|
+
</MazBtn>
|
|
179
|
+
<MazBtn v-tooltip.right-start="{ text: 'Tooltip text' }">
|
|
180
|
+
Right start
|
|
181
|
+
</MazBtn>
|
|
182
|
+
<MazBtn v-tooltip.right-end="{ text: 'Tooltip text' }">
|
|
183
|
+
Right end
|
|
184
|
+
</MazBtn>
|
|
185
|
+
</div>
|
|
186
|
+
|
|
187
|
+
<template #code>
|
|
188
|
+
|
|
189
|
+
```html
|
|
190
|
+
<MazBtn v-tooltip.bottom="{ text: 'Tooltip text' }">
|
|
191
|
+
Bottom
|
|
192
|
+
</MazBtn>
|
|
193
|
+
|
|
194
|
+
<MazBtn v-tooltip.left="{ text: 'Tooltip text' }">
|
|
195
|
+
Left
|
|
196
|
+
</MazBtn>
|
|
197
|
+
|
|
198
|
+
<MazBtn v-tooltip.right="{ text: 'Tooltip text' }">
|
|
199
|
+
Right
|
|
200
|
+
</MazBtn>
|
|
201
|
+
|
|
202
|
+
<MazBtn v-tooltip.top="{ text: 'Tooltip text' }">
|
|
203
|
+
Top
|
|
204
|
+
</MazBtn>
|
|
205
|
+
|
|
206
|
+
<MazBtn v-tooltip.top-start="{ text: 'Tooltip text' }">
|
|
207
|
+
Top start
|
|
208
|
+
</MazBtn>
|
|
209
|
+
|
|
210
|
+
<MazBtn v-tooltip.top-end="{ text: 'Tooltip text' }">
|
|
211
|
+
Top end
|
|
212
|
+
</MazBtn>
|
|
213
|
+
|
|
214
|
+
<MazBtn v-tooltip.bottom-start="{ text: 'Tooltip text' }">
|
|
215
|
+
Bottom start
|
|
216
|
+
</MazBtn>
|
|
217
|
+
|
|
218
|
+
<MazBtn v-tooltip.bottom-end="{ text: 'Tooltip text' }">
|
|
219
|
+
Bottom end
|
|
220
|
+
</MazBtn>
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
</template>
|
|
224
|
+
</ComponentDemo>
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
## HTML content
|
|
228
|
+
|
|
229
|
+
You can also use HTML content in the tooltip by passing a string to the `html` option.
|
|
230
|
+
|
|
231
|
+
<ComponentDemo>
|
|
232
|
+
<div
|
|
233
|
+
class="maz-flex maz-gap-3 maz-flex-wrap"
|
|
234
|
+
>
|
|
235
|
+
<MazBtn v-tooltip="{ html: '<strong>Tooltip</strong> text <br> with <br> line breaks' }">
|
|
236
|
+
HTML
|
|
237
|
+
</MazBtn>
|
|
238
|
+
</div>
|
|
239
|
+
|
|
240
|
+
<template #code>
|
|
241
|
+
|
|
242
|
+
```html
|
|
243
|
+
<MazBtn v-tooltip="{ html: '<strong>Tooltip</strong> text <br> with <br> line breaks' }">
|
|
244
|
+
HTML
|
|
245
|
+
</MazBtn>
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
</template>
|
|
249
|
+
</ComponentDemo>
|
|
250
|
+
|
|
251
|
+
## Customization
|
|
252
|
+
|
|
253
|
+
You can customize the tooltip by passing a `panelClass` or `panelStyle` option.
|
|
254
|
+
|
|
255
|
+
<ComponentDemo>
|
|
256
|
+
<div
|
|
257
|
+
class="maz-flex maz-gap-3 maz-flex-wrap"
|
|
258
|
+
>
|
|
259
|
+
<MazBtn v-tooltip="{ text: 'Tooltip text', panelClass: 'maz-text-destructive' }">
|
|
260
|
+
panelClass
|
|
261
|
+
</MazBtn>
|
|
262
|
+
<MazBtn v-tooltip="{ text: 'Tooltip text', panelStyle: 'background-color: red; color: white;' }">
|
|
263
|
+
panelStyle
|
|
264
|
+
</MazBtn>
|
|
265
|
+
</div>
|
|
266
|
+
|
|
267
|
+
<template #code>
|
|
268
|
+
|
|
269
|
+
```html
|
|
270
|
+
<MazBtn v-tooltip="{ text: 'Tooltip text', panelClass: 'text-red-500' }">
|
|
271
|
+
panelClass
|
|
272
|
+
</MazBtn>
|
|
273
|
+
<MazBtn v-tooltip="{ text: 'Tooltip text', panelStyle: 'background-color: red; color: white;' }">
|
|
274
|
+
panelStyle
|
|
275
|
+
</MazBtn>
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
</template>
|
|
279
|
+
</ComponentDemo>
|
|
280
|
+
|
|
281
|
+
## Trigger
|
|
282
|
+
|
|
283
|
+
You can change the trigger mode of the tooltip by passing a `trigger` option.
|
|
284
|
+
|
|
285
|
+
The default trigger is `hover`.
|
|
286
|
+
|
|
287
|
+
The `adaptive` trigger will use the `click` trigger on touch devices (mobile and tablet) and the `hover` trigger on non-touch devices (desktop).
|
|
288
|
+
|
|
289
|
+
<ComponentDemo>
|
|
290
|
+
<div
|
|
291
|
+
class="maz-flex maz-gap-3 maz-flex-wrap"
|
|
292
|
+
>
|
|
293
|
+
<MazBtn v-tooltip="{ text: 'Tooltip text', trigger: 'click' }">
|
|
294
|
+
Click
|
|
295
|
+
</MazBtn>
|
|
296
|
+
<MazBtn v-tooltip="{ text: 'Tooltip text', trigger: 'hover' }">
|
|
297
|
+
Hover
|
|
298
|
+
</MazBtn>
|
|
299
|
+
<MazBtn v-tooltip="{ text: 'Tooltip text', trigger: 'adaptive' }">
|
|
300
|
+
Adaptive
|
|
301
|
+
</MazBtn>
|
|
302
|
+
</div>
|
|
303
|
+
|
|
304
|
+
<template #code>
|
|
305
|
+
|
|
306
|
+
```html
|
|
307
|
+
<MazBtn v-tooltip="{ text: 'Tooltip text', trigger: 'click' }">
|
|
308
|
+
Click
|
|
309
|
+
</MazBtn>
|
|
310
|
+
|
|
311
|
+
<MazBtn v-tooltip="{ text: 'Tooltip text', trigger: 'hover' }">
|
|
312
|
+
Hover
|
|
313
|
+
</MazBtn>
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
</template>
|
|
317
|
+
</ComponentDemo>
|
|
318
|
+
|
|
319
|
+
## Offset
|
|
320
|
+
|
|
321
|
+
The `offset` (in px) option allows you to adjust the position of the tooltip relative to the original element.
|
|
322
|
+
|
|
323
|
+
<ComponentDemo>
|
|
324
|
+
<div
|
|
325
|
+
class="maz-flex maz-gap-3 maz-flex-wrap"
|
|
326
|
+
>
|
|
327
|
+
<MazBtn v-tooltip="{ text: 'Tooltip text', offset: 0 }">
|
|
328
|
+
0
|
|
329
|
+
</MazBtn>
|
|
330
|
+
<MazBtn v-tooltip="{ text: 'Tooltip text', offset: 10 }">
|
|
331
|
+
10
|
|
332
|
+
</MazBtn>
|
|
333
|
+
<MazBtn v-tooltip="{ text: 'Tooltip text', offset: 20 }">
|
|
334
|
+
20
|
|
335
|
+
</MazBtn>
|
|
336
|
+
<MazBtn v-tooltip="{ text: 'Tooltip text', offset: 40 }">
|
|
337
|
+
40
|
|
338
|
+
</MazBtn>
|
|
339
|
+
</div>
|
|
340
|
+
|
|
341
|
+
<template #code>
|
|
342
|
+
|
|
343
|
+
</template>
|
|
344
|
+
</ComponentDemo>
|
|
345
|
+
|
|
346
|
+
## Open programmatically
|
|
347
|
+
|
|
348
|
+
<ComponentDemo>
|
|
349
|
+
<div class="maz-flex maz-gap-3 maz-flex-wrap">
|
|
350
|
+
<MazBtn v-tooltip.top="{ text: 'Tooltip text', open: open }">
|
|
351
|
+
Primary
|
|
352
|
+
</MazBtn>
|
|
353
|
+
<MazBtn @click="open = !open" color="secondary">
|
|
354
|
+
Toggle tooltip
|
|
355
|
+
</MazBtn>
|
|
356
|
+
</div>
|
|
357
|
+
|
|
358
|
+
<template #code>
|
|
359
|
+
|
|
360
|
+
```vue
|
|
361
|
+
<script lang="ts" setup>
|
|
362
|
+
import { vTooltip } from 'maz-ui/directives'
|
|
363
|
+
import { ref } from 'vue'
|
|
364
|
+
|
|
365
|
+
const open = ref(true)
|
|
366
|
+
</script>
|
|
367
|
+
|
|
368
|
+
<template>
|
|
369
|
+
<MazBtn v-tooltip.top="{ text: 'Tooltip text', open }">
|
|
370
|
+
Primary
|
|
371
|
+
</MazBtn>
|
|
372
|
+
<MazBtn color="secondary" @click="open = !open">
|
|
373
|
+
Toggle tooltip
|
|
374
|
+
</MazBtn>
|
|
375
|
+
</template>
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
</template>
|
|
379
|
+
</ComponentDemo>
|
|
380
|
+
|
|
381
|
+
## Global install
|
|
382
|
+
|
|
383
|
+
### Vue
|
|
384
|
+
|
|
385
|
+
```typescript
|
|
386
|
+
import { vTooltipInstall } from 'maz-ui/directives'
|
|
387
|
+
import { createApp } from 'vue'
|
|
388
|
+
|
|
389
|
+
const app = createApp(App)
|
|
390
|
+
|
|
391
|
+
// Options are optional
|
|
392
|
+
app.use(vTooltipInstall, {
|
|
393
|
+
position: 'top',
|
|
394
|
+
color: 'primary',
|
|
395
|
+
})
|
|
396
|
+
|
|
397
|
+
app.mount('#app')
|
|
398
|
+
```
|
|
399
|
+
|
|
400
|
+
### Nuxt
|
|
401
|
+
|
|
402
|
+
Please refer to the [Nuxt module documentation](./../guide/nuxt.md) for more information.
|
|
403
|
+
|
|
404
|
+
## Types
|
|
405
|
+
|
|
406
|
+
```ts
|
|
407
|
+
interface VTooltipOptions extends Partial<Omit<MazPopoverProps, 'modelValue'>> {
|
|
408
|
+
/**
|
|
409
|
+
* Text to display in the tooltip
|
|
410
|
+
*/
|
|
411
|
+
text?: string
|
|
412
|
+
/**
|
|
413
|
+
* HTML content (alternative to text)
|
|
414
|
+
*/
|
|
415
|
+
html?: string
|
|
416
|
+
/**
|
|
417
|
+
* Color variant of the tooltip
|
|
418
|
+
* @default default
|
|
419
|
+
*/
|
|
420
|
+
color?: MazPopoverProps['color']
|
|
421
|
+
/**
|
|
422
|
+
* Position of the tooltip
|
|
423
|
+
* @default top
|
|
424
|
+
*/
|
|
425
|
+
position?: PopoverPosition
|
|
426
|
+
/**
|
|
427
|
+
* Trigger of the tooltip
|
|
428
|
+
* @default hover
|
|
429
|
+
*/
|
|
430
|
+
trigger?: MazPopoverTrigger
|
|
431
|
+
/**
|
|
432
|
+
* Close on click outside
|
|
433
|
+
* @default false
|
|
434
|
+
*/
|
|
435
|
+
closeOnClickOutside?: boolean
|
|
436
|
+
/**
|
|
437
|
+
* Close on escape
|
|
438
|
+
* @default false
|
|
439
|
+
*/
|
|
440
|
+
closeOnEscape?: boolean
|
|
441
|
+
|
|
442
|
+
/**
|
|
443
|
+
* Open the tooltip
|
|
444
|
+
* @default false
|
|
445
|
+
*/
|
|
446
|
+
open?: boolean
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
type VTooltipBindingValue
|
|
450
|
+
= | string
|
|
451
|
+
| VTooltipOptions
|
|
452
|
+
```
|
|
453
|
+
|
|
454
|
+
<script lang="ts" setup>
|
|
455
|
+
import { ref } from 'vue'
|
|
456
|
+
import { vTooltip } from 'maz-ui/src/directives/vTooltip'
|
|
457
|
+
const open = ref(true)
|
|
458
|
+
</script>
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: vZoomImg
|
|
3
|
+
description: vZoomImg is a Vue 3 directive to enlarge an image like a modal on click, if you have several images, you can pass them like a carousel
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# {{ $frontmatter.title }}
|
|
7
|
+
|
|
8
|
+
{{ $frontmatter.description }}
|
|
9
|
+
|
|
10
|
+
> Can be mixed with [vLazyImg](./lazy-img.md) directive
|
|
11
|
+
|
|
12
|
+
## Basic usage
|
|
13
|
+
|
|
14
|
+
> Click on the photo
|
|
15
|
+
|
|
16
|
+
<MazCard overflow-hidden>
|
|
17
|
+
<img
|
|
18
|
+
src="https://loremflickr.com/1500/1000"
|
|
19
|
+
v-zoom-img="{ src: 'https://loremflickr.com/1500/1000' }"
|
|
20
|
+
/>
|
|
21
|
+
</MazCard>
|
|
22
|
+
<br />
|
|
23
|
+
<br />
|
|
24
|
+
<MazBtn v-zoom-img="{ src: 'https://loremflickr.com/1000/500' }">
|
|
25
|
+
Show photo
|
|
26
|
+
</MazBtn>
|
|
27
|
+
|
|
28
|
+
```vue
|
|
29
|
+
<script lang="ts" setup>
|
|
30
|
+
import { vZoomImg } from 'maz-ui/directives'
|
|
31
|
+
</script>
|
|
32
|
+
|
|
33
|
+
<template>
|
|
34
|
+
<MazCard overflow-hidden>
|
|
35
|
+
<img
|
|
36
|
+
v-zoom-img="{ src: 'https://loremflickr.com/1500/1000' }"
|
|
37
|
+
src="https://loremflickr.com/1500/1000"
|
|
38
|
+
>
|
|
39
|
+
</MazCard>
|
|
40
|
+
|
|
41
|
+
<MazBtn v-zoom-img="{ src: 'https://loremflickr.com/1000/500' }">
|
|
42
|
+
Show photo
|
|
43
|
+
</MazBtn>
|
|
44
|
+
</template>
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Options
|
|
48
|
+
|
|
49
|
+
<br />
|
|
50
|
+
|
|
51
|
+
<MazCard overflow-hidden>
|
|
52
|
+
<img
|
|
53
|
+
src="https://loremflickr.com/1200/800"
|
|
54
|
+
v-zoom-img="zoomImgBinding"
|
|
55
|
+
/>
|
|
56
|
+
</MazCard>
|
|
57
|
+
|
|
58
|
+
<script lang="ts" setup>
|
|
59
|
+
import { vZoomImg } from 'maz-ui/src/directives/vZoomImg'
|
|
60
|
+
|
|
61
|
+
const zoomImgBinding: vZoomImgBinding = {
|
|
62
|
+
src: 'https://loremflickr.com/1200/800',
|
|
63
|
+
alt: 'alt image',
|
|
64
|
+
blur: false,
|
|
65
|
+
scale: false,
|
|
66
|
+
disabled: false
|
|
67
|
+
}
|
|
68
|
+
</script>
|
|
69
|
+
|
|
70
|
+
```vue
|
|
71
|
+
<script lang="ts" setup>
|
|
72
|
+
import { vZoomImg, type vZoomImgBindingValue } from 'maz-ui/directives'
|
|
73
|
+
|
|
74
|
+
const zoomImgBinding: vZoomImgBindingValue = {
|
|
75
|
+
src: 'https://loremflickr.com/1200/800',
|
|
76
|
+
alt: 'alt image', // will be set on the zoomed image
|
|
77
|
+
blur: false,
|
|
78
|
+
scale: false,
|
|
79
|
+
disabled: false
|
|
80
|
+
}
|
|
81
|
+
</script>
|
|
82
|
+
|
|
83
|
+
<template>
|
|
84
|
+
<MazCard overflow-hidden>
|
|
85
|
+
<img
|
|
86
|
+
v-zoom-img="zoomImgBinding"
|
|
87
|
+
src="https://loremflickr.com/1200/800"
|
|
88
|
+
>
|
|
89
|
+
</MazCard>
|
|
90
|
+
</template>
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## Global install
|
|
94
|
+
|
|
95
|
+
### Vue
|
|
96
|
+
|
|
97
|
+
```typescript
|
|
98
|
+
import { vZoomImgInstall, type vZoomImgOptions } from 'maz-ui/directives'
|
|
99
|
+
import { createApp } from 'vue'
|
|
100
|
+
|
|
101
|
+
const app = createApp(App)
|
|
102
|
+
|
|
103
|
+
app.use(vZoomImgInstall)
|
|
104
|
+
|
|
105
|
+
app.mount('#app')
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Nuxt
|
|
109
|
+
|
|
110
|
+
Please refer to the [Nuxt module documentation](./../guide/nuxt.md) for more information.
|
|
111
|
+
|
|
112
|
+
## Types
|
|
113
|
+
|
|
114
|
+
```ts
|
|
115
|
+
export interface vZoomImgOptions {
|
|
116
|
+
disabled?: boolean
|
|
117
|
+
scale?: boolean
|
|
118
|
+
blur?: boolean
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
interface vZoomImgBindingOptions extends vZoomImgOptions {
|
|
122
|
+
src: string
|
|
123
|
+
alt?: string
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
export type vZoomImgBindingValue = string | vZoomImgBindingOptions
|
|
127
|
+
```
|