@volverjs/ui-vue 0.0.12 → 0.0.13-beta.1

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.
Files changed (79) hide show
  1. package/dist/components/VvAccordion/VvAccordion.es.js +1 -1
  2. package/dist/components/VvAccordion/VvAccordion.vue.d.ts +7 -2
  3. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +1 -1
  4. package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +5 -2
  5. package/dist/components/VvAction/VvAction.es.js +1 -1
  6. package/dist/components/VvAction/VvAction.umd.js +1 -1
  7. package/dist/components/VvAction/VvAction.vue.d.ts +3 -2
  8. package/dist/components/VvAlert/VvAlert.es.js +1 -1
  9. package/dist/components/VvAlert/VvAlert.vue.d.ts +3 -2
  10. package/dist/components/VvAlertGroup/VvAlertGroup.es.js +1 -1
  11. package/dist/components/VvAlertGroup/VvAlertGroup.vue.d.ts +3 -3
  12. package/dist/components/VvAvatar/VvAvatar.vue.d.ts +2 -2
  13. package/dist/components/VvAvatarGroup/VvAvatarGroup.vue.d.ts +2 -2
  14. package/dist/components/VvBadge/VvBadge.vue.d.ts +2 -2
  15. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +1 -1
  16. package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
  17. package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +2 -2
  18. package/dist/components/VvButton/VvButton.es.js +1 -1
  19. package/dist/components/VvButton/VvButton.umd.js +1 -1
  20. package/dist/components/VvButton/VvButton.vue.d.ts +3 -2
  21. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +1 -1
  22. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +2 -2
  23. package/dist/components/VvCard/VvCard.vue.d.ts +2 -2
  24. package/dist/components/VvCheckbox/VvCheckbox.es.js +1 -1
  25. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +2 -2
  26. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +1 -1
  27. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +2 -2
  28. package/dist/components/VvCombobox/VvCombobox.es.js +1 -1
  29. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  30. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +9 -7
  31. package/dist/components/VvDialog/VvDialog.vue.d.ts +4 -2
  32. package/dist/components/VvDropdown/VvDropdown.es.js +1 -1
  33. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +14 -2
  34. package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +2 -2
  35. package/dist/components/VvDropdown/VvDropdownItem.vue.d.ts +2 -2
  36. package/dist/components/VvDropdown/VvDropdownOptgroup.vue.d.ts +2 -2
  37. package/dist/components/VvDropdown/VvDropdownOption.vue.d.ts +2 -2
  38. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +1 -1
  39. package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -1
  40. package/dist/components/VvDropdownItem/VvDropdownItem.es.js +1 -1
  41. package/dist/components/VvDropdownOption/VvDropdownOption.es.js +1 -1
  42. package/dist/components/VvIcon/VvIcon.es.js +1 -1
  43. package/dist/components/VvIcon/VvIcon.vue.d.ts +2 -2
  44. package/dist/components/VvInputFile/VvInputFile.es.js +1 -1
  45. package/dist/components/VvInputFile/VvInputFile.umd.js +1 -1
  46. package/dist/components/VvInputFile/VvInputFile.vue.d.ts +34 -4
  47. package/dist/components/VvInputFile/index.d.ts +7 -0
  48. package/dist/components/VvInputText/VvInputText.es.js +2 -2
  49. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  50. package/dist/components/VvInputText/VvInputText.vue.d.ts +8 -3
  51. package/dist/components/VvNav/VvNav.es.js +1 -1
  52. package/dist/components/VvNav/VvNav.umd.js +1 -1
  53. package/dist/components/VvNav/VvNav.vue.d.ts +2 -2
  54. package/dist/components/VvNav/VvNavItem.vue.d.ts +2 -2
  55. package/dist/components/VvNav/VvNavSeparator.vue.d.ts +1 -1
  56. package/dist/components/VvNavItem/VvNavItem.es.js +1 -1
  57. package/dist/components/VvNavItem/VvNavItem.umd.js +1 -1
  58. package/dist/components/VvProgress/VvProgress.vue.d.ts +2 -2
  59. package/dist/components/VvRadio/VvRadio.es.js +1 -1
  60. package/dist/components/VvRadio/VvRadio.vue.d.ts +2 -2
  61. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +1 -1
  62. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +2 -2
  63. package/dist/components/VvSelect/VvSelect.es.js +1 -1
  64. package/dist/components/VvSelect/VvSelect.vue.d.ts +9 -7
  65. package/dist/components/VvTab/VvTab.es.js +1 -1
  66. package/dist/components/VvTab/VvTab.umd.js +1 -1
  67. package/dist/components/VvTab/VvTab.vue.d.ts +2 -2
  68. package/dist/components/VvTextarea/VvTextarea.es.js +1 -1
  69. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +3 -3
  70. package/dist/components/VvTooltip/VvTooltip.vue.d.ts +2 -2
  71. package/dist/components/index.es.js +5 -5
  72. package/dist/components/index.umd.js +1 -1
  73. package/dist/icons.es.js +1 -1
  74. package/dist/icons.umd.js +1 -1
  75. package/dist/index.es.js +1 -1
  76. package/dist/props/index.d.ts +7 -0
  77. package/dist/stories/AccordionGroup/AccordionGroupSlots.stories.d.ts +2 -2
  78. package/dist/stories/Avatar/Avatar.settings.d.ts +1 -1
  79. package/package.json +35 -28
