@volverjs/ui-vue 0.0.10-beta.75 → 0.0.10-beta.77
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 +8 -8
- package/bin/icons.cjs +1 -1
- package/bin/icons.js +3 -3
- package/dist/components/VvAccordion/VvAccordion.es.js +9 -9
- package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
- package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +14 -15
- package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
- package/dist/components/VvAction/VvAction.es.js +10 -13
- package/dist/components/VvAction/VvAction.umd.js +1 -1
- package/dist/components/VvAlert/VvAlert.es.js +19 -19
- package/dist/components/VvAlert/VvAlert.umd.js +1 -1
- package/dist/components/VvAlertGroup/VvAlertGroup.es.js +19 -19
- package/dist/components/VvAlertGroup/VvAlertGroup.umd.js +1 -1
- package/dist/components/VvAvatar/VvAvatar.es.js +1 -1
- package/dist/components/VvAvatar/VvAvatar.umd.js +1 -1
- package/dist/components/VvAvatarGroup/VvAvatarGroup.es.js +7 -8
- package/dist/components/VvAvatarGroup/VvAvatarGroup.umd.js +1 -1
- package/dist/components/VvBadge/VvBadge.es.js +1 -1
- package/dist/components/VvBadge/VvBadge.umd.js +1 -1
- package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +12 -18
- package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
- package/dist/components/VvButton/VvButton.es.js +32 -38
- package/dist/components/VvButton/VvButton.umd.js +1 -1
- package/dist/components/VvButtonGroup/VvButtonGroup.es.js +1 -1
- package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
- package/dist/components/VvCard/VvCard.es.js +1 -1
- package/dist/components/VvCard/VvCard.umd.js +1 -1
- package/dist/components/VvCheckbox/VvCheckbox.es.js +10 -12
- package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
- package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +15 -20
- package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
- package/dist/components/VvCombobox/VvCombobox.es.js +266 -285
- package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
- package/dist/components/VvCombobox/VvCombobox.vue.d.ts +22 -14
- package/dist/components/VvCombobox/index.d.ts +22 -0
- package/dist/components/VvDialog/VvDialog.es.js +5 -7
- package/dist/components/VvDialog/VvDialog.umd.js +1 -1
- package/dist/components/VvDropdown/VvDropdown.es.js +10 -15
- package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
- package/dist/components/VvDropdown/VvDropdown.vue.d.ts +2 -2
- package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +2 -2
- package/dist/components/VvDropdownAction/VvDropdownAction.es.js +11 -14
- package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -1
- package/dist/components/VvDropdownItem/VvDropdownItem.umd.js +1 -1
- package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.umd.js +1 -1
- package/dist/components/VvDropdownOption/VvDropdownOption.es.js +1 -1
- package/dist/components/VvDropdownOption/VvDropdownOption.umd.js +1 -1
- package/dist/components/VvIcon/VvIcon.es.js +5 -5
- package/dist/components/VvIcon/VvIcon.umd.js +1 -1
- package/dist/components/VvInputFile/VvInputFile.es.js +45 -57
- package/dist/components/VvInputFile/VvInputFile.umd.js +1 -1
- package/dist/components/VvInputFile/VvInputFile.vue.d.ts +1 -1
- package/dist/components/VvInputText/VvInputText.es.js +54 -66
- package/dist/components/VvInputText/VvInputText.umd.js +1 -1
- package/dist/components/VvInputText/VvInputText.vue.d.ts +1 -1
- package/dist/components/VvNav/VvNav.es.js +16 -21
- package/dist/components/VvNav/VvNav.umd.js +1 -1
- package/dist/components/VvNavItem/VvNavItem.es.js +10 -13
- package/dist/components/VvNavItem/VvNavItem.umd.js +1 -1
- package/dist/components/VvNavSeparator/VvNavSeparator.umd.js +1 -1
- package/dist/components/VvProgress/VvProgress.es.js +1 -1
- package/dist/components/VvProgress/VvProgress.umd.js +1 -1
- package/dist/components/VvRadio/VvRadio.es.js +10 -12
- package/dist/components/VvRadio/VvRadio.umd.js +1 -1
- package/dist/components/VvRadioGroup/VvRadioGroup.es.js +15 -20
- package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
- package/dist/components/VvSelect/VvSelect.es.js +27 -30
- package/dist/components/VvSelect/VvSelect.umd.js +1 -1
- package/dist/components/VvSelect/VvSelect.vue.d.ts +3 -3
- package/dist/components/VvTab/VvTab.es.js +18 -25
- package/dist/components/VvTab/VvTab.umd.js +1 -1
- package/dist/components/VvTextarea/VvTextarea.es.js +47 -57
- package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
- package/dist/components/VvTextarea/VvTextarea.vue.d.ts +1 -1
- package/dist/components/VvTooltip/VvTooltip.es.js +1 -1
- package/dist/components/VvTooltip/VvTooltip.umd.js +1 -1
- package/dist/components/index.es.js +346 -394
- package/dist/components/index.umd.js +1 -1
- package/dist/composables/index.es.js +10 -15
- package/dist/composables/index.umd.js +1 -1
- package/dist/directives/index.es.js +9 -14
- package/dist/directives/index.umd.js +1 -1
- package/dist/directives/v-contextmenu.es.js +8 -13
- package/dist/directives/v-contextmenu.umd.js +1 -1
- package/dist/directives/v-tooltip.es.js +1 -1
- 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/index.es.js +9 -12
- package/dist/index.umd.js +1 -1
- package/dist/resolvers/unplugin.es.js +1 -1
- package/dist/resolvers/unplugin.umd.js +1 -1
- package/dist/stories/AccordionGroup/AccordionGroupSlots.stories.d.ts +2 -2
- package/dist/stories/Combobox/Combobox.stories.d.ts +1 -0
- package/package.json +35 -32
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue")):"function"==typeof define&&define.amd?define(["vue"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvTab=t(e.vue)}(this,
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue")):"function"==typeof define&&define.amd?define(["vue"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvTab=t(e.vue)}(this,function(e){"use strict";var t=(e=>(e.local="local",e.session="session",e))(t||{}),o=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(o||{}),r=(e=>(e.before="before",e.after="after",e))(r||{}),n=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(n||{}),a=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(a||{});const l=Symbol.for("volver"),s=Symbol.for("dropdownTrigger"),i=Symbol.for("dropdownAction"),u={to:{type:[String,Object]},href:String,target:String,rel:{type:String,default:"noopener noreferrer"}},d={disabled:{type:Boolean,default:!1}},c={active:{type:Boolean,default:!1}},m={current:{type:Boolean,default:!1}},f={pressed:{type:Boolean,default:!1}},p={label:{type:[String,Number],default:void 0}},v={modifiers:{type:[String,Array],default:void 0}};r.before,o.bottom;const b={...d,...p,...f,...c,...m,...u,type:{type:String,default:n.button,validator:e=>Object.values(n).includes(e)},ariaLabel:{type:String,default:void 0},defaultTag:{type:String,default:a.button}},y={items:{type:Array,default:()=>[]}};t.local;const g={...v,...y},k=b;const S=e.defineComponent({name:"VvAction",props:k,emits:["click","mouseover","mouseleave"],setup(t,{expose:o,emit:r}){const n=t,u=r,d=e.getCurrentInstance(),c=e.inject(l,void 0),m=e.ref(null);o({$el:m});const{reference:f,bus:p,aria:v,expanded:b}=e.inject(s,{});e.watch(()=>m.value,e=>{f&&(f.value=e)});const y=e.computed(()=>n.pressed||b?.value),{role:g}=e.inject(i,{}),k=e.computed(()=>{switch(!0){case n.disabled:return a.button;case void 0!==n.to:return c?.nuxt?e.resolveComponent(a.nuxtLink):a.routerLink;case void 0!==n.href:return a.a;default:return n.defaultTag}}),S=e.computed(()=>{const e={...v?.value,ariaPressed:!!y.value||void 0,ariaLabel:n.ariaLabel,role:g?.value};switch(k.value){case a.a:return{...e,href:n.href,target:n.target,rel:n.rel};case a.routerLink:case a.nuxtLink:return{...e,to:n.to,target:n.target};case a.button:return{...e,type:n.type,disabled:n.disabled};default:return e}});function B(e){n.disabled?e.preventDefault():d?.vnode.props?.onClick?u("click",e):p?.emit("click",e)}function x(e){d?.vnode.props?.onMouseover?u("mouseover",e):p?.emit("mouseover",e)}function h(e){d?.vnode.props?.onMouseleave?u("mouseleave",e):p?.emit("mouseleave",e)}return(t,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(k)),e.mergeProps(e.unref(S),{ref_key:"element",ref:m,class:{active:t.active,pressed:e.unref(y),disabled:t.disabled,current:t.current},onClickPassive:B,onMouseoverPassive:x,onMouseleavePassive:h}),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.label),1)])]),_:3},16,["class"]))}}),B={class:"vv-nav__item",role:"presentation"},x=e.defineComponent({name:"VvNavItem",inheritAttrs:!1,setup:t=>(t,o)=>(e.openBlock(),e.createElementBlock("li",B,[e.renderSlot(t.$slots,"before"),e.createVNode(S,e.mergeProps(t.$attrs,{class:"vv-nav__item-label",role:"menuitem"}),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3},16),e.renderSlot(t.$slots,"after")]))});function h(t,o,r){return e.computed(()=>{const e={[t]:!0},r="string"==typeof o?.value?o.value.split(" "):o?.value;return r&&Array.isArray(r)&&r.forEach(o=>{o&&(e[`${t}--${o}`]=!0)}),e})}const C=e.defineComponent({name:"VvNav",props:g,emits:["click"],setup(t,{emit:o}){const r=t,n=o,{modifiers:a}=e.toRefs(r);function l(e){const t=e.target;if(t?.dataset.index){const e=Number.parseInt(t.dataset.index),o=r.items?.[e];if(!o||o?.disabled)return;n("click",o)}}const s=h("vv-nav",a);return(t,o)=>(e.openBlock(),e.createElementBlock("nav",{class:e.normalizeClass(e.unref(s))},[e.createElementVNode("ul",{class:"vv-nav__menu",role:"menu",onClick:e.withModifiers(l,["stop"])},[e.renderSlot(t.$slots,"default",{},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,({on:o={},data:r,...n},a)=>(e.openBlock(),e.createBlock(x,e.mergeProps({key:a,"data-index":a},{ref_for:!0},n,e.toHandlers(o)),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"item",e.mergeProps({ref_for:!0},{item:n,data:r,index:a}))]),_:2},1040,["data-index"]))),128))])])],2))}}),_={...v,navModifiers:{type:[String,Array]},modelValue:{type:String,default:""},items:{type:Array,default:()=>[]}};return e.defineComponent({name:"VvTab",props:_,emits:["update:modelValue"],setup(t,{emit:o}){const r=t,n=o,{modifiers:a,items:l}=e.toRefs(r),s=e.computed(()=>l.value.reduce((e,t)=>(t.tab&&e.push(t.tab),e),[])),i=e.ref(),u=e.computed({get:()=>r.modelValue||i.value||s.value?.[0],set:e=>{i.value=e,n("update:modelValue",e)}}),d=e.computed(()=>["tabs",...Array.isArray(r.navModifiers)?r.navModifiers:r.navModifiers?.split(" ")??[]]);function c(e){e.tab&&(u.value=e.tab)}const m=e.computed(()=>r.items.map(e=>({current:e.tab===u.value,...e}))),f=h("vv-tab",a);return(t,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(f))},[e.createVNode(C,e.mergeProps({items:e.unref(m),modifiers:e.unref(d)},{onClick:c}),{item:e.withCtx(({item:o,data:r,index:n})=>[e.renderSlot(t.$slots,"nav-item",e.normalizeProps(e.guardReactiveProps({item:o,data:r,index:n})))]),_:3},16),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(l),(o,r)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:r},[o.tab?(e.openBlock(),e.createElementBlock("article",{key:0,class:e.normalizeClass([{target:e.unref(u)===o.tab},"vv-tab__panel"])},[e.renderSlot(t.$slots,`panel::${o.tab}`)],2)):e.createCommentVNode("v-if",!0)],64))),128))],2))}})});
|
|
@@ -572,7 +572,6 @@ function HintSlotFactory(propsOrRef, slots) {
|
|
|
572
572
|
};
|
|
573
573
|
},
|
|
574
574
|
render() {
|
|
575
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
576
575
|
if (this.isVisible) {
|
|
577
576
|
let role;
|
|
578
577
|
if (this.hasInvalidLabelOrSlot) {
|
|
@@ -587,7 +586,7 @@ function HintSlotFactory(propsOrRef, slots) {
|
|
|
587
586
|
{
|
|
588
587
|
role
|
|
589
588
|
},
|
|
590
|
-
|
|
589
|
+
this.$slots.loading?.() ?? this.loadingLabel
|
|
591
590
|
);
|
|
592
591
|
}
|
|
593
592
|
if (this.hasInvalidLabelOrSlot) {
|
|
@@ -596,7 +595,7 @@ function HintSlotFactory(propsOrRef, slots) {
|
|
|
596
595
|
{
|
|
597
596
|
role
|
|
598
597
|
},
|
|
599
|
-
|
|
598
|
+
this.$slots.invalid?.() ?? this.$slots.invalid ?? this.invalidLabel
|
|
600
599
|
);
|
|
601
600
|
}
|
|
602
601
|
if (this.hasValidLabelOrSlot) {
|
|
@@ -605,7 +604,7 @@ function HintSlotFactory(propsOrRef, slots) {
|
|
|
605
604
|
{
|
|
606
605
|
role
|
|
607
606
|
},
|
|
608
|
-
|
|
607
|
+
this.$slots.valid?.() ?? this.validLabel
|
|
609
608
|
);
|
|
610
609
|
}
|
|
611
610
|
return h(
|
|
@@ -613,7 +612,7 @@ function HintSlotFactory(propsOrRef, slots) {
|
|
|
613
612
|
{
|
|
614
613
|
role
|
|
615
614
|
},
|
|
616
|
-
|
|
615
|
+
this.$slots.hint?.() ?? this.$slots.hint ?? this.hintLabel
|
|
617
616
|
);
|
|
618
617
|
}
|
|
619
618
|
return null;
|
|
@@ -681,7 +680,7 @@ const VvDropdownOptionProps = {
|
|
|
681
680
|
}
|
|
682
681
|
};
|
|
683
682
|
function useUniqueId(id) {
|
|
684
|
-
return computed(() => String(
|
|
683
|
+
return computed(() => String(id?.value || useId()));
|
|
685
684
|
}
|
|
686
685
|
function useDropdownProvideTrigger({
|
|
687
686
|
reference,
|
|
@@ -702,8 +701,7 @@ function useDropdownProvideTrigger({
|
|
|
702
701
|
});
|
|
703
702
|
},
|
|
704
703
|
render() {
|
|
705
|
-
|
|
706
|
-
return h(Fragment, {}, (_b = (_a = this.$slots).default) == null ? void 0 : _b.call(_a));
|
|
704
|
+
return h(Fragment, {}, this.$slots.default?.());
|
|
707
705
|
}
|
|
708
706
|
});
|
|
709
707
|
return {
|
|
@@ -737,7 +735,7 @@ function useModifiers(prefix, modifiers, others) {
|
|
|
737
735
|
const toReturn = {
|
|
738
736
|
[prefix]: true
|
|
739
737
|
};
|
|
740
|
-
const modifiersArray = typeof
|
|
738
|
+
const modifiersArray = typeof modifiers?.value === "string" ? modifiers.value.split(" ") : modifiers?.value;
|
|
741
739
|
if (modifiersArray) {
|
|
742
740
|
if (Array.isArray(modifiersArray)) {
|
|
743
741
|
modifiersArray.forEach((modifier) => {
|
|
@@ -803,8 +801,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
803
801
|
useMutationObserver(
|
|
804
802
|
floatingEl.value,
|
|
805
803
|
() => {
|
|
806
|
-
|
|
807
|
-
hasCustomPosition.value = ((_a = window.getComputedStyle(floatingEl.value).getPropertyValue("--dropdown-custom-position")) == null ? void 0 : _a.trim()) === "true";
|
|
804
|
+
hasCustomPosition.value = window.getComputedStyle(floatingEl.value).getPropertyValue("--dropdown-custom-position")?.trim() === "true";
|
|
808
805
|
},
|
|
809
806
|
{
|
|
810
807
|
attributeFilter: ["style"],
|
|
@@ -891,11 +888,10 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
891
888
|
}
|
|
892
889
|
);
|
|
893
890
|
const dropdownPlacement = computed(() => {
|
|
894
|
-
var _a;
|
|
895
891
|
if (hasCustomPosition.value) {
|
|
896
892
|
return void 0;
|
|
897
893
|
}
|
|
898
|
-
const width = props.triggerWidth && referenceEl.value ? `${
|
|
894
|
+
const width = props.triggerWidth && referenceEl.value ? `${referenceEl.value?.offsetWidth}px` : void 0;
|
|
899
895
|
return {
|
|
900
896
|
position: strategy.value,
|
|
901
897
|
top: `${y.value ?? 0}px`,
|
|
@@ -909,7 +905,6 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
909
905
|
() => placement.value.split("-")[0]
|
|
910
906
|
);
|
|
911
907
|
const arrowPlacement = computed(() => {
|
|
912
|
-
var _a, _b, _c, _d, _e;
|
|
913
908
|
if (hasCustomPosition.value) {
|
|
914
909
|
return void 0;
|
|
915
910
|
}
|
|
@@ -920,9 +915,9 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
920
915
|
[Side.left]: Side.right
|
|
921
916
|
}[side.value];
|
|
922
917
|
return {
|
|
923
|
-
left:
|
|
924
|
-
top:
|
|
925
|
-
[staticSide]: `${-(
|
|
918
|
+
left: middlewareData.value.arrow?.x !== void 0 ? `${middlewareData.value.arrow?.x}px` : void 0,
|
|
919
|
+
top: middlewareData.value.arrow?.y !== void 0 ? `${middlewareData.value.arrow?.y}px` : void 0,
|
|
920
|
+
[staticSide]: `${-(arrowEl.value?.offsetWidth ?? 0) / 2}px`
|
|
926
921
|
};
|
|
927
922
|
});
|
|
928
923
|
const modelValue = useVModel(props, "modelValue", emit);
|
|
@@ -959,8 +954,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
959
954
|
{ ignore: [referenceEl] }
|
|
960
955
|
);
|
|
961
956
|
const hasAriaLabelledby = computed(() => {
|
|
962
|
-
|
|
963
|
-
return ((_b = (_a = referenceEl.value) == null ? void 0 : _a.getAttribute) == null ? void 0 : _b.call(_a, "id")) ?? void 0;
|
|
957
|
+
return referenceEl.value?.getAttribute?.("id") ?? void 0;
|
|
964
958
|
});
|
|
965
959
|
const referenceAria = computed(() => ({
|
|
966
960
|
"aria-controls": hasId.value,
|
|
@@ -1111,7 +1105,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
1111
1105
|
onKeyStroke([" ", "Enter"], (e) => {
|
|
1112
1106
|
const htmlEl = e.target;
|
|
1113
1107
|
if (expanded.value && focused.value && htmlEl) {
|
|
1114
|
-
htmlEl
|
|
1108
|
+
htmlEl?.click();
|
|
1115
1109
|
}
|
|
1116
1110
|
});
|
|
1117
1111
|
const dropdownTransitionHandlers = {
|
|
@@ -1345,7 +1339,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
1345
1339
|
const { modifiers } = toRefs(props);
|
|
1346
1340
|
const bemCssClasses = useModifiers("vv-icon", modifiers);
|
|
1347
1341
|
const provider = computed(() => {
|
|
1348
|
-
return props.provider ||
|
|
1342
|
+
return props.provider || volver?.iconsProvider;
|
|
1349
1343
|
});
|
|
1350
1344
|
const icon = computed(() => {
|
|
1351
1345
|
const name = props.name ?? "";
|
|
@@ -1353,7 +1347,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
1353
1347
|
if (iconLoaded(iconName)) {
|
|
1354
1348
|
return iconName;
|
|
1355
1349
|
}
|
|
1356
|
-
const iconsCollection = volver
|
|
1350
|
+
const iconsCollection = volver?.iconsCollections.find(
|
|
1357
1351
|
(iconsCollection2) => {
|
|
1358
1352
|
const icon2 = `@${provider.value}:${iconsCollection2.prefix}:${name}`;
|
|
1359
1353
|
return iconLoaded(icon2);
|
|
@@ -1377,7 +1371,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
1377
1371
|
}
|
|
1378
1372
|
function addIconFromSvg(svg) {
|
|
1379
1373
|
const svgContentEl = getSvgContent(svg);
|
|
1380
|
-
const svgContent =
|
|
1374
|
+
const svgContent = svgContentEl?.innerHTML.trim() || "";
|
|
1381
1375
|
if (svgContentEl && svgContent) {
|
|
1382
1376
|
addIcon(`@${provider.value}:${props.prefix}:${props.name}`, {
|
|
1383
1377
|
body: svgContent,
|
|
@@ -1396,7 +1390,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
1396
1390
|
show.value = true;
|
|
1397
1391
|
}
|
|
1398
1392
|
}).catch((e) => {
|
|
1399
|
-
throw new Error(`Error during fetch icon: ${e
|
|
1393
|
+
throw new Error(`Error during fetch icon: ${e?.message}`);
|
|
1400
1394
|
});
|
|
1401
1395
|
}
|
|
1402
1396
|
}
|
|
@@ -1424,8 +1418,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
1424
1418
|
function useDefaults(componentName, propsDefinition, props) {
|
|
1425
1419
|
const volver = useVolver();
|
|
1426
1420
|
const volverComponentDefaults = computed(() => {
|
|
1427
|
-
|
|
1428
|
-
if (!volver || !((_a = volver.defaults.value) == null ? void 0 : _a[componentName])) {
|
|
1421
|
+
if (!volver || !volver.defaults.value?.[componentName]) {
|
|
1429
1422
|
return void 0;
|
|
1430
1423
|
}
|
|
1431
1424
|
return volver.defaults.value[componentName];
|
|
@@ -1483,7 +1476,7 @@ function useDebouncedInput(modelValue, emit, ms = 0, {
|
|
|
1483
1476
|
ms = Number.parseInt(ms);
|
|
1484
1477
|
}
|
|
1485
1478
|
return computed({
|
|
1486
|
-
get: () => getter(modelValue
|
|
1479
|
+
get: () => getter(modelValue?.value),
|
|
1487
1480
|
set: (value) => {
|
|
1488
1481
|
if (timeout) {
|
|
1489
1482
|
clearTimeout(timeout);
|
|
@@ -1496,28 +1489,28 @@ function useDebouncedInput(modelValue, emit, ms = 0, {
|
|
|
1496
1489
|
}
|
|
1497
1490
|
function useComponentIcon(icon, iconPosition) {
|
|
1498
1491
|
const hasIcon = computed(() => {
|
|
1499
|
-
if (typeof
|
|
1500
|
-
return { name: icon
|
|
1492
|
+
if (typeof icon?.value === "string") {
|
|
1493
|
+
return { name: icon?.value };
|
|
1501
1494
|
}
|
|
1502
|
-
return icon
|
|
1495
|
+
return icon?.value;
|
|
1503
1496
|
});
|
|
1504
1497
|
const hasIconBefore = computed(
|
|
1505
|
-
() =>
|
|
1498
|
+
() => iconPosition?.value === Position.before ? hasIcon.value : void 0
|
|
1506
1499
|
);
|
|
1507
1500
|
const hasIconAfter = computed(
|
|
1508
|
-
() =>
|
|
1501
|
+
() => iconPosition?.value === Position.after ? hasIcon.value : void 0
|
|
1509
1502
|
);
|
|
1510
1503
|
const hasIconLeft = computed(
|
|
1511
|
-
() =>
|
|
1504
|
+
() => iconPosition?.value === Side.left ? hasIcon.value : void 0
|
|
1512
1505
|
);
|
|
1513
1506
|
const hasIconRight = computed(
|
|
1514
|
-
() =>
|
|
1507
|
+
() => iconPosition?.value === Side.right ? hasIcon.value : void 0
|
|
1515
1508
|
);
|
|
1516
1509
|
const hasIconTop = computed(
|
|
1517
|
-
() =>
|
|
1510
|
+
() => iconPosition?.value === Side.top ? hasIcon.value : void 0
|
|
1518
1511
|
);
|
|
1519
1512
|
const hasIconBottom = computed(
|
|
1520
|
-
() =>
|
|
1513
|
+
() => iconPosition?.value === Side.bottom ? hasIcon.value : void 0
|
|
1521
1514
|
);
|
|
1522
1515
|
return {
|
|
1523
1516
|
hasIcon,
|
|
@@ -1543,22 +1536,22 @@ function useTextCount(text, options) {
|
|
|
1543
1536
|
return (unref(text) ?? "").length;
|
|
1544
1537
|
});
|
|
1545
1538
|
const gap = computed(() => {
|
|
1546
|
-
if (
|
|
1539
|
+
if (options?.lowerLimit !== void 0 && length.value < options?.lowerLimit) {
|
|
1547
1540
|
return length.value - options.lowerLimit;
|
|
1548
1541
|
}
|
|
1549
|
-
if (
|
|
1542
|
+
if (options?.upperLimit !== void 0 && length.value < options?.upperLimit) {
|
|
1550
1543
|
return options.upperLimit - length.value;
|
|
1551
1544
|
}
|
|
1552
1545
|
return 0;
|
|
1553
1546
|
});
|
|
1554
1547
|
const formatted = computed(() => {
|
|
1555
|
-
if (
|
|
1548
|
+
if (options?.mode === false) {
|
|
1556
1549
|
return "";
|
|
1557
1550
|
}
|
|
1558
|
-
if (
|
|
1551
|
+
if (options?.mode === "limit" && options?.upperLimit) {
|
|
1559
1552
|
return `${length.value} / ${options.lowerLimit ? `${options.lowerLimit}-` : ""}${options.upperLimit}`;
|
|
1560
1553
|
}
|
|
1561
|
-
if (
|
|
1554
|
+
if (options?.mode === "countdown") {
|
|
1562
1555
|
if (gap.value === 0) {
|
|
1563
1556
|
return void 0;
|
|
1564
1557
|
}
|
|
@@ -1590,7 +1583,7 @@ function usePersistence(storageKey, storageType = StorageType.local, defaultValu
|
|
|
1590
1583
|
if (newKey) {
|
|
1591
1584
|
storageValue = useStorage(
|
|
1592
1585
|
newKey,
|
|
1593
|
-
|
|
1586
|
+
storageValue?.value ?? localValue.value,
|
|
1594
1587
|
storage
|
|
1595
1588
|
);
|
|
1596
1589
|
if (storageValue.value) {
|
|
@@ -1607,12 +1600,12 @@ function usePersistence(storageKey, storageType = StorageType.local, defaultValu
|
|
|
1607
1600
|
}
|
|
1608
1601
|
if (isRef(storageType)) {
|
|
1609
1602
|
watch(storageType, (newType, oldType) => {
|
|
1610
|
-
if (storageKey
|
|
1603
|
+
if (storageKey?.value) {
|
|
1611
1604
|
if (newType) {
|
|
1612
1605
|
const storage = newType === StorageType.session ? sessionStorage : localStorage;
|
|
1613
1606
|
storageValue = useStorage(
|
|
1614
1607
|
storageKey.value,
|
|
1615
|
-
|
|
1608
|
+
storageValue?.value ?? localValue.value,
|
|
1616
1609
|
storage
|
|
1617
1610
|
);
|
|
1618
1611
|
}
|
|
@@ -1694,7 +1687,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1694
1687
|
const hasPlaceholder = computed(
|
|
1695
1688
|
() => props.floating && isEmpty(props.placeholder) ? " " : props.placeholder
|
|
1696
1689
|
);
|
|
1697
|
-
const localModelValue = useDebouncedInput(modelValue, emit, debounce
|
|
1690
|
+
const localModelValue = useDebouncedInput(modelValue, emit, debounce?.value);
|
|
1698
1691
|
const { hasIconBefore, hasIconAfter } = useComponentIcon(icon, iconPosition);
|
|
1699
1692
|
const { hasIcon: hasIconRemoveSuggestion } = useComponentIcon(iconRemoveSuggestion);
|
|
1700
1693
|
const { focused } = useComponentFocus(textareaEl, emit);
|
|
@@ -1702,12 +1695,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1702
1695
|
() => focused.value && !props.disabled && !props.readonly
|
|
1703
1696
|
);
|
|
1704
1697
|
watch(isFocused, (newValue) => {
|
|
1705
|
-
var _a, _b;
|
|
1706
1698
|
if (newValue && propsDefaults.value.selectOnFocus && textareaEl.value) {
|
|
1707
1699
|
textareaEl.value.select();
|
|
1708
1700
|
}
|
|
1709
|
-
if (newValue &&
|
|
1710
|
-
|
|
1701
|
+
if (newValue && suggestions.value?.size) {
|
|
1702
|
+
suggestionsDropdownEl.value?.show();
|
|
1711
1703
|
return;
|
|
1712
1704
|
}
|
|
1713
1705
|
if (isDirty.value && suggestions.value) {
|
|
@@ -1729,9 +1721,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1729
1721
|
}
|
|
1730
1722
|
});
|
|
1731
1723
|
const { formatted: countFormatted } = useTextCount(localModelValue, {
|
|
1732
|
-
mode: count
|
|
1733
|
-
upperLimit: Number(maxlength
|
|
1734
|
-
lowerLimit: Number(minlength
|
|
1724
|
+
mode: count?.value,
|
|
1725
|
+
upperLimit: Number(maxlength?.value),
|
|
1726
|
+
lowerLimit: Number(minlength?.value)
|
|
1735
1727
|
});
|
|
1736
1728
|
const isClickable = computed(() => !props.disabled && !props.readonly);
|
|
1737
1729
|
const hasTabindex = computed(
|
|
@@ -1747,7 +1739,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1747
1739
|
}
|
|
1748
1740
|
return void 0;
|
|
1749
1741
|
});
|
|
1750
|
-
const storageKey = computed(() => props.storageKey ?? (
|
|
1742
|
+
const storageKey = computed(() => props.storageKey ?? (volver?.experimentalFeatures.forceInputSuggestions ? props.name : void 0));
|
|
1751
1743
|
const suggestions = usePersistence(
|
|
1752
1744
|
storageKey,
|
|
1753
1745
|
storageType,
|
|
@@ -1762,17 +1754,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1762
1754
|
).reverse();
|
|
1763
1755
|
});
|
|
1764
1756
|
const hasSuggestions = computed(
|
|
1765
|
-
() =>
|
|
1757
|
+
() => storageKey?.value && suggestions.value && suggestions.value.size > 0
|
|
1766
1758
|
);
|
|
1767
1759
|
function onSuggestionSelect(suggestion) {
|
|
1768
|
-
var _a;
|
|
1769
1760
|
localModelValue.value = suggestion;
|
|
1770
|
-
|
|
1761
|
+
suggestionsDropdownEl.value?.hide();
|
|
1771
1762
|
emit("suggestion:selected", suggestion);
|
|
1772
1763
|
}
|
|
1773
1764
|
function onSuggestionRemove(suggestion) {
|
|
1774
|
-
|
|
1775
|
-
(_a = suggestions.value) == null ? void 0 : _a.delete(suggestion);
|
|
1765
|
+
suggestions.value?.delete(suggestion);
|
|
1776
1766
|
emit("suggestion:removed", suggestion);
|
|
1777
1767
|
}
|
|
1778
1768
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("@floating-ui/vue"),require("@vueuse/core"),require("mitt"),require("@iconify/vue")):"function"==typeof define&&define.amd?define(["vue","@floating-ui/vue","@vueuse/core","mitt","@iconify/vue"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvTextarea=t(e.vue,e.vue$1,e.core,e.mitt,e.vue$2)}(this,(function(e,t,o,l,a){"use strict";const n={prefix:"normal"};var r=(e=>(e.local="local",e.session="session",e))(r||{}),i=(e=>(e.absolute="absolute",e.fixed="fixed",e))(i||{}),u=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(u||{}),d=(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))(d||{}),s=(e=>(e.before="before",e.after="after",e))(s||{}),c=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(c||{}),v=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(v||{}),f=(e=>(e.button="button",e.link="link",e.menuitem="menuitem",e))(f||{}),p=(e=>(e.listbox="listbox",e.menu="menu",e))(p||{}),m=(e=>(e.option="option",e.presentation="presentation",e))(m||{});const g=Symbol.for("volver"),h=Symbol.for("dropdownTrigger"),b=Symbol.for("dropdownItem"),y=Symbol.for("dropdownAction"),S={valid:{type:Boolean,default:!1},validLabel:{type:[String,Array],default:void 0}},x={invalid:{type:Boolean,default:!1},invalidLabel:{type:[String,Array],default:void 0}},w={loading:{type:Boolean,default:!1},loadingLabel:{type:String,default:"Loading..."}},k={disabled:{type:Boolean,default:!1}},L={required:{type:Boolean,default:!1}},B={selected:{type:Boolean,default:!1}},$={label:{type:[String,Number],default:void 0}},V={readonly:{type:Boolean,default:!1}},E={modifiers:{type:[String,Array],default:void 0}},O={hintLabel:{type:String,default:""}},P={count:{type:[Boolean,String],default:!1,validator:e=>[!0,!1,"limit","countdown"].includes(e)}},C={debounce:{type:[Number,String],default:void 0}},N={icon:{type:[String,Object],default:void 0},iconPosition:{type:String,default:s.before,validation:e=>Object.values(s).includes(e)}},_={tabindex:{type:[String,Number],default:0}},z={floating:{type:Boolean,default:!1}},R={unselectable:{type:Boolean,default:!0}},F={id:[String,Number]},I={placement:{type:String,default:u.bottom,validator:e=>Object.values(u).includes(e)||Object.values(d).includes(e)},strategy:{type:String,default:void 0,validator:e=>Object.values(i).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}},j={...{...F,name:{type:String,required:!0}},...{autofocus:{type:Boolean,default:!1}},...{autocomplete:{type:String,default:"off"}},..._,...k,...V,...S,...x,...O,...w,...E,...P,...C,...N,...z,...$,minlength:{type:[String,Number],default:void 0},maxlength:{type:[String,Number],default:void 0},placeholder:{type:String,default:void 0},...L};c.button,v.button;const A={...j,...{storageType:{type:String,default:r.local,validator:e=>Object.values(r).includes(e)},storageKey:String},modelValue:String,cols:{type:[String,Number],default:20},rows:{type:[String,Number],default:2},wrap:{type:String,default:"soft"},spellcheck:{type:[Boolean,String],default:"default"},iconRemoveSuggestion:{type:[String,Object],default:"trash"},labelRemoveSuggestion:{type:String,default:"Remove suggestion"},maxSuggestions:{type:Number,default:5},selectOnFocus:{type:Boolean,default:!1},resizable:Boolean};function H(t){return null==(o=e.unref(t))||""===o||Array.isArray(o)&&0===o.length||!(o instanceof Date)&&"object"==typeof o&&0===Object.keys(o).length;var o}function T(e){return Array.isArray(e)?e.filter((e=>"string"==typeof e)).join(" "):e}const D={...F,...I,...E,modelValue:{type:Boolean,default:void 0},reference:{type:Object,default:null},role:{type:String,default:p.menu,validator:e=>Object.values(p).includes(e)}},q={focusOnHover:{type:Boolean,default:!1}},M={...k,...B,...R,...E,deselectHintLabel:{type:String},selectHintLabel:{type:String},selectedHintLabel:{type:String},focusOnHover:{type:Boolean,default:!1}};function W(t){return e.computed((()=>String((null==t?void 0:t.value)||e.useId())))}function K(t,o,l){return e.computed((()=>{const a={[t]:!0},n="string"==typeof(null==o?void 0:o.value)?o.value.split(" "):null==o?void 0:o.value;return n&&Array.isArray(n)&&n.forEach((e=>{e&&(a[`${t}--${e}`]=!0)})),l&&Object.keys(l.value).forEach((o=>{a[`${t}--${o}`]=e.unref(l.value[o])})),a}))}const J=["id","tabindex","role","aria-labelledby"],U=e.defineComponent({name:"VvDropdown",inheritAttrs:!1,props:D,emits:["update:modelValue","beforeEnter","afterLeave","beforeExpand","beforeCollapse","afterExpand","afterCollapse","before-enter","after-leave","enter","afterEnter","enterCancelled","beforeLeave","leave","leaveCancelled"],setup(a,{expose:n,emit:r}){const d=a,s=r,{id:c}=e.toRefs(d),v=W(c),f=e.useAttrs(),g=e.ref("auto"),y=e.ref("auto"),S=e.ref(),x=e.ref(),w=e.ref(),k=e.ref(),L=e.computed({get:()=>d.reference??S.value,set:e=>{S.value=e}}),B=e.ref(!1);e.onMounted((()=>{o.useMutationObserver(x.value,(()=>{var e;B.value="true"===(null==(e=window.getComputedStyle(x.value).getPropertyValue("--dropdown-custom-position"))?void 0:e.trim())}),{attributeFilter:["style"],window:window})}));const $=e.computed((()=>{const e=[];if(d.autoPlacement?"boolean"==typeof d.autoPlacement?e.push(t.autoPlacement()):e.push(t.autoPlacement(d.autoPlacement)):d.flip&&("boolean"==typeof d.flip?e.push(t.flip({fallbackStrategy:"initialPlacement"})):e.push(t.flip(d.flip))),d.shift&&("boolean"==typeof d.shift?e.push(t.shift()):e.push(t.shift(d.shift))),d.size){const o=({availableWidth:e,availableHeight:t})=>{g.value=`${e}px`,y.value=`${t}px`};"boolean"==typeof d.size?e.push(t.size({apply:o})):e.push(t.size({...d.size,apply:o}))}return d.offset&&(e.push(t.offset(Number(d.offset))),["string","number"].includes(typeof d.offset)?e.push(t.offset(Number(d.offset))):e.push(t.offset(d.offset))),d.arrow&&e.push(t.arrow({element:w})),e})),{x:V,y:E,middlewareData:O,placement:P,strategy:C}=t.useFloating(L,x,{whileElementsMounted:(...e)=>t.autoUpdate(...e,{animationFrame:d.strategy===i.fixed}),placement:e.computed((()=>d.placement)),strategy:e.computed((()=>d.strategy)),middleware:$}),N=e.computed((()=>{var e;if(B.value)return;const t=d.triggerWidth&&L.value?`${null==(e=L.value)?void 0:e.offsetWidth}px`:void 0;return{position:C.value,top:`${E.value??0}px`,left:`${V.value??0}px`,maxWidth:t?void 0:g.value,maxHeight:y.value,width:t}})),_=e.computed((()=>P.value.split("-")[0])),z=e.computed((()=>{var e,t,o,l,a;if(B.value)return;const n={[u.top]:u.bottom,[u.right]:u.left,[u.bottom]:u.top,[u.left]:u.right}[_.value];return{left:void 0!==(null==(e=O.value.arrow)?void 0:e.x)?`${null==(t=O.value.arrow)?void 0:t.x}px`:void 0,top:void 0!==(null==(o=O.value.arrow)?void 0:o.y)?`${null==(l=O.value.arrow)?void 0:l.y}px`:void 0,[n]:-((null==(a=w.value)?void 0:a.offsetWidth)??0)/2+"px"}})),R=o.useVModel(d,"modelValue",s),F=e.ref(!1),I=e.computed({get:()=>R.value??F.value,set:e=>{void 0!==R.value?R.value=e:F.value=e}});function j(){I.value=!0}function A(){I.value=!1}function H(){I.value=!I.value}function T(e){L.value=e}o.onClickOutside(x,(()=>{!d.keepOpen&&I.value&&(I.value=!1)}),{ignore:[L]});const D=e.computed((()=>{var e,t;return(null==(t=null==(e=L.value)?void 0:e.getAttribute)?void 0:t.call(e,"id"))??void 0})),q=e.computed((()=>({"aria-controls":v.value,"aria-haspopup":!0,"aria-expanded":I.value}))),{component:M,bus:U}=function({reference:t,id:o,expanded:a,aria:n}){const r=l(),i=e.defineComponent({name:"VvDropdownTriggerProvider",setup(){e.provide(h,{reference:t,id:o,expanded:a,aria:n,bus:r})},render(){var t,o;return e.h(e.Fragment,{},null==(o=(t=this.$slots).default)?void 0:o.call(t))}});return{bus:r,component:i}}({reference:L,id:v,expanded:I,aria:q});U.on("click",H);const{role:G,modifiers:Q}=e.toRefs(d),X=K("vv-dropdown",Q,e.computed((()=>({arrow:d.arrow})))),{focused:Y}=o.useFocusWithin(x);function Z(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"))):[]}function ee(){e.nextTick((()=>{const e=Z(x.value);e.length>0&&e[0].focus({preventScroll:!0})}))}function te(){e.nextTick((()=>{if(Y.value){const e=Z(x.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})}}))}function oe(){e.nextTick((()=>{if(Y.value){const e=Z(x.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})}}))}e.watch(I,(e=>{e&&d.autofocusFirst&&ee()})),n({toggle:H,show:j,hide:A,init:T,focusFirst:ee,focusFirstListElement:function(){e.nextTick((()=>{const e=Z(k.value);e.length>0&&e[0].focus({preventScroll:!0})}))},focusNext:te,focusPrev:oe,customPosition:B});const le=o.useElementHover(x),{itemRole:ae}=function({role:t,...o}){const l=e.computed((()=>t.value===p.listbox?m.option:m.presentation));return e.provide(b,{role:l,...o}),{itemRole:l}}({role:G,expanded:I,focused:Y,hovered:le});o.onKeyStroke("Escape",(e=>{I.value&&(e.preventDefault(),A())})),o.onKeyStroke("ArrowDown",(e=>{I.value&&Y.value&&(e.preventDefault(),te())})),o.onKeyStroke("ArrowUp",(e=>{I.value&&Y.value&&(e.preventDefault(),oe())})),o.onKeyStroke([" ","Enter"],(e=>{const t=e.target;I.value&&Y.value&&t&&(null==t||t.click())}));const ne={"before-enter":()=>{s(I.value?"beforeExpand":"beforeCollapse"),s("beforeEnter")},"after-leave":()=>{s(I.value?"afterExpand":"afterCollapse"),s("afterLeave")},enter:()=>{s("enter")},"after-enter":()=>{s("afterEnter")},"enter-cancelled":()=>{s("enterCancelled")},"before-leave":()=>{s("beforeLeave")},leave:()=>{s("leave")},"leave-cancelled":()=>{s("leaveCancelled")}};return(t,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(M),null,{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps({init:T,show:j,hide:A,toggle:H,expanded:e.unref(I),aria:e.unref(q)})))])),_:3}),e.createVNode(e.Transition,e.mergeProps({name:t.transitionName},e.toHandlers(ne),{persisted:""}),{default:e.withCtx((()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"floatingEl",ref:x,style:e.normalizeStyle(e.unref(N)),class:e.normalizeClass(e.unref(X))},[d.arrow?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"arrowEl",ref:w,style:e.normalizeStyle(e.unref(z)),class:"vv-dropdown__arrow"},null,4)):e.createCommentVNode("v-if",!0),e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(I)}))),e.createElementVNode("div",e.mergeProps(e.unref(f),{id:e.unref(v),ref_key:"listEl",ref:k,tabindex:e.unref(I)?void 0:-1,role:e.unref(G),"aria-labelledby":e.unref(D),class:"vv-dropdown__list"}),[e.renderSlot(t.$slots,"items",e.normalizeProps(e.guardReactiveProps({role:e.unref(ae)})))],16,J),e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(I)})))],6),[[e.vShow,e.unref(I)]])])),_:3},16,["name"])],64))}});const G=e.defineComponent({name:"VvDropdownItem",props:q,setup(t){const l=t,{role:a,expanded:n}=e.inject(b,{}),r=e.ref(null);!function({expanded:t}){e.provide(y,{role:e.ref(f.menuitem),expanded:t})}({expanded:n});const i=o.useElementHover(r),{focused:u}=o.useFocus(r),{focused:d}=o.useFocusWithin(r);return e.watch(i,(e=>{e&&l.focusOnHover&&(u.value=!0)})),(t,o)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({role:e.unref(a)},{ref_key:"element",ref:r,class:["vv-dropdown__item",{"focus-visible":e.unref(u)||e.unref(d)}]}),[e.renderSlot(t.$slots,"default")],16))}}),Q=["title"],X=e.defineComponent({name:"VvDropdownOption",props:M,setup(t){const o=t,{modifiers:l}=e.toRefs(o),a=K("vv-dropdown-option",l,e.computed((()=>({disabled:o.disabled,selected:o.selected,unselectable:o.unselectable&&o.selected})))),n=e.computed((()=>o.selected?o.unselectable?o.deselectHintLabel:o.selectedHintLabel:o.disabled?"":o.selectHintLabel));return(t,o)=>(e.openBlock(),e.createBlock(G,{class:e.normalizeClass(e.unref(a)),tabindex:t.disabled?-1:0,"aria-selected":t.selected,"aria-disabled":t.disabled,"focus-on-hover":t.focusOnHover},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default"),e.createElementVNode("span",{class:"vv-dropdown-option__hint",title:e.unref(n)},[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps({disabled:t.disabled,selected:t.selected,unselectable:t.unselectable})),(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)),1)]))],8,Q)])),_:3},8,["class","tabindex","aria-selected","aria-disabled","focus-on-hover"]))}});function Y(){return e.inject(g,void 0)}const Z=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:{}},n),setup(t){const o=t,l=e.computed((()=>"string"==typeof o.rotate?Number.parseFloat(o.rotate):o.rotate)),n=e.ref(!0),r=Y(),{modifiers:i}=e.toRefs(o),u=K("vv-icon",i),d=e.computed((()=>o.provider||(null==r?void 0:r.iconsProvider))),s=e.computed((()=>{const e=o.name??"",t=`@${d.value}:${o.prefix}:${e}`;if(a.iconLoaded(t))return t;const l=null==r?void 0:r.iconsCollections.find((t=>{const o=`@${d.value}:${t.prefix}:${e}`;return a.iconLoaded(o)}));return l?`@${d.value}:${l.prefix}:${e}`:e}));function c(e){const t=function(e){let t;if("undefined"==typeof window){const{JSDOM:e}=require("jsdom");t=(new e).window}return(t?new t.DOMParser:new window.DOMParser).parseFromString(e,"text/html").querySelector("svg")}(e),l=(null==t?void 0:t.innerHTML.trim())||"";t&&l&&a.addIcon(`@${d.value}:${o.prefix}:${o.name}`,{body:l,height:t.viewBox.baseVal.height,width:t.viewBox.baseVal.width})}return r&&o.src&&!a.iconLoaded(`@${d.value}:${o.prefix}:${o.name}`)&&(n.value=!1,r.fetchIcon(o.src).then((e=>{e&&(c(e),n.value=!0)})).catch((e=>{throw new Error(`Error during fetch icon: ${null==e?void 0:e.message}`)}))),o.svg&&c(o.svg),(t,o)=>e.unref(n)?(e.openBlock(),e.createBlock(e.unref(a.Icon),e.mergeProps({key:0,class:e.unref(u)},{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,icon:e.unref(s)},{onLoad:t.onLoad}),null,16,["class","onLoad"])):e.createCommentVNode("v-if",!0)}});function ee(t,o){const l=e.computed((()=>"string"==typeof(null==t?void 0:t.value)?{name:null==t?void 0:t.value}:null==t?void 0:t.value)),a=e.computed((()=>(null==o?void 0:o.value)===s.before?l.value:void 0)),n=e.computed((()=>(null==o?void 0:o.value)===s.after?l.value:void 0)),r=e.computed((()=>(null==o?void 0:o.value)===u.left?l.value:void 0)),i=e.computed((()=>(null==o?void 0:o.value)===u.right?l.value:void 0)),d=e.computed((()=>(null==o?void 0:o.value)===u.top?l.value:void 0)),c=e.computed((()=>(null==o?void 0:o.value)===u.bottom?l.value:void 0));return{hasIcon:l,hasIconLeft:r,hasIconRight:i,hasIconTop:d,hasIconBottom:c,hasIconBefore:a,hasIconAfter:n}}const te=["for"],oe={key:0,class:"vv-textarea__input-before"},le={class:"vv-textarea__inner"},ae=["id"],ne={key:1,class:"vv-textarea__input-after"},re={key:2,class:"vv-textarea__limit"},ie={class:"flex-1"},ue=["title","onClick"];return e.defineComponent({name:"VvTextarea",props:A,emits:["update:modelValue","focus","blur","keyup","suggestion:selected","suggestion:removed"],setup(t,{emit:l}){const a=t,n=l,i=e.useSlots(),u=Y(),d=function(t,o,l){const a=Y(),n=e.computed((()=>{var e;if(a&&(null==(e=a.defaults.value)?void 0:e[t]))return a.defaults.value[t]}));return e.computed((()=>{if(void 0===n.value)return l;const e=n.value,t=o,a=l;return Object.keys(t).reduce(((o,l)=>{const n=a[l];if(o[l]=n,l in e){if(Array.isArray(t[l])){const a=t[l];a.length&&a[0]===n&&(o[l]=e[l])}if("function"==typeof t[l]&&(0,t[l])()===n&&(o[l]=e[l]),"object"==typeof t[l]){let a=t[l].default;"function"==typeof a&&(a=a()),"object"==typeof a?JSON.stringify(a)===JSON.stringify(n)&&(o[l]=e[l]):a===n&&(o[l]=e[l])}}return o}),{})}))}("VvTextarea",A,a),s=e.ref(),c=e.ref(),v=e.ref(),{id:f,icon:p,iconPosition:m,iconRemoveSuggestion:g,labelRemoveSuggestion:h,label:b,modelValue:y,count:S,valid:x,invalid:w,loading:k,modifiers:L,debounce:B,minlength:$,maxlength:V,storageType:E}=e.toRefs(a),O=W(f),P=e.computed((()=>`${O.value}-hint`)),C=e.computed((()=>a.floating&&H(a.placeholder)?" ":a.placeholder)),N=function(t,o,l=0,{getter:a=e=>e,setter:n=e=>e}={}){let r;return"string"==typeof l&&(l=Number.parseInt(l)),e.computed({get:()=>a(null==t?void 0:t.value),set:e=>{r&&clearTimeout(r),r=setTimeout((()=>{o("update:modelValue",n(e))}),l)}})}(y,n,null==B?void 0:B.value),{hasIconBefore:_,hasIconAfter:z}=ee(p,m),{hasIcon:R}=ee(g),{focused:F}=function(t,l){const{focused:a}=o.useFocus(t);return e.watch(a,(o=>{l(o?"focus":"blur",e.unref(t))})),{focused:a}}(s,n),I=e.computed((()=>F.value&&!a.disabled&&!a.readonly));e.watch(I,(e=>{var t,o;if(e&&d.value.selectOnFocus&&s.value&&s.value.select(),e&&(null==(t=de.value)?void 0:t.size))null==(o=v.value)||o.show();else if(J.value&&de.value){const e=a.maxSuggestions;de.value.size>=e&&!de.value.has(N.value)&&(de.value=new Set([...de.value].slice(de.value.size-e+1))),de.value.add(N.value)}}));const j=o.useElementVisibility(s);e.watch(j,(e=>{e&&a.autofocus&&(F.value=!0)}));const{formatted:D}=function(t,o){const l=e.computed((()=>(e.unref(t)??"").length)),a=e.computed((()=>void 0!==(null==o?void 0:o.lowerLimit)&&l.value<(null==o?void 0:o.lowerLimit)?l.value-o.lowerLimit:void 0!==(null==o?void 0:o.upperLimit)&&l.value<(null==o?void 0:o.upperLimit)?o.upperLimit-l.value:0)),n=e.computed((()=>{if(!1===(null==o?void 0:o.mode))return"";if("limit"===(null==o?void 0:o.mode)&&(null==o?void 0:o.upperLimit))return`${l.value} / ${o.lowerLimit?`${o.lowerLimit}-`:""}${o.upperLimit}`;if("countdown"===(null==o?void 0:o.mode)){if(0===a.value)return;return a}return l.value}));return{length:l,gap:a,formatted:n}}(N,{mode:null==S?void 0:S.value,upperLimit:Number(null==V?void 0:V.value),lowerLimit:Number(null==$?void 0:$.value)}),q=e.computed((()=>!a.disabled&&!a.readonly)),M=e.computed((()=>q.value?a.tabindex:-1)),J=e.computed((()=>!H(y))),G=e.computed((()=>!0===a.invalid||!0!==a.valid&&void 0)),Q=e.computed((()=>a.storageKey??((null==u?void 0:u.experimentalFeatures.forceInputSuggestions)?a.name:void 0))),de=function(t,l=r.local,a){const n=e.ref();let i;return a&&(n.value=a),e.onMounted((()=>{t&&e.watch(t,((t,a)=>{const u=e.unref(l)===r.session?sessionStorage:localStorage;if(a&&a!==t&&u.removeItem(a),t)return i=o.useStorage(t,(null==i?void 0:i.value)??n.value,u),void(i.value&&(n.value=i.value));i=void 0}),{immediate:!0}),e.isRef(l)&&e.watch(l,((e,l)=>{if(null==t?void 0:t.value){if(e){const l=e===r.session?sessionStorage:localStorage;i=o.useStorage(t.value,(null==i?void 0:i.value)??n.value,l)}l&&l!==e&&(l===r.session?sessionStorage:localStorage).removeItem(t.value)}}))})),e.watch(n,(e=>{i&&(i.value=e)}),{deep:!0,immediate:!0}),n}(Q,E,new Set),se=e.computed((()=>de.value?[...de.value].filter((e=>H(N.value)||`${e}`.toLowerCase().includes(`${N.value}`.toLowerCase())&&e!==N.value)).reverse():[])),ce=e.computed((()=>(null==Q?void 0:Q.value)&&de.value&&de.value.size>0));const{HintSlot:ve,hasHintLabelOrSlot:fe,hasInvalidLabelOrSlot:pe,hintSlotScope:me}=function(t,o){const l=e.computed((()=>e.isRef(t)?t.value:t)),a=e.computed((()=>T(l.value.invalidLabel))),n=e.computed((()=>T(l.value.validLabel))),r=e.computed((()=>l.value.loadingLabel)),i=e.computed((()=>l.value.hintLabel)),u=e.computed((()=>Boolean(l.value.loading&&(o.loading||r.value)))),d=e.computed((()=>!u.value&&Boolean(l.value.invalid&&(o.invalid||a.value)))),s=e.computed((()=>!u.value&&!d.value&&Boolean(l.value.valid&&(o.valid||n.value)))),c=e.computed((()=>!u.value&&!d.value&&!s.value&&Boolean(o.hint||i.value))),v=e.computed((()=>d.value||s.value||u.value||c.value)),f=e.computed((()=>({modelValue:l.value.modelValue,valid:l.value.valid,invalid:l.value.invalid,loading:l.value.loading}))),p=e.defineComponent({name:"HintSlot",props:{tag:{type:String,default:"small"}},setup:()=>({isVisible:v,invalidLabel:a,validLabel:n,loadingLabel:r,hintLabel:i,hasInvalidLabelOrSlot:d,hasValidLabelOrSlot:s,hasLoadingLabelOrSlot:u,hasHintLabelOrSlot:c}),render(){var t,o,l,a,n,r,i,u;if(this.isVisible){let d;return this.hasInvalidLabelOrSlot&&(d="alert"),this.hasValidLabelOrSlot&&(d="status"),this.hasLoadingLabelOrSlot?e.h(this.tag,{role:d},(null==(o=(t=this.$slots).loading)?void 0:o.call(t))??this.loadingLabel):this.hasInvalidLabelOrSlot?e.h(this.tag,{role:d},(null==(a=(l=this.$slots).invalid)?void 0:a.call(l))??this.$slots.invalid??this.invalidLabel):this.hasValidLabelOrSlot?e.h(this.tag,{role:d},(null==(r=(n=this.$slots).valid)?void 0:r.call(n))??this.validLabel):e.h(this.tag,{role:d},(null==(u=(i=this.$slots).hint)?void 0:u.call(i))??this.$slots.hint??this.hintLabel)}return null}});return{hasInvalidLabelOrSlot:d,hasHintLabelOrSlot:c,hasValidLabelOrSlot:s,hasLoadingLabelOrSlot:u,hintSlotScope:f,HintSlot:p}}(d,i),ge=K("vv-textarea",L,e.computed((()=>({valid:x.value,invalid:w.value,loading:k.value,disabled:a.disabled,readonly:a.readonly,required:a.required,"icon-before":void 0!==_.value,"icon-after":void 0!==z.value,floating:a.floating&&!H(a.label),dirty:J.value,focus:F.value,resizable:a.resizable})))),he=e.computed((()=>({name:a.name,placeholder:C.value,tabindex:M.value,disabled:a.disabled,readonly:a.readonly,required:a.required,autocomplete:a.autocomplete,minlength:a.minlength,maxlength:a.maxlength,cols:a.cols,rows:a.rows,wrap:a.wrap,spellcheck:a.spellcheck,"aria-invalid":G.value,"aria-describedby":fe.value?P.value:void 0,"aria-errormessage":pe.value?P.value:void 0}))),be=e.computed((()=>({valid:a.valid,invalid:a.invalid,modelValue:a.modelValue,hintLabel:a.hintLabel,maxlength:a.maxlength,minlength:a.minlength,clear:ye})));function ye(){N.value=void 0}return(t,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(ge))},[e.unref(b)?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(O),class:"vv-textarea__label"},e.toDisplayString(e.unref(b)),9,te)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",{ref_key:"wrapperEl",ref:c,class:"vv-textarea__wrapper"},[t.$slots.before?(e.openBlock(),e.createElementBlock("div",oe,[e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(be))))])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",le,[e.unref(_)?(e.openBlock(),e.createBlock(Z,e.mergeProps({key:0},e.unref(_),{class:"vv-textarea__icon"}),null,16)):e.createCommentVNode("v-if",!0),e.withDirectives(e.createElementVNode("textarea",e.mergeProps({id:e.unref(O),ref_key:"textareaEl",ref:s,"onUpdate:modelValue":o[0]||(o[0]=t=>e.isRef(N)?N.value=t:null)},e.unref(he),{onKeyup:o[1]||(o[1]=e=>n("keyup",e))}),null,16,ae),[[e.vModelText,e.unref(N)]]),e.unref(z)?(e.openBlock(),e.createBlock(Z,e.mergeProps({key:1},e.unref(z),{class:"vv-textarea__icon vv-textarea__icon-after"}),null,16)):e.createCommentVNode("v-if",!0)]),t.$slots.after?(e.openBlock(),e.createElementBlock("div",ne,[e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(be))))])):e.createCommentVNode("v-if",!0),e.unref(S)?(e.openBlock(),e.createElementBlock("span",re,[e.renderSlot(t.$slots,"count",e.normalizeProps(e.guardReactiveProps(e.unref(be))),(()=>[e.createTextVNode(e.toDisplayString(e.unref(D)),1)]))])):e.createCommentVNode("v-if",!0)],512),e.createVNode(e.unref(ve),{id:e.unref(P),class:"vv-textarea__hint"},e.createSlots({_:2},[t.$slots.hint?{name:"hint",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps(e.unref(me))))])),key:"0"}:void 0,t.$slots.loading?{name:"loading",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"loading",e.normalizeProps(e.guardReactiveProps(e.unref(me))))])),key:"1"}:void 0,t.$slots.valid?{name:"valid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"valid",e.normalizeProps(e.guardReactiveProps(e.unref(me))))])),key:"2"}:void 0,t.$slots.invalid?{name:"invalid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"invalid",e.normalizeProps(e.guardReactiveProps(e.unref(me))))])),key:"3"}:void 0]),1032,["id"]),e.unref(ce)?(e.openBlock(),e.createBlock(U,{key:1,ref_key:"suggestionsDropdownEl",ref:v,reference:e.unref(c),"autofocus-first":!1,"trigger-width":!0},{items:e.withCtx((()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(se),(o=>(e.openBlock(),e.createBlock(X,{key:o,onClick:e.withModifiers((e=>{return t=o,N.value=t,null==(l=v.value)||l.hide(),void n("suggestion:selected",t);var t,l}),["stop"])},{default:e.withCtx((()=>[e.createElementVNode("div",ie,[e.renderSlot(t.$slots,"suggestion",e.mergeProps({ref_for:!0},{value:o}),(()=>[e.createTextVNode(e.toDisplayString(o),1)]))]),e.unref(de)&&e.unref(R)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",tabindex:"-1",class:"cursor-pointer",title:e.unref(h),onClick:e.withModifiers((e=>{return t=o,null==(l=de.value)||l.delete(t),void n("suggestion:removed",t);var t,l}),["stop"])},[e.createVNode(Z,e.mergeProps({ref_for:!0},e.unref(R)),null,16)],8,ue)):e.createCommentVNode("v-if",!0)])),_:2},1032,["onClick"])))),128))])),_:3},8,["reference"])):e.createCommentVNode("v-if",!0)],2))}})}));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("@floating-ui/vue"),require("@vueuse/core"),require("mitt"),require("@iconify/vue")):"function"==typeof define&&define.amd?define(["vue","@floating-ui/vue","@vueuse/core","mitt","@iconify/vue"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvTextarea=t(e.vue,e.vue$1,e.core,e.mitt,e.vue$2)}(this,function(e,t,o,a,l){"use strict";const n={prefix:"normal"};var r=(e=>(e.local="local",e.session="session",e))(r||{}),i=(e=>(e.absolute="absolute",e.fixed="fixed",e))(i||{}),u=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(u||{}),s=(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))(s||{}),d=(e=>(e.before="before",e.after="after",e))(d||{}),c=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(c||{}),f=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(f||{}),v=(e=>(e.button="button",e.link="link",e.menuitem="menuitem",e))(v||{}),p=(e=>(e.listbox="listbox",e.menu="menu",e))(p||{}),m=(e=>(e.option="option",e.presentation="presentation",e))(m||{});const g=Symbol.for("volver"),h=Symbol.for("dropdownTrigger"),b=Symbol.for("dropdownItem"),y=Symbol.for("dropdownAction"),S={valid:{type:Boolean,default:!1},validLabel:{type:[String,Array],default:void 0}},x={invalid:{type:Boolean,default:!1},invalidLabel:{type:[String,Array],default:void 0}},w={loading:{type:Boolean,default:!1},loadingLabel:{type:String,default:"Loading..."}},k={disabled:{type:Boolean,default:!1}},L={required:{type:Boolean,default:!1}},B={selected:{type:Boolean,default:!1}},$={label:{type:[String,Number],default:void 0}},V={readonly:{type:Boolean,default:!1}},E={modifiers:{type:[String,Array],default:void 0}},O={hintLabel:{type:String,default:""}},P={count:{type:[Boolean,String],default:!1,validator:e=>[!0,!1,"limit","countdown"].includes(e)}},C={debounce:{type:[Number,String],default:void 0}},N={icon:{type:[String,Object],default:void 0},iconPosition:{type:String,default:d.before,validation:e=>Object.values(d).includes(e)}},_={tabindex:{type:[String,Number],default:0}},z={floating:{type:Boolean,default:!1}},R={unselectable:{type:Boolean,default:!0}},F={id:[String,Number]},I={placement:{type:String,default:u.bottom,validator:e=>Object.values(u).includes(e)||Object.values(s).includes(e)},strategy:{type:String,default:void 0,validator:e=>Object.values(i).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}},j={...{...F,name:{type:String,required:!0}},...{autofocus:{type:Boolean,default:!1}},...{autocomplete:{type:String,default:"off"}},..._,...k,...V,...S,...x,...O,...w,...E,...P,...C,...N,...z,...$,minlength:{type:[String,Number],default:void 0},maxlength:{type:[String,Number],default:void 0},placeholder:{type:String,default:void 0},...L};c.button,f.button;const A={...j,...{storageType:{type:String,default:r.local,validator:e=>Object.values(r).includes(e)},storageKey:String},modelValue:String,cols:{type:[String,Number],default:20},rows:{type:[String,Number],default:2},wrap:{type:String,default:"soft"},spellcheck:{type:[Boolean,String],default:"default"},iconRemoveSuggestion:{type:[String,Object],default:"trash"},labelRemoveSuggestion:{type:String,default:"Remove suggestion"},maxSuggestions:{type:Number,default:5},selectOnFocus:{type:Boolean,default:!1},resizable:Boolean};function H(t){return null==(o=e.unref(t))||""===o||Array.isArray(o)&&0===o.length||!(o instanceof Date)&&"object"==typeof o&&0===Object.keys(o).length;var o}function T(e){return Array.isArray(e)?e.filter(e=>"string"==typeof e).join(" "):e}const D={...F,...I,...E,modelValue:{type:Boolean,default:void 0},reference:{type:Object,default:null},role:{type:String,default:p.menu,validator:e=>Object.values(p).includes(e)}},q={focusOnHover:{type:Boolean,default:!1}},M={...k,...B,...R,...E,deselectHintLabel:{type:String},selectHintLabel:{type:String},selectedHintLabel:{type:String},focusOnHover:{type:Boolean,default:!1}};function W(t){return e.computed(()=>String(t?.value||e.useId()))}function K(t,o,a){return e.computed(()=>{const l={[t]:!0},n="string"==typeof o?.value?o.value.split(" "):o?.value;return n&&Array.isArray(n)&&n.forEach(e=>{e&&(l[`${t}--${e}`]=!0)}),a&&Object.keys(a.value).forEach(o=>{l[`${t}--${o}`]=e.unref(a.value[o])}),l})}const J=["id","tabindex","role","aria-labelledby"],U=e.defineComponent({name:"VvDropdown",inheritAttrs:!1,props:D,emits:["update:modelValue","beforeEnter","afterLeave","beforeExpand","beforeCollapse","afterExpand","afterCollapse","before-enter","after-leave","enter","afterEnter","enterCancelled","beforeLeave","leave","leaveCancelled"],setup(l,{expose:n,emit:r}){const s=l,d=r,{id:c}=e.toRefs(s),f=W(c),v=e.useAttrs(),g=e.ref("auto"),y=e.ref("auto"),S=e.ref(),x=e.ref(),w=e.ref(),k=e.ref(),L=e.computed({get:()=>s.reference??S.value,set:e=>{S.value=e}}),B=e.ref(!1);e.onMounted(()=>{o.useMutationObserver(x.value,()=>{B.value="true"===window.getComputedStyle(x.value).getPropertyValue("--dropdown-custom-position")?.trim()},{attributeFilter:["style"],window:window})});const $=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})=>{g.value=`${e}px`,y.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:w})),e}),{x:V,y:E,middlewareData:O,placement:P,strategy:C}=t.useFloating(L,x,{whileElementsMounted:(...e)=>t.autoUpdate(...e,{animationFrame:s.strategy===i.fixed}),placement:e.computed(()=>s.placement),strategy:e.computed(()=>s.strategy),middleware:$}),N=e.computed(()=>{if(B.value)return;const e=s.triggerWidth&&L.value?`${L.value?.offsetWidth}px`:void 0;return{position:C.value,top:`${E.value??0}px`,left:`${V.value??0}px`,maxWidth:e?void 0:g.value,maxHeight:y.value,width:e}}),_=e.computed(()=>P.value.split("-")[0]),z=e.computed(()=>{if(B.value)return;const e={[u.top]:u.bottom,[u.right]:u.left,[u.bottom]:u.top,[u.left]:u.right}[_.value];return{left:void 0!==O.value.arrow?.x?`${O.value.arrow?.x}px`:void 0,top:void 0!==O.value.arrow?.y?`${O.value.arrow?.y}px`:void 0,[e]:-(w.value?.offsetWidth??0)/2+"px"}}),R=o.useVModel(s,"modelValue",d),F=e.ref(!1),I=e.computed({get:()=>R.value??F.value,set:e=>{void 0!==R.value?R.value=e:F.value=e}});function j(){I.value=!0}function A(){I.value=!1}function H(){I.value=!I.value}function T(e){L.value=e}o.onClickOutside(x,()=>{!s.keepOpen&&I.value&&(I.value=!1)},{ignore:[L]});const D=e.computed(()=>L.value?.getAttribute?.("id")??void 0),q=e.computed(()=>({"aria-controls":f.value,"aria-haspopup":!0,"aria-expanded":I.value})),{component:M,bus:U}=function({reference:t,id:o,expanded:l,aria:n}){const r=a(),i=e.defineComponent({name:"VvDropdownTriggerProvider",setup(){e.provide(h,{reference:t,id:o,expanded:l,aria:n,bus:r})},render(){return e.h(e.Fragment,{},this.$slots.default?.())}});return{bus:r,component:i}}({reference:L,id:f,expanded:I,aria:q});U.on("click",H);const{role:G,modifiers:Q}=e.toRefs(s),X=K("vv-dropdown",Q,e.computed(()=>({arrow:s.arrow}))),{focused:Y}=o.useFocusWithin(x);function Z(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")):[]}function ee(){e.nextTick(()=>{const e=Z(x.value);e.length>0&&e[0].focus({preventScroll:!0})})}function te(){e.nextTick(()=>{if(Y.value){const e=Z(x.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})}})}function oe(){e.nextTick(()=>{if(Y.value){const e=Z(x.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})}})}e.watch(I,e=>{e&&s.autofocusFirst&&ee()}),n({toggle:H,show:j,hide:A,init:T,focusFirst:ee,focusFirstListElement:function(){e.nextTick(()=>{const e=Z(k.value);e.length>0&&e[0].focus({preventScroll:!0})})},focusNext:te,focusPrev:oe,customPosition:B});const ae=o.useElementHover(x),{itemRole:le}=function({role:t,...o}){const a=e.computed(()=>t.value===p.listbox?m.option:m.presentation);return e.provide(b,{role:a,...o}),{itemRole:a}}({role:G,expanded:I,focused:Y,hovered:ae});o.onKeyStroke("Escape",e=>{I.value&&(e.preventDefault(),A())}),o.onKeyStroke("ArrowDown",e=>{I.value&&Y.value&&(e.preventDefault(),te())}),o.onKeyStroke("ArrowUp",e=>{I.value&&Y.value&&(e.preventDefault(),oe())}),o.onKeyStroke([" ","Enter"],e=>{const t=e.target;I.value&&Y.value&&t&&t?.click()});const ne={"before-enter":()=>{d(I.value?"beforeExpand":"beforeCollapse"),d("beforeEnter")},"after-leave":()=>{d(I.value?"afterExpand":"afterCollapse"),d("afterLeave")},enter:()=>{d("enter")},"after-enter":()=>{d("afterEnter")},"enter-cancelled":()=>{d("enterCancelled")},"before-leave":()=>{d("beforeLeave")},leave:()=>{d("leave")},"leave-cancelled":()=>{d("leaveCancelled")}};return(t,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(M),null,{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps({init:T,show:j,hide:A,toggle:H,expanded:e.unref(I),aria:e.unref(q)})))]),_:3}),e.createVNode(e.Transition,e.mergeProps({name:t.transitionName},e.toHandlers(ne),{persisted:""}),{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"floatingEl",ref:x,style:e.normalizeStyle(e.unref(N)),class:e.normalizeClass(e.unref(X))},[s.arrow?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"arrowEl",ref:w,style:e.normalizeStyle(e.unref(z)),class:"vv-dropdown__arrow"},null,4)):e.createCommentVNode("v-if",!0),e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(I)}))),e.createElementVNode("div",e.mergeProps(e.unref(v),{id:e.unref(f),ref_key:"listEl",ref:k,tabindex:e.unref(I)?void 0:-1,role:e.unref(G),"aria-labelledby":e.unref(D),class:"vv-dropdown__list"}),[e.renderSlot(t.$slots,"items",e.normalizeProps(e.guardReactiveProps({role:e.unref(le)})))],16,J),e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(I)})))],6),[[e.vShow,e.unref(I)]])]),_:3},16,["name"])],64))}});const G=e.defineComponent({name:"VvDropdownItem",props:q,setup(t){const a=t,{role:l,expanded:n}=e.inject(b,{}),r=e.ref(null);!function({expanded:t}){e.provide(y,{role:e.ref(v.menuitem),expanded:t})}({expanded:n});const i=o.useElementHover(r),{focused:u}=o.useFocus(r),{focused:s}=o.useFocusWithin(r);return e.watch(i,e=>{e&&a.focusOnHover&&(u.value=!0)}),(t,o)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({role:e.unref(l)},{ref_key:"element",ref:r,class:["vv-dropdown__item",{"focus-visible":e.unref(u)||e.unref(s)}]}),[e.renderSlot(t.$slots,"default")],16))}}),Q=["title"],X=e.defineComponent({name:"VvDropdownOption",props:M,setup(t){const o=t,{modifiers:a}=e.toRefs(o),l=K("vv-dropdown-option",a,e.computed(()=>({disabled:o.disabled,selected:o.selected,unselectable:o.unselectable&&o.selected}))),n=e.computed(()=>o.selected?o.unselectable?o.deselectHintLabel:o.selectedHintLabel:o.disabled?"":o.selectHintLabel);return(t,o)=>(e.openBlock(),e.createBlock(G,{class:e.normalizeClass(e.unref(l)),tabindex:t.disabled?-1:0,"aria-selected":t.selected,"aria-disabled":t.disabled,"focus-on-hover":t.focusOnHover},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default"),e.createElementVNode("span",{class:"vv-dropdown-option__hint",title:e.unref(n)},[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps({disabled:t.disabled,selected:t.selected,unselectable:t.unselectable})),()=>[e.createTextVNode(e.toDisplayString(e.unref(n)),1)])],8,Q)]),_:3},8,["class","tabindex","aria-selected","aria-disabled","focus-on-hover"]))}});function Y(){return e.inject(g,void 0)}const Z=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:{}},n),setup(t){const o=t,a=e.computed(()=>"string"==typeof o.rotate?Number.parseFloat(o.rotate):o.rotate),n=e.ref(!0),r=Y(),{modifiers:i}=e.toRefs(o),u=K("vv-icon",i),s=e.computed(()=>o.provider||r?.iconsProvider),d=e.computed(()=>{const e=o.name??"",t=`@${s.value}:${o.prefix}:${e}`;if(l.iconLoaded(t))return t;const a=r?.iconsCollections.find(t=>{const o=`@${s.value}:${t.prefix}:${e}`;return l.iconLoaded(o)});return a?`@${s.value}:${a.prefix}:${e}`:e});function c(e){const t=function(e){let t;if("undefined"==typeof window){const{JSDOM:e}=require("jsdom");t=(new e).window}return(t?new t.DOMParser:new window.DOMParser).parseFromString(e,"text/html").querySelector("svg")}(e),a=t?.innerHTML.trim()||"";t&&a&&l.addIcon(`@${s.value}:${o.prefix}:${o.name}`,{body:a,height:t.viewBox.baseVal.height,width:t.viewBox.baseVal.width})}return r&&o.src&&!l.iconLoaded(`@${s.value}:${o.prefix}:${o.name}`)&&(n.value=!1,r.fetchIcon(o.src).then(e=>{e&&(c(e),n.value=!0)}).catch(e=>{throw new Error(`Error during fetch icon: ${e?.message}`)})),o.svg&&c(o.svg),(t,o)=>e.unref(n)?(e.openBlock(),e.createBlock(e.unref(l.Icon),e.mergeProps({key:0,class:e.unref(u)},{inline:t.inline,width:t.width,height:t.height,horizontalFlip:t.horizontalFlip,verticalFlip:t.verticalFlip,flip:t.flip,rotate:e.unref(a),color:t.color,icon:e.unref(d)},{onLoad:t.onLoad}),null,16,["class","onLoad"])):e.createCommentVNode("v-if",!0)}});function ee(t,o){const a=e.computed(()=>"string"==typeof t?.value?{name:t?.value}:t?.value),l=e.computed(()=>o?.value===d.before?a.value:void 0),n=e.computed(()=>o?.value===d.after?a.value:void 0),r=e.computed(()=>o?.value===u.left?a.value:void 0),i=e.computed(()=>o?.value===u.right?a.value:void 0),s=e.computed(()=>o?.value===u.top?a.value:void 0),c=e.computed(()=>o?.value===u.bottom?a.value:void 0);return{hasIcon:a,hasIconLeft:r,hasIconRight:i,hasIconTop:s,hasIconBottom:c,hasIconBefore:l,hasIconAfter:n}}const te=["for"],oe={key:0,class:"vv-textarea__input-before"},ae={class:"vv-textarea__inner"},le=["id"],ne={key:1,class:"vv-textarea__input-after"},re={key:2,class:"vv-textarea__limit"},ie={class:"flex-1"},ue=["title","onClick"];return e.defineComponent({name:"VvTextarea",props:A,emits:["update:modelValue","focus","blur","keyup","suggestion:selected","suggestion:removed"],setup(t,{emit:a}){const l=t,n=a,i=e.useSlots(),u=Y(),s=function(t,o,a){const l=Y(),n=e.computed(()=>{if(l&&l.defaults.value?.[t])return l.defaults.value[t]});return e.computed(()=>{if(void 0===n.value)return a;const e=n.value,t=o,l=a;return Object.keys(t).reduce((o,a)=>{const n=l[a];if(o[a]=n,a in e){if(Array.isArray(t[a])){const l=t[a];l.length&&l[0]===n&&(o[a]=e[a])}if("function"==typeof t[a]&&(0,t[a])()===n&&(o[a]=e[a]),"object"==typeof t[a]){let l=t[a].default;"function"==typeof l&&(l=l()),"object"==typeof l?JSON.stringify(l)===JSON.stringify(n)&&(o[a]=e[a]):l===n&&(o[a]=e[a])}}return o},{})})}("VvTextarea",A,l),d=e.ref(),c=e.ref(),f=e.ref(),{id:v,icon:p,iconPosition:m,iconRemoveSuggestion:g,labelRemoveSuggestion:h,label:b,modelValue:y,count:S,valid:x,invalid:w,loading:k,modifiers:L,debounce:B,minlength:$,maxlength:V,storageType:E}=e.toRefs(l),O=W(v),P=e.computed(()=>`${O.value}-hint`),C=e.computed(()=>l.floating&&H(l.placeholder)?" ":l.placeholder),N=function(t,o,a=0,{getter:l=e=>e,setter:n=e=>e}={}){let r;return"string"==typeof a&&(a=Number.parseInt(a)),e.computed({get:()=>l(t?.value),set:e=>{r&&clearTimeout(r),r=setTimeout(()=>{o("update:modelValue",n(e))},a)}})}(y,n,B?.value),{hasIconBefore:_,hasIconAfter:z}=ee(p,m),{hasIcon:R}=ee(g),{focused:F}=function(t,a){const{focused:l}=o.useFocus(t);return e.watch(l,o=>{a(o?"focus":"blur",e.unref(t))}),{focused:l}}(d,n),I=e.computed(()=>F.value&&!l.disabled&&!l.readonly);e.watch(I,e=>{if(e&&s.value.selectOnFocus&&d.value&&d.value.select(),e&&se.value?.size)f.value?.show();else if(J.value&&se.value){const e=l.maxSuggestions;se.value.size>=e&&!se.value.has(N.value)&&(se.value=new Set([...se.value].slice(se.value.size-e+1))),se.value.add(N.value)}});const j=o.useElementVisibility(d);e.watch(j,e=>{e&&l.autofocus&&(F.value=!0)});const{formatted:D}=function(t,o){const a=e.computed(()=>(e.unref(t)??"").length),l=e.computed(()=>void 0!==o?.lowerLimit&&a.value<o?.lowerLimit?a.value-o.lowerLimit:void 0!==o?.upperLimit&&a.value<o?.upperLimit?o.upperLimit-a.value:0),n=e.computed(()=>{if(!1===o?.mode)return"";if("limit"===o?.mode&&o?.upperLimit)return`${a.value} / ${o.lowerLimit?`${o.lowerLimit}-`:""}${o.upperLimit}`;if("countdown"===o?.mode){if(0===l.value)return;return l}return a.value});return{length:a,gap:l,formatted:n}}(N,{mode:S?.value,upperLimit:Number(V?.value),lowerLimit:Number($?.value)}),q=e.computed(()=>!l.disabled&&!l.readonly),M=e.computed(()=>q.value?l.tabindex:-1),J=e.computed(()=>!H(y)),G=e.computed(()=>!0===l.invalid||!0!==l.valid&&void 0),Q=e.computed(()=>l.storageKey??(u?.experimentalFeatures.forceInputSuggestions?l.name:void 0)),se=function(t,a=r.local,l){const n=e.ref();let i;return l&&(n.value=l),e.onMounted(()=>{t&&e.watch(t,(t,l)=>{const u=e.unref(a)===r.session?sessionStorage:localStorage;if(l&&l!==t&&u.removeItem(l),t)return i=o.useStorage(t,i?.value??n.value,u),void(i.value&&(n.value=i.value));i=void 0},{immediate:!0}),e.isRef(a)&&e.watch(a,(e,a)=>{if(t?.value){if(e){const a=e===r.session?sessionStorage:localStorage;i=o.useStorage(t.value,i?.value??n.value,a)}a&&a!==e&&(a===r.session?sessionStorage:localStorage).removeItem(t.value)}})}),e.watch(n,e=>{i&&(i.value=e)},{deep:!0,immediate:!0}),n}(Q,E,new Set),de=e.computed(()=>se.value?[...se.value].filter(e=>H(N.value)||`${e}`.toLowerCase().includes(`${N.value}`.toLowerCase())&&e!==N.value).reverse():[]),ce=e.computed(()=>Q?.value&&se.value&&se.value.size>0);const{HintSlot:fe,hasHintLabelOrSlot:ve,hasInvalidLabelOrSlot:pe,hintSlotScope:me}=function(t,o){const a=e.computed(()=>e.isRef(t)?t.value:t),l=e.computed(()=>T(a.value.invalidLabel)),n=e.computed(()=>T(a.value.validLabel)),r=e.computed(()=>a.value.loadingLabel),i=e.computed(()=>a.value.hintLabel),u=e.computed(()=>Boolean(a.value.loading&&(o.loading||r.value))),s=e.computed(()=>!u.value&&Boolean(a.value.invalid&&(o.invalid||l.value))),d=e.computed(()=>!u.value&&!s.value&&Boolean(a.value.valid&&(o.valid||n.value))),c=e.computed(()=>!u.value&&!s.value&&!d.value&&Boolean(o.hint||i.value)),f=e.computed(()=>s.value||d.value||u.value||c.value),v=e.computed(()=>({modelValue:a.value.modelValue,valid:a.value.valid,invalid:a.value.invalid,loading:a.value.loading})),p=e.defineComponent({name:"HintSlot",props:{tag:{type:String,default:"small"}},setup:()=>({isVisible:f,invalidLabel:l,validLabel:n,loadingLabel:r,hintLabel:i,hasInvalidLabelOrSlot:s,hasValidLabelOrSlot:d,hasLoadingLabelOrSlot:u,hasHintLabelOrSlot:c}),render(){if(this.isVisible){let t;return this.hasInvalidLabelOrSlot&&(t="alert"),this.hasValidLabelOrSlot&&(t="status"),this.hasLoadingLabelOrSlot?e.h(this.tag,{role:t},this.$slots.loading?.()??this.loadingLabel):this.hasInvalidLabelOrSlot?e.h(this.tag,{role:t},this.$slots.invalid?.()??this.$slots.invalid??this.invalidLabel):this.hasValidLabelOrSlot?e.h(this.tag,{role:t},this.$slots.valid?.()??this.validLabel):e.h(this.tag,{role:t},this.$slots.hint?.()??this.$slots.hint??this.hintLabel)}return null}});return{hasInvalidLabelOrSlot:s,hasHintLabelOrSlot:c,hasValidLabelOrSlot:d,hasLoadingLabelOrSlot:u,hintSlotScope:v,HintSlot:p}}(s,i),ge=K("vv-textarea",L,e.computed(()=>({valid:x.value,invalid:w.value,loading:k.value,disabled:l.disabled,readonly:l.readonly,required:l.required,"icon-before":void 0!==_.value,"icon-after":void 0!==z.value,floating:l.floating&&!H(l.label),dirty:J.value,focus:F.value,resizable:l.resizable}))),he=e.computed(()=>({name:l.name,placeholder:C.value,tabindex:M.value,disabled:l.disabled,readonly:l.readonly,required:l.required,autocomplete:l.autocomplete,minlength:l.minlength,maxlength:l.maxlength,cols:l.cols,rows:l.rows,wrap:l.wrap,spellcheck:l.spellcheck,"aria-invalid":G.value,"aria-describedby":ve.value?P.value:void 0,"aria-errormessage":pe.value?P.value:void 0})),be=e.computed(()=>({valid:l.valid,invalid:l.invalid,modelValue:l.modelValue,hintLabel:l.hintLabel,maxlength:l.maxlength,minlength:l.minlength,clear:ye}));function ye(){N.value=void 0}return(t,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(ge))},[e.unref(b)?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(O),class:"vv-textarea__label"},e.toDisplayString(e.unref(b)),9,te)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",{ref_key:"wrapperEl",ref:c,class:"vv-textarea__wrapper"},[t.$slots.before?(e.openBlock(),e.createElementBlock("div",oe,[e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(be))))])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",ae,[e.unref(_)?(e.openBlock(),e.createBlock(Z,e.mergeProps({key:0},e.unref(_),{class:"vv-textarea__icon"}),null,16)):e.createCommentVNode("v-if",!0),e.withDirectives(e.createElementVNode("textarea",e.mergeProps({id:e.unref(O),ref_key:"textareaEl",ref:d,"onUpdate:modelValue":o[0]||(o[0]=t=>e.isRef(N)?N.value=t:null)},e.unref(he),{onKeyup:o[1]||(o[1]=e=>n("keyup",e))}),null,16,le),[[e.vModelText,e.unref(N)]]),e.unref(z)?(e.openBlock(),e.createBlock(Z,e.mergeProps({key:1},e.unref(z),{class:"vv-textarea__icon vv-textarea__icon-after"}),null,16)):e.createCommentVNode("v-if",!0)]),t.$slots.after?(e.openBlock(),e.createElementBlock("div",ne,[e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(be))))])):e.createCommentVNode("v-if",!0),e.unref(S)?(e.openBlock(),e.createElementBlock("span",re,[e.renderSlot(t.$slots,"count",e.normalizeProps(e.guardReactiveProps(e.unref(be))),()=>[e.createTextVNode(e.toDisplayString(e.unref(D)),1)])])):e.createCommentVNode("v-if",!0)],512),e.createVNode(e.unref(fe),{id:e.unref(P),class:"vv-textarea__hint"},e.createSlots({_:2},[t.$slots.hint?{name:"hint",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps(e.unref(me))))]),key:"0"}:void 0,t.$slots.loading?{name:"loading",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"loading",e.normalizeProps(e.guardReactiveProps(e.unref(me))))]),key:"1"}:void 0,t.$slots.valid?{name:"valid",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"valid",e.normalizeProps(e.guardReactiveProps(e.unref(me))))]),key:"2"}:void 0,t.$slots.invalid?{name:"invalid",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"invalid",e.normalizeProps(e.guardReactiveProps(e.unref(me))))]),key:"3"}:void 0]),1032,["id"]),e.unref(ce)?(e.openBlock(),e.createBlock(U,{key:1,ref_key:"suggestionsDropdownEl",ref:f,reference:e.unref(c),"autofocus-first":!1,"trigger-width":!0},{items:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(de),o=>(e.openBlock(),e.createBlock(X,{key:o,onClick:e.withModifiers(e=>{return t=o,N.value=t,f.value?.hide(),void n("suggestion:selected",t);var t},["stop"])},{default:e.withCtx(()=>[e.createElementVNode("div",ie,[e.renderSlot(t.$slots,"suggestion",e.mergeProps({ref_for:!0},{value:o}),()=>[e.createTextVNode(e.toDisplayString(o),1)])]),e.unref(se)&&e.unref(R)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",tabindex:"-1",class:"cursor-pointer",title:e.unref(h),onClick:e.withModifiers(e=>{return t=o,se.value?.delete(t),void n("suggestion:removed",t);var t},["stop"])},[e.createVNode(Z,e.mergeProps({ref_for:!0},e.unref(R)),null,16)],8,ue)):e.createCommentVNode("v-if",!0)]),_:2},1032,["onClick"]))),128))]),_:3},8,["reference"])):e.createCommentVNode("v-if",!0)],2))}})});
|
|
@@ -284,6 +284,7 @@ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<globalThis
|
|
|
284
284
|
disabled: boolean;
|
|
285
285
|
modifiers: string | string[];
|
|
286
286
|
storageType: "local" | "session";
|
|
287
|
+
placeholder: string;
|
|
287
288
|
icon: string | import("../VvIcon").VvIconProps;
|
|
288
289
|
iconPosition: "before" | "after";
|
|
289
290
|
required: boolean;
|
|
@@ -296,7 +297,6 @@ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<globalThis
|
|
|
296
297
|
valid: boolean;
|
|
297
298
|
validLabel: string | unknown[];
|
|
298
299
|
tabindex: string | number;
|
|
299
|
-
placeholder: string;
|
|
300
300
|
autocomplete: string;
|
|
301
301
|
autofocus: boolean;
|
|
302
302
|
spellcheck: string | boolean;
|
|
@@ -92,7 +92,7 @@ function useModifiers(prefix, modifiers, others) {
|
|
|
92
92
|
const toReturn = {
|
|
93
93
|
[prefix]: true
|
|
94
94
|
};
|
|
95
|
-
const modifiersArray = typeof
|
|
95
|
+
const modifiersArray = typeof modifiers?.value === "string" ? modifiers.value.split(" ") : modifiers?.value;
|
|
96
96
|
if (modifiersArray) {
|
|
97
97
|
if (Array.isArray(modifiersArray)) {
|
|
98
98
|
modifiersArray.forEach((modifier) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("vue")):"function"==typeof define&&define.amd?define(["vue"],e):(t="undefined"!=typeof globalThis?globalThis:t||self).VvTooltip=e(t.vue)}(this,
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("vue")):"function"==typeof define&&define.amd?define(["vue"],e):(t="undefined"!=typeof globalThis?globalThis:t||self).VvTooltip=e(t.vue)}(this,function(t){"use strict";var e=(t=>(t.local="local",t.session="session",t))(e||{}),o=(t=>(t.left="left",t.right="right",t.top="top",t.bottom="bottom",t))(o||{}),n=(t=>(t.before="before",t.after="after",t))(n||{}),r=(t=>(t.button="button",t.submit="submit",t.reset="reset",t))(r||{}),i=(t=>(t.nuxtLink="nuxt-link",t.routerLink="router-link",t.a="a",t.button="button",t))(i||{});const u={modifiers:{type:[String,Array],default:void 0}};n.before,o.bottom,r.button,i.button,e.local;const l={...u,position:{type:String,default:o.bottom},value:{type:String}};return t.defineComponent({name:"VvTooltip",props:l,setup(e){const o=e,{modifiers:n}=t.toRefs(o),r=function(e,o,n){return t.computed(()=>{const r={[e]:!0},i="string"==typeof o?.value?o.value.split(" "):o?.value;return i&&Array.isArray(i)&&i.forEach(t=>{t&&(r[`${e}--${t}`]=!0)}),n&&Object.keys(n.value).forEach(o=>{r[`${e}--${o}`]=t.unref(n.value[o])}),r})}("vv-tooltip",n,t.computed(()=>({[o.position]:!0})));return(e,o)=>(t.openBlock(),t.createElementBlock("span",{class:t.normalizeClass(t.unref(r)),role:"tooltip",inert:""},[t.renderSlot(e.$slots,"default",{},()=>[t.createTextVNode(t.toDisplayString(e.value),1)])],2))}})});
|