@volverjs/ui-vue 0.0.10 → 0.0.12

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 (94) hide show
  1. package/bin/icons.js +1 -93
  2. package/dist/components/VvAccordion/VvAccordion.es.js +1 -366
  3. package/dist/components/VvAccordion/VvAccordion.vue.d.ts +2 -1
  4. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +2 -702
  5. package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +3 -2
  6. package/dist/components/VvAction/VvAction.es.js +1 -302
  7. package/dist/components/VvAction/VvAction.vue.d.ts +2 -1
  8. package/dist/components/VvAlert/VvAlert.es.js +1 -527
  9. package/dist/components/VvAlert/VvAlert.umd.js +1 -1
  10. package/dist/components/VvAlert/VvAlert.vue.d.ts +2 -1
  11. package/dist/components/VvAlertGroup/VvAlertGroup.es.js +1 -730
  12. package/dist/components/VvAlertGroup/VvAlertGroup.umd.js +1 -1
  13. package/dist/components/VvAlertGroup/VvAlertGroup.vue.d.ts +2 -1
  14. package/dist/components/VvAvatar/VvAvatar.es.js +1 -132
  15. package/dist/components/VvAvatar/VvAvatar.vue.d.ts +2 -1
  16. package/dist/components/VvAvatarGroup/VvAvatarGroup.es.js +1 -250
  17. package/dist/components/VvAvatarGroup/VvAvatarGroup.vue.d.ts +2 -1
  18. package/dist/components/VvBadge/VvBadge.es.js +1 -131
  19. package/dist/components/VvBadge/VvBadge.vue.d.ts +2 -1
  20. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +1 -410
  21. package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +2 -1
  22. package/dist/components/VvButton/VvButton.es.js +1 -882
  23. package/dist/components/VvButton/VvButton.umd.js +1 -1
  24. package/dist/components/VvButton/VvButton.vue.d.ts +2 -1
  25. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +1 -214
  26. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +2 -1
  27. package/dist/components/VvCard/VvCard.es.js +1 -152
  28. package/dist/components/VvCard/VvCard.vue.d.ts +2 -1
  29. package/dist/components/VvCheckbox/VvCheckbox.es.js +1 -741
  30. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +3 -2
  31. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +1 -981
  32. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +2 -1
  33. package/dist/components/VvCombobox/VvCombobox.es.js +1 -3463
  34. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  35. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +263 -317
  36. package/dist/components/VvDialog/VvDialog.es.js +1 -317
  37. package/dist/components/VvDialog/VvDialog.vue.d.ts +2 -1
  38. package/dist/components/VvDropdown/VvDropdown.es.js +1 -750
  39. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +2 -1
  40. package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +5 -4
  41. package/dist/components/VvDropdown/VvDropdownItem.vue.d.ts +2 -1
  42. package/dist/components/VvDropdown/VvDropdownOptgroup.vue.d.ts +10 -2
  43. package/dist/components/VvDropdown/VvDropdownOption.vue.d.ts +2 -1
  44. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +1 -448
  45. package/dist/components/VvDropdownItem/VvDropdownItem.es.js +1 -149
  46. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.es.js +1 -104
  47. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.umd.js +1 -1
  48. package/dist/components/VvDropdownOption/VvDropdownOption.es.js +1 -281
  49. package/dist/components/VvIcon/VvIcon.es.js +1 -143
  50. package/dist/components/VvIcon/VvIcon.umd.js +1 -1
  51. package/dist/components/VvIcon/VvIcon.vue.d.ts +2 -1
  52. package/dist/components/VvInputFile/VvInputFile.es.js +1 -1704
  53. package/dist/components/VvInputFile/VvInputFile.umd.js +1 -1
  54. package/dist/components/VvInputFile/VvInputFile.vue.d.ts +2 -1
  55. package/dist/components/VvInputText/VvInputText.es.js +4 -2790
  56. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  57. package/dist/components/VvInputText/VvInputText.vue.d.ts +2 -1
  58. package/dist/components/VvNav/VvNav.es.js +1 -438
  59. package/dist/components/VvNav/VvNav.vue.d.ts +2 -1
  60. package/dist/components/VvNav/VvNavItem.vue.d.ts +2 -1
  61. package/dist/components/VvNav/VvNavSeparator.vue.d.ts +2 -1
  62. package/dist/components/VvNavItem/VvNavItem.es.js +1 -337
  63. package/dist/components/VvNavSeparator/VvNavSeparator.es.js +1 -24
  64. package/dist/components/VvProgress/VvProgress.es.js +1 -163
  65. package/dist/components/VvProgress/VvProgress.vue.d.ts +2 -1
  66. package/dist/components/VvRadio/VvRadio.es.js +1 -661
  67. package/dist/components/VvRadio/VvRadio.vue.d.ts +3 -2
  68. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +1 -901
  69. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +2 -1
  70. package/dist/components/VvSelect/VvSelect.es.js +1 -1103
  71. package/dist/components/VvSelect/VvSelect.umd.js +1 -1
  72. package/dist/components/VvSelect/VvSelect.vue.d.ts +130 -71
  73. package/dist/components/VvTab/VvTab.es.js +1 -558
  74. package/dist/components/VvTab/VvTab.vue.d.ts +2 -1
  75. package/dist/components/VvTextarea/VvTextarea.es.js +2 -1989
  76. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
  77. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +2 -1
  78. package/dist/components/VvTooltip/VvTooltip.es.js +1 -154
  79. package/dist/components/VvTooltip/VvTooltip.vue.d.ts +2 -1
  80. package/dist/components/index.es.js +6 -8558
  81. package/dist/components/index.umd.js +1 -1
  82. package/dist/composables/index.es.js +2 -247
  83. package/dist/composables/index.umd.js +1 -1
  84. package/dist/directives/index.es.js +2 -311
  85. package/dist/directives/index.umd.js +1 -1
  86. package/dist/directives/v-contextmenu.es.js +2 -142
  87. package/dist/directives/v-contextmenu.umd.js +1 -1
  88. package/dist/directives/v-tooltip.es.js +1 -172
  89. package/dist/icons.es.js +1 -39
  90. package/dist/icons.umd.js +1 -1
  91. package/dist/index.es.js +1 -219
  92. package/dist/resolvers/unplugin.es.js +1 -187
  93. package/dist/stories/AccordionGroup/AccordionGroupSlots.stories.d.ts +14 -14
  94. package/package.json +37 -37
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("vue-imask"),require("@floating-ui/vue"),require("@vueuse/core"),require("mitt"),require("@iconify/vue")):"function"==typeof define&&define.amd?define(["vue","vue-imask","@floating-ui/vue","@vueuse/core","mitt","@iconify/vue"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvInputText=t(e.vue,e.vueImask,e.vue$1,e.core,e.mitt,e.vue$2)}(this,function(e,t,o,a,l,n){"use strict";const i=e=>e.toString().padStart(2,"0");function r(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 u(e,t="date",o){if("string"==typeof e&&!r(e))return"";const a=new Date(e);if(Number.isNaN(a.getTime()))return"";let l=`${a.getFullYear()}-${i(a.getMonth()+1)}`;if("month"===t)return l;if(l+=`-${i(a.getDate())}`,"date"===t)return l;const n=o?`${i(a.getHours())}:${i(a.getMinutes())}:${i(a.getSeconds())}`:`${i(a.getHours())}:${i(a.getMinutes())}`;return"time"===t?n:`${l}T${n}`}function s(t){return null==(o=e.unref(t))||""===o||Array.isArray(o)&&0===o.length||!(o instanceof Date)&&"object"==typeof o&&0===Object.keys(o).length;var o}function d(e){return Array.isArray(e)?e.filter(e=>"string"==typeof e).join(" "):e}var c=(e=>(e.local="local",e.session="session",e))(c||{}),v=(e=>(e.absolute="absolute",e.fixed="fixed",e))(v||{}),p=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(p||{}),f=(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))(f||{}),m=(e=>(e.before="before",e.after="after",e))(m||{}),h=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(h||{}),b=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(b||{}),g=(e=>(e.button="button",e.link="link",e.menuitem="menuitem",e))(g||{}),y=(e=>(e.listbox="listbox",e.menu="menu",e))(y||{}),S=(e=>(e.option="option",e.presentation="presentation",e))(S||{});const w=Symbol.for("volver"),k=Symbol.for("dropdownTrigger"),E=Symbol.for("dropdownItem"),x=Symbol.for("dropdownAction"),$="eye-on",T="eye-off",L="calendar",D="time",B="color",C="close",O="trash",N={prefix:"normal"},P={valid:{type:Boolean,default:!1},validLabel:{type:[String,Array],default:void 0}},A={invalid:{type:Boolean,default:!1},invalidLabel:{type:[String,Array],default:void 0}},M={loading:{type:Boolean,default:!1},loadingLabel:{type:String,default:"Loading..."}},I={disabled:{type:Boolean,default:!1}},_={required:{type:Boolean,default:!1}},V={selected:{type:Boolean,default:!1}},H={label:{type:[String,Number],default:void 0}},R={readonly:{type:Boolean,default:!1}},j={modifiers:{type:[String,Array],default:void 0}},z={hintLabel:{type:String,default:""}},F={count:{type:[Boolean,String],default:!1,validator:e=>[!0,!1,"limit","countdown"].includes(e)}},U={debounce:{type:[Number,String],default:void 0}},W={icon:{type:[String,Object],default:void 0},iconPosition:{type:String,default:m.before,validation:e=>Object.values(m).includes(e)}},Y={tabindex:{type:[String,Number],default:0}},q={floating:{type:Boolean,default:!1}},K={unselectable:{type:Boolean,default:!0}},X={id:[String,Number]},J={placement:{type:String,default:p.bottom,validator:e=>Object.values(p).includes(e)||Object.values(f).includes(e)},strategy:{type:String,default:void 0,validator:e=>Object.values(v).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}},Z={...{...X,name:{type:String,required:!0}},...{autofocus:{type:Boolean,default:!1}},...{autocomplete:{type:String,default:"off"}},...Y,...I,...R,...P,...A,...z,...M,...j,...F,...U,...W,...q,...H,minlength:{type:[String,Number],default:void 0},maxlength:{type:[String,Number],default:void 0},placeholder:{type:String,default:void 0},..._};h.button,b.button;const G={storageType:{type:String,default:c.local,validator:e=>Object.values(c).includes(e)},storageKey:String},Q={...X,...J,...j,modelValue:{type:Boolean,default:void 0},reference:{type:Object,default:null},role:{type:String,default:y.menu,validator:e=>Object.values(y).includes(e)}},ee={focusOnHover:{type:Boolean,default:!1}},te={...I,...V,...K,...j,deselectHintLabel:{type:String},selectHintLabel:{type:String},selectedHintLabel:{type:String},focusOnHover:{type:Boolean,default:!1}};function oe(t){return e.computed(()=>String(t?.value||e.useId()))}function ae(t,o,a){return e.computed(()=>{const l={[t]:!0},n="string"==typeof o?.value?o.value.split(" "):o?.value;return n&&Array.isArray(n)&&n.forEach(e=>{e&&(l[`${t}--${e}`]=!0)}),a&&Object.keys(a.value).forEach(o=>{l[`${t}--${o}`]=e.unref(a.value[o])}),l})}const le=["id","tabindex","role","aria-labelledby"],ne=e.defineComponent({name:"VvDropdown",inheritAttrs:!1,props:Q,emits:["update:modelValue","beforeEnter","afterLeave","beforeExpand","beforeCollapse","afterExpand","afterCollapse","before-enter","after-leave","enter","afterEnter","enterCancelled","beforeLeave","leave","leaveCancelled"],setup(t,{expose:n,emit:i}){const r=t,u=i,{id:s}=e.toRefs(r),d=oe(s),c=e.useAttrs(),f=e.ref("auto"),m=e.ref("auto"),h=e.ref(),b=e.ref(),g=e.ref(),w=e.ref(),x=e.computed({get:()=>r.reference??h.value,set:e=>{h.value=e}}),$=e.ref(!1);e.onMounted(()=>{a.useMutationObserver(b.value,()=>{$.value="true"===window.getComputedStyle(b.value).getPropertyValue("--dropdown-custom-position")?.trim()},{attributeFilter:["style"],window:window})});const T=e.computed(()=>{const e=[];if(r.autoPlacement?"boolean"==typeof r.autoPlacement?e.push(o.autoPlacement()):e.push(o.autoPlacement(r.autoPlacement)):r.flip&&("boolean"==typeof r.flip?e.push(o.flip({fallbackStrategy:"initialPlacement"})):e.push(o.flip(r.flip))),r.shift&&("boolean"==typeof r.shift?e.push(o.shift()):e.push(o.shift(r.shift))),r.size){const t=({availableWidth:e,availableHeight:t})=>{f.value=`${e}px`,m.value=`${t}px`};"boolean"==typeof r.size?e.push(o.size({apply:t})):e.push(o.size({...r.size,apply:t}))}return r.offset&&(e.push(o.offset(Number(r.offset))),["string","number"].includes(typeof r.offset)?e.push(o.offset(Number(r.offset))):e.push(o.offset(r.offset))),r.arrow&&e.push(o.arrow({element:g})),e}),{x:L,y:D,middlewareData:B,placement:C,strategy:O}=o.useFloating(x,b,{whileElementsMounted:(...e)=>o.autoUpdate(...e,{animationFrame:r.strategy===v.fixed}),placement:e.computed(()=>r.placement),strategy:e.computed(()=>r.strategy),middleware:T}),N=e.computed(()=>{if($.value)return;const e=r.triggerWidth&&x.value?`${x.value?.offsetWidth}px`:void 0;return{position:O.value,top:`${D.value??0}px`,left:`${L.value??0}px`,maxWidth:e?void 0:f.value,maxHeight:m.value,width:e}}),P=e.computed(()=>C.value.split("-")[0]),A=e.computed(()=>{if($.value)return;const e={[p.top]:p.bottom,[p.right]:p.left,[p.bottom]:p.top,[p.left]:p.right}[P.value];return{left:void 0!==B.value.arrow?.x?`${B.value.arrow?.x}px`:void 0,top:void 0!==B.value.arrow?.y?`${B.value.arrow?.y}px`:void 0,[e]:-(g.value?.offsetWidth??0)/2+"px"}}),M=a.useVModel(r,"modelValue",u),I=e.ref(!1),_=e.computed({get:()=>M.value??I.value,set:e=>{void 0!==M.value?M.value=e:I.value=e}});function V(){_.value=!0}function H(){_.value=!1}function R(){_.value=!_.value}function j(e){x.value=e}a.onClickOutside(b,()=>{!r.keepOpen&&_.value&&(_.value=!1)},{ignore:[x]});const z=e.computed(()=>x.value?.getAttribute?.("id")??void 0),F=e.computed(()=>({"aria-controls":d.value,"aria-haspopup":!0,"aria-expanded":_.value})),{component:U,bus:W}=function({reference:t,id:o,expanded:a,aria:n}){const i=l(),r=e.defineComponent({name:"VvDropdownTriggerProvider",setup(){e.provide(k,{reference:t,id:o,expanded:a,aria:n,bus:i})},render(){return e.h(e.Fragment,{},this.$slots.default?.())}});return{bus:i,component:r}}({reference:x,id:d,expanded:_,aria:F});W.on("click",R);const{role:Y,modifiers:q}=e.toRefs(r),K=ae("vv-dropdown",q,e.computed(()=>({arrow:r.arrow}))),{focused:X}=a.useFocusWithin(b);function J(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 Z(){e.nextTick(()=>{const e=J(b.value);e.length>0&&e[0].focus({preventScroll:!0})})}function G(){e.nextTick(()=>{if(X.value){const e=J(b.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 Q(){e.nextTick(()=>{if(X.value){const e=J(b.value);if(0===e.length||!document.activeElement)return;const t=e.indexOf(document.activeElement);t>0?e[t-1].focus({preventScroll:!0}):e[e.length-1].focus({preventScroll:!0})}})}e.watch(_,e=>{e&&r.autofocusFirst&&Z()}),n({toggle:R,show:V,hide:H,init:j,focusFirst:Z,focusFirstListElement:function(){e.nextTick(()=>{const e=J(w.value);e.length>0&&e[0].focus({preventScroll:!0})})},focusNext:G,focusPrev:Q,customPosition:$});const ee=a.useElementHover(b),{itemRole:te}=function({role:t,...o}){const a=e.computed(()=>t.value===y.listbox?S.option:S.presentation);return e.provide(E,{role:a,...o}),{itemRole:a}}({role:Y,expanded:_,focused:X,hovered:ee});a.onKeyStroke("Escape",e=>{_.value&&(e.preventDefault(),H())}),a.onKeyStroke("ArrowDown",e=>{_.value&&X.value&&(e.preventDefault(),G())}),a.onKeyStroke("ArrowUp",e=>{_.value&&X.value&&(e.preventDefault(),Q())}),a.onKeyStroke([" ","Enter"],e=>{const t=e.target;_.value&&X.value&&t&&t?.click()});const ne={"before-enter":()=>{u(_.value?"beforeExpand":"beforeCollapse"),u("beforeEnter")},"after-leave":()=>{u(_.value?"afterExpand":"afterCollapse"),u("afterLeave")},enter:()=>{u("enter")},"after-enter":()=>{u("afterEnter")},"enter-cancelled":()=>{u("enterCancelled")},"before-leave":()=>{u("beforeLeave")},leave:()=>{u("leave")},"leave-cancelled":()=>{u("leaveCancelled")}};return(t,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(U),null,{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps({init:j,show:V,hide:H,toggle:R,expanded:e.unref(_),aria:e.unref(F)})))]),_:3}),e.createVNode(e.Transition,e.mergeProps({name:t.transitionName},e.toHandlers(ne),{persisted:""}),{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"floatingEl",ref:b,style:e.normalizeStyle(e.unref(N)),class:e.normalizeClass(e.unref(K))},[r.arrow?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"arrowEl",ref:g,style:e.normalizeStyle(e.unref(A)),class:"vv-dropdown__arrow"},null,4)):e.createCommentVNode("v-if",!0),e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(_)}))),e.createElementVNode("div",e.mergeProps(e.unref(c),{id:e.unref(d),ref_key:"listEl",ref:w,tabindex:e.unref(_)?void 0:-1,role:e.unref(Y),"aria-labelledby":e.unref(z),class:"vv-dropdown__list"}),[e.renderSlot(t.$slots,"items",e.normalizeProps(e.guardReactiveProps({role:e.unref(te)})))],16,le),e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(_)})))],6),[[e.vShow,e.unref(_)]])]),_:3},16,["name"])],64))}});const ie=e.defineComponent({name:"VvDropdownItem",props:ee,setup(t){const o=t,{role:l,expanded:n}=e.inject(E,{}),i=e.ref(null);!function({expanded:t}){e.provide(x,{role:e.ref(g.menuitem),expanded:t})}({expanded:n});const r=a.useElementHover(i),{focused:u}=a.useFocus(i),{focused:s}=a.useFocusWithin(i);return e.watch(r,e=>{e&&o.focusOnHover&&(u.value=!0)}),(t,o)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({role:e.unref(l)},{ref_key:"element",ref:i,class:["vv-dropdown__item",{"focus-visible":e.unref(u)||e.unref(s)}]}),[e.renderSlot(t.$slots,"default")],16))}}),re=["title"],ue=e.defineComponent({name:"VvDropdownOption",props:te,setup(t){const o=t,{modifiers:a}=e.toRefs(o),l=ae("vv-dropdown-option",a,e.computed(()=>({disabled:o.disabled,selected:o.selected,unselectable:o.unselectable&&o.selected}))),n=e.computed(()=>o.selected?o.unselectable?o.deselectHintLabel:o.selectedHintLabel:o.disabled?"":o.selectHintLabel);return(t,o)=>(e.openBlock(),e.createBlock(ie,{class:e.normalizeClass(e.unref(l)),tabindex:t.disabled?-1:0,"aria-selected":t.selected,"aria-disabled":t.disabled,"focus-on-hover":t.focusOnHover},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default"),e.createElementVNode("span",{class:"vv-dropdown-option__hint",title:e.unref(n)},[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps({disabled:t.disabled,selected:t.selected,unselectable:t.unselectable})),()=>[e.createTextVNode(e.toDisplayString(e.unref(n)),1)])],8,re)]),_:3},8,["class","tabindex","aria-selected","aria-disabled","focus-on-hover"]))}});function se(){return e.inject(w,void 0)}const de=e.defineComponent({name:"VvIcon",props:e.mergeDefaults({name:{},color:{},width:{},height:{},provider:{},prefix:{},src:{},horizontalFlip:{type:Boolean},verticalFlip:{type:Boolean},flip:{},mode:{},inline:{type:Boolean},rotate:{},onLoad:{type:Function},svg:{},modifiers:{}},N),setup(t){const o=t,a=e.computed(()=>"string"==typeof o.rotate?Number.parseFloat(o.rotate):o.rotate),l=e.ref(!0),i=se(),{modifiers:r}=e.toRefs(o),u=ae("vv-icon",r),s=e.computed(()=>o.provider||i?.iconsProvider),d=e.computed(()=>{const e=o.name??"",t=`@${s.value}:${o.prefix}:${e}`;if(n.iconLoaded(t))return t;const a=i?.iconsCollections.find(t=>{const o=`@${s.value}:${t.prefix}:${e}`;return n.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&&n.addIcon(`@${s.value}:${o.prefix}:${o.name}`,{body:a,height:t.viewBox.baseVal.height,width:t.viewBox.baseVal.width})}return i&&o.src&&!n.iconLoaded(`@${s.value}:${o.prefix}:${o.name}`)&&(l.value=!1,i.fetchIcon(o.src).then(e=>{e&&(c(e),l.value=!0)}).catch(e=>{throw new Error(`Error during fetch icon: ${e?.message}`)})),o.svg&&c(o.svg),(t,o)=>e.unref(l)?(e.openBlock(),e.createBlock(e.unref(n.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)}}),ce={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"},ve={...Z,...G,modelValue:[String,Number,Date],type:{type:String,default:ce.TEXT,validator:e=>Object.values(ce).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:$},iconHidePassword:{type:[String,Object],default:T},iconClear:{type:[String,Object],default:C},iconRemoveSuggestion:{type:[String,Object],default:O},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 pe(t,o){const a=e.computed(()=>"string"==typeof t?.value?{name:t?.value}:t?.value),l=e.computed(()=>o?.value===m.before?a.value:void 0),n=e.computed(()=>o?.value===m.after?a.value:void 0),i=e.computed(()=>o?.value===p.left?a.value:void 0),r=e.computed(()=>o?.value===p.right?a.value:void 0),u=e.computed(()=>o?.value===p.top?a.value:void 0),s=e.computed(()=>o?.value===p.bottom?a.value:void 0);return{hasIcon:a,hasIconLeft:i,hasIconRight:r,hasIconTop:u,hasIconBottom:s,hasIconBefore:l,hasIconAfter:n}}const fe=e.defineComponent({components:{VvIcon:de},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(t,{emit:o}){const{hasIcon:a}=pe(e.computed(()=>t.icon));return{hasIcon:a,onClick:function(e){e?.stopPropagation(),t.disabled||o("clear")}}},render(){const t=this.hasIcon?e.h(de,{...this.hasIcon,class:`vv-${this.inputType}__icon`}):void 0;return e.h("button",{disabled:this.disabled,class:`vv-${this.inputType}__action`,ariaLabel:this.label,type:"button",onClick:this.onClick},t)}}),me=e.defineComponent({components:{VvIcon:de},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:$},iconHide:{type:[String,Object],default:T}},emits:["toggle-password"],setup(t,{emit:o}){const a=e.ref(!1),l=e.computed(()=>a.value?t.iconHide:t.iconShow),{hasIcon:n}=pe(l);return{active:a,activeIcon:l,hasIcon:n,onClick:function(e){e?.stopPropagation(),t.disabled||(a.value=!a.value,o("toggle-password",a.value))}}},render(){const t=this.hasIcon?e.h(de,{...this.hasIcon,class:`vv-${this.inputType}__icon`}):void 0;return e.h("button",{disabled:this.disabled,class:`vv-${this.inputType}__action`,ariaLabel:this.active?this.labelHide:this.labelShow,type:"button",onClick:this.onClick},t)}}),he=e.defineComponent({components:{VvIcon:de},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(t,{emit:o}){const a=e.computed(()=>"up"===t.mode);return{isUp:a,onClick:e=>{e?.stopPropagation(),t.disabled||o(a.value?"step-up":"step-down")}}},render(){return e.h("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 be(t,o,a){return{name:"VvInputTextActions",components:{VvIcon:de,VvInputPasswordAction:me,VvInputStepAction:he,VvInputClearAction:fe},setup(){const t=e.computed(()=>o.disabled||o.readonly);return{isDirty:a,isDisabled:t,labelStepUp:o.labelStepUp,labelStepDown:o.labelStepDown,labelShowPassword:o.labelShowPassword,labelHidePassword:o.labelHidePassword,labelClear:o.labelClear,iconShowPassword:o.iconShowPassword,iconHidePassword:o.iconHidePassword}},render(){let a=null;switch(t){case ce.SEARCH:{const{onClear:t}=this.$attrs;a=[e.h(fe,{disabled:this.isDisabled||!this.isDirty,label:this.labelClear,onClear:t})];break}case ce.PASSWORD:{const{onTogglePassword:t}=this.$attrs;a=[e.h(me,{disabled:this.isDisabled,onTogglePassword:t,labelShow:this.labelShowPassword,labelHide:this.labelHidePassword,iconShow:this.iconShowPassword,iconHide:this.iconHidePassword})];break}case ce.NUMBER:{const{onStepUp:t,onStepDown:l}=this.$attrs;a=[e.h(he,{mode:"up",disabled:this.isDisabled||void 0!==o.max&&o.modelValue===o.max,label:this.labelStepUp,onStepUp:t,onStepDown:l}),e.h(he,{mode:"down",disabled:this.isDisabled||void 0!==o.min&&o.modelValue===o.min,label:this.labelStepDown,onStepUp:t,onStepDown:l})];break}}return Array.isArray(a)?e.h("div",{class:"vv-input-text__actions-group"},a):a}}}const ge=["for"],ye={key:0,class:"vv-input-text__input-before"},Se=["id"],we={key:1,class:"vv-input-text__unit"},ke={key:5,class:"vv-input-text__input-after"},Ee={key:6,class:"vv-input-text__limit"},xe={class:"flex-1"},$e=["title","onClick"];return e.defineComponent({name:"VvInputText",props:ve,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(o,{expose:l,emit:n}){const v=o,p=n,f=e.useSlots(),m=se(),h=function(t,o,a){const l=se(),n=e.computed(()=>{if(l&&l.defaults.value?.[t])return l.defaults.value[t]});return e.computed(()=>{if(void 0===n.value)return a;const e=n.value,t=o,l=a;return Object.keys(t).reduce((o,a)=>{const n=l[a];if(o[a]=n,a in e){if(Array.isArray(t[a])){const l=t[a];l.length&&l[0]===n&&(o[a]=e[a])}if("function"==typeof t[a]&&(0,t[a])()===n&&(o[a]=e[a]),"object"==typeof t[a]){let l=t[a].default;"function"==typeof l&&(l=l()),"object"==typeof l?JSON.stringify(l)===JSON.stringify(n)&&(o[a]=e[a]):l===n&&(o[a]=e[a])}}return o},{})})}("VvInputText",ve,v),{count:b,debounce:g,icon:y,iconPosition:S,iconRemoveSuggestion:w,id:k,invalid:E,label:x,loading:$,maxlength:T,minlength:C,modelValue:O,step:N,storageType:P,type:A,valid:M}=e.toRefs(v),I=oe(k),_=e.computed(()=>`${I.value}-hint`),V=e.computed(()=>v.floating&&s(v.placeholder)?" ":v.placeholder),H=function(t,o,a=0,{getter:l=e=>e,setter:n=e=>e}={}){let i;return"string"==typeof a&&(a=Number.parseInt(a)),e.computed({get:()=>l(t?.value),set:e=>{i&&clearTimeout(i),i=setTimeout(()=>{o("update:modelValue",n(e))},a)}})}(O,p,g?.value??0),R=e.computed(()=>{const e="number"==typeof N.value?N.value:Number.parseInt(N.value);return!Number.isNaN(e)&&e%60!=0}),j=/^-0?[.,]?[0*]?$/,z=e.ref(!1),F=e.ref(),U=e.ref(),{el:W,mask:Y,typed:q,masked:K,unmasked:X}=t.useIMask(e.computed(()=>{if(!v.iMask)return{mask:/./};if(v.iMask.mask===Number){const e={...v.iMask};return v.min&&(e.min=Number(v.min)),v.max&&(e.max=Number(v.max)),e}return v.iMask}),{emit:p,onAccept:()=>{if(z.value){if(p("update:masked",K.value),A.value===ce.NUMBER){if(/^-$|^$/.test(X.value)){if(null===H.value||void 0===H.value)return;return void(H.value=void 0)}return j.test(X.value)?void(H.value=0):"number"!=typeof q.value?void(H.value=Number(q.value)):void(H.value=q.value)}if(A.value===ce.DATETIME_LOCAL||A.value===ce.DATE||A.value===ce.TIME||A.value===ce.MONTH){if(!q.value){if(!H.value)return;return F.value?void(H.value=void 0):void(H.value="")}if(!(q.value instanceof Date||F.value||U.value))return void(H.value=q.value);let e=q.value;if(e instanceof Date||(e=function(e,t="date"){if(!e?.trim())return null;const o=new Date,a=o.getFullYear(),l=o.getMonth(),n=o.getDate();if("date"===t){if(!/^\d{4}-\d{2}-\d{2}$/.test(e))throw new Error("Invalid date format. Expected: YYYY-MM-DD");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");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?new Date(`${a}-${i(l+1)}-${i(n)}T${e}`):new Date(`${a}-${i(l+1)}-${i(n)}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?new Date(`${e}:00`):new Date(`${e}`)}(q.value,A.value)),F.value||U.value){const t=new Date(F.value||U.value);if(A.value!==ce.DATETIME_LOCAL&&A.value!==ce.DATE&&A.value!==ce.MONTH||(t.setFullYear(e.getFullYear()),t.setMonth(e.getMonth())),A.value!==ce.DATETIME_LOCAL&&A.value!==ce.DATE||t.setDate(e.getDate()),A.value!==ce.DATETIME_LOCAL&&A.value!==ce.TIME||(t.setHours(e.getHours()),t.setMinutes(e.getMinutes()),t.setSeconds(e.getSeconds())),F.value instanceof Date){if(H.value?.getTime()===t.getTime())return;return void(H.value=t)}return void(H.value=t.toISOString())}return void(H.value=u(e,A.value,R.value))}(H.value||X.value)&&(H.value=X.value)}}});function J(e){if(null==e)return q.value="",void(X.value="");if(v.iMask?.mask!==Date){if(A.value!==ce.NUMBER||!j.test(X.value)||0!==e){if(A.value===ce.DATE||A.value===ce.MONTH||A.value===ce.DATETIME_LOCAL||A.value===ce.TIME){if(e instanceof Date||r(e)){e instanceof Date?(F.value=e,U.value=void 0):(U.value=e,F.value=void 0);const t=new Date(e);return q.value=u(t,A.value,R.value),void(X.value=q.value)}F.value=void 0,U.value=void 0}q.value=e,X.value=`${q.value}`}}else q.value=e instanceof Date?e:new Date(e)}e.onMounted(()=>{Y.value&&(z.value=!0,J(v.modelValue))}),e.watch(()=>v.modelValue,e=>{Y.value&&J(e)}),e.watch(()=>v.masked,e=>{K.value=e??""});const Z=W,G=e.ref(),Q=e.ref(),ee=e.ref();l({$inner:G});const{focused:te}=function(t,o){const{focused:l}=a.useFocus(t);return e.watch(l,a=>{o(a?"focus":"blur",e.unref(t))}),{focused:l}}(Z,p),le=e.computed(()=>te.value&&!v.disabled&&!v.readonly);e.watch(le,e=>{if(e&&h.value.selectOnFocus&&Z.value&&Z.value.select(),e&&je.value?.size)ee.value?.show();else if(Ve.value&&je.value){const e=v.maxSuggestions;je.value.size>=e&&!je.value.has(H.value)&&(je.value=new Set([...je.value].slice(je.value.size-e+1))),je.value.add(H.value)}});const ie=a.useElementVisibility(Z);e.watch(ie,e=>{e&&v.autofocus&&!v.disabled&&!v.readonly&&(te.value=!0)});const re=e.ref(!1),fe=e.computed(()=>v.type===ce.PASSWORD);function me(){re.value=!re.value}const he=e.computed(()=>v.type===ce.TIME||v.type===ce.DATETIME_LOCAL||v.type===ce.DATE||v.type===ce.WEEK||v.type===ce.MONTH),Te=e.computed(()=>v.type===ce.NUMBER);function Le(){if(!Ie.value){if(v.iMask)return void(q.value=Number(q.value)+Number(N?.value??1));Z.value.stepUp(),H.value=Number(e.unref(Z).value)}}function De(){if(!Ie.value){if(v.iMask)return void(q.value=Number(q.value)-Number(N?.value??1));Z.value.stepDown(),H.value=Number(e.unref(Z).value)}}const Be=e.computed(()=>v.type===ce.SEARCH);function Ce(){H.value="",p("clear")}const{hasIconBefore:Oe,hasIconAfter:Ne}=pe(y,S),Pe=e.computed(()=>{if(void 0!==Ne.value)return Ne.value;switch(v.type){case ce.COLOR:return{name:B};case ce.DATE:case ce.DATETIME_LOCAL:case ce.WEEK:case ce.MONTH:return{name:L};case ce.TIME:return{name:D}}}),{hasIcon:Ae}=pe(w),{formatted:Me}=function(t,o){const a=e.computed(()=>(e.unref(t)??"").length),l=e.computed(()=>void 0!==o?.lowerLimit&&a.value<o?.lowerLimit?a.value-o.lowerLimit:void 0!==o?.upperLimit&&a.value<o?.upperLimit?o.upperLimit-a.value:0),n=e.computed(()=>{if(!1===o?.mode)return"";if("limit"===o?.mode&&o?.upperLimit)return`${a.value} / ${o.lowerLimit?`${o.lowerLimit}-`:""}${o.upperLimit}`;if("countdown"===o?.mode){if(0===l.value)return;return l}return a.value});return{length:a,gap:l,formatted:n}}(H,{mode:b.value,upperLimit:Number(T?.value),lowerLimit:Number(C?.value)}),Ie=e.computed(()=>v.disabled||v.readonly),_e=e.computed(()=>Ie.value?-1:v.tabindex),Ve=e.computed(()=>!s(O)),He=e.computed(()=>!0===E.value||!0!==M.value&&void 0),Re=e.computed(()=>v.storageKey??(m?.experimentalFeatures.forceInputSuggestions?v.name:void 0)),je=function(t,o=c.local,l){const n=e.ref();let i;return l&&(n.value=l),e.onMounted(()=>{t&&e.watch(t,(t,l)=>{const r=e.unref(o)===c.session?sessionStorage:localStorage;if(l&&l!==t&&r.removeItem(l),t)return i=a.useStorage(t,i?.value??n.value,r),void(i.value&&(n.value=i.value));i=void 0},{immediate:!0}),e.isRef(o)&&e.watch(o,(e,o)=>{if(t?.value){if(e){const o=e===c.session?sessionStorage:localStorage;i=a.useStorage(t.value,i?.value??n.value,o)}o&&o!==e&&(o===c.session?sessionStorage:localStorage).removeItem(t.value)}})}),e.watch(n,e=>{i&&(i.value=e)},{deep:!0,immediate:!0}),n}(Re,P,new Set),ze=e.computed(()=>je.value?[...je.value].filter(e=>s(H.value)||`${e}`.toLowerCase().includes(`${H.value}`.toLowerCase())&&e!==H.value).reverse():[]),Fe=e.computed(()=>Re?.value&&je.value&&je.value.size>0);const{modifiers:Ue}=e.toRefs(v),We=ae("vv-input-text",Ue,e.computed(()=>({valid:M.value,invalid:E.value,loading:$.value,disabled:v.disabled,required:v.required,readonly:v.readonly,"icon-before":!!Oe.value,"icon-after":!!Pe.value,floating:v.floating&&!s(v.label),dirty:Ve.value,focus:le.value&&!Ie.value,"auto-width":v.autoWidth}))),Ye=e.computed(()=>{const e=fe.value&&re.value?ce.TEXT:!he.value||Ve.value||te.value?v.iMask?ce.TEXT:v.type:ce.TEXT,t={type:e,name:v.name,tabindex:_e.value,disabled:v.disabled,readonly:v.readonly,required:v.required,autocomplete:v.autocomplete,"aria-invalid":He.value,"aria-describedby":Xe.value?_.value:void 0,"aria-errormessage":Je.value?_.value:void 0,inputMode:v.inputMode};if(e===ce.DATE||e===ce.MONTH||e===ce.WEEK||e===ce.TIME||e===ce.DATETIME_LOCAL||e===ce.NUMBER){let o=v.max;e!==ce.DATE||o||(o="9999-12-31"),t.step=v.step,t.max=void 0!==o?String(o):void 0,t.min=void 0!==v.min?String(v.min):void 0}return e!==ce.TEXT&&e!==ce.SEARCH&&e!==ce.URL&&e!==ce.TEL&&e!==ce.EMAIL&&e!==ce.PASSWORD&&e!==ce.NUMBER||(t.placeholder=V.value),e!==ce.TEXT&&e!==ce.SEARCH&&e!==ce.URL&&e!==ce.TEL&&e!==ce.EMAIL&&e!==ce.PASSWORD||(t.minlength=v.minlength,t.maxlength=v.maxlength,t.pattern=v.pattern),e===ce.EMAIL&&(t.multiple=v.multiple),t}),qe=e.computed(()=>({valid:v.valid,invalid:v.invalid,modelValue:v.modelValue,togglePassword:me,stepUp:Le,stepDown:De,clear:Ce})),{HintSlot:Ke,hasHintLabelOrSlot:Xe,hasInvalidLabelOrSlot:Je,hintSlotScope:Ze}=function(t,o){const a=e.computed(()=>e.isRef(t)?t.value:t),l=e.computed(()=>d(a.value.invalidLabel)),n=e.computed(()=>d(a.value.validLabel)),i=e.computed(()=>a.value.loadingLabel),r=e.computed(()=>a.value.hintLabel),u=e.computed(()=>Boolean(a.value.loading&&(o.loading||i.value))),s=e.computed(()=>!u.value&&Boolean(a.value.invalid&&(o.invalid||l.value))),c=e.computed(()=>!u.value&&!s.value&&Boolean(a.value.valid&&(o.valid||n.value))),v=e.computed(()=>!u.value&&!s.value&&!c.value&&Boolean(o.hint||r.value)),p=e.computed(()=>s.value||c.value||u.value||v.value),f=e.computed(()=>({modelValue:a.value.modelValue,valid:a.value.valid,invalid:a.value.invalid,loading:a.value.loading})),m=e.defineComponent({name:"HintSlot",props:{tag:{type:String,default:"small"}},setup:()=>({isVisible:p,invalidLabel:l,validLabel:n,loadingLabel:i,hintLabel:r,hasInvalidLabelOrSlot:s,hasValidLabelOrSlot:c,hasLoadingLabelOrSlot:u,hasHintLabelOrSlot:v}),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:v,hasValidLabelOrSlot:c,hasLoadingLabelOrSlot:u,hintSlotScope:f,HintSlot:m}}(h,f),Ge=be(ce.PASSWORD,v,Ve),Qe=be(ce.NUMBER,v,Ve),et=be(ce.SEARCH,v,Ve);function tt(){Ie.value||(te.value=!0)}const ot=e.computed(()=>{if(v.autoWidth)return{width:void 0!==H.value?`${String(H.value).length+1}ch`:void 0}});function at(e){switch(e.code){case"ArrowUp":Te.value&&(Le(),e.preventDefault());break;case"ArrowDown":Te.value&&(De(),e.preventDefault())}p("keydown",e)}return(t,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(We))},[e.unref(x)?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(I),class:"vv-input-text__label"},e.toDisplayString(e.unref(x)),9,ge)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",{ref_key:"wrapperEl",ref:Q,class:"vv-input-text__wrapper"},[t.$slots.before?(e.openBlock(),e.createElementBlock("div",ye,[e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(qe))))])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",{ref_key:"innerEl",ref:G,class:"vv-input-text__inner",onClick:e.withModifiers(tt,["stop"])},[e.unref(Oe)?(e.openBlock(),e.createBlock(de,e.mergeProps({key:0},e.unref(Oe),{class:"vv-input-text__icon"}),null,16)):e.createCommentVNode("v-if",!0),e.createElementVNode("input",e.mergeProps({id:e.unref(I),ref_key:"inputEl",ref:Z},e.unref(Ye),{style:e.unref(ot),onKeyup:o[0]||(o[0]=e=>p("keyup",e)),onKeydown:at,onKeypress:o[1]||(o[1]=e=>p("keypress",e))}),null,16,Se),(t.unit||t.$slots.unit)&&e.unref(Ve)?(e.openBlock(),e.createElementBlock("div",we,[e.renderSlot(t.$slots,"unit",e.normalizeProps(e.guardReactiveProps(e.unref(qe))),()=>[e.createTextVNode(e.toDisplayString(t.unit),1)])])):e.createCommentVNode("v-if",!0)],512),e.unref(Pe)?(e.openBlock(),e.createBlock(de,e.mergeProps({key:1},e.unref(Pe),{class:"vv-input-text__icon vv-input-text__icon-after"}),null,16)):!e.unref(fe)||t.hideActions||e.unref(Ie)?!e.unref(Te)||t.hideActions||e.unref(Ie)?!e.unref(Be)||t.hideActions||e.unref(Ie)?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createBlock(e.unref(et),{key:4,onClear:Ce})):(e.openBlock(),e.createBlock(e.unref(Qe),{key:3,onStepUp:Le,onStepDown:De})):(e.openBlock(),e.createBlock(e.unref(Ge),{key:2,onTogglePassword:me})),t.$slots.after?(e.openBlock(),e.createElementBlock("div",ke,[e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(qe))))])):e.createCommentVNode("v-if",!0),e.unref(b)?(e.openBlock(),e.createElementBlock("span",Ee,[e.renderSlot(t.$slots,"count",e.normalizeProps(e.guardReactiveProps(e.unref(qe))),()=>[e.createTextVNode(e.toDisplayString(e.unref(Me)),1)])])):e.createCommentVNode("v-if",!0)],512),e.createVNode(e.unref(Ke),{id:e.unref(_),class:"vv-input-text__hint"},e.createSlots({_:2},[t.$slots.hint?{name:"hint",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps(e.unref(Ze))))]),key:"0"}:void 0,t.$slots.loading?{name:"loading",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"loading",e.normalizeProps(e.guardReactiveProps(e.unref(Ze))))]),key:"1"}:void 0,t.$slots.valid?{name:"valid",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"valid",e.normalizeProps(e.guardReactiveProps(e.unref(Ze))))]),key:"2"}:void 0,t.$slots.invalid?{name:"invalid",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"invalid",e.normalizeProps(e.guardReactiveProps(e.unref(Ze))))]),key:"3"}:void 0]),1032,["id"]),e.unref(Fe)?(e.openBlock(),e.createBlock(ne,{key:1,ref_key:"suggestionsDropdownEl",ref:ee,reference:e.unref(Q),"autofocus-first":!1,"trigger-width":!0},{items:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(ze),o=>(e.openBlock(),e.createBlock(ue,{key:o,onClick:e.withModifiers(e=>{return t=o,H.value=t,ee.value?.hide(),void p("suggestion:selected",t);var t},["stop"])},{default:e.withCtx(()=>[e.createElementVNode("div",xe,[e.renderSlot(t.$slots,"suggestion",e.mergeProps({ref_for:!0},{value:o}),()=>[e.createTextVNode(e.toDisplayString(o),1)])]),e.unref(je)&&e.unref(Ae)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",tabindex:"-1",class:"cursor-pointer",title:t.labelRemoveSuggestion,onClick:e.withModifiers(e=>{return t=o,je.value?.delete(t),void p("suggestion:removed",t);var t},["stop"])},[e.createVNode(de,e.mergeProps({ref_for:!0},e.unref(Ae)),null,16)],8,$e)):e.createCommentVNode("v-if",!0)]),_:2},1032,["onClick"]))),128))]),_:3},8,["reference"])):e.createCommentVNode("v-if",!0)],2))}})});
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("vue-imask"),require("@floating-ui/vue"),require("@vueuse/core"),require("mitt"),require("@iconify/vue")):"function"==typeof define&&define.amd?define(["vue","vue-imask","@floating-ui/vue","@vueuse/core","mitt","@iconify/vue"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvInputText=t(e.vue,e.vueImask,e.vue$1,e.core,e.mitt,e.vue$2)}(this,function(e,t,o,a,l,n){"use strict";const i=e=>e.toString().padStart(2,"0");function r(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 u(e,t="date",o){if("string"==typeof e&&!r(e))return"";const a=new Date(e);if(Number.isNaN(a.getTime()))return"";let l=`${a.getFullYear()}-${i(a.getMonth()+1)}`;if("month"===t)return l;if(l+=`-${i(a.getDate())}`,"date"===t)return l;const n=o?`${i(a.getHours())}:${i(a.getMinutes())}:${i(a.getSeconds())}`:`${i(a.getHours())}:${i(a.getMinutes())}`;return"time"===t?n:`${l}T${n}`}function s(t){return null==(o=e.unref(t))||""===o||Array.isArray(o)&&0===o.length||!(o instanceof Date)&&"object"==typeof o&&0===Object.keys(o).length;var o}function d(e){return Array.isArray(e)?e.filter(e=>"string"==typeof e).join(" "):e}var c=(e=>(e.local="local",e.session="session",e))(c||{}),v=(e=>(e.absolute="absolute",e.fixed="fixed",e))(v||{}),p=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(p||{}),f=(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))(f||{}),m=(e=>(e.before="before",e.after="after",e))(m||{}),h=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(h||{}),b=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(b||{}),g=(e=>(e.button="button",e.link="link",e.menuitem="menuitem",e))(g||{}),y=(e=>(e.listbox="listbox",e.menu="menu",e))(y||{}),S=(e=>(e.option="option",e.presentation="presentation",e))(S||{});const w=Symbol.for("volver"),k=Symbol.for("dropdownTrigger"),E=Symbol.for("dropdownItem"),x=Symbol.for("dropdownAction"),$="eye-on",T="eye-off",L="calendar",D="time",B="color",C="close",O="trash",N={prefix:"normal"},P={valid:{type:Boolean,default:!1},validLabel:{type:[String,Array],default:void 0}},A={invalid:{type:Boolean,default:!1},invalidLabel:{type:[String,Array],default:void 0}},M={loading:{type:Boolean,default:!1},loadingLabel:{type:String,default:"Loading..."}},I={disabled:{type:Boolean,default:!1}},_={required:{type:Boolean,default:!1}},V={selected:{type:Boolean,default:!1}},H={label:{type:[String,Number],default:void 0}},R={readonly:{type:Boolean,default:!1}},j={modifiers:{type:[String,Array],default:void 0}},z={hintLabel:{type:String,default:""}},F={count:{type:[Boolean,String],default:!1,validator:e=>[!0,!1,"limit","countdown"].includes(e)}},U={debounce:{type:[Number,String],default:void 0}},W={icon:{type:[String,Object],default:void 0},iconPosition:{type:String,default:m.before,validation:e=>Object.values(m).includes(e)}},Y={tabindex:{type:[String,Number],default:0}},q={floating:{type:Boolean,default:!1}},K={unselectable:{type:Boolean,default:!0}},X={id:[String,Number]},J={placement:{type:String,default:p.bottom,validator:e=>Object.values(p).includes(e)||Object.values(f).includes(e)},strategy:{type:String,default:void 0,validator:e=>Object.values(v).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}},Z={...{...X,name:{type:String,required:!0}},...{autofocus:{type:Boolean,default:!1}},...{autocomplete:{type:String,default:"off"}},...Y,...I,...R,...P,...A,...z,...M,...j,...F,...U,...W,...q,...H,minlength:{type:[String,Number],default:void 0},maxlength:{type:[String,Number],default:void 0},placeholder:{type:String,default:void 0},..._};h.button,b.button;const G={storageType:{type:String,default:c.local,validator:e=>Object.values(c).includes(e)},storageKey:String},Q={...X,...J,...j,modelValue:{type:Boolean,default:void 0},reference:{type:Object,default:null},role:{type:String,default:y.menu,validator:e=>Object.values(y).includes(e)}},ee={focusOnHover:{type:Boolean,default:!1}},te={...I,...V,...K,...j,deselectHintLabel:{type:String},selectHintLabel:{type:String},selectedHintLabel:{type:String},focusOnHover:{type:Boolean,default:!1}};function oe(t){return e.computed(()=>String(t?.value||e.useId()))}function ae(t,o,a){return e.computed(()=>{const l={[t]:!0},n="string"==typeof o?.value?o.value.split(" "):o?.value;return n&&Array.isArray(n)&&n.forEach(e=>{e&&(l[`${t}--${e}`]=!0)}),a&&Object.keys(a.value).forEach(o=>{l[`${t}--${o}`]=e.unref(a.value[o])}),l})}const le=["id","tabindex","role","aria-labelledby"],ne=e.defineComponent({name:"VvDropdown",inheritAttrs:!1,props:Q,emits:["update:modelValue","beforeEnter","afterLeave","beforeExpand","beforeCollapse","afterExpand","afterCollapse","before-enter","after-leave","enter","afterEnter","enterCancelled","beforeLeave","leave","leaveCancelled"],setup(t,{expose:n,emit:i}){const r=t,u=i,{id:s}=e.toRefs(r),d=oe(s),c=e.useAttrs(),f=e.ref("auto"),m=e.ref("auto"),h=e.ref(),b=e.ref(),g=e.ref(),w=e.ref(),x=e.computed({get:()=>r.reference??h.value,set:e=>{h.value=e}}),$=e.ref(!1);e.onMounted(()=>{a.useMutationObserver(b.value,()=>{$.value="true"===window.getComputedStyle(b.value).getPropertyValue("--dropdown-custom-position")?.trim()},{attributeFilter:["style"],window:window})});const T=e.computed(()=>{const e=[];if(r.autoPlacement?"boolean"==typeof r.autoPlacement?e.push(o.autoPlacement()):e.push(o.autoPlacement(r.autoPlacement)):r.flip&&("boolean"==typeof r.flip?e.push(o.flip({fallbackStrategy:"initialPlacement"})):e.push(o.flip(r.flip))),r.shift&&("boolean"==typeof r.shift?e.push(o.shift()):e.push(o.shift(r.shift))),r.size){const t=({availableWidth:e,availableHeight:t})=>{f.value=`${e}px`,m.value=`${t}px`};"boolean"==typeof r.size?e.push(o.size({apply:t})):e.push(o.size({...r.size,apply:t}))}return r.offset&&(e.push(o.offset(Number(r.offset))),["string","number"].includes(typeof r.offset)?e.push(o.offset(Number(r.offset))):e.push(o.offset(r.offset))),r.arrow&&e.push(o.arrow({element:g})),e}),{x:L,y:D,middlewareData:B,placement:C,strategy:O}=o.useFloating(x,b,{whileElementsMounted:(...e)=>o.autoUpdate(...e,{animationFrame:r.strategy===v.fixed}),placement:e.computed(()=>r.placement),strategy:e.computed(()=>r.strategy),middleware:T}),N=e.computed(()=>{if($.value)return;const e=r.triggerWidth&&x.value?`${x.value?.offsetWidth}px`:void 0;return{position:O.value,top:`${D.value??0}px`,left:`${L.value??0}px`,maxWidth:e?void 0:f.value,maxHeight:m.value,width:e}}),P=e.computed(()=>C.value.split("-")[0]),A=e.computed(()=>{if($.value)return;const e={[p.top]:p.bottom,[p.right]:p.left,[p.bottom]:p.top,[p.left]:p.right}[P.value];return{left:void 0!==B.value.arrow?.x?`${B.value.arrow?.x}px`:void 0,top:void 0!==B.value.arrow?.y?`${B.value.arrow?.y}px`:void 0,[e]:-(g.value?.offsetWidth??0)/2+"px"}}),M=a.useVModel(r,"modelValue",u),I=e.ref(!1),_=e.computed({get:()=>M.value??I.value,set:e=>{void 0!==M.value?M.value=e:I.value=e}});function V(){_.value=!0}function H(){_.value=!1}function R(){_.value=!_.value}function j(e){x.value=e}a.onClickOutside(b,()=>{!r.keepOpen&&_.value&&(_.value=!1)},{ignore:[x]});const z=e.computed(()=>x.value?.getAttribute?.("id")??void 0),F=e.computed(()=>({"aria-controls":d.value,"aria-haspopup":!0,"aria-expanded":_.value})),{component:U,bus:W}=function({reference:t,id:o,expanded:a,aria:n}){const i=l(),r=e.defineComponent({name:"VvDropdownTriggerProvider",setup(){e.provide(k,{reference:t,id:o,expanded:a,aria:n,bus:i})},render(){return e.h(e.Fragment,{},this.$slots.default?.())}});return{bus:i,component:r}}({reference:x,id:d,expanded:_,aria:F});W.on("click",R);const{role:Y,modifiers:q}=e.toRefs(r),K=ae("vv-dropdown",q,e.computed(()=>({arrow:r.arrow}))),{focused:X}=a.useFocusWithin(b);function J(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 Z(){e.nextTick(()=>{const e=J(b.value);e.length>0&&e[0].focus({preventScroll:!0})})}function G(){e.nextTick(()=>{if(X.value){const e=J(b.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 Q(){e.nextTick(()=>{if(X.value){const e=J(b.value);if(0===e.length||!document.activeElement)return;const t=e.indexOf(document.activeElement);t>0?e[t-1].focus({preventScroll:!0}):e[e.length-1].focus({preventScroll:!0})}})}e.watch(_,e=>{e&&r.autofocusFirst&&Z()}),n({toggle:R,show:V,hide:H,init:j,focusFirst:Z,focusFirstListElement:function(){e.nextTick(()=>{const e=J(w.value);e.length>0&&e[0].focus({preventScroll:!0})})},focusNext:G,focusPrev:Q,customPosition:$});const ee=a.useElementHover(b),{itemRole:te}=function({role:t,...o}){const a=e.computed(()=>t.value===y.listbox?S.option:S.presentation);return e.provide(E,{role:a,...o}),{itemRole:a}}({role:Y,expanded:_,focused:X,hovered:ee});a.onKeyStroke("Escape",e=>{_.value&&(e.preventDefault(),H())}),a.onKeyStroke("ArrowDown",e=>{_.value&&X.value&&(e.preventDefault(),G())}),a.onKeyStroke("ArrowUp",e=>{_.value&&X.value&&(e.preventDefault(),Q())}),a.onKeyStroke([" ","Enter"],e=>{const t=e.target;_.value&&X.value&&t&&t?.click()});const ne={"before-enter":()=>{u(_.value?"beforeExpand":"beforeCollapse"),u("beforeEnter")},"after-leave":()=>{u(_.value?"afterExpand":"afterCollapse"),u("afterLeave")},enter:()=>{u("enter")},"after-enter":()=>{u("afterEnter")},"enter-cancelled":()=>{u("enterCancelled")},"before-leave":()=>{u("beforeLeave")},leave:()=>{u("leave")},"leave-cancelled":()=>{u("leaveCancelled")}};return(t,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(U),null,{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps({init:j,show:V,hide:H,toggle:R,expanded:e.unref(_),aria:e.unref(F)})))]),_:3}),e.createVNode(e.Transition,e.mergeProps({name:t.transitionName},e.toHandlers(ne),{persisted:""}),{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"floatingEl",ref:b,style:e.normalizeStyle(e.unref(N)),class:e.normalizeClass(e.unref(K))},[r.arrow?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"arrowEl",ref:g,style:e.normalizeStyle(e.unref(A)),class:"vv-dropdown__arrow"},null,4)):e.createCommentVNode("v-if",!0),e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(_)}))),e.createElementVNode("div",e.mergeProps(e.unref(c),{id:e.unref(d),ref_key:"listEl",ref:w,tabindex:e.unref(_)?void 0:-1,role:e.unref(Y),"aria-labelledby":e.unref(z),class:"vv-dropdown__list"}),[e.renderSlot(t.$slots,"items",e.normalizeProps(e.guardReactiveProps({role:e.unref(te)})))],16,le),e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(_)})))],6),[[e.vShow,e.unref(_)]])]),_:3},16,["name"])],64))}});const ie=e.defineComponent({name:"VvDropdownItem",props:ee,setup(t){const o=t,{role:l,expanded:n}=e.inject(E,{}),i=e.ref(null);!function({expanded:t}){e.provide(x,{role:e.ref(g.menuitem),expanded:t})}({expanded:n});const r=a.useElementHover(i),{focused:u}=a.useFocus(i),{focused:s}=a.useFocusWithin(i);return e.watch(r,e=>{e&&o.focusOnHover&&(u.value=!0)}),(t,o)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({role:e.unref(l)},{ref_key:"element",ref:i,class:["vv-dropdown__item",{"focus-visible":e.unref(u)||e.unref(s)}]}),[e.renderSlot(t.$slots,"default")],16))}}),re=["title"],ue=e.defineComponent({name:"VvDropdownOption",props:te,setup(t){const o=t,{modifiers:a}=e.toRefs(o),l=ae("vv-dropdown-option",a,e.computed(()=>({disabled:o.disabled,selected:o.selected,unselectable:o.unselectable&&o.selected}))),n=e.computed(()=>o.selected?o.unselectable?o.deselectHintLabel:o.selectedHintLabel:o.disabled?"":o.selectHintLabel);return(t,o)=>(e.openBlock(),e.createBlock(ie,{class:e.normalizeClass(e.unref(l)),tabindex:t.disabled?-1:0,"aria-selected":t.selected,"aria-disabled":t.disabled,"focus-on-hover":t.focusOnHover},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default"),e.createElementVNode("span",{class:"vv-dropdown-option__hint",title:e.unref(n)},[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps({disabled:t.disabled,selected:t.selected,unselectable:t.unselectable})),()=>[e.createTextVNode(e.toDisplayString(e.unref(n)),1)])],8,re)]),_:3},8,["class","tabindex","aria-selected","aria-disabled","focus-on-hover"]))}});function se(){return e.inject(w,void 0)}const de=e.defineComponent({name:"VvIcon",props:e.mergeDefaults({name:{},color:{},width:{},height:{},provider:{},prefix:{},src:{},horizontalFlip:{type:Boolean},verticalFlip:{type:Boolean},flip:{},mode:{},inline:{type:Boolean},rotate:{},onLoad:{type:Function},svg:{},modifiers:{}},N),setup(t){const o=t,a=e.computed(()=>"string"==typeof o.rotate?Number.parseFloat(o.rotate):o.rotate),l=e.ref(!0),i=se(),{modifiers:r}=e.toRefs(o),u=ae("vv-icon",r),s=e.computed(()=>o.provider||i?.iconsProvider),d=e.computed(()=>{const e=o.name??"",t=`@${s.value}:${o.prefix}:${e}`;if(n.iconLoaded(t))return t;const a=i?.iconsCollections.find(t=>{const o=`@${s.value}:${t.prefix}:${e}`;return n.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&&n.addIcon(`@${s.value}:${o.prefix}:${o.name}`,{body:a,height:t.viewBox.baseVal.height,width:t.viewBox.baseVal.width})}return i&&o.src&&!n.iconLoaded(`@${s.value}:${o.prefix}:${o.name}`)&&(l.value=!1,i.fetchIcon(o.src).then(e=>{e&&(c(e),l.value=!0)}).catch(e=>{throw new Error(`Error during fetch icon: ${e?.message}`)})),o.svg&&c(o.svg),(o,i)=>e.unref(l)?(e.openBlock(),e.createBlock(e.unref(n.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)}}),ce={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"},ve={...Z,...G,modelValue:[String,Number,Date],type:{type:String,default:ce.TEXT,validator:e=>Object.values(ce).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:$},iconHidePassword:{type:[String,Object],default:T},iconClear:{type:[String,Object],default:C},iconRemoveSuggestion:{type:[String,Object],default:O},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 pe(t,o){const a=e.computed(()=>"string"==typeof t?.value?{name:t?.value}:t?.value),l=e.computed(()=>o?.value===m.before?a.value:void 0),n=e.computed(()=>o?.value===m.after?a.value:void 0),i=e.computed(()=>o?.value===p.left?a.value:void 0),r=e.computed(()=>o?.value===p.right?a.value:void 0),u=e.computed(()=>o?.value===p.top?a.value:void 0),s=e.computed(()=>o?.value===p.bottom?a.value:void 0);return{hasIcon:a,hasIconLeft:i,hasIconRight:r,hasIconTop:u,hasIconBottom:s,hasIconBefore:l,hasIconAfter:n}}const fe=e.defineComponent({components:{VvIcon:de},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(t,{emit:o}){const{hasIcon:a}=pe(e.computed(()=>t.icon));return{hasIcon:a,onClick:function(e){e?.stopPropagation(),t.disabled||o("clear")}}},render(){const t=this.hasIcon?e.h(de,{...this.hasIcon,class:`vv-${this.inputType}__icon`}):void 0;return e.h("button",{disabled:this.disabled,class:`vv-${this.inputType}__action`,ariaLabel:this.label,type:"button",onClick:this.onClick},t)}}),me=e.defineComponent({components:{VvIcon:de},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:$},iconHide:{type:[String,Object],default:T}},emits:["toggle-password"],setup(t,{emit:o}){const a=e.ref(!1),l=e.computed(()=>a.value?t.iconHide:t.iconShow),{hasIcon:n}=pe(l);return{active:a,activeIcon:l,hasIcon:n,onClick:function(e){e?.stopPropagation(),t.disabled||(a.value=!a.value,o("toggle-password",a.value))}}},render(){const t=this.hasIcon?e.h(de,{...this.hasIcon,class:`vv-${this.inputType}__icon`}):void 0;return e.h("button",{disabled:this.disabled,class:`vv-${this.inputType}__action`,ariaLabel:this.active?this.labelHide:this.labelShow,type:"button",onClick:this.onClick},t)}}),he=e.defineComponent({components:{VvIcon:de},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(t,{emit:o}){const a=e.computed(()=>"up"===t.mode);return{isUp:a,onClick:e=>{e?.stopPropagation(),t.disabled||o(a.value?"step-up":"step-down")}}},render(){return e.h("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 be(t,o,a){return{name:"VvInputTextActions",components:{VvIcon:de,VvInputPasswordAction:me,VvInputStepAction:he,VvInputClearAction:fe},setup(){const t=e.computed(()=>o.disabled||o.readonly);return{isDirty:a,isDisabled:t,labelStepUp:o.labelStepUp,labelStepDown:o.labelStepDown,labelShowPassword:o.labelShowPassword,labelHidePassword:o.labelHidePassword,labelClear:o.labelClear,iconShowPassword:o.iconShowPassword,iconHidePassword:o.iconHidePassword}},render(){let a=null;switch(t){case ce.SEARCH:{const{onClear:t}=this.$attrs;a=[e.h(fe,{disabled:this.isDisabled||!this.isDirty,label:this.labelClear,onClear:t})];break}case ce.PASSWORD:{const{onTogglePassword:t}=this.$attrs;a=[e.h(me,{disabled:this.isDisabled,onTogglePassword:t,labelShow:this.labelShowPassword,labelHide:this.labelHidePassword,iconShow:this.iconShowPassword,iconHide:this.iconHidePassword})];break}case ce.NUMBER:{const{onStepUp:t,onStepDown:l}=this.$attrs;a=[e.h(he,{mode:"up",disabled:this.isDisabled||void 0!==o.max&&o.modelValue===o.max,label:this.labelStepUp,onStepUp:t,onStepDown:l}),e.h(he,{mode:"down",disabled:this.isDisabled||void 0!==o.min&&o.modelValue===o.min,label:this.labelStepDown,onStepUp:t,onStepDown:l})];break}}return Array.isArray(a)?e.h("div",{class:"vv-input-text__actions-group"},a):a}}}const ge=["for"],ye={key:0,class:"vv-input-text__input-before"},Se=["id"],we={key:1,class:"vv-input-text__unit"},ke={key:5,class:"vv-input-text__input-after"},Ee={key:6,class:"vv-input-text__limit"},xe={class:"flex-1"},$e=["title","onClick"];return e.defineComponent({name:"VvInputText",props:ve,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(o,{expose:l,emit:n}){const v=o,p=n,f=e.useSlots(),m=se(),h=function(t,o,a){const l=se(),n=e.computed(()=>{if(l&&l.defaults.value?.[t])return l.defaults.value[t]});return e.computed(()=>{if(void 0===n.value)return a;const e=n.value,t=o,l=a;return Object.keys(t).reduce((o,a)=>{const n=l[a];if(o[a]=n,a in e){if(Array.isArray(t[a])){const l=t[a];l.length&&l[0]===n&&(o[a]=e[a])}if("function"==typeof t[a]&&(0,t[a])()===n&&(o[a]=e[a]),"object"==typeof t[a]){let l=t[a].default;"function"==typeof l&&(l=l()),"object"==typeof l?JSON.stringify(l)===JSON.stringify(n)&&(o[a]=e[a]):l===n&&(o[a]=e[a])}}return o},{})})}("VvInputText",ve,v),{count:b,debounce:g,icon:y,iconPosition:S,iconRemoveSuggestion:w,id:k,invalid:E,label:x,loading:$,maxlength:T,minlength:C,modelValue:O,step:N,storageType:P,type:A,valid:M}=e.toRefs(v),I=oe(k),_=e.computed(()=>`${I.value}-hint`),V=e.computed(()=>v.floating&&s(v.placeholder)?" ":v.placeholder),H=function(t,o,a=0,{getter:l=e=>e,setter:n=e=>e}={}){let i;return"string"==typeof a&&(a=Number.parseInt(a)),e.computed({get:()=>l(t?.value),set:e=>{i&&clearTimeout(i),i=setTimeout(()=>{o("update:modelValue",n(e))},a)}})}(O,p,g?.value??0),R=e.computed(()=>{const e="number"==typeof N.value?N.value:Number.parseInt(N.value);return!Number.isNaN(e)&&e%60!=0}),j=/^-0?[.,]?[0*]?$/,z=e.ref(!1),F=e.ref(),U=e.ref(),{el:W,mask:Y,typed:q,masked:K,unmasked:X}=t.useIMask(e.computed(()=>{if(!v.iMask)return{mask:/./};if(v.iMask.mask===Number){const e={...v.iMask};return v.min&&(e.min=Number(v.min)),v.max&&(e.max=Number(v.max)),e}return v.iMask}),{emit:p,onAccept:()=>{if(z.value){if(p("update:masked",K.value),A.value===ce.NUMBER){if(/^-$|^$/.test(X.value)){if(null===H.value||void 0===H.value)return;return void(H.value=void 0)}return j.test(X.value)?void(H.value=0):"number"!=typeof q.value?void(H.value=Number(q.value)):void(H.value=q.value)}if(A.value===ce.DATETIME_LOCAL||A.value===ce.DATE||A.value===ce.TIME||A.value===ce.MONTH){if(!q.value){if(!H.value)return;return F.value?void(H.value=void 0):void(H.value="")}if(!(q.value instanceof Date||F.value||U.value))return void(H.value=q.value);let e=q.value;if(e instanceof Date||(e=function(e,t="date"){if(!e?.trim())return null;const o=new Date,a=o.getFullYear(),l=o.getMonth(),n=o.getDate();if("date"===t){if(!/^\d{4}-\d{2}-\d{2}$/.test(e))throw new Error("Invalid date format. Expected: YYYY-MM-DD");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");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?new Date(`${a}-${i(l+1)}-${i(n)}T${e}`):new Date(`${a}-${i(l+1)}-${i(n)}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?new Date(`${e}:00`):new Date(`${e}`)}(q.value,A.value)),F.value||U.value){const t=new Date(F.value||U.value);if(A.value!==ce.DATETIME_LOCAL&&A.value!==ce.DATE&&A.value!==ce.MONTH||(t.setFullYear(e.getFullYear()),t.setMonth(e.getMonth())),A.value!==ce.DATETIME_LOCAL&&A.value!==ce.DATE||t.setDate(e.getDate()),A.value!==ce.DATETIME_LOCAL&&A.value!==ce.TIME||(t.setHours(e.getHours()),t.setMinutes(e.getMinutes()),t.setSeconds(e.getSeconds())),F.value instanceof Date){if(H.value?.getTime()===t.getTime())return;return void(H.value=t)}return void(H.value=t.toISOString())}return void(H.value=u(e,A.value,R.value))}(H.value||X.value)&&(H.value=X.value)}}});function J(e){if(null==e)return q.value="",void(X.value="");if(v.iMask?.mask!==Date){if(A.value!==ce.NUMBER||!j.test(X.value)||0!==e){if(A.value===ce.DATE||A.value===ce.MONTH||A.value===ce.DATETIME_LOCAL||A.value===ce.TIME){if(e instanceof Date||r(e)){e instanceof Date?(F.value=e,U.value=void 0):(U.value=e,F.value=void 0);const t=new Date(e);return q.value=u(t,A.value,R.value),void(X.value=q.value)}F.value=void 0,U.value=void 0}q.value=e,X.value=`${q.value}`}}else q.value=e instanceof Date?e:new Date(e)}e.onMounted(()=>{Y.value&&(z.value=!0,J(v.modelValue))}),e.watch(()=>v.modelValue,e=>{Y.value&&J(e)}),e.watch(()=>v.masked,e=>{K.value=e??""});const Z=W,G=e.ref(),Q=e.ref(),ee=e.ref();l({$inner:G});const{focused:te}=function(t,o){const{focused:l}=a.useFocus(t);return e.watch(l,a=>{o(a?"focus":"blur",e.unref(t))}),{focused:l}}(Z,p),le=e.computed(()=>te.value&&!v.disabled&&!v.readonly);e.watch(le,e=>{if(e&&h.value.selectOnFocus&&Z.value&&Z.value.select(),e&&je.value?.size)ee.value?.show();else if(Ve.value&&je.value){const e=v.maxSuggestions;je.value.size>=e&&!je.value.has(H.value)&&(je.value=new Set([...je.value].slice(je.value.size-e+1))),je.value.add(H.value)}});const ie=a.useElementVisibility(Z);e.watch(ie,e=>{e&&v.autofocus&&!v.disabled&&!v.readonly&&(te.value=!0)});const re=e.ref(!1),fe=e.computed(()=>v.type===ce.PASSWORD);function me(){re.value=!re.value}const he=e.computed(()=>v.type===ce.TIME||v.type===ce.DATETIME_LOCAL||v.type===ce.DATE||v.type===ce.WEEK||v.type===ce.MONTH),Te=e.computed(()=>v.type===ce.NUMBER);function Le(){if(!Ie.value){if(v.iMask)return void(q.value=Number(q.value)+Number(N?.value??1));Z.value.stepUp(),H.value=Number(e.unref(Z).value)}}function De(){if(!Ie.value){if(v.iMask)return void(q.value=Number(q.value)-Number(N?.value??1));Z.value.stepDown(),H.value=Number(e.unref(Z).value)}}const Be=e.computed(()=>v.type===ce.SEARCH);function Ce(){H.value="",p("clear")}const{hasIconBefore:Oe,hasIconAfter:Ne}=pe(y,S),Pe=e.computed(()=>{if(void 0!==Ne.value)return Ne.value;switch(v.type){case ce.COLOR:return{name:B};case ce.DATE:case ce.DATETIME_LOCAL:case ce.WEEK:case ce.MONTH:return{name:L};case ce.TIME:return{name:D}}}),{hasIcon:Ae}=pe(w),{formatted:Me}=function(t,o){const a=e.computed(()=>(e.unref(t)??"").length),l=e.computed(()=>void 0!==o?.lowerLimit&&a.value<o?.lowerLimit?a.value-o.lowerLimit:void 0!==o?.upperLimit&&a.value<o?.upperLimit?o.upperLimit-a.value:0),n=e.computed(()=>{if(!1===o?.mode)return"";if("limit"===o?.mode&&o?.upperLimit)return`${a.value} / ${o.lowerLimit?`${o.lowerLimit}-`:""}${o.upperLimit}`;if("countdown"===o?.mode){if(0===l.value)return;return l}return a.value});return{length:a,gap:l,formatted:n}}(H,{mode:b.value,upperLimit:Number(T?.value),lowerLimit:Number(C?.value)}),Ie=e.computed(()=>v.disabled||v.readonly),_e=e.computed(()=>Ie.value?-1:v.tabindex),Ve=e.computed(()=>!s(O)),He=e.computed(()=>!0===E.value||!0!==M.value&&void 0),Re=e.computed(()=>v.storageKey??(m?.experimentalFeatures.forceInputSuggestions?v.name:void 0)),je=function(t,o=c.local,l){const n=e.ref();let i;return l&&(n.value=l),e.onMounted(()=>{t&&e.watch(t,(t,l)=>{const r=e.unref(o)===c.session?sessionStorage:localStorage;if(l&&l!==t&&r.removeItem(l),t)return i=a.useStorage(t,i?.value??n.value,r),void(i.value&&(n.value=i.value));i=void 0},{immediate:!0}),e.isRef(o)&&e.watch(o,(e,o)=>{if(t?.value){if(e){const o=e===c.session?sessionStorage:localStorage;i=a.useStorage(t.value,i?.value??n.value,o)}o&&o!==e&&(o===c.session?sessionStorage:localStorage).removeItem(t.value)}})}),e.watch(n,e=>{i&&(i.value=e)},{deep:!0,immediate:!0}),n}(Re,P,new Set),ze=e.computed(()=>je.value?[...je.value].filter(e=>s(H.value)||`${e}`.toLowerCase().includes(`${H.value}`.toLowerCase())&&e!==H.value).reverse():[]),Fe=e.computed(()=>Re?.value&&je.value&&je.value.size>0);const{modifiers:Ue}=e.toRefs(v),We=ae("vv-input-text",Ue,e.computed(()=>({valid:M.value,invalid:E.value,loading:$.value,disabled:v.disabled,required:v.required,readonly:v.readonly,"icon-before":!!Oe.value,"icon-after":!!Pe.value,floating:v.floating&&!s(v.label),dirty:Ve.value,focus:le.value&&!Ie.value,"auto-width":v.autoWidth}))),Ye=e.computed(()=>{const e=fe.value&&re.value?ce.TEXT:!he.value||Ve.value||te.value?v.iMask?ce.TEXT:v.type:ce.TEXT,t={type:e,name:v.name,tabindex:_e.value,disabled:v.disabled,readonly:v.readonly,required:v.required,autocomplete:v.autocomplete,"aria-invalid":He.value,"aria-describedby":Xe.value?_.value:void 0,"aria-errormessage":Je.value?_.value:void 0,inputMode:v.inputMode};if(e===ce.DATE||e===ce.MONTH||e===ce.WEEK||e===ce.TIME||e===ce.DATETIME_LOCAL||e===ce.NUMBER){let o=v.max;e!==ce.DATE||o||(o="9999-12-31"),t.step=v.step,t.max=void 0!==o?String(o):void 0,t.min=void 0!==v.min?String(v.min):void 0}return e!==ce.TEXT&&e!==ce.SEARCH&&e!==ce.URL&&e!==ce.TEL&&e!==ce.EMAIL&&e!==ce.PASSWORD&&e!==ce.NUMBER||(t.placeholder=V.value),e!==ce.TEXT&&e!==ce.SEARCH&&e!==ce.URL&&e!==ce.TEL&&e!==ce.EMAIL&&e!==ce.PASSWORD||(t.minlength=v.minlength,t.maxlength=v.maxlength,t.pattern=v.pattern),e===ce.EMAIL&&(t.multiple=v.multiple),t}),qe=e.computed(()=>({valid:v.valid,invalid:v.invalid,modelValue:v.modelValue,togglePassword:me,stepUp:Le,stepDown:De,clear:Ce})),{HintSlot:Ke,hasHintLabelOrSlot:Xe,hasInvalidLabelOrSlot:Je,hintSlotScope:Ze}=function(t,o){const a=e.computed(()=>e.isRef(t)?t.value:t),l=e.computed(()=>d(a.value.invalidLabel)),n=e.computed(()=>d(a.value.validLabel)),i=e.computed(()=>a.value.loadingLabel),r=e.computed(()=>a.value.hintLabel),u=e.computed(()=>Boolean(a.value.loading&&(o.loading||i.value))),s=e.computed(()=>!u.value&&Boolean(a.value.invalid&&(o.invalid||l.value))),c=e.computed(()=>!u.value&&!s.value&&Boolean(a.value.valid&&(o.valid||n.value))),v=e.computed(()=>!u.value&&!s.value&&!c.value&&Boolean(o.hint||r.value)),p=e.computed(()=>s.value||c.value||u.value||v.value),f=e.computed(()=>({modelValue:a.value.modelValue,valid:a.value.valid,invalid:a.value.invalid,loading:a.value.loading})),m=e.defineComponent({name:"HintSlot",props:{tag:{type:String,default:"small"}},setup:()=>({isVisible:p,invalidLabel:l,validLabel:n,loadingLabel:i,hintLabel:r,hasInvalidLabelOrSlot:s,hasValidLabelOrSlot:c,hasLoadingLabelOrSlot:u,hasHintLabelOrSlot:v}),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:v,hasValidLabelOrSlot:c,hasLoadingLabelOrSlot:u,hintSlotScope:f,HintSlot:m}}(h,f),Ge=be(ce.PASSWORD,v,Ve),Qe=be(ce.NUMBER,v,Ve),et=be(ce.SEARCH,v,Ve);function tt(){Ie.value||(te.value=!0)}const ot=e.computed(()=>{if(v.autoWidth)return{width:void 0!==H.value?`${String(H.value).length+1}ch`:void 0}});function at(e){switch(e.code){case"ArrowUp":Te.value&&(Le(),e.preventDefault());break;case"ArrowDown":Te.value&&(De(),e.preventDefault())}p("keydown",e)}return(t,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(We))},[e.unref(x)?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(I),class:"vv-input-text__label"},e.toDisplayString(e.unref(x)),9,ge)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",{ref_key:"wrapperEl",ref:Q,class:"vv-input-text__wrapper"},[t.$slots.before?(e.openBlock(),e.createElementBlock("div",ye,[e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(qe))))])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",{ref_key:"innerEl",ref:G,class:"vv-input-text__inner",onClick:e.withModifiers(tt,["stop"])},[e.unref(Oe)?(e.openBlock(),e.createBlock(de,e.mergeProps({key:0},e.unref(Oe),{class:"vv-input-text__icon"}),null,16)):e.createCommentVNode("v-if",!0),e.createElementVNode("input",e.mergeProps({id:e.unref(I),ref_key:"inputEl",ref:Z},e.unref(Ye),{style:e.unref(ot),onKeyup:o[0]||(o[0]=e=>p("keyup",e)),onKeydown:at,onKeypress:o[1]||(o[1]=e=>p("keypress",e))}),null,16,Se),(t.unit||t.$slots.unit)&&e.unref(Ve)?(e.openBlock(),e.createElementBlock("div",we,[e.renderSlot(t.$slots,"unit",e.normalizeProps(e.guardReactiveProps(e.unref(qe))),()=>[e.createTextVNode(e.toDisplayString(t.unit),1)])])):e.createCommentVNode("v-if",!0)],512),e.unref(Pe)?(e.openBlock(),e.createBlock(de,e.mergeProps({key:1},e.unref(Pe),{class:"vv-input-text__icon vv-input-text__icon-after"}),null,16)):!e.unref(fe)||t.hideActions||e.unref(Ie)?!e.unref(Te)||t.hideActions||e.unref(Ie)?!e.unref(Be)||t.hideActions||e.unref(Ie)?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createBlock(e.unref(et),{key:4,onClear:Ce})):(e.openBlock(),e.createBlock(e.unref(Qe),{key:3,onStepUp:Le,onStepDown:De})):(e.openBlock(),e.createBlock(e.unref(Ge),{key:2,onTogglePassword:me})),t.$slots.after?(e.openBlock(),e.createElementBlock("div",ke,[e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(qe))))])):e.createCommentVNode("v-if",!0),e.unref(b)?(e.openBlock(),e.createElementBlock("span",Ee,[e.renderSlot(t.$slots,"count",e.normalizeProps(e.guardReactiveProps(e.unref(qe))),()=>[e.createTextVNode(e.toDisplayString(e.unref(Me)),1)])])):e.createCommentVNode("v-if",!0)],512),e.createVNode(e.unref(Ke),{id:e.unref(_),class:"vv-input-text__hint"},e.createSlots({_:2},[t.$slots.hint?{name:"hint",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps(e.unref(Ze))))]),key:"0"}:void 0,t.$slots.loading?{name:"loading",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"loading",e.normalizeProps(e.guardReactiveProps(e.unref(Ze))))]),key:"1"}:void 0,t.$slots.valid?{name:"valid",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"valid",e.normalizeProps(e.guardReactiveProps(e.unref(Ze))))]),key:"2"}:void 0,t.$slots.invalid?{name:"invalid",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"invalid",e.normalizeProps(e.guardReactiveProps(e.unref(Ze))))]),key:"3"}:void 0]),1032,["id"]),e.unref(Fe)?(e.openBlock(),e.createBlock(ne,{key:1,ref_key:"suggestionsDropdownEl",ref:ee,reference:e.unref(Q),"autofocus-first":!1,"trigger-width":!0},{items:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(ze),o=>(e.openBlock(),e.createBlock(ue,{key:o,onClick:e.withModifiers(e=>{return t=o,H.value=t,ee.value?.hide(),void p("suggestion:selected",t);var t},["stop"])},{default:e.withCtx(()=>[e.createElementVNode("div",xe,[e.renderSlot(t.$slots,"suggestion",e.mergeProps({ref_for:!0},{value:o}),()=>[e.createTextVNode(e.toDisplayString(o),1)])]),e.unref(je)&&e.unref(Ae)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",tabindex:"-1",class:"cursor-pointer",title:t.labelRemoveSuggestion,onClick:e.withModifiers(e=>{return t=o,je.value?.delete(t),void p("suggestion:removed",t);var t},["stop"])},[e.createVNode(de,e.mergeProps({ref_for:!0},e.unref(Ae)),null,16)],8,$e)):e.createCommentVNode("v-if",!0)]),_:2},1032,["onClick"]))),128))]),_:3},8,["reference"])):e.createCommentVNode("v-if",!0)],2))}})});
@@ -1,4 +1,4 @@
1
- declare const _default: __VLS_WithSlots<import("vue").DefineComponent<globalThis.ExtractPropTypes<{
1
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<globalThis.ExtractPropTypes<{
2
2
  modelValue: (StringConstructor | NumberConstructor | DateConstructor)[];
3
3
  type: {
4
4
  type: PropType<import("../VvInputText").InputType>;
@@ -500,6 +500,7 @@ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<globalThis
500
500
  value: string;
501
501
  }) => any;
502
502
  }>;
503
+ declare const _default: typeof __VLS_export;
503
504
  export default _default;
504
505
  type __VLS_WithSlots<T, S> = T & {
505
506
  new (): {
@@ -1,438 +1 @@
1
- import { inject, defineComponent, getCurrentInstance, ref, watch, computed, resolveComponent, createBlock, openBlock, resolveDynamicComponent, unref, mergeProps, withCtx, renderSlot, createTextVNode, toDisplayString, createElementBlock, createVNode, toRefs, normalizeClass, createElementVNode, withModifiers, Fragment, renderList, toHandlers } from "vue";
2
- var StorageType = /* @__PURE__ */ ((StorageType2) => {
3
- StorageType2["local"] = "local";
4
- StorageType2["session"] = "session";
5
- return StorageType2;
6
- })(StorageType || {});
7
- var Side = /* @__PURE__ */ ((Side2) => {
8
- Side2["left"] = "left";
9
- Side2["right"] = "right";
10
- Side2["top"] = "top";
11
- Side2["bottom"] = "bottom";
12
- return Side2;
13
- })(Side || {});
14
- var Position = /* @__PURE__ */ ((Position2) => {
15
- Position2["before"] = "before";
16
- Position2["after"] = "after";
17
- return Position2;
18
- })(Position || {});
19
- var ButtonType = /* @__PURE__ */ ((ButtonType2) => {
20
- ButtonType2["button"] = "button";
21
- ButtonType2["submit"] = "submit";
22
- ButtonType2["reset"] = "reset";
23
- return ButtonType2;
24
- })(ButtonType || {});
25
- var ActionTag = /* @__PURE__ */ ((ActionTag2) => {
26
- ActionTag2["nuxtLink"] = "nuxt-link";
27
- ActionTag2["routerLink"] = "router-link";
28
- ActionTag2["a"] = "a";
29
- ActionTag2["button"] = "button";
30
- return ActionTag2;
31
- })(ActionTag || {});
32
- const INJECTION_KEY_VOLVER = Symbol.for("volver");
33
- const INJECTION_KEY_DROPDOWN_TRIGGER = Symbol.for(
34
- "dropdownTrigger"
35
- );
36
- const INJECTION_KEY_DROPDOWN_ACTION = Symbol.for(
37
- "dropdownAction"
38
- );
39
- const LinkProps = {
40
- /**
41
- * The router-link/nuxt-link property, if it is defined the button is rendered as a ruouter-link or nuxt-link.
42
- * @see Documentation of [router-link](https://router.vuejs.org/api/#router-link) and [nuxt-link](https://nuxtjs.org/api/components-nuxt-link/)
43
- */
44
- to: {
45
- type: [String, Object]
46
- },
47
- /**
48
- * Anchor href
49
- */
50
- href: String,
51
- /**
52
- * Anchor target
53
- */
54
- target: String,
55
- /**
56
- * Anchor rel
57
- */
58
- rel: {
59
- type: String,
60
- default: "noopener noreferrer"
61
- }
62
- };
63
- const DisabledProps = {
64
- /**
65
- * Whether the form control is disabled
66
- */
67
- disabled: {
68
- type: Boolean,
69
- default: false
70
- }
71
- };
72
- const ActiveProps = {
73
- /**
74
- * Whether the item is active
75
- */
76
- active: {
77
- type: Boolean,
78
- default: false
79
- }
80
- };
81
- const CurrentProps = {
82
- /**
83
- * Whether the item is current
84
- */
85
- current: {
86
- type: Boolean,
87
- default: false
88
- }
89
- };
90
- const PressedProps = {
91
- /**
92
- * Whether the item is pressed
93
- */
94
- pressed: {
95
- type: Boolean,
96
- default: false
97
- }
98
- };
99
- const LabelProps = {
100
- /**
101
- * The item label
102
- */
103
- label: {
104
- type: [String, Number],
105
- default: void 0
106
- }
107
- };
108
- const ModifiersProps = {
109
- /**
110
- * Component BEM modifiers
111
- */
112
- modifiers: {
113
- type: [String, Array],
114
- default: void 0
115
- }
116
- };
117
- ({
118
- /**
119
- * VvIcon position
120
- */
121
- iconPosition: {
122
- default: Position.before
123
- }
124
- });
125
- ({
126
- /**
127
- * Dropdown placement
128
- */
129
- placement: {
130
- default: Side.bottom
131
- }
132
- });
133
- const ActionProps = {
134
- ...DisabledProps,
135
- ...LabelProps,
136
- ...PressedProps,
137
- ...ActiveProps,
138
- ...CurrentProps,
139
- ...LinkProps,
140
- /**
141
- * Button type
142
- */
143
- type: {
144
- type: String,
145
- default: ButtonType.button,
146
- validator: (value) => Object.values(ButtonType).includes(value)
147
- },
148
- /**
149
- * Button aria-label
150
- */
151
- ariaLabel: {
152
- type: String,
153
- default: void 0
154
- },
155
- /**
156
- * Default tag for the action
157
- */
158
- defaultTag: {
159
- type: String,
160
- default: ActionTag.button
161
- }
162
- };
163
- const NavProps = {
164
- items: {
165
- type: Array,
166
- default: () => []
167
- }
168
- };
169
- ({
170
- storageType: {
171
- default: StorageType.local
172
- }
173
- });
174
- const VvNavProps = {
175
- ...ModifiersProps,
176
- ...NavProps
177
- };
178
- const VvNavEvents = ["click"];
179
- const VvActionEvents = ["click", "mouseover", "mouseleave"];
180
- const VvActionProps = ActionProps;
181
- function useVolver() {
182
- return inject(INJECTION_KEY_VOLVER, void 0);
183
- }
184
- function useInjectedDropdownTrigger() {
185
- return inject(INJECTION_KEY_DROPDOWN_TRIGGER, {});
186
- }
187
- function useInjectedDropdownAction() {
188
- return inject(INJECTION_KEY_DROPDOWN_ACTION, {});
189
- }
190
- const __default__$2 = {
191
- name: "VvAction"
192
- };
193
- const _sfc_main$2 = /* @__PURE__ */ defineComponent({
194
- ...__default__$2,
195
- props: VvActionProps,
196
- emits: VvActionEvents,
197
- setup(__props, { expose: __expose, emit: __emit }) {
198
- const props = __props;
199
- const emit = __emit;
200
- const instance = getCurrentInstance();
201
- const volver = useVolver();
202
- const element = ref(null);
203
- __expose({ $el: element });
204
- const {
205
- reference: dropdownTriggerReference,
206
- bus: dropdownEventBus,
207
- aria: dropdownAria,
208
- expanded: dropdownExpanded
209
- } = useInjectedDropdownTrigger();
210
- watch(
211
- () => element.value,
212
- (newValue) => {
213
- if (dropdownTriggerReference) {
214
- dropdownTriggerReference.value = newValue;
215
- }
216
- }
217
- );
218
- const pressed = computed(() => {
219
- return props.pressed || dropdownExpanded?.value;
220
- });
221
- const { role } = useInjectedDropdownAction();
222
- const hasTag = computed(() => {
223
- switch (true) {
224
- case props.disabled:
225
- return ActionTag.button;
226
- case props.to !== void 0:
227
- return volver?.nuxt ? resolveComponent(ActionTag.nuxtLink) : ActionTag.routerLink;
228
- case props.href !== void 0:
229
- return ActionTag.a;
230
- default:
231
- return props.defaultTag;
232
- }
233
- });
234
- const hasProps = computed(() => {
235
- const toReturn = {
236
- ...dropdownAria?.value,
237
- ariaPressed: pressed.value ? true : void 0,
238
- ariaLabel: props.ariaLabel,
239
- role: role?.value
240
- };
241
- switch (hasTag.value) {
242
- case ActionTag.a:
243
- return {
244
- ...toReturn,
245
- href: props.href,
246
- target: props.target,
247
- rel: props.rel
248
- };
249
- case ActionTag.routerLink:
250
- case ActionTag.nuxtLink:
251
- return {
252
- ...toReturn,
253
- to: props.to,
254
- target: props.target
255
- };
256
- case ActionTag.button:
257
- return {
258
- ...toReturn,
259
- type: props.type,
260
- disabled: props.disabled
261
- };
262
- default:
263
- return toReturn;
264
- }
265
- });
266
- function onClick(e) {
267
- if (props.disabled) {
268
- e.preventDefault();
269
- return;
270
- }
271
- if (instance?.vnode.props?.onClick) {
272
- emit("click", e);
273
- return;
274
- }
275
- dropdownEventBus?.emit("click", e);
276
- }
277
- function onMouseover(e) {
278
- if (instance?.vnode.props?.onMouseover) {
279
- emit("mouseover", e);
280
- return;
281
- }
282
- dropdownEventBus?.emit("mouseover", e);
283
- }
284
- function onMouseleave(e) {
285
- if (instance?.vnode.props?.onMouseleave) {
286
- emit("mouseleave", e);
287
- return;
288
- }
289
- dropdownEventBus?.emit("mouseleave", e);
290
- }
291
- return (_ctx, _cache) => {
292
- return openBlock(), createBlock(resolveDynamicComponent(unref(hasTag)), mergeProps(unref(hasProps), {
293
- ref_key: "element",
294
- ref: element,
295
- class: {
296
- active: _ctx.active,
297
- pressed: unref(pressed),
298
- disabled: _ctx.disabled,
299
- current: _ctx.current
300
- },
301
- onClickPassive: onClick,
302
- onMouseoverPassive: onMouseover,
303
- onMouseleavePassive: onMouseleave
304
- }), {
305
- default: withCtx(() => [
306
- renderSlot(_ctx.$slots, "default", {}, () => [
307
- createTextVNode(
308
- toDisplayString(_ctx.label),
309
- 1
310
- /* TEXT */
311
- )
312
- ])
313
- ]),
314
- _: 3
315
- /* FORWARDED */
316
- }, 16, ["class"]);
317
- };
318
- }
319
- });
320
- const _hoisted_1 = {
321
- class: "vv-nav__item",
322
- role: "presentation"
323
- };
324
- const __default__$1 = {
325
- name: "VvNavItem",
326
- inheritAttrs: false
327
- };
328
- const _sfc_main$1 = /* @__PURE__ */ defineComponent({
329
- ...__default__$1,
330
- setup(__props) {
331
- return (_ctx, _cache) => {
332
- return openBlock(), createElementBlock("li", _hoisted_1, [
333
- renderSlot(_ctx.$slots, "before"),
334
- createVNode(
335
- _sfc_main$2,
336
- mergeProps(_ctx.$attrs, {
337
- class: "vv-nav__item-label",
338
- role: "menuitem"
339
- }),
340
- {
341
- default: withCtx(() => [
342
- renderSlot(_ctx.$slots, "default")
343
- ]),
344
- _: 3
345
- /* FORWARDED */
346
- },
347
- 16
348
- /* FULL_PROPS */
349
- ),
350
- renderSlot(_ctx.$slots, "after")
351
- ]);
352
- };
353
- }
354
- });
355
- function useModifiers(prefix, modifiers, others) {
356
- return computed(() => {
357
- const toReturn = {
358
- [prefix]: true
359
- };
360
- const modifiersArray = typeof modifiers?.value === "string" ? modifiers.value.split(" ") : modifiers?.value;
361
- if (modifiersArray) {
362
- if (Array.isArray(modifiersArray)) {
363
- modifiersArray.forEach((modifier) => {
364
- if (modifier) {
365
- toReturn[`${prefix}--${modifier}`] = true;
366
- }
367
- });
368
- }
369
- }
370
- return toReturn;
371
- });
372
- }
373
- const __default__ = {
374
- name: "VvNav"
375
- };
376
- const _sfc_main = /* @__PURE__ */ defineComponent({
377
- ...__default__,
378
- props: VvNavProps,
379
- emits: VvNavEvents,
380
- setup(__props, { emit: __emit }) {
381
- const props = __props;
382
- const emit = __emit;
383
- const { modifiers } = toRefs(props);
384
- function onClick(event) {
385
- const target = event.target;
386
- if (target?.dataset.index) {
387
- const index = Number.parseInt(target.dataset.index);
388
- const item = props.items?.[index];
389
- if (!item || item?.disabled) {
390
- return;
391
- }
392
- emit("click", item);
393
- }
394
- }
395
- const bemCssClasses = useModifiers("vv-nav", modifiers);
396
- return (_ctx, _cache) => {
397
- return openBlock(), createElementBlock(
398
- "nav",
399
- {
400
- class: normalizeClass(unref(bemCssClasses))
401
- },
402
- [
403
- createElementVNode("ul", {
404
- class: "vv-nav__menu",
405
- role: "menu",
406
- onClick: withModifiers(onClick, ["stop"])
407
- }, [
408
- renderSlot(_ctx.$slots, "default", {}, () => [
409
- (openBlock(true), createElementBlock(
410
- Fragment,
411
- null,
412
- renderList(_ctx.items, ({ on = {}, data, ...item }, index) => {
413
- return openBlock(), createBlock(_sfc_main$1, mergeProps({
414
- key: index,
415
- "data-index": index
416
- }, { ref_for: true }, item, toHandlers(on)), {
417
- default: withCtx(() => [
418
- renderSlot(_ctx.$slots, "item", mergeProps({ ref_for: true }, { item, data, index }))
419
- ]),
420
- _: 2
421
- /* DYNAMIC */
422
- }, 1040, ["data-index"]);
423
- }),
424
- 128
425
- /* KEYED_FRAGMENT */
426
- ))
427
- ])
428
- ])
429
- ],
430
- 2
431
- /* CLASS */
432
- );
433
- };
434
- }
435
- });
436
- export {
437
- _sfc_main as default
438
- };
1
+ import{inject as e,defineComponent as t,getCurrentInstance as r,ref as a,watch as o,computed as n,resolveComponent as s,createBlock as l,openBlock as i,resolveDynamicComponent as u,unref as d,mergeProps as c,withCtx as v,renderSlot as f,createTextVNode as p,toDisplayString as m,createElementBlock as b,createVNode as y,toRefs as g,normalizeClass as k,createElementVNode as x,withModifiers as S,Fragment as _,renderList as h,toHandlers as $}from"vue";var L=/* @__PURE__ */(e=>(e.local="local",e.session="session",e))(L||{}),A=/* @__PURE__ */(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(A||{}),w=/* @__PURE__ */(e=>(e.before="before",e.after="after",e))(w||{}),B=/* @__PURE__ */(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(B||{}),M=/* @__PURE__ */(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(M||{});const N=Symbol.for("volver"),P=Symbol.for("dropdownTrigger"),C=Symbol.for("dropdownAction"),T={to:{type:[String,Object]},href:String,target:String,rel:{type:String,default:"noopener noreferrer"}},V={disabled:{type:Boolean,default:!1}},j={active:{type:Boolean,default:!1}},I={current:{type:Boolean,default:!1}},O={pressed:{type:Boolean,default:!1}},D={label:{type:[String,Number],default:void 0}},E={modifiers:{type:[String,Array],default:void 0}};w.before,A.bottom;const q={...V,...D,...O,...j,...I,...T,type:{type:String,default:B.button,validator:e=>Object.values(B).includes(e)},ariaLabel:{type:String,default:void 0},defaultTag:{type:String,default:M.button}},z={items:{type:Array,default:()=>[]}};L.local;const F={...E,...z};const G=/* @__PURE__ */t({name:"VvAction",props:q,emits:["click","mouseover","mouseleave"],setup(t,{expose:b,emit:y}){const g=t,k=y,x=r(),S=e(N,void 0),_=a(null);b({$el:_});const{reference:h,bus:$,aria:L,expanded:A}=e(P,{});o(()=>_.value,e=>{h&&(h.value=e)});const w=n(()=>g.pressed||A?.value),{role:B}=e(C,{}),T=n(()=>{switch(!0){case g.disabled:return M.button;case void 0!==g.to:return S?.nuxt?s(M.nuxtLink):M.routerLink;case void 0!==g.href:return M.a;default:return g.defaultTag}}),V=n(()=>{const e={...L?.value,ariaPressed:!!w.value||void 0,ariaLabel:g.ariaLabel,role:B?.value};switch(T.value){case M.a:return{...e,href:g.href,target:g.target,rel:g.rel};case M.routerLink:case M.nuxtLink:return{...e,to:g.to,target:g.target};case M.button:return{...e,type:g.type,disabled:g.disabled};default:return e}});function j(e){g.disabled?e.preventDefault():x?.vnode.props?.onClick?k("click",e):$?.emit("click",e)}function I(e){x?.vnode.props?.onMouseover?k("mouseover",e):$?.emit("mouseover",e)}function O(e){x?.vnode.props?.onMouseleave?k("mouseleave",e):$?.emit("mouseleave",e)}return(e,t)=>(i(),l(u(d(T)),c(d(V),{ref_key:"element",ref:_,class:{active:e.active,pressed:d(w),disabled:e.disabled,current:e.current},onClickPassive:j,onMouseoverPassive:I,onMouseleavePassive:O}),{default:v(()=>[f(e.$slots,"default",{},()=>[p(m(e.label),1)])]),_:3},16,["class"]))}}),H={class:"vv-nav__item",role:"presentation"},J=/* @__PURE__ */t({name:"VvNavItem",inheritAttrs:!1,setup:e=>(e,t)=>(i(),b("li",H,[f(e.$slots,"before"),y(G,c(e.$attrs,{class:"vv-nav__item-label",role:"menuitem"}),{default:v(()=>[f(e.$slots,"default")]),_:3},16),f(e.$slots,"after")]))});const K=/* @__PURE__ */t({name:"VvNav",props:F,emits:["click"],setup(e,{emit:t}){const r=e,a=t,{modifiers:o}=g(r);function s(e){const t=e.target;if(t?.dataset.index){const e=Number.parseInt(t.dataset.index),o=r.items?.[e];if(!o||o?.disabled)return;a("click",o)}}const u=function(e,t){return n(()=>{const r={[e]:!0},a="string"==typeof t?.value?t.value.split(" "):t?.value;return a&&Array.isArray(a)&&a.forEach(t=>{t&&(r[`${e}--${t}`]=!0)}),r})}("vv-nav",o);return(e,t)=>(i(),b("nav",{class:k(d(u))},[x("ul",{class:"vv-nav__menu",role:"menu",onClick:S(s,["stop"])},[f(e.$slots,"default",{},()=>[(i(!0),b(_,null,h(e.items,({on:t={},data:r,...a},o)=>(i(),l(J,c({key:o,"data-index":o},{ref_for:!0},a,$(t)),{default:v(()=>[f(e.$slots,"item",c({ref_for:!0},{item:a,data:r,index:o}))]),_:2},1040,["data-index"]))),128))])])],2))}});export{K as default};
@@ -1,4 +1,4 @@
1
- declare const _default: __VLS_WithSlots<import("vue").DefineComponent<globalThis.ExtractPropTypes<{
1
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<globalThis.ExtractPropTypes<{
2
2
  items: {
3
3
  type: PropType<import("../../index.js").NavItem[]>;
4
4
  default: () => never[];
@@ -39,6 +39,7 @@ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<globalThis
39
39
  index: number;
40
40
  }) => any;
41
41
  }>;
42
+ declare const _default: typeof __VLS_export;
42
43
  export default _default;
43
44
  type __VLS_WithSlots<T, S> = T & {
44
45
  new (): {