@@ -1 +1 @@
1
- import{computed as e,isRef as l,defineComponent as t,h as a,inject as i,toRef as o,toRefs as n,getCurrentInstance as r,ref as u,watch as s,resolveComponent as v,createBlock as d,openBlock as c,resolveDynamicComponent as f,unref as p,mergeProps as b,withCtx as g,renderSlot as y,createTextVNode as m,toDisplayString as h,mergeDefaults as L,createCommentVNode as S,useId as k,useAttrs as A,useSlots as $,createElementBlock as w,Fragment as B,onBeforeUnmount as O,normalizeClass as _,createElementVNode as x,createVNode as I,withModifiers as V,normalizeProps as j,guardReactiveProps as R,createSlots as C}from"vue";import{useVModel as N}from"@vueuse/core";import D from"vuedraggable";import{iconLoaded as F,Icon as P,addIcon as E}from"@iconify/vue";const U="add",M="edit",T="download",q={prefix:"normal"};var G=/* @__PURE__ */(e=>(e.local="local",e.session="session",e))(G||{}),H=/* @__PURE__ */(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(H||{}),z=/* @__PURE__ */(e=>(e.before="before",e.after="after",e))(z||{}),J=/* @__PURE__ */(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(J||{}),W=/* @__PURE__ */(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(W||{});const K=Symbol.for("volver"),Y=Symbol.for("buttonGroup"),Z=Symbol.for("dropdownTrigger"),Q=Symbol.for("dropdownAction"),X={to:{type:[String,Object]},href:String,target:String,rel:{type:String,default:"noopener noreferrer"}},ee={valid:{type:Boolean,default:!1},validLabel:{type:[String,Array],default:void 0}},le={invalid:{type:Boolean,default:!1},invalidLabel:{type:[String,Array],default:void 0}},te={loading:{type:Boolean,default:!1},loadingLabel:{type:String,default:"Loading..."}},ae={disabled:{type:Boolean,default:!1}},ie={required:{type:Boolean,default:!1}},oe={active:{type:Boolean,default:!1}},ne={current:{type:Boolean,default:!1}},re={pressed:{type:Boolean,default:!1}},ue={label:{type:[String,Number],default:void 0}},se={readonly:{type:Boolean,default:!1}},ve={modifiers:{type:[String,Array],default:void 0}},de={hintLabel:{type:String,default:""}},ce={icon:{type:[String,Object],default:void 0},iconPosition:{type:String,default:z.before,validation:e=>Object.values(z).includes(e)}},fe={unselectable:{type:Boolean,default:!0}},pe={id:[String,Number]};H.bottom;const be={...pe,name:{type:String,required:!0}},ge={...ae,...ue,...re,...oe,...ne,...X,type:{type:String,default:J.button,validator:e=>Object.values(J).includes(e)},ariaLabel:{type:String,default:void 0},defaultTag:{type:String,default:W.button}};G.local;const ye={...be,...ve,...ee,...le,...de,...ue,...te,...se,...ae,...ie,...ce,modelValue:{type:Object},progress:{type:[Number,String],default:void 0},placeholder:{type:String,default:void 0},accept:{type:String,default:"*"},multiple:{type:Boolean,default:!1},capture:{type:String,default:void 0,validation:e=>void 0===e||["user","environment"].includes(e)},max:{type:[Number,String],default:void 0},dropArea:{type:Boolean,default:!1},sortable:{type:Boolean,default:!1},labelAdd:{type:String,default:"Add file"},iconAdd:{type:[String,Object],default:U},labelReplace:{type:String,default:"Replace file"},iconReplace:{type:[String,Object],default:M},labelDownload:{type:String,default:"Downlaod file"},iconDownload:{type:[String,Object],default:T},labelRemove:{type:String,default:"Remove file"}};function me(e,l,t){return he(e,l)}function he(e,l){if(e===l)return!0;if(e&&l&&"object"==typeof e&&"object"==typeof l){const t=Array.isArray(e),a=Array.isArray(l);let i,o,n;if(t&&a){if(o=e.length,o!==l.length)return!1;for(i=o;0!==i--;)if(!he(e[i],l[i]))return!1;return!0}if(t!==a)return!1;const r=e instanceof Date,u=l instanceof Date;if(r!==u)return!1;if(r&&u)return e.getTime()===l.getTime();const s=e instanceof RegExp,v=l instanceof RegExp;if(s!==v)return!1;if(s&&v)return e.toString()===l.toString();const d=Object.keys(e);if(o=d.length,o!==Object.keys(l).length)return!1;for(i=o;0!==i--;)if(!Object.prototype.hasOwnProperty.call(l,d[i]))return!1;for(i=o;0!==i--;)if(n=d[i],!he(e[n],l[n]))return!1;return!0}return Number.isNaN(e)&&Number.isNaN(l)}function Le(e,l){if(null!=e&&l&&l.length)for(const t of l)if(me(e,t))return!0;return!1}function Se(e){return Array.isArray(e)?e.filter(e=>"string"==typeof e).join(" "):e}const ke={...ge,...pe,...ve,...fe,...te,...ce,iconPosition:{type:String,default:H.left,validator:e=>Object.values(H).includes(e)},loadingIcon:{type:String,default:"eos-icons:bubble-loading"},toggle:{type:Boolean,default:!1},value:{type:[String,Number,Boolean],default:void 0},uncheckedValue:{type:[String,Number,Boolean],default:void 0},modelValue:{type:[String,Number,Boolean],default:void 0}};function Ae(l,t){const{group:a,isInGroup:r,getGroupOrLocalRef:u}=function(l){const t=i(l,void 0),a=e(()=>void 0!==t);return{group:t,isInGroup:a,getGroupOrLocalRef:function(l,a,i){const n=t?.[l];if(n)return e({get:()=>n.value,set(e){n.value=e}});const r=o(a,l);return e({get:()=>r.value,set(e){i&&i(`update:${l}`,e)}})}}}(Y),{id:s,iconPosition:v,icon:d,label:c,pressed:f}=n(l),p=u("modelValue",l,t),b=u("toggle",l),g=u("unselectable",l),y=e(()=>a?.multiple.value??!1),m=e(()=>{let e=l.modifiers,t=a?.modifiers.value;const i=/* @__PURE__ */new Set;return e&&(Array.isArray(e)||(e=e.split(" ")),e.forEach(e=>i.add(e))),t&&(Array.isArray(t)||(t=t.split(" ")),t.forEach(e=>i.add(e))),Array.from(i)}),h=e(()=>Boolean(l.disabled||a?.disabled.value));return{group:a,isInGroup:r,modelValue:p,toggle:b,unselectable:g,multiple:y,modifiers:m,disabled:h,id:s,pressed:f,iconPosition:v,icon:d,label:c}}function $e(){return i(K,void 0)}const we=/* @__PURE__ */t({name:"VvAction",props:ge,emits:["click","mouseover","mouseleave"],setup(l,{expose:t,emit:a}){const o=l,n=a,L=r(),S=$e(),k=u(null);t({$el:k});const{reference:A,bus:$,aria:w,expanded:B}=i(Z,{});s(()=>k.value,e=>{A&&(A.value=e)});const O=e(()=>o.pressed||B?.value),{role:_}=i(Q,{}),x=e(()=>{switch(!0){case o.disabled:return W.button;case void 0!==o.to:return S?.nuxt?v(W.nuxtLink):W.routerLink;case void 0!==o.href:return W.a;default:return o.defaultTag}}),I=e(()=>{const e={...w?.value,ariaPressed:!!O.value||void 0,ariaLabel:o.ariaLabel,role:_?.value};switch(x.value){case W.a:return{...e,href:o.href,target:o.target,rel:o.rel};case W.routerLink:case W.nuxtLink:return{...e,to:o.to,target:o.target};case W.button:return{...e,type:o.type,disabled:o.disabled};default:return e}});function V(e){o.disabled?e.preventDefault():L?.vnode.props?.onClick?n("click",e):$?.emit("click",e)}function j(e){L?.vnode.props?.onMouseover?n("mouseover",e):$?.emit("mouseover",e)}function R(e){L?.vnode.props?.onMouseleave?n("mouseleave",e):$?.emit("mouseleave",e)}return(e,l)=>(c(),d(f(p(x)),b(p(I),{ref_key:"element",ref:k,class:{active:e.active,pressed:p(O),disabled:e.disabled,current:e.current},onClickPassive:V,onMouseoverPassive:j,onMouseleavePassive:R}),{default:g(()=>[y(e.$slots,"default",{},()=>[m(h(e.label),1)])]),_:3},16,["class"]))}});function Be(l,t,a){return e(()=>{const e={[l]:!0},i="string"==typeof t?.value?t.value.split(" "):t?.value;return i&&Array.isArray(i)&&i.forEach(t=>{t&&(e[`${l}--${t}`]=!0)}),a&&Object.keys(a.value).forEach(t=>{e[`${l}--${t}`]=p(a.value[t])}),e})}const Oe=/* @__PURE__ */t({name:"VvIcon",props:/* @__PURE__ */L({name:{},color:{},width:{},height:{},provider:{},prefix:{},src:{},horizontalFlip:{type:Boolean},verticalFlip:{type:Boolean},flip:{},mode:{},inline:{type:Boolean},rotate:{},onLoad:{type:Function},svg:{},modifiers:{}},q),setup(l){const t=l,a=e(()=>"string"==typeof t.rotate?Number.parseFloat(t.rotate):t.rotate),i=u(!0),o=$e(),{modifiers:r}=n(t),s=Be("vv-icon",r),v=e(()=>t.provider||o?.iconsProvider),f=e(()=>{const e=t.name??"",l=`@${v.value}:${t.prefix}:${e}`;if(F(l))return l;const a=o?.iconsCollections.find(l=>{const t=`@${v.value}:${l.prefix}:${e}`;return F(t)});return a?`@${v.value}:${a.prefix}:${e}`:e});function g(e){const l=function(e){let l;if("undefined"==typeof window){const{JSDOM:e}=require("jsdom");l=(new e).window}return(l?new l.DOMParser:new window.DOMParser).parseFromString(e,"text/html").querySelector("svg")}(e),a=l?.innerHTML.trim()||"";l&&a&&E(`@${v.value}:${t.prefix}:${t.name}`,{body:a,height:l.viewBox.baseVal.height,width:l.viewBox.baseVal.width})}return o&&t.src&&!F(`@${v.value}:${t.prefix}:${t.name}`)&&(i.value=!1,o.fetchIcon(t.src).then(e=>{e&&(g(e),i.value=!0)}).catch(e=>{throw new Error(`Error during fetch icon: ${e?.message}`)})),t.svg&&g(t.svg),(e,t)=>p(i)?(c(),d(p(P),b({key:0,class:p(s)},{inline:l.inline,width:l.width,height:l.height,horizontalFlip:l.horizontalFlip,verticalFlip:l.verticalFlip,flip:l.flip,rotate:p(a),color:l.color,icon:p(f)},{onLoad:l.onLoad}),null,16,["class","onLoad"])):S("v-if",!0)}});function _e(l){return e(()=>String(l?.value||k()))}function xe(l,t){const a=e(()=>"string"==typeof l?.value?{name:l?.value}:l?.value),i=e(()=>t?.value===z.before?a.value:void 0),o=e(()=>t?.value===z.after?a.value:void 0),n=e(()=>t?.value===H.left?a.value:void 0),r=e(()=>t?.value===H.right?a.value:void 0),u=e(()=>t?.value===H.top?a.value:void 0),s=e(()=>t?.value===H.bottom?a.value:void 0);return{hasIcon:a,hasIconLeft:n,hasIconRight:r,hasIconTop:u,hasIconBottom:s,hasIconBefore:i,hasIconAfter:o}}const Ie={key:1,class:"vv-button__label"},Ve={key:1,class:"vv-button__label"},je=/* @__PURE__ */t({name:"VvButton",inheritAttrs:!1,props:ke,emits:["update:modelValue"],setup(l,{expose:t,emit:a}){const i=l,o=a,n=A(),r=$(),{id:s,modifiers:v,iconPosition:f,icon:L,label:k,modelValue:O,disabled:_,toggle:x,unselectable:I}=Ae(i,o),V=_e(s),j=e(()=>n?.name||V.value),R=u(null);t({$el:e(()=>R.value?.$el)});const C=e(()=>x.value?Array.isArray(O.value)?Le(j.value,O.value):me(j.value,O.value):i.pressed),N=Be("vv-button",v,e(()=>({reverse:[H.right,H.bottom].includes(f.value),column:[H.top,H.bottom].includes(f.value),"icon-only":Boolean(L?.value&&!k?.value&&!r.default)}))),{hasIcon:D}=xe(L),F=e(()=>void 0!==i.value?i.value:j.value),P=e(()=>{if(x.value)return{onClick:E}});function E(){if(x.value){if(Array.isArray(O.value))return Le(F.value,O.value)?void(I.value&&(O.value=O.value.filter(e=>e!==F.value))):void O.value.push(F.value);if(F.value===O.value&&I.value)return void(O.value=i.uncheckedValue);O.value=F.value}}return(e,l)=>(c(),d(we,b({...p(n),...p(P),disabled:p(_),pressed:p(C),active:e.active,type:e.type,to:e.to,href:e.href,target:e.target,rel:e.rel,ariaLabel:e.ariaLabel},{id:p(V),ref_key:"element",ref:R,class:p(N)}),{default:g(()=>[y(e.$slots,"default",{},()=>[e.loading?y(e.$slots,"loading",{key:0},()=>[e.loadingIcon?(c(),d(Oe,{key:0,class:"vv-button__loading-icon",name:e.loadingIcon},null,8,["name"])):S("v-if",!0),e.loadingLabel?(c(),w("span",Ie,h(e.loadingLabel),1)):S("v-if",!0)]):(c(),w(B,{key:1},[y(e.$slots,"before"),p(D)?(c(),d(Oe,b({key:0},p(D),{class:"vv-button__icon"}),null,16)):S("v-if",!0),p(k)?(c(),w("span",Ve,[y(e.$slots,"label",{},()=>[m(h(p(k)),1)])])):S("v-if",!0),y(e.$slots,"after")],64))])]),_:3},16,["id","class"]))}});const Re=["for"],Ce={class:"vv-input-file__preview"},Ne=["src","alt"],De={class:"vv-input-file__wrapper"},Fe=["id","readonly","disabled","required","placeholder","aria-describedby","aria-invalid","aria-errormessage","multiple","accept","capture","name"],Pe=["value"],Ee=["onClick"],Ue=["title","onClick"],Me={class:"vv-input-file__item-name"},Te={class:"vv-input-file__item-info"},qe=["title","disabled","onClick"],Ge=/* @__PURE__ */t({name:"VvInputFile",props:ye,emits:["remove","download","update:modelValue"],setup(i,{emit:o}){const r=i,v=o,f=$(),m=function(l,t,a){const i=$e(),o=e(()=>{if(i&&i.defaults.value?.[l])return i.defaults.value[l]});return e(()=>{if(void 0===o.value)return a;const e=o.value,l=t,i=a;return Object.keys(l).reduce((t,a)=>{const o=i[a];if(t[a]=o,a in e){if(Array.isArray(l[a])){const i=l[a];i.length&&i[0]===o&&(t[a]=e[a])}if("function"==typeof l[a]&&(0,l[a])()===o&&(t[a]=e[a]),"object"==typeof l[a]){let i=l[a].default;"function"==typeof i&&(i=i()),"object"==typeof i?JSON.stringify(i)===JSON.stringify(o)&&(t[a]=e[a]):i===o&&(t[a]=e[a])}}return t},{})})}("VvInputFile",ye,r),{modifiers:L,id:k,readonly:A,disabled:B,icon:F,iconPosition:P,iconDownload:E}=n(r),U=_e(k),M=e(()=>`${U.value}-hint`),T=e(()=>{if(!r.progress)return!1;const e="string"==typeof r.progress?Number.parseInt(r.progress):r.progress;return e>0&&e<100}),{hasIconBefore:q,hasIconAfter:G}=xe(F,P),{hasIcon:H}=xe(E),z=Be("vv-input-file",L,e(()=>({valid:!0===r.valid,invalid:!0===r.invalid,loading:r.loading&&!T.value,disabled:r.disabled,required:r.required,readonly:r.readonly,dragging:ae.value,"icon-before":!!q.value,"icon-after":!!G.value,"drop-area":le.value}))),{HintSlot:J,hasHintLabelOrSlot:W,hasInvalidLabelOrSlot:K,hintSlotScope:Y}=function(i,o){const n=e(()=>l(i)?i.value:i),r=e(()=>Se(n.value.invalidLabel)),u=e(()=>Se(n.value.validLabel)),s=e(()=>n.value.loadingLabel),v=e(()=>n.value.hintLabel),d=e(()=>Boolean(n.value.loading&&(o.loading||s.value))),c=e(()=>!d.value&&Boolean(n.value.invalid&&(o.invalid||r.value))),f=e(()=>!d.value&&!c.value&&Boolean(n.value.valid&&(o.valid||u.value))),p=e(()=>!d.value&&!c.value&&!f.value&&Boolean(o.hint||v.value)),b=e(()=>c.value||f.value||d.value||p.value),g=e(()=>({modelValue:n.value.modelValue,valid:n.value.valid,invalid:n.value.invalid,loading:n.value.loading})),y=t({name:"HintSlot",props:{tag:{type:String,default:"small"}},setup:()=>({isVisible:b,invalidLabel:r,validLabel:u,loadingLabel:s,hintLabel:v,hasInvalidLabelOrSlot:c,hasValidLabelOrSlot:f,hasLoadingLabelOrSlot:d,hasHintLabelOrSlot:p}),render(){if(this.isVisible){let e;return this.hasInvalidLabelOrSlot&&(e="alert"),this.hasValidLabelOrSlot&&(e="status"),this.hasLoadingLabelOrSlot?a(this.tag,{role:e},this.$slots.loading?.()??this.loadingLabel):this.hasInvalidLabelOrSlot?a(this.tag,{role:e},this.$slots.invalid?.()??this.$slots.invalid??this.invalidLabel):this.hasValidLabelOrSlot?a(this.tag,{role:e},this.$slots.valid?.()??this.validLabel):a(this.tag,{role:e},this.$slots.hint?.()??this.$slots.hint??this.hintLabel)}return null}});return{hasInvalidLabelOrSlot:c,hasHintLabelOrSlot:p,hasValidLabelOrSlot:f,hasLoadingLabelOrSlot:d,hintSlotScope:g,HintSlot:y}}(m,f),Z=N(r,"modelValue",v),Q=e({get:()=>Z.value&&(Array.isArray(Z.value)||Z.value?.name)?Array.isArray(Z.value)?Z.value:[Z.value]:[],set:e=>{te.value?Z.value=e:Z.value=e?.[0]}}),X=e(()=>r.disabled||r.readonly),ee=e(()=>"string"==typeof r.max?Number.parseInt(r.max):r.max),le=e(()=>r.dropArea&&!X.value),te=e(()=>!!r.multiple&&(!ee.value||ee.value-Q.value.length>1)),ae=u(!1),ie=u();function oe(){ae.value=!0}function ne(){ae.value=!1}function re(e){e.dataTransfer?.files&&(ae.value=!1,se(e.dataTransfer?.files))}function ue(){ie.value?.files&&(se(ie.value.files),ie.value.value="")}function se(e){const l=function(e,l){if(!l||""===l.trim()||"*"===l)return Array.from(e);const{mimeTypes:t,extensions:a,wildcards:i}=function(e){const l=[],t=[],a=[],i=e?.split(",").map(e=>e.trim().toLowerCase());return i?.length&&i.forEach(e=>{e.startsWith(".")?t.push(e):e.includes("/*")?a.push(e.replace("/*","")):l.push(e)}),{mimeTypes:l,extensions:t,wildcards:a}}(l);return Array.from(e).filter(e=>{const l=e.type.toLowerCase(),o=`.${e.name.split(".").pop()?.toLowerCase()}`,n=t.includes(l),r=i.some(e=>l.startsWith(`${e}/`)),u=a.some(e=>o===e.toLowerCase());return n||r||u})}(e,r.accept);if(!r.multiple)return Array.isArray(Z.value)?void(Z.value=l):void(Z.value=l[0]);let t=[];t=!Array.isArray(Z.value)&&Z.value?[Z.value]:Z.value&&Array.isArray(Z.value)?[...Z.value]:t;for(const a of l){if(ee.value&&t.length>=ee.value)break;t.push(a)}Z.value=t,de.value=t.length-1}function ve(){ie.value&&(X.value||ie.value.click())}const de=u(0),ce=["image/jpeg","image/png"],fe=e(()=>{if(0===Q.value.length)return;if(!Q.value[de.value])return;if(Q.value[de.value]instanceof File){const e=Q.value[de.value];if(!ce.includes(e.type))return;return URL.createObjectURL(e)}const e=Q.value[de.value];return e.thumbnailUrl?e.thumbnailUrl:ce.includes(e.type)?e.url:void 0});function pe(e,l){if(!e)return;if(0===e)return"0 Bytes";const t=Math.floor(Math.log(e)/Math.log(1024));return`${Number.parseFloat((e/1024**t).toFixed(2))} ${["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"][t]}`}s(fe,(e,l)=>{l&&URL.revokeObjectURL(l)}),O(()=>{fe.value&&URL.revokeObjectURL(fe.value)});const be=e(()=>0===Q.value.length||te.value?r.labelAdd:r.labelReplace),ge=e(()=>0===Q.value.length||te.value?r.iconAdd:r.iconReplace);function me({newIndex:e}){null!==e&&(de.value=e)}return(e,l)=>(c(),w("div",{class:_(p(z))},[e.label?(c(),w("label",{key:0,for:p(U)},h(e.label),9,Re)):S("v-if",!0),le.value?(c(),w("div",{key:1,class:"vv-input-file__drop-area",onDragenter:V(oe,["prevent","stop"]),onDragleave:V(ne,["prevent","stop"]),onDrop:V(re,["prevent","stop"]),onDragover:l[0]||(l[0]=V(()=>{},["prevent","stop"])),onClick:V(ve,["stop"])},[y(e.$slots,"drop-area",{},()=>[x("picture",Ce,[fe.value?(c(),w("img",{key:0,src:fe.value,alt:Q.value[de.value].name},null,8,Ne)):S("v-if",!0)]),p(A)?S("v-if",!0):(c(),d(je,{key:0,modifiers:"action",label:fe.value?void 0:be.value,title:fe.value?be.value:void 0,disabled:p(B),class:_({"vv-input-file__drop-area-action":fe.value}),icon:ge.value,onClick:V(ve,["stop"])},null,8,["label","title","disabled","class","icon"]))])],32)):S("v-if",!0),x("div",De,[p(q)?(c(),d(Oe,j(b({key:0},p(q))),null,16)):S("v-if",!0),x("input",{id:p(U),ref_key:"inputEl",ref:ie,type:"file",readonly:p(A),disabled:p(B),required:e.required,placeholder:e.placeholder,"aria-describedby":p(W)?M.value:void 0,"aria-invalid":e.invalid,"aria-errormessage":p(K)?M.value:void 0,multiple:te.value,accept:e.accept,capture:e.capture,name:e.name,onChange:ue},null,40,Fe),T.value?(c(),w("progress",{key:1,class:"vv-input-file__progress",value:e.progress,max:"100"},h(e.progress)+"% ",9,Pe)):S("v-if",!0),p(G)?(c(),d(Oe,j(b({key:2},p(G))),null,16)):S("v-if",!0)]),I(p(D),{modelValue:Q.value,"onUpdate:modelValue":l[1]||(l[1]=e=>Q.value=e),tag:"ul",class:"vv-input-file__list","item-key":"name",move:()=>e.sortable,onEnd:me},{item:g(({element:l,index:t})=>[x("li",{class:_(["vv-input-file__item",{active:t===de.value&&le.value&&Q.value.length>1,"cursor-move":e.sortable}]),onClick:V(e=>function(e){de.value=e}(t),["stop"])},[p(H)?(c(),w("button",{key:0,type:"button",class:"vv-input-file__item-action",title:e.labelDownload,onClick:V(e=>function(e){v("download",e);const l=e instanceof File?URL.createObjectURL(e):e.url;if(!l)return;const t=document.createElement("a");t.href=l,t.setAttribute("download",e.name),document.body.appendChild(t),t.click(),document.body.removeChild(t),URL.revokeObjectURL(t.href)}(l),["stop"])},[I(Oe,j(R(p(H))),null,16)],8,Ue)):S("v-if",!0),x("div",Me,h(l.name),1),x("small",Te,h(pe(l.size)),1),p(A)?S("v-if",!0):(c(),w("button",{key:1,type:"button",class:"vv-input-file__item-remove",title:e.labelRemove,disabled:p(B),onClick:V(e=>function(e){const l=Array.isArray(Z.value)?Z.value[e]:Z.value;if(!l)return;if(v("remove",l),!Array.isArray(Z.value))return void(Z.value=void 0);de.value===e&&(de.value=0);const t=[...Z.value];t.splice(e,1),Z.value=t}(t),["stop"])},null,8,qe))],10,Ee)]),_:1},8,["modelValue","move"]),I(p(J),{id:M.value,class:"vv-input-file__hint"},C({_:2},[e.$slots.hint?{name:"hint",fn:g(()=>[y(e.$slots,"hint",j(R(p(Y))))]),key:"0"}:void 0,e.$slots.loading?{name:"loading",fn:g(()=>[y(e.$slots,"loading",j(R(p(Y))))]),key:"1"}:void 0,e.$slots.valid?{name:"valid",fn:g(()=>[y(e.$slots,"valid",j(R(p(Y))))]),key:"2"}:void 0,e.$slots.invalid?{name:"invalid",fn:g(()=>[y(e.$slots,"invalid",j(R(p(Y))))]),key:"3"}:void 0]),1032,["id"])],2))}});export{Ge as default};
1
+ import{computed as e,isRef as l,defineComponent as t,h as a,inject as i,toRef as o,toRefs as n,getCurrentInstance as r,ref as u,watch as s,resolveComponent as v,createBlock as d,openBlock as c,resolveDynamicComponent as f,unref as p,mergeProps as b,withCtx as y,renderSlot as m,createTextVNode as g,toDisplayString as h,mergeDefaults as S,createCommentVNode as L,useId as k,useAttrs as A,useSlots as $,createElementBlock as w,Fragment as B,onBeforeUnmount as O,normalizeClass as _,createElementVNode as x,createVNode as I,withModifiers as V,normalizeProps as j,guardReactiveProps as R,createSlots as C}from"vue";import{useVModel as N}from"@vueuse/core";import D from"vuedraggable";import{iconLoaded as F,Icon as P,addIcon as E}from"@iconify/vue";const U="add",M="edit",T="download",q={prefix:"normal"};var G=/* @__PURE__ */(e=>(e.local="local",e.session="session",e))(G||{}),H=/* @__PURE__ */(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(H||{}),z=/* @__PURE__ */(e=>(e.before="before",e.after="after",e))(z||{}),J=/* @__PURE__ */(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(J||{}),W=/* @__PURE__ */(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(W||{});const K=/* @__PURE__ */Symbol.for("volver"),Y=/* @__PURE__ */Symbol.for("buttonGroup"),Z=/* @__PURE__ */Symbol.for("dropdownTrigger"),Q=/* @__PURE__ */Symbol.for("dropdownAction"),X={to:{type:[String,Object]},href:String,target:String,rel:{type:String,default:"noopener noreferrer"}},ee={valid:{type:Boolean,default:!1},validLabel:{type:[String,Array],default:void 0}},le={invalid:{type:Boolean,default:!1},invalidLabel:{type:[String,Array],default:void 0}},te={loading:{type:Boolean,default:!1},loadingLabel:{type:String,default:"Loading..."}},ae={disabled:{type:Boolean,default:!1}},ie={required:{type:Boolean,default:!1}},oe={active:{type:Boolean,default:!1}},ne={current:{type:Boolean,default:!1}},re={pressed:{type:Boolean,default:!1}},ue={label:{type:[String,Number],default:void 0}},se={readonly:{type:Boolean,default:!1}},ve={modifiers:{type:[String,Array],default:void 0}},de={hintLabel:{type:String,default:""}},ce={icon:{type:[String,Object],default:void 0},iconPosition:{type:String,default:z.before,validation:e=>Object.values(z).includes(e)}},fe={unselectable:{type:Boolean,default:!0}},pe={id:[String,Number]};H.bottom;const be={...pe,name:{type:String,required:!0}},ye={...ae,...ue,...re,...oe,...ne,...X,type:{type:String,default:J.button,validator:e=>Object.values(J).includes(e)},ariaLabel:{type:String,default:void 0},defaultTag:{type:String,default:W.button}};G.local;const me={...be,...ve,...ee,...le,...de,...ue,...te,...se,...ae,...ie,...ce,modelValue:{type:Object},progress:{type:[Number,String],default:void 0},placeholder:{type:String,default:void 0},accept:{type:String,default:"*"},multiple:{type:Boolean,default:!1},capture:{type:String,default:void 0,validation:e=>void 0===e||["user","environment"].includes(e)},max:{type:[Number,String],default:void 0},dropArea:{type:Boolean,default:!1},sortable:{type:Boolean,default:!1},hidePreview:{type:Boolean,default:!1},labelAdd:{type:String,default:"Add file"},iconAdd:{type:[String,Object],default:U},labelReplace:{type:String,default:"Replace file"},iconReplace:{type:[String,Object],default:M},labelDownload:{type:String,default:"Downlaod file"},iconDownload:{type:[String,Object],default:T},labelRemove:{type:String,default:"Remove file"}};function ge(e,l,t){return he(e,l)}function he(e,l){if(e===l)return!0;if(e&&l&&"object"==typeof e&&"object"==typeof l){const t=Array.isArray(e),a=Array.isArray(l);let i,o,n;if(t&&a){if(o=e.length,o!==l.length)return!1;for(i=o;0!==i--;)if(!he(e[i],l[i]))return!1;return!0}if(t!==a)return!1;const r=e instanceof Date,u=l instanceof Date;if(r!==u)return!1;if(r&&u)return e.getTime()===l.getTime();const s=e instanceof RegExp,v=l instanceof RegExp;if(s!==v)return!1;if(s&&v)return e.toString()===l.toString();const d=Object.keys(e);if(o=d.length,o!==Object.keys(l).length)return!1;for(i=o;0!==i--;)if(!Object.prototype.hasOwnProperty.call(l,d[i]))return!1;for(i=o;0!==i--;)if(n=d[i],!he(e[n],l[n]))return!1;return!0}return Number.isNaN(e)&&Number.isNaN(l)}function Se(e,l){if(null!=e&&l&&l.length)for(const t of l)if(ge(e,t))return!0;return!1}function Le(e){return Array.isArray(e)?e.filter(e=>"string"==typeof e).join(" "):e}const ke={...ye,...pe,...ve,...fe,...te,...ce,iconPosition:{type:String,default:H.left,validator:e=>Object.values(H).includes(e)},loadingIcon:{type:String,default:"eos-icons:bubble-loading"},toggle:{type:Boolean,default:!1},value:{type:[String,Number,Boolean],default:void 0},uncheckedValue:{type:[String,Number,Boolean],default:void 0},modelValue:{type:[String,Number,Boolean],default:void 0}};function Ae(l,t){const{group:a,isInGroup:r,getGroupOrLocalRef:u}=function(l){const t=i(l,void 0),a=e(()=>void 0!==t);return{group:t,isInGroup:a,getGroupOrLocalRef:function(l,a,i){const n=t?.[l];if(n)return e({get:()=>n.value,set(e){n.value=e}});const r=o(a,l);return e({get:()=>r.value,set(e){i&&i(`update:${l}`,e)}})}}}(Y),{id:s,iconPosition:v,icon:d,label:c,pressed:f}=n(l),p=u("modelValue",l,t),b=u("toggle",l),y=u("unselectable",l),m=e(()=>a?.multiple.value??!1),g=e(()=>{let e=l.modifiers,t=a?.modifiers.value;const i=/* @__PURE__ */new Set;return e&&(Array.isArray(e)||(e=e.split(" ")),e.forEach(e=>i.add(e))),t&&(Array.isArray(t)||(t=t.split(" ")),t.forEach(e=>i.add(e))),Array.from(i)}),h=e(()=>Boolean(l.disabled||a?.disabled.value));return{group:a,isInGroup:r,modelValue:p,toggle:b,unselectable:y,multiple:m,modifiers:g,disabled:h,id:s,pressed:f,iconPosition:v,icon:d,label:c}}function $e(){return i(K,void 0)}const we=/* @__PURE__ */t({name:"VvAction",props:ye,emits:["click","mouseover","mouseleave"],setup(l,{expose:t,emit:a}){const o=l,n=a,S=r(),L=$e(),k=u(null);t({$el:k});const{reference:A,bus:$,aria:w,expanded:B}=i(Z,{});s(()=>k.value,e=>{A&&(A.value=e)});const O=e(()=>o.pressed||B?.value),{role:_}=i(Q,{}),x=e(()=>{switch(!0){case o.disabled:return W.button;case void 0!==o.to:return L?.nuxt?v(W.nuxtLink):W.routerLink;case void 0!==o.href:return W.a;default:return o.defaultTag}}),I=e(()=>{const e={...w?.value,ariaPressed:!!O.value||void 0,ariaLabel:o.ariaLabel,role:_?.value};switch(x.value){case W.a:return{...e,href:o.href,target:o.target,rel:o.rel};case W.routerLink:case W.nuxtLink:return{...e,to:o.to,target:o.target};case W.button:return{...e,type:o.type,disabled:o.disabled};default:return e}});function V(e){o.disabled?e.preventDefault():S?.vnode.props?.onClick?n("click",e):$?.emit("click",e)}function j(e){S?.vnode.props?.onMouseover?n("mouseover",e):$?.emit("mouseover",e)}function R(e){S?.vnode.props?.onMouseleave?n("mouseleave",e):$?.emit("mouseleave",e)}return(e,l)=>(c(),d(f(p(x)),b(p(I),{ref_key:"rootEl",ref:k,class:{active:e.active,pressed:p(O),disabled:e.disabled,current:e.current},onClickPassive:V,onMouseoverPassive:j,onMouseleavePassive:R}),{default:y(()=>[m(e.$slots,"default",{},()=>[g(h(e.label),1)])]),_:3},16,["class"]))}});function Be(l,t,a){return e(()=>{const e={[l]:!0},i="string"==typeof t?.value?t.value.split(" "):t?.value;return i&&Array.isArray(i)&&i.forEach(t=>{t&&(e[`${l}--${t}`]=!0)}),a&&Object.keys(a.value).forEach(t=>{e[`${l}--${t}`]=p(a.value[t])}),e})}const Oe=/* @__PURE__ */t({name:"VvIcon",props:/* @__PURE__ */S({name:{},color:{},width:{},height:{},provider:{},prefix:{},src:{},horizontalFlip:{type:Boolean},verticalFlip:{type:Boolean},flip:{},mode:{},inline:{type:Boolean},rotate:{},onLoad:{type:Function},svg:{},modifiers:{}},q),setup(l){const t=l,a=e(()=>"string"==typeof t.rotate?Number.parseFloat(t.rotate):t.rotate),i=u(!0),o=$e(),{modifiers:r}=n(t),s=Be("vv-icon",r),v=e(()=>t.provider||o?.iconsProvider),f=e(()=>{const e=t.name??"",l=`@${v.value}:${t.prefix}:${e}`;if(F(l))return l;const a=o?.iconsCollections.find(l=>{const t=`@${v.value}:${l.prefix}:${e}`;return F(t)});return a?`@${v.value}:${a.prefix}:${e}`:e});function y(e){const l=function(e){let l;if("undefined"==typeof window){const{JSDOM:e}=require("jsdom");l=(new e).window}return(l?new l.DOMParser:new window.DOMParser).parseFromString(e,"text/html").querySelector("svg")}(e),a=l?.innerHTML.trim()||"";l&&a&&E(`@${v.value}:${t.prefix}:${t.name}`,{body:a,height:l.viewBox.baseVal.height,width:l.viewBox.baseVal.width})}return o&&t.src&&!F(`@${v.value}:${t.prefix}:${t.name}`)&&(i.value=!1,o.fetchIcon(t.src).then(e=>{e&&(y(e),i.value=!0)}).catch(e=>{throw new Error(`Error during fetch icon: ${e?.message}`)})),t.svg&&y(t.svg),(e,t)=>p(i)?(c(),d(p(P),b({key:0,class:p(s)},{inline:l.inline,width:l.width,height:l.height,horizontalFlip:l.horizontalFlip,verticalFlip:l.verticalFlip,flip:l.flip,rotate:p(a),color:l.color,icon:p(f)},{onLoad:l.onLoad}),null,16,["class","onLoad"])):L("v-if",!0)}});function _e(l){return e(()=>String(l?.value||k()))}function xe(l,t){const a=e(()=>"string"==typeof l?.value?{name:l?.value}:l?.value),i=e(()=>t?.value===z.before?a.value:void 0),o=e(()=>t?.value===z.after?a.value:void 0),n=e(()=>t?.value===H.left?a.value:void 0),r=e(()=>t?.value===H.right?a.value:void 0),u=e(()=>t?.value===H.top?a.value:void 0),s=e(()=>t?.value===H.bottom?a.value:void 0);return{hasIcon:a,hasIconLeft:n,hasIconRight:r,hasIconTop:u,hasIconBottom:s,hasIconBefore:i,hasIconAfter:o}}const Ie={key:1,class:"vv-button__label"},Ve={key:1,class:"vv-button__label"},je=/* @__PURE__ */t({name:"VvButton",inheritAttrs:!1,props:ke,emits:["update:modelValue"],setup(l,{expose:t,emit:a}){const i=l,o=a,n=A(),r=$(),{id:s,modifiers:v,iconPosition:f,icon:S,label:k,modelValue:O,disabled:_,toggle:x,unselectable:I}=Ae(i,o),V=_e(s),j=e(()=>n?.name||V.value),R=u(null);t({$el:e(()=>R.value?.$el)});const C=e(()=>x.value?Array.isArray(O.value)?Se(j.value,O.value):ge(j.value,O.value):i.pressed),N=Be("vv-button",v,e(()=>({reverse:[H.right,H.bottom].includes(f.value),column:[H.top,H.bottom].includes(f.value),"icon-only":Boolean(S?.value&&!k?.value&&!r.default)}))),{hasIcon:D}=xe(S),F=e(()=>void 0!==i.value?i.value:j.value),P=e(()=>{if(x.value)return{onClick:E}});function E(){if(x.value){if(Array.isArray(O.value))return Se(F.value,O.value)?void(I.value&&(O.value=O.value.filter(e=>e!==F.value))):void O.value.push(F.value);if(F.value===O.value&&I.value)return void(O.value=i.uncheckedValue);O.value=F.value}}return(e,l)=>(c(),d(we,b({...p(n),...p(P),disabled:p(_),pressed:p(C),active:e.active,type:e.type,to:e.to,href:e.href,target:e.target,rel:e.rel,ariaLabel:e.ariaLabel},{id:p(V),ref_key:"rootEl",ref:R,class:p(N)}),{default:y(()=>[m(e.$slots,"default",{},()=>[e.loading?m(e.$slots,"loading",{key:0},()=>[e.loadingIcon?(c(),d(Oe,{key:0,class:"vv-button__loading-icon",name:e.loadingIcon},null,8,["name"])):L("v-if",!0),e.loadingLabel?(c(),w("span",Ie,h(e.loadingLabel),1)):L("v-if",!0)]):(c(),w(B,{key:1},[m(e.$slots,"before"),p(D)?(c(),d(Oe,b({key:0},p(D),{class:"vv-button__icon"}),null,16)):L("v-if",!0),p(k)?(c(),w("span",Ve,[m(e.$slots,"label",{},()=>[g(h(p(k)),1)])])):L("v-if",!0),m(e.$slots,"after")],64))])]),_:3},16,["id","class"]))}});const Re=["for"],Ce={class:"vv-input-file__preview"},Ne=["src","alt"],De={class:"vv-input-file__wrapper"},Fe=["id","readonly","disabled","required","placeholder","aria-describedby","aria-invalid","aria-errormessage","multiple","accept","capture","name"],Pe=["value"],Ee=["onClick"],Ue=["title","onClick"],Me={class:"vv-input-file__item-name"},Te={class:"vv-input-file__item-info"},qe=["title","disabled","onClick"],Ge=/* @__PURE__ */t({name:"VvInputFile",props:me,emits:["remove","download","update:modelValue"],setup(i,{emit:o}){const r=i,v=o,f=$(),g=function(l,t,a){const i=$e(),o=e(()=>{if(i&&i.defaults.value?.[l])return i.defaults.value[l]});return e(()=>{if(void 0===o.value)return a;const e=o.value,l=t,i=a;return Object.keys(l).reduce((t,a)=>{const o=i[a];if(t[a]=o,a in e){if(Array.isArray(l[a])){const i=l[a];i.length&&i[0]===o&&(t[a]=e[a])}if("function"==typeof l[a]&&(0,l[a])()===o&&(t[a]=e[a]),"object"==typeof l[a]){let i=l[a].default;"function"==typeof i&&(i=i()),"object"==typeof i?JSON.stringify(i)===JSON.stringify(o)&&(t[a]=e[a]):i===o&&(t[a]=e[a])}}return t},{})})}("VvInputFile",me,r),{modifiers:S,id:k,readonly:A,disabled:B,icon:F,iconPosition:P,iconDownload:E}=n(r),U=_e(k),M=e(()=>`${U.value}-hint`),T=e(()=>{if(!r.progress)return!1;const e="string"==typeof r.progress?Number.parseInt(r.progress):r.progress;return e>0&&e<100}),{hasIconBefore:q,hasIconAfter:G}=xe(F,P),{hasIcon:H}=xe(E),z=Be("vv-input-file",S,e(()=>({valid:!0===r.valid,invalid:!0===r.invalid,loading:r.loading&&!T.value,disabled:r.disabled,required:r.required,readonly:r.readonly,dragging:ae.value,"icon-before":!!q.value,"icon-after":!!G.value,"drop-area":le.value}))),{HintSlot:J,hasHintLabelOrSlot:W,hasInvalidLabelOrSlot:K,hintSlotScope:Y}=function(i,o){const n=e(()=>l(i)?i.value:i),r=e(()=>Le(n.value.invalidLabel)),u=e(()=>Le(n.value.validLabel)),s=e(()=>n.value.loadingLabel),v=e(()=>n.value.hintLabel),d=e(()=>Boolean(n.value.loading&&(o.loading||s.value))),c=e(()=>!d.value&&Boolean(n.value.invalid&&(o.invalid||r.value))),f=e(()=>!d.value&&!c.value&&Boolean(n.value.valid&&(o.valid||u.value))),p=e(()=>!d.value&&!c.value&&!f.value&&Boolean(o.hint||v.value)),b=e(()=>c.value||f.value||d.value||p.value),y=e(()=>({modelValue:n.value.modelValue,valid:n.value.valid,invalid:n.value.invalid,loading:n.value.loading})),m=t({name:"HintSlot",props:{tag:{type:String,default:"small"}},setup:()=>({isVisible:b,invalidLabel:r,validLabel:u,loadingLabel:s,hintLabel:v,hasInvalidLabelOrSlot:c,hasValidLabelOrSlot:f,hasLoadingLabelOrSlot:d,hasHintLabelOrSlot:p}),render(){if(this.isVisible){let e;return this.hasInvalidLabelOrSlot&&(e="alert"),this.hasValidLabelOrSlot&&(e="status"),this.hasLoadingLabelOrSlot?a(this.tag,{role:e},this.$slots.loading?.()??this.loadingLabel):this.hasInvalidLabelOrSlot?a(this.tag,{role:e},this.$slots.invalid?.()??this.$slots.invalid??this.invalidLabel):this.hasValidLabelOrSlot?a(this.tag,{role:e},this.$slots.valid?.()??this.validLabel):a(this.tag,{role:e},this.$slots.hint?.()??this.$slots.hint??this.hintLabel)}return null}});return{hasInvalidLabelOrSlot:c,hasHintLabelOrSlot:p,hasValidLabelOrSlot:f,hasLoadingLabelOrSlot:d,hintSlotScope:y,HintSlot:m}}(g,f),Z=N(r,"modelValue",v),Q=e({get:()=>Z.value&&(Array.isArray(Z.value)||Z.value?.name)?Array.isArray(Z.value)?Z.value:[Z.value]:[],set:e=>{te.value?Z.value=e:Z.value=e?.[0]}}),X=e(()=>r.disabled||r.readonly),ee=e(()=>"string"==typeof r.max?Number.parseInt(r.max):r.max),le=e(()=>r.dropArea&&!X.value),te=e(()=>!!r.multiple&&(!ee.value||ee.value-Q.value.length>1)),ae=u(!1),ie=u();function oe(){ae.value=!0}function ne(){ae.value=!1}function re(e){e.dataTransfer?.files&&(ae.value=!1,se(e.dataTransfer?.files))}function ue(){ie.value?.files&&(se(ie.value.files),ie.value.value="")}function se(e){const l=function(e,l){if(!l||""===l.trim()||"*"===l)return Array.from(e);const{mimeTypes:t,extensions:a,wildcards:i}=function(e){const l=[],t=[],a=[],i=e?.split(",").map(e=>e.trim().toLowerCase());return i?.length&&i.forEach(e=>{e.startsWith(".")?t.push(e):e.includes("/*")?a.push(e.replace("/*","")):l.push(e)}),{mimeTypes:l,extensions:t,wildcards:a}}(l);return Array.from(e).filter(e=>{const l=e.type.toLowerCase(),o=`.${e.name.split(".").pop()?.toLowerCase()}`,n=t.includes(l),r=i.some(e=>l.startsWith(`${e}/`)),u=a.some(e=>o===e.toLowerCase());return n||r||u})}(e,r.accept);if(!r.multiple)return Array.isArray(Z.value)?void(Z.value=l):void(Z.value=l[0]);let t=[];t=!Array.isArray(Z.value)&&Z.value?[Z.value]:Z.value&&Array.isArray(Z.value)?[...Z.value]:t;for(const a of l){if(ee.value&&t.length>=ee.value)break;t.push(a)}Z.value=t,ce.value=t.length-1}function ve(){ie.value&&(X.value||ie.value.click())}function de(e){const l=Array.isArray(Z.value)?Z.value[e]:Z.value;if(!l)return;if(v("remove",l),!Array.isArray(Z.value))return void(Z.value=void 0);ce.value===e&&(ce.value=0);const t=[...Z.value];t.splice(e,1),Z.value=t}const ce=u(0),fe=["image/jpeg","image/png"],pe=e(()=>{if(r.hidePreview)return;if(0===Q.value.length)return;if(!Q.value[ce.value])return;if(Q.value[ce.value]instanceof File){const e=Q.value[ce.value];if(!fe.includes(e.type))return;return URL.createObjectURL(e)}const e=Q.value[ce.value];return e.thumbnailUrl?e.thumbnailUrl:fe.includes(e.type)?e.url:void 0});function be(e,l){if(!e)return;if(0===e)return"0 Bytes";const t=l?l<=0?0:l:2,a=Math.floor(Math.log(e)/Math.log(1024));return`${Number.parseFloat((e/1024**a).toFixed(t))} ${["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"][a]}`}function ye(e){v("download",e);const l=e instanceof File?URL.createObjectURL(e):e.url;if(!l)return;const t=document.createElement("a");t.href=l,t.setAttribute("download",e.name),document.body.appendChild(t),t.click(),document.body.removeChild(t),URL.revokeObjectURL(t.href)}function ge(e){ce.value=e}s(pe,(e,l)=>{l&&URL.revokeObjectURL(l)}),O(()=>{pe.value&&URL.revokeObjectURL(pe.value)});const he=e(()=>0===Q.value.length||te.value?r.labelAdd:r.labelReplace),Se=e(()=>0===Q.value.length||te.value?r.iconAdd:r.iconReplace);function ke({newIndex:e}){null!==e&&(ce.value=e)}return(e,l)=>(c(),w("div",{class:_(p(z))},[e.label?(c(),w("label",{key:0,for:p(U)},h(e.label),9,Re)):L("v-if",!0),le.value?(c(),w("div",{key:1,class:"vv-input-file__drop-area",onDragenter:V(oe,["prevent","stop"]),onDragleave:V(ne,["prevent","stop"]),onDrop:V(re,["prevent","stop"]),onDragover:l[0]||(l[0]=V(()=>{},["prevent","stop"])),onClick:V(ve,["stop"])},[m(e.$slots,"drop-area",j(R({previewSrc:pe.value,onClickDropArea:ve})),()=>[x("picture",Ce,[pe.value?(c(),w("img",{key:0,src:pe.value,alt:Q.value[ce.value].name},null,8,Ne)):L("v-if",!0)]),p(A)?L("v-if",!0):(c(),d(je,{key:0,modifiers:"action",label:pe.value?void 0:he.value,title:pe.value?he.value:void 0,disabled:p(B),class:_({"vv-input-file__drop-area-action":pe.value}),icon:Se.value,onClick:V(ve,["stop"])},null,8,["label","title","disabled","class","icon"]))])],32)):L("v-if",!0),x("div",De,[p(q)?(c(),d(Oe,j(b({key:0},p(q))),null,16)):L("v-if",!0),x("input",{id:p(U),ref_key:"inputEl",ref:ie,type:"file",readonly:p(A),disabled:p(B),required:e.required,placeholder:e.placeholder,"aria-describedby":p(W)?M.value:void 0,"aria-invalid":e.invalid,"aria-errormessage":p(K)?M.value:void 0,multiple:te.value,accept:e.accept,capture:e.capture,name:e.name,onChange:ue},null,40,Fe),T.value?(c(),w("progress",{key:1,class:"vv-input-file__progress",value:e.progress,max:"100"},h(e.progress)+"% ",9,Pe)):L("v-if",!0),p(G)?(c(),d(Oe,j(b({key:2},p(G))),null,16)):L("v-if",!0)]),m(e.$slots,"file-list",j(R({files:Q.value,selectedFileIndex:ce.value,onSelectIndex:ge,onRemoveIndex:de,onDownloadFile:ye,formatBytes:be})),()=>[I(p(D),{modelValue:Q.value,"onUpdate:modelValue":l[1]||(l[1]=e=>Q.value=e),tag:"ul",class:"vv-input-file__list","item-key":"name",move:()=>e.sortable,onEnd:ke},{item:y(({element:l,index:t})=>[x("li",{class:_(["vv-input-file__item",{active:t===ce.value&&le.value&&Q.value.length>1,"cursor-move":e.sortable}]),onClick:V(e=>ge(t),["stop"])},[m(e.$slots,"file-item",j(R({file:l,index:t,isSelected:t===ce.value,onRemoveIndex:de,onDownloadFile:ye,formatBytes:be})),()=>[p(H)?(c(),w("button",{key:0,type:"button",class:"vv-input-file__item-action",title:e.labelDownload,onClick:V(e=>ye(l),["stop"])},[I(Oe,j(R(p(H))),null,16)],8,Ue)):L("v-if",!0),x("div",Me,h(l.name),1),x("small",Te,h(be(l.size)),1),p(A)?L("v-if",!0):(c(),w("button",{key:1,type:"button",class:"vv-input-file__item-remove",title:e.labelRemove,disabled:p(B),onClick:V(e=>de(t),["stop"])},null,8,qe))])],10,Ee)]),_:3},8,["modelValue","move"])]),I(p(J),{id:M.value,class:"vv-input-file__hint"},C({_:2},[e.$slots.hint?{name:"hint",fn:y(()=>[m(e.$slots,"hint",j(R(p(Y))))]),key:"0"}:void 0,e.$slots.loading?{name:"loading",fn:y(()=>[m(e.$slots,"loading",j(R(p(Y))))]),key:"1"}:void 0,e.$slots.valid?{name:"valid",fn:y(()=>[m(e.$slots,"valid",j(R(p(Y))))]),key:"2"}:void 0,e.$slots.invalid?{name:"invalid",fn:y(()=>[m(e.$slots,"invalid",j(R(p(Y))))]),key:"3"}:void 0]),1032,["id"])],2))}});export{Ge as default};
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("@vueuse/core"),require("vuedraggable"),require("@iconify/vue")):"function"==typeof define&&define.amd?define(["vue","@vueuse/core","vuedraggable","@iconify/vue"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvInputFile=t(e.vue,e.core,e.Sortable,e.vue$1)}(this,function(e,t,o,l){"use strict";const a="add",n="edit",r="download",i={prefix:"normal"};var u=(e=>(e.local="local",e.session="session",e))(u||{}),s=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(s||{}),d=(e=>(e.before="before",e.after="after",e))(d||{}),c=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(c||{}),v=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(v||{});const f=Symbol.for("volver"),p=Symbol.for("buttonGroup"),m=Symbol.for("dropdownTrigger"),g=Symbol.for("dropdownAction"),b={to:{type:[String,Object]},href:String,target:String,rel:{type:String,default:"noopener noreferrer"}},y={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}},k={loading:{type:Boolean,default:!1},loadingLabel:{type:String,default:"Loading..."}},S={disabled:{type:Boolean,default:!1}},B={required:{type:Boolean,default:!1}},L={active:{type:Boolean,default:!1}},w={current:{type:Boolean,default:!1}},V={pressed:{type:Boolean,default:!1}},A={label:{type:[String,Number],default:void 0}},C={readonly:{type:Boolean,default:!1}},$={modifiers:{type:[String,Array],default:void 0}},N={hintLabel:{type:String,default:""}},O={icon:{type:[String,Object],default:void 0},iconPosition:{type:String,default:d.before,validation:e=>Object.values(d).includes(e)}},x={unselectable:{type:Boolean,default:!0}},_={id:[String,Number]};s.bottom;const I={..._,name:{type:String,required:!0}},P={...S,...A,...V,...L,...w,...b,type:{type:String,default:c.button,validator:e=>Object.values(c).includes(e)},ariaLabel:{type:String,default:void 0},defaultTag:{type:String,default:v.button}};u.local;const R={...I,...$,...y,...h,...N,...A,...k,...C,...S,...B,...O,modelValue:{type:Object},progress:{type:[Number,String],default:void 0},placeholder:{type:String,default:void 0},accept:{type:String,default:"*"},multiple:{type:Boolean,default:!1},capture:{type:String,default:void 0,validation:e=>void 0===e||["user","environment"].includes(e)},max:{type:[Number,String],default:void 0},dropArea:{type:Boolean,default:!1},sortable:{type:Boolean,default:!1},labelAdd:{type:String,default:"Add file"},iconAdd:{type:[String,Object],default:a},labelReplace:{type:String,default:"Replace file"},iconReplace:{type:[String,Object],default:n},labelDownload:{type:String,default:"Downlaod file"},iconDownload:{type:[String,Object],default:r},labelRemove:{type:String,default:"Remove file"}};function j(e,t,o){return E(e,t)}function E(e,t){if(e===t)return!0;if(e&&t&&"object"==typeof e&&"object"==typeof t){const o=Array.isArray(e),l=Array.isArray(t);let a,n,r;if(o&&l){if(n=e.length,n!==t.length)return!1;for(a=n;0!==a--;)if(!E(e[a],t[a]))return!1;return!0}if(o!==l)return!1;const i=e instanceof Date,u=t instanceof Date;if(i!==u)return!1;if(i&&u)return e.getTime()===t.getTime();const s=e instanceof RegExp,d=t instanceof RegExp;if(s!==d)return!1;if(s&&d)return e.toString()===t.toString();const c=Object.keys(e);if(n=c.length,n!==Object.keys(t).length)return!1;for(a=n;0!==a--;)if(!Object.prototype.hasOwnProperty.call(t,c[a]))return!1;for(a=n;0!==a--;)if(r=c[a],!E(e[r],t[r]))return!1;return!0}return Number.isNaN(e)&&Number.isNaN(t)}function D(e,t){if(null!=e&&t&&t.length)for(const o of t)if(j(e,o))return!0;return!1}function M(e){return Array.isArray(e)?e.filter(e=>"string"==typeof e).join(" "):e}const F={...P,..._,...$,...x,...k,...O,iconPosition:{type:String,default:s.left,validator:e=>Object.values(s).includes(e)},loadingIcon:{type:String,default:"eos-icons:bubble-loading"},toggle:{type:Boolean,default:!1},value:{type:[String,Number,Boolean],default:void 0},uncheckedValue:{type:[String,Number,Boolean],default:void 0},modelValue:{type:[String,Number,Boolean],default:void 0}};function T(t,o){const{group:l,isInGroup:a,getGroupOrLocalRef:n}=function(t){const o=e.inject(t,void 0),l=e.computed(()=>void 0!==o);return{group:o,isInGroup:l,getGroupOrLocalRef:function(t,l,a){const n=o?.[t];if(n)return e.computed({get:()=>n.value,set(e){n.value=e}});const r=e.toRef(l,t);return e.computed({get:()=>r.value,set(e){a&&a(`update:${t}`,e)}})}}}(p),{id:r,iconPosition:i,icon:u,label:s,pressed:d}=e.toRefs(t),c=n("modelValue",t,o),v=n("toggle",t),f=n("unselectable",t),m=e.computed(()=>l?.multiple.value??!1),g=e.computed(()=>{let e=t.modifiers,o=l?.modifiers.value;const a=new Set;return e&&(Array.isArray(e)||(e=e.split(" ")),e.forEach(e=>a.add(e))),o&&(Array.isArray(o)||(o=o.split(" ")),o.forEach(e=>a.add(e))),Array.from(a)}),b=e.computed(()=>Boolean(t.disabled||l?.disabled.value));return{group:l,isInGroup:a,modelValue:c,toggle:v,unselectable:f,multiple:m,modifiers:g,disabled:b,id:r,pressed:d,iconPosition:i,icon:u,label:s}}const z=P;function U(){return e.inject(f,void 0)}const q=e.defineComponent({name:"VvAction",props:z,emits:["click","mouseover","mouseleave"],setup(t,{expose:o,emit:l}){const a=t,n=l,r=e.getCurrentInstance(),i=U(),u=e.ref(null);o({$el:u});const{reference:s,bus:d,aria:c,expanded:f}=e.inject(m,{});e.watch(()=>u.value,e=>{s&&(s.value=e)});const p=e.computed(()=>a.pressed||f?.value),{role:b}=e.inject(g,{}),y=e.computed(()=>{switch(!0){case a.disabled:return v.button;case void 0!==a.to:return i?.nuxt?e.resolveComponent(v.nuxtLink):v.routerLink;case void 0!==a.href:return v.a;default:return a.defaultTag}}),h=e.computed(()=>{const e={...c?.value,ariaPressed:!!p.value||void 0,ariaLabel:a.ariaLabel,role:b?.value};switch(y.value){case v.a:return{...e,href:a.href,target:a.target,rel:a.rel};case v.routerLink:case v.nuxtLink:return{...e,to:a.to,target:a.target};case v.button:return{...e,type:a.type,disabled:a.disabled};default:return e}});function k(e){a.disabled?e.preventDefault():r?.vnode.props?.onClick?n("click",e):d?.emit("click",e)}function S(e){r?.vnode.props?.onMouseover?n("mouseover",e):d?.emit("mouseover",e)}function B(e){r?.vnode.props?.onMouseleave?n("mouseleave",e):d?.emit("mouseleave",e)}return(t,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(y)),e.mergeProps(e.unref(h),{ref_key:"element",ref:u,class:{active:t.active,pressed:e.unref(p),disabled:t.disabled,current:t.current},onClickPassive:k,onMouseoverPassive:S,onMouseleavePassive:B}),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.label),1)])]),_:3},16,["class"]))}});function G(t,o,l){return e.computed(()=>{const a={[t]:!0},n="string"==typeof o?.value?o.value.split(" "):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 H=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:{}},i),setup(t){const o=t,a=e.computed(()=>"string"==typeof o.rotate?Number.parseFloat(o.rotate):o.rotate),n=e.ref(!0),r=U(),{modifiers:i}=e.toRefs(o),u=G("vv-icon",i),s=e.computed(()=>o.provider||r?.iconsProvider),d=e.computed(()=>{const e=o.name??"",t=`@${s.value}:${o.prefix}:${e}`;if(l.iconLoaded(t))return t;const a=r?.iconsCollections.find(t=>{const o=`@${s.value}:${t.prefix}:${e}`;return l.iconLoaded(o)});return a?`@${s.value}:${a.prefix}:${e}`:e});function c(e){const t=function(e){let t;if("undefined"==typeof window){const{JSDOM:e}=require("jsdom");t=(new e).window}return(t?new t.DOMParser:new window.DOMParser).parseFromString(e,"text/html").querySelector("svg")}(e),a=t?.innerHTML.trim()||"";t&&a&&l.addIcon(`@${s.value}:${o.prefix}:${o.name}`,{body:a,height:t.viewBox.baseVal.height,width:t.viewBox.baseVal.width})}return r&&o.src&&!l.iconLoaded(`@${s.value}:${o.prefix}:${o.name}`)&&(n.value=!1,r.fetchIcon(o.src).then(e=>{e&&(c(e),n.value=!0)}).catch(e=>{throw new Error(`Error during fetch icon: ${e?.message}`)})),o.svg&&c(o.svg),(o,r)=>e.unref(n)?(e.openBlock(),e.createBlock(e.unref(l.Icon),e.mergeProps({key:0,class:e.unref(u)},{inline:t.inline,width:t.width,height:t.height,horizontalFlip:t.horizontalFlip,verticalFlip:t.verticalFlip,flip:t.flip,rotate:e.unref(a),color:t.color,icon:e.unref(d)},{onLoad:t.onLoad}),null,16,["class","onLoad"])):e.createCommentVNode("v-if",!0)}});function J(t){return e.computed(()=>String(t?.value||e.useId()))}function W(t,o){const l=e.computed(()=>"string"==typeof t?.value?{name:t?.value}:t?.value),a=e.computed(()=>o?.value===d.before?l.value:void 0),n=e.computed(()=>o?.value===d.after?l.value:void 0),r=e.computed(()=>o?.value===s.left?l.value:void 0),i=e.computed(()=>o?.value===s.right?l.value:void 0),u=e.computed(()=>o?.value===s.top?l.value:void 0),c=e.computed(()=>o?.value===s.bottom?l.value:void 0);return{hasIcon:l,hasIconLeft:r,hasIconRight:i,hasIconTop:u,hasIconBottom:c,hasIconBefore:a,hasIconAfter:n}}const K={key:1,class:"vv-button__label"},Y={key:1,class:"vv-button__label"},Z=e.defineComponent({name:"VvButton",inheritAttrs:!1,props:F,emits:["update:modelValue"],setup(t,{expose:o,emit:l}){const a=t,n=l,r=e.useAttrs(),i=e.useSlots(),{id:u,modifiers:d,iconPosition:c,icon:v,label:f,modelValue:p,disabled:m,toggle:g,unselectable:b}=T(a,n),y=J(u),h=e.computed(()=>r?.name||y.value),k=e.ref(null);o({$el:e.computed(()=>k.value?.$el)});const S=e.computed(()=>g.value?Array.isArray(p.value)?D(h.value,p.value):j(h.value,p.value):a.pressed),B=G("vv-button",d,e.computed(()=>({reverse:[s.right,s.bottom].includes(c.value),column:[s.top,s.bottom].includes(c.value),"icon-only":Boolean(v?.value&&!f?.value&&!i.default)}))),{hasIcon:L}=W(v),w=e.computed(()=>void 0!==a.value?a.value:h.value),V=e.computed(()=>{if(g.value)return{onClick:A}});function A(){if(g.value){if(Array.isArray(p.value))return D(w.value,p.value)?void(b.value&&(p.value=p.value.filter(e=>e!==w.value))):void p.value.push(w.value);if(w.value===p.value&&b.value)return void(p.value=a.uncheckedValue);p.value=w.value}}return(t,o)=>(e.openBlock(),e.createBlock(q,e.mergeProps({...e.unref(r),...e.unref(V),disabled:e.unref(m),pressed:e.unref(S),active:t.active,type:t.type,to:t.to,href:t.href,target:t.target,rel:t.rel,ariaLabel:t.ariaLabel},{id:e.unref(y),ref_key:"element",ref:k,class:e.unref(B)}),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default",{},()=>[t.loading?e.renderSlot(t.$slots,"loading",{key:0},()=>[t.loadingIcon?(e.openBlock(),e.createBlock(H,{key:0,class:"vv-button__loading-icon",name:t.loadingIcon},null,8,["name"])):e.createCommentVNode("v-if",!0),t.loadingLabel?(e.openBlock(),e.createElementBlock("span",K,e.toDisplayString(t.loadingLabel),1)):e.createCommentVNode("v-if",!0)]):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.renderSlot(t.$slots,"before"),e.unref(L)?(e.openBlock(),e.createBlock(H,e.mergeProps({key:0},e.unref(L),{class:"vv-button__icon"}),null,16)):e.createCommentVNode("v-if",!0),e.unref(f)?(e.openBlock(),e.createElementBlock("span",Y,[e.renderSlot(t.$slots,"label",{},()=>[e.createTextVNode(e.toDisplayString(e.unref(f)),1)])])):e.createCommentVNode("v-if",!0),e.renderSlot(t.$slots,"after")],64))])]),_:3},16,["id","class"]))}});const Q=["for"],X={class:"vv-input-file__preview"},ee=["src","alt"],te={class:"vv-input-file__wrapper"},oe=["id","readonly","disabled","required","placeholder","aria-describedby","aria-invalid","aria-errormessage","multiple","accept","capture","name"],le=["value"],ae=["onClick"],ne=["title","onClick"],re={class:"vv-input-file__item-name"},ie={class:"vv-input-file__item-info"},ue=["title","disabled","onClick"];return e.defineComponent({name:"VvInputFile",props:R,emits:["remove","download","update:modelValue"],setup(l,{emit:a}){const n=l,r=a,i=e.useSlots(),u=function(t,o,l){const a=U(),n=e.computed(()=>{if(a&&a.defaults.value?.[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},{})})}("VvInputFile",R,n),{modifiers:s,id:d,readonly:c,disabled:v,icon:f,iconPosition:p,iconDownload:m}=e.toRefs(n),g=J(d),b=e.computed(()=>`${g.value}-hint`),y=e.computed(()=>{if(!n.progress)return!1;const e="string"==typeof n.progress?Number.parseInt(n.progress):n.progress;return e>0&&e<100}),{hasIconBefore:h,hasIconAfter:k}=W(f,p),{hasIcon:S}=W(m),B=G("vv-input-file",s,e.computed(()=>({valid:!0===n.valid,invalid:!0===n.invalid,loading:n.loading&&!y.value,disabled:n.disabled,required:n.required,readonly:n.readonly,dragging:I.value,"icon-before":!!h.value,"icon-after":!!k.value,"drop-area":x.value}))),{HintSlot:L,hasHintLabelOrSlot:w,hasInvalidLabelOrSlot:V,hintSlotScope:A}=function(t,o){const l=e.computed(()=>e.isRef(t)?t.value:t),a=e.computed(()=>M(l.value.invalidLabel)),n=e.computed(()=>M(l.value.validLabel)),r=e.computed(()=>l.value.loadingLabel),i=e.computed(()=>l.value.hintLabel),u=e.computed(()=>Boolean(l.value.loading&&(o.loading||r.value))),s=e.computed(()=>!u.value&&Boolean(l.value.invalid&&(o.invalid||a.value))),d=e.computed(()=>!u.value&&!s.value&&Boolean(l.value.valid&&(o.valid||n.value))),c=e.computed(()=>!u.value&&!s.value&&!d.value&&Boolean(o.hint||i.value)),v=e.computed(()=>s.value||d.value||u.value||c.value),f=e.computed(()=>({modelValue:l.value.modelValue,valid:l.value.valid,invalid:l.value.invalid,loading:l.value.loading})),p=e.defineComponent({name:"HintSlot",props:{tag:{type:String,default:"small"}},setup:()=>({isVisible:v,invalidLabel:a,validLabel:n,loadingLabel:r,hintLabel:i,hasInvalidLabelOrSlot:s,hasValidLabelOrSlot:d,hasLoadingLabelOrSlot:u,hasHintLabelOrSlot:c}),render(){if(this.isVisible){let t;return this.hasInvalidLabelOrSlot&&(t="alert"),this.hasValidLabelOrSlot&&(t="status"),this.hasLoadingLabelOrSlot?e.h(this.tag,{role:t},this.$slots.loading?.()??this.loadingLabel):this.hasInvalidLabelOrSlot?e.h(this.tag,{role:t},this.$slots.invalid?.()??this.$slots.invalid??this.invalidLabel):this.hasValidLabelOrSlot?e.h(this.tag,{role:t},this.$slots.valid?.()??this.validLabel):e.h(this.tag,{role:t},this.$slots.hint?.()??this.$slots.hint??this.hintLabel)}return null}});return{hasInvalidLabelOrSlot:s,hasHintLabelOrSlot:c,hasValidLabelOrSlot:d,hasLoadingLabelOrSlot:u,hintSlotScope:f,HintSlot:p}}(u,i),C=t.useVModel(n,"modelValue",r),$=e.computed({get:()=>C.value&&(Array.isArray(C.value)||C.value?.name)?Array.isArray(C.value)?C.value:[C.value]:[],set:e=>{_.value?C.value=e:C.value=e?.[0]}}),N=e.computed(()=>n.disabled||n.readonly),O=e.computed(()=>"string"==typeof n.max?Number.parseInt(n.max):n.max),x=e.computed(()=>n.dropArea&&!N.value),_=e.computed(()=>!!n.multiple&&(!O.value||O.value-$.value.length>1)),I=e.ref(!1),P=e.ref();function j(){I.value=!0}function E(){I.value=!1}function D(e){e.dataTransfer?.files&&(I.value=!1,T(e.dataTransfer?.files))}function F(){P.value?.files&&(T(P.value.files),P.value.value="")}function T(e){const t=function(e,t){if(!t||""===t.trim()||"*"===t)return Array.from(e);const{mimeTypes:o,extensions:l,wildcards:a}=function(e){const t=[],o=[],l=[],a=e?.split(",").map(e=>e.trim().toLowerCase());return a?.length&&a.forEach(e=>{e.startsWith(".")?o.push(e):e.includes("/*")?l.push(e.replace("/*","")):t.push(e)}),{mimeTypes:t,extensions:o,wildcards:l}}(t);return Array.from(e).filter(e=>{const t=e.type.toLowerCase(),n=`.${e.name.split(".").pop()?.toLowerCase()}`,r=o.includes(t),i=a.some(e=>t.startsWith(`${e}/`)),u=l.some(e=>n===e.toLowerCase());return r||i||u})}(e,n.accept);if(!n.multiple)return Array.isArray(C.value)?void(C.value=t):void(C.value=t[0]);let o=[];o=!Array.isArray(C.value)&&C.value?[C.value]:C.value&&Array.isArray(C.value)?[...C.value]:o;for(const l of t){if(O.value&&o.length>=O.value)break;o.push(l)}C.value=o,q.value=o.length-1}function z(){P.value&&(N.value||P.value.click())}const q=e.ref(0),K=["image/jpeg","image/png"],Y=e.computed(()=>{if(0===$.value.length)return;if(!$.value[q.value])return;if($.value[q.value]instanceof File){const e=$.value[q.value];if(!K.includes(e.type))return;return URL.createObjectURL(e)}const e=$.value[q.value];return e.thumbnailUrl?e.thumbnailUrl:K.includes(e.type)?e.url:void 0});function se(e,t){if(!e)return;if(0===e)return"0 Bytes";const o=Math.floor(Math.log(e)/Math.log(1024));return`${Number.parseFloat((e/1024**o).toFixed(2))} ${["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"][o]}`}e.watch(Y,(e,t)=>{t&&URL.revokeObjectURL(t)}),e.onBeforeUnmount(()=>{Y.value&&URL.revokeObjectURL(Y.value)});const de=e.computed(()=>0===$.value.length||_.value?n.labelAdd:n.labelReplace),ce=e.computed(()=>0===$.value.length||_.value?n.iconAdd:n.iconReplace);function ve({newIndex:e}){null!==e&&(q.value=e)}return(t,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(B))},[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(g)},e.toDisplayString(t.label),9,Q)):e.createCommentVNode("v-if",!0),x.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:"vv-input-file__drop-area",onDragenter:e.withModifiers(j,["prevent","stop"]),onDragleave:e.withModifiers(E,["prevent","stop"]),onDrop:e.withModifiers(D,["prevent","stop"]),onDragover:l[0]||(l[0]=e.withModifiers(()=>{},["prevent","stop"])),onClick:e.withModifiers(z,["stop"])},[e.renderSlot(t.$slots,"drop-area",{},()=>[e.createElementVNode("picture",X,[Y.value?(e.openBlock(),e.createElementBlock("img",{key:0,src:Y.value,alt:$.value[q.value].name},null,8,ee)):e.createCommentVNode("v-if",!0)]),e.unref(c)?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createBlock(Z,{key:0,modifiers:"action",label:Y.value?void 0:de.value,title:Y.value?de.value:void 0,disabled:e.unref(v),class:e.normalizeClass({"vv-input-file__drop-area-action":Y.value}),icon:ce.value,onClick:e.withModifiers(z,["stop"])},null,8,["label","title","disabled","class","icon"]))])],32)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",te,[e.unref(h)?(e.openBlock(),e.createBlock(H,e.normalizeProps(e.mergeProps({key:0},e.unref(h))),null,16)):e.createCommentVNode("v-if",!0),e.createElementVNode("input",{id:e.unref(g),ref_key:"inputEl",ref:P,type:"file",readonly:e.unref(c),disabled:e.unref(v),required:t.required,placeholder:t.placeholder,"aria-describedby":e.unref(w)?b.value:void 0,"aria-invalid":t.invalid,"aria-errormessage":e.unref(V)?b.value:void 0,multiple:_.value,accept:t.accept,capture:t.capture,name:t.name,onChange:F},null,40,oe),y.value?(e.openBlock(),e.createElementBlock("progress",{key:1,class:"vv-input-file__progress",value:t.progress,max:"100"},e.toDisplayString(t.progress)+"% ",9,le)):e.createCommentVNode("v-if",!0),e.unref(k)?(e.openBlock(),e.createBlock(H,e.normalizeProps(e.mergeProps({key:2},e.unref(k))),null,16)):e.createCommentVNode("v-if",!0)]),e.createVNode(e.unref(o),{modelValue:$.value,"onUpdate:modelValue":l[1]||(l[1]=e=>$.value=e),tag:"ul",class:"vv-input-file__list","item-key":"name",move:()=>t.sortable,onEnd:ve},{item:e.withCtx(({element:o,index:l})=>[e.createElementVNode("li",{class:e.normalizeClass(["vv-input-file__item",{active:l===q.value&&x.value&&$.value.length>1,"cursor-move":t.sortable}]),onClick:e.withModifiers(e=>function(e){q.value=e}(l),["stop"])},[e.unref(S)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"vv-input-file__item-action",title:t.labelDownload,onClick:e.withModifiers(e=>function(e){r("download",e);const t=e instanceof File?URL.createObjectURL(e):e.url;if(!t)return;const o=document.createElement("a");o.href=t,o.setAttribute("download",e.name),document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(o.href)}(o),["stop"])},[e.createVNode(H,e.normalizeProps(e.guardReactiveProps(e.unref(S))),null,16)],8,ne)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",re,e.toDisplayString(o.name),1),e.createElementVNode("small",ie,e.toDisplayString(se(o.size)),1),e.unref(c)?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"vv-input-file__item-remove",title:t.labelRemove,disabled:e.unref(v),onClick:e.withModifiers(e=>function(e){const t=Array.isArray(C.value)?C.value[e]:C.value;if(!t)return;if(r("remove",t),!Array.isArray(C.value))return void(C.value=void 0);q.value===e&&(q.value=0);const o=[...C.value];o.splice(e,1),C.value=o}(l),["stop"])},null,8,ue))],10,ae)]),_:1},8,["modelValue","move"]),e.createVNode(e.unref(L),{id:b.value,class:"vv-input-file__hint"},e.createSlots({_:2},[t.$slots.hint?{name:"hint",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps(e.unref(A))))]),key:"0"}:void 0,t.$slots.loading?{name:"loading",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"loading",e.normalizeProps(e.guardReactiveProps(e.unref(A))))]),key:"1"}:void 0,t.$slots.valid?{name:"valid",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"valid",e.normalizeProps(e.guardReactiveProps(e.unref(A))))]),key:"2"}:void 0,t.$slots.invalid?{name:"invalid",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"invalid",e.normalizeProps(e.guardReactiveProps(e.unref(A))))]),key:"3"}:void 0]),1032,["id"])],2))}})});
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("@vueuse/core"),require("vuedraggable"),require("@iconify/vue")):"function"==typeof define&&define.amd?define(["vue","@vueuse/core","vuedraggable","@iconify/vue"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvInputFile=t(e.vue,e.core,e.Sortable,e.vue$1)}(this,function(e,t,o,l){"use strict";const a="add",r="edit",n="download",i={prefix:"normal"};var u=(e=>(e.local="local",e.session="session",e))(u||{}),s=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(s||{}),d=(e=>(e.before="before",e.after="after",e))(d||{}),c=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(c||{}),v=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(v||{});const f=Symbol.for("volver"),p=Symbol.for("buttonGroup"),m=Symbol.for("dropdownTrigger"),g=Symbol.for("dropdownAction"),b={to:{type:[String,Object]},href:String,target:String,rel:{type:String,default:"noopener noreferrer"}},y={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}},S={loading:{type:Boolean,default:!1},loadingLabel:{type:String,default:"Loading..."}},k={disabled:{type:Boolean,default:!1}},B={required:{type:Boolean,default:!1}},L={active:{type:Boolean,default:!1}},w={current:{type:Boolean,default:!1}},V={pressed:{type:Boolean,default:!1}},A={label:{type:[String,Number],default:void 0}},$={readonly:{type:Boolean,default:!1}},C={modifiers:{type:[String,Array],default:void 0}},x={hintLabel:{type:String,default:""}},N={icon:{type:[String,Object],default:void 0},iconPosition:{type:String,default:d.before,validation:e=>Object.values(d).includes(e)}},O={unselectable:{type:Boolean,default:!0}},P={id:[String,Number]};s.bottom;const _={...P,name:{type:String,required:!0}},I={...k,...A,...V,...L,...w,...b,type:{type:String,default:c.button,validator:e=>Object.values(c).includes(e)},ariaLabel:{type:String,default:void 0},defaultTag:{type:String,default:v.button}};u.local;const R={..._,...C,...y,...h,...x,...A,...S,...$,...k,...B,...N,modelValue:{type:Object},progress:{type:[Number,String],default:void 0},placeholder:{type:String,default:void 0},accept:{type:String,default:"*"},multiple:{type:Boolean,default:!1},capture:{type:String,default:void 0,validation:e=>void 0===e||["user","environment"].includes(e)},max:{type:[Number,String],default:void 0},dropArea:{type:Boolean,default:!1},sortable:{type:Boolean,default:!1},hidePreview:{type:Boolean,default:!1},labelAdd:{type:String,default:"Add file"},iconAdd:{type:[String,Object],default:a},labelReplace:{type:String,default:"Replace file"},iconReplace:{type:[String,Object],default:r},labelDownload:{type:String,default:"Downlaod file"},iconDownload:{type:[String,Object],default:n},labelRemove:{type:String,default:"Remove file"}};function j(e,t,o){return E(e,t)}function E(e,t){if(e===t)return!0;if(e&&t&&"object"==typeof e&&"object"==typeof t){const o=Array.isArray(e),l=Array.isArray(t);let a,r,n;if(o&&l){if(r=e.length,r!==t.length)return!1;for(a=r;0!==a--;)if(!E(e[a],t[a]))return!1;return!0}if(o!==l)return!1;const i=e instanceof Date,u=t instanceof Date;if(i!==u)return!1;if(i&&u)return e.getTime()===t.getTime();const s=e instanceof RegExp,d=t instanceof RegExp;if(s!==d)return!1;if(s&&d)return e.toString()===t.toString();const c=Object.keys(e);if(r=c.length,r!==Object.keys(t).length)return!1;for(a=r;0!==a--;)if(!Object.prototype.hasOwnProperty.call(t,c[a]))return!1;for(a=r;0!==a--;)if(n=c[a],!E(e[n],t[n]))return!1;return!0}return Number.isNaN(e)&&Number.isNaN(t)}function D(e,t){if(null!=e&&t&&t.length)for(const o of t)if(j(e,o))return!0;return!1}function M(e){return Array.isArray(e)?e.filter(e=>"string"==typeof e).join(" "):e}const F={...I,...P,...C,...O,...S,...N,iconPosition:{type:String,default:s.left,validator:e=>Object.values(s).includes(e)},loadingIcon:{type:String,default:"eos-icons:bubble-loading"},toggle:{type:Boolean,default:!1},value:{type:[String,Number,Boolean],default:void 0},uncheckedValue:{type:[String,Number,Boolean],default:void 0},modelValue:{type:[String,Number,Boolean],default:void 0}};function z(t,o){const{group:l,isInGroup:a,getGroupOrLocalRef:r}=function(t){const o=e.inject(t,void 0),l=e.computed(()=>void 0!==o);return{group:o,isInGroup:l,getGroupOrLocalRef:function(t,l,a){const r=o?.[t];if(r)return e.computed({get:()=>r.value,set(e){r.value=e}});const n=e.toRef(l,t);return e.computed({get:()=>n.value,set(e){a&&a(`update:${t}`,e)}})}}}(p),{id:n,iconPosition:i,icon:u,label:s,pressed:d}=e.toRefs(t),c=r("modelValue",t,o),v=r("toggle",t),f=r("unselectable",t),m=e.computed(()=>l?.multiple.value??!1),g=e.computed(()=>{let e=t.modifiers,o=l?.modifiers.value;const a=new Set;return e&&(Array.isArray(e)||(e=e.split(" ")),e.forEach(e=>a.add(e))),o&&(Array.isArray(o)||(o=o.split(" ")),o.forEach(e=>a.add(e))),Array.from(a)}),b=e.computed(()=>Boolean(t.disabled||l?.disabled.value));return{group:l,isInGroup:a,modelValue:c,toggle:v,unselectable:f,multiple:m,modifiers:g,disabled:b,id:n,pressed:d,iconPosition:i,icon:u,label:s}}const T=I;function U(){return e.inject(f,void 0)}const q=e.defineComponent({name:"VvAction",props:T,emits:["click","mouseover","mouseleave"],setup(t,{expose:o,emit:l}){const a=t,r=l,n=e.getCurrentInstance(),i=U(),u=e.ref(null);o({$el:u});const{reference:s,bus:d,aria:c,expanded:f}=e.inject(m,{});e.watch(()=>u.value,e=>{s&&(s.value=e)});const p=e.computed(()=>a.pressed||f?.value),{role:b}=e.inject(g,{}),y=e.computed(()=>{switch(!0){case a.disabled:return v.button;case void 0!==a.to:return i?.nuxt?e.resolveComponent(v.nuxtLink):v.routerLink;case void 0!==a.href:return v.a;default:return a.defaultTag}}),h=e.computed(()=>{const e={...c?.value,ariaPressed:!!p.value||void 0,ariaLabel:a.ariaLabel,role:b?.value};switch(y.value){case v.a:return{...e,href:a.href,target:a.target,rel:a.rel};case v.routerLink:case v.nuxtLink:return{...e,to:a.to,target:a.target};case v.button:return{...e,type:a.type,disabled:a.disabled};default:return e}});function S(e){a.disabled?e.preventDefault():n?.vnode.props?.onClick?r("click",e):d?.emit("click",e)}function k(e){n?.vnode.props?.onMouseover?r("mouseover",e):d?.emit("mouseover",e)}function B(e){n?.vnode.props?.onMouseleave?r("mouseleave",e):d?.emit("mouseleave",e)}return(t,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(y)),e.mergeProps(e.unref(h),{ref_key:"rootEl",ref:u,class:{active:t.active,pressed:e.unref(p),disabled:t.disabled,current:t.current},onClickPassive:S,onMouseoverPassive:k,onMouseleavePassive:B}),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.label),1)])]),_:3},16,["class"]))}});function G(t,o,l){return e.computed(()=>{const a={[t]:!0},r="string"==typeof o?.value?o.value.split(" "):o?.value;return r&&Array.isArray(r)&&r.forEach(e=>{e&&(a[`${t}--${e}`]=!0)}),l&&Object.keys(l.value).forEach(o=>{a[`${t}--${o}`]=e.unref(l.value[o])}),a})}const H=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:{}},i),setup(t){const o=t,a=e.computed(()=>"string"==typeof o.rotate?Number.parseFloat(o.rotate):o.rotate),r=e.ref(!0),n=U(),{modifiers:i}=e.toRefs(o),u=G("vv-icon",i),s=e.computed(()=>o.provider||n?.iconsProvider),d=e.computed(()=>{const e=o.name??"",t=`@${s.value}:${o.prefix}:${e}`;if(l.iconLoaded(t))return t;const a=n?.iconsCollections.find(t=>{const o=`@${s.value}:${t.prefix}:${e}`;return l.iconLoaded(o)});return a?`@${s.value}:${a.prefix}:${e}`:e});function c(e){const t=function(e){let t;if("undefined"==typeof window){const{JSDOM:e}=require("jsdom");t=(new e).window}return(t?new t.DOMParser:new window.DOMParser).parseFromString(e,"text/html").querySelector("svg")}(e),a=t?.innerHTML.trim()||"";t&&a&&l.addIcon(`@${s.value}:${o.prefix}:${o.name}`,{body:a,height:t.viewBox.baseVal.height,width:t.viewBox.baseVal.width})}return n&&o.src&&!l.iconLoaded(`@${s.value}:${o.prefix}:${o.name}`)&&(r.value=!1,n.fetchIcon(o.src).then(e=>{e&&(c(e),r.value=!0)}).catch(e=>{throw new Error(`Error during fetch icon: ${e?.message}`)})),o.svg&&c(o.svg),(o,n)=>e.unref(r)?(e.openBlock(),e.createBlock(e.unref(l.Icon),e.mergeProps({key:0,class:e.unref(u)},{inline:t.inline,width:t.width,height:t.height,horizontalFlip:t.horizontalFlip,verticalFlip:t.verticalFlip,flip:t.flip,rotate:e.unref(a),color:t.color,icon:e.unref(d)},{onLoad:t.onLoad}),null,16,["class","onLoad"])):e.createCommentVNode("v-if",!0)}});function J(t){return e.computed(()=>String(t?.value||e.useId()))}function W(t,o){const l=e.computed(()=>"string"==typeof t?.value?{name:t?.value}:t?.value),a=e.computed(()=>o?.value===d.before?l.value:void 0),r=e.computed(()=>o?.value===d.after?l.value:void 0),n=e.computed(()=>o?.value===s.left?l.value:void 0),i=e.computed(()=>o?.value===s.right?l.value:void 0),u=e.computed(()=>o?.value===s.top?l.value:void 0),c=e.computed(()=>o?.value===s.bottom?l.value:void 0);return{hasIcon:l,hasIconLeft:n,hasIconRight:i,hasIconTop:u,hasIconBottom:c,hasIconBefore:a,hasIconAfter:r}}const K={key:1,class:"vv-button__label"},Y={key:1,class:"vv-button__label"},Z=e.defineComponent({name:"VvButton",inheritAttrs:!1,props:F,emits:["update:modelValue"],setup(t,{expose:o,emit:l}){const a=t,r=l,n=e.useAttrs(),i=e.useSlots(),{id:u,modifiers:d,iconPosition:c,icon:v,label:f,modelValue:p,disabled:m,toggle:g,unselectable:b}=z(a,r),y=J(u),h=e.computed(()=>n?.name||y.value),S=e.ref(null);o({$el:e.computed(()=>S.value?.$el)});const k=e.computed(()=>g.value?Array.isArray(p.value)?D(h.value,p.value):j(h.value,p.value):a.pressed),B=G("vv-button",d,e.computed(()=>({reverse:[s.right,s.bottom].includes(c.value),column:[s.top,s.bottom].includes(c.value),"icon-only":Boolean(v?.value&&!f?.value&&!i.default)}))),{hasIcon:L}=W(v),w=e.computed(()=>void 0!==a.value?a.value:h.value),V=e.computed(()=>{if(g.value)return{onClick:A}});function A(){if(g.value){if(Array.isArray(p.value))return D(w.value,p.value)?void(b.value&&(p.value=p.value.filter(e=>e!==w.value))):void p.value.push(w.value);if(w.value===p.value&&b.value)return void(p.value=a.uncheckedValue);p.value=w.value}}return(t,o)=>(e.openBlock(),e.createBlock(q,e.mergeProps({...e.unref(n),...e.unref(V),disabled:e.unref(m),pressed:e.unref(k),active:t.active,type:t.type,to:t.to,href:t.href,target:t.target,rel:t.rel,ariaLabel:t.ariaLabel},{id:e.unref(y),ref_key:"rootEl",ref:S,class:e.unref(B)}),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default",{},()=>[t.loading?e.renderSlot(t.$slots,"loading",{key:0},()=>[t.loadingIcon?(e.openBlock(),e.createBlock(H,{key:0,class:"vv-button__loading-icon",name:t.loadingIcon},null,8,["name"])):e.createCommentVNode("v-if",!0),t.loadingLabel?(e.openBlock(),e.createElementBlock("span",K,e.toDisplayString(t.loadingLabel),1)):e.createCommentVNode("v-if",!0)]):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.renderSlot(t.$slots,"before"),e.unref(L)?(e.openBlock(),e.createBlock(H,e.mergeProps({key:0},e.unref(L),{class:"vv-button__icon"}),null,16)):e.createCommentVNode("v-if",!0),e.unref(f)?(e.openBlock(),e.createElementBlock("span",Y,[e.renderSlot(t.$slots,"label",{},()=>[e.createTextVNode(e.toDisplayString(e.unref(f)),1)])])):e.createCommentVNode("v-if",!0),e.renderSlot(t.$slots,"after")],64))])]),_:3},16,["id","class"]))}});const Q=["for"],X={class:"vv-input-file__preview"},ee=["src","alt"],te={class:"vv-input-file__wrapper"},oe=["id","readonly","disabled","required","placeholder","aria-describedby","aria-invalid","aria-errormessage","multiple","accept","capture","name"],le=["value"],ae=["onClick"],re=["title","onClick"],ne={class:"vv-input-file__item-name"},ie={class:"vv-input-file__item-info"},ue=["title","disabled","onClick"];return e.defineComponent({name:"VvInputFile",props:R,emits:["remove","download","update:modelValue"],setup(l,{emit:a}){const r=l,n=a,i=e.useSlots(),u=function(t,o,l){const a=U(),r=e.computed(()=>{if(a&&a.defaults.value?.[t])return a.defaults.value[t]});return e.computed(()=>{if(void 0===r.value)return l;const e=r.value,t=o,a=l;return Object.keys(t).reduce((o,l)=>{const r=a[l];if(o[l]=r,l in e){if(Array.isArray(t[l])){const a=t[l];a.length&&a[0]===r&&(o[l]=e[l])}if("function"==typeof t[l]&&(0,t[l])()===r&&(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(r)&&(o[l]=e[l]):a===r&&(o[l]=e[l])}}return o},{})})}("VvInputFile",R,r),{modifiers:s,id:d,readonly:c,disabled:v,icon:f,iconPosition:p,iconDownload:m}=e.toRefs(r),g=J(d),b=e.computed(()=>`${g.value}-hint`),y=e.computed(()=>{if(!r.progress)return!1;const e="string"==typeof r.progress?Number.parseInt(r.progress):r.progress;return e>0&&e<100}),{hasIconBefore:h,hasIconAfter:S}=W(f,p),{hasIcon:k}=W(m),B=G("vv-input-file",s,e.computed(()=>({valid:!0===r.valid,invalid:!0===r.invalid,loading:r.loading&&!y.value,disabled:r.disabled,required:r.required,readonly:r.readonly,dragging:_.value,"icon-before":!!h.value,"icon-after":!!S.value,"drop-area":O.value}))),{HintSlot:L,hasHintLabelOrSlot:w,hasInvalidLabelOrSlot:V,hintSlotScope:A}=function(t,o){const l=e.computed(()=>e.isRef(t)?t.value:t),a=e.computed(()=>M(l.value.invalidLabel)),r=e.computed(()=>M(l.value.validLabel)),n=e.computed(()=>l.value.loadingLabel),i=e.computed(()=>l.value.hintLabel),u=e.computed(()=>Boolean(l.value.loading&&(o.loading||n.value))),s=e.computed(()=>!u.value&&Boolean(l.value.invalid&&(o.invalid||a.value))),d=e.computed(()=>!u.value&&!s.value&&Boolean(l.value.valid&&(o.valid||r.value))),c=e.computed(()=>!u.value&&!s.value&&!d.value&&Boolean(o.hint||i.value)),v=e.computed(()=>s.value||d.value||u.value||c.value),f=e.computed(()=>({modelValue:l.value.modelValue,valid:l.value.valid,invalid:l.value.invalid,loading:l.value.loading})),p=e.defineComponent({name:"HintSlot",props:{tag:{type:String,default:"small"}},setup:()=>({isVisible:v,invalidLabel:a,validLabel:r,loadingLabel:n,hintLabel:i,hasInvalidLabelOrSlot:s,hasValidLabelOrSlot:d,hasLoadingLabelOrSlot:u,hasHintLabelOrSlot:c}),render(){if(this.isVisible){let t;return this.hasInvalidLabelOrSlot&&(t="alert"),this.hasValidLabelOrSlot&&(t="status"),this.hasLoadingLabelOrSlot?e.h(this.tag,{role:t},this.$slots.loading?.()??this.loadingLabel):this.hasInvalidLabelOrSlot?e.h(this.tag,{role:t},this.$slots.invalid?.()??this.$slots.invalid??this.invalidLabel):this.hasValidLabelOrSlot?e.h(this.tag,{role:t},this.$slots.valid?.()??this.validLabel):e.h(this.tag,{role:t},this.$slots.hint?.()??this.$slots.hint??this.hintLabel)}return null}});return{hasInvalidLabelOrSlot:s,hasHintLabelOrSlot:c,hasValidLabelOrSlot:d,hasLoadingLabelOrSlot:u,hintSlotScope:f,HintSlot:p}}(u,i),$=t.useVModel(r,"modelValue",n),C=e.computed({get:()=>$.value&&(Array.isArray($.value)||$.value?.name)?Array.isArray($.value)?$.value:[$.value]:[],set:e=>{P.value?$.value=e:$.value=e?.[0]}}),x=e.computed(()=>r.disabled||r.readonly),N=e.computed(()=>"string"==typeof r.max?Number.parseInt(r.max):r.max),O=e.computed(()=>r.dropArea&&!x.value),P=e.computed(()=>!!r.multiple&&(!N.value||N.value-C.value.length>1)),_=e.ref(!1),I=e.ref();function j(){_.value=!0}function E(){_.value=!1}function D(e){e.dataTransfer?.files&&(_.value=!1,z(e.dataTransfer?.files))}function F(){I.value?.files&&(z(I.value.files),I.value.value="")}function z(e){const t=function(e,t){if(!t||""===t.trim()||"*"===t)return Array.from(e);const{mimeTypes:o,extensions:l,wildcards:a}=function(e){const t=[],o=[],l=[],a=e?.split(",").map(e=>e.trim().toLowerCase());return a?.length&&a.forEach(e=>{e.startsWith(".")?o.push(e):e.includes("/*")?l.push(e.replace("/*","")):t.push(e)}),{mimeTypes:t,extensions:o,wildcards:l}}(t);return Array.from(e).filter(e=>{const t=e.type.toLowerCase(),r=`.${e.name.split(".").pop()?.toLowerCase()}`,n=o.includes(t),i=a.some(e=>t.startsWith(`${e}/`)),u=l.some(e=>r===e.toLowerCase());return n||i||u})}(e,r.accept);if(!r.multiple)return Array.isArray($.value)?void($.value=t):void($.value=t[0]);let o=[];o=!Array.isArray($.value)&&$.value?[$.value]:$.value&&Array.isArray($.value)?[...$.value]:o;for(const l of t){if(N.value&&o.length>=N.value)break;o.push(l)}$.value=o,K.value=o.length-1}function T(){I.value&&(x.value||I.value.click())}function q(e){const t=Array.isArray($.value)?$.value[e]:$.value;if(!t)return;if(n("remove",t),!Array.isArray($.value))return void($.value=void 0);K.value===e&&(K.value=0);const o=[...$.value];o.splice(e,1),$.value=o}const K=e.ref(0),Y=["image/jpeg","image/png"],se=e.computed(()=>{if(r.hidePreview)return;if(0===C.value.length)return;if(!C.value[K.value])return;if(C.value[K.value]instanceof File){const e=C.value[K.value];if(!Y.includes(e.type))return;return URL.createObjectURL(e)}const e=C.value[K.value];return e.thumbnailUrl?e.thumbnailUrl:Y.includes(e.type)?e.url:void 0});function de(e,t){if(!e)return;if(0===e)return"0 Bytes";const o=t?t<=0?0:t:2,l=Math.floor(Math.log(e)/Math.log(1024));return`${Number.parseFloat((e/1024**l).toFixed(o))} ${["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"][l]}`}function ce(e){n("download",e);const t=e instanceof File?URL.createObjectURL(e):e.url;if(!t)return;const o=document.createElement("a");o.href=t,o.setAttribute("download",e.name),document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(o.href)}function ve(e){K.value=e}e.watch(se,(e,t)=>{t&&URL.revokeObjectURL(t)}),e.onBeforeUnmount(()=>{se.value&&URL.revokeObjectURL(se.value)});const fe=e.computed(()=>0===C.value.length||P.value?r.labelAdd:r.labelReplace),pe=e.computed(()=>0===C.value.length||P.value?r.iconAdd:r.iconReplace);function me({newIndex:e}){null!==e&&(K.value=e)}return(t,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(B))},[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(g)},e.toDisplayString(t.label),9,Q)):e.createCommentVNode("v-if",!0),O.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:"vv-input-file__drop-area",onDragenter:e.withModifiers(j,["prevent","stop"]),onDragleave:e.withModifiers(E,["prevent","stop"]),onDrop:e.withModifiers(D,["prevent","stop"]),onDragover:l[0]||(l[0]=e.withModifiers(()=>{},["prevent","stop"])),onClick:e.withModifiers(T,["stop"])},[e.renderSlot(t.$slots,"drop-area",e.normalizeProps(e.guardReactiveProps({previewSrc:se.value,onClickDropArea:T})),()=>[e.createElementVNode("picture",X,[se.value?(e.openBlock(),e.createElementBlock("img",{key:0,src:se.value,alt:C.value[K.value].name},null,8,ee)):e.createCommentVNode("v-if",!0)]),e.unref(c)?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createBlock(Z,{key:0,modifiers:"action",label:se.value?void 0:fe.value,title:se.value?fe.value:void 0,disabled:e.unref(v),class:e.normalizeClass({"vv-input-file__drop-area-action":se.value}),icon:pe.value,onClick:e.withModifiers(T,["stop"])},null,8,["label","title","disabled","class","icon"]))])],32)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",te,[e.unref(h)?(e.openBlock(),e.createBlock(H,e.normalizeProps(e.mergeProps({key:0},e.unref(h))),null,16)):e.createCommentVNode("v-if",!0),e.createElementVNode("input",{id:e.unref(g),ref_key:"inputEl",ref:I,type:"file",readonly:e.unref(c),disabled:e.unref(v),required:t.required,placeholder:t.placeholder,"aria-describedby":e.unref(w)?b.value:void 0,"aria-invalid":t.invalid,"aria-errormessage":e.unref(V)?b.value:void 0,multiple:P.value,accept:t.accept,capture:t.capture,name:t.name,onChange:F},null,40,oe),y.value?(e.openBlock(),e.createElementBlock("progress",{key:1,class:"vv-input-file__progress",value:t.progress,max:"100"},e.toDisplayString(t.progress)+"% ",9,le)):e.createCommentVNode("v-if",!0),e.unref(S)?(e.openBlock(),e.createBlock(H,e.normalizeProps(e.mergeProps({key:2},e.unref(S))),null,16)):e.createCommentVNode("v-if",!0)]),e.renderSlot(t.$slots,"file-list",e.normalizeProps(e.guardReactiveProps({files:C.value,selectedFileIndex:K.value,onSelectIndex:ve,onRemoveIndex:q,onDownloadFile:ce,formatBytes:de})),()=>[e.createVNode(e.unref(o),{modelValue:C.value,"onUpdate:modelValue":l[1]||(l[1]=e=>C.value=e),tag:"ul",class:"vv-input-file__list","item-key":"name",move:()=>t.sortable,onEnd:me},{item:e.withCtx(({element:o,index:l})=>[e.createElementVNode("li",{class:e.normalizeClass(["vv-input-file__item",{active:l===K.value&&O.value&&C.value.length>1,"cursor-move":t.sortable}]),onClick:e.withModifiers(e=>ve(l),["stop"])},[e.renderSlot(t.$slots,"file-item",e.normalizeProps(e.guardReactiveProps({file:o,index:l,isSelected:l===K.value,onRemoveIndex:q,onDownloadFile:ce,formatBytes:de})),()=>[e.unref(k)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"vv-input-file__item-action",title:t.labelDownload,onClick:e.withModifiers(e=>ce(o),["stop"])},[e.createVNode(H,e.normalizeProps(e.guardReactiveProps(e.unref(k))),null,16)],8,re)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",ne,e.toDisplayString(o.name),1),e.createElementVNode("small",ie,e.toDisplayString(de(o.size)),1),e.unref(c)?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"vv-input-file__item-remove",title:t.labelRemove,disabled:e.unref(v),onClick:e.withModifiers(e=>q(l),["stop"])},null,8,ue))])],10,ae)]),_:3},8,["modelValue","move"])]),e.createVNode(e.unref(L),{id:b.value,class:"vv-input-file__hint"},e.createSlots({_:2},[t.$slots.hint?{name:"hint",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps(e.unref(A))))]),key:"0"}:void 0,t.$slots.loading?{name:"loading",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"loading",e.normalizeProps(e.guardReactiveProps(e.unref(A))))]),key:"1"}:void 0,t.$slots.valid?{name:"valid",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"valid",e.normalizeProps(e.guardReactiveProps(e.unref(A))))]),key:"2"}:void 0,t.$slots.invalid?{name:"invalid",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"invalid",e.normalizeProps(e.guardReactiveProps(e.unref(A))))]),key:"3"}:void 0]),1032,["id"])],2))}})});
@@ -1,4 +1,6 @@
1
1
  import type { UploadedFile } from '../../types';
2
+ declare const _default: typeof __VLS_export;
3
+ export default _default;
2
4
  declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<globalThis.ExtractPropTypes<{
3
5
  modelValue: {
4
6
  type: PropType<File | UploadedFile | (File | UploadedFile)[]>;
@@ -36,6 +38,10 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<global
36
38
  type: BooleanConstructor;
37
39
  default: boolean;
38
40
  };
41
+ hidePreview: {
42
+ type: BooleanConstructor;
43
+ default: boolean;
44
+ };
39
45
  labelAdd: {
40
46
  type: StringConstructor;
41
47
  default: string;
@@ -167,6 +173,10 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<global
167
173
  type: BooleanConstructor;
168
174
  default: boolean;
169
175
  };
176
+ hidePreview: {
177
+ type: BooleanConstructor;
178
+ default: boolean;
179
+ };
170
180
  labelAdd: {
171
181
  type: StringConstructor;
172
182
  default: string;
@@ -266,7 +276,6 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<global
266
276
  disabled: boolean;
267
277
  modifiers: string | string[];
268
278
  progress: string | number;
269
- placeholder: string;
270
279
  icon: string | import("../VvIcon").VvIconProps;
271
280
  iconPosition: "before" | "after";
272
281
  required: boolean;
@@ -279,11 +288,13 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<global
279
288
  invalidLabel: string | unknown[];
280
289
  valid: boolean;
281
290
  validLabel: string | unknown[];
291
+ placeholder: string;
282
292
  accept: string;
283
293
  capture: "user" | "environment";
284
294
  max: string | number;
285
295
  dropArea: boolean;
286
296
  sortable: boolean;
297
+ hidePreview: boolean;
287
298
  labelAdd: string;
288
299
  iconAdd: string | import("../VvIcon").VvIconProps;
289
300
  labelReplace: string;
@@ -292,7 +303,28 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<global
292
303
  iconDownload: string | import("../VvIcon").VvIconProps;
293
304
  labelRemove: string;
294
305
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
295
- 'drop-area'?: (props: {}) => any;
306
+ 'drop-area'?: (props: {
307
+ previewSrc: string | undefined;
308
+ onClickDropArea: () => void;
309
+ }) => any;
310
+ } & {
311
+ 'file-list'?: (props: {
312
+ files: (File | UploadedFile)[];
313
+ selectedFileIndex: number;
314
+ onSelectIndex: (index: number) => void;
315
+ onRemoveIndex: (index: number) => void;
316
+ onDownloadFile: (file: File | UploadedFile) => void;
317
+ formatBytes: (bytes?: number, decimals?: number) => string | undefined;
318
+ }) => any;
319
+ } & {
320
+ 'file-item'?: (props: {
321
+ file: any;
322
+ index: any;
323
+ isSelected: boolean;
324
+ onRemoveIndex: (index: number) => void;
325
+ onDownloadFile: (file: File | UploadedFile) => void;
326
+ formatBytes: (bytes?: number, decimals?: number) => string | undefined;
327
+ }) => any;
296
328
  } & {
297
329
  hint?: (props: {
298
330
  modelValue: unknown;
@@ -322,8 +354,6 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<global
322
354
  loading: boolean;
323
355
  }) => any;
324
356
  }>;
325
- declare const _default: typeof __VLS_export;
326
- export default _default;
327
357
  type __VLS_WithSlots<T, S> = T & {
328
358
  new (): {
329
359
  $slots: S;
@@ -80,6 +80,13 @@ export declare const VvInputFileProps: {
80
80
  type: BooleanConstructor;
81
81
  default: boolean;
82
82
  };
83
+ /**
84
+ * Hide preview
85
+ */
86
+ hidePreview: {
87
+ type: BooleanConstructor;
88
+ default: boolean;
89
+ };
83
90
  /**
84
91
  * Label for add button
85
92
  */
@@ -1,4 +1,4 @@
1
- import{unref as e,computed as t,isRef as a,defineComponent as l,h as o,useId as i,Fragment as n,provide as r,ref as u,toRefs as s,useAttrs as d,onMounted as v,watch as c,createElementBlock as p,openBlock as f,createVNode as m,withCtx as b,renderSlot as h,normalizeProps as g,guardReactiveProps as y,Transition as S,mergeProps as w,toHandlers as E,withDirectives as $,createElementVNode as x,normalizeClass as L,normalizeStyle as T,createCommentVNode as D,vShow as k,nextTick as O,inject as A,createBlock as _,createTextVNode as I,toDisplayString as M,mergeDefaults as N,useSlots as H,withModifiers as C,createSlots as B,renderList as P}from"vue";import{useIMask as V}from"vue-imask";import{autoPlacement as R,flip as j,shift as U,size as F,offset as Y,arrow as W,useFloating as z,autoUpdate as q}from"@floating-ui/vue";import{useMutationObserver as K,useVModel as X,onClickOutside as J,useFocusWithin as Z,useElementHover as G,onKeyStroke as Q,useFocus as ee,useStorage as te,useElementVisibility as ae}from"@vueuse/core";import le from"mitt";import{iconLoaded as oe,Icon as ie,addIcon as ne}from"@iconify/vue";const re=e=>e.toString().padStart(2,"0");function ue(e){if("string"!=typeof e)return!1;if(!/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?(?:Z|[+-]\d{2}:?\d{2})?$/.test(e))return!1;const t=new Date(e);return!Number.isNaN(t.getTime())&&t.toISOString()===e}function se(e,t="date",a){if("string"==typeof e&&!ue(e))return"";const l=new Date(e);if(Number.isNaN(l.getTime()))return"";let o=`${l.getFullYear()}-${re(l.getMonth()+1)}`;if("month"===t)return o;if(o+=`-${re(l.getDate())}`,"date"===t)return o;const i=a?`${re(l.getHours())}:${re(l.getMinutes())}:${re(l.getSeconds())}`:`${re(l.getHours())}:${re(l.getMinutes())}`;return"time"===t?i:`${o}T${i}`}function de(t){return null==(a=e(t))||""===a||Array.isArray(a)&&0===a.length||!(a instanceof Date)&&"object"==typeof a&&0===Object.keys(a).length;var a}function ve(e){return Array.isArray(e)?e.filter(e=>"string"==typeof e).join(" "):e}var ce=/* @__PURE__ */(e=>(e.local="local",e.session="session",e))(ce||{}),pe=/* @__PURE__ */(e=>(e.absolute="absolute",e.fixed="fixed",e))(pe||{}),fe=/* @__PURE__ */(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(fe||{}),me=/* @__PURE__ */(e=>(e.topStart="top-start",e.topEnd="top-end",e.bottomStart="bottom-start",e.bottomEnd="bottom-end",e.leftStart="left-start",e.leftEnd="left-end",e.rightStart="right-start",e.rightEnd="right-end",e))(me||{}),be=/* @__PURE__ */(e=>(e.before="before",e.after="after",e))(be||{}),he=/* @__PURE__ */(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(he||{}),ge=/* @__PURE__ */(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(ge||{}),ye=/* @__PURE__ */(e=>(e.button="button",e.link="link",e.menuitem="menuitem",e))(ye||{}),Se=/* @__PURE__ */(e=>(e.listbox="listbox",e.menu="menu",e))(Se||{}),we=/* @__PURE__ */(e=>(e.option="option",e.presentation="presentation",e))(we||{});const Ee=Symbol.for("volver"),$e=Symbol.for("dropdownTrigger"),xe=Symbol.for("dropdownItem"),Le=Symbol.for("dropdownAction"),Te="eye-on",De="eye-off",ke="calendar",Oe="time",Ae="color",_e="close",Ie="trash",Me={prefix:"normal"},Ne={valid:{type:Boolean,default:!1},validLabel:{type:[String,Array],default:void 0}},He={invalid:{type:Boolean,default:!1},invalidLabel:{type:[String,Array],default:void 0}},Ce={loading:{type:Boolean,default:!1},loadingLabel:{type:String,default:"Loading..."}},Be={disabled:{type:Boolean,default:!1}},Pe={required:{type:Boolean,default:!1}},Ve={selected:{type:Boolean,default:!1}},Re={label:{type:[String,Number],default:void 0}},je={readonly:{type:Boolean,default:!1}},Ue={modifiers:{type:[String,Array],default:void 0}},Fe={hintLabel:{type:String,default:""}},Ye={count:{type:[Boolean,String],default:!1,validator:e=>[!0,!1,"limit","countdown"].includes(e)}},We={debounce:{type:[Number,String],default:void 0}},ze={icon:{type:[String,Object],default:void 0},iconPosition:{type:String,default:be.before,validation:e=>Object.values(be).includes(e)}},qe={tabindex:{type:[String,Number],default:0}},Ke={floating:{type:Boolean,default:!1}},Xe={unselectable:{type:Boolean,default:!0}},Je={id:[String,Number]},Ze={placement:{type:String,default:fe.bottom,validator:e=>Object.values(fe).includes(e)||Object.values(me).includes(e)},strategy:{type:String,default:void 0,validator:e=>Object.values(pe).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}},Ge={...{...Je,name:{type:String,required:!0}},...{autofocus:{type:Boolean,default:!1}},...{autocomplete:{type:String,default:"off"}},...qe,...Be,...je,...Ne,...He,...Fe,...Ce,...Ue,...Ye,...We,...ze,...Ke,...Re,minlength:{type:[String,Number],default:void 0},maxlength:{type:[String,Number],default:void 0},placeholder:{type:String,default:void 0},...Pe};he.button,ge.button;const Qe={storageType:{type:String,default:ce.local,validator:e=>Object.values(ce).includes(e)},storageKey:String},et={...Je,...Ze,...Ue,modelValue:{type:Boolean,default:void 0},reference:{type:Object,default:null},role:{type:String,default:Se.menu,validator:e=>Object.values(Se).includes(e)}},tt={focusOnHover:{type:Boolean,default:!1}},at={...Be,...Ve,...Xe,...Ue,deselectHintLabel:{type:String},selectHintLabel:{type:String},selectedHintLabel:{type:String},focusOnHover:{type:Boolean,default:!1}};function lt(e){return t(()=>String(e?.value||i()))}function ot(a,l,o){return t(()=>{const t={[a]:!0},i="string"==typeof l?.value?l.value.split(" "):l?.value;return i&&Array.isArray(i)&&i.forEach(e=>{e&&(t[`${a}--${e}`]=!0)}),o&&Object.keys(o.value).forEach(l=>{t[`${a}--${l}`]=e(o.value[l])}),t})}const it=["id","tabindex","role","aria-labelledby"],nt=/* @__PURE__ */l({name:"VvDropdown",inheritAttrs:!1,props:et,emits:["update:modelValue","beforeEnter","afterLeave","beforeExpand","beforeCollapse","afterExpand","afterCollapse","before-enter","after-leave","enter","afterEnter","enterCancelled","beforeLeave","leave","leaveCancelled"],setup(a,{expose:i,emit:A}){const _=a,I=A,{id:M}=s(_),N=lt(M),H=d(),C=u("auto"),B=u("auto"),P=u(),V=u(),ee=u(),te=u(),ae=t({get:()=>_.reference??P.value,set:e=>{P.value=e}}),oe=u(!1);v(()=>{K(V.value,()=>{oe.value="true"===window.getComputedStyle(V.value).getPropertyValue("--dropdown-custom-position")?.trim()},{attributeFilter:["style"],window:window})});const ie=t(()=>{const e=[];if(_.autoPlacement?"boolean"==typeof _.autoPlacement?e.push(R()):e.push(R(_.autoPlacement)):_.flip&&("boolean"==typeof _.flip?e.push(j({fallbackStrategy:"initialPlacement"})):e.push(j(_.flip))),_.shift&&("boolean"==typeof _.shift?e.push(U()):e.push(U(_.shift))),_.size){const t=({availableWidth:e,availableHeight:t})=>{C.value=`${e}px`,B.value=`${t}px`};"boolean"==typeof _.size?e.push(F({apply:t})):e.push(F({..._.size,apply:t}))}return _.offset&&(e.push(Y(Number(_.offset))),["string","number"].includes(typeof _.offset)?e.push(Y(Number(_.offset))):e.push(Y(_.offset))),_.arrow&&e.push(W({element:ee})),e}),{x:ne,y:re,middlewareData:ue,placement:se,strategy:de}=z(ae,V,{whileElementsMounted:(...e)=>q(...e,{animationFrame:_.strategy===pe.fixed}),placement:t(()=>_.placement),strategy:t(()=>_.strategy),middleware:ie}),ve=t(()=>{if(oe.value)return;const e=_.triggerWidth&&ae.value?`${ae.value?.offsetWidth}px`:void 0;return{position:de.value,top:`${re.value??0}px`,left:`${ne.value??0}px`,maxWidth:e?void 0:C.value,maxHeight:B.value,width:e}}),ce=t(()=>se.value.split("-")[0]),me=t(()=>{if(oe.value)return;const e={[fe.top]:fe.bottom,[fe.right]:fe.left,[fe.bottom]:fe.top,[fe.left]:fe.right}[ce.value];return{left:void 0!==ue.value.arrow?.x?`${ue.value.arrow?.x}px`:void 0,top:void 0!==ue.value.arrow?.y?`${ue.value.arrow?.y}px`:void 0,[e]:-(ee.value?.offsetWidth??0)/2+"px"}}),be=X(_,"modelValue",I),he=u(!1),ge=t({get:()=>be.value??he.value,set:e=>{void 0!==be.value?be.value=e:he.value=e}});function ye(){ge.value=!0}function Ee(){ge.value=!1}function Le(){ge.value=!ge.value}function Te(e){ae.value=e}J(V,()=>{!_.keepOpen&&ge.value&&(ge.value=!1)},{ignore:[ae]});const De=t(()=>ae.value?.getAttribute?.("id")??void 0),ke=t(()=>({"aria-controls":N.value,"aria-haspopup":!0,"aria-expanded":ge.value})),{component:Oe,bus:Ae}=function({reference:e,id:t,expanded:a,aria:i}){const u=le(),s=l({name:"VvDropdownTriggerProvider",setup(){r($e,{reference:e,id:t,expanded:a,aria:i,bus:u})},render(){return o(n,{},this.$slots.default?.())}});return{bus:u,component:s}}({reference:ae,id:N,expanded:ge,aria:ke});Ae.on("click",Le);const{role:_e,modifiers:Ie}=s(_),Me=ot("vv-dropdown",Ie,t(()=>({arrow:_.arrow}))),{focused:Ne}=Z(V);function He(e){return e?[...e.querySelectorAll('a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])')].filter(e=>!e.hasAttribute("disabled")&&!e.getAttribute("aria-hidden")):[]}function Ce(){O(()=>{const e=He(V.value);e.length>0&&e[0].focus({preventScroll:!0})})}function Be(){O(()=>{if(Ne.value){const e=He(V.value);if(0===e.length||!document.activeElement)return;const t=e.indexOf(document.activeElement);t<e.length-1?e[t+1].focus({preventScroll:!0}):e[0].focus({preventScroll:!0})}})}function Pe(){O(()=>{if(Ne.value){const e=He(V.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})}})}c(ge,e=>{e&&_.autofocusFirst&&Ce()}),i({toggle:Le,show:ye,hide:Ee,init:Te,focusFirst:Ce,focusFirstListElement:function(){O(()=>{const e=He(te.value);e.length>0&&e[0].focus({preventScroll:!0})})},focusNext:Be,focusPrev:Pe,customPosition:oe});const Ve=G(V),{itemRole:Re}=function({role:e,...a}){const l=t(()=>e.value===Se.listbox?we.option:we.presentation);return r(xe,{role:l,...a}),{itemRole:l}}({role:_e,expanded:ge,focused:Ne,hovered:Ve});Q("Escape",e=>{ge.value&&(e.preventDefault(),Ee())}),Q("ArrowDown",e=>{ge.value&&Ne.value&&(e.preventDefault(),Be())}),Q("ArrowUp",e=>{ge.value&&Ne.value&&(e.preventDefault(),Pe())}),Q([" ","Enter"],e=>{const t=e.target;ge.value&&Ne.value&&t&&t?.click()});const je={"before-enter":()=>{I(ge.value?"beforeExpand":"beforeCollapse"),I("beforeEnter")},"after-leave":()=>{I(ge.value?"afterExpand":"afterCollapse"),I("afterLeave")},enter:()=>{I("enter")},"after-enter":()=>{I("afterEnter")},"enter-cancelled":()=>{I("enterCancelled")},"before-leave":()=>{I("beforeLeave")},leave:()=>{I("leave")},"leave-cancelled":()=>{I("leaveCancelled")}};return(t,a)=>(f(),p(n,null,[m(e(Oe),null,{default:b(()=>[h(t.$slots,"default",g(y({init:Te,show:ye,hide:Ee,toggle:Le,expanded:e(ge),aria:e(ke)})))]),_:3}),m(S,w({name:t.transitionName},E(je),{persisted:""}),{default:b(()=>[$(x("div",{ref_key:"floatingEl",ref:V,style:T(e(ve)),class:L(e(Me))},[_.arrow?(f(),p("div",{key:0,ref_key:"arrowEl",ref:ee,style:T(e(me)),class:"vv-dropdown__arrow"},null,4)):D("v-if",!0),h(t.$slots,"before",g(y({expanded:e(ge)}))),x("div",w(e(H),{id:e(N),ref_key:"listEl",ref:te,tabindex:e(ge)?void 0:-1,role:e(_e),"aria-labelledby":e(De),class:"vv-dropdown__list"}),[h(t.$slots,"items",g(y({role:e(Re)})))],16,it),h(t.$slots,"after",g(y({expanded:e(ge)})))],6),[[k,e(ge)]])]),_:3},16,["name"])],64))}});const rt=/* @__PURE__ */l({name:"VvDropdownItem",props:tt,setup(t){const a=t,{role:l,expanded:o}=A(xe,{}),i=u(null);!function({expanded:e}){r(Le,{role:u(ye.menuitem),expanded:e})}({expanded:o});const n=G(i),{focused:s}=ee(i),{focused:d}=Z(i);return c(n,e=>{e&&a.focusOnHover&&(s.value=!0)}),(t,a)=>(f(),p("div",w({role:e(l)},{ref_key:"element",ref:i,class:["vv-dropdown__item",{"focus-visible":e(s)||e(d)}]}),[h(t.$slots,"default")],16))}}),ut=["title"],st=/* @__PURE__ */l({name:"VvDropdownOption",props:at,setup(a){const l=a,{modifiers:o}=s(l),i=ot("vv-dropdown-option",o,t(()=>({disabled:l.disabled,selected:l.selected,unselectable:l.unselectable&&l.selected}))),n=t(()=>l.selected?l.unselectable?l.deselectHintLabel:l.selectedHintLabel:l.disabled?"":l.selectHintLabel);return(t,a)=>(f(),_(rt,{class:L(e(i)),tabindex:t.disabled?-1:0,"aria-selected":t.selected,"aria-disabled":t.disabled,"focus-on-hover":t.focusOnHover},{default:b(()=>[h(t.$slots,"default"),x("span",{class:"vv-dropdown-option__hint",title:e(n)},[h(t.$slots,"hint",g(y({disabled:t.disabled,selected:t.selected,unselectable:t.unselectable})),()=>[I(M(e(n)),1)])],8,ut)]),_:3},8,["class","tabindex","aria-selected","aria-disabled","focus-on-hover"]))}});function dt(){return A(Ee,void 0)}const vt=/* @__PURE__ */l({name:"VvIcon",props:/* @__PURE__ */N({name:{},color:{},width:{},height:{},provider:{},prefix:{},src:{},horizontalFlip:{type:Boolean},verticalFlip:{type:Boolean},flip:{},mode:{},inline:{type:Boolean},rotate:{},onLoad:{type:Function},svg:{},modifiers:{}},Me),setup(a){const l=a,o=t(()=>"string"==typeof l.rotate?Number.parseFloat(l.rotate):l.rotate),i=u(!0),n=dt(),{modifiers:r}=s(l),d=ot("vv-icon",r),v=t(()=>l.provider||n?.iconsProvider),c=t(()=>{const e=l.name??"",t=`@${v.value}:${l.prefix}:${e}`;if(oe(t))return t;const a=n?.iconsCollections.find(t=>{const a=`@${v.value}:${t.prefix}:${e}`;return oe(a)});return a?`@${v.value}:${a.prefix}:${e}`:e});function p(e){const t=function(e){let t;if("undefined"==typeof window){const{JSDOM:e}=require("jsdom");t=(new e).window}return(t?new t.DOMParser:new window.DOMParser).parseFromString(e,"text/html").querySelector("svg")}(e),a=t?.innerHTML.trim()||"";t&&a&&ne(`@${v.value}:${l.prefix}:${l.name}`,{body:a,height:t.viewBox.baseVal.height,width:t.viewBox.baseVal.width})}return n&&l.src&&!oe(`@${v.value}:${l.prefix}:${l.name}`)&&(i.value=!1,n.fetchIcon(l.src).then(e=>{e&&(p(e),i.value=!0)}).catch(e=>{throw new Error(`Error during fetch icon: ${e?.message}`)})),l.svg&&p(l.svg),(t,l)=>e(i)?(f(),_(e(ie),w({key:0,class:e(d)},{inline:a.inline,width:a.width,height:a.height,horizontalFlip:a.horizontalFlip,verticalFlip:a.verticalFlip,flip:a.flip,rotate:e(o),color:a.color,icon:e(c)},{onLoad:a.onLoad}),null,16,["class","onLoad"])):D("v-if",!0)}}),ct={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"},pt={...Ge,...Qe,modelValue:[String,Number,Date],type:{type:String,default:ct.TEXT,validator:e=>Object.values(ct).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:Te},iconHidePassword:{type:[String,Object],default:De},iconClear:{type:[String,Object],default:_e},iconRemoveSuggestion:{type:[String,Object],default:Ie},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},inputMode:{type:String,default:"text"}};function ft(e,a){const l=t(()=>"string"==typeof e?.value?{name:e?.value}:e?.value),o=t(()=>a?.value===be.before?l.value:void 0),i=t(()=>a?.value===be.after?l.value:void 0),n=t(()=>a?.value===fe.left?l.value:void 0),r=t(()=>a?.value===fe.right?l.value:void 0),u=t(()=>a?.value===fe.top?l.value:void 0),s=t(()=>a?.value===fe.bottom?l.value:void 0);return{hasIcon:l,hasIconLeft:n,hasIconRight:r,hasIconTop:u,hasIconBottom:s,hasIconBefore:o,hasIconAfter:i}}const mt=l({components:{VvIcon:vt},props:{inputType:{type:String,default:"input-text"},disabled:{type:Boolean,default:!1},label:{type:String,default:"Clear"},icon:{type:[String,Object],default:"close"}},emits:["clear"],setup(e,{emit:a}){const{hasIcon:l}=ft(t(()=>e.icon));return{hasIcon:l,onClick:function(t){t?.stopPropagation(),e.disabled||a("clear")}}},render(){const e=this.hasIcon?o(vt,{...this.hasIcon,class:`vv-${this.inputType}__icon`}):void 0;return o("button",{disabled:this.disabled,class:`vv-${this.inputType}__action`,ariaLabel:this.label,type:"button",onClick:this.onClick},e)}}),bt=l({components:{VvIcon:vt},props:{inputType:{type:String,default:"input-text"},disabled:{type:Boolean,default:!1},labelShow:{type:String,default:"Show password"},labelHide:{type:String,default:"Hide password"},iconShow:{type:[String,Object],default:Te},iconHide:{type:[String,Object],default:De}},emits:["toggle-password"],setup(e,{emit:a}){const l=u(!1),o=t(()=>l.value?e.iconHide:e.iconShow),{hasIcon:i}=ft(o);return{active:l,activeIcon:o,hasIcon:i,onClick:function(t){t?.stopPropagation(),e.disabled||(l.value=!l.value,a("toggle-password",l.value))}}},render(){const e=this.hasIcon?o(vt,{...this.hasIcon,class:`vv-${this.inputType}__icon`}):void 0;return o("button",{disabled:this.disabled,class:`vv-${this.inputType}__action`,ariaLabel:this.active?this.labelHide:this.labelShow,type:"button",onClick:this.onClick},e)}}),ht=l({components:{VvIcon:vt},props:{inputType:{type:String,default:"input-text"},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(e,{emit:a}){const l=t(()=>"up"===e.mode);return{isUp:l,onClick:t=>{t?.stopPropagation(),e.disabled||a(l.value?"step-up":"step-down")}}},render(){return o("button",{class:[`vv-${this.inputType}__action`,`vv-${this.inputType}__action-chevron`,this.isUp?`vv-${this.inputType}__action-chevron-up`:void 0],disabled:this.disabled,ariaLabel:this.label,type:"button",onClick:this.onClick})}});function gt(e,a,l){return{name:"VvInputTextActions",components:{VvIcon:vt,VvInputPasswordAction:bt,VvInputStepAction:ht,VvInputClearAction:mt},setup(){const e=t(()=>a.disabled||a.readonly);return{isDirty:l,isDisabled:e,labelStepUp:a.labelStepUp,labelStepDown:a.labelStepDown,labelShowPassword:a.labelShowPassword,labelHidePassword:a.labelHidePassword,labelClear:a.labelClear,iconShowPassword:a.iconShowPassword,iconHidePassword:a.iconHidePassword}},render(){let t=null;switch(e){case ct.SEARCH:{const{onClear:e}=this.$attrs;t=[o(mt,{disabled:this.isDisabled||!this.isDirty,label:this.labelClear,onClear:e})];break}case ct.PASSWORD:{const{onTogglePassword:e}=this.$attrs;t=[o(bt,{disabled:this.isDisabled,onTogglePassword:e,labelShow:this.labelShowPassword,labelHide:this.labelHidePassword,iconShow:this.iconShowPassword,iconHide:this.iconHidePassword})];break}case ct.NUMBER:{const{onStepUp:e,onStepDown:l}=this.$attrs;t=[o(ht,{mode:"up",disabled:this.isDisabled||void 0!==a.max&&a.modelValue===a.max,label:this.labelStepUp,onStepUp:e,onStepDown:l}),o(ht,{mode:"down",disabled:this.isDisabled||void 0!==a.min&&a.modelValue===a.min,label:this.labelStepDown,onStepUp:e,onStepDown:l})];break}}return Array.isArray(t)?o("div",{class:"vv-input-text__actions-group"},t):t}}}const yt=["for"],St={key:0,class:"vv-input-text__input-before"},wt=["id"],Et={key:1,class:"vv-input-text__unit"},$t={key:5,class:"vv-input-text__input-after"},xt={key:6,class:"vv-input-text__limit"},Lt={class:"flex-1"},Tt=["title","onClick"],Dt=/* @__PURE__ */l({name:"VvInputText",props:pt,emits:["update:modelValue","update:masked","accept","accept:typed","accept:masked","accept:unmasked","complete","complete:typed","complete:masked","complete:unmasked","suggestion:selected","suggestion:removed","focus","blur","keyup","keydown","keypress","clear"],setup(i,{expose:r,emit:d}){const S=i,E=d,$=H(),T=dt(),k=function(e,a,l){const o=dt(),i=t(()=>{if(o&&o.defaults.value?.[e])return o.defaults.value[e]});return t(()=>{if(void 0===i.value)return l;const e=i.value,t=a,o=l;return Object.keys(t).reduce((a,l)=>{const i=o[l];if(a[l]=i,l in e){if(Array.isArray(t[l])){const o=t[l];o.length&&o[0]===i&&(a[l]=e[l])}if("function"==typeof t[l]&&(0,t[l])()===i&&(a[l]=e[l]),"object"==typeof t[l]){let o=t[l].default;"function"==typeof o&&(o=o()),"object"==typeof o?JSON.stringify(o)===JSON.stringify(i)&&(a[l]=e[l]):o===i&&(a[l]=e[l])}}return a},{})})}("VvInputText",pt,S),{count:O,debounce:A,icon:N,iconPosition:R,iconRemoveSuggestion:j,id:U,invalid:F,label:Y,loading:W,maxlength:z,minlength:q,modelValue:K,step:X,storageType:J,type:Z,valid:G}=s(S),Q=lt(U),le=t(()=>`${Q.value}-hint`),oe=t(()=>S.floating&&de(S.placeholder)?" ":S.placeholder),ie=function(e,a,l=0,{getter:o=e=>e,setter:i=e=>e}={}){let n;return"string"==typeof l&&(l=Number.parseInt(l)),t({get:()=>o(e?.value),set:e=>{n&&clearTimeout(n),n=setTimeout(()=>{a("update:modelValue",i(e))},l)}})}(K,E,A?.value??0),ne=t(()=>{const e="number"==typeof X.value?X.value:Number.parseInt(X.value);return!Number.isNaN(e)&&e%60!=0}),pe=/^-0?[.,]?[0*]?$/,fe=u(!1),me=u(),be=u(),{el:he,mask:ge,typed:ye,masked:Se,unmasked:we}=V(t(()=>{if(!S.iMask)return{mask:/./};if(S.iMask.mask===Number){const e={...S.iMask};return S.min&&(e.min=Number(S.min)),S.max&&(e.max=Number(S.max)),e}return S.iMask}),{emit:E,onAccept:()=>{if(fe.value){if(E("update:masked",Se.value),Z.value===ct.NUMBER){if(/^-$|^$/.test(we.value)){if(null===ie.value||void 0===ie.value)return;return void(ie.value=void 0)}return pe.test(we.value)?void(ie.value=0):"number"!=typeof ye.value?void(ie.value=Number(ye.value)):void(ie.value=ye.value)}if(Z.value===ct.DATETIME_LOCAL||Z.value===ct.DATE||Z.value===ct.TIME||Z.value===ct.MONTH){if(!ye.value){if(!ie.value)return;return me.value?void(ie.value=void 0):void(ie.value="")}if(!(ye.value instanceof Date||me.value||be.value))return void(ie.value=ye.value);let e=ye.value;if(e instanceof Date||(e=function(e,t="date"){if(!e?.trim())return null;const a=/* @__PURE__ */new Date,l=a.getFullYear(),o=a.getMonth(),i=a.getDate();if("date"===t){if(!/^\d{4}-\d{2}-\d{2}$/.test(e))throw new Error("Invalid date format. Expected: YYYY-MM-DD");/* @__PURE__ */
1
+ import{unref as e,computed as t,isRef as a,defineComponent as l,h as o,useId as i,Fragment as n,provide as r,ref as u,toRefs as s,useAttrs as d,onMounted as v,watch as c,createElementBlock as p,openBlock as f,createVNode as m,withCtx as b,renderSlot as h,normalizeProps as g,guardReactiveProps as y,Transition as S,mergeProps as w,toHandlers as E,withDirectives as $,createElementVNode as x,normalizeClass as L,normalizeStyle as T,createCommentVNode as D,vShow as k,nextTick as O,inject as A,createBlock as _,createTextVNode as I,toDisplayString as M,mergeDefaults as N,useSlots as H,withModifiers as C,createSlots as B,renderList as P}from"vue";import{useIMask as V}from"vue-imask";import{autoPlacement as R,flip as j,shift as U,size as F,offset as Y,arrow as W,useFloating as z,autoUpdate as q}from"@floating-ui/vue";import{useMutationObserver as K,useVModel as X,onClickOutside as J,useFocusWithin as Z,useElementHover as G,onKeyStroke as Q,useFocus as ee,useStorage as te,useElementVisibility as ae}from"@vueuse/core";import le from"mitt";import{iconLoaded as oe,Icon as ie,addIcon as ne}from"@iconify/vue";const re=e=>e.toString().padStart(2,"0");function ue(e){if("string"!=typeof e)return!1;if(!/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?(?:Z|[+-]\d{2}:?\d{2})?$/.test(e))return!1;const t=new Date(e);return!Number.isNaN(t.getTime())&&t.toISOString()===e}function se(e,t="date",a){if("string"==typeof e&&!ue(e))return"";const l=new Date(e);if(Number.isNaN(l.getTime()))return"";let o=`${l.getFullYear()}-${re(l.getMonth()+1)}`;if("month"===t)return o;if(o+=`-${re(l.getDate())}`,"date"===t)return o;const i=a?`${re(l.getHours())}:${re(l.getMinutes())}:${re(l.getSeconds())}`:`${re(l.getHours())}:${re(l.getMinutes())}`;return"time"===t?i:`${o}T${i}`}function de(t){return null==(a=e(t))||""===a||Array.isArray(a)&&0===a.length||!(a instanceof Date)&&"object"==typeof a&&0===Object.keys(a).length;var a}function ve(e){return Array.isArray(e)?e.filter(e=>"string"==typeof e).join(" "):e}var ce=/* @__PURE__ */(e=>(e.local="local",e.session="session",e))(ce||{}),pe=/* @__PURE__ */(e=>(e.absolute="absolute",e.fixed="fixed",e))(pe||{}),fe=/* @__PURE__ */(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(fe||{}),me=/* @__PURE__ */(e=>(e.topStart="top-start",e.topEnd="top-end",e.bottomStart="bottom-start",e.bottomEnd="bottom-end",e.leftStart="left-start",e.leftEnd="left-end",e.rightStart="right-start",e.rightEnd="right-end",e))(me||{}),be=/* @__PURE__ */(e=>(e.before="before",e.after="after",e))(be||{}),he=/* @__PURE__ */(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(he||{}),ge=/* @__PURE__ */(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(ge||{}),ye=/* @__PURE__ */(e=>(e.button="button",e.link="link",e.menuitem="menuitem",e))(ye||{}),Se=/* @__PURE__ */(e=>(e.listbox="listbox",e.menu="menu",e))(Se||{}),we=/* @__PURE__ */(e=>(e.option="option",e.presentation="presentation",e))(we||{});const Ee=/* @__PURE__ */Symbol.for("volver"),$e=/* @__PURE__ */Symbol.for("dropdownTrigger"),xe=/* @__PURE__ */Symbol.for("dropdownItem"),Le=/* @__PURE__ */Symbol.for("dropdownAction"),Te="eye-on",De="eye-off",ke="calendar",Oe="time",Ae="color",_e="close",Ie="trash",Me={prefix:"normal"},Ne={valid:{type:Boolean,default:!1},validLabel:{type:[String,Array],default:void 0}},He={invalid:{type:Boolean,default:!1},invalidLabel:{type:[String,Array],default:void 0}},Ce={loading:{type:Boolean,default:!1},loadingLabel:{type:String,default:"Loading..."}},Be={disabled:{type:Boolean,default:!1}},Pe={required:{type:Boolean,default:!1}},Ve={selected:{type:Boolean,default:!1}},Re={label:{type:[String,Number],default:void 0}},je={readonly:{type:Boolean,default:!1}},Ue={modifiers:{type:[String,Array],default:void 0}},Fe={hintLabel:{type:String,default:""}},Ye={count:{type:[Boolean,String],default:!1,validator:e=>[!0,!1,"limit","countdown"].includes(e)}},We={debounce:{type:[Number,String],default:void 0}},ze={icon:{type:[String,Object],default:void 0},iconPosition:{type:String,default:be.before,validation:e=>Object.values(be).includes(e)}},qe={tabindex:{type:[String,Number],default:0}},Ke={floating:{type:Boolean,default:!1}},Xe={unselectable:{type:Boolean,default:!0}},Je={id:[String,Number]},Ze={placement:{type:String,default:fe.bottom,validator:e=>Object.values(fe).includes(e)||Object.values(me).includes(e)},strategy:{type:String,default:void 0,validator:e=>Object.values(pe).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}},Ge={...{...Je,name:{type:String,required:!0}},...{autofocus:{type:Boolean,default:!1}},...{autocomplete:{type:String,default:"off"}},...qe,...Be,...je,...Ne,...He,...Fe,...Ce,...Ue,...Ye,...We,...ze,...Ke,...Re,minlength:{type:[String,Number],default:void 0},maxlength:{type:[String,Number],default:void 0},placeholder:{type:String,default:void 0},...Pe};he.button,ge.button;const Qe={storageType:{type:String,default:ce.local,validator:e=>Object.values(ce).includes(e)},storageKey:String},et={...Je,...Ze,...Ue,modelValue:{type:Boolean,default:void 0},reference:{type:Object,default:null},role:{type:String,default:Se.menu,validator:e=>Object.values(Se).includes(e)}},tt={focusOnHover:{type:Boolean,default:!1}},at={...Be,...Ve,...Xe,...Ue,deselectHintLabel:{type:String},selectHintLabel:{type:String},selectedHintLabel:{type:String},focusOnHover:{type:Boolean,default:!1}};function lt(e){return t(()=>String(e?.value||i()))}function ot(a,l,o){return t(()=>{const t={[a]:!0},i="string"==typeof l?.value?l.value.split(" "):l?.value;return i&&Array.isArray(i)&&i.forEach(e=>{e&&(t[`${a}--${e}`]=!0)}),o&&Object.keys(o.value).forEach(l=>{t[`${a}--${l}`]=e(o.value[l])}),t})}const it=["id","tabindex","role","aria-labelledby"],nt=/* @__PURE__ */l({name:"VvDropdown",inheritAttrs:!1,props:et,emits:["update:modelValue","beforeEnter","afterLeave","beforeExpand","beforeCollapse","afterExpand","afterCollapse","before-enter","after-leave","enter","afterEnter","enterCancelled","beforeLeave","leave","leaveCancelled"],setup(a,{expose:i,emit:A}){const _=a,I=A,{id:M}=s(_),N=lt(M),H=d(),C=u("auto"),B=u("auto"),P=u(),V=u(),ee=u(),te=u(),ae=t({get:()=>_.reference??P.value,set:e=>{P.value=e}}),oe=u(!1);v(()=>{K(V.value,()=>{oe.value="true"===window.getComputedStyle(V.value).getPropertyValue("--dropdown-custom-position")?.trim()},{attributeFilter:["style"],window:window})});const ie=t(()=>{const e=[];if(_.autoPlacement?"boolean"==typeof _.autoPlacement?e.push(R()):e.push(R(_.autoPlacement)):_.flip&&("boolean"==typeof _.flip?e.push(j({fallbackStrategy:"initialPlacement"})):e.push(j(_.flip))),_.shift&&("boolean"==typeof _.shift?e.push(U()):e.push(U(_.shift))),_.size){const t=({availableWidth:e,availableHeight:t})=>{C.value=`${e}px`,B.value=`${t}px`};"boolean"==typeof _.size?e.push(F({apply:t})):e.push(F({..._.size,apply:t}))}return _.offset&&(e.push(Y(Number(_.offset))),["string","number"].includes(typeof _.offset)?e.push(Y(Number(_.offset))):e.push(Y(_.offset))),_.arrow&&e.push(W({element:ee})),e}),{x:ne,y:re,middlewareData:ue,placement:se,strategy:de}=z(ae,V,{whileElementsMounted:(...e)=>q(...e,{animationFrame:_.strategy===pe.fixed}),placement:t(()=>_.placement),strategy:t(()=>_.strategy),middleware:ie}),ve=t(()=>{if(oe.value)return;const e=_.triggerWidth&&ae.value?`${ae.value?.offsetWidth}px`:void 0;return{position:de.value,top:`${re.value??0}px`,left:`${ne.value??0}px`,maxWidth:e?void 0:C.value,maxHeight:B.value,width:e}}),ce=t(()=>se.value.split("-")[0]),me=t(()=>{if(oe.value)return;const e={[fe.top]:fe.bottom,[fe.right]:fe.left,[fe.bottom]:fe.top,[fe.left]:fe.right}[ce.value];return{left:void 0!==ue.value.arrow?.x?`${ue.value.arrow?.x}px`:void 0,top:void 0!==ue.value.arrow?.y?`${ue.value.arrow?.y}px`:void 0,[e]:-(ee.value?.offsetWidth??0)/2+"px"}}),be=X(_,"modelValue",I),he=u(!1),ge=t({get:()=>be.value??he.value,set:e=>{void 0!==be.value?be.value=e:he.value=e}});function ye(){ge.value=!0}function Ee(){ge.value=!1}function Le(){ge.value=!ge.value}function Te(e){ae.value=e}J(V,()=>{!_.keepOpen&&ge.value&&(ge.value=!1)},{ignore:[ae]});const De=t(()=>ae.value?.getAttribute?.("id")??void 0),ke=t(()=>({"aria-controls":N.value,"aria-haspopup":!0,"aria-expanded":ge.value})),{component:Oe,bus:Ae}=function({reference:e,id:t,expanded:a,aria:i}){const u=le(),s=l({name:"VvDropdownTriggerProvider",setup(){r($e,{reference:e,id:t,expanded:a,aria:i,bus:u})},render(){return o(n,{},this.$slots.default?.())}});return{bus:u,component:s}}({reference:ae,id:N,expanded:ge,aria:ke});Ae.on("click",Le);const{role:_e,modifiers:Ie}=s(_),Me=ot("vv-dropdown",Ie,t(()=>({arrow:_.arrow}))),{focused:Ne}=Z(V);function He(e){return e?[...e.querySelectorAll('a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])')].filter(e=>!e.hasAttribute("disabled")&&!e.getAttribute("aria-hidden")):[]}function Ce(){O(()=>{const e=He(V.value);e.length>0&&e[0].focus({preventScroll:!0})})}function Be(){O(()=>{if(Ne.value){const e=He(V.value);if(0===e.length||!document.activeElement)return;const t=e.indexOf(document.activeElement);t<e.length-1?e[t+1].focus({preventScroll:!0}):e[0].focus({preventScroll:!0})}})}function Pe(){O(()=>{if(Ne.value){const e=He(V.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})}})}c(ge,e=>{e&&_.autofocusFirst&&Ce()}),i({toggle:Le,show:ye,hide:Ee,init:Te,focusFirst:Ce,focusFirstListElement:function(){O(()=>{const e=He(te.value);e.length>0&&e[0].focus({preventScroll:!0})})},focusNext:Be,focusPrev:Pe,customPosition:oe});const Ve=G(V),{itemRole:Re}=function({role:e,...a}){const l=t(()=>e.value===Se.listbox?we.option:we.presentation);return r(xe,{role:l,...a}),{itemRole:l}}({role:_e,expanded:ge,focused:Ne,hovered:Ve});Q("Escape",e=>{ge.value&&(e.preventDefault(),Ee())}),Q("ArrowDown",e=>{ge.value&&Ne.value&&(e.preventDefault(),Be())}),Q("ArrowUp",e=>{ge.value&&Ne.value&&(e.preventDefault(),Pe())}),Q([" ","Enter"],e=>{const t=e.target;ge.value&&Ne.value&&t&&t?.click()});const je={"before-enter":()=>{I(ge.value?"beforeExpand":"beforeCollapse"),I("beforeEnter")},"after-leave":()=>{I(ge.value?"afterExpand":"afterCollapse"),I("afterLeave")},enter:()=>{I("enter")},"after-enter":()=>{I("afterEnter")},"enter-cancelled":()=>{I("enterCancelled")},"before-leave":()=>{I("beforeLeave")},leave:()=>{I("leave")},"leave-cancelled":()=>{I("leaveCancelled")}};return(t,a)=>(f(),p(n,null,[m(e(Oe),null,{default:b(()=>[h(t.$slots,"default",g(y({init:Te,show:ye,hide:Ee,toggle:Le,expanded:e(ge),aria:e(ke)})))]),_:3}),m(S,w({name:t.transitionName},E(je),{persisted:""}),{default:b(()=>[$(x("div",{ref_key:"floatingEl",ref:V,style:T(e(ve)),class:L(e(Me))},[_.arrow?(f(),p("div",{key:0,ref_key:"arrowEl",ref:ee,style:T(e(me)),class:"vv-dropdown__arrow"},null,4)):D("v-if",!0),h(t.$slots,"before",g(y({expanded:e(ge)}))),x("div",w(e(H),{id:e(N),ref_key:"listEl",ref:te,tabindex:e(ge)?void 0:-1,role:e(_e),"aria-labelledby":e(De),class:"vv-dropdown__list"}),[h(t.$slots,"items",g(y({role:e(Re)})))],16,it),h(t.$slots,"after",g(y({expanded:e(ge)})))],6),[[k,e(ge)]])]),_:3},16,["name"])],64))}});const rt=/* @__PURE__ */l({name:"VvDropdownItem",props:tt,setup(t){const a=t,{role:l,expanded:o}=A(xe,{}),i=u(null);!function({expanded:e}){r(Le,{role:u(ye.menuitem),expanded:e})}({expanded:o});const n=G(i),{focused:s}=ee(i),{focused:d}=Z(i);return c(n,e=>{e&&a.focusOnHover&&(s.value=!0)}),(t,a)=>(f(),p("div",w({role:e(l)},{ref_key:"element",ref:i,class:["vv-dropdown__item",{"focus-visible":e(s)||e(d)}]}),[h(t.$slots,"default")],16))}}),ut=["title"],st=/* @__PURE__ */l({name:"VvDropdownOption",props:at,setup(a){const l=a,{modifiers:o}=s(l),i=ot("vv-dropdown-option",o,t(()=>({disabled:l.disabled,selected:l.selected,unselectable:l.unselectable&&l.selected}))),n=t(()=>l.selected?l.unselectable?l.deselectHintLabel:l.selectedHintLabel:l.disabled?"":l.selectHintLabel);return(t,a)=>(f(),_(rt,{class:L(e(i)),tabindex:t.disabled?-1:0,"aria-selected":t.selected,"aria-disabled":t.disabled,"focus-on-hover":t.focusOnHover},{default:b(()=>[h(t.$slots,"default"),x("span",{class:"vv-dropdown-option__hint",title:e(n)},[h(t.$slots,"hint",g(y({disabled:t.disabled,selected:t.selected,unselectable:t.unselectable})),()=>[I(M(e(n)),1)])],8,ut)]),_:3},8,["class","tabindex","aria-selected","aria-disabled","focus-on-hover"]))}});function dt(){return A(Ee,void 0)}const vt=/* @__PURE__ */l({name:"VvIcon",props:/* @__PURE__ */N({name:{},color:{},width:{},height:{},provider:{},prefix:{},src:{},horizontalFlip:{type:Boolean},verticalFlip:{type:Boolean},flip:{},mode:{},inline:{type:Boolean},rotate:{},onLoad:{type:Function},svg:{},modifiers:{}},Me),setup(a){const l=a,o=t(()=>"string"==typeof l.rotate?Number.parseFloat(l.rotate):l.rotate),i=u(!0),n=dt(),{modifiers:r}=s(l),d=ot("vv-icon",r),v=t(()=>l.provider||n?.iconsProvider),c=t(()=>{const e=l.name??"",t=`@${v.value}:${l.prefix}:${e}`;if(oe(t))return t;const a=n?.iconsCollections.find(t=>{const a=`@${v.value}:${t.prefix}:${e}`;return oe(a)});return a?`@${v.value}:${a.prefix}:${e}`:e});function p(e){const t=function(e){let t;if("undefined"==typeof window){const{JSDOM:e}=require("jsdom");t=(new e).window}return(t?new t.DOMParser:new window.DOMParser).parseFromString(e,"text/html").querySelector("svg")}(e),a=t?.innerHTML.trim()||"";t&&a&&ne(`@${v.value}:${l.prefix}:${l.name}`,{body:a,height:t.viewBox.baseVal.height,width:t.viewBox.baseVal.width})}return n&&l.src&&!oe(`@${v.value}:${l.prefix}:${l.name}`)&&(i.value=!1,n.fetchIcon(l.src).then(e=>{e&&(p(e),i.value=!0)}).catch(e=>{throw new Error(`Error during fetch icon: ${e?.message}`)})),l.svg&&p(l.svg),(t,l)=>e(i)?(f(),_(e(ie),w({key:0,class:e(d)},{inline:a.inline,width:a.width,height:a.height,horizontalFlip:a.horizontalFlip,verticalFlip:a.verticalFlip,flip:a.flip,rotate:e(o),color:a.color,icon:e(c)},{onLoad:a.onLoad}),null,16,["class","onLoad"])):D("v-if",!0)}}),ct={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"},pt={...Ge,...Qe,modelValue:[String,Number,Date],type:{type:String,default:ct.TEXT,validator:e=>Object.values(ct).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:Te},iconHidePassword:{type:[String,Object],default:De},iconClear:{type:[String,Object],default:_e},iconRemoveSuggestion:{type:[String,Object],default:Ie},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},inputMode:{type:String,default:"text"}};function ft(e,a){const l=t(()=>"string"==typeof e?.value?{name:e?.value}:e?.value),o=t(()=>a?.value===be.before?l.value:void 0),i=t(()=>a?.value===be.after?l.value:void 0),n=t(()=>a?.value===fe.left?l.value:void 0),r=t(()=>a?.value===fe.right?l.value:void 0),u=t(()=>a?.value===fe.top?l.value:void 0),s=t(()=>a?.value===fe.bottom?l.value:void 0);return{hasIcon:l,hasIconLeft:n,hasIconRight:r,hasIconTop:u,hasIconBottom:s,hasIconBefore:o,hasIconAfter:i}}const mt=l({components:{VvIcon:vt},props:{inputType:{type:String,default:"input-text"},disabled:{type:Boolean,default:!1},label:{type:String,default:"Clear"},icon:{type:[String,Object],default:"close"}},emits:["clear"],setup(e,{emit:a}){const{hasIcon:l}=ft(t(()=>e.icon));return{hasIcon:l,onClick:function(t){t?.stopPropagation(),e.disabled||a("clear")}}},render(){const e=this.hasIcon?o(vt,{...this.hasIcon,class:`vv-${this.inputType}__icon`}):void 0;return o("button",{disabled:this.disabled,class:`vv-${this.inputType}__action`,ariaLabel:this.label,type:"button",onClick:this.onClick},e)}}),bt=l({components:{VvIcon:vt},props:{inputType:{type:String,default:"input-text"},disabled:{type:Boolean,default:!1},labelShow:{type:String,default:"Show password"},labelHide:{type:String,default:"Hide password"},iconShow:{type:[String,Object],default:Te},iconHide:{type:[String,Object],default:De}},emits:["toggle-password"],setup(e,{emit:a}){const l=u(!1),o=t(()=>l.value?e.iconHide:e.iconShow),{hasIcon:i}=ft(o);return{active:l,activeIcon:o,hasIcon:i,onClick:function(t){t?.stopPropagation(),e.disabled||(l.value=!l.value,a("toggle-password",l.value))}}},render(){const e=this.hasIcon?o(vt,{...this.hasIcon,class:`vv-${this.inputType}__icon`}):void 0;return o("button",{disabled:this.disabled,class:`vv-${this.inputType}__action`,ariaLabel:this.active?this.labelHide:this.labelShow,type:"button",onClick:this.onClick},e)}}),ht=l({components:{VvIcon:vt},props:{inputType:{type:String,default:"input-text"},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(e,{emit:a}){const l=t(()=>"up"===e.mode);return{isUp:l,onClick:t=>{t?.stopPropagation(),e.disabled||a(l.value?"step-up":"step-down")}}},render(){return o("button",{class:[`vv-${this.inputType}__action`,`vv-${this.inputType}__action-chevron`,this.isUp?`vv-${this.inputType}__action-chevron-up`:void 0],disabled:this.disabled,ariaLabel:this.label,type:"button",onClick:this.onClick})}});function gt(e,a,l){return{name:"VvInputTextActions",components:{VvIcon:vt,VvInputPasswordAction:bt,VvInputStepAction:ht,VvInputClearAction:mt},setup(){const e=t(()=>a.disabled||a.readonly);return{isDirty:l,isDisabled:e,labelStepUp:a.labelStepUp,labelStepDown:a.labelStepDown,labelShowPassword:a.labelShowPassword,labelHidePassword:a.labelHidePassword,labelClear:a.labelClear,iconShowPassword:a.iconShowPassword,iconHidePassword:a.iconHidePassword}},render(){let t=null;switch(e){case ct.SEARCH:{const{onClear:e}=this.$attrs;t=[o(mt,{disabled:this.isDisabled||!this.isDirty,label:this.labelClear,onClear:e})];break}case ct.PASSWORD:{const{onTogglePassword:e}=this.$attrs;t=[o(bt,{disabled:this.isDisabled,onTogglePassword:e,labelShow:this.labelShowPassword,labelHide:this.labelHidePassword,iconShow:this.iconShowPassword,iconHide:this.iconHidePassword})];break}case ct.NUMBER:{const{onStepUp:e,onStepDown:l}=this.$attrs;t=[o(ht,{mode:"up",disabled:this.isDisabled||void 0!==a.max&&a.modelValue===a.max,label:this.labelStepUp,onStepUp:e,onStepDown:l}),o(ht,{mode:"down",disabled:this.isDisabled||void 0!==a.min&&a.modelValue===a.min,label:this.labelStepDown,onStepUp:e,onStepDown:l})];break}}return Array.isArray(t)?o("div",{class:"vv-input-text__actions-group"},t):t}}}const yt=["for"],St={key:0,class:"vv-input-text__input-before"},wt=["id"],Et={key:1,class:"vv-input-text__unit"},$t={key:5,class:"vv-input-text__input-after"},xt={key:6,class:"vv-input-text__limit"},Lt={class:"flex-1"},Tt=["title","onClick"],Dt=/* @__PURE__ */l({name:"VvInputText",props:pt,emits:["update:modelValue","update:masked","accept","accept:typed","accept:masked","accept:unmasked","complete","complete:typed","complete:masked","complete:unmasked","suggestion:selected","suggestion:removed","focus","blur","keyup","keydown","keypress","clear"],setup(i,{expose:r,emit:d}){const S=i,E=d,$=H(),T=dt(),k=function(e,a,l){const o=dt(),i=t(()=>{if(o&&o.defaults.value?.[e])return o.defaults.value[e]});return t(()=>{if(void 0===i.value)return l;const e=i.value,t=a,o=l;return Object.keys(t).reduce((a,l)=>{const i=o[l];if(a[l]=i,l in e){if(Array.isArray(t[l])){const o=t[l];o.length&&o[0]===i&&(a[l]=e[l])}if("function"==typeof t[l]&&(0,t[l])()===i&&(a[l]=e[l]),"object"==typeof t[l]){let o=t[l].default;"function"==typeof o&&(o=o()),"object"==typeof o?JSON.stringify(o)===JSON.stringify(i)&&(a[l]=e[l]):o===i&&(a[l]=e[l])}}return a},{})})}("VvInputText",pt,S),{count:O,debounce:A,icon:N,iconPosition:R,iconRemoveSuggestion:j,id:U,invalid:F,label:Y,loading:W,maxlength:z,minlength:q,modelValue:K,step:X,storageType:J,type:Z,valid:G}=s(S),Q=lt(U),le=t(()=>`${Q.value}-hint`),oe=t(()=>S.floating&&de(S.placeholder)?" ":S.placeholder),ie=function(e,a,l=0,{getter:o=e=>e,setter:i=e=>e}={}){let n;return"string"==typeof l&&(l=Number.parseInt(l)),t({get:()=>o(e?.value),set:e=>{n&&clearTimeout(n),n=setTimeout(()=>{a("update:modelValue",i(e))},l)}})}(K,E,A?.value??0),ne=t(()=>{const e="number"==typeof X.value?X.value:Number.parseInt(X.value);return!Number.isNaN(e)&&e%60!=0}),pe=/^-0?[.,]?[0*]?$/,fe=u(!1),me=u(),be=u(),{el:he,mask:ge,typed:ye,masked:Se,unmasked:we}=V(t(()=>{if(!S.iMask)return{mask:/./};if(S.iMask.mask===Number){const e={...S.iMask};return S.min&&(e.min=Number(S.min)),S.max&&(e.max=Number(S.max)),e}return S.iMask}),{emit:E,onAccept:()=>{if(fe.value){if(E("update:masked",Se.value),Z.value===ct.NUMBER){if(/^-$|^$/.test(we.value)){if(null===ie.value||void 0===ie.value)return;return void(ie.value=void 0)}return pe.test(we.value)?void(ie.value=0):"number"!=typeof ye.value?void(ie.value=Number(ye.value)):void(ie.value=ye.value)}if(Z.value===ct.DATETIME_LOCAL||Z.value===ct.DATE||Z.value===ct.TIME||Z.value===ct.MONTH){if(!ye.value){if(!ie.value)return;return me.value?void(ie.value=void 0):void(ie.value="")}if(!(ye.value instanceof Date||me.value||be.value))return void(ie.value=ye.value);let e=ye.value;if(e instanceof Date||(e=function(e,t="date"){if(!e?.trim())return null;const a=/* @__PURE__ */new Date,l=a.getFullYear(),o=a.getMonth(),i=a.getDate();if("date"===t){if(!/^\d{4}-\d{2}-\d{2}$/.test(e))throw new Error("Invalid date format. Expected: YYYY-MM-DD");/* @__PURE__ */
2
2
  return new Date(`${e}T00:00:00`)}if("month"===t){if(!/^\d{4}-\d{2}$/.test(e))throw new Error("Invalid month format. Expected: YYYY-MM");/* @__PURE__ */
3
- return new Date(`${e}-01T00:00:00`)}if("time"===t){if(!/^(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d)?$/.test(e))throw new Error("Invalid time format. Expected: HH:mm or HH:mm:ss");return 8===e.length?/* @__PURE__ */new Date(`${l}-${re(o+1)}-${re(i)}T${e}`):/* @__PURE__ */new Date(`${l}-${re(o+1)}-${re(i)}T${e}:00`)}if(!/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2})?$/.test(e))throw new Error("Invalid datetime format. Expected: YYYY-MM-DDThh:mm or YYYY-MM-DDThh:mm:ss");return 16===e.length?/* @__PURE__ */new Date(`${e}:00`):/* @__PURE__ */new Date(`${e}`)}(ye.value,Z.value)),me.value||be.value){const t=new Date(me.value||be.value);if(Z.value!==ct.DATETIME_LOCAL&&Z.value!==ct.DATE&&Z.value!==ct.MONTH||(t.setFullYear(e.getFullYear()),t.setMonth(e.getMonth())),Z.value!==ct.DATETIME_LOCAL&&Z.value!==ct.DATE||t.setDate(e.getDate()),Z.value!==ct.DATETIME_LOCAL&&Z.value!==ct.TIME||(t.setHours(e.getHours()),t.setMinutes(e.getMinutes()),t.setSeconds(e.getSeconds())),me.value instanceof Date){if(ie.value?.getTime()===t.getTime())return;return void(ie.value=t)}return void(ie.value=t.toISOString())}return void(ie.value=se(e,Z.value,ne.value))}(ie.value||we.value)&&(ie.value=we.value)}}});function Ee(e){if(null==e)return ye.value="",void(we.value="");if(S.iMask?.mask!==Date){if(Z.value!==ct.NUMBER||!pe.test(we.value)||0!==e){if(Z.value===ct.DATE||Z.value===ct.MONTH||Z.value===ct.DATETIME_LOCAL||Z.value===ct.TIME){if(e instanceof Date||ue(e)){e instanceof Date?(me.value=e,be.value=void 0):(be.value=e,me.value=void 0);const t=new Date(e);return ye.value=se(t,Z.value,ne.value),void(we.value=ye.value)}me.value=void 0,be.value=void 0}ye.value=e,we.value=`${ye.value}`}}else ye.value=e instanceof Date?e:new Date(e)}v(()=>{ge.value&&(fe.value=!0,Ee(S.modelValue))}),c(()=>S.modelValue,e=>{ge.value&&Ee(e)}),c(()=>S.masked,e=>{Se.value=e??""});const $e=he,xe=u(),Le=u(),Te=u();r({$inner:xe});const{focused:De}=function(t,a){const{focused:l}=ee(t);return c(l,l=>{a(l?"focus":"blur",e(t))}),{focused:l}}($e,E),_e=t(()=>De.value&&!S.disabled&&!S.readonly);c(_e,e=>{if(e&&k.value.selectOnFocus&&$e.value&&$e.value.select(),e&&Ge.value?.size)Te.value?.show();else if(Xe.value&&Ge.value){const e=S.maxSuggestions;Ge.value.size>=e&&!Ge.value.has(ie.value)&&(Ge.value=new Set([...Ge.value].slice(Ge.value.size-e+1))),Ge.value.add(ie.value)}});const Ie=ae($e);c(Ie,e=>{e&&S.autofocus&&!S.disabled&&!S.readonly&&(De.value=!0)});const Me=u(!1),Ne=t(()=>S.type===ct.PASSWORD);function He(){Me.value=!Me.value}const Ce=t(()=>S.type===ct.TIME||S.type===ct.DATETIME_LOCAL||S.type===ct.DATE||S.type===ct.WEEK||S.type===ct.MONTH),Be=t(()=>S.type===ct.NUMBER);function Pe(){if(!qe.value){if(S.iMask)return void(ye.value=Number(ye.value)+Number(X?.value??1));$e.value.stepUp(),ie.value=Number(e($e).value)}}function Ve(){if(!qe.value){if(S.iMask)return void(ye.value=Number(ye.value)-Number(X?.value??1));$e.value.stepDown(),ie.value=Number(e($e).value)}}const Re=t(()=>S.type===ct.SEARCH);function je(){ie.value="",E("clear")}const{hasIconBefore:Ue,hasIconAfter:Fe}=ft(N,R),Ye=t(()=>{if(void 0!==Fe.value)return Fe.value;switch(S.type){case ct.COLOR:return{name:Ae};case ct.DATE:case ct.DATETIME_LOCAL:case ct.WEEK:case ct.MONTH:return{name:ke};case ct.TIME:return{name:Oe}}}),{hasIcon:We}=ft(j),{formatted:ze}=function(a,l){const o=t(()=>(e(a)??"").length),i=t(()=>void 0!==l?.lowerLimit&&o.value<l?.lowerLimit?o.value-l.lowerLimit:void 0!==l?.upperLimit&&o.value<l?.upperLimit?l.upperLimit-o.value:0),n=t(()=>{if(!1===l?.mode)return"";if("limit"===l?.mode&&l?.upperLimit)return`${o.value} / ${l.lowerLimit?`${l.lowerLimit}-`:""}${l.upperLimit}`;if("countdown"===l?.mode){if(0===i.value)return;return i}return o.value});return{length:o,gap:i,formatted:n}}(ie,{mode:O.value,upperLimit:Number(z?.value),lowerLimit:Number(q?.value)}),qe=t(()=>S.disabled||S.readonly),Ke=t(()=>qe.value?-1:S.tabindex),Xe=t(()=>!de(K)),Je=t(()=>!0===F.value||!0!==G.value&&void 0),Ze=t(()=>S.storageKey??(T?.experimentalFeatures.forceInputSuggestions?S.name:void 0)),Ge=function(t,l=ce.local,o){const i=u();let n;return o&&(i.value=o),v(()=>{t&&c(t,(t,a)=>{const o=e(l)===ce.session?sessionStorage:localStorage;if(a&&a!==t&&o.removeItem(a),t)return n=te(t,n?.value??i.value,o),void(n.value&&(i.value=n.value));n=void 0},{immediate:!0}),a(l)&&c(l,(e,a)=>{if(t?.value){if(e){const a=e===ce.session?sessionStorage:localStorage;n=te(t.value,n?.value??i.value,a)}a&&a!==e&&(a===ce.session?sessionStorage:localStorage).removeItem(t.value)}})}),c(i,e=>{n&&(n.value=e)},{deep:!0,immediate:!0}),i}(Ze,J,
3
+ return new Date(`${e}-01T00:00:00`)}if("time"===t){if(!/^(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d)?$/.test(e))throw new Error("Invalid time format. Expected: HH:mm or HH:mm:ss");return 8===e.length?/* @__PURE__ */new Date(`${l}-${re(o+1)}-${re(i)}T${e}`):/* @__PURE__ */new Date(`${l}-${re(o+1)}-${re(i)}T${e}:00`)}if(!/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2})?$/.test(e))throw new Error("Invalid datetime format. Expected: YYYY-MM-DDThh:mm or YYYY-MM-DDThh:mm:ss");return 16===e.length?/* @__PURE__ */new Date(`${e}:00`):/* @__PURE__ */new Date(`${e}`)}(ye.value,Z.value)),me.value||be.value){const t=new Date(me.value||be.value);if(Z.value!==ct.DATETIME_LOCAL&&Z.value!==ct.DATE&&Z.value!==ct.MONTH||(t.setFullYear(e.getFullYear()),t.setMonth(e.getMonth())),Z.value!==ct.DATETIME_LOCAL&&Z.value!==ct.DATE||t.setDate(e.getDate()),Z.value!==ct.DATETIME_LOCAL&&Z.value!==ct.TIME||(t.setHours(e.getHours()),t.setMinutes(e.getMinutes()),t.setSeconds(e.getSeconds())),me.value instanceof Date){if(ie.value?.getTime()===t.getTime())return;return void(ie.value=t)}return void(ie.value=t.toISOString())}return void(ie.value=se(e,Z.value,ne.value))}(ie.value||we.value)&&(ie.value=we.value)}}});function Ee(e){if(null==e)return ye.value="",void(we.value="");if(S.iMask?.mask!==Date){if(Z.value!==ct.NUMBER||!pe.test(we.value)||0!==e){if(Z.value===ct.DATE||Z.value===ct.MONTH||Z.value===ct.DATETIME_LOCAL||Z.value===ct.TIME){if(e instanceof Date||ue(e)){e instanceof Date?(me.value=e,be.value=void 0):(be.value=e,me.value=void 0);const t=new Date(e);return ye.value=se(t,Z.value,ne.value),void(we.value=ye.value)}me.value=void 0,be.value=void 0}ye.value=e,we.value=`${ye.value}`}}else ye.value=e instanceof Date?e:new Date(e)}v(()=>{ge.value&&(fe.value=!0,Ee(S.modelValue))}),c(()=>S.modelValue,e=>{ge.value&&Ee(e)}),c(()=>S.masked,e=>{Se.value=e??""});const $e=he,xe=u(),Le=u(),Te=u();r({$input:$e,$inner:xe,$wrapper:Le});const{focused:De}=function(t,a){const{focused:l}=ee(t);return c(l,l=>{a(l?"focus":"blur",e(t))}),{focused:l}}($e,E),_e=t(()=>De.value&&!S.disabled&&!S.readonly);c(_e,e=>{if(e&&k.value.selectOnFocus&&$e.value&&$e.value.select(),e&&Ge.value?.size)Te.value?.show();else if(Xe.value&&Ge.value){const e=S.maxSuggestions;Ge.value.size>=e&&!Ge.value.has(ie.value)&&(Ge.value=new Set([...Ge.value].slice(Ge.value.size-e+1))),Ge.value.add(ie.value)}});const Ie=ae($e);c(Ie,e=>{e&&S.autofocus&&!S.disabled&&!S.readonly&&(De.value=!0)});const Me=u(!1),Ne=t(()=>S.type===ct.PASSWORD);function He(){Me.value=!Me.value}const Ce=t(()=>S.type===ct.TIME||S.type===ct.DATETIME_LOCAL||S.type===ct.DATE||S.type===ct.WEEK||S.type===ct.MONTH),Be=t(()=>S.type===ct.NUMBER);function Pe(){if(!qe.value){if(S.iMask)return void(ye.value=Number(ye.value)+Number(X?.value??1));$e.value.stepUp(),ie.value=Number(e($e).value)}}function Ve(){if(!qe.value){if(S.iMask)return void(ye.value=Number(ye.value)-Number(X?.value??1));$e.value.stepDown(),ie.value=Number(e($e).value)}}const Re=t(()=>S.type===ct.SEARCH);function je(){ie.value="",E("clear")}const{hasIconBefore:Ue,hasIconAfter:Fe}=ft(N,R),Ye=t(()=>{if(void 0!==Fe.value)return Fe.value;switch(S.type){case ct.COLOR:return{name:Ae};case ct.DATE:case ct.DATETIME_LOCAL:case ct.WEEK:case ct.MONTH:return{name:ke};case ct.TIME:return{name:Oe}}}),{hasIcon:We}=ft(j),{formatted:ze}=function(a,l){const o=t(()=>(e(a)??"").length),i=t(()=>void 0!==l?.lowerLimit&&o.value<l?.lowerLimit?o.value-l.lowerLimit:void 0!==l?.upperLimit&&o.value<l?.upperLimit?l.upperLimit-o.value:0),n=t(()=>{if(!1===l?.mode)return"";if("limit"===l?.mode&&l?.upperLimit)return`${o.value} / ${l.lowerLimit?`${l.lowerLimit}-`:""}${l.upperLimit}`;if("countdown"===l?.mode){if(0===i.value)return;return i}return o.value});return{length:o,gap:i,formatted:n}}(ie,{mode:O.value,upperLimit:Number(z?.value),lowerLimit:Number(q?.value)}),qe=t(()=>S.disabled||S.readonly),Ke=t(()=>qe.value?-1:S.tabindex),Xe=t(()=>!de(K)),Je=t(()=>!0===F.value||!0!==G.value&&void 0),Ze=t(()=>S.storageKey??(T?.experimentalFeatures.forceInputSuggestions?S.name:void 0)),Ge=function(t,l=ce.local,o){const i=u();let n;return o&&(i.value=o),v(()=>{t&&c(t,(t,a)=>{const o=e(l)===ce.session?sessionStorage:localStorage;if(a&&a!==t&&o.removeItem(a),t)return n=te(t,n?.value??i.value,o),void(n.value&&(i.value=n.value));n=void 0},{immediate:!0}),a(l)&&c(l,(e,a)=>{if(t?.value){if(e){const a=e===ce.session?sessionStorage:localStorage;n=te(t.value,n?.value??i.value,a)}a&&a!==e&&(a===ce.session?sessionStorage:localStorage).removeItem(t.value)}})}),c(i,e=>{n&&(n.value=e)},{deep:!0,immediate:!0}),i}(Ze,J,
4
4
  /* @__PURE__ */new Set),Qe=t(()=>Ge.value?[...Ge.value].filter(e=>de(ie.value)||`${e}`.toLowerCase().includes(`${ie.value}`.toLowerCase())&&e!==ie.value).reverse():[]),et=t(()=>Ze?.value&&Ge.value&&Ge.value.size>0);const{modifiers:tt}=s(S),at=ot("vv-input-text",tt,t(()=>({valid:G.value,invalid:F.value,loading:W.value,disabled:S.disabled,required:S.required,readonly:S.readonly,"icon-before":!!Ue.value,"icon-after":!!Ye.value,floating:S.floating&&!de(S.label),dirty:Xe.value,focus:_e.value&&!qe.value,"auto-width":S.autoWidth}))),it=t(()=>{const e=Ne.value&&Me.value?ct.TEXT:!Ce.value||Xe.value||De.value?S.iMask?ct.TEXT:S.type:ct.TEXT,t={type:e,name:S.name,tabindex:Ke.value,disabled:S.disabled,readonly:S.readonly,required:S.required,autocomplete:S.autocomplete,"aria-invalid":Je.value,"aria-describedby":mt.value?le.value:void 0,"aria-errormessage":bt.value?le.value:void 0,inputMode:S.inputMode};if(e===ct.DATE||e===ct.MONTH||e===ct.WEEK||e===ct.TIME||e===ct.DATETIME_LOCAL||e===ct.NUMBER){let a=S.max;e!==ct.DATE||a||(a="9999-12-31"),t.step=S.step,t.max=void 0!==a?String(a):void 0,t.min=void 0!==S.min?String(S.min):void 0}return e!==ct.TEXT&&e!==ct.SEARCH&&e!==ct.URL&&e!==ct.TEL&&e!==ct.EMAIL&&e!==ct.PASSWORD&&e!==ct.NUMBER||(t.placeholder=oe.value),e!==ct.TEXT&&e!==ct.SEARCH&&e!==ct.URL&&e!==ct.TEL&&e!==ct.EMAIL&&e!==ct.PASSWORD||(t.minlength=S.minlength,t.maxlength=S.maxlength,t.pattern=S.pattern),e===ct.EMAIL&&(t.multiple=S.multiple),t}),rt=t(()=>({valid:S.valid,invalid:S.invalid,modelValue:S.modelValue,togglePassword:He,stepUp:Pe,stepDown:Ve,clear:je})),{HintSlot:ut,hasHintLabelOrSlot:mt,hasInvalidLabelOrSlot:bt,hintSlotScope:ht}=function(e,i){const n=t(()=>a(e)?e.value:e),r=t(()=>ve(n.value.invalidLabel)),u=t(()=>ve(n.value.validLabel)),s=t(()=>n.value.loadingLabel),d=t(()=>n.value.hintLabel),v=t(()=>Boolean(n.value.loading&&(i.loading||s.value))),c=t(()=>!v.value&&Boolean(n.value.invalid&&(i.invalid||r.value))),p=t(()=>!v.value&&!c.value&&Boolean(n.value.valid&&(i.valid||u.value))),f=t(()=>!v.value&&!c.value&&!p.value&&Boolean(i.hint||d.value)),m=t(()=>c.value||p.value||v.value||f.value),b=t(()=>({modelValue:n.value.modelValue,valid:n.value.valid,invalid:n.value.invalid,loading:n.value.loading})),h=l({name:"HintSlot",props:{tag:{type:String,default:"small"}},setup:()=>({isVisible:m,invalidLabel:r,validLabel:u,loadingLabel:s,hintLabel:d,hasInvalidLabelOrSlot:c,hasValidLabelOrSlot:p,hasLoadingLabelOrSlot:v,hasHintLabelOrSlot:f}),render(){if(this.isVisible){let e;return this.hasInvalidLabelOrSlot&&(e="alert"),this.hasValidLabelOrSlot&&(e="status"),this.hasLoadingLabelOrSlot?o(this.tag,{role:e},this.$slots.loading?.()??this.loadingLabel):this.hasInvalidLabelOrSlot?o(this.tag,{role:e},this.$slots.invalid?.()??this.$slots.invalid??this.invalidLabel):this.hasValidLabelOrSlot?o(this.tag,{role:e},this.$slots.valid?.()??this.validLabel):o(this.tag,{role:e},this.$slots.hint?.()??this.$slots.hint??this.hintLabel)}return null}});return{hasInvalidLabelOrSlot:c,hasHintLabelOrSlot:f,hasValidLabelOrSlot:p,hasLoadingLabelOrSlot:v,hintSlotScope:b,HintSlot:h}}(k,$),Dt=gt(ct.PASSWORD,S,Xe),kt=gt(ct.NUMBER,S,Xe),Ot=gt(ct.SEARCH,S,Xe);function At(){qe.value||(De.value=!0)}const _t=t(()=>{if(S.autoWidth)return{width:void 0!==ie.value?`${String(ie.value).length+1}ch`:void 0}});function It(e){switch(e.code){case"ArrowUp":Be.value&&(Pe(),e.preventDefault());break;case"ArrowDown":Be.value&&(Ve(),e.preventDefault())}E("keydown",e)}return(t,a)=>(f(),p("div",{class:L(e(at))},[e(Y)?(f(),p("label",{key:0,for:e(Q),class:"vv-input-text__label"},M(e(Y)),9,yt)):D("v-if",!0),x("div",{ref_key:"wrapperEl",ref:Le,class:"vv-input-text__wrapper"},[t.$slots.before?(f(),p("div",St,[h(t.$slots,"before",g(y(e(rt))))])):D("v-if",!0),x("div",{ref_key:"innerEl",ref:xe,class:"vv-input-text__inner",onClick:C(At,["stop"])},[e(Ue)?(f(),_(vt,w({key:0},e(Ue),{class:"vv-input-text__icon"}),null,16)):D("v-if",!0),x("input",w({id:e(Q),ref_key:"inputEl",ref:$e},e(it),{style:e(_t),onKeyup:a[0]||(a[0]=e=>E("keyup",e)),onKeydown:It,onKeypress:a[1]||(a[1]=e=>E("keypress",e))}),null,16,wt),(t.unit||t.$slots.unit)&&e(Xe)?(f(),p("div",Et,[h(t.$slots,"unit",g(y(e(rt))),()=>[I(M(t.unit),1)])])):D("v-if",!0)],512),e(Ye)?(f(),_(vt,w({key:1},e(Ye),{class:"vv-input-text__icon vv-input-text__icon-after"}),null,16)):!e(Ne)||t.hideActions||e(qe)?!e(Be)||t.hideActions||e(qe)?!e(Re)||t.hideActions||e(qe)?D("v-if",!0):(f(),_(e(Ot),{key:4,onClear:je})):(f(),_(e(kt),{key:3,onStepUp:Pe,onStepDown:Ve})):(f(),_(e(Dt),{key:2,onTogglePassword:He})),t.$slots.after?(f(),p("div",$t,[h(t.$slots,"after",g(y(e(rt))))])):D("v-if",!0),e(O)?(f(),p("span",xt,[h(t.$slots,"count",g(y(e(rt))),()=>[I(M(e(ze)),1)])])):D("v-if",!0)],512),m(e(ut),{id:e(le),class:"vv-input-text__hint"},B({_:2},[t.$slots.hint?{name:"hint",fn:b(()=>[h(t.$slots,"hint",g(y(e(ht))))]),key:"0"}:void 0,t.$slots.loading?{name:"loading",fn:b(()=>[h(t.$slots,"loading",g(y(e(ht))))]),key:"1"}:void 0,t.$slots.valid?{name:"valid",fn:b(()=>[h(t.$slots,"valid",g(y(e(ht))))]),key:"2"}:void 0,t.$slots.invalid?{name:"invalid",fn:b(()=>[h(t.$slots,"invalid",g(y(e(ht))))]),key:"3"}:void 0]),1032,["id"]),e(et)?(f(),_(nt,{key:1,ref_key:"suggestionsDropdownEl",ref:Te,reference:e(Le),"autofocus-first":!1,"trigger-width":!0},{items:b(()=>[(f(!0),p(n,null,P(e(Qe),a=>(f(),_(st,{key:a,onClick:C(e=>{return t=a,ie.value=t,Te.value?.hide(),void E("suggestion:selected",t);var t},["stop"])},{default:b(()=>[x("div",Lt,[h(t.$slots,"suggestion",w({ref_for:!0},{value:a}),()=>[I(M(a),1)])]),e(Ge)&&e(We)?(f(),p("button",{key:0,type:"button",tabindex:"-1",class:"cursor-pointer",title:t.labelRemoveSuggestion,onClick:C(e=>{return t=a,Ge.value?.delete(t),void E("suggestion:removed",t);var t},["stop"])},[m(vt,w({ref_for:!0},e(We)),null,16)],8,Tt)):D("v-if",!0)]),_:2},1032,["onClick"]))),128))]),_:3},8,["reference"])):D("v-if",!0)],2))}});export{Dt as default};