@volverjs/ui-vue 0.0.10-beta.43 → 0.0.10-beta.45

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.
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("vue-imask"),require("@iconify/vue"),require("@floating-ui/vue"),require("uid"),require("@vueuse/core"),require("mitt")):"function"==typeof define&&define.amd?define(["vue","vue-imask","@iconify/vue","@floating-ui/vue","uid","@vueuse/core","mitt"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvInputText=t(e.vue,e.vueImask,e.vue$1,e.vue$2,e.uid,e.core,e.mitt)}(this,(function(e,t,o,l,a,n,i){"use strict";function r(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 u(e){return Array.isArray(e)?e.filter((e=>{return"string"==typeof(t=e)||t instanceof String;var t})).join(" "):e}const s="eye-on",d="eye-off",c="calendar",v="time",p="color",f="close",m="trash",b={prefix:"normal"};var h=(e=>(e.local="local",e.session="session",e))(h||{}),g=(e=>(e.absolute="absolute",e.fixed="fixed",e))(g||{}),y=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(y||{}),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||{}),w=(e=>(e.before="before",e.after="after",e))(w||{}),k=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(k||{}),x=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(x||{}),E=(e=>(e.button="button",e.link="link",e.menuitem="menuitem",e))(E||{}),L=(e=>(e.listbox="listbox",e.menu="menu",e))(L||{}),B=(e=>(e.option="option",e.presentation="presentation",e))(B||{});const $=Symbol.for("volver"),C=Symbol.for("dropdownTrigger"),P=Symbol.for("dropdownItem"),O=Symbol.for("dropdownAction");function T(){return e.inject($)}function V(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 A=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:{}},b),setup(t){const l=t,a=e.computed((()=>"string"==typeof l.rotate?Number.parseFloat(l.rotate):l.rotate)),n=e.ref(!0),i=T(),{modifiers:r}=e.toRefs(l),u=V("vv-icon",r),s=e.computed((()=>l.provider||(null==i?void 0:i.iconsProvider))),d=e.computed((()=>{const e=l.name??"",t=`@${s.value}:${l.prefix}:${e}`;if(o.iconExists(t))return t;const a=null==i?void 0:i.iconsCollections.find((t=>{const l=`@${s.value}:${t.prefix}:${e}`;return o.iconExists(l)}));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=(null==t?void 0:t.innerHTML.trim())||"";t&&a&&o.addIcon(`@${s.value}:${l.prefix}:${l.name}`,{body:a,height:t.viewBox.baseVal.height,width:t.viewBox.baseVal.width})}return i&&l.src&&!o.iconExists(`@${s.value}:${l.prefix}:${l.name}`)&&(n.value=!1,i.fetchIcon(l.src).then((e=>{e&&(c(e),n.value=!0)})).catch((e=>{throw new Error(`Error during fetch icon: ${null==e?void 0:e.message}`)}))),l.svg&&c(l.svg),(t,l)=>e.unref(n)?(e.openBlock(),e.createBlock(e.unref(o.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,onLoad:t.onLoad,icon:e.unref(d)}),null,16,["class"])):e.createCommentVNode("v-if",!0)}});function _(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)===w.before?l.value:void 0)),n=e.computed((()=>(null==o?void 0:o.value)===w.after?l.value:void 0)),i=e.computed((()=>(null==o?void 0:o.value)===y.left?l.value:void 0)),r=e.computed((()=>(null==o?void 0:o.value)===y.right?l.value:void 0)),u=e.computed((()=>(null==o?void 0:o.value)===y.top?l.value:void 0)),s=e.computed((()=>(null==o?void 0:o.value)===y.bottom?l.value:void 0));return{hasIcon:l,hasIconLeft:i,hasIconRight:r,hasIconTop:u,hasIconBottom:s,hasIconBefore:a,hasIconAfter:n}}const D=e.defineComponent({components:{VvIcon:A},props:{disabled:{type:Boolean,default:!1},labelShow:{type:String,default:"Show password"},labelHide:{type:String,default:"Hide password"},iconShow:{type:[String,Object],default:s},iconHide:{type:[String,Object],default:d}},emits:["toggle-password"],setup(t,{emit:o}){const l=e.ref(!1),a=e.computed((()=>l.value?t.iconHide:t.iconShow)),{hasIcon:n}=_(a);return{active:l,activeIcon:a,hasIcon:n,onClick:function(e){null==e||e.stopPropagation(),t.disabled||(l.value=!l.value,o("toggle-password",l.value))}}},render(){const t=this.hasIcon?e.h(A,{...this.hasIcon,class:"vv-input-text__icon"}):void 0;return e.h("button",{disabled:this.disabled,class:"vv-input-text__action",ariaLabel:this.active?this.labelHide:this.labelShow,type:"button",onClick:this.onClick},t)}}),N=e.defineComponent({components:{VvIcon:A},props:{disabled:{type:Boolean,default:!1},label:{type:String},mode:{type:String,validator:e=>["up","down"].includes(e),default:"up"}},emits:["step-up","step-down"],setup(t,{emit:o}){const l=e.computed((()=>"up"===t.mode));return{isUp:l,onClick:e=>{null==e||e.stopPropagation(),t.disabled||o(l.value?"step-up":"step-down")}}},render(){return e.h("button",{class:["vv-input-text__action vv-input-text__action-chevron",this.isUp&&"vv-input-text__action-chevron-up"],disabled:this.disabled,ariaLabel:this.label,type:"button",onClick:this.onClick})}}),I=e.defineComponent({components:{VvIcon:A},props:{disabled:{type:Boolean,default:!1},label:{type:String,default:"Clear"},icon:{type:[String,Object],default:"close"}},emits:["clear"],setup(t,{emit:o}){const{hasIcon:l}=_(e.computed((()=>t.icon)));return{hasIcon:l,onClick:function(e){null==e||e.stopPropagation(),t.disabled||o("clear")}}},render(){const t=this.hasIcon?e.h(A,{...this.hasIcon,class:"vv-input-text__icon"}):void 0;return e.h("button",{disabled:this.disabled,class:"vv-input-text__action",ariaLabel:this.label,type:"button",onClick:this.onClick},t)}}),R={valid:{type:Boolean,default:!1},validLabel:{type:[String,Array],default:void 0}},H={invalid:{type:Boolean,default:!1},invalidLabel:{type:[String,Array],default:void 0}},M={loading:{type:Boolean,default:!1},loadingLabel:{type:String,default:"Loading..."}},j={disabled:{type:Boolean,default:!1}},z={selected:{type:Boolean,default:!1}},U=(Boolean,Boolean,Boolean,{label:{type:[String,Number],default:void 0}}),F={readonly:{type:Boolean,default:!1}},W={modifiers:{type:[String,Array],default:void 0}},q={hintLabel:{type:String,default:""}},K={count:{type:[Boolean,String],default:!1,validator:e=>[!0,!1,"limit","countdown"].includes(e)}},X={debounce:{type:[Number,String],default:void 0}},J={icon:{type:[String,Object],default:void 0},iconPosition:{type:String,default:w.before,validation:e=>Object.values(w).includes(e)}},Y={tabindex:{type:[String,Number],default:0}},G={floating:{type:Boolean,default:!1}},Q={unselectable:{type:Boolean,default:!0}},Z={id:[String,Number]},ee={placement:{type:String,default:y.bottom,validator:e=>Object.values(y).includes(e)||Object.values(S).includes(e)},strategy:{type:String,default:void 0,validator:e=>Object.values(g).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}},te={...{...Z,name:{type:String,required:!0}},...{autofocus:{type:Boolean,default:!1}},...{autocomplete:{type:String,default:"off"}},...Y,...j,...F,...R,...H,...q,...M,...W,...K,...X,...J,...G,...U,minlength:{type:[String,Number],default:void 0},maxlength:{type:[String,Number],default:void 0},placeholder:{type:String,default:void 0},required:{type:Boolean,default:!1}};k.button,x.button;const oe={storageType:{type:String,default:h.local,validator:e=>Object.values(h).includes(e)},storageKey:String},le={TEXT:"text",PASSWORD:"password",NUMBER:"number",EMAIL:"email",TEL:"tel",URL:"url",COLOR:"color",SEARCH:"search",DATE:"date",TIME:"time",DATETIME_LOCAL:"datetime-local",MONTH:"month",WEEK:"week"},ae={...te,...oe,modelValue:[String,Number],type:{type:String,default:le.TEXT,validator:e=>Object.values(le).includes(e)},min:[Number,Date,String],max:[Number,Date,String],step:{type:[String,Number],default:1},pattern:String,multiple:Boolean,iconShowPassword:{type:[String,Object],default:s},iconHidePassword:{type:[String,Object],default:d},iconClear:{type:[String,Object],default:f},iconRemoveSuggestion:{type:[String,Object],default:m},labelStepUp:{type:String,default:"Increase value"},labelStepDown:{type:String,default:"Decrease value"},labelShowPassword:{type:String,default:"Show password"},labelHidePassword:{type:String,default:"Hide password"},labelClear:{type:String,default:"Clear"},labelRemoveSuggestion:{type:String,default:"Remove suggestion"},iMask:{type:Object,default:void 0},masked:{type:String,default:void 0},autoWidth:{type:Boolean,default:!1},hideActions:{type:Boolean,default:!1},unit:{type:String},selectOnFocus:{type:Boolean,default:!1},maxSuggestions:{type:Number,default:5}};function ne(t,o){return{name:"VvInputTextActions",components:{VvIcon:A,VvInputPasswordAction:D,VvInputStepAction:N,VvInputClearAction:I},setup:()=>({isDisabled:e.computed((()=>o.disabled||o.readonly)),labelStepUp:o.labelStepUp,labelStepDown:o.labelStepDown,labelShowPassword:o.labelShowPassword,labelHidePassword:o.labelHidePassword,labelClear:o.labelClear,iconShowPassword:o.iconShowPassword,iconHidePassword:o.iconHidePassword}),render(){let l=null;switch(t){case le.SEARCH:{const{onClear:t}=this.$attrs;l=[e.h(I,{disabled:this.isDisabled,label:this.labelShowPassword,onClear:t})];break}case le.PASSWORD:{const{onTogglePassword:t}=this.$attrs;l=[e.h(D,{disabled:this.isDisabled,onTogglePassword:t,labelShow:this.labelShowPassword,labelHide:this.labelHidePassword,iconShow:this.iconShowPassword,iconHide:this.iconHidePassword})];break}case le.NUMBER:{const{onStepUp:t,onStepDown:a}=this.$attrs;l=[e.h(N,{mode:"up",disabled:this.isDisabled||void 0!==o.max&&o.modelValue===o.max,label:this.labelStepUp,onStepUp:t,onStepDown:a}),e.h(N,{mode:"down",disabled:this.isDisabled||void 0!==o.min&&o.modelValue===o.min,label:this.labelStepDown,onStepUp:t,onStepDown:a})];break}}return Array.isArray(l)?e.h("div",{class:"vv-input-text__actions-group"},l):l}}}const ie={...Z,...ee,...W,modelValue:{type:Boolean,default:void 0},reference:{type:Object,default:null},role:{type:String,default:L.menu,validator:e=>Object.values(L).includes(e)}},re={focusOnHover:{type:Boolean,default:!1}},ue={...j,...z,...Q,...W,deselectHintLabel:{type:String},selectHintLabel:{type:String},selectedHintLabel:{type:String},focusOnHover:{type:Boolean,default:!1}};function se(t){return e.computed((()=>String((null==t?void 0:t.value)||a.uid())))}const de=["id","tabindex","role","aria-labelledby"],ce=e.defineComponent({name:"VvDropdown",inheritAttrs:!1,props:ie,emits:["update:modelValue","beforeEnter","afterLeave","beforeExpand","beforeCollapse","afterExpand","afterCollapse","before-enter","after-leave","enter","afterEnter","enterCancelled","beforeLeave","leave","leaveCancelled"],setup(t,{expose:o,emit:a}){const r=t,u=a,{id:s}=e.toRefs(r),d=se(s),c=e.useAttrs(),v=e.ref("auto"),p=e.ref("auto"),f=e.ref(null),m=e.ref(),b=e.ref(null),h=e.ref(null),S=e.computed({get:()=>r.reference??f.value,set:e=>{f.value=e}}),w=e.ref(!1);e.onMounted((()=>{n.useMutationObserver(m.value,(()=>{var e;w.value="true"===(null==(e=window.getComputedStyle(m.value).getPropertyValue("--dropdown-custom-position"))?void 0:e.trim())}),{attributeFilter:["style"],window:window})}));const k=e.computed((()=>{const e=[];if(r.autoPlacement?"boolean"==typeof r.autoPlacement?e.push(l.autoPlacement()):e.push(l.autoPlacement(r.autoPlacement)):r.flip&&("boolean"==typeof r.flip?e.push(l.flip({fallbackStrategy:"initialPlacement"})):e.push(l.flip(r.flip))),r.shift&&("boolean"==typeof r.shift?e.push(l.shift()):e.push(l.shift(r.shift))),r.size){const t=({availableWidth:e,availableHeight:t})=>{v.value=`${e}px`,p.value=`${t}px`};"boolean"==typeof r.size?e.push(l.size({apply:t})):e.push(l.size({...r.size,apply:t}))}return r.offset&&(e.push(l.offset(Number(r.offset))),["string","number"].includes(typeof r.offset)?e.push(l.offset(Number(r.offset))):e.push(l.offset(r.offset))),r.arrow&&e.push(l.arrow({element:b})),e})),{x:x,y:E,middlewareData:$,placement:O,strategy:T}=l.useFloating(S,m,{whileElementsMounted:(...e)=>l.autoUpdate(...e,{animationFrame:r.strategy===g.fixed}),placement:e.computed((()=>r.placement)),strategy:e.computed((()=>r.strategy)),middleware:k}),A=e.computed((()=>{var e;if(w.value)return;const t=r.triggerWidth&&S.value?`${null==(e=S.value)?void 0:e.offsetWidth}px`:void 0;return{position:T.value,top:`${E.value??0}px`,left:`${x.value??0}px`,maxWidth:t?void 0:v.value,maxHeight:p.value,width:t}})),_=e.computed((()=>O.value.split("-")[0])),D=e.computed((()=>{var e,t,o,l,a;if(w.value)return;const n={[y.top]:y.bottom,[y.right]:y.left,[y.bottom]:y.top,[y.left]:y.right}[_.value];return{left:void 0!==(null==(e=$.value.arrow)?void 0:e.x)?`${null==(t=$.value.arrow)?void 0:t.x}px`:void 0,top:void 0!==(null==(o=$.value.arrow)?void 0:o.y)?`${null==(l=$.value.arrow)?void 0:l.y}px`:void 0,[n]:-((null==(a=b.value)?void 0:a.offsetWidth)??0)/2+"px"}})),N=n.useVModel(r,"modelValue",u),I=e.ref(!1),R=e.computed({get:()=>N.value??I.value,set:e=>{void 0!==N.value?N.value=e:I.value=e}});function H(){R.value=!0}function M(){R.value=!1}function j(){R.value=!R.value}function z(e){S.value=e}o({toggle:j,show:H,hide:M,init:z,customPosition:w}),e.watch(R,(t=>{t&&r.autofocusFirst&&e.nextTick((()=>{const e=G(m.value);e.length>0&&e[0].focus({preventScroll:!0})}))})),n.onClickOutside(m,(()=>{!r.keepOpen&&R.value&&(R.value=!1)}),{ignore:[S]});const U=e.computed((()=>{var e,t;return(null==(t=null==(e=S.value)?void 0:e.getAttribute)?void 0:t.call(e,"id"))??void 0})),F=e.computed((()=>({"aria-controls":d.value,"aria-haspopup":!0,"aria-expanded":R.value}))),{component:W,bus:q}=function({reference:t,id:o,expanded:l,aria:a}){const n=i(),r=e.defineComponent({name:"VvDropdownTriggerProvider",setup(){e.provide(C,{reference:t,id:o,expanded:l,aria:a,bus:n})},render(){var t,o;return e.h(e.Fragment,{},null==(o=(t=this.$slots).default)?void 0:o.call(t))}});return{bus:n,component:r}}({reference:S,id:d,expanded:R,aria:F});q.on("click",j);const{role:K,modifiers:X}=e.toRefs(r),J=V("vv-dropdown",X,e.computed((()=>({arrow:r.arrow})))),{focused:Y}=n.useFocusWithin(m);function G(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"))):[]}const Q=n.useElementHover(m),{itemRole:Z}=function({role:t,...o}){const l=e.computed((()=>t.value===L.listbox?B.option:B.presentation));return e.provide(P,{role:l,...o}),{itemRole:l}}({role:K,expanded:R,focused:Y,hovered:Q});n.onKeyStroke("Escape",(e=>{R.value&&(e.preventDefault(),M())})),n.onKeyStroke("ArrowDown",(t=>{R.value&&Y.value&&(t.preventDefault(),e.nextTick((()=>{if(Y.value){const e=G(m.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})}})))})),n.onKeyStroke("ArrowUp",(t=>{R.value&&Y.value&&(t.preventDefault(),e.nextTick((()=>{if(Y.value){const e=G(m.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})}})))})),n.onKeyStroke([" ","Enter"],(e=>{const t=e.target;R.value&&Y.value&&t&&(null==t||t.click())}));const ee={"before-enter":()=>{u(R.value?"beforeExpand":"beforeCollapse"),u("beforeEnter")},"after-leave":()=>{u(R.value?"afterExpand":"afterCollapse"),u("afterLeave")},enter:()=>{u("enter")},"after-enter":()=>{u("afterEnter")},"enter-cancelled":()=>{u("enterCancelled")},"before-leave":()=>{u("beforeLeave")},leave:()=>{u("leave")},"leave-cancelled":()=>{u("leaveCancelled")}};return(t,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(W),null,{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps({init:z,show:H,hide:M,toggle:j,expanded:e.unref(R),aria:e.unref(F)})))])),_:3}),e.createVNode(e.Transition,e.mergeProps({name:t.transitionName},e.toHandlers(ee),{persisted:""}),{default:e.withCtx((()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"floatingEl",ref:m,style:e.normalizeStyle(e.unref(A)),class:e.normalizeClass(e.unref(J))},[r.arrow?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"arrowEl",ref:b,style:e.normalizeStyle(e.unref(D)),class:"vv-dropdown__arrow"},null,4)):e.createCommentVNode("v-if",!0),e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(R)}))),e.createElementVNode("div",e.mergeProps(e.unref(c),{id:e.unref(d),ref_key:"listEl",ref:h,tabindex:e.unref(R)?void 0:-1,role:e.unref(K),"aria-labelledby":e.unref(U),class:"vv-dropdown__list"}),[e.renderSlot(t.$slots,"items",e.normalizeProps(e.guardReactiveProps({role:e.unref(Z)})))],16,de),e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(R)})))],6),[[e.vShow,e.unref(R)]])])),_:3},16,["name"])],64))}});const ve=e.defineComponent({name:"VvDropdownItem",props:re,setup(t){const o=t,{role:l,expanded:a}=e.inject(P,{}),i=e.ref(null);!function({expanded:t}){e.provide(O,{role:e.ref(E.menuitem),expanded:t})}({expanded:a});const r=n.useElementHover(i),{focused:u}=n.useFocus(i),{focused:s}=n.useFocusWithin(i);return e.watch(r,(e=>{e&&o.focusOnHover&&(u.value=!0)})),(t,o)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({role:e.unref(l)},{ref_key:"element",ref:i,class:["vv-dropdown__item",{"focus-visible":e.unref(u)||e.unref(s)}]}),[e.renderSlot(t.$slots,"default")],16))}}),pe=["title"],fe=e.defineComponent({name:"VvDropdownOption",props:ue,setup(t){const o=t,{modifiers:l}=e.toRefs(o),a=V("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(ve,{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,pe)])),_:3},8,["class","tabindex","aria-selected","aria-disabled","focus-on-hover"]))}});const me=["for"],be={key:0,class:"vv-input-text__input-before"},he=["id"],ge={key:1,class:"vv-input-text__unit"},ye={key:5,class:"vv-input-text__input-after"},Se={key:6,class:"vv-input-text__limit"},we={class:"flex-1"},ke=["title","onClick"];return e.defineComponent({name:"VvInputText",props:ae,emits:["update:modelValue","update:masked","accept","accept:typed","accept:masked","accept:unmasked","complete","complete:typed","complete:masked","complete:unmasked","focus","blur","keyup","keydown","keypress"],setup(o,{expose:l,emit:a}){const i=o,s=a,d=e.useSlots(),f=function(t,o,l){const a=T(),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}),{})}))}("VvInputText",ae,i),{count:m,debounce:b,icon:g,iconPosition:y,iconRemoveSuggestion:S,id:w,invalid:k,label:x,loading:E,maxlength:L,minlength:B,modelValue:$,step:C,storageKey:P,storageType:O,type:D,valid:N}=e.toRefs(i),I=se(w),R=e.computed((()=>`${I.value}-hint`)),H=e.computed((()=>i.floating&&r(i.placeholder)?" ":i.placeholder)),M=function(t,o,l=0,{getter:a=(e=>e),setter:n=(e=>e)}={}){let i;return"string"==typeof l&&(l=Number.parseInt(l)),e.computed({get:()=>a(null==t?void 0:t.value),set:e=>{i&&clearTimeout(i),i=setTimeout((()=>{o("update:modelValue",n(e))}),l)}})}($,s,(null==b?void 0:b.value)??0),j=/^-0?[.,]?[0*]?$/,z=e.ref(!1),{el:U,mask:F,typed:W,masked:q,unmasked:K}=t.useIMask(e.computed((()=>i.iMask??{mask:/./})),{emit:s,onAccept:()=>{if(z.value){if(s("update:masked",q.value),D.value===le.NUMBER){if(/^-$|^$/.test(K.value)){if(null===M.value||void 0===M.value)return;return void(M.value=void 0)}return j.test(K.value)?void(M.value=0):"number"!=typeof W.value?void(M.value=Number(W.value)):void(M.value=W.value)}if(D.value===le.DATE){if(U.value instanceof HTMLInputElement&&"date"===U.value.type)return void(M.value=U.value.value);let e=W.value;if(null===e||""===e){if(!M.value)return;return void(M.value="")}return e instanceof Date||(e=new Date(e)),void(M.value=`${e.getFullYear()}-${`0${e.getMonth()+1}`.slice(-2)}-${`0${e.getDate()}`.slice(-2)}`)}if(D.value===le.DATETIME_LOCAL){if(U.value instanceof HTMLInputElement&&"datetime-local"===U.value.type)return void(M.value=U.value.value);let e=W.value;if(null===e||""===e){if(!M.value)return;return void(M.value="")}return W.value instanceof Date||(e=new Date(e)),void(M.value=`${e.getFullYear()}-${`0${e.getMonth()+1}`.slice(-2)}-${`0${e.getDate()}`.slice(-2)}T${`0${e.getHours()}`.slice(-2)}:${`0${e.getMinutes()}`.slice(-2)}`)}(M.value||K.value)&&(M.value=K.value)}}});function X(e){var t;if(void 0===e)return W.value="",void(K.value="");(null==(t=i.iMask)?void 0:t.mask)!==Date?D.value===le.NUMBER&&j.test(K.value)&&0===e||(W.value=e,K.value=`${W.value}`):W.value=new Date(e)}e.onMounted((()=>{F.value&&(z.value=!0,X(i.modelValue))})),e.watch((()=>i.modelValue),(e=>{F.value&&X(e)})),e.watch((()=>i.masked),(e=>{q.value=e??""}));const J=U,Y=e.ref(),G=e.ref(),Q=e.ref();l({$inner:Y});const{focused:Z}=function(t,o){const{focused:l}=n.useFocus(t);return e.watch(l,(l=>{o(l?"focus":"blur",e.unref(t))})),{focused:l}}(J,s),ee=e.computed((()=>Z.value&&!i.disabled&&!i.readonly));e.watch(ee,(e=>{var t;e&&f.value.selectOnFocus&&J.value&&J.value.select(),e?null==(t=Q.value)||t.show():setTimeout((()=>{if(Ve.value&&_e.value){const e=i.maxSuggestions-1;_e.value.size>e&&!_e.value.has(M.value)&&(_e.value=new Set([..._e.value].slice(_e.value.size-e))),_e.value.add(M.value)}}),300)}));const te=n.useElementVisibility(J);e.watch(te,(e=>{e&&i.autofocus&&!i.disabled&&!i.readonly&&(Z.value=!0)}));const oe=e.ref(!1),ie=e.computed((()=>i.type===le.PASSWORD));function re(){oe.value=!oe.value}const ue=e.computed((()=>i.type===le.TIME||i.type===le.DATETIME_LOCAL||i.type===le.DATE||i.type===le.WEEK||i.type===le.MONTH)),de=e.computed((()=>i.type===le.NUMBER));function ve(){if(Oe.value){if(i.iMask)return void(W.value=W.value+Number((null==C?void 0:C.value)??1));J.value.stepUp(),M.value=Number(e.unref(J).value)}}function pe(){if(Oe.value){if(i.iMask)return void(W.value=W.value-Number((null==C?void 0:C.value)??1));J.value.stepDown(),M.value=Number(e.unref(J).value)}}const xe=e.computed((()=>i.type===le.SEARCH));function Ee(){M.value=""}const{hasIconBefore:Le,hasIconAfter:Be}=_(g,y),$e=e.computed((()=>{if(void 0!==Be.value)return Be.value;switch(i.type){case le.COLOR:return{name:p};case le.DATE:case le.DATETIME_LOCAL:case le.WEEK:case le.MONTH:return{name:c};case le.TIME:return{name:v}}})),{hasIcon:Ce}=_(S),{formatted:Pe}=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}}(M,{mode:m.value,upperLimit:Number(null==L?void 0:L.value),lowerLimit:Number(null==B?void 0:B.value)}),Oe=e.computed((()=>!i.disabled&&!i.readonly)),Te=e.computed((()=>Oe.value?i.tabindex:-1)),Ve=e.computed((()=>!r($))),Ae=e.computed((()=>!0===k.value||!0!==N.value&&void 0)),_e=function(t,o=h.local,l){const a=e.ref();let i;return l&&(a.value=l),t&&e.watch(t,((t,l)=>{const r=e.unref(o)===h.session?sessionStorage:localStorage;l&&l!==t&&r.removeItem(l),i=t?n.useStorage(t,(null==i?void 0:i.value)??a.value,r):void 0}),{immediate:!0}),e.isRef(o)&&e.watch(o,((e,o)=>{if(null==t?void 0:t.value){if(e){const o=e===h.session?sessionStorage:localStorage;i=n.useStorage(t.value,(null==i?void 0:i.value)??a.value,o)}o&&o!==e&&(o===h.session?sessionStorage:localStorage).removeItem(t.value)}})),e.computed({get:()=>(null==i?void 0:i.value)??a.value,set:e=>{i?i.value=e:a.value=e}})}(P,O,new Set),De=e.computed((()=>_e.value?[..._e.value].filter((e=>r(M.value)||`${e}`.toLowerCase().includes(`${M.value}`.toLowerCase())&&e!==M.value)).reverse():[])),Ne=e.computed((()=>(null==P?void 0:P.value)&&_e.value&&_e.value.size>0));const{modifiers:Ie}=e.toRefs(i),Re=V("vv-input-text",Ie,e.computed((()=>({valid:N.value,invalid:k.value,loading:E.value,disabled:i.disabled,readonly:i.readonly,"icon-before":!!Le.value,"icon-after":!!$e.value,floating:i.floating&&!r(i.label),dirty:Ve.value,focus:ee.value,"auto-width":i.autoWidth})))),He=e.computed((()=>{const e=ie.value&&oe.value?le.TEXT:!ue.value||Ve.value||Z.value?i.iMask?le.TEXT:i.type:le.TEXT,t={type:e,name:i.name,tabindex:Te.value,disabled:i.disabled,readonly:i.readonly,required:i.required,autocomplete:i.autocomplete,"aria-invalid":Ae.value,"aria-describedby":ze.value?R.value:void 0,"aria-errormessage":Ue.value?R.value:void 0};if(e===le.DATE||e===le.MONTH||e===le.WEEK||e===le.TIME||e===le.DATETIME_LOCAL||e===le.NUMBER){let o=i.max;e!==le.DATE||o||(o="9999-12-31"),t.step=i.step,t.max=void 0!==o?String(o):void 0,t.min=void 0!==i.min?String(i.min):void 0}return e!==le.TEXT&&e!==le.SEARCH&&e!==le.URL&&e!==le.TEL&&e!==le.EMAIL&&e!==le.PASSWORD&&e!==le.NUMBER||(t.placeholder=H.value),e!==le.TEXT&&e!==le.SEARCH&&e!==le.URL&&e!==le.TEL&&e!==le.EMAIL&&e!==le.PASSWORD||(t.minlength=i.minlength,t.maxlength=i.maxlength,t.pattern=i.pattern),e===le.EMAIL&&(t.multiple=i.multiple),t})),Me=e.computed((()=>({valid:i.valid,invalid:i.invalid,modelValue:i.modelValue,togglePassword:re,stepUp:ve,stepDown:pe,clear:Ee}))),{HintSlot:je,hasHintLabelOrSlot:ze,hasInvalidLabelOrSlot:Ue,hintSlotScope:Fe}=function(t,o){const l=e.computed((()=>e.isRef(t)?t.value:t)),a=e.computed((()=>u(l.value.invalidLabel))),n=e.computed((()=>u(l.value.validLabel))),i=e.computed((()=>l.value.loadingLabel)),r=e.computed((()=>l.value.hintLabel)),s=e.computed((()=>Boolean(l.value.loading&&(o.loading||i.value)))),d=e.computed((()=>!s.value&&Boolean(l.value.invalid&&(o.invalid||a.value)))),c=e.computed((()=>!s.value&&!d.value&&Boolean(l.value.valid&&(o.valid||n.value)))),v=e.computed((()=>!s.value&&!d.value&&!c.value&&Boolean(o.hint||r.value))),p=e.computed((()=>d.value||c.value||s.value||v.value)),f=e.computed((()=>({modelValue:l.value.modelValue,valid:l.value.valid,invalid:l.value.invalid,loading:l.value.loading}))),m=e.defineComponent({name:"HintSlot",props:{tag:{type:String,default:"small"}},setup:()=>({isVisible:p,invalidLabel:a,validLabel:n,loadingLabel:i,hintLabel:r,hasInvalidLabelOrSlot:d,hasValidLabelOrSlot:c,hasLoadingLabelOrSlot:s,hasHintLabelOrSlot:v}),render(){var t,o,l,a,n,i,r,u;if(this.isVisible){let s;return this.hasInvalidLabelOrSlot&&(s="alert"),this.hasValidLabelOrSlot&&(s="status"),this.hasLoadingLabelOrSlot?e.h(this.tag,{role:s},(null==(o=(t=this.$slots).loading)?void 0:o.call(t))??this.loadingLabel):this.hasInvalidLabelOrSlot?e.h(this.tag,{role:s},(null==(a=(l=this.$slots).invalid)?void 0:a.call(l))??this.$slots.invalid??this.invalidLabel):this.hasValidLabelOrSlot?e.h(this.tag,{role:s},(null==(i=(n=this.$slots).valid)?void 0:i.call(n))??this.validLabel):e.h(this.tag,{role:s},(null==(u=(r=this.$slots).hint)?void 0:u.call(r))??this.$slots.hint??this.hintLabel)}return null}});return{hasInvalidLabelOrSlot:d,hasHintLabelOrSlot:v,hasValidLabelOrSlot:c,hasLoadingLabelOrSlot:s,hintSlotScope:f,HintSlot:m}}(f,d),We=ne(le.PASSWORD,i),qe=ne(le.NUMBER,i),Ke=ne(le.SEARCH,i);function Xe(){Oe.value&&(Z.value=!0)}const Je=e.computed((()=>{if(i.autoWidth)return{width:void 0!==M.value?`${String(M.value).length+1}ch`:void 0}}));function Ye(e){switch(e.code){case"ArrowUp":de.value&&(ve(),e.preventDefault());break;case"ArrowDown":de.value&&(pe(),e.preventDefault())}s("keydown",e)}return(t,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(Re))},[e.unref(x)?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(I),class:"vv-input-text__label"},e.toDisplayString(e.unref(x)),9,me)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",{ref_key:"wrapperEl",ref:G,class:"vv-input-text__wrapper"},[t.$slots.before?(e.openBlock(),e.createElementBlock("div",be,[e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(Me))))])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",{ref_key:"innerEl",ref:Y,class:"vv-input-text__inner",onClick:e.withModifiers(Xe,["stop"])},[e.unref(Le)?(e.openBlock(),e.createBlock(A,e.mergeProps({key:0},e.unref(Le),{class:"vv-input-text__icon"}),null,16)):e.createCommentVNode("v-if",!0),e.createElementVNode("input",e.mergeProps({id:e.unref(I),ref_key:"inputEl",ref:J},e.unref(He),{style:e.unref(Je),onKeyup:o[0]||(o[0]=e=>s("keyup",e)),onKeydown:Ye,onKeypress:o[1]||(o[1]=e=>s("keypress",e))}),null,16,he),(t.unit||t.$slots.unit)&&e.unref(Ve)?(e.openBlock(),e.createElementBlock("div",ge,[e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps(e.unref(Me))),(()=>[e.createTextVNode(e.toDisplayString(t.unit),1)]))])):e.createCommentVNode("v-if",!0)],512),e.unref($e)?(e.openBlock(),e.createBlock(A,e.mergeProps({key:1},e.unref($e),{class:"vv-input-text__icon vv-input-text__icon-after"}),null,16)):e.unref(ie)&&!t.hideActions&&e.unref(Oe)?(e.openBlock(),e.createBlock(e.unref(We),{key:2,onTogglePassword:re})):e.unref(de)&&!t.hideActions&&e.unref(Oe)?(e.openBlock(),e.createBlock(e.unref(qe),{key:3,onStepUp:ve,onStepDown:pe})):e.unref(xe)&&!t.hideActions&&e.unref(Oe)?(e.openBlock(),e.createBlock(e.unref(Ke),{key:4,onClear:Ee})):e.createCommentVNode("v-if",!0),t.$slots.after?(e.openBlock(),e.createElementBlock("div",ye,[e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(Me))))])):e.createCommentVNode("v-if",!0),e.unref(m)?(e.openBlock(),e.createElementBlock("span",Se,[e.renderSlot(t.$slots,"count",e.normalizeProps(e.guardReactiveProps(e.unref(Me))),(()=>[e.createTextVNode(e.toDisplayString(e.unref(Pe)),1)]))])):e.createCommentVNode("v-if",!0)],512),e.createVNode(e.unref(je),{id:e.unref(R),class:"vv-input-text__hint"},e.createSlots({_:2},[t.$slots.hint?{name:"hint",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps(e.unref(Fe))))])),key:"0"}:void 0,t.$slots.loading?{name:"loading",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"loading",e.normalizeProps(e.guardReactiveProps(e.unref(Fe))))])),key:"1"}:void 0,t.$slots.valid?{name:"valid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"valid",e.normalizeProps(e.guardReactiveProps(e.unref(Fe))))])),key:"2"}:void 0,t.$slots.invalid?{name:"invalid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"invalid",e.normalizeProps(e.guardReactiveProps(e.unref(Fe))))])),key:"3"}:void 0]),1032,["id"]),e.unref(Ne)?(e.openBlock(),e.createBlock(ce,{key:1,ref_key:"dropdownEl",ref:Q,reference:e.unref(G),"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(fe,{key:o,onClick:e.withModifiers((e=>{return t=o,M.value=t,void(null==(l=Q.value)||l.hide());var t,l}),["stop"])},{default:e.withCtx((()=>[e.createElementVNode("div",we,[e.renderSlot(t.$slots,"suggestion",e.mergeProps({ref_for:!0},{value:o}),(()=>[e.createTextVNode(e.toDisplayString(o),1)]))]),e.unref(_e)&&e.unref(Ce)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",tabindex:"-1",class:"cursor-pointer",title:t.labelRemoveSuggestion,onClick:e.withModifiers((e=>{return t=o,void(null==(l=_e.value)||l.delete(t));var t,l}),["stop"])},[e.createVNode(A,e.mergeProps({ref_for:!0},e.unref(Ce)),null,16)],8,ke)):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("vue-imask"),require("@iconify/vue"),require("@floating-ui/vue"),require("uid"),require("@vueuse/core"),require("mitt")):"function"==typeof define&&define.amd?define(["vue","vue-imask","@iconify/vue","@floating-ui/vue","uid","@vueuse/core","mitt"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvInputText=t(e.vue,e.vueImask,e.vue$1,e.vue$2,e.uid,e.core,e.mitt)}(this,(function(e,t,o,l,a,n,i){"use strict";function r(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 u(e){return Array.isArray(e)?e.filter((e=>{return"string"==typeof(t=e)||t instanceof String;var t})).join(" "):e}const s="eye-on",d="eye-off",c="calendar",v="time",p="color",f="close",m="trash",b={prefix:"normal"};var h=(e=>(e.local="local",e.session="session",e))(h||{}),g=(e=>(e.absolute="absolute",e.fixed="fixed",e))(g||{}),y=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(y||{}),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||{}),w=(e=>(e.before="before",e.after="after",e))(w||{}),k=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(k||{}),x=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(x||{}),E=(e=>(e.button="button",e.link="link",e.menuitem="menuitem",e))(E||{}),L=(e=>(e.listbox="listbox",e.menu="menu",e))(L||{}),B=(e=>(e.option="option",e.presentation="presentation",e))(B||{});const $=Symbol.for("volver"),C=Symbol.for("dropdownTrigger"),P=Symbol.for("dropdownItem"),O=Symbol.for("dropdownAction");function T(){return e.inject($)}function V(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 A=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:{}},b),setup(t){const l=t,a=e.computed((()=>"string"==typeof l.rotate?Number.parseFloat(l.rotate):l.rotate)),n=e.ref(!0),i=T(),{modifiers:r}=e.toRefs(l),u=V("vv-icon",r),s=e.computed((()=>l.provider||(null==i?void 0:i.iconsProvider))),d=e.computed((()=>{const e=l.name??"",t=`@${s.value}:${l.prefix}:${e}`;if(o.iconExists(t))return t;const a=null==i?void 0:i.iconsCollections.find((t=>{const l=`@${s.value}:${t.prefix}:${e}`;return o.iconExists(l)}));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=(null==t?void 0:t.innerHTML.trim())||"";t&&a&&o.addIcon(`@${s.value}:${l.prefix}:${l.name}`,{body:a,height:t.viewBox.baseVal.height,width:t.viewBox.baseVal.width})}return i&&l.src&&!o.iconExists(`@${s.value}:${l.prefix}:${l.name}`)&&(n.value=!1,i.fetchIcon(l.src).then((e=>{e&&(c(e),n.value=!0)})).catch((e=>{throw new Error(`Error during fetch icon: ${null==e?void 0:e.message}`)}))),l.svg&&c(l.svg),(t,l)=>e.unref(n)?(e.openBlock(),e.createBlock(e.unref(o.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,onLoad:t.onLoad,icon:e.unref(d)}),null,16,["class"])):e.createCommentVNode("v-if",!0)}});function _(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)===w.before?l.value:void 0)),n=e.computed((()=>(null==o?void 0:o.value)===w.after?l.value:void 0)),i=e.computed((()=>(null==o?void 0:o.value)===y.left?l.value:void 0)),r=e.computed((()=>(null==o?void 0:o.value)===y.right?l.value:void 0)),u=e.computed((()=>(null==o?void 0:o.value)===y.top?l.value:void 0)),s=e.computed((()=>(null==o?void 0:o.value)===y.bottom?l.value:void 0));return{hasIcon:l,hasIconLeft:i,hasIconRight:r,hasIconTop:u,hasIconBottom:s,hasIconBefore:a,hasIconAfter:n}}const D=e.defineComponent({components:{VvIcon:A},props:{disabled:{type:Boolean,default:!1},labelShow:{type:String,default:"Show password"},labelHide:{type:String,default:"Hide password"},iconShow:{type:[String,Object],default:s},iconHide:{type:[String,Object],default:d}},emits:["toggle-password"],setup(t,{emit:o}){const l=e.ref(!1),a=e.computed((()=>l.value?t.iconHide:t.iconShow)),{hasIcon:n}=_(a);return{active:l,activeIcon:a,hasIcon:n,onClick:function(e){null==e||e.stopPropagation(),t.disabled||(l.value=!l.value,o("toggle-password",l.value))}}},render(){const t=this.hasIcon?e.h(A,{...this.hasIcon,class:"vv-input-text__icon"}):void 0;return e.h("button",{disabled:this.disabled,class:"vv-input-text__action",ariaLabel:this.active?this.labelHide:this.labelShow,type:"button",onClick:this.onClick},t)}}),N=e.defineComponent({components:{VvIcon:A},props:{disabled:{type:Boolean,default:!1},label:{type:String},mode:{type:String,validator:e=>["up","down"].includes(e),default:"up"}},emits:["step-up","step-down"],setup(t,{emit:o}){const l=e.computed((()=>"up"===t.mode));return{isUp:l,onClick:e=>{null==e||e.stopPropagation(),t.disabled||o(l.value?"step-up":"step-down")}}},render(){return e.h("button",{class:["vv-input-text__action vv-input-text__action-chevron",this.isUp&&"vv-input-text__action-chevron-up"],disabled:this.disabled,ariaLabel:this.label,type:"button",onClick:this.onClick})}}),I=e.defineComponent({components:{VvIcon:A},props:{disabled:{type:Boolean,default:!1},label:{type:String,default:"Clear"},icon:{type:[String,Object],default:"close"}},emits:["clear"],setup(t,{emit:o}){const{hasIcon:l}=_(e.computed((()=>t.icon)));return{hasIcon:l,onClick:function(e){null==e||e.stopPropagation(),t.disabled||o("clear")}}},render(){const t=this.hasIcon?e.h(A,{...this.hasIcon,class:"vv-input-text__icon"}):void 0;return e.h("button",{disabled:this.disabled,class:"vv-input-text__action",ariaLabel:this.label,type:"button",onClick:this.onClick},t)}}),R={valid:{type:Boolean,default:!1},validLabel:{type:[String,Array],default:void 0}},H={invalid:{type:Boolean,default:!1},invalidLabel:{type:[String,Array],default:void 0}},M={loading:{type:Boolean,default:!1},loadingLabel:{type:String,default:"Loading..."}},j={disabled:{type:Boolean,default:!1}},z={selected:{type:Boolean,default:!1}},U=(Boolean,Boolean,Boolean,{label:{type:[String,Number],default:void 0}}),F={readonly:{type:Boolean,default:!1}},W={modifiers:{type:[String,Array],default:void 0}},q={hintLabel:{type:String,default:""}},K={count:{type:[Boolean,String],default:!1,validator:e=>[!0,!1,"limit","countdown"].includes(e)}},X={debounce:{type:[Number,String],default:void 0}},J={icon:{type:[String,Object],default:void 0},iconPosition:{type:String,default:w.before,validation:e=>Object.values(w).includes(e)}},Y={tabindex:{type:[String,Number],default:0}},G={floating:{type:Boolean,default:!1}},Q={unselectable:{type:Boolean,default:!0}},Z={id:[String,Number]},ee={placement:{type:String,default:y.bottom,validator:e=>Object.values(y).includes(e)||Object.values(S).includes(e)},strategy:{type:String,default:void 0,validator:e=>Object.values(g).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}},te={...{...Z,name:{type:String,required:!0}},...{autofocus:{type:Boolean,default:!1}},...{autocomplete:{type:String,default:"off"}},...Y,...j,...F,...R,...H,...q,...M,...W,...K,...X,...J,...G,...U,minlength:{type:[String,Number],default:void 0},maxlength:{type:[String,Number],default:void 0},placeholder:{type:String,default:void 0},required:{type:Boolean,default:!1}};k.button,x.button;const oe={storageType:{type:String,default:h.local,validator:e=>Object.values(h).includes(e)},storageKey:String},le={TEXT:"text",PASSWORD:"password",NUMBER:"number",EMAIL:"email",TEL:"tel",URL:"url",COLOR:"color",SEARCH:"search",DATE:"date",TIME:"time",DATETIME_LOCAL:"datetime-local",MONTH:"month",WEEK:"week"},ae={...te,...oe,modelValue:[String,Number],type:{type:String,default:le.TEXT,validator:e=>Object.values(le).includes(e)},min:[Number,Date,String],max:[Number,Date,String],step:{type:[String,Number],default:1},pattern:String,multiple:Boolean,iconShowPassword:{type:[String,Object],default:s},iconHidePassword:{type:[String,Object],default:d},iconClear:{type:[String,Object],default:f},iconRemoveSuggestion:{type:[String,Object],default:m},labelStepUp:{type:String,default:"Increase value"},labelStepDown:{type:String,default:"Decrease value"},labelShowPassword:{type:String,default:"Show password"},labelHidePassword:{type:String,default:"Hide password"},labelClear:{type:String,default:"Clear"},labelRemoveSuggestion:{type:String,default:"Remove suggestion"},iMask:{type:Object,default:void 0},masked:{type:String,default:void 0},autoWidth:{type:Boolean,default:!1},hideActions:{type:Boolean,default:!1},unit:{type:String},selectOnFocus:{type:Boolean,default:!1},maxSuggestions:{type:Number,default:5}};function ne(t,o){return{name:"VvInputTextActions",components:{VvIcon:A,VvInputPasswordAction:D,VvInputStepAction:N,VvInputClearAction:I},setup:()=>({isDisabled:e.computed((()=>o.disabled||o.readonly)),labelStepUp:o.labelStepUp,labelStepDown:o.labelStepDown,labelShowPassword:o.labelShowPassword,labelHidePassword:o.labelHidePassword,labelClear:o.labelClear,iconShowPassword:o.iconShowPassword,iconHidePassword:o.iconHidePassword}),render(){let l=null;switch(t){case le.SEARCH:{const{onClear:t}=this.$attrs;l=[e.h(I,{disabled:this.isDisabled,label:this.labelShowPassword,onClear:t})];break}case le.PASSWORD:{const{onTogglePassword:t}=this.$attrs;l=[e.h(D,{disabled:this.isDisabled,onTogglePassword:t,labelShow:this.labelShowPassword,labelHide:this.labelHidePassword,iconShow:this.iconShowPassword,iconHide:this.iconHidePassword})];break}case le.NUMBER:{const{onStepUp:t,onStepDown:a}=this.$attrs;l=[e.h(N,{mode:"up",disabled:this.isDisabled||void 0!==o.max&&o.modelValue===o.max,label:this.labelStepUp,onStepUp:t,onStepDown:a}),e.h(N,{mode:"down",disabled:this.isDisabled||void 0!==o.min&&o.modelValue===o.min,label:this.labelStepDown,onStepUp:t,onStepDown:a})];break}}return Array.isArray(l)?e.h("div",{class:"vv-input-text__actions-group"},l):l}}}const ie={...Z,...ee,...W,modelValue:{type:Boolean,default:void 0},reference:{type:Object,default:null},role:{type:String,default:L.menu,validator:e=>Object.values(L).includes(e)}},re={focusOnHover:{type:Boolean,default:!1}},ue={...j,...z,...Q,...W,deselectHintLabel:{type:String},selectHintLabel:{type:String},selectedHintLabel:{type:String},focusOnHover:{type:Boolean,default:!1}};function se(t){return e.computed((()=>String((null==t?void 0:t.value)||a.uid())))}const de=["id","tabindex","role","aria-labelledby"],ce=e.defineComponent({name:"VvDropdown",inheritAttrs:!1,props:ie,emits:["update:modelValue","beforeEnter","afterLeave","beforeExpand","beforeCollapse","afterExpand","afterCollapse","before-enter","after-leave","enter","afterEnter","enterCancelled","beforeLeave","leave","leaveCancelled"],setup(t,{expose:o,emit:a}){const r=t,u=a,{id:s}=e.toRefs(r),d=se(s),c=e.useAttrs(),v=e.ref("auto"),p=e.ref("auto"),f=e.ref(null),m=e.ref(),b=e.ref(null),h=e.ref(null),S=e.computed({get:()=>r.reference??f.value,set:e=>{f.value=e}}),w=e.ref(!1);e.onMounted((()=>{n.useMutationObserver(m.value,(()=>{var e;w.value="true"===(null==(e=window.getComputedStyle(m.value).getPropertyValue("--dropdown-custom-position"))?void 0:e.trim())}),{attributeFilter:["style"],window:window})}));const k=e.computed((()=>{const e=[];if(r.autoPlacement?"boolean"==typeof r.autoPlacement?e.push(l.autoPlacement()):e.push(l.autoPlacement(r.autoPlacement)):r.flip&&("boolean"==typeof r.flip?e.push(l.flip({fallbackStrategy:"initialPlacement"})):e.push(l.flip(r.flip))),r.shift&&("boolean"==typeof r.shift?e.push(l.shift()):e.push(l.shift(r.shift))),r.size){const t=({availableWidth:e,availableHeight:t})=>{v.value=`${e}px`,p.value=`${t}px`};"boolean"==typeof r.size?e.push(l.size({apply:t})):e.push(l.size({...r.size,apply:t}))}return r.offset&&(e.push(l.offset(Number(r.offset))),["string","number"].includes(typeof r.offset)?e.push(l.offset(Number(r.offset))):e.push(l.offset(r.offset))),r.arrow&&e.push(l.arrow({element:b})),e})),{x:x,y:E,middlewareData:$,placement:O,strategy:T}=l.useFloating(S,m,{whileElementsMounted:(...e)=>l.autoUpdate(...e,{animationFrame:r.strategy===g.fixed}),placement:e.computed((()=>r.placement)),strategy:e.computed((()=>r.strategy)),middleware:k}),A=e.computed((()=>{var e;if(w.value)return;const t=r.triggerWidth&&S.value?`${null==(e=S.value)?void 0:e.offsetWidth}px`:void 0;return{position:T.value,top:`${E.value??0}px`,left:`${x.value??0}px`,maxWidth:t?void 0:v.value,maxHeight:p.value,width:t}})),_=e.computed((()=>O.value.split("-")[0])),D=e.computed((()=>{var e,t,o,l,a;if(w.value)return;const n={[y.top]:y.bottom,[y.right]:y.left,[y.bottom]:y.top,[y.left]:y.right}[_.value];return{left:void 0!==(null==(e=$.value.arrow)?void 0:e.x)?`${null==(t=$.value.arrow)?void 0:t.x}px`:void 0,top:void 0!==(null==(o=$.value.arrow)?void 0:o.y)?`${null==(l=$.value.arrow)?void 0:l.y}px`:void 0,[n]:-((null==(a=b.value)?void 0:a.offsetWidth)??0)/2+"px"}})),N=n.useVModel(r,"modelValue",u),I=e.ref(!1),R=e.computed({get:()=>N.value??I.value,set:e=>{void 0!==N.value?N.value=e:I.value=e}});function H(){R.value=!0}function M(){R.value=!1}function j(){R.value=!R.value}function z(e){S.value=e}o({toggle:j,show:H,hide:M,init:z,customPosition:w}),e.watch(R,(t=>{t&&r.autofocusFirst&&e.nextTick((()=>{const e=G(m.value);e.length>0&&e[0].focus({preventScroll:!0})}))})),n.onClickOutside(m,(()=>{!r.keepOpen&&R.value&&(R.value=!1)}),{ignore:[S]});const U=e.computed((()=>{var e,t;return(null==(t=null==(e=S.value)?void 0:e.getAttribute)?void 0:t.call(e,"id"))??void 0})),F=e.computed((()=>({"aria-controls":d.value,"aria-haspopup":!0,"aria-expanded":R.value}))),{component:W,bus:q}=function({reference:t,id:o,expanded:l,aria:a}){const n=i(),r=e.defineComponent({name:"VvDropdownTriggerProvider",setup(){e.provide(C,{reference:t,id:o,expanded:l,aria:a,bus:n})},render(){var t,o;return e.h(e.Fragment,{},null==(o=(t=this.$slots).default)?void 0:o.call(t))}});return{bus:n,component:r}}({reference:S,id:d,expanded:R,aria:F});q.on("click",j);const{role:K,modifiers:X}=e.toRefs(r),J=V("vv-dropdown",X,e.computed((()=>({arrow:r.arrow})))),{focused:Y}=n.useFocusWithin(m);function G(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"))):[]}const Q=n.useElementHover(m),{itemRole:Z}=function({role:t,...o}){const l=e.computed((()=>t.value===L.listbox?B.option:B.presentation));return e.provide(P,{role:l,...o}),{itemRole:l}}({role:K,expanded:R,focused:Y,hovered:Q});n.onKeyStroke("Escape",(e=>{R.value&&(e.preventDefault(),M())})),n.onKeyStroke("ArrowDown",(t=>{R.value&&Y.value&&(t.preventDefault(),e.nextTick((()=>{if(Y.value){const e=G(m.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})}})))})),n.onKeyStroke("ArrowUp",(t=>{R.value&&Y.value&&(t.preventDefault(),e.nextTick((()=>{if(Y.value){const e=G(m.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})}})))})),n.onKeyStroke([" ","Enter"],(e=>{const t=e.target;R.value&&Y.value&&t&&(null==t||t.click())}));const ee={"before-enter":()=>{u(R.value?"beforeExpand":"beforeCollapse"),u("beforeEnter")},"after-leave":()=>{u(R.value?"afterExpand":"afterCollapse"),u("afterLeave")},enter:()=>{u("enter")},"after-enter":()=>{u("afterEnter")},"enter-cancelled":()=>{u("enterCancelled")},"before-leave":()=>{u("beforeLeave")},leave:()=>{u("leave")},"leave-cancelled":()=>{u("leaveCancelled")}};return(t,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(W),null,{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps({init:z,show:H,hide:M,toggle:j,expanded:e.unref(R),aria:e.unref(F)})))])),_:3}),e.createVNode(e.Transition,e.mergeProps({name:t.transitionName},e.toHandlers(ee),{persisted:""}),{default:e.withCtx((()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"floatingEl",ref:m,style:e.normalizeStyle(e.unref(A)),class:e.normalizeClass(e.unref(J))},[r.arrow?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"arrowEl",ref:b,style:e.normalizeStyle(e.unref(D)),class:"vv-dropdown__arrow"},null,4)):e.createCommentVNode("v-if",!0),e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(R)}))),e.createElementVNode("div",e.mergeProps(e.unref(c),{id:e.unref(d),ref_key:"listEl",ref:h,tabindex:e.unref(R)?void 0:-1,role:e.unref(K),"aria-labelledby":e.unref(U),class:"vv-dropdown__list"}),[e.renderSlot(t.$slots,"items",e.normalizeProps(e.guardReactiveProps({role:e.unref(Z)})))],16,de),e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(R)})))],6),[[e.vShow,e.unref(R)]])])),_:3},16,["name"])],64))}});const ve=e.defineComponent({name:"VvDropdownItem",props:re,setup(t){const o=t,{role:l,expanded:a}=e.inject(P,{}),i=e.ref(null);!function({expanded:t}){e.provide(O,{role:e.ref(E.menuitem),expanded:t})}({expanded:a});const r=n.useElementHover(i),{focused:u}=n.useFocus(i),{focused:s}=n.useFocusWithin(i);return e.watch(r,(e=>{e&&o.focusOnHover&&(u.value=!0)})),(t,o)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({role:e.unref(l)},{ref_key:"element",ref:i,class:["vv-dropdown__item",{"focus-visible":e.unref(u)||e.unref(s)}]}),[e.renderSlot(t.$slots,"default")],16))}}),pe=["title"],fe=e.defineComponent({name:"VvDropdownOption",props:ue,setup(t){const o=t,{modifiers:l}=e.toRefs(o),a=V("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(ve,{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,pe)])),_:3},8,["class","tabindex","aria-selected","aria-disabled","focus-on-hover"]))}});const me=["for"],be={key:0,class:"vv-input-text__input-before"},he=["id"],ge={key:1,class:"vv-input-text__unit"},ye={key:5,class:"vv-input-text__input-after"},Se={key:6,class:"vv-input-text__limit"},we={class:"flex-1"},ke=["title","onClick"];return e.defineComponent({name:"VvInputText",props:ae,emits:["update:modelValue","update:masked","accept","accept:typed","accept:masked","accept:unmasked","complete","complete:typed","complete:masked","complete:unmasked","focus","blur","keyup","keydown","keypress"],setup(o,{expose:l,emit:a}){const i=o,s=a,d=e.useSlots(),f=function(t,o,l){const a=T(),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}),{})}))}("VvInputText",ae,i),{count:m,debounce:b,icon:g,iconPosition:y,iconRemoveSuggestion:S,id:w,invalid:k,label:x,loading:E,maxlength:L,minlength:B,modelValue:$,step:C,storageKey:P,storageType:O,type:D,valid:N}=e.toRefs(i),I=se(w),R=e.computed((()=>`${I.value}-hint`)),H=e.computed((()=>i.floating&&r(i.placeholder)?" ":i.placeholder)),M=function(t,o,l=0,{getter:a=e=>e,setter:n=e=>e}={}){let i;return"string"==typeof l&&(l=Number.parseInt(l)),e.computed({get:()=>a(null==t?void 0:t.value),set:e=>{i&&clearTimeout(i),i=setTimeout((()=>{o("update:modelValue",n(e))}),l)}})}($,s,(null==b?void 0:b.value)??0),j=/^-0?[.,]?[0*]?$/,z=e.ref(!1),{el:U,mask:F,typed:W,masked:q,unmasked:K}=t.useIMask(e.computed((()=>i.iMask??{mask:/./})),{emit:s,onAccept:()=>{if(z.value){if(s("update:masked",q.value),D.value===le.NUMBER){if(/^-$|^$/.test(K.value)){if(null===M.value||void 0===M.value)return;return void(M.value=void 0)}return j.test(K.value)?void(M.value=0):"number"!=typeof W.value?void(M.value=Number(W.value)):void(M.value=W.value)}if(D.value===le.DATE){if(U.value instanceof HTMLInputElement&&"date"===U.value.type)return void(M.value=U.value.value);let e=W.value;if(null===e||""===e){if(!M.value)return;return void(M.value="")}return e instanceof Date||(e=new Date(e)),void(M.value=`${e.getFullYear()}-${`0${e.getMonth()+1}`.slice(-2)}-${`0${e.getDate()}`.slice(-2)}`)}if(D.value===le.DATETIME_LOCAL){if(U.value instanceof HTMLInputElement&&"datetime-local"===U.value.type)return void(M.value=U.value.value);let e=W.value;if(null===e||""===e){if(!M.value)return;return void(M.value="")}return W.value instanceof Date||(e=new Date(e)),void(M.value=`${e.getFullYear()}-${`0${e.getMonth()+1}`.slice(-2)}-${`0${e.getDate()}`.slice(-2)}T${`0${e.getHours()}`.slice(-2)}:${`0${e.getMinutes()}`.slice(-2)}`)}(M.value||K.value)&&(M.value=K.value)}}});function X(e){var t;if(void 0===e)return W.value="",void(K.value="");(null==(t=i.iMask)?void 0:t.mask)!==Date?D.value===le.NUMBER&&j.test(K.value)&&0===e||(W.value=e,K.value=`${W.value}`):W.value=new Date(e)}e.onMounted((()=>{F.value&&(z.value=!0,X(i.modelValue))})),e.watch((()=>i.modelValue),(e=>{F.value&&X(e)})),e.watch((()=>i.masked),(e=>{q.value=e??""}));const J=U,Y=e.ref(),G=e.ref(),Q=e.ref();l({$inner:Y});const{focused:Z}=function(t,o){const{focused:l}=n.useFocus(t);return e.watch(l,(l=>{o(l?"focus":"blur",e.unref(t))})),{focused:l}}(J,s),ee=e.computed((()=>Z.value&&!i.disabled&&!i.readonly));e.watch(ee,(e=>{var t;e&&f.value.selectOnFocus&&J.value&&J.value.select(),e?null==(t=Q.value)||t.show():setTimeout((()=>{if(Ve.value&&_e.value){const e=i.maxSuggestions-1;_e.value.size>e&&!_e.value.has(M.value)&&(_e.value=new Set([..._e.value].slice(_e.value.size-e))),_e.value.add(M.value)}}),300)}));const te=n.useElementVisibility(J);e.watch(te,(e=>{e&&i.autofocus&&!i.disabled&&!i.readonly&&(Z.value=!0)}));const oe=e.ref(!1),ie=e.computed((()=>i.type===le.PASSWORD));function re(){oe.value=!oe.value}const ue=e.computed((()=>i.type===le.TIME||i.type===le.DATETIME_LOCAL||i.type===le.DATE||i.type===le.WEEK||i.type===le.MONTH)),de=e.computed((()=>i.type===le.NUMBER));function ve(){if(Oe.value){if(i.iMask)return void(W.value=W.value+Number((null==C?void 0:C.value)??1));J.value.stepUp(),M.value=Number(e.unref(J).value)}}function pe(){if(Oe.value){if(i.iMask)return void(W.value=W.value-Number((null==C?void 0:C.value)??1));J.value.stepDown(),M.value=Number(e.unref(J).value)}}const xe=e.computed((()=>i.type===le.SEARCH));function Ee(){M.value=""}const{hasIconBefore:Le,hasIconAfter:Be}=_(g,y),$e=e.computed((()=>{if(void 0!==Be.value)return Be.value;switch(i.type){case le.COLOR:return{name:p};case le.DATE:case le.DATETIME_LOCAL:case le.WEEK:case le.MONTH:return{name:c};case le.TIME:return{name:v}}})),{hasIcon:Ce}=_(S),{formatted:Pe}=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}}(M,{mode:m.value,upperLimit:Number(null==L?void 0:L.value),lowerLimit:Number(null==B?void 0:B.value)}),Oe=e.computed((()=>!i.disabled&&!i.readonly)),Te=e.computed((()=>Oe.value?i.tabindex:-1)),Ve=e.computed((()=>!r($))),Ae=e.computed((()=>!0===k.value||!0!==N.value&&void 0)),_e=function(t,o=h.local,l){const a=e.ref();let i;return l&&(a.value=l),t&&e.watch(t,((t,l)=>{const r=e.unref(o)===h.session?sessionStorage:localStorage;l&&l!==t&&r.removeItem(l),i=t?n.useStorage(t,(null==i?void 0:i.value)??a.value,r):void 0}),{immediate:!0}),e.isRef(o)&&e.watch(o,((e,o)=>{if(null==t?void 0:t.value){if(e){const o=e===h.session?sessionStorage:localStorage;i=n.useStorage(t.value,(null==i?void 0:i.value)??a.value,o)}o&&o!==e&&(o===h.session?sessionStorage:localStorage).removeItem(t.value)}})),e.computed({get:()=>(null==i?void 0:i.value)??a.value,set:e=>{i?i.value=e:a.value=e}})}(P,O,new Set),De=e.computed((()=>_e.value?[..._e.value].filter((e=>r(M.value)||`${e}`.toLowerCase().includes(`${M.value}`.toLowerCase())&&e!==M.value)).reverse():[])),Ne=e.computed((()=>(null==P?void 0:P.value)&&_e.value&&_e.value.size>0));const{modifiers:Ie}=e.toRefs(i),Re=V("vv-input-text",Ie,e.computed((()=>({valid:N.value,invalid:k.value,loading:E.value,disabled:i.disabled,readonly:i.readonly,"icon-before":!!Le.value,"icon-after":!!$e.value,floating:i.floating&&!r(i.label),dirty:Ve.value,focus:ee.value,"auto-width":i.autoWidth})))),He=e.computed((()=>{const e=ie.value&&oe.value?le.TEXT:!ue.value||Ve.value||Z.value?i.iMask?le.TEXT:i.type:le.TEXT,t={type:e,name:i.name,tabindex:Te.value,disabled:i.disabled,readonly:i.readonly,required:i.required,autocomplete:i.autocomplete,"aria-invalid":Ae.value,"aria-describedby":ze.value?R.value:void 0,"aria-errormessage":Ue.value?R.value:void 0};if(e===le.DATE||e===le.MONTH||e===le.WEEK||e===le.TIME||e===le.DATETIME_LOCAL||e===le.NUMBER){let o=i.max;e!==le.DATE||o||(o="9999-12-31"),t.step=i.step,t.max=void 0!==o?String(o):void 0,t.min=void 0!==i.min?String(i.min):void 0}return e!==le.TEXT&&e!==le.SEARCH&&e!==le.URL&&e!==le.TEL&&e!==le.EMAIL&&e!==le.PASSWORD&&e!==le.NUMBER||(t.placeholder=H.value),e!==le.TEXT&&e!==le.SEARCH&&e!==le.URL&&e!==le.TEL&&e!==le.EMAIL&&e!==le.PASSWORD||(t.minlength=i.minlength,t.maxlength=i.maxlength,t.pattern=i.pattern),e===le.EMAIL&&(t.multiple=i.multiple),t})),Me=e.computed((()=>({valid:i.valid,invalid:i.invalid,modelValue:i.modelValue,togglePassword:re,stepUp:ve,stepDown:pe,clear:Ee}))),{HintSlot:je,hasHintLabelOrSlot:ze,hasInvalidLabelOrSlot:Ue,hintSlotScope:Fe}=function(t,o){const l=e.computed((()=>e.isRef(t)?t.value:t)),a=e.computed((()=>u(l.value.invalidLabel))),n=e.computed((()=>u(l.value.validLabel))),i=e.computed((()=>l.value.loadingLabel)),r=e.computed((()=>l.value.hintLabel)),s=e.computed((()=>Boolean(l.value.loading&&(o.loading||i.value)))),d=e.computed((()=>!s.value&&Boolean(l.value.invalid&&(o.invalid||a.value)))),c=e.computed((()=>!s.value&&!d.value&&Boolean(l.value.valid&&(o.valid||n.value)))),v=e.computed((()=>!s.value&&!d.value&&!c.value&&Boolean(o.hint||r.value))),p=e.computed((()=>d.value||c.value||s.value||v.value)),f=e.computed((()=>({modelValue:l.value.modelValue,valid:l.value.valid,invalid:l.value.invalid,loading:l.value.loading}))),m=e.defineComponent({name:"HintSlot",props:{tag:{type:String,default:"small"}},setup:()=>({isVisible:p,invalidLabel:a,validLabel:n,loadingLabel:i,hintLabel:r,hasInvalidLabelOrSlot:d,hasValidLabelOrSlot:c,hasLoadingLabelOrSlot:s,hasHintLabelOrSlot:v}),render(){var t,o,l,a,n,i,r,u;if(this.isVisible){let s;return this.hasInvalidLabelOrSlot&&(s="alert"),this.hasValidLabelOrSlot&&(s="status"),this.hasLoadingLabelOrSlot?e.h(this.tag,{role:s},(null==(o=(t=this.$slots).loading)?void 0:o.call(t))??this.loadingLabel):this.hasInvalidLabelOrSlot?e.h(this.tag,{role:s},(null==(a=(l=this.$slots).invalid)?void 0:a.call(l))??this.$slots.invalid??this.invalidLabel):this.hasValidLabelOrSlot?e.h(this.tag,{role:s},(null==(i=(n=this.$slots).valid)?void 0:i.call(n))??this.validLabel):e.h(this.tag,{role:s},(null==(u=(r=this.$slots).hint)?void 0:u.call(r))??this.$slots.hint??this.hintLabel)}return null}});return{hasInvalidLabelOrSlot:d,hasHintLabelOrSlot:v,hasValidLabelOrSlot:c,hasLoadingLabelOrSlot:s,hintSlotScope:f,HintSlot:m}}(f,d),We=ne(le.PASSWORD,i),qe=ne(le.NUMBER,i),Ke=ne(le.SEARCH,i);function Xe(){Oe.value&&(Z.value=!0)}const Je=e.computed((()=>{if(i.autoWidth)return{width:void 0!==M.value?`${String(M.value).length+1}ch`:void 0}}));function Ye(e){switch(e.code){case"ArrowUp":de.value&&(ve(),e.preventDefault());break;case"ArrowDown":de.value&&(pe(),e.preventDefault())}s("keydown",e)}return(t,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(Re))},[e.unref(x)?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(I),class:"vv-input-text__label"},e.toDisplayString(e.unref(x)),9,me)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",{ref_key:"wrapperEl",ref:G,class:"vv-input-text__wrapper"},[t.$slots.before?(e.openBlock(),e.createElementBlock("div",be,[e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(Me))))])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",{ref_key:"innerEl",ref:Y,class:"vv-input-text__inner",onClick:e.withModifiers(Xe,["stop"])},[e.unref(Le)?(e.openBlock(),e.createBlock(A,e.mergeProps({key:0},e.unref(Le),{class:"vv-input-text__icon"}),null,16)):e.createCommentVNode("v-if",!0),e.createElementVNode("input",e.mergeProps({id:e.unref(I),ref_key:"inputEl",ref:J},e.unref(He),{style:e.unref(Je),onKeyup:o[0]||(o[0]=e=>s("keyup",e)),onKeydown:Ye,onKeypress:o[1]||(o[1]=e=>s("keypress",e))}),null,16,he),(t.unit||t.$slots.unit)&&e.unref(Ve)?(e.openBlock(),e.createElementBlock("div",ge,[e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps(e.unref(Me))),(()=>[e.createTextVNode(e.toDisplayString(t.unit),1)]))])):e.createCommentVNode("v-if",!0)],512),e.unref($e)?(e.openBlock(),e.createBlock(A,e.mergeProps({key:1},e.unref($e),{class:"vv-input-text__icon vv-input-text__icon-after"}),null,16)):e.unref(ie)&&!t.hideActions&&e.unref(Oe)?(e.openBlock(),e.createBlock(e.unref(We),{key:2,onTogglePassword:re})):e.unref(de)&&!t.hideActions&&e.unref(Oe)?(e.openBlock(),e.createBlock(e.unref(qe),{key:3,onStepUp:ve,onStepDown:pe})):e.unref(xe)&&!t.hideActions&&e.unref(Oe)?(e.openBlock(),e.createBlock(e.unref(Ke),{key:4,onClear:Ee})):e.createCommentVNode("v-if",!0),t.$slots.after?(e.openBlock(),e.createElementBlock("div",ye,[e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(Me))))])):e.createCommentVNode("v-if",!0),e.unref(m)?(e.openBlock(),e.createElementBlock("span",Se,[e.renderSlot(t.$slots,"count",e.normalizeProps(e.guardReactiveProps(e.unref(Me))),(()=>[e.createTextVNode(e.toDisplayString(e.unref(Pe)),1)]))])):e.createCommentVNode("v-if",!0)],512),e.createVNode(e.unref(je),{id:e.unref(R),class:"vv-input-text__hint"},e.createSlots({_:2},[t.$slots.hint?{name:"hint",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps(e.unref(Fe))))])),key:"0"}:void 0,t.$slots.loading?{name:"loading",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"loading",e.normalizeProps(e.guardReactiveProps(e.unref(Fe))))])),key:"1"}:void 0,t.$slots.valid?{name:"valid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"valid",e.normalizeProps(e.guardReactiveProps(e.unref(Fe))))])),key:"2"}:void 0,t.$slots.invalid?{name:"invalid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"invalid",e.normalizeProps(e.guardReactiveProps(e.unref(Fe))))])),key:"3"}:void 0]),1032,["id"]),e.unref(Ne)?(e.openBlock(),e.createBlock(ce,{key:1,ref_key:"dropdownEl",ref:Q,reference:e.unref(G),"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(fe,{key:o,onClick:e.withModifiers((e=>{return t=o,M.value=t,void(null==(l=Q.value)||l.hide());var t,l}),["stop"])},{default:e.withCtx((()=>[e.createElementVNode("div",we,[e.renderSlot(t.$slots,"suggestion",e.mergeProps({ref_for:!0},{value:o}),(()=>[e.createTextVNode(e.toDisplayString(o),1)]))]),e.unref(_e)&&e.unref(Ce)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",tabindex:"-1",class:"cursor-pointer",title:t.labelRemoveSuggestion,onClick:e.withModifiers((e=>{return t=o,void(null==(l=_e.value)||l.delete(t));var t,l}),["stop"])},[e.createVNode(A,e.mergeProps({ref_for:!0},e.unref(Ce)),null,16)],8,ke)):e.createCommentVNode("v-if",!0)])),_:2},1032,["onClick"])))),128))])),_:3},8,["reference"])):e.createCommentVNode("v-if",!0)],2))}})}));
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("@iconify/vue"),require("uid"),require("@vueuse/core")):"function"==typeof define&&define.amd?define(["vue","@iconify/vue","uid","@vueuse/core"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvTextarea=t(e.vue,e.vue$1,e.uid,e.core)}(this,(function(e,t,l,o){"use strict";function a(t){return null==(l=e.unref(t))||""===l||Array.isArray(l)&&0===l.length||!(l instanceof Date)&&"object"==typeof l&&0===Object.keys(l).length;var l}function i(e){return Array.isArray(e)?e.filter((e=>{return"string"==typeof(t=e)||t instanceof String;var t})).join(" "):e}const n={prefix:"normal"};var r=(e=>(e.local="local",e.session="session",e))(r||{}),u=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(u||{}),d=(e=>(e.before="before",e.after="after",e))(d||{}),s=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(s||{}),v=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(v||{});const c=Symbol.for("volver");function f(){return e.inject(c)}function p(t,l,o){return e.computed((()=>{const a={[t]:!0},i="string"==typeof(null==l?void 0:l.value)?l.value.split(" "):null==l?void 0:l.value;return i&&Array.isArray(i)&&i.forEach((e=>{e&&(a[`${t}--${e}`]=!0)})),o&&Object.keys(o.value).forEach((l=>{a[`${t}--${l}`]=e.unref(o.value[l])})),a}))}const m=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(l){const o=l,a=e.computed((()=>"string"==typeof o.rotate?Number.parseFloat(o.rotate):o.rotate)),i=e.ref(!0),n=f(),{modifiers:r}=e.toRefs(o),u=p("vv-icon",r),d=e.computed((()=>o.provider||(null==n?void 0:n.iconsProvider))),s=e.computed((()=>{const e=o.name??"",l=`@${d.value}:${o.prefix}:${e}`;if(t.iconExists(l))return l;const a=null==n?void 0:n.iconsCollections.find((l=>{const o=`@${d.value}:${l.prefix}:${e}`;return t.iconExists(o)}));return a?`@${d.value}:${a.prefix}:${e}`:e}));function v(e){const l=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=(null==l?void 0:l.innerHTML.trim())||"";l&&a&&t.addIcon(`@${d.value}:${o.prefix}:${o.name}`,{body:a,height:l.viewBox.baseVal.height,width:l.viewBox.baseVal.width})}return n&&o.src&&!t.iconExists(`@${d.value}:${o.prefix}:${o.name}`)&&(i.value=!1,n.fetchIcon(o.src).then((e=>{e&&(v(e),i.value=!0)})).catch((e=>{throw new Error(`Error during fetch icon: ${null==e?void 0:e.message}`)}))),o.svg&&v(o.svg),(l,o)=>e.unref(i)?(e.openBlock(),e.createBlock(e.unref(t.Icon),e.mergeProps({key:0,class:e.unref(u)},{inline:l.inline,width:l.width,height:l.height,horizontalFlip:l.horizontalFlip,verticalFlip:l.verticalFlip,flip:l.flip,rotate:e.unref(a),color:l.color,onLoad:l.onLoad,icon:e.unref(s)}),null,16,["class"])):e.createCommentVNode("v-if",!0)}}),h={valid:{type:Boolean,default:!1},validLabel:{type:[String,Array],default:void 0}},g={invalid:{type:Boolean,default:!1},invalidLabel:{type:[String,Array],default:void 0}},b={loading:{type:Boolean,default:!1},loadingLabel:{type:String,default:"Loading..."}},y={disabled:{type:Boolean,default:!1}},S=(Boolean,Boolean,Boolean,{label:{type:[String,Number],default:void 0}}),L={readonly:{type:Boolean,default:!1}},B={modifiers:{type:[String,Array],default:void 0}},x={hintLabel:{type:String,default:""}},$={count:{type:[Boolean,String],default:!1,validator:e=>[!0,!1,"limit","countdown"].includes(e)}},k={debounce:{type:[Number,String],default:void 0}},w={icon:{type:[String,Object],default:void 0},iconPosition:{type:String,default:d.before,validation:e=>Object.values(d).includes(e)}},V={tabindex:{type:[String,Number],default:0}},N={floating:{type:Boolean,default:!1}},O={id:[String,Number]};u.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;const P={...{...O,name:{type:String,required:!0}},...{autofocus:{type:Boolean,default:!1}},...{autocomplete:{type:String,default:"off"}},...V,...y,...L,...h,...g,...x,...b,...B,...$,...k,...w,...N,...S,minlength:{type:[String,Number],default:void 0},maxlength:{type:[String,Number],default:void 0},placeholder:{type:String,default:void 0},required:{type:Boolean,default:!1}};s.button,v.button,r.local;const _={...P,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"},resizable:Boolean};const I=["for"],C={class:"vv-textarea__wrapper"},E={key:0,class:"vv-textarea__input-before"},z={class:"vv-textarea__inner"},A=["id"],j={key:1,class:"vv-textarea__input-after"},R={key:2,class:"vv-textarea__limit"};return e.defineComponent({name:"VvTextarea",props:_,emits:["update:modelValue","focus","blur","keyup"],setup(t,{emit:n}){const r=t,s=n,v=e.useSlots(),c=function(t,l,o){const a=f(),i=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===i.value)return o;const e=i.value,t=l,a=o;return Object.keys(t).reduce(((l,o)=>{const i=a[o];if(l[o]=i,o in e){if(Array.isArray(t[o])){const a=t[o];a.length&&a[0]===i&&(l[o]=e[o])}if("function"==typeof t[o]&&(0,t[o])()===i&&(l[o]=e[o]),"object"==typeof t[o]){let a=t[o].default;"function"==typeof a&&(a=a()),"object"==typeof a?JSON.stringify(a)===JSON.stringify(i)&&(l[o]=e[o]):a===i&&(l[o]=e[o])}}return l}),{})}))}("VvTextarea",_,r),h=e.ref(),{id:g,icon:b,iconPosition:y,label:S,modelValue:L,count:B,valid:x,invalid:$,loading:k,modifiers:w,debounce:V,minlength:N,maxlength:O}=e.toRefs(r),P=function(t){return e.computed((()=>String((null==t?void 0:t.value)||l.uid())))}(g),T=e.computed((()=>`${P.value}-hint`)),q=e.computed((()=>r.floating&&a(r.placeholder)?" ":r.placeholder)),F=function(t,l,o=0,{getter:a=(e=>e),setter:i=(e=>e)}={}){let n;return"string"==typeof o&&(o=Number.parseInt(o)),e.computed({get:()=>a(null==t?void 0:t.value),set:e=>{n&&clearTimeout(n),n=setTimeout((()=>{l("update:modelValue",i(e))}),o)}})}(L,s,null==V?void 0:V.value),{hasIconBefore:D,hasIconAfter:H}=function(t,l){const o=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==l?void 0:l.value)===d.before?o.value:void 0)),i=e.computed((()=>(null==l?void 0:l.value)===d.after?o.value:void 0)),n=e.computed((()=>(null==l?void 0:l.value)===u.left?o.value:void 0)),r=e.computed((()=>(null==l?void 0:l.value)===u.right?o.value:void 0)),s=e.computed((()=>(null==l?void 0:l.value)===u.top?o.value:void 0)),v=e.computed((()=>(null==l?void 0:l.value)===u.bottom?o.value:void 0));return{hasIcon:o,hasIconLeft:n,hasIconRight:r,hasIconTop:s,hasIconBottom:v,hasIconBefore:a,hasIconAfter:i}}(b,y),{focused:M}=function(t,l){const{focused:a}=o.useFocus(t);return e.watch(a,(o=>{l(o?"focus":"blur",e.unref(t))})),{focused:a}}(h,s),J=o.useElementVisibility(h);e.watch(J,(e=>{e&&r.autofocus&&(M.value=!0)}));const{formatted:K}=function(t,l){const o=e.computed((()=>(e.unref(t)??"").length)),a=e.computed((()=>void 0!==(null==l?void 0:l.lowerLimit)&&o.value<(null==l?void 0:l.lowerLimit)?o.value-l.lowerLimit:void 0!==(null==l?void 0:l.upperLimit)&&o.value<(null==l?void 0:l.upperLimit)?l.upperLimit-o.value:0)),i=e.computed((()=>{if(!1===(null==l?void 0:l.mode))return"";if("limit"===(null==l?void 0:l.mode)&&(null==l?void 0:l.upperLimit))return`${o.value} / ${l.lowerLimit?`${l.lowerLimit}-`:""}${l.upperLimit}`;if("countdown"===(null==l?void 0:l.mode)){if(0===a.value)return;return a}return o.value}));return{length:o,gap:a,formatted:i}}(F,{mode:null==B?void 0:B.value,upperLimit:Number(null==O?void 0:O.value),lowerLimit:Number(null==N?void 0:N.value)}),U=e.computed((()=>!r.disabled&&!r.readonly)),G=e.computed((()=>U.value?r.tabindex:-1)),Q=e.computed((()=>!a(L))),W=e.computed((()=>!0===r.invalid||!0!==r.valid&&void 0)),{HintSlot:X,hasHintLabelOrSlot:Y,hasInvalidLabelOrSlot:Z,hintSlotScope:ee}=function(t,l){const o=e.computed((()=>e.isRef(t)?t.value:t)),a=e.computed((()=>i(o.value.invalidLabel))),n=e.computed((()=>i(o.value.validLabel))),r=e.computed((()=>o.value.loadingLabel)),u=e.computed((()=>o.value.hintLabel)),d=e.computed((()=>Boolean(o.value.loading&&(l.loading||r.value)))),s=e.computed((()=>!d.value&&Boolean(o.value.invalid&&(l.invalid||a.value)))),v=e.computed((()=>!d.value&&!s.value&&Boolean(o.value.valid&&(l.valid||n.value)))),c=e.computed((()=>!d.value&&!s.value&&!v.value&&Boolean(l.hint||u.value))),f=e.computed((()=>s.value||v.value||d.value||c.value)),p=e.computed((()=>({modelValue:o.value.modelValue,valid:o.value.valid,invalid:o.value.invalid,loading:o.value.loading}))),m=e.defineComponent({name:"HintSlot",props:{tag:{type:String,default:"small"}},setup:()=>({isVisible:f,invalidLabel:a,validLabel:n,loadingLabel:r,hintLabel:u,hasInvalidLabelOrSlot:s,hasValidLabelOrSlot:v,hasLoadingLabelOrSlot:d,hasHintLabelOrSlot:c}),render(){var t,l,o,a,i,n,r,u;if(this.isVisible){let d;return this.hasInvalidLabelOrSlot&&(d="alert"),this.hasValidLabelOrSlot&&(d="status"),this.hasLoadingLabelOrSlot?e.h(this.tag,{role:d},(null==(l=(t=this.$slots).loading)?void 0:l.call(t))??this.loadingLabel):this.hasInvalidLabelOrSlot?e.h(this.tag,{role:d},(null==(a=(o=this.$slots).invalid)?void 0:a.call(o))??this.$slots.invalid??this.invalidLabel):this.hasValidLabelOrSlot?e.h(this.tag,{role:d},(null==(n=(i=this.$slots).valid)?void 0:n.call(i))??this.validLabel):e.h(this.tag,{role:d},(null==(u=(r=this.$slots).hint)?void 0:u.call(r))??this.$slots.hint??this.hintLabel)}return null}});return{hasInvalidLabelOrSlot:s,hasHintLabelOrSlot:c,hasValidLabelOrSlot:v,hasLoadingLabelOrSlot:d,hintSlotScope:p,HintSlot:m}}(c,v),te=p("vv-textarea",w,e.computed((()=>({valid:x.value,invalid:$.value,loading:k.value,disabled:r.disabled,readonly:r.readonly,"icon-before":void 0!==D.value,"icon-after":void 0!==H.value,floating:r.floating&&!a(r.label),dirty:Q.value,focus:M.value,resizable:r.resizable})))),le=e.computed((()=>({name:r.name,placeholder:q.value,tabindex:G.value,disabled:r.disabled,readonly:r.readonly,required:r.required,autocomplete:r.autocomplete,minlength:r.minlength,maxlength:r.maxlength,cols:r.cols,rows:r.rows,wrap:r.wrap,spellcheck:r.spellcheck,"aria-invalid":W.value,"aria-describedby":Y.value?T.value:void 0,"aria-errormessage":Z.value?T.value:void 0}))),oe=e.computed((()=>({valid:r.valid,invalid:r.invalid,modelValue:r.modelValue,hintLabel:r.hintLabel,maxlength:r.maxlength,minlength:r.minlength,clear:ae})));function ae(){F.value=void 0}return(t,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(te))},[e.unref(S)?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(P),class:"vv-textarea__label"},e.toDisplayString(e.unref(S)),9,I)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",C,[t.$slots.before?(e.openBlock(),e.createElementBlock("div",E,[e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(oe))))])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",z,[e.unref(D)?(e.openBlock(),e.createBlock(m,e.mergeProps({key:0},e.unref(D),{class:"vv-textarea__icon"}),null,16)):e.createCommentVNode("v-if",!0),e.withDirectives(e.createElementVNode("textarea",e.mergeProps({id:e.unref(P),ref_key:"textarea",ref:h,"onUpdate:modelValue":l[0]||(l[0]=t=>e.isRef(F)?F.value=t:null)},e.unref(le),{onKeyup:l[1]||(l[1]=e=>s("keyup",e))}),null,16,A),[[e.vModelText,e.unref(F)]]),e.unref(H)?(e.openBlock(),e.createBlock(m,e.mergeProps({key:1},e.unref(H),{class:"vv-textarea__icon vv-textarea__icon-after"}),null,16)):e.createCommentVNode("v-if",!0)]),t.$slots.after?(e.openBlock(),e.createElementBlock("div",j,[e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(oe))))])):e.createCommentVNode("v-if",!0),e.unref(B)?(e.openBlock(),e.createElementBlock("span",R,[e.renderSlot(t.$slots,"count",e.normalizeProps(e.guardReactiveProps(e.unref(oe))),(()=>[e.createTextVNode(e.toDisplayString(e.unref(K)),1)]))])):e.createCommentVNode("v-if",!0)]),e.createVNode(e.unref(X),{id:e.unref(T),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(ee))))])),key:"0"}:void 0,t.$slots.loading?{name:"loading",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"loading",e.normalizeProps(e.guardReactiveProps(e.unref(ee))))])),key:"1"}:void 0,t.$slots.valid?{name:"valid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"valid",e.normalizeProps(e.guardReactiveProps(e.unref(ee))))])),key:"2"}:void 0,t.$slots.invalid?{name:"invalid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"invalid",e.normalizeProps(e.guardReactiveProps(e.unref(ee))))])),key:"3"}:void 0]),1032,["id"])],2))}})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("@iconify/vue"),require("uid"),require("@vueuse/core")):"function"==typeof define&&define.amd?define(["vue","@iconify/vue","uid","@vueuse/core"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvTextarea=t(e.vue,e.vue$1,e.uid,e.core)}(this,(function(e,t,l,o){"use strict";function a(t){return null==(l=e.unref(t))||""===l||Array.isArray(l)&&0===l.length||!(l instanceof Date)&&"object"==typeof l&&0===Object.keys(l).length;var l}function i(e){return Array.isArray(e)?e.filter((e=>{return"string"==typeof(t=e)||t instanceof String;var t})).join(" "):e}const n={prefix:"normal"};var r=(e=>(e.local="local",e.session="session",e))(r||{}),u=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(u||{}),d=(e=>(e.before="before",e.after="after",e))(d||{}),s=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(s||{}),v=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(v||{});const c=Symbol.for("volver");function f(){return e.inject(c)}function p(t,l,o){return e.computed((()=>{const a={[t]:!0},i="string"==typeof(null==l?void 0:l.value)?l.value.split(" "):null==l?void 0:l.value;return i&&Array.isArray(i)&&i.forEach((e=>{e&&(a[`${t}--${e}`]=!0)})),o&&Object.keys(o.value).forEach((l=>{a[`${t}--${l}`]=e.unref(o.value[l])})),a}))}const m=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(l){const o=l,a=e.computed((()=>"string"==typeof o.rotate?Number.parseFloat(o.rotate):o.rotate)),i=e.ref(!0),n=f(),{modifiers:r}=e.toRefs(o),u=p("vv-icon",r),d=e.computed((()=>o.provider||(null==n?void 0:n.iconsProvider))),s=e.computed((()=>{const e=o.name??"",l=`@${d.value}:${o.prefix}:${e}`;if(t.iconExists(l))return l;const a=null==n?void 0:n.iconsCollections.find((l=>{const o=`@${d.value}:${l.prefix}:${e}`;return t.iconExists(o)}));return a?`@${d.value}:${a.prefix}:${e}`:e}));function v(e){const l=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=(null==l?void 0:l.innerHTML.trim())||"";l&&a&&t.addIcon(`@${d.value}:${o.prefix}:${o.name}`,{body:a,height:l.viewBox.baseVal.height,width:l.viewBox.baseVal.width})}return n&&o.src&&!t.iconExists(`@${d.value}:${o.prefix}:${o.name}`)&&(i.value=!1,n.fetchIcon(o.src).then((e=>{e&&(v(e),i.value=!0)})).catch((e=>{throw new Error(`Error during fetch icon: ${null==e?void 0:e.message}`)}))),o.svg&&v(o.svg),(l,o)=>e.unref(i)?(e.openBlock(),e.createBlock(e.unref(t.Icon),e.mergeProps({key:0,class:e.unref(u)},{inline:l.inline,width:l.width,height:l.height,horizontalFlip:l.horizontalFlip,verticalFlip:l.verticalFlip,flip:l.flip,rotate:e.unref(a),color:l.color,onLoad:l.onLoad,icon:e.unref(s)}),null,16,["class"])):e.createCommentVNode("v-if",!0)}}),h={valid:{type:Boolean,default:!1},validLabel:{type:[String,Array],default:void 0}},g={invalid:{type:Boolean,default:!1},invalidLabel:{type:[String,Array],default:void 0}},b={loading:{type:Boolean,default:!1},loadingLabel:{type:String,default:"Loading..."}},y={disabled:{type:Boolean,default:!1}},S=(Boolean,Boolean,Boolean,{label:{type:[String,Number],default:void 0}}),L={readonly:{type:Boolean,default:!1}},B={modifiers:{type:[String,Array],default:void 0}},x={hintLabel:{type:String,default:""}},$={count:{type:[Boolean,String],default:!1,validator:e=>[!0,!1,"limit","countdown"].includes(e)}},k={debounce:{type:[Number,String],default:void 0}},w={icon:{type:[String,Object],default:void 0},iconPosition:{type:String,default:d.before,validation:e=>Object.values(d).includes(e)}},V={tabindex:{type:[String,Number],default:0}},N={floating:{type:Boolean,default:!1}},O={id:[String,Number]};u.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;const P={...{...O,name:{type:String,required:!0}},...{autofocus:{type:Boolean,default:!1}},...{autocomplete:{type:String,default:"off"}},...V,...y,...L,...h,...g,...x,...b,...B,...$,...k,...w,...N,...S,minlength:{type:[String,Number],default:void 0},maxlength:{type:[String,Number],default:void 0},placeholder:{type:String,default:void 0},required:{type:Boolean,default:!1}};s.button,v.button,r.local;const _={...P,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"},resizable:Boolean};const I=["for"],C={class:"vv-textarea__wrapper"},E={key:0,class:"vv-textarea__input-before"},z={class:"vv-textarea__inner"},A=["id"],j={key:1,class:"vv-textarea__input-after"},R={key:2,class:"vv-textarea__limit"};return e.defineComponent({name:"VvTextarea",props:_,emits:["update:modelValue","focus","blur","keyup"],setup(t,{emit:n}){const r=t,s=n,v=e.useSlots(),c=function(t,l,o){const a=f(),i=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===i.value)return o;const e=i.value,t=l,a=o;return Object.keys(t).reduce(((l,o)=>{const i=a[o];if(l[o]=i,o in e){if(Array.isArray(t[o])){const a=t[o];a.length&&a[0]===i&&(l[o]=e[o])}if("function"==typeof t[o]&&(0,t[o])()===i&&(l[o]=e[o]),"object"==typeof t[o]){let a=t[o].default;"function"==typeof a&&(a=a()),"object"==typeof a?JSON.stringify(a)===JSON.stringify(i)&&(l[o]=e[o]):a===i&&(l[o]=e[o])}}return l}),{})}))}("VvTextarea",_,r),h=e.ref(),{id:g,icon:b,iconPosition:y,label:S,modelValue:L,count:B,valid:x,invalid:$,loading:k,modifiers:w,debounce:V,minlength:N,maxlength:O}=e.toRefs(r),P=function(t){return e.computed((()=>String((null==t?void 0:t.value)||l.uid())))}(g),T=e.computed((()=>`${P.value}-hint`)),q=e.computed((()=>r.floating&&a(r.placeholder)?" ":r.placeholder)),F=function(t,l,o=0,{getter:a=e=>e,setter:i=e=>e}={}){let n;return"string"==typeof o&&(o=Number.parseInt(o)),e.computed({get:()=>a(null==t?void 0:t.value),set:e=>{n&&clearTimeout(n),n=setTimeout((()=>{l("update:modelValue",i(e))}),o)}})}(L,s,null==V?void 0:V.value),{hasIconBefore:D,hasIconAfter:H}=function(t,l){const o=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==l?void 0:l.value)===d.before?o.value:void 0)),i=e.computed((()=>(null==l?void 0:l.value)===d.after?o.value:void 0)),n=e.computed((()=>(null==l?void 0:l.value)===u.left?o.value:void 0)),r=e.computed((()=>(null==l?void 0:l.value)===u.right?o.value:void 0)),s=e.computed((()=>(null==l?void 0:l.value)===u.top?o.value:void 0)),v=e.computed((()=>(null==l?void 0:l.value)===u.bottom?o.value:void 0));return{hasIcon:o,hasIconLeft:n,hasIconRight:r,hasIconTop:s,hasIconBottom:v,hasIconBefore:a,hasIconAfter:i}}(b,y),{focused:M}=function(t,l){const{focused:a}=o.useFocus(t);return e.watch(a,(o=>{l(o?"focus":"blur",e.unref(t))})),{focused:a}}(h,s),J=o.useElementVisibility(h);e.watch(J,(e=>{e&&r.autofocus&&(M.value=!0)}));const{formatted:K}=function(t,l){const o=e.computed((()=>(e.unref(t)??"").length)),a=e.computed((()=>void 0!==(null==l?void 0:l.lowerLimit)&&o.value<(null==l?void 0:l.lowerLimit)?o.value-l.lowerLimit:void 0!==(null==l?void 0:l.upperLimit)&&o.value<(null==l?void 0:l.upperLimit)?l.upperLimit-o.value:0)),i=e.computed((()=>{if(!1===(null==l?void 0:l.mode))return"";if("limit"===(null==l?void 0:l.mode)&&(null==l?void 0:l.upperLimit))return`${o.value} / ${l.lowerLimit?`${l.lowerLimit}-`:""}${l.upperLimit}`;if("countdown"===(null==l?void 0:l.mode)){if(0===a.value)return;return a}return o.value}));return{length:o,gap:a,formatted:i}}(F,{mode:null==B?void 0:B.value,upperLimit:Number(null==O?void 0:O.value),lowerLimit:Number(null==N?void 0:N.value)}),U=e.computed((()=>!r.disabled&&!r.readonly)),G=e.computed((()=>U.value?r.tabindex:-1)),Q=e.computed((()=>!a(L))),W=e.computed((()=>!0===r.invalid||!0!==r.valid&&void 0)),{HintSlot:X,hasHintLabelOrSlot:Y,hasInvalidLabelOrSlot:Z,hintSlotScope:ee}=function(t,l){const o=e.computed((()=>e.isRef(t)?t.value:t)),a=e.computed((()=>i(o.value.invalidLabel))),n=e.computed((()=>i(o.value.validLabel))),r=e.computed((()=>o.value.loadingLabel)),u=e.computed((()=>o.value.hintLabel)),d=e.computed((()=>Boolean(o.value.loading&&(l.loading||r.value)))),s=e.computed((()=>!d.value&&Boolean(o.value.invalid&&(l.invalid||a.value)))),v=e.computed((()=>!d.value&&!s.value&&Boolean(o.value.valid&&(l.valid||n.value)))),c=e.computed((()=>!d.value&&!s.value&&!v.value&&Boolean(l.hint||u.value))),f=e.computed((()=>s.value||v.value||d.value||c.value)),p=e.computed((()=>({modelValue:o.value.modelValue,valid:o.value.valid,invalid:o.value.invalid,loading:o.value.loading}))),m=e.defineComponent({name:"HintSlot",props:{tag:{type:String,default:"small"}},setup:()=>({isVisible:f,invalidLabel:a,validLabel:n,loadingLabel:r,hintLabel:u,hasInvalidLabelOrSlot:s,hasValidLabelOrSlot:v,hasLoadingLabelOrSlot:d,hasHintLabelOrSlot:c}),render(){var t,l,o,a,i,n,r,u;if(this.isVisible){let d;return this.hasInvalidLabelOrSlot&&(d="alert"),this.hasValidLabelOrSlot&&(d="status"),this.hasLoadingLabelOrSlot?e.h(this.tag,{role:d},(null==(l=(t=this.$slots).loading)?void 0:l.call(t))??this.loadingLabel):this.hasInvalidLabelOrSlot?e.h(this.tag,{role:d},(null==(a=(o=this.$slots).invalid)?void 0:a.call(o))??this.$slots.invalid??this.invalidLabel):this.hasValidLabelOrSlot?e.h(this.tag,{role:d},(null==(n=(i=this.$slots).valid)?void 0:n.call(i))??this.validLabel):e.h(this.tag,{role:d},(null==(u=(r=this.$slots).hint)?void 0:u.call(r))??this.$slots.hint??this.hintLabel)}return null}});return{hasInvalidLabelOrSlot:s,hasHintLabelOrSlot:c,hasValidLabelOrSlot:v,hasLoadingLabelOrSlot:d,hintSlotScope:p,HintSlot:m}}(c,v),te=p("vv-textarea",w,e.computed((()=>({valid:x.value,invalid:$.value,loading:k.value,disabled:r.disabled,readonly:r.readonly,"icon-before":void 0!==D.value,"icon-after":void 0!==H.value,floating:r.floating&&!a(r.label),dirty:Q.value,focus:M.value,resizable:r.resizable})))),le=e.computed((()=>({name:r.name,placeholder:q.value,tabindex:G.value,disabled:r.disabled,readonly:r.readonly,required:r.required,autocomplete:r.autocomplete,minlength:r.minlength,maxlength:r.maxlength,cols:r.cols,rows:r.rows,wrap:r.wrap,spellcheck:r.spellcheck,"aria-invalid":W.value,"aria-describedby":Y.value?T.value:void 0,"aria-errormessage":Z.value?T.value:void 0}))),oe=e.computed((()=>({valid:r.valid,invalid:r.invalid,modelValue:r.modelValue,hintLabel:r.hintLabel,maxlength:r.maxlength,minlength:r.minlength,clear:ae})));function ae(){F.value=void 0}return(t,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(te))},[e.unref(S)?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(P),class:"vv-textarea__label"},e.toDisplayString(e.unref(S)),9,I)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",C,[t.$slots.before?(e.openBlock(),e.createElementBlock("div",E,[e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(oe))))])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",z,[e.unref(D)?(e.openBlock(),e.createBlock(m,e.mergeProps({key:0},e.unref(D),{class:"vv-textarea__icon"}),null,16)):e.createCommentVNode("v-if",!0),e.withDirectives(e.createElementVNode("textarea",e.mergeProps({id:e.unref(P),ref_key:"textarea",ref:h,"onUpdate:modelValue":l[0]||(l[0]=t=>e.isRef(F)?F.value=t:null)},e.unref(le),{onKeyup:l[1]||(l[1]=e=>s("keyup",e))}),null,16,A),[[e.vModelText,e.unref(F)]]),e.unref(H)?(e.openBlock(),e.createBlock(m,e.mergeProps({key:1},e.unref(H),{class:"vv-textarea__icon vv-textarea__icon-after"}),null,16)):e.createCommentVNode("v-if",!0)]),t.$slots.after?(e.openBlock(),e.createElementBlock("div",j,[e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(oe))))])):e.createCommentVNode("v-if",!0),e.unref(B)?(e.openBlock(),e.createElementBlock("span",R,[e.renderSlot(t.$slots,"count",e.normalizeProps(e.guardReactiveProps(e.unref(oe))),(()=>[e.createTextVNode(e.toDisplayString(e.unref(K)),1)]))])):e.createCommentVNode("v-if",!0)]),e.createVNode(e.unref(X),{id:e.unref(T),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(ee))))])),key:"0"}:void 0,t.$slots.loading?{name:"loading",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"loading",e.normalizeProps(e.guardReactiveProps(e.unref(ee))))])),key:"1"}:void 0,t.$slots.valid?{name:"valid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"valid",e.normalizeProps(e.guardReactiveProps(e.unref(ee))))])),key:"2"}:void 0,t.$slots.invalid?{name:"invalid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"invalid",e.normalizeProps(e.guardReactiveProps(e.unref(ee))))])),key:"3"}:void 0]),1032,["id"])],2))}})}));
@@ -4668,15 +4668,15 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
4668
4668
  const localModelValue = computed({
4669
4669
  get: () => {
4670
4670
  if (Array.isArray(props.modelValue)) {
4671
- return new Set(props.modelValue);
4671
+ return props.modelValue;
4672
4672
  }
4673
- return props.modelValue !== void 0 && props.modelValue !== null ? /* @__PURE__ */ new Set([props.modelValue]) : /* @__PURE__ */ new Set();
4673
+ return props.modelValue !== void 0 && props.modelValue !== null ? [props.modelValue] : [];
4674
4674
  },
4675
4675
  set: (value) => {
4676
- emit("update:modelValue", props.multiple || Array.isArray(props.modelValue) ? [...value] : [...value].pop());
4676
+ emit("update:modelValue", props.multiple || Array.isArray(props.modelValue) ? value : value.pop());
4677
4677
  }
4678
4678
  });
