@volverjs/ui-vue 0.0.3 → 0.0.4
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 +1 -1
- package/README.md +52 -13
- package/dist/Volver.d.ts +5 -1
- package/dist/components/VvAccordion/VvAccordion.es.js +113 -66
- package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
- package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +159 -101
- package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
- package/dist/components/VvAction/VvAction.es.js +170 -0
- package/dist/components/VvAction/VvAction.umd.js +1 -0
- package/dist/components/VvAction/VvAction.vue.d.ts +63 -0
- package/dist/components/VvAction/index.d.ts +24 -0
- package/dist/components/VvBadge/VvBadge.es.js +86 -16
- package/dist/components/VvBadge/VvBadge.umd.js +1 -1
- package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +97 -41
- package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
- package/dist/components/VvButton/VvButton.es.js +434 -251
- package/dist/components/VvButton/VvButton.umd.js +1 -1
- package/dist/components/VvButton/VvButton.vue.d.ts +50 -50
- package/dist/components/VvButton/index.d.ts +22 -67
- package/dist/components/VvButtonGroup/VvButtonGroup.es.js +118 -43
- package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
- package/dist/components/VvCard/VvCard.es.js +38 -25
- package/dist/components/VvCard/VvCard.umd.js +1 -1
- package/dist/components/VvCheckbox/VvCheckbox.es.js +334 -154
- package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
- package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +2 -2
- package/dist/components/VvCheckbox/index.d.ts +1 -1
- package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +401 -204
- package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
- package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +2 -2
- package/dist/components/VvCheckboxGroup/index.d.ts +1 -1
- package/dist/components/VvCombobox/VvCombobox.es.js +950 -594
- package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
- package/dist/components/VvCombobox/VvCombobox.vue.d.ts +54 -30
- package/dist/components/VvCombobox/index.d.ts +18 -13
- package/dist/components/VvDialog/VvDialog.es.js +139 -64
- package/dist/components/VvDialog/VvDialog.umd.js +1 -1
- package/dist/components/VvDropdown/VvDropdown.es.js +276 -158
- package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
- package/dist/components/VvDropdown/VvDropdown.vue.d.ts +9 -9
- package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +61 -0
- package/dist/components/VvDropdown/VvDropdownOption.vue.d.ts +52 -0
- package/dist/components/VvDropdown/index.d.ts +6 -9
- package/dist/components/VvDropdownAction/VvDropdownAction.es.js +251 -0
- package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -0
- package/dist/components/VvDropdownItem/VvDropdownItem.es.js +30 -15
- package/dist/components/VvDropdownItem/VvDropdownItem.umd.js +1 -1
- package/dist/components/VvDropdownOption/VvDropdownOption.es.js +176 -0
- package/dist/components/VvDropdownOption/VvDropdownOption.umd.js +1 -0
- package/dist/components/VvIcon/VvIcon.es.js +48 -32
- package/dist/components/VvIcon/VvIcon.umd.js +1 -1
- package/dist/components/VvInputText/VvInputText.es.js +508 -344
- package/dist/components/VvInputText/VvInputText.umd.js +1 -1
- package/dist/components/VvInputText/VvInputText.vue.d.ts +11 -4
- package/dist/components/VvInputText/index.d.ts +13 -2
- package/dist/components/VvProgress/VvProgress.es.js +90 -20
- package/dist/components/VvProgress/VvProgress.umd.js +1 -1
- package/dist/components/VvRadio/VvRadio.es.js +305 -125
- package/dist/components/VvRadio/VvRadio.umd.js +1 -1
- package/dist/components/VvRadio/VvRadio.vue.d.ts +2 -2
- package/dist/components/VvRadio/index.d.ts +1 -1
- package/dist/components/VvRadioGroup/VvRadioGroup.es.js +372 -175
- package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
- package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +2 -2
- package/dist/components/VvRadioGroup/index.d.ts +1 -1
- package/dist/components/VvSelect/VvSelect.es.js +371 -216
- package/dist/components/VvSelect/VvSelect.umd.js +1 -1
- package/dist/components/VvSelect/VvSelect.vue.d.ts +11 -4
- package/dist/components/VvSelect/index.d.ts +5 -5
- package/dist/components/VvTextarea/VvTextarea.es.js +408 -244
- package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
- package/dist/components/VvTextarea/VvTextarea.vue.d.ts +11 -4
- package/dist/components/VvTextarea/index.d.ts +5 -5
- package/dist/components/VvTooltip/VvTooltip.es.js +88 -18
- package/dist/components/VvTooltip/VvTooltip.umd.js +1 -1
- package/dist/components/index.es.js +1913 -1521
- package/dist/components/index.umd.js +1 -1
- package/dist/composables/dropdown/useInjectDropdown.d.ts +1 -1
- package/dist/composables/dropdown/useProvideDropdown.d.ts +2 -2
- package/dist/constants.d.ts +30 -0
- package/dist/directives/index.es.js +128 -0
- package/dist/directives/index.umd.js +1 -0
- package/dist/directives/v-tooltip.es.js +126 -0
- package/dist/directives/v-tooltip.umd.js +1 -0
- package/dist/icons.es.js +3 -3
- package/dist/icons.umd.js +1 -1
- package/dist/index.es.js +2102 -1761
- package/dist/index.umd.js +1 -1
- package/dist/props/index.d.ts +179 -11
- package/dist/resolvers/unplugin.d.ts +8 -8
- package/dist/resolvers/unplugin.es.js +51 -30
- package/dist/resolvers/unplugin.umd.js +1 -1
- package/dist/stories/Combobox/Combobox.settings.d.ts +44 -0
- package/dist/stories/Dropdown/Dropdown.settings.d.ts +3 -2
- package/package.json +60 -34
- package/src/Volver.ts +12 -5
- 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/VvAction/VvAction.vue +144 -0
- package/src/components/VvAction/index.ts +5 -0
- package/src/components/VvButton/VvButton.vue +31 -114
- package/src/components/VvButton/index.ts +6 -79
- package/src/components/VvCombobox/VvCombobox.vue +54 -42
- package/src/components/VvCombobox/index.ts +11 -9
- package/src/components/VvDropdown/VvDropdownAction.vue +44 -0
- package/src/components/VvDropdown/VvDropdownOption.vue +65 -0
- package/src/components/VvDropdown/index.ts +4 -9
- package/src/components/VvSelect/index.ts +2 -4
- package/src/composables/dropdown/useInjectDropdown.ts +1 -1
- package/src/composables/dropdown/useProvideDropdown.ts +7 -9
- package/src/composables/useModifiers.ts +4 -7
- package/src/constants.ts +36 -0
- package/src/props/index.ts +106 -14
- package/src/resolvers/unplugin.ts +81 -48
- package/src/stories/Accordion/AccordionSlots.stories.mdx +2 -2
- package/src/stories/AccordionGroup/AccordionGroupSlots.stories.mdx +2 -1
- package/src/stories/Breadcrumb/Breadcrumb.stories.mdx +2 -1
- package/src/stories/Button/Button.stories.mdx +4 -2
- package/src/stories/Button/Button.test.ts +3 -1
- package/src/stories/Button/ButtonModifiers.stories.mdx +2 -2
- package/src/stories/Button/ButtonSlots.stories.mdx +8 -7
- package/src/stories/Button/ButtonState.stories.mdx +2 -11
- package/src/stories/Card/Card.stories.mdx +2 -1
- package/src/stories/Checkbox/Checkbox.stories.mdx +2 -1
- package/src/stories/CheckboxGroup/CheckboxGroup.stories.mdx +2 -1
- package/src/stories/CheckboxGroup/CheckboxGroupSlots.stories.mdx +2 -1
- package/src/stories/Combobox/Combobox.settings.ts +44 -0
- package/src/stories/Combobox/Combobox.stories.mdx +40 -1
- package/src/stories/Dialog/Dialog.stories.mdx +2 -1
- package/src/stories/Dropdown/Dropdown.settings.ts +3 -2
- package/src/stories/Dropdown/Dropdown.stories.mdx +14 -12
- package/src/stories/Dropdown/DropdownMultilevel.stories.mdx +56 -0
- package/src/stories/Dropdown/DropdownSlots.stories.mdx +14 -13
- package/src/stories/Icon/Icon.stories.mdx +2 -1
- package/src/stories/Icon/IconsCollection.stories.mdx +2 -1
- package/src/stories/InputText/InputText.stories.mdx +2 -1
- package/src/stories/Progress/Progress.stories.mdx +2 -1
- package/src/stories/Radio/Radio.stories.mdx +2 -1
- package/src/stories/RadioGroup/RadioGroup.stories.mdx +2 -1
- package/src/stories/RadioGroup/RadioGroupSlots.stories.mdx +2 -1
- package/src/stories/Select/Select.stories.mdx +2 -1
- package/src/stories/Textarea/Textarea.stories.mdx +2 -1
- package/src/stories/Tooltip/Tooltip.stories.mdx +2 -1
- package/src/stories/Tooltip/TooltipDirective.stories.mdx +2 -1
|
@@ -1,27 +1,76 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { autoPlacement as
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { computed as s, defineComponent as X, h as we, Fragment as Z, provide as xe, unref as a, toRefs as M, useAttrs as _e, ref as p, watch as Oe, nextTick as D, openBlock as T, createElementBlock as K, createVNode as L, withCtx as U, renderSlot as E, normalizeProps as w, guardReactiveProps as x, Transition as Se, withDirectives as Pe, createElementVNode as q, normalizeStyle as G, normalizeClass as $e, createCommentVNode as De, mergeProps as Ne, vShow as je } from "vue";
|
|
2
|
+
import { autoPlacement as H, flip as J, shift as Y, size as Q, offset as N, arrow as ke, useFloating as Be, autoUpdate as Ae } from "@floating-ui/vue";
|
|
3
|
+
import { nanoid as Ie } from "nanoid";
|
|
4
|
+
import { useVModel as Ve, onClickOutside as Ce, useFocusWithin as We, onKeyStroke as _ } from "@vueuse/core";
|
|
5
|
+
import Re from "mitt";
|
|
6
|
+
var j = /* @__PURE__ */ ((e) => (e.left = "left", e.right = "right", e.top = "top", e.bottom = "bottom", e))(j || {}), ee = /* @__PURE__ */ ((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))(ee || {}), k = /* @__PURE__ */ ((e) => (e.before = "before", e.after = "after", e))(k || {}), B = /* @__PURE__ */ ((e) => (e.button = "button", e.submit = "submit", e.reset = "reset", e))(B || {}), O = /* @__PURE__ */ ((e) => (e.listbox = "listbox", e.menu = "menu", e))(O || {}), A = /* @__PURE__ */ ((e) => (e.option = "option", e.presentation = "presentation", e))(A || {}), te = /* @__PURE__ */ ((e) => (e._blank = "_blank", e._self = "_self", e._parent = "_parent", e._top = "_top", e))(te || {});
|
|
7
|
+
const ze = Symbol.for("dropdownTrigger"), Fe = Symbol.for("dropdownItem"), Me = {
|
|
8
|
+
/**
|
|
9
|
+
* The router-link/nuxt-link property, if it is defined the button is rendered as a ruouter-link or nuxt-link.
|
|
10
|
+
* @see Documentation of [router-link](https://router.vuejs.org/api/#router-link) and [nuxt-link](https://nuxtjs.org/api/components-nuxt-link/)
|
|
11
|
+
*/
|
|
12
|
+
to: {
|
|
13
|
+
type: [String, Object]
|
|
14
|
+
},
|
|
15
|
+
/**
|
|
16
|
+
* Anchor href
|
|
17
|
+
*/
|
|
18
|
+
href: String,
|
|
19
|
+
/**
|
|
20
|
+
* Anchor target
|
|
21
|
+
*/
|
|
22
|
+
target: {
|
|
23
|
+
type: String,
|
|
24
|
+
validator: (e) => Object.values(te).includes(e)
|
|
25
|
+
},
|
|
26
|
+
/**
|
|
27
|
+
* Anchor rel
|
|
28
|
+
*/
|
|
29
|
+
rel: {
|
|
30
|
+
type: String,
|
|
31
|
+
default: "noopener noreferrer"
|
|
32
|
+
}
|
|
33
|
+
}, Te = {
|
|
34
|
+
/**
|
|
35
|
+
* Whether the form control is disabled
|
|
36
|
+
*/
|
|
37
|
+
disabled: Boolean
|
|
38
|
+
}, Ke = {
|
|
39
|
+
/**
|
|
40
|
+
* Whether the item is active
|
|
41
|
+
*/
|
|
42
|
+
active: Boolean
|
|
43
|
+
}, Le = {
|
|
44
|
+
/**
|
|
45
|
+
* Whether the item is pressed
|
|
46
|
+
*/
|
|
47
|
+
pressed: Boolean
|
|
48
|
+
}, Ue = {
|
|
49
|
+
/**
|
|
50
|
+
* The item label
|
|
51
|
+
*/
|
|
52
|
+
label: [String, Number]
|
|
53
|
+
}, qe = {
|
|
5
54
|
/**
|
|
6
55
|
* Component BEM modifiers
|
|
7
56
|
*/
|
|
8
57
|
modifiers: [String, Array]
|
|
9
58
|
};
|
|
10
|
-
|
|
11
|
-
const
|
|
59
|
+
k.before;
|
|
60
|
+
const Ge = {
|
|
12
61
|
/**
|
|
13
62
|
* Global attribute id
|
|
14
63
|
* @see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id
|
|
15
64
|
*/
|
|
16
65
|
id: [String, Number]
|
|
17
|
-
},
|
|
66
|
+
}, He = {
|
|
18
67
|
/**
|
|
19
68
|
* Dropdown placement
|
|
20
69
|
*/
|
|
21
70
|
placement: {
|
|
22
71
|
type: String,
|
|
23
|
-
default:
|
|
24
|
-
validator: (
|
|
72
|
+
default: j.bottom,
|
|
73
|
+
validator: (e) => Object.values(j).includes(e) || Object.values(ee).includes(e)
|
|
25
74
|
},
|
|
26
75
|
/**
|
|
27
76
|
* Dropdown show / hide transition name
|
|
@@ -97,10 +146,22 @@ const Se = {
|
|
|
97
146
|
triggerWidth: {
|
|
98
147
|
type: Boolean
|
|
99
148
|
}
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
...
|
|
103
|
-
...
|
|
149
|
+
};
|
|
150
|
+
({
|
|
151
|
+
...Te,
|
|
152
|
+
...Ue,
|
|
153
|
+
...Le,
|
|
154
|
+
...Ke,
|
|
155
|
+
...Me,
|
|
156
|
+
/**
|
|
157
|
+
* Button type
|
|
158
|
+
*/
|
|
159
|
+
type: B.button
|
|
160
|
+
});
|
|
161
|
+
const Je = {
|
|
162
|
+
...Ge,
|
|
163
|
+
...qe,
|
|
164
|
+
...He,
|
|
104
165
|
/**
|
|
105
166
|
* Show / hide dropdown programmatically
|
|
106
167
|
*/
|
|
@@ -120,218 +181,275 @@ const Se = {
|
|
|
120
181
|
*/
|
|
121
182
|
role: {
|
|
122
183
|
type: String,
|
|
123
|
-
default:
|
|
124
|
-
validator: (
|
|
184
|
+
default: O.menu,
|
|
185
|
+
validator: (e) => Object.values(O).includes(e)
|
|
125
186
|
}
|
|
126
|
-
},
|
|
187
|
+
}, Ye = (e) => s(() => String((e == null ? void 0 : e.value) || Ie()));
|
|
188
|
+
function Qe({
|
|
189
|
+
reference: e,
|
|
190
|
+
id: l,
|
|
191
|
+
expanded: o,
|
|
192
|
+
aria: f
|
|
193
|
+
}) {
|
|
194
|
+
const u = Re(), i = X({
|
|
195
|
+
name: "VvDropdownTriggerProvider",
|
|
196
|
+
provide() {
|
|
197
|
+
return {
|
|
198
|
+
[ze]: {
|
|
199
|
+
reference: e,
|
|
200
|
+
id: l,
|
|
201
|
+
expanded: o,
|
|
202
|
+
aria: f,
|
|
203
|
+
bus: u
|
|
204
|
+
}
|
|
205
|
+
};
|
|
206
|
+
},
|
|
207
|
+
setup() {
|
|
208
|
+
return {};
|
|
209
|
+
},
|
|
210
|
+
render() {
|
|
211
|
+
var v, m;
|
|
212
|
+
return we(Z, {}, (m = (v = this.$slots).default) == null ? void 0 : m.call(v));
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
return {
|
|
216
|
+
bus: u,
|
|
217
|
+
component: i
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
function Xe({
|
|
221
|
+
role: e,
|
|
222
|
+
expanded: l
|
|
223
|
+
}) {
|
|
224
|
+
const o = s(
|
|
225
|
+
() => e.value === O.listbox ? A.option : A.presentation
|
|
226
|
+
);
|
|
227
|
+
return xe(Fe, {
|
|
228
|
+
role: o,
|
|
229
|
+
expanded: l
|
|
230
|
+
}), { itemRole: o };
|
|
231
|
+
}
|
|
232
|
+
function Ze(e, l, o) {
|
|
233
|
+
return s(() => {
|
|
234
|
+
const f = {
|
|
235
|
+
[e]: !0
|
|
236
|
+
}, u = typeof (l == null ? void 0 : l.value) == "string" ? l.value.split(" ") : l == null ? void 0 : l.value;
|
|
237
|
+
return u && Array.isArray(u) && u.forEach((i) => {
|
|
238
|
+
f[`${e}--${i}`] = !0;
|
|
239
|
+
}), o && Object.keys(o.value).forEach((i) => {
|
|
240
|
+
f[`${e}--${i}`] = a(o.value[i]);
|
|
241
|
+
}), f;
|
|
242
|
+
});
|
|
243
|
+
}
|
|
244
|
+
const et = ["id", "tabindex", "role", "aria-labelledby"], tt = {
|
|
127
245
|
name: "VvDropdown",
|
|
128
246
|
inheritAttrs: !1
|
|
129
|
-
},
|
|
130
|
-
...
|
|
131
|
-
props:
|
|
247
|
+
}, st = /* @__PURE__ */ X({
|
|
248
|
+
...tt,
|
|
249
|
+
props: Je,
|
|
132
250
|
emits: ["update:modelValue"],
|
|
133
|
-
setup(
|
|
134
|
-
const o =
|
|
135
|
-
get: () => o.reference ??
|
|
136
|
-
set: (
|
|
137
|
-
|
|
251
|
+
setup(e, { emit: l }) {
|
|
252
|
+
const o = e, { id: f } = M(o), u = Ye(f), i = _e(), v = p("auto"), m = p("auto"), I = p(null), c = p(null), g = p(null), oe = p(null), d = s({
|
|
253
|
+
get: () => o.reference ?? I.value,
|
|
254
|
+
set: (t) => {
|
|
255
|
+
I.value = t;
|
|
138
256
|
}
|
|
139
|
-
}),
|
|
140
|
-
const
|
|
141
|
-
if (o.autoPlacement ? typeof o.autoPlacement == "boolean" ?
|
|
142
|
-
|
|
143
|
-
) : o.flip && (typeof o.flip == "boolean" ?
|
|
144
|
-
const
|
|
145
|
-
availableWidth:
|
|
146
|
-
availableHeight:
|
|
257
|
+
}), re = s(() => {
|
|
258
|
+
const t = [];
|
|
259
|
+
if (o.autoPlacement ? typeof o.autoPlacement == "boolean" ? t.push(H()) : t.push(
|
|
260
|
+
H(o.autoPlacement)
|
|
261
|
+
) : o.flip && (typeof o.flip == "boolean" ? t.push(J()) : t.push(J(o.flip))), o.shift && (typeof o.shift == "boolean" ? t.push(Y()) : t.push(Y(o.shift))), o.size) {
|
|
262
|
+
const r = ({
|
|
263
|
+
availableWidth: h,
|
|
264
|
+
availableHeight: y
|
|
147
265
|
}) => {
|
|
148
|
-
|
|
266
|
+
v.value = `${h}px`, m.value = `${y}px`;
|
|
149
267
|
};
|
|
150
|
-
typeof o.size == "boolean" ?
|
|
151
|
-
|
|
152
|
-
apply:
|
|
268
|
+
typeof o.size == "boolean" ? t.push(
|
|
269
|
+
Q({
|
|
270
|
+
apply: r
|
|
153
271
|
})
|
|
154
|
-
) :
|
|
155
|
-
|
|
272
|
+
) : t.push(
|
|
273
|
+
Q({
|
|
156
274
|
...o.size,
|
|
157
|
-
apply:
|
|
275
|
+
apply: r
|
|
158
276
|
})
|
|
159
277
|
);
|
|
160
278
|
}
|
|
161
|
-
return o.offset && (
|
|
162
|
-
|
|
163
|
-
element:
|
|
279
|
+
return o.offset && (t.push(N(Number(o.offset))), ["string", "number"].includes(typeof o.offset) ? t.push(N(Number(o.offset))) : t.push(N(o.offset))), o.arrow && t.push(
|
|
280
|
+
ke({
|
|
281
|
+
element: g
|
|
164
282
|
})
|
|
165
|
-
),
|
|
166
|
-
}), { x:
|
|
167
|
-
|
|
168
|
-
|
|
283
|
+
), t;
|
|
284
|
+
}), { x: ne, y: ae, strategy: le, middlewareData: V, placement: se } = Be(
|
|
285
|
+
d,
|
|
286
|
+
c,
|
|
169
287
|
{
|
|
170
|
-
whileElementsMounted:
|
|
288
|
+
whileElementsMounted: Ae,
|
|
171
289
|
placement: o.placement,
|
|
172
|
-
middleware:
|
|
290
|
+
middleware: re
|
|
173
291
|
}
|
|
174
|
-
),
|
|
175
|
-
position:
|
|
176
|
-
top: `${
|
|
177
|
-
left: `${
|
|
178
|
-
maxWidth:
|
|
179
|
-
maxHeight:
|
|
180
|
-
width: o.triggerWidth &&
|
|
181
|
-
})),
|
|
292
|
+
), ue = s(() => ({
|
|
293
|
+
position: le.value,
|
|
294
|
+
top: `${ae.value ?? 0}px`,
|
|
295
|
+
left: `${ne.value ?? 0}px`,
|
|
296
|
+
maxWidth: v.value,
|
|
297
|
+
maxHeight: m.value,
|
|
298
|
+
width: o.triggerWidth && d.value ? `${d.value.offsetWidth}px` : void 0
|
|
299
|
+
})), ie = s(() => se.value.split("-")[0]), S = s(
|
|
182
300
|
() => ({
|
|
183
301
|
top: "bottom",
|
|
184
302
|
right: "left",
|
|
185
303
|
bottom: "top",
|
|
186
304
|
left: "right"
|
|
187
|
-
})[
|
|
188
|
-
),
|
|
189
|
-
var
|
|
190
|
-
return ["bottom", "top"].includes(
|
|
191
|
-
right: `${((
|
|
192
|
-
[
|
|
305
|
+
})[ie.value] ?? "bottom"
|
|
306
|
+
), fe = s(() => {
|
|
307
|
+
var t, r, h, y;
|
|
308
|
+
return ["bottom", "top"].includes(S.value) ? {
|
|
309
|
+
right: `${((t = V.value.arrow) == null ? void 0 : t.x) ?? 0}px`,
|
|
310
|
+
[S.value]: `${-(((r = g.value) == null ? void 0 : r.offsetWidth) ?? 0) / 2}px`
|
|
193
311
|
} : {
|
|
194
|
-
top: `${((
|
|
195
|
-
[
|
|
312
|
+
top: `${((h = V.value.arrow) == null ? void 0 : h.y) ?? 0}px`,
|
|
313
|
+
[S.value]: `${-(((y = g.value) == null ? void 0 : y.offsetWidth) ?? 0) / 2}px`
|
|
196
314
|
};
|
|
197
|
-
}),
|
|
198
|
-
get: () =>
|
|
199
|
-
set: (
|
|
200
|
-
if (
|
|
201
|
-
|
|
315
|
+
}), P = Ve(o, "modelValue", l), C = p(!1), n = s({
|
|
316
|
+
get: () => P.value ?? C.value,
|
|
317
|
+
set: (t) => {
|
|
318
|
+
if (P.value === void 0) {
|
|
319
|
+
C.value = t;
|
|
202
320
|
return;
|
|
203
321
|
}
|
|
204
|
-
|
|
322
|
+
P.value = t;
|
|
205
323
|
}
|
|
206
|
-
}),
|
|
207
|
-
|
|
208
|
-
},
|
|
209
|
-
|
|
210
|
-
},
|
|
211
|
-
|
|
212
|
-
},
|
|
213
|
-
|
|
324
|
+
}), ce = () => {
|
|
325
|
+
n.value = !0;
|
|
326
|
+
}, W = () => {
|
|
327
|
+
n.value = !1;
|
|
328
|
+
}, R = () => {
|
|
329
|
+
n.value = !n.value;
|
|
330
|
+
}, de = (t) => {
|
|
331
|
+
d.value = t;
|
|
214
332
|
};
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
const
|
|
218
|
-
|
|
333
|
+
Oe(n, (t) => {
|
|
334
|
+
t && o.autofocusFirst && D(() => {
|
|
335
|
+
const r = $(
|
|
336
|
+
c.value
|
|
219
337
|
);
|
|
220
|
-
|
|
338
|
+
r.length > 0 && r[0].focus();
|
|
221
339
|
});
|
|
222
|
-
}),
|
|
223
|
-
|
|
340
|
+
}), Ce(
|
|
341
|
+
c,
|
|
224
342
|
() => {
|
|
225
|
-
o.autoClose && (
|
|
343
|
+
o.autoClose && (n.value = !1);
|
|
226
344
|
},
|
|
227
|
-
{ ignore: [
|
|
345
|
+
{ ignore: [d] }
|
|
228
346
|
);
|
|
229
|
-
const
|
|
230
|
-
var
|
|
231
|
-
return ((
|
|
232
|
-
}),
|
|
233
|
-
"aria-controls":
|
|
347
|
+
const pe = s(() => {
|
|
348
|
+
var t;
|
|
349
|
+
return ((t = d.value) == null ? void 0 : t.getAttribute("id")) ?? void 0;
|
|
350
|
+
}), z = s(() => ({
|
|
351
|
+
"aria-controls": u.value,
|
|
234
352
|
"aria-haspopup": !0,
|
|
235
|
-
"aria-expanded":
|
|
236
|
-
})), { component:
|
|
237
|
-
reference:
|
|
238
|
-
id:
|
|
239
|
-
expanded:
|
|
240
|
-
aria:
|
|
353
|
+
"aria-expanded": n.value
|
|
354
|
+
})), { component: ve, bus: me } = Qe({
|
|
355
|
+
reference: d,
|
|
356
|
+
id: u,
|
|
357
|
+
expanded: n,
|
|
358
|
+
aria: z
|
|
241
359
|
});
|
|
242
|
-
|
|
243
|
-
const { role:
|
|
360
|
+
me.on("click", R);
|
|
361
|
+
const { role: F, modifiers: be } = M(o), { itemRole: ge } = Xe({ role: F, expanded: n }), he = Ze(
|
|
244
362
|
"vv-dropdown",
|
|
245
|
-
|
|
246
|
-
|
|
363
|
+
be,
|
|
364
|
+
s(() => ({
|
|
247
365
|
arrow: o.arrow
|
|
248
366
|
}))
|
|
249
|
-
), { focused:
|
|
250
|
-
function
|
|
251
|
-
return
|
|
252
|
-
...
|
|
367
|
+
), { focused: b } = We(c);
|
|
368
|
+
function $(t) {
|
|
369
|
+
return t ? [
|
|
370
|
+
...t.querySelectorAll(
|
|
253
371
|
'a[href], button, input, textarea, select, details,[tabindex]:not([tabindex="-1"])'
|
|
254
372
|
)
|
|
255
373
|
].filter(
|
|
256
|
-
(
|
|
374
|
+
(r) => !r.hasAttribute("disabled") && !r.getAttribute("aria-hidden")
|
|
257
375
|
) : [];
|
|
258
376
|
}
|
|
259
|
-
const
|
|
260
|
-
|
|
261
|
-
if (
|
|
262
|
-
const
|
|
263
|
-
|
|
377
|
+
const ye = () => {
|
|
378
|
+
D(() => {
|
|
379
|
+
if (b.value) {
|
|
380
|
+
const t = $(
|
|
381
|
+
c.value
|
|
264
382
|
);
|
|
265
|
-
if (
|
|
383
|
+
if (t.length === 0 || !document.activeElement)
|
|
266
384
|
return;
|
|
267
|
-
const
|
|
385
|
+
const r = t.indexOf(
|
|
268
386
|
document.activeElement
|
|
269
387
|
);
|
|
270
|
-
|
|
388
|
+
r < t.length - 1 ? t[r + 1].focus() : t[0].focus();
|
|
271
389
|
}
|
|
272
390
|
});
|
|
273
|
-
},
|
|
274
|
-
|
|
275
|
-
if (
|
|
276
|
-
const
|
|
277
|
-
|
|
391
|
+
}, Ee = () => {
|
|
392
|
+
D(() => {
|
|
393
|
+
if (b.value) {
|
|
394
|
+
const t = $(
|
|
395
|
+
c.value
|
|
278
396
|
);
|
|
279
|
-
if (
|
|
397
|
+
if (t.length === 0 || !document.activeElement)
|
|
280
398
|
return;
|
|
281
|
-
const
|
|
399
|
+
const r = t.indexOf(
|
|
282
400
|
document.activeElement
|
|
283
401
|
);
|
|
284
|
-
|
|
402
|
+
r > 0 ? t[r - 1].focus() : t[t.length - 1].focus();
|
|
285
403
|
}
|
|
286
404
|
});
|
|
287
405
|
};
|
|
288
|
-
return
|
|
289
|
-
|
|
290
|
-
}),
|
|
291
|
-
|
|
292
|
-
}),
|
|
293
|
-
|
|
294
|
-
}),
|
|
295
|
-
|
|
296
|
-
}), (
|
|
297
|
-
|
|
298
|
-
default:
|
|
299
|
-
|
|
406
|
+
return _("Escape", (t) => {
|
|
407
|
+
n.value && (t.preventDefault(), W());
|
|
408
|
+
}), _("ArrowDown", (t) => {
|
|
409
|
+
n.value && b.value && (t.preventDefault(), ye());
|
|
410
|
+
}), _("ArrowUp", (t) => {
|
|
411
|
+
n.value && b.value && (t.preventDefault(), Ee());
|
|
412
|
+
}), _([" ", "Enter"], (t) => {
|
|
413
|
+
n.value && b.value && (t.preventDefault(), document.activeElement.click());
|
|
414
|
+
}), (t, r) => (T(), K(Z, null, [
|
|
415
|
+
L(a(ve), null, {
|
|
416
|
+
default: U(() => [
|
|
417
|
+
E(t.$slots, "default", w(x({ init: de, show: ce, hide: W, toggle: R, expanded: a(n), aria: a(z) })))
|
|
300
418
|
]),
|
|
301
419
|
_: 3
|
|
302
420
|
}),
|
|
303
|
-
|
|
304
|
-
default:
|
|
305
|
-
|
|
421
|
+
L(Se, { name: t.transitionName }, {
|
|
422
|
+
default: U(() => [
|
|
423
|
+
Pe(q("div", {
|
|
306
424
|
ref_key: "floatingEl",
|
|
307
|
-
ref:
|
|
308
|
-
style:
|
|
309
|
-
class:
|
|
425
|
+
ref: c,
|
|
426
|
+
style: G(a(ue)),
|
|
427
|
+
class: $e(a(he))
|
|
310
428
|
}, [
|
|
311
|
-
o.arrow ? (
|
|
429
|
+
o.arrow ? (T(), K("div", {
|
|
312
430
|
key: 0,
|
|
313
431
|
ref_key: "arrowEl",
|
|
314
|
-
ref:
|
|
315
|
-
style:
|
|
432
|
+
ref: g,
|
|
433
|
+
style: G(a(fe)),
|
|
316
434
|
class: "vv-dropdown__arrow"
|
|
317
|
-
}, null, 4)) :
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
id:
|
|
435
|
+
}, null, 4)) : De("", !0),
|
|
436
|
+
E(t.$slots, "before", w(x({ expanded: a(n) }))),
|
|
437
|
+
q("ul", Ne(a(i), {
|
|
438
|
+
id: a(u),
|
|
321
439
|
ref_key: "listEl",
|
|
322
|
-
ref:
|
|
323
|
-
tabindex:
|
|
324
|
-
role:
|
|
325
|
-
"aria-labelledby":
|
|
440
|
+
ref: oe,
|
|
441
|
+
tabindex: a(n) ? void 0 : -1,
|
|
442
|
+
role: a(F),
|
|
443
|
+
"aria-labelledby": a(pe),
|
|
326
444
|
class: "vv-dropdown__list"
|
|
327
445
|
}), [
|
|
328
|
-
|
|
329
|
-
role:
|
|
446
|
+
E(t.$slots, "items", w(x({
|
|
447
|
+
role: a(ge)
|
|
330
448
|
})))
|
|
331
|
-
], 16,
|
|
332
|
-
|
|
449
|
+
], 16, et),
|
|
450
|
+
E(t.$slots, "after", w(x({ expanded: a(n) })))
|
|
333
451
|
], 6), [
|
|
334
|
-
[
|
|
452
|
+
[je, a(n)]
|
|
335
453
|
])
|
|
336
454
|
]),
|
|
337
455
|
_: 3
|
|
@@ -340,5 +458,5 @@ const Se = {
|
|
|
340
458
|
}
|
|
341
459
|
});
|
|
342
460
|
export {
|
|
343
|
-
|
|
461
|
+
st as default
|
|
344
462
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(e,a){typeof exports=="object"&&typeof module<"u"?module.exports=a(require("vue"),require("@floating-ui/vue"),require("nanoid"),require("@vueuse/core"),require("mitt")):typeof define=="function"&&define.amd?define(["vue","@floating-ui/vue","nanoid","@vueuse/core","mitt"],a):(e=typeof globalThis<"u"?globalThis:e||self,e.VvDropdown=a(e.vue,e.vue$1,e.nanoid,e.core,e.mitt))})(this,function(e,a,I,u,W){"use strict";var x=(t=>(t.left="left",t.right="right",t.top="top",t.bottom="bottom",t))(x||{}),N=(t=>(t.topStart="top-start",t.topEnd="top-end",t.bottomStart="bottom-start",t.bottomEnd="bottom-end",t.leftStart="left-start",t.leftEnd="left-end",t.rightStart="right-start",t.rightEnd="right-end",t))(N||{}),v=(t=>(t.before="before",t.after="after",t))(v||{}),S=(t=>(t.button="button",t.submit="submit",t.reset="reset",t))(S||{}),g=(t=>(t.listbox="listbox",t.menu="menu",t))(g||{}),_=(t=>(t.option="option",t.presentation="presentation",t))(_||{}),D=(t=>(t._blank="_blank",t._self="_self",t._parent="_parent",t._top="_top",t))(D||{});const T=Symbol.for("dropdownTrigger"),q=Symbol.for("dropdownItem"),F={to:{type:[String,Object]},href:String,target:{type:String,validator:t=>Object.values(D).includes(t)},rel:{type:String,default:"noopener noreferrer"}},K={disabled:Boolean},M={active:Boolean},$={pressed:Boolean},L={label:[String,Number]},U={modifiers:[String,Array]};v.before;const G={id:[String,Number]},H={placement:{type:String,default:x.bottom,validator:t=>Object.values(x).includes(t)||Object.values(N).includes(t)},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},autoClose:{type:Boolean,default:!0},autofocusFirst:{type:Boolean,default:!0},triggerWidth:{type:Boolean}};({...K,...L,...$,...M,...F,type:S.button});const J={...G,...U,...H,modelValue:{type:Boolean,default:void 0},reference:{type:Object,default:null},role:{type:String,default:g.menu,validator:t=>Object.values(g).includes(t)}},Y=t=>e.computed(()=>String((t==null?void 0:t.value)||I.nanoid()));function Q({reference:t,id:s,expanded:n,aria:c}){const i=W(),f=e.defineComponent({name:"VvDropdownTriggerProvider",provide(){return{[T]:{reference:t,id:s,expanded:n,aria:c,bus:i}}},setup(){return{}},render(){var m,b;return e.h(e.Fragment,{},(b=(m=this.$slots).default)==null?void 0:b.call(m))}});return{bus:i,component:f}}function X({role:t,expanded:s}){const n=e.computed(()=>t.value===g.listbox?_.option:_.presentation);return e.provide(q,{role:n,expanded:s}),{itemRole:n}}function Z(t,s,n){return e.computed(()=>{const c={[t]:!0},i=typeof(s==null?void 0:s.value)=="string"?s.value.split(" "):s==null?void 0:s.value;return i&&Array.isArray(i)&&i.forEach(f=>{c[`${t}--${f}`]=!0}),n&&Object.keys(n.value).forEach(f=>{c[`${t}--${f}`]=e.unref(n.value[f])}),c})}const ee=["id","tabindex","role","aria-labelledby"],te={name:"VvDropdown",inheritAttrs:!1};return e.defineComponent({...te,props:J,emits:["update:modelValue"],setup(t,{emit:s}){const n=t,{id:c}=e.toRefs(n),i=Y(c),f=e.useAttrs(),m=e.ref("auto"),b=e.ref("auto"),j=e.ref(null),d=e.ref(null),y=e.ref(null),oe=e.ref(null),p=e.computed({get:()=>n.reference??j.value,set:o=>{j.value=o}}),ne=e.computed(()=>{const o=[];if(n.autoPlacement?typeof n.autoPlacement=="boolean"?o.push(a.autoPlacement()):o.push(a.autoPlacement(n.autoPlacement)):n.flip&&(typeof n.flip=="boolean"?o.push(a.flip()):o.push(a.flip(n.flip))),n.shift&&(typeof n.shift=="boolean"?o.push(a.shift()):o.push(a.shift(n.shift))),n.size){const r=({availableWidth:E,availableHeight:w})=>{m.value=`${E}px`,b.value=`${w}px`};typeof n.size=="boolean"?o.push(a.size({apply:r})):o.push(a.size({...n.size,apply:r}))}return n.offset&&(o.push(a.offset(Number(n.offset))),["string","number"].includes(typeof n.offset)?o.push(a.offset(Number(n.offset))):o.push(a.offset(n.offset))),n.arrow&&o.push(a.arrow({element:y})),o}),{x:re,y:ae,strategy:le,middlewareData:B,placement:se}=a.useFloating(p,d,{whileElementsMounted:a.autoUpdate,placement:n.placement,middleware:ne}),ie=e.computed(()=>({position:le.value,top:`${ae.value??0}px`,left:`${re.value??0}px`,maxWidth:m.value,maxHeight:b.value,width:n.triggerWidth&&p.value?`${p.value.offsetWidth}px`:void 0})),fe=e.computed(()=>se.value.split("-")[0]),P=e.computed(()=>({top:"bottom",right:"left",bottom:"top",left:"right"})[fe.value]??"bottom"),ue=e.computed(()=>{var o,r,E,w;return["bottom","top"].includes(P.value)?{right:`${((o=B.value.arrow)==null?void 0:o.x)??0}px`,[P.value]:`${-(((r=y.value)==null?void 0:r.offsetWidth)??0)/2}px`}:{top:`${((E=B.value.arrow)==null?void 0:E.y)??0}px`,[P.value]:`${-(((w=y.value)==null?void 0:w.offsetWidth)??0)/2}px`}}),O=u.useVModel(n,"modelValue",s),V=e.ref(!1),l=e.computed({get:()=>O.value??V.value,set:o=>{if(O.value===void 0){V.value=o;return}O.value=o}}),ce=()=>{l.value=!0},z=()=>{l.value=!1},C=()=>{l.value=!l.value},de=o=>{p.value=o};e.watch(l,o=>{o&&n.autofocusFirst&&e.nextTick(()=>{const r=k(d.value);r.length>0&&r[0].focus()})}),u.onClickOutside(d,()=>{n.autoClose&&(l.value=!1)},{ignore:[p]});const pe=e.computed(()=>{var o;return((o=p.value)==null?void 0:o.getAttribute("id"))??void 0}),R=e.computed(()=>({"aria-controls":i.value,"aria-haspopup":!0,"aria-expanded":l.value})),{component:me,bus:be}=Q({reference:p,id:i,expanded:l,aria:R});be.on("click",C);const{role:A,modifiers:he}=e.toRefs(n),{itemRole:ge}=X({role:A,expanded:l}),ye=Z("vv-dropdown",he,e.computed(()=>({arrow:n.arrow}))),{focused:h}=u.useFocusWithin(d);function k(o){return o?[...o.querySelectorAll('a[href], button, input, textarea, select, details,[tabindex]:not([tabindex="-1"])')].filter(r=>!r.hasAttribute("disabled")&&!r.getAttribute("aria-hidden")):[]}const Ee=()=>{e.nextTick(()=>{if(h.value){const o=k(d.value);if(o.length===0||!document.activeElement)return;const r=o.indexOf(document.activeElement);r<o.length-1?o[r+1].focus():o[0].focus()}})},we=()=>{e.nextTick(()=>{if(h.value){const o=k(d.value);if(o.length===0||!document.activeElement)return;const r=o.indexOf(document.activeElement);r>0?o[r-1].focus():o[o.length-1].focus()}})};return u.onKeyStroke("Escape",o=>{l.value&&(o.preventDefault(),z())}),u.onKeyStroke("ArrowDown",o=>{l.value&&h.value&&(o.preventDefault(),Ee())}),u.onKeyStroke("ArrowUp",o=>{l.value&&h.value&&(o.preventDefault(),we())}),u.onKeyStroke([" ","Enter"],o=>{l.value&&h.value&&(o.preventDefault(),document.activeElement.click())}),(o,r)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(me),null,{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default",e.normalizeProps(e.guardReactiveProps({init:de,show:ce,hide:z,toggle:C,expanded:e.unref(l),aria:e.unref(R)})))]),_:3}),e.createVNode(e.Transition,{name:o.transitionName},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"floatingEl",ref:d,style:e.normalizeStyle(e.unref(ie)),class:e.normalizeClass(e.unref(ye))},[n.arrow?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"arrowEl",ref:y,style:e.normalizeStyle(e.unref(ue)),class:"vv-dropdown__arrow"},null,4)):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"before",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(l)}))),e.createElementVNode("ul",e.mergeProps(e.unref(f),{id:e.unref(i),ref_key:"listEl",ref:oe,tabindex:e.unref(l)?void 0:-1,role:e.unref(A),"aria-labelledby":e.unref(pe),class:"vv-dropdown__list"}),[e.renderSlot(o.$slots,"items",e.normalizeProps(e.guardReactiveProps({role:e.unref(ge)})))],16,ee),e.renderSlot(o.$slots,"after",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(l)})))],6),[[e.vShow,e.unref(l)]])]),_:3},8,["name"])],64))}})});
|
|
@@ -8,9 +8,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
8
8
|
default: null;
|
|
9
9
|
};
|
|
10
10
|
role: {
|
|
11
|
-
type: import("vue").PropType<"
|
|
12
|
-
default: "
|
|
13
|
-
validator: (value:
|
|
11
|
+
type: import("vue").PropType<import("../../constants.js").DropdownRole>;
|
|
12
|
+
default: import("../../constants.js").DropdownRole;
|
|
13
|
+
validator: (value: import("../../constants.js").DropdownRole) => boolean;
|
|
14
14
|
};
|
|
15
15
|
placement: {
|
|
16
16
|
type: import("vue").PropType<import("../../constants.js").Side | import("../../constants.js").Placement>;
|
|
@@ -84,9 +84,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
84
84
|
default: null;
|
|
85
85
|
};
|
|
86
86
|
role: {
|
|
87
|
-
type: import("vue").PropType<"
|
|
88
|
-
default: "
|
|
89
|
-
validator: (value:
|
|
87
|
+
type: import("vue").PropType<import("../../constants.js").DropdownRole>;
|
|
88
|
+
default: import("../../constants.js").DropdownRole;
|
|
89
|
+
validator: (value: import("../../constants.js").DropdownRole) => boolean;
|
|
90
90
|
};
|
|
91
91
|
placement: {
|
|
92
92
|
type: import("vue").PropType<import("../../constants.js").Side | import("../../constants.js").Placement>;
|
|
@@ -157,11 +157,11 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
157
157
|
shift: boolean | Partial<import("@floating-ui/core").ShiftOptions & Omit<import("@floating-ui/core").DetectOverflowOptions, "boundary"> & {
|
|
158
158
|
boundary: import("@floating-ui/vue").Boundary;
|
|
159
159
|
}> | undefined;
|
|
160
|
+
reference: HTMLElement | null;
|
|
161
|
+
role: import("../../constants.js").DropdownRole;
|
|
160
162
|
flip: boolean | Partial<import("@floating-ui/core").FlipOptions & Omit<import("@floating-ui/core").DetectOverflowOptions, "boundary"> & {
|
|
161
163
|
boundary: import("@floating-ui/vue").Boundary;
|
|
162
164
|
}> | undefined;
|
|
163
|
-
reference: HTMLElement | null;
|
|
164
|
-
role: "menu" | "listbox";
|
|
165
165
|
placement: import("../../constants.js").Side | import("../../constants.js").Placement;
|
|
166
166
|
offset: string | import("@floating-ui/core").OffsetOptions | undefined;
|
|
167
167
|
size: boolean | Partial<Omit<import("@floating-ui/core").SizeOptions, "apply"> & {
|
|
@@ -198,7 +198,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
198
198
|
expanded: boolean;
|
|
199
199
|
}) => any;
|
|
200
200
|
items: (_: {
|
|
201
|
-
role: "
|
|
201
|
+
role: import("../../constants.js").DropdownItemRole;
|
|
202
202
|
}) => any;
|
|
203
203
|
after: (_: {
|
|
204
204
|
expanded: boolean;
|