@volverjs/ui-vue 0.0.10-beta.15 → 0.0.10-beta.16
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 +96 -2
- package/auto-imports.d.ts +2 -0
- package/dist/components/VvAccordion/VvAccordion.es.js +33 -9
- package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
- package/dist/components/VvAccordion/VvAccordion.vue.d.ts +9 -2
- package/dist/components/VvAccordion/index.d.ts +4 -1
- package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +33 -9
- package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
- package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +9 -2
- package/dist/components/VvAccordionGroup/index.d.ts +4 -1
- package/dist/components/VvAction/VvAction.es.js +29 -8
- package/dist/components/VvAction/VvAction.umd.js +1 -1
- package/dist/components/VvAction/VvAction.vue.d.ts +44 -10
- package/dist/components/VvAction/index.d.ts +21 -5
- package/dist/components/VvAlert/VvAlert.es.js +91 -107
- package/dist/components/VvAlert/VvAlert.umd.js +1 -1
- package/dist/components/VvAlert/VvAlert.vue.d.ts +14 -4
- package/dist/components/VvAlert/index.d.ts +7 -3
- package/dist/components/VvAlertGroup/VvAlertGroup.es.js +91 -107
- package/dist/components/VvAlertGroup/VvAlertGroup.umd.js +1 -1
- package/dist/components/VvAlertGroup/VvAlertGroup.vue.d.ts +9 -2
- package/dist/components/VvAlertGroup/index.d.ts +6 -2
- package/dist/components/VvAvatar/VvAvatar.es.js +33 -9
- package/dist/components/VvAvatar/VvAvatar.umd.js +1 -1
- package/dist/components/VvAvatar/VvAvatar.vue.d.ts +11 -3
- package/dist/components/VvAvatar/index.d.ts +4 -1
- package/dist/components/VvAvatarGroup/VvAvatarGroup.es.js +33 -9
- package/dist/components/VvAvatarGroup/VvAvatarGroup.umd.js +1 -1
- package/dist/components/VvAvatarGroup/VvAvatarGroup.vue.d.ts +9 -2
- package/dist/components/VvAvatarGroup/index.d.ts +4 -1
- package/dist/components/VvBadge/VvBadge.es.js +33 -9
- package/dist/components/VvBadge/VvBadge.umd.js +1 -1
- package/dist/components/VvBadge/VvBadge.vue.d.ts +11 -3
- package/dist/components/VvBadge/index.d.ts +4 -1
- package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +33 -9
- package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
- package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +11 -3
- package/dist/components/VvBreadcrumb/index.d.ts +4 -1
- package/dist/components/VvButton/VvButton.es.js +100 -119
- package/dist/components/VvButton/VvButton.umd.js +1 -1
- package/dist/components/VvButton/VvButton.vue.d.ts +78 -20
- package/dist/components/VvButton/index.d.ts +34 -12
- package/dist/components/VvButtonGroup/VvButtonGroup.es.js +33 -9
- package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
- package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +17 -4
- package/dist/components/VvButtonGroup/index.d.ts +8 -2
- package/dist/components/VvCard/VvCard.es.js +33 -9
- package/dist/components/VvCard/VvCard.umd.js +1 -1
- package/dist/components/VvCard/VvCard.vue.d.ts +11 -3
- package/dist/components/VvCard/index.d.ts +4 -1
- package/dist/components/VvCheckbox/VvCheckbox.es.js +56 -17
- package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
- package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +94 -22
- package/dist/components/VvCheckbox/index.d.ts +44 -11
- package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +64 -19
- package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
- package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +93 -22
- package/dist/components/VvCheckboxGroup/index.d.ts +44 -11
- package/dist/components/VvCombobox/VvCombobox.es.js +108 -165
- package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
- package/dist/components/VvCombobox/VvCombobox.vue.d.ts +97 -24
- package/dist/components/VvCombobox/index.d.ts +42 -11
- package/dist/components/VvDialog/VvDialog.es.js +51 -103
- package/dist/components/VvDialog/VvDialog.umd.js +1 -1
- package/dist/components/VvDropdown/VvDropdown.es.js +33 -9
- package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
- package/dist/components/VvDropdown/VvDropdown.vue.d.ts +14 -2
- package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +61 -12
- package/dist/components/VvDropdown/VvDropdownOptgroup.vue.d.ts +11 -3
- package/dist/components/VvDropdown/VvDropdownOption.vue.d.ts +25 -6
- package/dist/components/VvDropdown/index.d.ts +6 -1
- package/dist/components/VvDropdownAction/VvDropdownAction.es.js +33 -9
- package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -1
- package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.es.js +29 -8
- package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.umd.js +1 -1
- package/dist/components/VvDropdownOption/VvDropdownOption.es.js +37 -10
- package/dist/components/VvDropdownOption/VvDropdownOption.umd.js +1 -1
- package/dist/components/VvIcon/VvIcon.es.js +22 -95
- package/dist/components/VvIcon/VvIcon.umd.js +1 -1
- package/dist/components/VvIcon/VvIcon.vue.d.ts +81 -44
- package/dist/components/VvIcon/index.d.ts +21 -48
- package/dist/components/VvInputFile/VvInputFile.es.js +107 -123
- package/dist/components/VvInputFile/VvInputFile.umd.js +1 -1
- package/dist/components/VvInputFile/VvInputFile.vue.d.ts +52 -12
- package/dist/components/VvInputFile/index.d.ts +24 -6
- package/dist/components/VvInputText/VvInputText.es.js +115 -147
- package/dist/components/VvInputText/VvInputText.umd.js +1 -1
- package/dist/components/VvInputText/VvInputText.vue.d.ts +141 -34
- package/dist/components/VvInputText/index.d.ts +71 -26
- package/dist/components/VvNav/VvNav.es.js +33 -9
- package/dist/components/VvNav/VvNav.umd.js +1 -1
- package/dist/components/VvNav/VvNav.vue.d.ts +9 -2
- package/dist/components/VvNav/index.d.ts +4 -1
- package/dist/components/VvNavItem/VvNavItem.es.js +29 -8
- package/dist/components/VvNavItem/VvNavItem.umd.js +1 -1
- package/dist/components/VvProgress/VvProgress.es.js +33 -9
- package/dist/components/VvProgress/VvProgress.umd.js +1 -1
- package/dist/components/VvProgress/VvProgress.vue.d.ts +9 -2
- package/dist/components/VvProgress/index.d.ts +4 -1
- package/dist/components/VvRadio/VvRadio.es.js +56 -17
- package/dist/components/VvRadio/VvRadio.umd.js +1 -1
- package/dist/components/VvRadio/VvRadio.vue.d.ts +94 -22
- package/dist/components/VvRadio/index.d.ts +44 -11
- package/dist/components/VvRadioGroup/VvRadioGroup.es.js +64 -19
- package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
- package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +93 -22
- package/dist/components/VvRadioGroup/index.d.ts +44 -11
- package/dist/components/VvSelect/VvSelect.es.js +95 -138
- package/dist/components/VvSelect/VvSelect.umd.js +1 -1
- package/dist/components/VvSelect/VvSelect.vue.d.ts +97 -24
- package/dist/components/VvSelect/index.d.ts +46 -12
- package/dist/components/VvTab/VvTab.es.js +33 -9
- package/dist/components/VvTab/VvTab.umd.js +1 -1
- package/dist/components/VvTab/VvTab.vue.d.ts +9 -2
- package/dist/components/VvTab/index.d.ts +4 -1
- package/dist/components/VvTextarea/VvTextarea.es.js +109 -143
- package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
- package/dist/components/VvTextarea/VvTextarea.vue.d.ts +141 -34
- package/dist/components/VvTextarea/index.d.ts +66 -17
- package/dist/components/VvTooltip/VvTooltip.es.js +33 -9
- package/dist/components/VvTooltip/VvTooltip.umd.js +1 -1
- package/dist/components/VvTooltip/VvTooltip.vue.d.ts +9 -2
- package/dist/components/VvTooltip/index.d.ts +4 -1
- package/dist/components/index.es.js +178 -232
- package/dist/components/index.umd.js +1 -1
- package/dist/composables/useComponentIcon.d.ts +9 -8
- package/dist/directives/index.es.js +33 -9
- package/dist/directives/index.umd.js +1 -1
- package/dist/directives/v-tooltip.es.js +33 -9
- package/dist/directives/v-tooltip.umd.js +1 -1
- package/dist/icons.es.js +3 -3
- package/dist/icons.umd.js +1 -1
- package/dist/props/index.d.ts +251 -61
- package/dist/stories/AccordionGroup/AccordionGroup.stories.d.ts +15 -4
- package/dist/stories/AccordionGroup/AccordionGroupSlots.stories.d.ts +77 -22
- package/dist/stories/Icon/Icon.settings.d.ts +1 -0
- package/package.json +33 -33
- package/src/assets/icons/detailed.json +1 -1
- package/src/assets/icons/normal.json +1 -1
- package/src/assets/icons/simple.json +1 -1
- package/src/components/VvAlert/index.ts +1 -3
- package/src/components/VvAlertGroup/index.ts +2 -1
- package/src/components/VvButton/VvButton.vue +6 -6
- package/src/components/VvButton/index.ts +2 -4
- package/src/components/VvCombobox/VvCombobox.vue +5 -8
- package/src/components/VvIcon/VvIcon.vue +2 -2
- package/src/components/VvIcon/index.ts +22 -48
- package/src/components/VvInputText/VvInputText.vue +11 -12
- package/src/components/VvSelect/VvSelect.vue +5 -8
- package/src/components/VvTextarea/VvTextarea.vue +5 -8
- package/src/composables/useComponentIcon.ts +15 -14
- package/src/props/index.ts +89 -25
- package/src/stories/Icon/Icon.settings.ts +3 -3
|
@@ -1,99 +1,9 @@
|
|
|
1
|
-
import { inject, computed, unref, defineComponent, ref, toRefs, openBlock, createBlock, mergeProps, createCommentVNode, Transition, toHandlers, withCtx, withDirectives, createElementVNode, withModifiers, createElementBlock, renderSlot, createTextVNode, toDisplayString, createVNode, vShow } from "vue";
|
|
1
|
+
import { inject, computed, unref, defineComponent, mergeDefaults, ref, toRefs, openBlock, createBlock, mergeProps, createCommentVNode, Transition, toHandlers, withCtx, withDirectives, createElementVNode, withModifiers, createElementBlock, renderSlot, createTextVNode, toDisplayString, createVNode, vShow } from "vue";
|
|
2
2
|
import { iconExists, Icon, addIcon } from "@iconify/vue";
|
|
3
3
|
import { useVModel, onClickOutside } from "@vueuse/core";
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
*/
|
|
8
|
-
color: String,
|
|
9
|
-
/**
|
|
10
|
-
* Width
|
|
11
|
-
*/
|
|
12
|
-
width: {
|
|
13
|
-
type: [String, Number]
|
|
14
|
-
},
|
|
15
|
-
/**
|
|
16
|
-
* Height
|
|
17
|
-
*/
|
|
18
|
-
height: {
|
|
19
|
-
type: [String, Number]
|
|
20
|
-
},
|
|
21
|
-
/**
|
|
22
|
-
* Icon name
|
|
23
|
-
* Can be the full composition of iconify name "@{provider}:{prefix}:{name}" or "{prefix}:{name}" or "{name}"
|
|
24
|
-
* https://docs.iconify.design/api/providers.html#provider-in-icon-name
|
|
25
|
-
*/
|
|
26
|
-
name: {
|
|
27
|
-
type: String,
|
|
28
|
-
required: true
|
|
29
|
-
},
|
|
30
|
-
/**
|
|
31
|
-
* By default 'vv'
|
|
32
|
-
* If custom collection is not added with "addCollection" DS class method, this prop could not be used
|
|
33
|
-
* Icon provider: https://docs.iconify.design/api/providers.html#provider-in-icon-name
|
|
34
|
-
*/
|
|
35
|
-
provider: {
|
|
36
|
-
type: String
|
|
37
|
-
},
|
|
38
|
-
/**
|
|
39
|
-
* The name of icon set.
|
|
40
|
-
* Icon default options prefix: simple | normal | detailed
|
|
41
|
-
*/
|
|
42
|
-
prefix: {
|
|
43
|
-
type: String,
|
|
44
|
-
default: "normal"
|
|
45
|
-
},
|
|
46
|
-
/**
|
|
47
|
-
* Url remote SVG icon
|
|
48
|
-
*/
|
|
49
|
-
src: String,
|
|
50
|
-
/**
|
|
51
|
-
* Horizontal flip
|
|
52
|
-
*/
|
|
53
|
-
horizontalFlip: Boolean,
|
|
54
|
-
/**
|
|
55
|
-
* Vertical flip
|
|
56
|
-
*/
|
|
57
|
-
verticalFlip: Boolean,
|
|
58
|
-
/**
|
|
59
|
-
* String alternative to "horizontalFlip" and "verticalFlip".
|
|
60
|
-
* Example: https://docs.iconify.design/icon-components/vue/transform.html
|
|
61
|
-
*/
|
|
62
|
-
flip: String,
|
|
63
|
-
/**
|
|
64
|
-
* Icon render mode
|
|
65
|
-
* 'style' = 'bg' or 'mask', depending on icon content
|
|
66
|
-
* 'bg' = span with style using `background`
|
|
67
|
-
* 'mask' = span with style using `mask`
|
|
68
|
-
* 'svg' = svg
|
|
69
|
-
* Iconify doc: https://docs.iconify.design/iconify-icon/modes.html
|
|
70
|
-
*/
|
|
71
|
-
mode: String,
|
|
72
|
-
/**
|
|
73
|
-
* Toggles inline or block mode
|
|
74
|
-
* Example https://docs.iconify.design/icon-components/vue/inline.html
|
|
75
|
-
*/
|
|
76
|
-
inline: Boolean,
|
|
77
|
-
/**
|
|
78
|
-
* rotates icon
|
|
79
|
-
* Example https://docs.iconify.design/icon-components/vue/transform.html
|
|
80
|
-
*/
|
|
81
|
-
rotate: [Number, String],
|
|
82
|
-
/**
|
|
83
|
-
* A callback that is called when icon data has been loaded
|
|
84
|
-
*/
|
|
85
|
-
onLoad: Function,
|
|
86
|
-
/**
|
|
87
|
-
* SVG icon string
|
|
88
|
-
*/
|
|
89
|
-
svg: String,
|
|
90
|
-
/**
|
|
91
|
-
* Icon modifiers: vv-icon css helper classes, value/s are concatened with prefix 'vv-icon--'
|
|
92
|
-
* @values string | string[]
|
|
93
|
-
*/
|
|
94
|
-
modifiers: {
|
|
95
|
-
type: [String, Array]
|
|
96
|
-
}
|
|
4
|
+
const VvIconPropsDefaults = {
|
|
5
|
+
prefix: "normal"
|
|
6
|
+
/* normal */
|
|
97
7
|
};
|
|
98
8
|
var Strategy = /* @__PURE__ */ ((Strategy2) => {
|
|
99
9
|
Strategy2["absolute"] = "absolute";
|
|
@@ -175,7 +85,24 @@ const __default__$1 = {
|
|
|
175
85
|
};
|
|
176
86
|
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
177
87
|
...__default__$1,
|
|
178
|
-
props:
|
|
88
|
+
props: mergeDefaults({
|
|
89
|
+
name: {},
|
|
90
|
+
color: {},
|
|
91
|
+
width: {},
|
|
92
|
+
height: {},
|
|
93
|
+
provider: {},
|
|
94
|
+
prefix: {},
|
|
95
|
+
src: {},
|
|
96
|
+
horizontalFlip: { type: Boolean },
|
|
97
|
+
verticalFlip: { type: Boolean },
|
|
98
|
+
flip: {},
|
|
99
|
+
mode: {},
|
|
100
|
+
inline: { type: Boolean },
|
|
101
|
+
rotate: {},
|
|
102
|
+
onLoad: { type: Function },
|
|
103
|
+
svg: {},
|
|
104
|
+
modifiers: {}
|
|
105
|
+
}, VvIconPropsDefaults),
|
|
179
106
|
setup(__props) {
|
|
180
107
|
const props = __props;
|
|
181
108
|
const hasRotate = computed(() => {
|
|
@@ -283,6 +210,7 @@ const LinkProps = {
|
|
|
283
210
|
*/
|
|
284
211
|
target: {
|
|
285
212
|
type: String,
|
|
213
|
+
default: void 0,
|
|
286
214
|
validator: (value) => Object.values(AnchorTarget).includes(value)
|
|
287
215
|
},
|
|
288
216
|
/**
|
|
@@ -297,38 +225,56 @@ const DisabledProps = {
|
|
|
297
225
|
/**
|
|
298
226
|
* Whether the form control is disabled
|
|
299
227
|
*/
|
|
300
|
-
disabled:
|
|
228
|
+
disabled: {
|
|
229
|
+
type: Boolean,
|
|
230
|
+
default: false
|
|
231
|
+
}
|
|
301
232
|
};
|
|
302
233
|
const ActiveProps = {
|
|
303
234
|
/**
|
|
304
235
|
* Whether the item is active
|
|
305
236
|
*/
|
|
306
|
-
active:
|
|
237
|
+
active: {
|
|
238
|
+
type: Boolean,
|
|
239
|
+
default: false
|
|
240
|
+
}
|
|
307
241
|
};
|
|
308
242
|
const CurrentProps = {
|
|
309
243
|
/**
|
|
310
244
|
* Whether the item is current
|
|
311
245
|
*/
|
|
312
|
-
current:
|
|
246
|
+
current: {
|
|
247
|
+
type: Boolean,
|
|
248
|
+
default: false
|
|
249
|
+
}
|
|
313
250
|
};
|
|
314
251
|
const PressedProps = {
|
|
315
252
|
/**
|
|
316
253
|
* Whether the item is pressed
|
|
317
254
|
*/
|
|
318
|
-
pressed:
|
|
255
|
+
pressed: {
|
|
256
|
+
type: Boolean,
|
|
257
|
+
default: false
|
|
258
|
+
}
|
|
319
259
|
};
|
|
320
260
|
const LabelProps = {
|
|
321
261
|
/**
|
|
322
262
|
* The item label
|
|
323
263
|
*/
|
|
324
|
-
label:
|
|
264
|
+
label: {
|
|
265
|
+
type: [String, Number],
|
|
266
|
+
default: void 0
|
|
267
|
+
}
|
|
325
268
|
};
|
|
326
269
|
({
|
|
327
270
|
/**
|
|
328
271
|
* VvIcon name or props
|
|
329
272
|
* @see VVIcon
|
|
330
273
|
*/
|
|
331
|
-
icon: {
|
|
274
|
+
icon: {
|
|
275
|
+
type: [String, Object],
|
|
276
|
+
default: void 0
|
|
277
|
+
},
|
|
332
278
|
/**
|
|
333
279
|
* VvIcon position
|
|
334
280
|
*/
|
|
@@ -366,7 +312,8 @@ const IdProps = {
|
|
|
366
312
|
* Dropdown show / hide transition name
|
|
367
313
|
*/
|
|
368
314
|
transitionName: {
|
|
369
|
-
type: String
|
|
315
|
+
type: String,
|
|
316
|
+
default: void 0
|
|
370
317
|
},
|
|
371
318
|
/**
|
|
372
319
|
* Offset of the dropdown from the trigger
|
|
@@ -434,7 +381,8 @@ const IdProps = {
|
|
|
434
381
|
* Set dropdown width to the same as the trigger
|
|
435
382
|
*/
|
|
436
383
|
triggerWidth: {
|
|
437
|
-
type: Boolean
|
|
384
|
+
type: Boolean,
|
|
385
|
+
default: false
|
|
438
386
|
}
|
|
439
387
|
});
|
|
440
388
|
({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o(require("vue"),require("@iconify/vue"),require("@vueuse/core")):"function"==typeof define&&define.amd?define(["vue","@iconify/vue","@vueuse/core"],o):(e="undefined"!=typeof globalThis?globalThis:e||self).VvDialog=o(e.vue,e.vue$1,e.core)}(this,(function(e,o,t){"use strict";
|
|
1
|
+
!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o(require("vue"),require("@iconify/vue"),require("@vueuse/core")):"function"==typeof define&&define.amd?define(["vue","@iconify/vue","@vueuse/core"],o):(e="undefined"!=typeof globalThis?globalThis:e||self).VvDialog=o(e.vue,e.vue$1,e.core)}(this,(function(e,o,t){"use strict";var n=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(n||{}),l=(e=>(e.before="before",e.after="after",e))(l||{}),r=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(r||{}),a=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(a||{});const i=Symbol.for("volver");const c=e.defineComponent({name:"VvIcon",props:e.mergeDefaults({name:{},color:{},width:{},height:{},provider:{},prefix:{},src:{},horizontalFlip:{type:Boolean},verticalFlip:{type:Boolean},flip:{},mode:{},inline:{type:Boolean},rotate:{},onLoad:{type:Function},svg:{},modifiers:{}},{prefix:"normal"}),setup(t){const n=t,l=e.computed((()=>"string"==typeof n.rotate?parseFloat(n.rotate):n.rotate)),r=e.ref(!0),a=e.inject(i),{modifiers:c}=e.toRefs(n),s=function(o,t,n){return e.computed((()=>{const l={[o]:!0},r="string"==typeof(null==t?void 0:t.value)?t.value.split(" "):null==t?void 0:t.value;return r&&Array.isArray(r)&&r.forEach((e=>{e&&(l[`${o}--${e}`]=!0)})),n&&Object.keys(n.value).forEach((t=>{l[`${o}--${t}`]=e.unref(n.value[t])})),l}))}("vv-icon",c),u=e.computed((()=>n.provider||(null==a?void 0:a.iconsProvider))),d=e.computed((()=>{const e=n.name??"",t=`@${u.value}:${n.prefix}:${e}`;if(o.iconExists(t))return t;const l=null==a?void 0:a.iconsCollections.find((t=>{const n=`@${u.value}:${t.prefix}:${e}`;return o.iconExists(n)}));return l?`@${u.value}:${l.prefix}:${e}`:e}));function v(e){const t=function(e){let o;if("undefined"==typeof window){const{JSDOM:e}=require("jsdom");o=(new e).window}return(o?new o.DOMParser:new window.DOMParser).parseFromString(e,"text/html").querySelector("svg")}(e),l=(null==t?void 0:t.innerHTML.trim())||"";t&&l&&o.addIcon(`@${u.value}:${n.prefix}:${n.name}`,{body:l,height:t.viewBox.baseVal.height,width:t.viewBox.baseVal.width})}return a&&n.src&&!o.iconExists(`@${u.value}:${n.prefix}:${n.name}`)&&(r.value=!1,a.fetchIcon(n.src).then((e=>{e&&(v(e),r.value=!0)})).catch((e=>{throw new Error(`Error during fetch icon: ${null==e?void 0:e.message}`)}))),n.svg&&v(n.svg),(t,n)=>e.unref(r)?(e.openBlock(),e.createBlock(e.unref(o.Icon),e.mergeProps({key:0,class:e.unref(s)},{inline:t.inline,width:t.width,height:t.height,horizontalFlip:t.horizontalFlip,verticalFlip:t.verticalFlip,flip:t.flip,rotate:e.unref(l),color:t.color,onLoad:t.onLoad,icon:e.unref(d)}),null,16,["class"])):e.createCommentVNode("v-if",!0)}});Boolean,Boolean,Boolean,Boolean;l.before;const s={id:[String,Number]};n.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,r.button,a.button;const u={...s,title:String,modelValue:{type:Boolean,default:void 0},transition:{type:String,default:"fade-block"},size:String,keepOpen:{type:Boolean,default:!1}},d=["onCancel"],v={key:0,class:"vv-dialog__header"},f={class:"vv-dialog__content"},p={key:1,class:"vv-dialog__footer"};return e.defineComponent({name:"VvDialog",props:u,emits:["open","close","update:modelValue","before-enter","after-leave","enter","after-enter","enter-cancelled","before-leave","leave","leave-cancelled"],setup(o,{expose:n,emit:l}){const r=o,a=e.ref(),i=t.useVModel(r,"modelValue",l),s=e.ref(!1),u=e.computed({get:()=>i.value??s.value,set:e=>{void 0!==i.value?i.value=e:s.value=e}}),m=e.ref(null),g=e.computed((()=>{const{id:e}=r;return{id:e}})),h=e.computed((()=>r.size?["vv-dialog",`vv-dialog--${r.size}`]:"vv-dialog")),b=e.computed((()=>`vv-dialog--${r.transition}`)),y={"before-enter":()=>{var e,o;(null==(e=a.value)?void 0:e.open)||null==(o=a.value)||o.showModal(),l("open"),l("before-enter")},"after-leave":()=>{var e,o;(null==(e=a.value)?void 0:e.open)&&(null==(o=a.value)||o.close()),l("close"),l("after-leave")},enter:()=>{l("enter")},"after-enter":()=>{l("after-enter")},"enter-cancelled":()=>{l("enter-cancelled")},"before-leave":()=>{l("before-leave")},leave:()=>{l("leave")},"leave-cancelled":()=>{l("leave-cancelled")}};function $(){u.value=!1}t.onClickOutside(m,(()=>{r.keepOpen||$()})),n({close:$,open:function(){u.value=!0}});const B=()=>{r.keepOpen||$()};return(o,t)=>(e.openBlock(),e.createBlock(e.Transition,e.mergeProps({name:e.unref(b)},e.toHandlers(y),{persisted:""}),{default:e.withCtx((()=>[e.withDirectives(e.createElementVNode("dialog",e.mergeProps(e.unref(g),{ref_key:"dialogEl",ref:a,class:e.unref(h),onCancel:e.withModifiers(B,["stop","prevent"])}),[e.createElementVNode("article",{ref_key:"modalWrapper",ref:m,class:"vv-dialog__wrapper"},[o.$slots.header||o.title?(e.openBlock(),e.createElementBlock("header",v,[e.renderSlot(o.$slots,"header",{},(()=>[e.createTextVNode(e.toDisplayString(o.title)+" ",1),e.createElementVNode("button",{type:"button","aria-label":"Close",class:"vv-dialog__close",onClickPassive:$},[e.createVNode(c,{name:"close"})],32)]))])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",f,[e.renderSlot(o.$slots,"default")]),o.$slots.footer?(e.openBlock(),e.createElementBlock("footer",p,[e.renderSlot(o.$slots,"footer")])):e.createCommentVNode("v-if",!0)],512)],16,d),[[e.vShow,e.unref(u)]])])),_:3},16,["name"]))}})}));
|
|
@@ -84,6 +84,7 @@ const LinkProps = {
|
|
|
84
84
|
*/
|
|
85
85
|
target: {
|
|
86
86
|
type: String,
|
|
87
|
+
default: void 0,
|
|
87
88
|
validator: (value) => Object.values(AnchorTarget).includes(value)
|
|
88
89
|
},
|
|
89
90
|
/**
|
|
@@ -98,44 +99,65 @@ const DisabledProps = {
|
|
|
98
99
|
/**
|
|
99
100
|
* Whether the form control is disabled
|
|
100
101
|
*/
|
|
101
|
-
disabled:
|
|
102
|
+
disabled: {
|
|
103
|
+
type: Boolean,
|
|
104
|
+
default: false
|
|
105
|
+
}
|
|
102
106
|
};
|
|
103
107
|
const ActiveProps = {
|
|
104
108
|
/**
|
|
105
109
|
* Whether the item is active
|
|
106
110
|
*/
|
|
107
|
-
active:
|
|
111
|
+
active: {
|
|
112
|
+
type: Boolean,
|
|
113
|
+
default: false
|
|
114
|
+
}
|
|
108
115
|
};
|
|
109
116
|
const CurrentProps = {
|
|
110
117
|
/**
|
|
111
118
|
* Whether the item is current
|
|
112
119
|
*/
|
|
113
|
-
current:
|
|
120
|
+
current: {
|
|
121
|
+
type: Boolean,
|
|
122
|
+
default: false
|
|
123
|
+
}
|
|
114
124
|
};
|
|
115
125
|
const PressedProps = {
|
|
116
126
|
/**
|
|
117
127
|
* Whether the item is pressed
|
|
118
128
|
*/
|
|
119
|
-
pressed:
|
|
129
|
+
pressed: {
|
|
130
|
+
type: Boolean,
|
|
131
|
+
default: false
|
|
132
|
+
}
|
|
120
133
|
};
|
|
121
134
|
const LabelProps = {
|
|
122
135
|
/**
|
|
123
136
|
* The item label
|
|
124
137
|
*/
|
|
125
|
-
label:
|
|
138
|
+
label: {
|
|
139
|
+
type: [String, Number],
|
|
140
|
+
default: void 0
|
|
141
|
+
}
|
|
126
142
|
};
|
|
127
143
|
const ModifiersProps = {
|
|
128
144
|
/**
|
|
129
145
|
* Component BEM modifiers
|
|
130
146
|
*/
|
|
131
|
-
modifiers:
|
|
147
|
+
modifiers: {
|
|
148
|
+
type: [String, Array],
|
|
149
|
+
default: void 0
|
|
150
|
+
}
|
|
132
151
|
};
|
|
133
152
|
({
|
|
134
153
|
/**
|
|
135
154
|
* VvIcon name or props
|
|
136
155
|
* @see VVIcon
|
|
137
156
|
*/
|
|
138
|
-
icon: {
|
|
157
|
+
icon: {
|
|
158
|
+
type: [String, Object],
|
|
159
|
+
default: void 0
|
|
160
|
+
},
|
|
139
161
|
/**
|
|
140
162
|
* VvIcon position
|
|
141
163
|
*/
|
|
@@ -173,7 +195,8 @@ const DropdownProps = {
|
|
|
173
195
|
* Dropdown show / hide transition name
|
|
174
196
|
*/
|
|
175
197
|
transitionName: {
|
|
176
|
-
type: String
|
|
198
|
+
type: String,
|
|
199
|
+
default: void 0
|
|
177
200
|
},
|
|
178
201
|
/**
|
|
179
202
|
* Offset of the dropdown from the trigger
|
|
@@ -241,7 +264,8 @@ const DropdownProps = {
|
|
|
241
264
|
* Set dropdown width to the same as the trigger
|
|
242
265
|
*/
|
|
243
266
|
triggerWidth: {
|
|
244
|
-
type: Boolean
|
|
267
|
+
type: Boolean,
|
|
268
|
+
default: false
|
|
245
269
|
}
|
|
246
270
|
};
|
|
247
271
|
({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("@floating-ui/vue"),require("uid"),require("@vueuse/core"),require("mitt")):"function"==typeof define&&define.amd?define(["vue","@floating-ui/vue","uid","@vueuse/core","mitt"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvDropdown=t(e.vue,e.vue$1,e.uid,e.core,e.mitt)}(this,(function(e,t,o,r,l){"use strict";var a=(e=>(e.absolute="absolute",e.fixed="fixed",e))(a||{}),n=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(n||{}),u=(e=>(e.topStart="top-start",e.topEnd="top-end",e.bottomStart="bottom-start",e.bottomEnd="bottom-end",e.leftStart="left-start",e.leftEnd="left-end",e.rightStart="right-start",e.rightEnd="right-end",e))(u||{}),i=(e=>(e.before="before",e.after="after",e))(i||{}),d=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(d||{}),s=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(s||{}),f=(e=>(e.listbox="listbox",e.menu="menu",e))(f||{}),p=(e=>(e.option="option",e.presentation="presentation",e))(p||{});const c=Symbol.for("dropdownTrigger"),v=Symbol.for("dropdownItem"),m=(Boolean,Boolean,Boolean,Boolean,{modifiers:[String,Array]});i.before;const b={id:[String,Number]},g={placement:{type:String,default:n.bottom,validator:e=>Object.values(n).includes(e)||Object.values(u).includes(e)},strategy:{type:String,default:void 0,validator:e=>Object.values(a).includes(e)},transitionName:{type:String},offset:{type:[Number,String,Object],default:0},shift:{type:[Boolean,Object],default:!1},flip:{type:[Boolean,Object],default:!0},size:{type:[Boolean,Object],default:()=>({padding:10})},autoPlacement:{type:[Boolean,Object],default:!1},arrow:{type:Boolean,default:!1},keepOpen:{type:Boolean,default:!1},autofocusFirst:{type:Boolean,default:!0},triggerWidth:{type:Boolean}};d.button,s.button;const h={...b,...g,...m,modelValue:{type:Boolean,default:void 0},reference:{type:Object,default:null},role:{type:String,default:f.menu,validator:e=>Object.values(f).includes(e)}};const y=["id","tabindex","role","aria-labelledby"];return e.defineComponent({name:"VvDropdown",inheritAttrs:!1,props:h,emits:["update:modelValue","beforeExpand","beforeCollapse","afterExpand","afterCollapse","before-enter","after-leave","enter","after-enter","enter-cancelled","before-leave","leave","leave-cancelled"],setup(u,{expose:i,emit:d}){const s=u,{id:m}=e.toRefs(s),b=(t=>e.computed((()=>String((null==t?void 0:t.value)||o.uid()))))(m),g=e.useAttrs(),h=e.ref("auto"),x=e.ref("auto"),w=e.ref(null),S=e.ref(),k=e.ref(null),E=e.ref(null),P=e.computed({get:()=>s.reference??w.value,set:e=>{w.value=e}}),B=e.ref(!1);e.onMounted((()=>{r.useMutationObserver(S.value,(()=>{var e;B.value="true"===(null==(e=window.getComputedStyle(S.value).getPropertyValue("--dropdown-custom-position"))?void 0:e.trim())}),{attributeFilter:["style"],window:window})}));const O=e.computed((()=>{const e=[];if(s.autoPlacement?"boolean"==typeof s.autoPlacement?e.push(t.autoPlacement()):e.push(t.autoPlacement(s.autoPlacement)):s.flip&&("boolean"==typeof s.flip?e.push(t.flip({fallbackStrategy:"initialPlacement"})):e.push(t.flip(s.flip))),s.shift&&("boolean"==typeof s.shift?e.push(t.shift()):e.push(t.shift(s.shift))),s.size){const o=({availableWidth:e,availableHeight:t})=>{h.value=`${e}px`,x.value=`${t}px`};"boolean"==typeof s.size?e.push(t.size({apply:o})):e.push(t.size({...s.size,apply:o}))}return s.offset&&(e.push(t.offset(Number(s.offset))),["string","number"].includes(typeof s.offset)?e.push(t.offset(Number(s.offset))):e.push(t.offset(s.offset))),s.arrow&&e.push(t.arrow({element:k})),e})),{x:$,y:z,middlewareData:V,placement:j,strategy:C}=t.useFloating(P,S,{whileElementsMounted:(...e)=>t.autoUpdate(...e,{animationFrame:s.strategy===a.fixed}),placement:e.computed((()=>s.placement)),strategy:e.computed((()=>s.strategy)),middleware:O}),A=e.computed((()=>{var e;if(B.value)return;const t=s.triggerWidth&&P.value?`${null==(e=P.value)?void 0:e.offsetWidth}px`:void 0;return{position:C.value,top:`${z.value??0}px`,left:`${$.value??0}px`,maxWidth:t?void 0:h.value,maxHeight:x.value,width:t}})),N=e.computed((()=>j.value.split("-")[0])),D=e.computed((()=>{var e,t,o,r,l;if(B.value)return;const a={[n.top]:n.bottom,[n.right]:n.left,[n.bottom]:n.top,[n.left]:n.right}[N.value];return{left:void 0!==(null==(e=V.value.arrow)?void 0:e.x)?`${null==(t=V.value.arrow)?void 0:t.x}px`:void 0,top:void 0!==(null==(o=V.value.arrow)?void 0:o.y)?`${null==(r=V.value.arrow)?void 0:r.y}px`:void 0,[a]:-((null==(l=k.value)?void 0:l.offsetWidth)??0)/2+"px"}})),_=r.useVModel(s,"modelValue",d),F=e.ref(!1),R=e.computed({get:()=>_.value??F.value,set:e=>{void 0!==_.value?_.value=e:F.value=e}}),T=()=>{R.value=!0},W=()=>{R.value=!1},q=()=>{R.value=!R.value},K=e=>{P.value=e};i({toggle:q,show:T,hide:W,init:K,customPosition:B}),e.watch(R,(t=>{t&&s.autofocusFirst&&e.nextTick((()=>{const e=Y(S.value);e.length>0&&e[0].focus({preventScroll:!0})}))})),r.onClickOutside(S,(()=>{!s.keepOpen&&R.value&&(R.value=!1)}),{ignore:[P]});const M=e.computed((()=>{var e,t;return(null==(t=null==(e=P.value)?void 0:e.getAttribute)?void 0:t.call(e,"id"))??void 0})),H=e.computed((()=>({"aria-controls":b.value,"aria-haspopup":!0,"aria-expanded":R.value}))),{component:L,bus:U}=function({reference:t,id:o,expanded:r,aria:a}){const n=l(),u=e.defineComponent({name:"VvDropdownTriggerProvider",setup(){e.provide(c,{reference:t,id:o,expanded:r,aria:a,bus:n})},render(){var t,o;return e.h(e.Fragment,{},null==(o=(t=this.$slots).default)?void 0:o.call(t))}});return{bus:n,component:u}}({reference:P,id:b,expanded:R,aria:H});U.on("click",q);const{role:I,modifiers:G}=e.toRefs(s),{itemRole:J}=function({role:t,expanded:o}){const r=e.computed((()=>t.value===f.listbox?p.option:p.presentation));return e.provide(v,{role:r,expanded:o}),{itemRole:r}}({role:I,expanded:R}),Q=function(t,o,r){return e.computed((()=>{const l={[t]:!0},a="string"==typeof(null==o?void 0:o.value)?o.value.split(" "):null==o?void 0:o.value;return a&&Array.isArray(a)&&a.forEach((e=>{e&&(l[`${t}--${e}`]=!0)})),r&&Object.keys(r.value).forEach((o=>{l[`${t}--${o}`]=e.unref(r.value[o])})),l}))}("vv-dropdown",G,e.computed((()=>({arrow:s.arrow})))),{focused:X}=r.useFocusWithin(S);function Y(e){return e?[...e.querySelectorAll('a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])')].filter((e=>!e.hasAttribute("disabled")&&!e.getAttribute("aria-hidden"))):[]}r.onKeyStroke("Escape",(e=>{R.value&&(e.preventDefault(),W())})),r.onKeyStroke("ArrowDown",(t=>{R.value&&X.value&&(t.preventDefault(),e.nextTick((()=>{if(X.value){const e=Y(S.value);if(0===e.length||!document.activeElement)return;const t=e.indexOf(document.activeElement);t<e.length-1?e[t+1].focus({preventScroll:!0}):e[0].focus({preventScroll:!0})}})))})),r.onKeyStroke("ArrowUp",(t=>{R.value&&X.value&&(t.preventDefault(),e.nextTick((()=>{if(X.value){const e=Y(S.value);if(0===e.length||!document.activeElement)return;const t=e.indexOf(document.activeElement);t>0?e[t-1].focus({preventScroll:!0}):e[e.length-1].focus({preventScroll:!0})}})))})),r.onKeyStroke([" ","Enter"],(e=>{const t=e.target;R.value&&X.value&&t&&(null==t||t.click())}));const Z={"before-enter":()=>{d(R.value?"beforeExpand":"beforeCollapse"),d("before-enter")},"after-leave":()=>{d(R.value?"afterExpand":"afterCollapse"),d("after-leave")},enter:()=>{d("enter")},"after-enter":()=>{d("after-enter")},"enter-cancelled":()=>{d("enter-cancelled")},"before-leave":()=>{d("before-leave")},leave:()=>{d("leave")},"leave-cancelled":()=>{d("leave-cancelled")}};return(t,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(L),null,{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps({init:K,show:T,hide:W,toggle:q,expanded:e.unref(R),aria:e.unref(H)})))])),_:3}),e.createVNode(e.Transition,e.mergeProps({name:t.transitionName},e.toHandlers(Z),{persisted:""}),{default:e.withCtx((()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"floatingEl",ref:S,style:e.normalizeStyle(e.unref(A)),class:e.normalizeClass(e.unref(Q))},[s.arrow?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"arrowEl",ref:k,style:e.normalizeStyle(e.unref(D)),class:"vv-dropdown__arrow"},null,4)):e.createCommentVNode("v-if",!0),e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(R)}))),e.createElementVNode("div",e.mergeProps(e.unref(g),{id:e.unref(b),ref_key:"listEl",ref:E,tabindex:e.unref(R)?void 0:-1,role:e.unref(I),"aria-labelledby":e.unref(M),class:"vv-dropdown__list"}),[e.renderSlot(t.$slots,"items",e.normalizeProps(e.guardReactiveProps({role:e.unref(J)})))],16,y),e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(R)})))],6),[[e.vShow,e.unref(R)]])])),_:3},16,["name"])],64))}})}));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("@floating-ui/vue"),require("uid"),require("@vueuse/core"),require("mitt")):"function"==typeof define&&define.amd?define(["vue","@floating-ui/vue","uid","@vueuse/core","mitt"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvDropdown=t(e.vue,e.vue$1,e.uid,e.core,e.mitt)}(this,(function(e,t,o,r,l){"use strict";var a=(e=>(e.absolute="absolute",e.fixed="fixed",e))(a||{}),n=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(n||{}),u=(e=>(e.topStart="top-start",e.topEnd="top-end",e.bottomStart="bottom-start",e.bottomEnd="bottom-end",e.leftStart="left-start",e.leftEnd="left-end",e.rightStart="right-start",e.rightEnd="right-end",e))(u||{}),i=(e=>(e.before="before",e.after="after",e))(i||{}),d=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(d||{}),s=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(s||{}),f=(e=>(e.listbox="listbox",e.menu="menu",e))(f||{}),p=(e=>(e.option="option",e.presentation="presentation",e))(p||{});const c=Symbol.for("dropdownTrigger"),v=Symbol.for("dropdownItem"),m=(Boolean,Boolean,Boolean,Boolean,{modifiers:{type:[String,Array],default:void 0}});i.before;const b={id:[String,Number]},g={placement:{type:String,default:n.bottom,validator:e=>Object.values(n).includes(e)||Object.values(u).includes(e)},strategy:{type:String,default:void 0,validator:e=>Object.values(a).includes(e)},transitionName:{type:String,default:void 0},offset:{type:[Number,String,Object],default:0},shift:{type:[Boolean,Object],default:!1},flip:{type:[Boolean,Object],default:!0},size:{type:[Boolean,Object],default:()=>({padding:10})},autoPlacement:{type:[Boolean,Object],default:!1},arrow:{type:Boolean,default:!1},keepOpen:{type:Boolean,default:!1},autofocusFirst:{type:Boolean,default:!0},triggerWidth:{type:Boolean,default:!1}};d.button,s.button;const h={...b,...g,...m,modelValue:{type:Boolean,default:void 0},reference:{type:Object,default:null},role:{type:String,default:f.menu,validator:e=>Object.values(f).includes(e)}};const y=["id","tabindex","role","aria-labelledby"];return e.defineComponent({name:"VvDropdown",inheritAttrs:!1,props:h,emits:["update:modelValue","beforeExpand","beforeCollapse","afterExpand","afterCollapse","before-enter","after-leave","enter","after-enter","enter-cancelled","before-leave","leave","leave-cancelled"],setup(u,{expose:i,emit:d}){const s=u,{id:m}=e.toRefs(s),b=(t=>e.computed((()=>String((null==t?void 0:t.value)||o.uid()))))(m),g=e.useAttrs(),h=e.ref("auto"),x=e.ref("auto"),w=e.ref(null),S=e.ref(),k=e.ref(null),E=e.ref(null),P=e.computed({get:()=>s.reference??w.value,set:e=>{w.value=e}}),B=e.ref(!1);e.onMounted((()=>{r.useMutationObserver(S.value,(()=>{var e;B.value="true"===(null==(e=window.getComputedStyle(S.value).getPropertyValue("--dropdown-custom-position"))?void 0:e.trim())}),{attributeFilter:["style"],window:window})}));const O=e.computed((()=>{const e=[];if(s.autoPlacement?"boolean"==typeof s.autoPlacement?e.push(t.autoPlacement()):e.push(t.autoPlacement(s.autoPlacement)):s.flip&&("boolean"==typeof s.flip?e.push(t.flip({fallbackStrategy:"initialPlacement"})):e.push(t.flip(s.flip))),s.shift&&("boolean"==typeof s.shift?e.push(t.shift()):e.push(t.shift(s.shift))),s.size){const o=({availableWidth:e,availableHeight:t})=>{h.value=`${e}px`,x.value=`${t}px`};"boolean"==typeof s.size?e.push(t.size({apply:o})):e.push(t.size({...s.size,apply:o}))}return s.offset&&(e.push(t.offset(Number(s.offset))),["string","number"].includes(typeof s.offset)?e.push(t.offset(Number(s.offset))):e.push(t.offset(s.offset))),s.arrow&&e.push(t.arrow({element:k})),e})),{x:$,y:z,middlewareData:V,placement:j,strategy:C}=t.useFloating(P,S,{whileElementsMounted:(...e)=>t.autoUpdate(...e,{animationFrame:s.strategy===a.fixed}),placement:e.computed((()=>s.placement)),strategy:e.computed((()=>s.strategy)),middleware:O}),A=e.computed((()=>{var e;if(B.value)return;const t=s.triggerWidth&&P.value?`${null==(e=P.value)?void 0:e.offsetWidth}px`:void 0;return{position:C.value,top:`${z.value??0}px`,left:`${$.value??0}px`,maxWidth:t?void 0:h.value,maxHeight:x.value,width:t}})),N=e.computed((()=>j.value.split("-")[0])),D=e.computed((()=>{var e,t,o,r,l;if(B.value)return;const a={[n.top]:n.bottom,[n.right]:n.left,[n.bottom]:n.top,[n.left]:n.right}[N.value];return{left:void 0!==(null==(e=V.value.arrow)?void 0:e.x)?`${null==(t=V.value.arrow)?void 0:t.x}px`:void 0,top:void 0!==(null==(o=V.value.arrow)?void 0:o.y)?`${null==(r=V.value.arrow)?void 0:r.y}px`:void 0,[a]:-((null==(l=k.value)?void 0:l.offsetWidth)??0)/2+"px"}})),_=r.useVModel(s,"modelValue",d),F=e.ref(!1),R=e.computed({get:()=>_.value??F.value,set:e=>{void 0!==_.value?_.value=e:F.value=e}}),T=()=>{R.value=!0},W=()=>{R.value=!1},q=()=>{R.value=!R.value},K=e=>{P.value=e};i({toggle:q,show:T,hide:W,init:K,customPosition:B}),e.watch(R,(t=>{t&&s.autofocusFirst&&e.nextTick((()=>{const e=Y(S.value);e.length>0&&e[0].focus({preventScroll:!0})}))})),r.onClickOutside(S,(()=>{!s.keepOpen&&R.value&&(R.value=!1)}),{ignore:[P]});const M=e.computed((()=>{var e,t;return(null==(t=null==(e=P.value)?void 0:e.getAttribute)?void 0:t.call(e,"id"))??void 0})),H=e.computed((()=>({"aria-controls":b.value,"aria-haspopup":!0,"aria-expanded":R.value}))),{component:L,bus:U}=function({reference:t,id:o,expanded:r,aria:a}){const n=l(),u=e.defineComponent({name:"VvDropdownTriggerProvider",setup(){e.provide(c,{reference:t,id:o,expanded:r,aria:a,bus:n})},render(){var t,o;return e.h(e.Fragment,{},null==(o=(t=this.$slots).default)?void 0:o.call(t))}});return{bus:n,component:u}}({reference:P,id:b,expanded:R,aria:H});U.on("click",q);const{role:I,modifiers:G}=e.toRefs(s),{itemRole:J}=function({role:t,expanded:o}){const r=e.computed((()=>t.value===f.listbox?p.option:p.presentation));return e.provide(v,{role:r,expanded:o}),{itemRole:r}}({role:I,expanded:R}),Q=function(t,o,r){return e.computed((()=>{const l={[t]:!0},a="string"==typeof(null==o?void 0:o.value)?o.value.split(" "):null==o?void 0:o.value;return a&&Array.isArray(a)&&a.forEach((e=>{e&&(l[`${t}--${e}`]=!0)})),r&&Object.keys(r.value).forEach((o=>{l[`${t}--${o}`]=e.unref(r.value[o])})),l}))}("vv-dropdown",G,e.computed((()=>({arrow:s.arrow})))),{focused:X}=r.useFocusWithin(S);function Y(e){return e?[...e.querySelectorAll('a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])')].filter((e=>!e.hasAttribute("disabled")&&!e.getAttribute("aria-hidden"))):[]}r.onKeyStroke("Escape",(e=>{R.value&&(e.preventDefault(),W())})),r.onKeyStroke("ArrowDown",(t=>{R.value&&X.value&&(t.preventDefault(),e.nextTick((()=>{if(X.value){const e=Y(S.value);if(0===e.length||!document.activeElement)return;const t=e.indexOf(document.activeElement);t<e.length-1?e[t+1].focus({preventScroll:!0}):e[0].focus({preventScroll:!0})}})))})),r.onKeyStroke("ArrowUp",(t=>{R.value&&X.value&&(t.preventDefault(),e.nextTick((()=>{if(X.value){const e=Y(S.value);if(0===e.length||!document.activeElement)return;const t=e.indexOf(document.activeElement);t>0?e[t-1].focus({preventScroll:!0}):e[e.length-1].focus({preventScroll:!0})}})))})),r.onKeyStroke([" ","Enter"],(e=>{const t=e.target;R.value&&X.value&&t&&(null==t||t.click())}));const Z={"before-enter":()=>{d(R.value?"beforeExpand":"beforeCollapse"),d("before-enter")},"after-leave":()=>{d(R.value?"afterExpand":"afterCollapse"),d("after-leave")},enter:()=>{d("enter")},"after-enter":()=>{d("after-enter")},"enter-cancelled":()=>{d("enter-cancelled")},"before-leave":()=>{d("before-leave")},leave:()=>{d("leave")},"leave-cancelled":()=>{d("leave-cancelled")}};return(t,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(L),null,{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps({init:K,show:T,hide:W,toggle:q,expanded:e.unref(R),aria:e.unref(H)})))])),_:3}),e.createVNode(e.Transition,e.mergeProps({name:t.transitionName},e.toHandlers(Z),{persisted:""}),{default:e.withCtx((()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"floatingEl",ref:S,style:e.normalizeStyle(e.unref(A)),class:e.normalizeClass(e.unref(Q))},[s.arrow?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"arrowEl",ref:k,style:e.normalizeStyle(e.unref(D)),class:"vv-dropdown__arrow"},null,4)):e.createCommentVNode("v-if",!0),e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(R)}))),e.createElementVNode("div",e.mergeProps(e.unref(g),{id:e.unref(b),ref_key:"listEl",ref:E,tabindex:e.unref(R)?void 0:-1,role:e.unref(I),"aria-labelledby":e.unref(M),class:"vv-dropdown__list"}),[e.renderSlot(t.$slots,"items",e.normalizeProps(e.guardReactiveProps({role:e.unref(J)})))],16,y),e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(R)})))],6),[[e.vShow,e.unref(R)]])])),_:3},16,["name"])],64))}})}));
|
|
@@ -14,7 +14,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
14
14
|
default: import("../../constants").DropdownRole;
|
|
15
15
|
validator: (value: import("../../constants").DropdownRole) => boolean;
|
|
16
16
|
};
|
|
17
|
-
modifiers:
|
|
17
|
+
modifiers: {
|
|
18
|
+
type: globalThis.PropType<string | string[]>;
|
|
19
|
+
default: undefined;
|
|
20
|
+
};
|
|
18
21
|
placement: {
|
|
19
22
|
type: globalThis.PropType<"left" | "right" | "top" | "bottom" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end">;
|
|
20
23
|
default: Side;
|
|
@@ -27,6 +30,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
27
30
|
};
|
|
28
31
|
transitionName: {
|
|
29
32
|
type: StringConstructor;
|
|
33
|
+
default: undefined;
|
|
30
34
|
};
|
|
31
35
|
offset: {
|
|
32
36
|
type: globalThis.PropType<string | import("@floating-ui/vue").OffsetOptions | undefined>;
|
|
@@ -172,6 +176,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
172
176
|
};
|
|
173
177
|
triggerWidth: {
|
|
174
178
|
type: BooleanConstructor;
|
|
179
|
+
default: boolean;
|
|
175
180
|
};
|
|
176
181
|
id: (StringConstructor | NumberConstructor)[];
|
|
177
182
|
}, {
|
|
@@ -208,7 +213,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
208
213
|
default: import("../../constants").DropdownRole;
|
|
209
214
|
validator: (value: import("../../constants").DropdownRole) => boolean;
|
|
210
215
|
};
|
|
211
|
-
modifiers:
|
|
216
|
+
modifiers: {
|
|
217
|
+
type: globalThis.PropType<string | string[]>;
|
|
218
|
+
default: undefined;
|
|
219
|
+
};
|
|
212
220
|
placement: {
|
|
213
221
|
type: globalThis.PropType<"left" | "right" | "top" | "bottom" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end">;
|
|
214
222
|
default: Side;
|
|
@@ -221,6 +229,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
221
229
|
};
|
|
222
230
|
transitionName: {
|
|
223
231
|
type: StringConstructor;
|
|
232
|
+
default: undefined;
|
|
224
233
|
};
|
|
225
234
|
offset: {
|
|
226
235
|
type: globalThis.PropType<string | import("@floating-ui/vue").OffsetOptions | undefined>;
|
|
@@ -366,6 +375,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
366
375
|
};
|
|
367
376
|
triggerWidth: {
|
|
368
377
|
type: BooleanConstructor;
|
|
378
|
+
default: boolean;
|
|
369
379
|
};
|
|
370
380
|
id: (StringConstructor | NumberConstructor)[];
|
|
371
381
|
}>> & {
|
|
@@ -384,6 +394,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
384
394
|
onAfterCollapse?: ((...args: any[]) => any) | undefined;
|
|
385
395
|
}, {
|
|
386
396
|
modelValue: boolean;
|
|
397
|
+
modifiers: string | string[];
|
|
387
398
|
reference: HTMLElement | null;
|
|
388
399
|
placement: "left" | "right" | "top" | "bottom" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end";
|
|
389
400
|
strategy: "absolute" | "fixed";
|
|
@@ -438,6 +449,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
438
449
|
flipAlignment?: boolean | undefined;
|
|
439
450
|
boundary?: import("@floating-ui/dom").Boundary | undefined;
|
|
440
451
|
}> | undefined;
|
|
452
|
+
transitionName: string;
|
|
441
453
|
offset: string | import("@floating-ui/vue").OffsetOptions | undefined;
|
|
442
454
|
size: boolean | {
|
|
443
455
|
rootBoundary?: import("@floating-ui/core").RootBoundary | undefined;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
2
|
-
modifiers:
|
|
2
|
+
modifiers: {
|
|
3
|
+
type: globalThis.PropType<string | string[]>;
|
|
4
|
+
default: undefined;
|
|
5
|
+
};
|
|
3
6
|
type: {
|
|
4
7
|
type: globalThis.PropType<"button" | "submit" | "reset">;
|
|
5
8
|
default: import("../../constants").ButtonType;
|
|
@@ -13,25 +16,48 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
13
16
|
type: StringConstructor;
|
|
14
17
|
default: import("../../constants").ActionTag;
|
|
15
18
|
};
|
|
19
|
+
/**
|
|
20
|
+
* @description Define component classes with BEM style.
|
|
21
|
+
* @returns {Array} The component classes.
|
|
22
|
+
*/
|
|
16
23
|
to: {
|
|
17
24
|
type: (ObjectConstructor | StringConstructor)[];
|
|
18
25
|
};
|
|
19
26
|
href: StringConstructor;
|
|
20
27
|
target: {
|
|
21
28
|
type: globalThis.PropType<"_blank" | "_self" | "_parent" | "_top">;
|
|
29
|
+
default: undefined;
|
|
22
30
|
validator: (value: import("../../constants").AnchorTarget) => boolean;
|
|
23
31
|
};
|
|
24
32
|
rel: {
|
|
25
33
|
type: StringConstructor;
|
|
26
34
|
default: string;
|
|
27
35
|
};
|
|
28
|
-
current:
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
36
|
+
current: {
|
|
37
|
+
type: BooleanConstructor;
|
|
38
|
+
default: boolean;
|
|
39
|
+
};
|
|
40
|
+
active: {
|
|
41
|
+
type: BooleanConstructor;
|
|
42
|
+
default: boolean;
|
|
43
|
+
};
|
|
44
|
+
pressed: {
|
|
45
|
+
type: BooleanConstructor;
|
|
46
|
+
default: boolean;
|
|
47
|
+
};
|
|
48
|
+
label: {
|
|
49
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
50
|
+
default: undefined;
|
|
51
|
+
};
|
|
52
|
+
disabled: {
|
|
53
|
+
type: BooleanConstructor;
|
|
54
|
+
default: boolean;
|
|
55
|
+
};
|
|
33
56
|
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
34
|
-
modifiers:
|
|
57
|
+
modifiers: {
|
|
58
|
+
type: globalThis.PropType<string | string[]>;
|
|
59
|
+
default: undefined;
|
|
60
|
+
};
|
|
35
61
|
type: {
|
|
36
62
|
type: globalThis.PropType<"button" | "submit" | "reset">;
|
|
37
63
|
default: import("../../constants").ButtonType;
|
|
@@ -45,26 +71,49 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
45
71
|
type: StringConstructor;
|
|
46
72
|
default: import("../../constants").ActionTag;
|
|
47
73
|
};
|
|
74
|
+
/**
|
|
75
|
+
* @description Define component classes with BEM style.
|
|
76
|
+
* @returns {Array} The component classes.
|
|
77
|
+
*/
|
|
48
78
|
to: {
|
|
49
79
|
type: (ObjectConstructor | StringConstructor)[];
|
|
50
80
|
};
|
|
51
81
|
href: StringConstructor;
|
|
52
82
|
target: {
|
|
53
83
|
type: globalThis.PropType<"_blank" | "_self" | "_parent" | "_top">;
|
|
84
|
+
default: undefined;
|
|
54
85
|
validator: (value: import("../../constants").AnchorTarget) => boolean;
|
|
55
86
|
};
|
|
56
87
|
rel: {
|
|
57
88
|
type: StringConstructor;
|
|
58
89
|
default: string;
|
|
59
90
|
};
|
|
60
|
-
current:
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
91
|
+
current: {
|
|
92
|
+
type: BooleanConstructor;
|
|
93
|
+
default: boolean;
|
|
94
|
+
};
|
|
95
|
+
active: {
|
|
96
|
+
type: BooleanConstructor;
|
|
97
|
+
default: boolean;
|
|
98
|
+
};
|
|
99
|
+
pressed: {
|
|
100
|
+
type: BooleanConstructor;
|
|
101
|
+
default: boolean;
|
|
102
|
+
};
|
|
103
|
+
label: {
|
|
104
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
105
|
+
default: undefined;
|
|
106
|
+
};
|
|
107
|
+
disabled: {
|
|
108
|
+
type: BooleanConstructor;
|
|
109
|
+
default: boolean;
|
|
110
|
+
};
|
|
65
111
|
}>>, {
|
|
66
112
|
disabled: boolean;
|
|
113
|
+
modifiers: string | string[];
|
|
114
|
+
label: string | number;
|
|
67
115
|
type: "button" | "submit" | "reset";
|
|
116
|
+
target: "_blank" | "_self" | "_parent" | "_top";
|
|
68
117
|
ariaLabel: string;
|
|
69
118
|
defaultTag: string;
|
|
70
119
|
rel: string;
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
declare const _default: import("vue").DefineComponent<{
|
|
2
|
-
label:
|
|
2
|
+
label: {
|
|
3
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
4
|
+
default: undefined;
|
|
5
|
+
};
|
|
3
6
|
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
4
|
-
label:
|
|
5
|
-
|
|
7
|
+
label: {
|
|
8
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
9
|
+
default: undefined;
|
|
10
|
+
};
|
|
11
|
+
}>>, {
|
|
12
|
+
label: string | number;
|
|
13
|
+
}, {}>;
|
|
6
14
|
export default _default;
|
|
@@ -8,13 +8,22 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
8
8
|
selectedHintLabel: {
|
|
9
9
|
type: StringConstructor;
|
|
10
10
|
};
|
|
11
|
-
modifiers:
|
|
11
|
+
modifiers: {
|
|
12
|
+
type: globalThis.PropType<string | string[]>;
|
|
13
|
+
default: undefined;
|
|
14
|
+
};
|
|
12
15
|
unselectable: {
|
|
13
16
|
type: BooleanConstructor;
|
|
14
17
|
default: boolean;
|
|
15
18
|
};
|
|
16
|
-
selected:
|
|
17
|
-
|
|
19
|
+
selected: {
|
|
20
|
+
type: BooleanConstructor;
|
|
21
|
+
default: boolean;
|
|
22
|
+
};
|
|
23
|
+
disabled: {
|
|
24
|
+
type: BooleanConstructor;
|
|
25
|
+
default: boolean;
|
|
26
|
+
};
|
|
18
27
|
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
19
28
|
deselectHintLabel: {
|
|
20
29
|
type: StringConstructor;
|
|
@@ -25,16 +34,26 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
25
34
|
selectedHintLabel: {
|
|
26
35
|
type: StringConstructor;
|
|
27
36
|
};
|
|
28
|
-
modifiers:
|
|
37
|
+
modifiers: {
|
|
38
|
+
type: globalThis.PropType<string | string[]>;
|
|
39
|
+
default: undefined;
|
|
40
|
+
};
|
|
29
41
|
unselectable: {
|
|
30
42
|
type: BooleanConstructor;
|
|
31
43
|
default: boolean;
|
|
32
44
|
};
|
|
33
|
-
selected:
|
|
34
|
-
|
|
45
|
+
selected: {
|
|
46
|
+
type: BooleanConstructor;
|
|
47
|
+
default: boolean;
|
|
48
|
+
};
|
|
49
|
+
disabled: {
|
|
50
|
+
type: BooleanConstructor;
|
|
51
|
+
default: boolean;
|
|
52
|
+
};
|
|
35
53
|
}>>, {
|
|
36
54
|
disabled: boolean;
|
|
37
55
|
unselectable: boolean;
|
|
56
|
+
modifiers: string | string[];
|
|
38
57
|
selected: boolean;
|
|
39
58
|
}, {}>, {
|
|
40
59
|
default?(_: {}): any;
|