4679
- const sizeOfModelValue = computed(() => localModelValue.value.size);
4679
+ const sizeOfModelValue = computed(() => localModelValue.value.length);
4680
4680
  const isDirty = computed(() => sizeOfModelValue.value > 0);
4681
4681
  const hasMaxValues = computed(() => {
4682
4682
  if (!props.multiple) {
@@ -4694,7 +4694,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
4694
4694
  if (!props.unselectable) {
4695
4695
  return false;
4696
4696
  }
4697
- return sizeOfModelValue.value > Number(props.minValues);
4697
+ return Number(props.minValues) === 0 || sizeOfModelValue.value > Number(props.minValues);
4698
4698
  });
4699
4699
  const isSelectable = computed(() => {
4700
4700
  if (isDisabledOrReadonly.value) {
@@ -4752,7 +4752,16 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
4752
4752
  });
4753
4753
  });
4754
4754
  function isOptionSelected(option) {
4755
- return localModelValue.value.has(getOptionValue(option));
4755
+ const optionValue = getOptionValue(option);
4756
+ if (typeof optionValue === "object") {
4757
+ return localModelValue.value.some((item) => {
4758
+ if (typeof item === "object") {
4759
+ return JSON.stringify(item) === JSON.stringify(optionValue);
4760
+ }
4761
+ return false;
4762
+ });
4763
+ }
4764
+ return localModelValue.value.includes(optionValue);
4756
4765
  }
4757
4766
  const selectedOptions = computed(() => {
4758
4767
  const options = props.options.reduce(
@@ -4776,15 +4785,20 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
4776
4785
  }
4777
4786
  function onInput(option) {
4778
4787
  const isSelected = isOptionSelected(option);
4788
+ const optionValue = getOptionValue(option);
4779
4789
  if (isSelected && isUnselectable.value) {
4780
- localModelValue.value.delete(getOptionValue(option));
4790
+ localModelValue.value = localModelValue.value.filter((item) => {
4791
+ if (typeof optionValue === "object" && typeof item === "object") {
4792
+ return JSON.stringify(item) !== JSON.stringify(optionValue);
4793
+ }
4794
+ return item !== optionValue;
4795
+ });
4781
4796
  } else if (!isSelected && isSelectable.value) {
4782
4797
  if (!props.multiple) {
4783
- localModelValue.value.clear();
4798
+ localModelValue.value = [];
4784
4799
  }
4785
- localModelValue.value.add(getOptionValue(option));
4800
+ localModelValue.value = [...localModelValue.value, optionValue];
4786
4801
  }
4787
- localModelValue.value = new Set(localModelValue.value);
4788
4802
  if (!props.multiple && !props.keepOpen) {
4789
4803
  collapse();
4790
4804
  }
@@ -7524,6 +7538,7 @@ const VvInputFileProps = {
7524
7538
  ...LabelProps,
7525
7539
  ...LoadingProps,
7526
7540
  ...ReadonlyProps,
7541
+ ...DisabledProps,
7527
7542
  ...IconProps,
7528
7543
  /**
7529
7544
  * Input value
@@ -7634,13 +7649,13 @@ const _hoisted_1 = ["for"];
7634
7649
  const _hoisted_2 = { class: "vv-input-file__preview" };
7635
7650
  const _hoisted_3 = ["src", "alt"];
7636
7651
  const _hoisted_4 = { class: "vv-input-file__wrapper" };
7637
- const _hoisted_5 = ["id", "readonly", "placeholder", "aria-describedby", "aria-invalid", "aria-errormessage", "multiple", "accept", "capture", "name"];
7652
+ const _hoisted_5 = ["id", "readonly", "disabled", "placeholder", "aria-describedby", "aria-invalid", "aria-errormessage", "multiple", "accept", "capture", "name"];
7638
7653
  const _hoisted_6 = ["value"];
7639
7654
  const _hoisted_7 = ["onClick"];
7640
7655
  const _hoisted_8 = ["title", "onClick"];
7641
7656
  const _hoisted_9 = { class: "vv-input-file__item-name" };
7642
7657
  const _hoisted_10 = { class: "vv-input-file__item-info" };
7643
- const _hoisted_11 = ["title", "onClick"];
7658
+ const _hoisted_11 = ["title", "disabled", "onClick"];
7644
7659
  const __default__ = {
7645
7660
  name: "VvInputFile"
7646
7661
  };
@@ -7657,7 +7672,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
7657
7672
  VvInputFileProps,
7658
7673
  props
7659
7674
  );
7660
- const { modifiers, id, readonly, icon, iconPosition, iconDownload } = toRefs(props);
7675
+ const { modifiers, id, readonly, disabled, icon, iconPosition, iconDownload } = toRefs(props);
7661
7676
  const hasId = useUniqueId(id);
7662
7677
  const hasHintId = computed(() => `${hasId.value}-hint`);
7663
7678
  const hasProgress = computed(() => {
@@ -7705,11 +7720,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
7705
7720
  localModelValue.value = value == null ? void 0 : value[0];
7706
7721
  }
7707
7722
  });
7723
+ const isDisabledOrReadonly = computed(() => props.disabled || props.readonly);
7708
7724
  const hasMax = computed(() => {
7709
7725
  return typeof props.max === "string" ? Number.parseInt(props.max) : props.max;
7710
7726
  });
7711
7727
  const hasDropArea = computed(() => {
7712
- return props.dropArea && !readonly.value;
7728
+ return props.dropArea && !isDisabledOrReadonly.value;
7713
7729
  });
7714
7730
  const isMultiple = computed(() => {
7715
7731
  if (!props.multiple) {
@@ -7772,7 +7788,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
7772
7788
  if (!inputEl.value) {
7773
7789
  return;
7774
7790
  }
7775
- if (!readonly.value) {
7791
+ if (!isDisabledOrReadonly.value) {
7776
7792
  inputEl.value.click();
7777
7793
  }
7778
7794
  }
@@ -7905,12 +7921,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
7905
7921
  modifiers: "action",
7906
7922
  label: !previewSrc.value ? dropdAreaActionLabel.value : void 0,
7907
7923
  title: previewSrc.value ? dropdAreaActionLabel.value : void 0,
7924
+ disabled: unref(disabled),
7908
7925
  class: normalizeClass({
7909
7926
  "vv-input-file__drop-area-action": previewSrc.value
7910
7927
  }),
7911
7928
  icon: dropAreaActionIcon.value,
7912
7929
  onClick: withModifiers(onClickDropArea, ["stop"])
7913
- }, null, 8, ["label", "title", "class", "icon"])) : createCommentVNode("v-if", true)
7930
+ }, null, 8, ["label", "title", "disabled", "class", "icon"])) : createCommentVNode("v-if", true)
7914
7931
  ])
7915
7932
  ],
7916
7933
  32
@@ -7930,6 +7947,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
7930
7947
  ref: inputEl,
7931
7948
  type: "file",
7932
7949
  readonly: unref(readonly),
7950
+ disabled: unref(disabled),
7933
7951
  placeholder: _ctx.placeholder,
7934
7952
  "aria-describedby": unref(hasHintLabelOrSlot) ? hasHintId.value : void 0,
7935
7953
  "aria-invalid": _ctx.invalid,
@@ -8005,6 +8023,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
8005
8023
  type: "button",
8006
8024
  class: "vv-input-file__item-remove",
8007
8025
  title: _ctx.labelRemove,
8026
+ disabled: unref(disabled),
8008
8027
  onClick: withModifiers(($event) => onClickRemoveFile(index), ["stop"])
8009
8028
  }, null, 8, _hoisted_11)) : createCommentVNode("v-if", true)
8010
8029
  ], 10, _hoisted_7)