@volverjs/ui-vue 0.0.10-beta.25 → 0.0.10-beta.26

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 (119) hide show
  1. package/auto-imports.d.ts +1 -0
  2. package/dist/components/VvAccordion/VvAccordion.es.js +14 -12
  3. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
  4. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +91 -38
  5. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
  6. package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +13 -2
  7. package/dist/components/VvAccordionGroup/index.d.ts +6 -4
  8. package/dist/components/VvAction/VvAction.es.js +14 -12
  9. package/dist/components/VvAction/VvAction.umd.js +1 -1
  10. package/dist/components/VvAction/VvAction.vue.d.ts +2 -11
  11. package/dist/components/VvAction/index.d.ts +1 -5
  12. package/dist/components/VvAlert/VvAlert.es.js +14 -12
  13. package/dist/components/VvAlert/VvAlert.umd.js +1 -1
  14. package/dist/components/VvAlertGroup/VvAlertGroup.es.js +14 -12
  15. package/dist/components/VvAlertGroup/VvAlertGroup.umd.js +1 -1
  16. package/dist/components/VvAvatar/VvAvatar.es.js +14 -12
  17. package/dist/components/VvAvatar/VvAvatar.umd.js +1 -1
  18. package/dist/components/VvAvatarGroup/VvAvatarGroup.es.js +14 -12
  19. package/dist/components/VvAvatarGroup/VvAvatarGroup.umd.js +1 -1
  20. package/dist/components/VvBadge/VvBadge.es.js +14 -12
  21. package/dist/components/VvBadge/VvBadge.umd.js +1 -1
  22. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +14 -12
  23. package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
  24. package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +1 -1
  25. package/dist/components/VvButton/VvButton.es.js +14 -12
  26. package/dist/components/VvButton/VvButton.umd.js +1 -1
  27. package/dist/components/VvButton/VvButton.vue.d.ts +2 -19
  28. package/dist/components/VvButton/index.d.ts +1 -5
  29. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +14 -12
  30. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
  31. package/dist/components/VvCard/VvCard.es.js +14 -12
  32. package/dist/components/VvCard/VvCard.umd.js +1 -1
  33. package/dist/components/VvCheckbox/VvCheckbox.es.js +14 -12
  34. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
  35. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +14 -12
  36. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
  37. package/dist/components/VvCombobox/VvCombobox.es.js +58 -34
  38. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  39. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +2 -8
  40. package/dist/components/VvCombobox/index.d.ts +9 -2
  41. package/dist/components/VvDialog/VvDialog.es.js +14 -12
  42. package/dist/components/VvDialog/VvDialog.umd.js +1 -1
  43. package/dist/components/VvDropdown/VvDropdown.es.js +24 -16
  44. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  45. package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +2 -19
  46. package/dist/components/VvDropdown/VvDropdownItem.vue.d.ts +13 -1
  47. package/dist/components/VvDropdown/VvDropdownOption.vue.d.ts +9 -0
  48. package/dist/components/VvDropdown/index.d.ts +37 -0
  49. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +64 -15
  50. package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -1
  51. package/dist/components/VvDropdownItem/VvDropdownItem.es.js +322 -1
  52. package/dist/components/VvDropdownItem/VvDropdownItem.umd.js +1 -1
  53. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.es.js +14 -12
  54. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.umd.js +1 -1
  55. package/dist/components/VvDropdownOption/VvDropdownOption.es.js +131 -76
  56. package/dist/components/VvDropdownOption/VvDropdownOption.umd.js +1 -1
  57. package/dist/components/VvInputFile/VvInputFile.es.js +14 -12
  58. package/dist/components/VvInputFile/VvInputFile.umd.js +1 -1
  59. package/dist/components/VvInputFile/index.d.ts +5 -5
  60. package/dist/components/VvInputText/VvInputText.es.js +979 -107
  61. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  62. package/dist/components/VvInputText/VvInputText.vue.d.ts +44 -1
  63. package/dist/components/VvInputText/index.d.ts +28 -0
  64. package/dist/components/VvNav/VvNav.es.js +14 -12
  65. package/dist/components/VvNav/VvNav.umd.js +1 -1
  66. package/dist/components/VvNav/VvNav.vue.d.ts +1 -1
  67. package/dist/components/VvNavItem/VvNavItem.es.js +14 -12
  68. package/dist/components/VvNavItem/VvNavItem.umd.js +1 -1
  69. package/dist/components/VvProgress/VvProgress.es.js +14 -12
  70. package/dist/components/VvProgress/VvProgress.umd.js +1 -1
  71. package/dist/components/VvRadio/VvRadio.es.js +14 -12
  72. package/dist/components/VvRadio/VvRadio.umd.js +1 -1
  73. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +14 -12
  74. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
  75. package/dist/components/VvSelect/VvSelect.es.js +14 -12
  76. package/dist/components/VvSelect/VvSelect.umd.js +1 -1
  77. package/dist/components/VvTab/VvTab.es.js +14 -12
  78. package/dist/components/VvTab/VvTab.umd.js +1 -1
  79. package/dist/components/VvTab/VvTab.vue.d.ts +1 -1
  80. package/dist/components/VvTextarea/VvTextarea.es.js +14 -12
  81. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
  82. package/dist/components/VvTooltip/VvTooltip.es.js +14 -12
  83. package/dist/components/VvTooltip/VvTooltip.umd.js +1 -1
  84. package/dist/components/index.es.js +357 -144
  85. package/dist/components/index.umd.js +1 -1
  86. package/dist/composables/dropdown/useInjectDropdown.d.ts +3 -23
  87. package/dist/composables/dropdown/useProvideDropdown.d.ts +2 -3
  88. package/dist/composables/usePersistence.d.ts +3 -0
  89. package/dist/constants.d.ts +24 -21
  90. package/dist/directives/index.es.js +14 -12
  91. package/dist/directives/index.umd.js +1 -1
  92. package/dist/directives/v-tooltip.es.js +14 -12
  93. package/dist/directives/v-tooltip.umd.js +1 -1
  94. package/dist/icons.es.js +3 -3
  95. package/dist/icons.umd.js +1 -1
  96. package/dist/props/index.d.ts +11 -11
  97. package/dist/stories/AccordionGroup/AccordionGroup.stories.d.ts +27 -4
  98. package/dist/stories/AccordionGroup/AccordionGroupSlots.stories.d.ts +176 -29
  99. package/dist/stories/Button/Button.settings.d.ts +0 -1
  100. package/dist/types/nav.d.ts +1 -2
  101. package/package.json +1 -1
  102. package/src/assets/icons/detailed.json +1 -1
  103. package/src/assets/icons/normal.json +1 -1
  104. package/src/assets/icons/simple.json +1 -1
  105. package/src/components/VvAccordionGroup/VvAccordionGroup.vue +13 -19
  106. package/src/components/VvAccordionGroup/index.ts +2 -5
  107. package/src/components/VvCombobox/VvCombobox.vue +2 -0
  108. package/src/components/VvDropdown/VvDropdown.vue +11 -2
  109. package/src/components/VvDropdown/VvDropdownItem.vue +4 -1
  110. package/src/components/VvDropdown/VvDropdownOption.vue +3 -21
  111. package/src/components/VvDropdown/index.ts +35 -1
  112. package/src/components/VvInputText/VvInputText.vue +98 -3
  113. package/src/components/VvInputText/index.ts +24 -1
  114. package/src/composables/dropdown/useProvideDropdown.ts +4 -4
  115. package/src/composables/usePersistence.ts +76 -0
  116. package/src/constants.ts +23 -18
  117. package/src/props/index.ts +12 -7
  118. package/src/stories/Button/Button.settings.ts +1 -4
  119. package/src/types/nav.ts +1 -3
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("vue-imask"),require("@iconify/vue"),require("uid"),require("@vueuse/core")):"function"==typeof define&&define.amd?define(["vue","vue-imask","@iconify/vue","uid","@vueuse/core"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvInputText=t(e.vue,e.vueImask,e.vue$1,e.uid,e.core)}(this,(function(e,t,l,o,a){"use strict";function n(t){return null==(l=e.unref(t))||""===l||Array.isArray(l)&&0===l.length||!(l instanceof Date)&&"object"==typeof l&&0===Object.keys(l).length;var l}function i(e){return Array.isArray(e)?e.filter((e=>{return"string"==typeof(t=e)||t instanceof String;var t})).join(" "):e}const u="eye-on",r="eye-off",d="calendar",s="time",v="color",c="close",p={prefix:"normal"};var f=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",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||{});const y=Symbol.for("volver");function g(){return e.inject(y)}function S(t,l,o){return e.computed((()=>{const a={[t]:!0},n="string"==typeof(null==l?void 0:l.value)?l.value.split(" "):null==l?void 0:l.value;return n&&Array.isArray(n)&&n.forEach((e=>{e&&(a[`${t}--${e}`]=!0)})),o&&Object.keys(o.value).forEach((l=>{a[`${t}--${l}`]=e.unref(o.value[l])})),a}))}const w=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:{}},p),setup(t){const o=t,a=e.computed((()=>"string"==typeof o.rotate?parseFloat(o.rotate):o.rotate)),n=e.ref(!0),i=g(),{modifiers:u}=e.toRefs(o),r=S("vv-icon",u),d=e.computed((()=>o.provider||(null==i?void 0:i.iconsProvider))),s=e.computed((()=>{const e=o.name??"",t=`@${d.value}:${o.prefix}:${e}`;if(l.iconExists(t))return t;const a=null==i?void 0:i.iconsCollections.find((t=>{const o=`@${d.value}:${t.prefix}:${e}`;return l.iconExists(o)}));return a?`@${d.value}:${a.prefix}:${e}`:e}));function v(e){const t=function(e){let t;if("undefined"==typeof window){const{JSDOM:e}=require("jsdom");t=(new e).window}return(t?new t.DOMParser:new window.DOMParser).parseFromString(e,"text/html").querySelector("svg")}(e),a=(null==t?void 0:t.innerHTML.trim())||"";t&&a&&l.addIcon(`@${d.value}:${o.prefix}:${o.name}`,{body:a,height:t.viewBox.baseVal.height,width:t.viewBox.baseVal.width})}return i&&o.src&&!l.iconExists(`@${d.value}:${o.prefix}:${o.name}`)&&(n.value=!1,i.fetchIcon(o.src).then((e=>{e&&(v(e),n.value=!0)})).catch((e=>{throw new Error(`Error during fetch icon: ${null==e?void 0:e.message}`)}))),o.svg&&v(o.svg),(t,o)=>e.unref(n)?(e.openBlock(),e.createBlock(e.unref(l.Icon),e.mergeProps({key:0,class:e.unref(r)},{inline:t.inline,width:t.width,height:t.height,horizontalFlip:t.horizontalFlip,verticalFlip:t.verticalFlip,flip:t.flip,rotate:e.unref(a),color:t.color,onLoad:t.onLoad,icon:e.unref(s)}),null,16,["class"])):e.createCommentVNode("v-if",!0)}}),k={valid:{type:Boolean,default:!1},validLabel:{type:[String,Array],default:void 0}},L={invalid:{type:Boolean,default:!1},invalidLabel:{type:[String,Array],default:void 0}},E={loading:{type:Boolean,default:!1},loadingLabel:{type:String,default:"Loading..."}},B={disabled:{type:Boolean,default:!1}},x=(Boolean,Boolean,Boolean,{label:{type:[String,Number],default:void 0}}),$={readonly:{type:Boolean,default:!1}},T={modifiers:{type:[String,Array],default:void 0}},A={hintLabel:{type:String,default:""}},I={count:{type:[Boolean,String],default:!1,validator:e=>[!0,!1,"limit","countdown"].includes(e)}},P={debounce:{type:[Number,String],default:void 0}},O={icon:{type:[String,Object],default:void 0},iconPosition:{type:String,default:m.before,validation:e=>Object.values(m).includes(e)}},C={tabindex:{type:[String,Number],default:0}},D={floating:{type:Boolean,default:!1}},V={id:[String,Number]};f.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;const _={...{...V,name:{type:String,required:!0}},...{autofocus:{type:Boolean,default:!1}},...{autocomplete:{type:String,default:"off"}},...C,...B,...$,...k,...L,...A,...E,...T,...I,...P,...O,...D,...x,minlength:{type:[String,Number],default:void 0},maxlength:{type:[String,Number],default:void 0},placeholder:{type:String,default:void 0},required:{type:Boolean,default:!1}};h.button,b.button;const N={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"},M={..._,modelValue:[String,Number],type:{type:String,default:N.TEXT,validator:e=>Object.values(N).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:u},iconHidePassword:{type:[String,Object],default:r},iconClear:{type:[String,Object],default:c},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"},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}};function R(t,l){const o=e.computed((()=>"string"==typeof(null==t?void 0:t.value)?{name:null==t?void 0:t.value}:null==t?void 0:t.value)),a=e.computed((()=>(null==l?void 0:l.value)===m.before?o.value:void 0)),n=e.computed((()=>(null==l?void 0:l.value)===m.after?o.value:void 0)),i=e.computed((()=>(null==l?void 0:l.value)===f.left?o.value:void 0)),u=e.computed((()=>(null==l?void 0:l.value)===f.right?o.value:void 0)),r=e.computed((()=>(null==l?void 0:l.value)===f.top?o.value:void 0)),d=e.computed((()=>(null==l?void 0:l.value)===f.bottom?o.value:void 0));return{hasIcon:o,hasIconLeft:i,hasIconRight:u,hasIconTop:r,hasIconBottom:d,hasIconBefore:a,hasIconAfter:n}}const H=e.defineComponent({components:{VvIcon:w},props:{disabled:{type:Boolean,default:!1},labelShow:{type:String,default:"Show password"},labelHide:{type:String,default:"Hide password"},iconShow:{type:[String,Object],default:u},iconHide:{type:[String,Object],default:r}},emits:["toggle-password"],setup(t,{emit:l}){const o=e.ref(!1),a=e.computed((()=>o.value?t.iconHide:t.iconShow)),{hasIcon:n}=R(a);return{active:o,activeIcon:a,hasIcon:n,onClick:function(e){null==e||e.stopPropagation(),t.disabled||(o.value=!o.value,l("toggle-password",o.value))}}},render(){const t=this.hasIcon?e.h(w,{...this.hasIcon,class:"vv-input-text__icon"}):void 0;return e.h("button",{disabled:this.disabled,class:"vv-input-text__action",ariaLabel:this.active?this.labelHide:this.labelShow,type:"button",onClick:this.onClick},t)}}),U=e.defineComponent({components:{VvIcon:w},props:{disabled:{type:Boolean,default:!1},label:{type:String},mode:{type:String,validator:e=>["up","down"].includes(e),default:"up"}},emits:["step-up","step-down"],setup(t,{emit:l}){const o=e.computed((()=>"up"===t.mode));return{isUp:o,onClick:e=>{null==e||e.stopPropagation(),t.disabled||l(o.value?"step-up":"step-down")}}},render(){return e.h("button",{class:["vv-input-text__action vv-input-text__action-chevron",this.isUp&&"vv-input-text__action-chevron-up"],disabled:this.disabled,ariaLabel:this.label,type:"button",onClick:this.onClick})}}),j=e.defineComponent({components:{VvIcon:w},props:{disabled:{type:Boolean,default:!1},label:{type:String,default:"Clear"},icon:{type:[String,Object],default:"close"}},emits:["clear"],setup(t,{emit:l}){const{hasIcon:o}=R(e.computed((()=>t.icon)));return{hasIcon:o,onClick:function(e){null==e||e.stopPropagation(),t.disabled||l("clear")}}},render(){const t=this.hasIcon?e.h(w,{...this.hasIcon,class:"vv-input-text__icon"}):void 0;return e.h("button",{disabled:this.disabled,class:"vv-input-text__action",ariaLabel:this.label,type:"button",onClick:this.onClick},t)}});function F(t,l){return{name:"VvInputTextActions",components:{VvIcon:w,VvInputPasswordAction:H,VvInputStepAction:U,VvInputClearAction:j},setup:()=>({isDisabled:e.computed((()=>l.disabled||l.readonly)),labelStepUp:l.labelStepUp,labelStepDown:l.labelStepDown,labelShowPassword:l.labelShowPassword,labelHidePassword:l.labelHidePassword,labelClear:l.labelClear,iconShowPassword:l.iconShowPassword,iconHidePassword:l.iconHidePassword}),render(){let o=null;switch(t){case N.SEARCH:{const{onClear:t}=this.$attrs;o=[e.h(j,{disabled:this.isDisabled,label:this.labelShowPassword,onClear:t})];break}case N.PASSWORD:{const{onTogglePassword:t}=this.$attrs;o=[e.h(H,{disabled:this.isDisabled,onTogglePassword:t,labelShow:this.labelShowPassword,labelHide:this.labelHidePassword,iconShow:this.iconShowPassword,iconHide:this.iconHidePassword})];break}case N.NUMBER:{const{onStepUp:t,onStepDown:a}=this.$attrs;o=[e.h(U,{mode:"up",disabled:this.isDisabled||void 0!==l.max&&l.modelValue===l.max,label:this.labelStepUp,onStepUp:t,onStepDown:a}),e.h(U,{mode:"down",disabled:this.isDisabled||void 0!==l.min&&l.modelValue===l.min,label:this.labelStepDown,onStepUp:t,onStepDown:a})];break}}return Array.isArray(o)?e.h("div",{class:"vv-input-text__actions-group"},o):o}}}const W=["for"],z={class:"vv-input-text__wrapper"},q={key:0,class:"vv-input-text__input-before"},K=["id"],X={key:1,class:"vv-input-text__unit"},J={key:5,class:"vv-input-text__input-after"},Y={key:6,class:"vv-input-text__limit"};return e.defineComponent({name:"VvInputText",props:M,emits:["update:modelValue","update:masked","accept","accept:typed","accept:masked","accept:unmasked","complete","complete:typed","complete:masked","complete:unmasked","focus","blur","keyup","keydown","keypress"],setup(l,{expose:u,emit:r}){const c=l,p=r,f=e.useSlots(),m=function(t,l,o){const a=g(),n=e.computed((()=>{var e;if(a&&(null==(e=a.defaults.value)?void 0:e[t]))return a.defaults.value[t]}));return e.computed((()=>{if(void 0===n.value)return o;const e=n.value,t=l,a=o;return Object.keys(t).reduce(((l,o)=>{const n=a[o];if(l[o]=n,o in e){if(Array.isArray(t[o])){const a=t[o];a.length&&a[0]===n&&(l[o]=e[o])}if("function"==typeof t[o]&&(0,t[o])()===n&&(l[o]=e[o]),"object"==typeof t[o]){let a=t[o].default;"function"==typeof a&&(a=a()),"object"==typeof a?JSON.stringify(a)===JSON.stringify(n)&&(l[o]=e[o]):a===n&&(l[o]=e[o])}}return l}),{})}))}("VvInputText",M,c),{id:h,icon:b,iconPosition:y,label:k,modelValue:L,count:E,valid:B,invalid:x,loading:$,debounce:T,maxlength:A,minlength:I,type:P,iMask:O,step:C}=e.toRefs(c),D=(t=>e.computed((()=>String((null==t?void 0:t.value)||o.uid()))))(h),V=e.computed((()=>`${D.value}-hint`)),_=e.computed((()=>c.floating&&n(c.placeholder)?" ":c.placeholder)),H=e.ref(!1),{el:U,mask:j,typed:G,masked:Q,unmasked:Z}=t.useIMask(e.computed((()=>(null==O?void 0:O.value)??{mask:/./})),{emit:p,onAccept:()=>{if(H.value){if(p("update:masked",Q.value),P.value===N.NUMBER){if(""===Q.value){if(null===le.value||void 0===le.value)return;return void(le.value=void 0)}return"number"!=typeof G.value?void(le.value=Number(G.value)):void(le.value=G.value)}if(P.value===N.DATE){if(U.value instanceof HTMLInputElement&&"date"===U.value.type)return void(le.value=U.value.value);let e=G.value;if(null===e||""===e){if(!le.value)return;return void(le.value="")}return e instanceof Date||(e=new Date(e)),void(le.value=`${e.getFullYear()}-${("0"+(e.getMonth()+1)).slice(-2)}-${("0"+e.getDate()).slice(-2)}`)}if(P.value===N.DATETIME_LOCAL){if(U.value instanceof HTMLInputElement&&"datetime-local"===U.value.type)return void(le.value=U.value.value);let e=G.value;if(null===e||""===e){if(!le.value)return;return void(le.value="")}return G.value instanceof Date||(e=new Date(e)),void(le.value=`${e.getFullYear()}-${("0"+(e.getMonth()+1)).slice(-2)}-${("0"+e.getDate()).slice(-2)}T${("0"+e.getHours()).slice(-2)}:${("0"+e.getMinutes()).slice(-2)}`)}(le.value||Z.value)&&(le.value=Z.value)}}});e.onMounted((()=>{j.value&&(H.value=!0,G.value=le.value??"")})),e.watch((()=>c.modelValue),(e=>{var t;j.value&&(G.value=e&&(null==(t=null==O?void 0:O.value)?void 0:t.mask)===Date?new Date(e):e??"")})),e.watch((()=>c.masked),(e=>{Q.value=e??""}));const ee=U,te=e.ref();u({$inner:te});const le=function(t,l,o=0,{getter:a=(e=>e),setter:n=(e=>e)}={}){let i;return"string"==typeof o&&(o=parseInt(o)),e.computed({get:()=>a(null==t?void 0:t.value),set:e=>{i&&clearTimeout(i),i=setTimeout((()=>{l("update:modelValue",n(e))}),o)}})}(L,p,(null==T?void 0:T.value)??0),{focused:oe}=function(t,l){const{focused:o}=a.useFocus(t);return e.watch(o,(o=>{l(o?"focus":"blur",e.unref(t))})),{focused:o}}(ee,p),ae=e.computed((()=>oe.value&&!c.disabled&&!c.readonly));e.watch(ae,(e=>{e&&m.value.selectOnFocus&&ee.value&&ee.value.select()}));const ne=a.useElementVisibility(ee);e.watch(ne,(e=>{e&&c.autofocus&&!c.disabled&&!c.readonly&&(oe.value=!0)}));const ie=e.ref(!1),ue=e.computed((()=>c.type===N.PASSWORD)),re=()=>{ie.value=!ie.value},de=e.computed((()=>c.type===N.TIME||c.type===N.DATETIME_LOCAL||c.type===N.DATE||c.type===N.WEEK||c.type===N.MONTH)),se=e.computed((()=>c.type===N.NUMBER)),ve=()=>{if(ge.value){if(null==O?void 0:O.value)return void(G.value=G.value+Number((null==C?void 0:C.value)??1));ee.value.stepUp(),le.value=Number(e.unref(ee).value)}},ce=()=>{if(ge.value){if(null==O?void 0:O.value)return void(G.value=G.value-Number((null==C?void 0:C.value)??1));ee.value.stepDown(),le.value=Number(e.unref(ee).value)}},pe=e.computed((()=>c.type===N.SEARCH)),fe=()=>{le.value=""},{hasIconBefore:me,hasIconAfter:he}=R(b,y),be=e.computed((()=>{if(void 0!==he.value)return he.value;switch(c.type){case N.COLOR:return{name:v};case N.DATE:case N.DATETIME_LOCAL:case N.WEEK:case N.MONTH:return{name:d};case N.TIME:return{name:s}}})),{formatted:ye}=function(t,l){const o=e.computed((()=>(e.unref(t)??"").length)),a=e.computed((()=>void 0!==(null==l?void 0:l.lowerLimit)&&o.value<(null==l?void 0:l.lowerLimit)?o.value-l.lowerLimit:void 0!==(null==l?void 0:l.upperLimit)&&o.value<(null==l?void 0:l.upperLimit)?l.upperLimit-o.value:0)),n=e.computed((()=>{if(!1===(null==l?void 0:l.mode))return"";if("limit"===(null==l?void 0:l.mode)&&(null==l?void 0:l.upperLimit))return`${o.value} / ${l.lowerLimit?`${l.lowerLimit}-`:""}${l.upperLimit}`;if("countdown"===(null==l?void 0:l.mode)){if(0===a.value)return;return a}return o.value}));return{length:o,gap:a,formatted:n}}(le,{mode:E.value,upperLimit:Number(null==A?void 0:A.value),lowerLimit:Number(null==I?void 0:I.value)}),ge=e.computed((()=>!c.disabled&&!c.readonly)),Se=e.computed((()=>ge.value?c.tabindex:-1)),we=e.computed((()=>!n(L))),ke=e.computed((()=>!0===x.value||!0!==B.value&&void 0)),{modifiers:Le}=e.toRefs(c),Ee=S("vv-input-text",Le,e.computed((()=>({valid:B.value,invalid:x.value,loading:$.value,disabled:c.disabled,readonly:c.readonly,"icon-before":!!me.value,"icon-after":!!be.value,floating:c.floating&&!n(c.label),dirty:we.value,focus:ae.value,"auto-width":c.autoWidth})))),Be=e.computed((()=>{const e=ue.value&&ie.value?N.TEXT:!de.value||we.value||oe.value?(null==O?void 0:O.value)?N.TEXT:c.type:N.TEXT,t={type:e,name:c.name,tabindex:Se.value,disabled:c.disabled,readonly:c.readonly,required:c.required,autocomplete:c.autocomplete,"aria-invalid":ke.value,"aria-describedby":Te.value?V.value:void 0,"aria-errormessage":Ae.value?V.value:void 0};return e!==N.DATE&&e!==N.MONTH&&e!==N.WEEK&&e!==N.TIME&&e!==N.DATETIME_LOCAL&&e!==N.NUMBER||(t.step=c.step,t.max=void 0!==c.max?String(c.max):void 0,t.min=void 0!==c.min?String(c.min):void 0),e!==N.TEXT&&e!==N.SEARCH&&e!==N.URL&&e!==N.TEL&&e!==N.EMAIL&&e!==N.PASSWORD&&e!==N.NUMBER||(t.placeholder=_.value),e!==N.TEXT&&e!==N.SEARCH&&e!==N.URL&&e!==N.TEL&&e!==N.EMAIL&&e!==N.PASSWORD||(t.minlength=c.minlength,t.maxlength=c.maxlength,t.pattern=c.pattern),e===N.EMAIL&&(t.multiple=c.multiple),t})),xe=e.computed((()=>({valid:c.valid,invalid:c.invalid,modelValue:c.modelValue,togglePassword:re,stepUp:ve,stepDown:ce,clear:fe}))),{HintSlot:$e,hasHintLabelOrSlot:Te,hasInvalidLabelOrSlot:Ae,hintSlotScope:Ie}=function(t,l){const o=e.computed((()=>e.isRef(t)?t.value:t)),a=e.computed((()=>i(o.value.invalidLabel))),n=e.computed((()=>i(o.value.validLabel))),u=e.computed((()=>o.value.loadingLabel)),r=e.computed((()=>o.value.hintLabel)),d=e.computed((()=>Boolean(o.value.loading&&(l.loading||u.value)))),s=e.computed((()=>!d.value&&Boolean(o.value.invalid&&(l.invalid||a.value)))),v=e.computed((()=>!d.value&&!s.value&&Boolean(o.value.valid&&(l.valid||n.value)))),c=e.computed((()=>!d.value&&!s.value&&!v.value&&Boolean(l.hint||r.value))),p=e.computed((()=>s.value||v.value||d.value||c.value)),f=e.computed((()=>({modelValue:o.value.modelValue,valid:o.value.valid,invalid:o.value.invalid,loading:o.value.loading}))),m=e.defineComponent({name:"HintSlot",props:{tag:{type:String,default:"small"}},setup:()=>({isVisible:p,invalidLabel:a,validLabel:n,loadingLabel:u,hintLabel:r,hasInvalidLabelOrSlot:s,hasValidLabelOrSlot:v,hasLoadingLabelOrSlot:d,hasHintLabelOrSlot:c}),render(){var t,l,o,a,n,i,u,r;if(this.isVisible){let d;return this.hasInvalidLabelOrSlot&&(d="alert"),this.hasValidLabelOrSlot&&(d="status"),this.hasLoadingLabelOrSlot?e.h(this.tag,{role:d},(null==(l=(t=this.$slots).loading)?void 0:l.call(t))??this.loadingLabel):this.hasInvalidLabelOrSlot?e.h(this.tag,{role:d},(null==(a=(o=this.$slots).invalid)?void 0:a.call(o))??this.$slots.invalid??this.invalidLabel):this.hasValidLabelOrSlot?e.h(this.tag,{role:d},(null==(i=(n=this.$slots).valid)?void 0:i.call(n))??this.validLabel):e.h(this.tag,{role:d},(null==(r=(u=this.$slots).hint)?void 0:r.call(u))??this.$slots.hint??this.hintLabel)}return null}});return{hasInvalidLabelOrSlot:s,hasHintLabelOrSlot:c,hasValidLabelOrSlot:v,hasLoadingLabelOrSlot:d,hintSlotScope:f,HintSlot:m}}(m,f),Pe=F(N.PASSWORD,c),Oe=F(N.NUMBER,c),Ce=F(N.SEARCH,c),De=()=>{ge.value&&(oe.value=!0)},Ve=e.computed((()=>{if(c.autoWidth)return{width:void 0!==le.value?`${String(le.value).length+1}ch`:void 0}})),_e=e=>{switch(e.code){case"ArrowUp":se.value&&(ve(),e.preventDefault());break;case"ArrowDown":se.value&&(ce(),e.preventDefault())}p("keydown",e)};return(t,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(Ee))},[e.unref(k)?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(D),class:"vv-input-text__label"},e.toDisplayString(e.unref(k)),9,W)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",z,[t.$slots.before?(e.openBlock(),e.createElementBlock("div",q,[e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(xe))))])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",{ref_key:"innerEl",ref:te,class:"vv-input-text__inner",onClick:e.withModifiers(De,["stop"])},[e.unref(me)?(e.openBlock(),e.createBlock(w,e.mergeProps({key:0},e.unref(me),{class:"vv-input-text__icon"}),null,16)):e.createCommentVNode("v-if",!0),e.createElementVNode("input",e.mergeProps({id:e.unref(D),ref_key:"inputEl",ref:ee},e.unref(Be),{style:e.unref(Ve),onKeyup:l[0]||(l[0]=e=>p("keyup",e)),onKeydown:_e,onKeypress:l[1]||(l[1]=e=>p("keypress",e))}),null,16,K),(t.unit||t.$slots.unit)&&e.unref(we)?(e.openBlock(),e.createElementBlock("div",X,[e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps(e.unref(xe))),(()=>[e.createTextVNode(e.toDisplayString(t.unit),1)]))])):e.createCommentVNode("v-if",!0)],512),e.unref(be)?(e.openBlock(),e.createBlock(w,e.mergeProps({key:1},e.unref(be),{class:"vv-input-text__icon vv-input-text__icon-after"}),null,16)):e.unref(ue)&&!t.hideActions&&e.unref(ge)?(e.openBlock(),e.createBlock(e.unref(Pe),{key:2,onTogglePassword:re})):e.unref(se)&&!t.hideActions&&e.unref(ge)?(e.openBlock(),e.createBlock(e.unref(Oe),{key:3,onStepUp:ve,onStepDown:ce})):e.unref(pe)&&!t.hideActions&&e.unref(ge)?(e.openBlock(),e.createBlock(e.unref(Ce),{key:4,onClear:fe})):e.createCommentVNode("v-if",!0),t.$slots.after?(e.openBlock(),e.createElementBlock("div",J,[e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(xe))))])):e.createCommentVNode("v-if",!0),e.unref(E)?(e.openBlock(),e.createElementBlock("span",Y,[e.renderSlot(t.$slots,"count",e.normalizeProps(e.guardReactiveProps(e.unref(xe))),(()=>[e.createTextVNode(e.toDisplayString(e.unref(ye)),1)]))])):e.createCommentVNode("v-if",!0)]),e.createVNode(e.unref($e),{id:e.unref(V),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(Ie))))])),key:"0"}:void 0,t.$slots.loading?{name:"loading",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"loading",e.normalizeProps(e.guardReactiveProps(e.unref(Ie))))])),key:"1"}:void 0,t.$slots.valid?{name:"valid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"valid",e.normalizeProps(e.guardReactiveProps(e.unref(Ie))))])),key:"2"}:void 0,t.$slots.invalid?{name:"invalid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"invalid",e.normalizeProps(e.guardReactiveProps(e.unref(Ie))))])),key:"3"}:void 0]),1032,["id"])],2))}})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("vue-imask"),require("@iconify/vue"),require("@floating-ui/vue"),require("uid"),require("@vueuse/core"),require("mitt")):"function"==typeof define&&define.amd?define(["vue","vue-imask","@iconify/vue","@floating-ui/vue","uid","@vueuse/core","mitt"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvInputText=t(e.vue,e.vueImask,e.vue$1,e.vue$2,e.uid,e.core,e.mitt)}(this,(function(e,t,l,o,a,n,i){"use strict";function r(t){return null==(l=e.unref(t))||""===l||Array.isArray(l)&&0===l.length||!(l instanceof Date)&&"object"==typeof l&&0===Object.keys(l).length;var l}function u(e){return Array.isArray(e)?e.filter((e=>{return"string"==typeof(t=e)||t instanceof String;var t})).join(" "):e}const s="eye-on",d="eye-off",c="calendar",v="time",p="color",f="close",m="trash",b={prefix:"normal"};var h=(e=>(e.local="local",e.session="session",e))(h||{}),g=(e=>(e.absolute="absolute",e.fixed="fixed",e))(g||{}),y=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(y||{}),S=(e=>(e.topStart="top-start",e.topEnd="top-end",e.bottomStart="bottom-start",e.bottomEnd="bottom-end",e.leftStart="left-start",e.leftEnd="left-end",e.rightStart="right-start",e.rightEnd="right-end",e))(S||{}),w=(e=>(e.before="before",e.after="after",e))(w||{}),k=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(k||{}),x=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(x||{}),E=(e=>(e.button="button",e.link="link",e.menuitem="menuitem",e))(E||{}),B=(e=>(e.listbox="listbox",e.menu="menu",e))(B||{}),L=(e=>(e.option="option",e.presentation="presentation",e))(L||{});const P=Symbol.for("volver"),C=Symbol.for("dropdownTrigger"),$=Symbol.for("dropdownItem"),O=Symbol.for("dropdownAction");function T(){return e.inject(P)}function V(t,l,o){return e.computed((()=>{const a={[t]:!0},n="string"==typeof(null==l?void 0:l.value)?l.value.split(" "):null==l?void 0:l.value;return n&&Array.isArray(n)&&n.forEach((e=>{e&&(a[`${t}--${e}`]=!0)})),o&&Object.keys(o.value).forEach((l=>{a[`${t}--${l}`]=e.unref(o.value[l])})),a}))}const A=e.defineComponent({name:"VvIcon",props:e.mergeDefaults({name:{},color:{},width:{},height:{},provider:{},prefix:{},src:{},horizontalFlip:{type:Boolean},verticalFlip:{type:Boolean},flip:{},mode:{},inline:{type:Boolean},rotate:{},onLoad:{type:Function},svg:{},modifiers:{}},b),setup(t){const o=t,a=e.computed((()=>"string"==typeof o.rotate?parseFloat(o.rotate):o.rotate)),n=e.ref(!0),i=T(),{modifiers:r}=e.toRefs(o),u=V("vv-icon",r),s=e.computed((()=>o.provider||(null==i?void 0:i.iconsProvider))),d=e.computed((()=>{const e=o.name??"",t=`@${s.value}:${o.prefix}:${e}`;if(l.iconExists(t))return t;const a=null==i?void 0:i.iconsCollections.find((t=>{const o=`@${s.value}:${t.prefix}:${e}`;return l.iconExists(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=(null==t?void 0:t.innerHTML.trim())||"";t&&a&&l.addIcon(`@${s.value}:${o.prefix}:${o.name}`,{body:a,height:t.viewBox.baseVal.height,width:t.viewBox.baseVal.width})}return i&&o.src&&!l.iconExists(`@${s.value}:${o.prefix}:${o.name}`)&&(n.value=!1,i.fetchIcon(o.src).then((e=>{e&&(c(e),n.value=!0)})).catch((e=>{throw new Error(`Error during fetch icon: ${null==e?void 0:e.message}`)}))),o.svg&&c(o.svg),(t,o)=>e.unref(n)?(e.openBlock(),e.createBlock(e.unref(l.Icon),e.mergeProps({key:0,class:e.unref(u)},{inline:t.inline,width:t.width,height:t.height,horizontalFlip:t.horizontalFlip,verticalFlip:t.verticalFlip,flip:t.flip,rotate:e.unref(a),color:t.color,onLoad:t.onLoad,icon:e.unref(d)}),null,16,["class"])):e.createCommentVNode("v-if",!0)}}),D={valid:{type:Boolean,default:!1},validLabel:{type:[String,Array],default:void 0}},_={invalid:{type:Boolean,default:!1},invalidLabel:{type:[String,Array],default:void 0}},I={loading:{type:Boolean,default:!1},loadingLabel:{type:String,default:"Loading..."}},N={disabled:{type:Boolean,default:!1}},R={selected:{type:Boolean,default:!1}},H=(Boolean,Boolean,Boolean,{label:{type:[String,Number],default:void 0}}),M={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:w.before,validation:e=>Object.values(w).includes(e)}},q={tabindex:{type:[String,Number],default:0}},K={floating:{type:Boolean,default:!1}},X={unselectable:{type:Boolean,default:!0}},J={id:[String,Number]},Y={placement:{type:String,default:y.bottom,validator:e=>Object.values(y).includes(e)||Object.values(S).includes(e)},strategy:{type:String,default:void 0,validator:e=>Object.values(g).includes(e)},transitionName:{type:String,default:void 0},offset:{type:[Number,String,Object],default:0},shift:{type:[Boolean,Object],default:!1},flip:{type:[Boolean,Object],default:!0},size:{type:[Boolean,Object],default:()=>({padding:10})},autoPlacement:{type:[Boolean,Object],default:!1},arrow:{type:Boolean,default:!1},keepOpen:{type:Boolean,default:!1},autofocusFirst:{type:Boolean,default:!0},triggerWidth:{type:Boolean,default:!1}},G={...{...J,name:{type:String,required:!0}},...{autofocus:{type:Boolean,default:!1}},...{autocomplete:{type:String,default:"off"}},...q,...N,...M,...D,..._,...z,...I,...j,...F,...U,...W,...K,...H,minlength:{type:[String,Number],default:void 0},maxlength:{type:[String,Number],default:void 0},placeholder:{type:String,default:void 0},required:{type:Boolean,default:!1}};k.button,x.button;const Q={storageType:{type:String,default:h.local,validator:e=>Object.values(h).includes(e)},storageKey:String},Z={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"},ee={...G,...Q,modelValue:[String,Number],type:{type:String,default:Z.TEXT,validator:e=>Object.values(Z).includes(e)},min:[Number,Date,String],max:[Number,Date,String],step:{type:[String,Number],default:1},pattern:String,multiple:Boolean,iconShowPassword:{type:[String,Object],default:s},iconHidePassword:{type:[String,Object],default:d},iconClear:{type:[String,Object],default:f},iconRemoveSuggestion:{type:[String,Object],default:m},labelStepUp:{type:String,default:"Increase value"},labelStepDown:{type:String,default:"Decrease value"},labelShowPassword:{type:String,default:"Show password"},labelHidePassword:{type:String,default:"Hide password"},labelClear:{type:String,default:"Clear"},labelRemoveSuggestion:{type:String,default:"Remove suggestion"},iMask:{type:Object,default:void 0},masked:{type:String,default:void 0},autoWidth:{type:Boolean,default:!1},hideActions:{type:Boolean,default:!1},unit:{type:String},selectOnFocus:{type:Boolean,default:!1},maxSuggestions:{type:Number,default:5}};function te(t,l){const o=e.computed((()=>"string"==typeof(null==t?void 0:t.value)?{name:null==t?void 0:t.value}:null==t?void 0:t.value)),a=e.computed((()=>(null==l?void 0:l.value)===w.before?o.value:void 0)),n=e.computed((()=>(null==l?void 0:l.value)===w.after?o.value:void 0)),i=e.computed((()=>(null==l?void 0:l.value)===y.left?o.value:void 0)),r=e.computed((()=>(null==l?void 0:l.value)===y.right?o.value:void 0)),u=e.computed((()=>(null==l?void 0:l.value)===y.top?o.value:void 0)),s=e.computed((()=>(null==l?void 0:l.value)===y.bottom?o.value:void 0));return{hasIcon:o,hasIconLeft:i,hasIconRight:r,hasIconTop:u,hasIconBottom:s,hasIconBefore:a,hasIconAfter:n}}const le=e.defineComponent({components:{VvIcon:A},props:{disabled:{type:Boolean,default:!1},labelShow:{type:String,default:"Show password"},labelHide:{type:String,default:"Hide password"},iconShow:{type:[String,Object],default:s},iconHide:{type:[String,Object],default:d}},emits:["toggle-password"],setup(t,{emit:l}){const o=e.ref(!1),a=e.computed((()=>o.value?t.iconHide:t.iconShow)),{hasIcon:n}=te(a);return{active:o,activeIcon:a,hasIcon:n,onClick:function(e){null==e||e.stopPropagation(),t.disabled||(o.value=!o.value,l("toggle-password",o.value))}}},render(){const t=this.hasIcon?e.h(A,{...this.hasIcon,class:"vv-input-text__icon"}):void 0;return e.h("button",{disabled:this.disabled,class:"vv-input-text__action",ariaLabel:this.active?this.labelHide:this.labelShow,type:"button",onClick:this.onClick},t)}}),oe=e.defineComponent({components:{VvIcon:A},props:{disabled:{type:Boolean,default:!1},label:{type:String},mode:{type:String,validator:e=>["up","down"].includes(e),default:"up"}},emits:["step-up","step-down"],setup(t,{emit:l}){const o=e.computed((()=>"up"===t.mode));return{isUp:o,onClick:e=>{null==e||e.stopPropagation(),t.disabled||l(o.value?"step-up":"step-down")}}},render(){return e.h("button",{class:["vv-input-text__action vv-input-text__action-chevron",this.isUp&&"vv-input-text__action-chevron-up"],disabled:this.disabled,ariaLabel:this.label,type:"button",onClick:this.onClick})}}),ae=e.defineComponent({components:{VvIcon:A},props:{disabled:{type:Boolean,default:!1},label:{type:String,default:"Clear"},icon:{type:[String,Object],default:"close"}},emits:["clear"],setup(t,{emit:l}){const{hasIcon:o}=te(e.computed((()=>t.icon)));return{hasIcon:o,onClick:function(e){null==e||e.stopPropagation(),t.disabled||l("clear")}}},render(){const t=this.hasIcon?e.h(A,{...this.hasIcon,class:"vv-input-text__icon"}):void 0;return e.h("button",{disabled:this.disabled,class:"vv-input-text__action",ariaLabel:this.label,type:"button",onClick:this.onClick},t)}});function ne(t,l){return{name:"VvInputTextActions",components:{VvIcon:A,VvInputPasswordAction:le,VvInputStepAction:oe,VvInputClearAction:ae},setup:()=>({isDisabled:e.computed((()=>l.disabled||l.readonly)),labelStepUp:l.labelStepUp,labelStepDown:l.labelStepDown,labelShowPassword:l.labelShowPassword,labelHidePassword:l.labelHidePassword,labelClear:l.labelClear,iconShowPassword:l.iconShowPassword,iconHidePassword:l.iconHidePassword}),render(){let o=null;switch(t){case Z.SEARCH:{const{onClear:t}=this.$attrs;o=[e.h(ae,{disabled:this.isDisabled,label:this.labelShowPassword,onClear:t})];break}case Z.PASSWORD:{const{onTogglePassword:t}=this.$attrs;o=[e.h(le,{disabled:this.isDisabled,onTogglePassword:t,labelShow:this.labelShowPassword,labelHide:this.labelHidePassword,iconShow:this.iconShowPassword,iconHide:this.iconHidePassword})];break}case Z.NUMBER:{const{onStepUp:t,onStepDown:a}=this.$attrs;o=[e.h(oe,{mode:"up",disabled:this.isDisabled||void 0!==l.max&&l.modelValue===l.max,label:this.labelStepUp,onStepUp:t,onStepDown:a}),e.h(oe,{mode:"down",disabled:this.isDisabled||void 0!==l.min&&l.modelValue===l.min,label:this.labelStepDown,onStepUp:t,onStepDown:a})];break}}return Array.isArray(o)?e.h("div",{class:"vv-input-text__actions-group"},o):o}}}const ie={...J,...Y,...j,modelValue:{type:Boolean,default:void 0},reference:{type:Object,default:null},role:{type:String,default:B.menu,validator:e=>Object.values(B).includes(e)}},re={focusOnHover:{type:Boolean,default:!1}},ue={...N,...R,...X,...j,deselectHintLabel:{type:String},selectHintLabel:{type:String},selectedHintLabel:{type:String},focusOnHover:{type:Boolean,default:!1}},se=t=>e.computed((()=>String((null==t?void 0:t.value)||a.uid())));const de=["id","tabindex","role","aria-labelledby"],ce=e.defineComponent({name:"VvDropdown",inheritAttrs:!1,props:ie,emits:["update:modelValue","beforeExpand","beforeCollapse","afterExpand","afterCollapse","before-enter","after-leave","enter","after-enter","enter-cancelled","before-leave","leave","leave-cancelled"],setup(t,{expose:l,emit:a}){const r=t,u=a,{id:s}=e.toRefs(r),d=se(s),c=e.useAttrs(),v=e.ref("auto"),p=e.ref("auto"),f=e.ref(null),m=e.ref(),b=e.ref(null),h=e.ref(null),S=e.computed({get:()=>r.reference??f.value,set:e=>{f.value=e}}),w=e.ref(!1);e.onMounted((()=>{n.useMutationObserver(m.value,(()=>{var e;w.value="true"===(null==(e=window.getComputedStyle(m.value).getPropertyValue("--dropdown-custom-position"))?void 0:e.trim())}),{attributeFilter:["style"],window:window})}));const k=e.computed((()=>{const e=[];if(r.autoPlacement?"boolean"==typeof r.autoPlacement?e.push(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})=>{v.value=`${e}px`,p.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:b})),e})),{x:x,y:E,middlewareData:P,placement:O,strategy:T}=o.useFloating(S,m,{whileElementsMounted:(...e)=>o.autoUpdate(...e,{animationFrame:r.strategy===g.fixed}),placement:e.computed((()=>r.placement)),strategy:e.computed((()=>r.strategy)),middleware:k}),A=e.computed((()=>{var e;if(w.value)return;const t=r.triggerWidth&&S.value?`${null==(e=S.value)?void 0:e.offsetWidth}px`:void 0;return{position:T.value,top:`${E.value??0}px`,left:`${x.value??0}px`,maxWidth:t?void 0:v.value,maxHeight:p.value,width:t}})),D=e.computed((()=>O.value.split("-")[0])),_=e.computed((()=>{var e,t,l,o,a;if(w.value)return;const n={[y.top]:y.bottom,[y.right]:y.left,[y.bottom]:y.top,[y.left]:y.right}[D.value];return{left:void 0!==(null==(e=P.value.arrow)?void 0:e.x)?`${null==(t=P.value.arrow)?void 0:t.x}px`:void 0,top:void 0!==(null==(l=P.value.arrow)?void 0:l.y)?`${null==(o=P.value.arrow)?void 0:o.y}px`:void 0,[n]:-((null==(a=b.value)?void 0:a.offsetWidth)??0)/2+"px"}})),I=n.useVModel(r,"modelValue",u),N=e.ref(!1),R=e.computed({get:()=>I.value??N.value,set:e=>{void 0!==I.value?I.value=e:N.value=e}}),H=()=>{R.value=!0},M=()=>{R.value=!1},j=()=>{R.value=!R.value},z=e=>{S.value=e};l({toggle:j,show:H,hide:M,init:z,customPosition:w}),e.watch(R,(t=>{t&&r.autofocusFirst&&e.nextTick((()=>{const e=G(m.value);e.length>0&&e[0].focus({preventScroll:!0})}))})),n.onClickOutside(m,(()=>{!r.keepOpen&&R.value&&(R.value=!1)}),{ignore:[S]});const F=e.computed((()=>{var e,t;return(null==(t=null==(e=S.value)?void 0:e.getAttribute)?void 0:t.call(e,"id"))??void 0})),U=e.computed((()=>({"aria-controls":d.value,"aria-haspopup":!0,"aria-expanded":R.value}))),{component:W,bus:q}=function({reference:t,id:l,expanded:o,aria:a}){const n=i(),r=e.defineComponent({name:"VvDropdownTriggerProvider",setup(){e.provide(C,{reference:t,id:l,expanded:o,aria:a,bus:n})},render(){var t,l;return e.h(e.Fragment,{},null==(l=(t=this.$slots).default)?void 0:l.call(t))}});return{bus:n,component:r}}({reference:S,id:d,expanded:R,aria:U});q.on("click",j);const{role:K,modifiers:X}=e.toRefs(r),J=V("vv-dropdown",X,e.computed((()=>({arrow:r.arrow})))),{focused:Y}=n.useFocusWithin(m);function G(e){return e?[...e.querySelectorAll('a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])')].filter((e=>!e.hasAttribute("disabled")&&!e.getAttribute("aria-hidden"))):[]}const Q=n.useElementHover(m),{itemRole:Z}=function({role:t,...l}){const o=e.computed((()=>t.value===B.listbox?L.option:L.presentation));return e.provide($,{role:o,...l}),{itemRole:o}}({role:K,expanded:R,focused:Y,hovered:Q});n.onKeyStroke("Escape",(e=>{R.value&&(e.preventDefault(),M())})),n.onKeyStroke("ArrowDown",(t=>{R.value&&Y.value&&(t.preventDefault(),e.nextTick((()=>{if(Y.value){const e=G(m.value);if(0===e.length||!document.activeElement)return;const t=e.indexOf(document.activeElement);t<e.length-1?e[t+1].focus({preventScroll:!0}):e[0].focus({preventScroll:!0})}})))})),n.onKeyStroke("ArrowUp",(t=>{R.value&&Y.value&&(t.preventDefault(),e.nextTick((()=>{if(Y.value){const e=G(m.value);if(0===e.length||!document.activeElement)return;const t=e.indexOf(document.activeElement);t>0?e[t-1].focus({preventScroll:!0}):e[e.length-1].focus({preventScroll:!0})}})))})),n.onKeyStroke([" ","Enter"],(e=>{const t=e.target;R.value&&Y.value&&t&&(null==t||t.click())}));const ee={"before-enter":()=>{u(R.value?"beforeExpand":"beforeCollapse"),u("before-enter")},"after-leave":()=>{u(R.value?"afterExpand":"afterCollapse"),u("after-leave")},enter:()=>{u("enter")},"after-enter":()=>{u("after-enter")},"enter-cancelled":()=>{u("enter-cancelled")},"before-leave":()=>{u("before-leave")},leave:()=>{u("leave")},"leave-cancelled":()=>{u("leave-cancelled")}};return(t,l)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(W),null,{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps({init:z,show:H,hide:M,toggle:j,expanded:e.unref(R),aria:e.unref(U)})))])),_:3}),e.createVNode(e.Transition,e.mergeProps({name:t.transitionName},e.toHandlers(ee),{persisted:""}),{default:e.withCtx((()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"floatingEl",ref:m,style:e.normalizeStyle(e.unref(A)),class:e.normalizeClass(e.unref(J))},[r.arrow?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"arrowEl",ref:b,style:e.normalizeStyle(e.unref(_)),class:"vv-dropdown__arrow"},null,4)):e.createCommentVNode("v-if",!0),e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(R)}))),e.createElementVNode("div",e.mergeProps(e.unref(c),{id:e.unref(d),ref_key:"listEl",ref:h,tabindex:e.unref(R)?void 0:-1,role:e.unref(K),"aria-labelledby":e.unref(F),class:"vv-dropdown__list"}),[e.renderSlot(t.$slots,"items",e.normalizeProps(e.guardReactiveProps({role:e.unref(Z)})))],16,de),e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(R)})))],6),[[e.vShow,e.unref(R)]])])),_:3},16,["name"])],64))}});const ve=e.defineComponent({name:"VvDropdownItem",props:re,setup(t){const l=t,{role:o,expanded:a}=e.inject($,{}),i=e.ref(null);!function({expanded:t}){e.provide(O,{role:e.ref(E.menuitem),expanded:t})}({expanded:a});const r=n.useElementHover(i),{focused:u}=n.useFocus(i),{focused:s}=n.useFocusWithin(i);return e.watch(r,(e=>{e&&l.focusOnHover&&(u.value=!0)})),(t,l)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({role:e.unref(o)},{ref_key:"element",ref:i,class:["vv-dropdown__item",{"focus-visible":e.unref(u)||e.unref(s)}]}),[e.renderSlot(t.$slots,"default")],16))}}),pe=["title"],fe=e.defineComponent({name:"VvDropdownOption",props:ue,setup(t){const l=t,{modifiers:o}=e.toRefs(l),a=V("vv-dropdown-option",o,e.computed((()=>({disabled:l.disabled,selected:l.selected,unselectable:l.unselectable&&l.selected})))),n=e.computed((()=>l.selected?l.unselectable?l.deselectHintLabel:l.selectedHintLabel:l.disabled?void 0:l.selectHintLabel));return(t,l)=>(e.openBlock(),e.createBlock(ve,{class:e.normalizeClass(e.unref(a)),tabindex:t.disabled?-1:0,"aria-selected":t.selected,"aria-disabled":t.disabled,"focus-on-hover":t.focusOnHover},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default"),e.createElementVNode("span",{class:"vv-dropdown-option__hint",title:e.unref(n)},[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps({disabled:t.disabled,selected:t.selected,unselectable:t.unselectable})),(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)),1)]))],8,pe)])),_:3},8,["class","tabindex","aria-selected","aria-disabled","focus-on-hover"]))}});const me=["for"],be={key:0,class:"vv-input-text__input-before"},he=["id"],ge={key:1,class:"vv-input-text__unit"},ye={key:5,class:"vv-input-text__input-after"},Se={key:6,class:"vv-input-text__limit"},we={class:"flex-1"},ke=["title","onClick"];return e.defineComponent({name:"VvInputText",props:ee,emits:["update:modelValue","update:masked","accept","accept:typed","accept:masked","accept:unmasked","complete","complete:typed","complete:masked","complete:unmasked","focus","blur","keyup","keydown","keypress"],setup(l,{expose:o,emit:a}){const i=l,s=a,d=e.useSlots(),f=function(t,l,o){const a=T(),n=e.computed((()=>{var e;if(a&&(null==(e=a.defaults.value)?void 0:e[t]))return a.defaults.value[t]}));return e.computed((()=>{if(void 0===n.value)return o;const e=n.value,t=l,a=o;return Object.keys(t).reduce(((l,o)=>{const n=a[o];if(l[o]=n,o in e){if(Array.isArray(t[o])){const a=t[o];a.length&&a[0]===n&&(l[o]=e[o])}if("function"==typeof t[o]&&(0,t[o])()===n&&(l[o]=e[o]),"object"==typeof t[o]){let a=t[o].default;"function"==typeof a&&(a=a()),"object"==typeof a?JSON.stringify(a)===JSON.stringify(n)&&(l[o]=e[o]):a===n&&(l[o]=e[o])}}return l}),{})}))}("VvInputText",ee,i),{id:m,icon:b,iconPosition:g,iconRemoveSuggestion:y,label:S,modelValue:w,count:k,valid:x,invalid:E,loading:B,debounce:L,maxlength:P,minlength:C,type:$,iMask:O,step:D,storageKey:_,storageType:I}=e.toRefs(i),N=se(m),R=e.computed((()=>`${N.value}-hint`)),H=e.computed((()=>i.floating&&r(i.placeholder)?" ":i.placeholder)),M=e.ref(!1),{el:j,mask:z,typed:F,masked:U,unmasked:W}=t.useIMask(e.computed((()=>(null==O?void 0:O.value)??{mask:/./})),{emit:s,onAccept:()=>{if(M.value){if(s("update:masked",U.value),$.value===Z.NUMBER){if(""===U.value){if(null===Y.value||void 0===Y.value)return;return void(Y.value=void 0)}return"number"!=typeof F.value?void(Y.value=Number(F.value)):void(Y.value=F.value)}if($.value===Z.DATE){if(j.value instanceof HTMLInputElement&&"date"===j.value.type)return void(Y.value=j.value.value);let e=F.value;if(null===e||""===e){if(!Y.value)return;return void(Y.value="")}return e instanceof Date||(e=new Date(e)),void(Y.value=`${e.getFullYear()}-${("0"+(e.getMonth()+1)).slice(-2)}-${("0"+e.getDate()).slice(-2)}`)}if($.value===Z.DATETIME_LOCAL){if(j.value instanceof HTMLInputElement&&"datetime-local"===j.value.type)return void(Y.value=j.value.value);let e=F.value;if(null===e||""===e){if(!Y.value)return;return void(Y.value="")}return F.value instanceof Date||(e=new Date(e)),void(Y.value=`${e.getFullYear()}-${("0"+(e.getMonth()+1)).slice(-2)}-${("0"+e.getDate()).slice(-2)}T${("0"+e.getHours()).slice(-2)}:${("0"+e.getMinutes()).slice(-2)}`)}(Y.value||W.value)&&(Y.value=W.value)}}});e.onMounted((()=>{z.value&&(M.value=!0,F.value=Y.value??"")})),e.watch((()=>i.modelValue),(e=>{var t;z.value&&(F.value=e&&(null==(t=null==O?void 0:O.value)?void 0:t.mask)===Date?new Date(e):e??"")})),e.watch((()=>i.masked),(e=>{U.value=e??""}));const q=j,K=e.ref(),X=e.ref(),J=e.ref();o({$inner:K});const Y=function(t,l,o=0,{getter:a=(e=>e),setter:n=(e=>e)}={}){let i;return"string"==typeof o&&(o=parseInt(o)),e.computed({get:()=>a(null==t?void 0:t.value),set:e=>{i&&clearTimeout(i),i=setTimeout((()=>{l("update:modelValue",n(e))}),o)}})}(w,s,(null==L?void 0:L.value)??0),{focused:G}=function(t,l){const{focused:o}=n.useFocus(t);return e.watch(o,(o=>{l(o?"focus":"blur",e.unref(t))})),{focused:o}}(q,s),Q=e.computed((()=>G.value&&!i.disabled&&!i.readonly));e.watch(Q,(e=>{var t;e&&f.value.selectOnFocus&&q.value&&q.value.select(),e?null==(t=J.value)||t.show():setTimeout((()=>{if(Te.value&&Ae.value){const e=i.maxSuggestions-1;Ae.value.size>e&&!Ae.value.has(Y.value)&&(Ae.value=new Set([...Ae.value].slice(Ae.value.size-e))),Ae.value.add(Y.value)}}),300)}));const le=n.useElementVisibility(q);e.watch(le,(e=>{e&&i.autofocus&&!i.disabled&&!i.readonly&&(G.value=!0)}));const oe=e.ref(!1),ae=e.computed((()=>i.type===Z.PASSWORD)),ie=()=>{oe.value=!oe.value},re=e.computed((()=>i.type===Z.TIME||i.type===Z.DATETIME_LOCAL||i.type===Z.DATE||i.type===Z.WEEK||i.type===Z.MONTH)),ue=e.computed((()=>i.type===Z.NUMBER)),de=()=>{if($e.value){if(null==O?void 0:O.value)return void(F.value=F.value+Number((null==D?void 0:D.value)??1));q.value.stepUp(),Y.value=Number(e.unref(q).value)}},ve=()=>{if($e.value){if(null==O?void 0:O.value)return void(F.value=F.value-Number((null==D?void 0:D.value)??1));q.value.stepDown(),Y.value=Number(e.unref(q).value)}},pe=e.computed((()=>i.type===Z.SEARCH)),xe=()=>{Y.value=""},{hasIconBefore:Ee,hasIconAfter:Be}=te(b,g),Le=e.computed((()=>{if(void 0!==Be.value)return Be.value;switch(i.type){case Z.COLOR:return{name:p};case Z.DATE:case Z.DATETIME_LOCAL:case Z.WEEK:case Z.MONTH:return{name:c};case Z.TIME:return{name:v}}})),{hasIcon:Pe}=te(y),{formatted:Ce}=function(t,l){const o=e.computed((()=>(e.unref(t)??"").length)),a=e.computed((()=>void 0!==(null==l?void 0:l.lowerLimit)&&o.value<(null==l?void 0:l.lowerLimit)?o.value-l.lowerLimit:void 0!==(null==l?void 0:l.upperLimit)&&o.value<(null==l?void 0:l.upperLimit)?l.upperLimit-o.value:0)),n=e.computed((()=>{if(!1===(null==l?void 0:l.mode))return"";if("limit"===(null==l?void 0:l.mode)&&(null==l?void 0:l.upperLimit))return`${o.value} / ${l.lowerLimit?`${l.lowerLimit}-`:""}${l.upperLimit}`;if("countdown"===(null==l?void 0:l.mode)){if(0===a.value)return;return a}return o.value}));return{length:o,gap:a,formatted:n}}(Y,{mode:k.value,upperLimit:Number(null==P?void 0:P.value),lowerLimit:Number(null==C?void 0:C.value)}),$e=e.computed((()=>!i.disabled&&!i.readonly)),Oe=e.computed((()=>$e.value?i.tabindex:-1)),Te=e.computed((()=>!r(w))),Ve=e.computed((()=>!0===E.value||!0!==x.value&&void 0)),Ae=((t,l=h.local,o)=>{const a=e.ref();let i;return o&&(a.value=o),t&&e.watch(t,((t,o)=>{const r=e.unref(l)===h.session?sessionStorage:localStorage;o&&o!==t&&r.removeItem(o),i=t?n.useStorage(t,(null==i?void 0:i.value)??a.value,r):void 0}),{immediate:!0}),e.isRef(l)&&e.watch(l,((e,l)=>{if(null==t?void 0:t.value){if(e){const l=e===h.session?sessionStorage:localStorage;i=n.useStorage(t.value,(null==i?void 0:i.value)??a.value,l)}l&&l!==e&&(l===h.session?sessionStorage:localStorage).removeItem(t.value)}})),e.computed({get:()=>(null==i?void 0:i.value)??a.value,set:e=>{i?i.value=e:a.value=e}})})(_,I,new Set),De=e.computed((()=>Ae.value?[...Ae.value].filter((e=>r(Y.value)||`${e}`.toLowerCase().includes(`${Y.value}`.toLowerCase())&&e!==Y.value)):[])),_e=e.computed((()=>(null==_?void 0:_.value)&&Ae.value&&Ae.value.size>0)),{modifiers:Ie}=e.toRefs(i),Ne=V("vv-input-text",Ie,e.computed((()=>({valid:x.value,invalid:E.value,loading:B.value,disabled:i.disabled,readonly:i.readonly,"icon-before":!!Ee.value,"icon-after":!!Le.value,floating:i.floating&&!r(i.label),dirty:Te.value,focus:Q.value,"auto-width":i.autoWidth})))),Re=e.computed((()=>{const e=ae.value&&oe.value?Z.TEXT:!re.value||Te.value||G.value?(null==O?void 0:O.value)?Z.TEXT:i.type:Z.TEXT,t={type:e,name:i.name,tabindex:Oe.value,disabled:i.disabled,readonly:i.readonly,required:i.required,autocomplete:i.autocomplete,"aria-invalid":Ve.value,"aria-describedby":je.value?R.value:void 0,"aria-errormessage":ze.value?R.value:void 0};return e!==Z.DATE&&e!==Z.MONTH&&e!==Z.WEEK&&e!==Z.TIME&&e!==Z.DATETIME_LOCAL&&e!==Z.NUMBER||(t.step=i.step,t.max=void 0!==i.max?String(i.max):void 0,t.min=void 0!==i.min?String(i.min):void 0),e!==Z.TEXT&&e!==Z.SEARCH&&e!==Z.URL&&e!==Z.TEL&&e!==Z.EMAIL&&e!==Z.PASSWORD&&e!==Z.NUMBER||(t.placeholder=H.value),e!==Z.TEXT&&e!==Z.SEARCH&&e!==Z.URL&&e!==Z.TEL&&e!==Z.EMAIL&&e!==Z.PASSWORD||(t.minlength=i.minlength,t.maxlength=i.maxlength,t.pattern=i.pattern),e===Z.EMAIL&&(t.multiple=i.multiple),t})),He=e.computed((()=>({valid:i.valid,invalid:i.invalid,modelValue:i.modelValue,togglePassword:ie,stepUp:de,stepDown:ve,clear:xe}))),{HintSlot:Me,hasHintLabelOrSlot:je,hasInvalidLabelOrSlot:ze,hintSlotScope:Fe}=function(t,l){const o=e.computed((()=>e.isRef(t)?t.value:t)),a=e.computed((()=>u(o.value.invalidLabel))),n=e.computed((()=>u(o.value.validLabel))),i=e.computed((()=>o.value.loadingLabel)),r=e.computed((()=>o.value.hintLabel)),s=e.computed((()=>Boolean(o.value.loading&&(l.loading||i.value)))),d=e.computed((()=>!s.value&&Boolean(o.value.invalid&&(l.invalid||a.value)))),c=e.computed((()=>!s.value&&!d.value&&Boolean(o.value.valid&&(l.valid||n.value)))),v=e.computed((()=>!s.value&&!d.value&&!c.value&&Boolean(l.hint||r.value))),p=e.computed((()=>d.value||c.value||s.value||v.value)),f=e.computed((()=>({modelValue:o.value.modelValue,valid:o.value.valid,invalid:o.value.invalid,loading:o.value.loading}))),m=e.defineComponent({name:"HintSlot",props:{tag:{type:String,default:"small"}},setup:()=>({isVisible:p,invalidLabel:a,validLabel:n,loadingLabel:i,hintLabel:r,hasInvalidLabelOrSlot:d,hasValidLabelOrSlot:c,hasLoadingLabelOrSlot:s,hasHintLabelOrSlot:v}),render(){var t,l,o,a,n,i,r,u;if(this.isVisible){let s;return this.hasInvalidLabelOrSlot&&(s="alert"),this.hasValidLabelOrSlot&&(s="status"),this.hasLoadingLabelOrSlot?e.h(this.tag,{role:s},(null==(l=(t=this.$slots).loading)?void 0:l.call(t))??this.loadingLabel):this.hasInvalidLabelOrSlot?e.h(this.tag,{role:s},(null==(a=(o=this.$slots).invalid)?void 0:a.call(o))??this.$slots.invalid??this.invalidLabel):this.hasValidLabelOrSlot?e.h(this.tag,{role:s},(null==(i=(n=this.$slots).valid)?void 0:i.call(n))??this.validLabel):e.h(this.tag,{role:s},(null==(u=(r=this.$slots).hint)?void 0:u.call(r))??this.$slots.hint??this.hintLabel)}return null}});return{hasInvalidLabelOrSlot:d,hasHintLabelOrSlot:v,hasValidLabelOrSlot:c,hasLoadingLabelOrSlot:s,hintSlotScope:f,HintSlot:m}}(f,d),Ue=ne(Z.PASSWORD,i),We=ne(Z.NUMBER,i),qe=ne(Z.SEARCH,i),Ke=()=>{$e.value&&(G.value=!0)},Xe=e.computed((()=>{if(i.autoWidth)return{width:void 0!==Y.value?`${String(Y.value).length+1}ch`:void 0}})),Je=e=>{switch(e.code){case"ArrowUp":ue.value&&(de(),e.preventDefault());break;case"ArrowDown":ue.value&&(ve(),e.preventDefault())}s("keydown",e)};return(t,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(Ne))},[e.unref(S)?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(N),class:"vv-input-text__label"},e.toDisplayString(e.unref(S)),9,me)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",{ref_key:"wrapperEl",ref:X,class:"vv-input-text__wrapper"},[t.$slots.before?(e.openBlock(),e.createElementBlock("div",be,[e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(He))))])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",{ref_key:"innerEl",ref:K,class:"vv-input-text__inner",onClick:e.withModifiers(Ke,["stop"])},[e.unref(Ee)?(e.openBlock(),e.createBlock(A,e.mergeProps({key:0},e.unref(Ee),{class:"vv-input-text__icon"}),null,16)):e.createCommentVNode("v-if",!0),e.createElementVNode("input",e.mergeProps({id:e.unref(N),ref_key:"inputEl",ref:q},e.unref(Re),{style:e.unref(Xe),onKeyup:l[0]||(l[0]=e=>s("keyup",e)),onKeydown:Je,onKeypress:l[1]||(l[1]=e=>s("keypress",e))}),null,16,he),(t.unit||t.$slots.unit)&&e.unref(Te)?(e.openBlock(),e.createElementBlock("div",ge,[e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps(e.unref(He))),(()=>[e.createTextVNode(e.toDisplayString(t.unit),1)]))])):e.createCommentVNode("v-if",!0)],512),e.unref(Le)?(e.openBlock(),e.createBlock(A,e.mergeProps({key:1},e.unref(Le),{class:"vv-input-text__icon vv-input-text__icon-after"}),null,16)):e.unref(ae)&&!t.hideActions&&e.unref($e)?(e.openBlock(),e.createBlock(e.unref(Ue),{key:2,onTogglePassword:ie})):e.unref(ue)&&!t.hideActions&&e.unref($e)?(e.openBlock(),e.createBlock(e.unref(We),{key:3,onStepUp:de,onStepDown:ve})):e.unref(pe)&&!t.hideActions&&e.unref($e)?(e.openBlock(),e.createBlock(e.unref(qe),{key:4,onClear:xe})):e.createCommentVNode("v-if",!0),t.$slots.after?(e.openBlock(),e.createElementBlock("div",ye,[e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(He))))])):e.createCommentVNode("v-if",!0),e.unref(k)?(e.openBlock(),e.createElementBlock("span",Se,[e.renderSlot(t.$slots,"count",e.normalizeProps(e.guardReactiveProps(e.unref(He))),(()=>[e.createTextVNode(e.toDisplayString(e.unref(Ce)),1)]))])):e.createCommentVNode("v-if",!0)],512),e.createVNode(e.unref(Me),{id:e.unref(R),class:"vv-input-text__hint"},e.createSlots({_:2},[t.$slots.hint?{name:"hint",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps(e.unref(Fe))))])),key:"0"}:void 0,t.$slots.loading?{name:"loading",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"loading",e.normalizeProps(e.guardReactiveProps(e.unref(Fe))))])),key:"1"}:void 0,t.$slots.valid?{name:"valid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"valid",e.normalizeProps(e.guardReactiveProps(e.unref(Fe))))])),key:"2"}:void 0,t.$slots.invalid?{name:"invalid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"invalid",e.normalizeProps(e.guardReactiveProps(e.unref(Fe))))])),key:"3"}:void 0]),1032,["id"]),e.unref(_e)?(e.openBlock(),e.createBlock(ce,{key:1,ref_key:"dropdownEl",ref:J,reference:e.unref(X),"autofocus-first":!1,"trigger-width":!0},{items:e.withCtx((()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(De),(l=>(e.openBlock(),e.createBlock(fe,{key:l,onClick:e.withModifiers((e=>{return t=l,Y.value=t,void(null==(o=J.value)||o.hide());var t,o}),["stop"])},{default:e.withCtx((()=>[e.createElementVNode("div",we,[e.renderSlot(t.$slots,"suggestion",e.normalizeProps(e.guardReactiveProps({value:l})),(()=>[e.createTextVNode(e.toDisplayString(l),1)]))]),e.unref(Ae)&&e.unref(Pe)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",tabindex:"-1",class:"cursor-pointer",title:t.labelRemoveSuggestion,onClick:e.withModifiers((e=>{return t=l,void(null==(o=Ae.value)||o.delete(t));var t,o}),["stop"])},[e.createVNode(A,e.normalizeProps(e.guardReactiveProps(e.unref(Pe))),null,16)],8,ke)):e.createCommentVNode("v-if",!0)])),_:2},1032,["onClick"])))),128))])),_:3},8,["reference"])):e.createCommentVNode("v-if",!0)],2))}})}));
@@ -25,6 +25,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
25
25
  type: globalThis.PropType<string | import("../VvIcon").VvIconProps>;
26
26
  default: "close";
27
27
  };
28
+ iconRemoveSuggestion: {
29
+ type: globalThis.PropType<string | import("../VvIcon").VvIconProps>;
30
+ default: "trash";
31
+ };
28
32
  labelStepUp: {
29
33
  type: StringConstructor;
30
34
  default: string;
@@ -45,6 +49,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
45
49
  type: StringConstructor;
46
50
  default: string;
47
51
  };
52
+ labelRemoveSuggestion: {
53
+ type: StringConstructor;
54
+ default: string;
55
+ };
48
56
  iMask: {
49
57
  type: globalThis.PropType<import("imask/esm/index").FactoryOpts>;
50
58
  default: undefined;
@@ -68,6 +76,16 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
68
76
  type: BooleanConstructor;
69
77
  default: boolean;
70
78
  };
79
+ maxSuggestions: {
80
+ type: NumberConstructor;
81
+ default: number;
82
+ };
83
+ storageType: {
84
+ type: globalThis.PropType<"local" | "session">;
85
+ default: import("../../constants").StorageType;
86
+ validator: (value: import("../../constants").StorageType) => boolean;
87
+ };
88
+ storageKey: StringConstructor;
71
89
  minlength: {
72
90
  type: (StringConstructor | NumberConstructor)[];
73
91
  default: undefined;
@@ -168,7 +186,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
168
186
  };
169
187
  id: (StringConstructor | NumberConstructor)[];
170
188
  }, {
171
- $inner: globalThis.Ref<any>;
189
+ $inner: globalThis.Ref<HTMLInputElement | undefined>;
172
190
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
173
191
  [x: string]: (...args: any[]) => void;
174
192
  }, string, import("vue").PublicProps, Readonly<globalThis.ExtractPropTypes<{
@@ -198,6 +216,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
198
216
  type: globalThis.PropType<string | import("../VvIcon").VvIconProps>;
199
217
  default: "close";
200
218
  };
219
+ iconRemoveSuggestion: {
220
+ type: globalThis.PropType<string | import("../VvIcon").VvIconProps>;
221
+ default: "trash";
222
+ };
201
223
  labelStepUp: {
202
224
  type: StringConstructor;
203
225
  default: string;
@@ -218,6 +240,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
218
240
  type: StringConstructor;
219
241
  default: string;
220
242
  };
243
+ labelRemoveSuggestion: {
244
+ type: StringConstructor;
245
+ default: string;
246
+ };
221
247
  iMask: {
222
248
  type: globalThis.PropType<import("imask/esm/index").FactoryOpts>;
223
249
  default: undefined;
@@ -241,6 +267,16 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
241
267
  type: BooleanConstructor;
242
268
  default: boolean;
243
269
  };
270
+ maxSuggestions: {
271
+ type: NumberConstructor;
272
+ default: number;
273
+ };
274
+ storageType: {
275
+ type: globalThis.PropType<"local" | "session">;
276
+ default: import("../../constants").StorageType;
277
+ validator: (value: import("../../constants").StorageType) => boolean;
278
+ };
279
+ storageKey: StringConstructor;
244
280
  minlength: {
245
281
  type: (StringConstructor | NumberConstructor)[];
246
282
  default: undefined;
@@ -346,6 +382,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
346
382
  disabled: boolean;
347
383
  modifiers: string | string[];
348
384
  type: import("../VvInputText").InputType;
385
+ storageType: "local" | "session";
349
386
  required: boolean;
350
387
  icon: string | import("../VvIcon").VvIconProps;
351
388
  iconPosition: "before" | "after";
@@ -366,16 +403,19 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
366
403
  iconShowPassword: string | import("../VvIcon").VvIconProps;
367
404
  iconHidePassword: string | import("../VvIcon").VvIconProps;
368
405
  iconClear: string | import("../VvIcon").VvIconProps;
406
+ iconRemoveSuggestion: string | import("../VvIcon").VvIconProps;
369
407
  labelStepUp: string;
370
408
  labelStepDown: string;
371
409
  labelShowPassword: string;
372
410
  labelHidePassword: string;
373
411
  labelClear: string;
412
+ labelRemoveSuggestion: string;
374
413
  iMask: import("imask/esm/index").FactoryOpts;
375
414
  masked: string;
376
415
  autoWidth: boolean;
377
416
  hideActions: boolean;
378
417
  selectOnFocus: boolean;
418
+ maxSuggestions: number;
379
419
  minlength: string | number;
380
420
  maxlength: string | number;
381
421
  debounce: string | number;
@@ -441,6 +481,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
441
481
  invalid: boolean;
442
482
  loading: boolean;
443
483
  }): any;
484
+ suggestion?(_: {
485
+ value: string;
486
+ }): any;
444
487
  }>;
445
488
  export default _default;
446
489
  type __VLS_WithTemplateSlots<T, S> = T & {
@@ -90,6 +90,14 @@ export declare const VvInputTextProps: {
90
90
  type: PropType<string | VvIconProps>;
91
91
  default: "close";
92
92
  };
93
+ /**
94
+ * VvIcon name for remove suggestion button
95
+ * @see VVIcon
96
+ */
97
+ iconRemoveSuggestion: {
98
+ type: PropType<string | VvIconProps>;
99
+ default: "trash";
100
+ };
93
101
  /**
94
102
  * Label for step up button
95
103
  */
@@ -125,6 +133,13 @@ export declare const VvInputTextProps: {
125
133
  type: StringConstructor;
126
134
  default: string;
127
135
  };
136
+ /**
137
+ * Label for remove suggestion button
138
+ */
139
+ labelRemoveSuggestion: {
140
+ type: StringConstructor;
141
+ default: string;
142
+ };
128
143
  /**
129
144
  * iMask options
130
145
  * @see https://imask.js.org/guide.html
@@ -167,6 +182,19 @@ export declare const VvInputTextProps: {
167
182
  type: BooleanConstructor;
168
183
  default: boolean;
169
184
  };
185
+ /**
186
+ * Maximum number of suggestions
187
+ */
188
+ maxSuggestions: {
189
+ type: NumberConstructor;
190
+ default: number;
191
+ };
192
+ storageType: {
193
+ type: PropType<"local" | "session">;
194
+ default: import("../../constants").StorageType;
195
+ validator: (value: import("../../constants").StorageType) => boolean;
196
+ };
197
+ storageKey: StringConstructor;
170
198
  minlength: {
171
199
  type: (StringConstructor | NumberConstructor)[];
172
200
  default: undefined;
@@ -1,4 +1,9 @@
1
1
  import { inject, defineComponent, ref, watch, computed, openBlock, createBlock, resolveDynamicComponent, unref, mergeProps, withCtx, renderSlot, createTextVNode, toDisplayString, createElementBlock, createVNode, toRefs, normalizeClass, createElementVNode, withModifiers, Fragment, renderList, toHandlers, normalizeProps, guardReactiveProps } from "vue";
2
+ var StorageType = /* @__PURE__ */ ((StorageType2) => {
3
+ StorageType2["local"] = "local";
4
+ StorageType2["session"] = "session";
5
+ return StorageType2;
6
+ })(StorageType || {});
2
7
  var Strategy = /* @__PURE__ */ ((Strategy2) => {
3
8
  Strategy2["absolute"] = "absolute";
4
9
  Strategy2["fixed"] = "fixed";
@@ -40,13 +45,6 @@ var ActionTag = /* @__PURE__ */ ((ActionTag2) => {
40
45
  ActionTag2["button"] = "button";
41
46
  return ActionTag2;
42
47
  })(ActionTag || {});
43
- var AnchorTarget = /* @__PURE__ */ ((AnchorTarget2) => {
44
- AnchorTarget2["_blank"] = "_blank";
45
- AnchorTarget2["_self"] = "_self";
46
- AnchorTarget2["_parent"] = "_parent";
47
- AnchorTarget2["_top"] = "_top";
48
- return AnchorTarget2;
49
- })(AnchorTarget || {});
50
48
  const INJECTION_KEY_VOLVER = Symbol.for("volver");
51
49
  const INJECTION_KEY_DROPDOWN_TRIGGER = Symbol.for(
52
50
  "dropdownTrigger"
@@ -69,11 +67,7 @@ const LinkProps = {
69
67
  /**
70
68
  * Anchor target
71
69
  */
72
- target: {
73
- type: String,
74
- default: void 0,
75
- validator: (value) => Object.values(AnchorTarget).includes(value)
76
- },
70
+ target: String,
77
71
  /**
78
72
  * Anchor rel
79
73
  */
@@ -284,6 +278,14 @@ const NavProps = {
284
278
  default: () => []
285
279
  }
286
280
  };
281
+ ({
282
+ storageType: {
283
+ type: String,
284
+ default: StorageType.local,
285
+ validator: (value) => Object.values(StorageType).includes(value)
286
+ },
287
+ storageKey: String
288
+ });
287
289
  const VvNavProps = {
288
290
  ...ModifiersProps,
289
291
  ...NavProps
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue")):"function"==typeof define&&define.amd?define(["vue"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvNav=t(e.vue)}(this,(function(e){"use strict";var t=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(t||{}),o=(e=>(e.before="before",e.after="after",e))(o||{}),r=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(r||{}),n=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(n||{}),a=(e=>(e._blank="_blank",e._self="_self",e._parent="_parent",e._top="_top",e))(a||{});const l=Symbol.for("volver"),i=Symbol.for("dropdownTrigger"),u=Symbol.for("dropdownAction"),s={to:{type:[String,Object]},href:String,target:{type:String,default:void 0,validator:e=>Object.values(a).includes(e)},rel:{type:String,default:"noopener noreferrer"}},d={disabled:{type:Boolean,default:!1}},c={active:{type:Boolean,default:!1}},v={current:{type:Boolean,default:!1}},f={pressed:{type:Boolean,default:!1}},p={label:{type:[String,Number],default:void 0}},m={modifiers:{type:[String,Array],default:void 0}};o.before,t.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;const b={...d,...p,...f,...c,...v,...s,type:{type:String,default:r.button,validator:e=>Object.values(r).includes(e)},ariaLabel:{type:String,default:void 0},defaultTag:{type:String,default:n.button}},y={...m,...{items:{type:Array,default:()=>[]}}},g=b;const k=e.defineComponent({name:"VvAction",props:g,emits:["click","mouseover","mouseleave"],setup(t,{expose:o,emit:r}){const a=t,s=r,d=e.inject(l),c=e.ref(null);o({$el:c});const{reference:v,bus:f,aria:p,expanded:m}=e.inject(i,{});e.watch((()=>c.value),(e=>{v&&(v.value=e)}));const b=e.computed((()=>a.pressed||(null==m?void 0:m.value))),{role:y}=e.inject(u,{}),g=e.computed((()=>{switch(!0){case a.disabled:return n.button;case void 0!==a.to:return(null==d?void 0:d.nuxt)?n.nuxtLink:n.routerLink;case void 0!==a.href:return n.a;default:return a.defaultTag}})),k=e.computed((()=>{const e={...null==p?void 0:p.value,ariaPressed:!!b.value||void 0,ariaLabel:a.ariaLabel,role:null==y?void 0:y.value};switch(g.value){case n.a:return{...e,href:a.href,target:a.target,rel:a.rel};case n.routerLink:case n.nuxtLink:return{...e,to:a.to,target:a.target};case n.button:return{...e,type:a.type,disabled:a.disabled};default:return e}})),B=e=>{a.disabled?e.preventDefault():(null==f||f.emit("click",e),s("click",e))},_=e=>{null==f||f.emit("mouseover",e),s("mouseover",e)},h=e=>{null==f||f.emit("mouseleave",e),s("mouseleave",e)};return(t,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(g)),e.mergeProps(e.unref(k),{ref_key:"element",ref:c,class:{active:t.active,pressed:e.unref(b),disabled:t.disabled,current:t.current},onClickPassive:B,onMouseoverPassive:_,onMouseleavePassive:h}),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(t.label),1)]))])),_:3},16,["class"]))}}),B={class:"vv-nav__item",role:"presentation"},_=e.defineComponent({name:"VvNavItem",inheritAttrs:!1,setup:t=>(t,o)=>(e.openBlock(),e.createElementBlock("li",B,[e.createVNode(k,e.mergeProps(t.$attrs,{class:"vv-nav__item-label"}),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default")])),_:3},16)]))});return e.defineComponent({__name:"VvNav",props:y,emits:["click"],setup(t,{emit:o}){const r=t,{modifiers:n}=e.toRefs(r),a=o,l=e=>{var t;const o=e.target;if(null==o?void 0:o.dataset.index){const e=parseInt(o.dataset.index),n=null==(t=r.items)?void 0:t[e];if(!n||(null==n?void 0:n.disabled))return;a("click",n)}},i=function(t,o,r){return e.computed((()=>{const n={[t]:!0},a="string"==typeof(null==o?void 0:o.value)?o.value.split(" "):null==o?void 0:o.value;return a&&Array.isArray(a)&&a.forEach((e=>{e&&(n[`${t}--${e}`]=!0)})),r&&Object.keys(r.value).forEach((o=>{n[`${t}--${o}`]=e.unref(r.value[o])})),n}))}("vv-nav",n);return(t,o)=>(e.openBlock(),e.createElementBlock("nav",{class:e.normalizeClass(e.unref(i))},[e.createElementVNode("ul",{class:"vv-nav__menu",role:"menu","aria-busy":"true",onClick:e.withModifiers(l,["stop"])},[e.renderSlot(t.$slots,"default",{},(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(({on:o={},data:r,...n},a)=>(e.openBlock(),e.createBlock(_,e.mergeProps({key:a,"data-index":a},n,e.toHandlers(o)),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"item",e.normalizeProps(e.guardReactiveProps({item:n,data:r,index:a})))])),_:2},1040,["data-index"])))),128))]))])],2))}})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue")):"function"==typeof define&&define.amd?define(["vue"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvNav=t(e.vue)}(this,(function(e){"use strict";var t=(e=>(e.local="local",e.session="session",e))(t||{}),o=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(o||{}),r=(e=>(e.before="before",e.after="after",e))(r||{}),n=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(n||{}),l=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(l||{});const a=Symbol.for("volver"),i=Symbol.for("dropdownTrigger"),s=Symbol.for("dropdownAction"),u={to:{type:[String,Object]},href:String,target:String,rel:{type:String,default:"noopener noreferrer"}},d={disabled:{type:Boolean,default:!1}},c={active:{type:Boolean,default:!1}},v={current:{type:Boolean,default:!1}},f={pressed:{type:Boolean,default:!1}},p={label:{type:[String,Number],default:void 0}},m={modifiers:{type:[String,Array],default:void 0}};r.before,o.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;const b={...d,...p,...f,...c,...v,...u,type:{type:String,default:n.button,validator:e=>Object.values(n).includes(e)},ariaLabel:{type:String,default:void 0},defaultTag:{type:String,default:l.button}},y={items:{type:Array,default:()=>[]}};t.local;const g={...m,...y},k=b;const B=e.defineComponent({name:"VvAction",props:k,emits:["click","mouseover","mouseleave"],setup(t,{expose:o,emit:r}){const n=t,u=r,d=e.inject(a),c=e.ref(null);o({$el:c});const{reference:v,bus:f,aria:p,expanded:m}=e.inject(i,{});e.watch((()=>c.value),(e=>{v&&(v.value=e)}));const b=e.computed((()=>n.pressed||(null==m?void 0:m.value))),{role:y}=e.inject(s,{}),g=e.computed((()=>{switch(!0){case n.disabled:return l.button;case void 0!==n.to:return(null==d?void 0:d.nuxt)?l.nuxtLink:l.routerLink;case void 0!==n.href:return l.a;default:return n.defaultTag}})),k=e.computed((()=>{const e={...null==p?void 0:p.value,ariaPressed:!!b.value||void 0,ariaLabel:n.ariaLabel,role:null==y?void 0:y.value};switch(g.value){case l.a:return{...e,href:n.href,target:n.target,rel:n.rel};case l.routerLink:case l.nuxtLink:return{...e,to:n.to,target:n.target};case l.button:return{...e,type:n.type,disabled:n.disabled};default:return e}})),B=e=>{n.disabled?e.preventDefault():(null==f||f.emit("click",e),u("click",e))},h=e=>{null==f||f.emit("mouseover",e),u("mouseover",e)},x=e=>{null==f||f.emit("mouseleave",e),u("mouseleave",e)};return(t,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(g)),e.mergeProps(e.unref(k),{ref_key:"element",ref:c,class:{active:t.active,pressed:e.unref(b),disabled:t.disabled,current:t.current},onClickPassive:B,onMouseoverPassive:h,onMouseleavePassive:x}),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(t.label),1)]))])),_:3},16,["class"]))}}),h={class:"vv-nav__item",role:"presentation"},x=e.defineComponent({name:"VvNavItem",inheritAttrs:!1,setup:t=>(t,o)=>(e.openBlock(),e.createElementBlock("li",h,[e.createVNode(B,e.mergeProps(t.$attrs,{class:"vv-nav__item-label"}),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default")])),_:3},16)]))});return e.defineComponent({__name:"VvNav",props:g,emits:["click"],setup(t,{emit:o}){const r=t,{modifiers:n}=e.toRefs(r),l=o,a=e=>{var t;const o=e.target;if(null==o?void 0:o.dataset.index){const e=parseInt(o.dataset.index),n=null==(t=r.items)?void 0:t[e];if(!n||(null==n?void 0:n.disabled))return;l("click",n)}},i=function(t,o,r){return e.computed((()=>{const n={[t]:!0},l="string"==typeof(null==o?void 0:o.value)?o.value.split(" "):null==o?void 0:o.value;return l&&Array.isArray(l)&&l.forEach((e=>{e&&(n[`${t}--${e}`]=!0)})),r&&Object.keys(r.value).forEach((o=>{n[`${t}--${o}`]=e.unref(r.value[o])})),n}))}("vv-nav",n);return(t,o)=>(e.openBlock(),e.createElementBlock("nav",{class:e.normalizeClass(e.unref(i))},[e.createElementVNode("ul",{class:"vv-nav__menu",role:"menu","aria-busy":"true",onClick:e.withModifiers(a,["stop"])},[e.renderSlot(t.$slots,"default",{},(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(({on:o={},data:r,...n},l)=>(e.openBlock(),e.createBlock(x,e.mergeProps({key:l,"data-index":l},n,e.toHandlers(o)),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"item",e.normalizeProps(e.guardReactiveProps({item:n,data:r,index:l})))])),_:2},1040,["data-index"])))),128))]))])],2))}})}));
@@ -30,7 +30,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
30
30
  title?: string | undefined;
31
31
  to?: string | Record<string, unknown> | undefined;
32
32
  href?: string | undefined;
33
- target?: "_blank" | "_self" | "_parent" | "_top" | undefined;
33
+ target?: string | undefined;
34
34
  rel?: string | undefined;
35
35
  disabled?: boolean | undefined;
36
36
  current?: boolean | undefined;
@@ -1,4 +1,9 @@
1
1
  import { inject, defineComponent, ref, watch, computed, openBlock, createBlock, resolveDynamicComponent, unref, mergeProps, withCtx, renderSlot, createTextVNode, toDisplayString, createElementBlock, createVNode } from "vue";
2
+ var StorageType = /* @__PURE__ */ ((StorageType2) => {
3
+ StorageType2["local"] = "local";
4
+ StorageType2["session"] = "session";
5
+ return StorageType2;
6
+ })(StorageType || {});
2
7
  var Strategy = /* @__PURE__ */ ((Strategy2) => {
3
8
  Strategy2["absolute"] = "absolute";
4
9
  Strategy2["fixed"] = "fixed";
@@ -40,13 +45,6 @@ var ActionTag = /* @__PURE__ */ ((ActionTag2) => {
40
45
  ActionTag2["button"] = "button";
41
46
  return ActionTag2;
42
47
  })(ActionTag || {});
43
- var AnchorTarget = /* @__PURE__ */ ((AnchorTarget2) => {
44
- AnchorTarget2["_blank"] = "_blank";
45
- AnchorTarget2["_self"] = "_self";
46
- AnchorTarget2["_parent"] = "_parent";
47
- AnchorTarget2["_top"] = "_top";
48
- return AnchorTarget2;
49
- })(AnchorTarget || {});
50
48
  const INJECTION_KEY_VOLVER = Symbol.for("volver");
51
49
  const INJECTION_KEY_DROPDOWN_TRIGGER = Symbol.for(
52
50
  "dropdownTrigger"
@@ -69,11 +67,7 @@ const LinkProps = {
69
67
  /**
70
68
  * Anchor target
71
69
  */
72
- target: {
73
- type: String,
74
- default: void 0,
75
- validator: (value) => Object.values(AnchorTarget).includes(value)
76
- },
70
+ target: String,
77
71
  /**
78
72
  * Anchor rel
79
73
  */
@@ -269,6 +263,14 @@ const ActionProps = {
269
263
  default: ActionTag.button
270
264
  }
271
265
  };
266
+ ({
267
+ storageType: {
268
+ type: String,
269
+ default: StorageType.local,
270
+ validator: (value) => Object.values(StorageType).includes(value)
271
+ },
272
+ storageKey: String
273
+ });
272
274
  const VvActionEvents = ["click", "mouseover", "mouseleave"];
273
275
  const VvActionProps = ActionProps;
274
276
  function useVolver() {
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue")):"function"==typeof define&&define.amd?define(["vue"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvNavItem=t(e.vue)}(this,(function(e){"use strict";var t=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(t||{}),o=(e=>(e.before="before",e.after="after",e))(o||{}),r=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(r||{}),n=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(n||{}),l=(e=>(e._blank="_blank",e._self="_self",e._parent="_parent",e._top="_top",e))(l||{});const a=Symbol.for("volver"),u=Symbol.for("dropdownTrigger"),i=Symbol.for("dropdownAction"),s={to:{type:[String,Object]},href:String,target:{type:String,default:void 0,validator:e=>Object.values(l).includes(e)},rel:{type:String,default:"noopener noreferrer"}},d={disabled:{type:Boolean,default:!1}},c={active:{type:Boolean,default:!1}},f={current:{type:Boolean,default:!1}},v={pressed:{type:Boolean,default:!1}},p={label:{type:[String,Number],default:void 0}};o.before,t.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;const b={...d,...p,...v,...c,...f,...s,type:{type:String,default:r.button,validator:e=>Object.values(r).includes(e)},ariaLabel:{type:String,default:void 0},defaultTag:{type:String,default:n.button}};const m=e.defineComponent({name:"VvAction",props:b,emits:["click","mouseover","mouseleave"],setup(t,{expose:o,emit:r}){const l=t,s=r,d=e.inject(a),c=e.ref(null);o({$el:c});const{reference:f,bus:v,aria:p,expanded:b}=e.inject(u,{});e.watch((()=>c.value),(e=>{f&&(f.value=e)}));const m=e.computed((()=>l.pressed||(null==b?void 0:b.value))),{role:g}=e.inject(i,{}),y=e.computed((()=>{switch(!0){case l.disabled:return n.button;case void 0!==l.to:return(null==d?void 0:d.nuxt)?n.nuxtLink:n.routerLink;case void 0!==l.href:return n.a;default:return l.defaultTag}})),k=e.computed((()=>{const e={...null==p?void 0:p.value,ariaPressed:!!m.value||void 0,ariaLabel:l.ariaLabel,role:null==g?void 0:g.value};switch(y.value){case n.a:return{...e,href:l.href,target:l.target,rel:l.rel};case n.routerLink:case n.nuxtLink:return{...e,to:l.to,target:l.target};case n.button:return{...e,type:l.type,disabled:l.disabled};default:return e}})),B=e=>{l.disabled?e.preventDefault():(null==v||v.emit("click",e),s("click",e))},h=e=>{null==v||v.emit("mouseover",e),s("mouseover",e)},_=e=>{null==v||v.emit("mouseleave",e),s("mouseleave",e)};return(t,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(y)),e.mergeProps(e.unref(k),{ref_key:"element",ref:c,class:{active:t.active,pressed:e.unref(m),disabled:t.disabled,current:t.current},onClickPassive:B,onMouseoverPassive:h,onMouseleavePassive:_}),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(t.label),1)]))])),_:3},16,["class"]))}}),g={class:"vv-nav__item",role:"presentation"};return e.defineComponent({name:"VvNavItem",inheritAttrs:!1,setup:t=>(t,o)=>(e.openBlock(),e.createElementBlock("li",g,[e.createVNode(m,e.mergeProps(t.$attrs,{class:"vv-nav__item-label"}),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default")])),_:3},16)]))})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue")):"function"==typeof define&&define.amd?define(["vue"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvNavItem=t(e.vue)}(this,(function(e){"use strict";var t=(e=>(e.local="local",e.session="session",e))(t||{}),o=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(o||{}),n=(e=>(e.before="before",e.after="after",e))(n||{}),r=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(r||{}),l=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(l||{});const a=Symbol.for("volver"),u=Symbol.for("dropdownTrigger"),i=Symbol.for("dropdownAction"),s={to:{type:[String,Object]},href:String,target:String,rel:{type:String,default:"noopener noreferrer"}},d={disabled:{type:Boolean,default:!1}},c={active:{type:Boolean,default:!1}},f={current:{type:Boolean,default:!1}},v={pressed:{type:Boolean,default:!1}},p={label:{type:[String,Number],default:void 0}};n.before,o.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;const m={...d,...p,...v,...c,...f,...s,type:{type:String,default:r.button,validator:e=>Object.values(r).includes(e)},ariaLabel:{type:String,default:void 0},defaultTag:{type:String,default:l.button}};t.local;const b=m;const g=e.defineComponent({name:"VvAction",props:b,emits:["click","mouseover","mouseleave"],setup(t,{expose:o,emit:n}){const r=t,s=n,d=e.inject(a),c=e.ref(null);o({$el:c});const{reference:f,bus:v,aria:p,expanded:m}=e.inject(u,{});e.watch((()=>c.value),(e=>{f&&(f.value=e)}));const b=e.computed((()=>r.pressed||(null==m?void 0:m.value))),{role:g}=e.inject(i,{}),y=e.computed((()=>{switch(!0){case r.disabled:return l.button;case void 0!==r.to:return(null==d?void 0:d.nuxt)?l.nuxtLink:l.routerLink;case void 0!==r.href:return l.a;default:return r.defaultTag}})),k=e.computed((()=>{const e={...null==p?void 0:p.value,ariaPressed:!!b.value||void 0,ariaLabel:r.ariaLabel,role:null==g?void 0:g.value};switch(y.value){case l.a:return{...e,href:r.href,target:r.target,rel:r.rel};case l.routerLink:case l.nuxtLink:return{...e,to:r.to,target:r.target};case l.button:return{...e,type:r.type,disabled:r.disabled};default:return e}})),B=e=>{r.disabled?e.preventDefault():(null==v||v.emit("click",e),s("click",e))},h=e=>{null==v||v.emit("mouseover",e),s("mouseover",e)},S=e=>{null==v||v.emit("mouseleave",e),s("mouseleave",e)};return(t,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(y)),e.mergeProps(e.unref(k),{ref_key:"element",ref:c,class:{active:t.active,pressed:e.unref(b),disabled:t.disabled,current:t.current},onClickPassive:B,onMouseoverPassive:h,onMouseleavePassive:S}),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(t.label),1)]))])),_:3},16,["class"]))}}),y={class:"vv-nav__item",role:"presentation"};return e.defineComponent({name:"VvNavItem",inheritAttrs:!1,setup:t=>(t,o)=>(e.openBlock(),e.createElementBlock("li",y,[e.createVNode(g,e.mergeProps(t.$attrs,{class:"vv-nav__item-label"}),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default")])),_:3},16)]))})}));
@@ -1,4 +1,9 @@
1
1
  import { computed, unref, defineComponent, toRefs, openBlock, createElementBlock, mergeProps } from "vue";
2
+ var StorageType = /* @__PURE__ */ ((StorageType2) => {
3
+ StorageType2["local"] = "local";
4
+ StorageType2["session"] = "session";
5
+ return StorageType2;
6
+ })(StorageType || {});
2
7
  var Strategy = /* @__PURE__ */ ((Strategy2) => {
3
8
  Strategy2["absolute"] = "absolute";
4
9
  Strategy2["fixed"] = "fixed";
@@ -40,13 +45,6 @@ var ActionTag = /* @__PURE__ */ ((ActionTag2) => {
40
45
  ActionTag2["button"] = "button";
41
46
  return ActionTag2;
42
47
  })(ActionTag || {});
43
- var AnchorTarget = /* @__PURE__ */ ((AnchorTarget2) => {
44
- AnchorTarget2["_blank"] = "_blank";
45
- AnchorTarget2["_self"] = "_self";
46
- AnchorTarget2["_parent"] = "_parent";
47
- AnchorTarget2["_top"] = "_top";
48
- return AnchorTarget2;
49
- })(AnchorTarget || {});
50
48
  const LinkProps = {
51
49
  /**
52
50
  * The router-link/nuxt-link property, if it is defined the button is rendered as a ruouter-link or nuxt-link.
@@ -62,11 +60,7 @@ const LinkProps = {
62
60
  /**
63
61
  * Anchor target
64
62
  */
65
- target: {
66
- type: String,
67
- default: void 0,
68
- validator: (value) => Object.values(AnchorTarget).includes(value)
69
- },
63
+ target: String,
70
64
  /**
71
65
  * Anchor rel
72
66
  */
@@ -271,6 +265,14 @@ const ModifiersProps = {
271
265
  default: ActionTag.button
272
266
  }
273
267
  });
268
+ ({
269
+ storageType: {
270
+ type: String,
271
+ default: StorageType.local,
272
+ validator: (value) => Object.values(StorageType).includes(value)
273
+ },
274
+ storageKey: String
275
+ });
274
276
  const VvProgressProps = {
275
277
  ...ModifiersProps,
276
278
  /**
@@ -1 +1 @@
1
- !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o(require("vue")):"function"==typeof define&&define.amd?define(["vue"],o):(e="undefined"!=typeof globalThis?globalThis:e||self).VvProgress=o(e.vue)}(this,(function(e){"use strict";var o=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(o||{}),t=(e=>(e.before="before",e.after="after",e))(t||{}),r=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(r||{}),n=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(n||{});Boolean,Boolean,Boolean,Boolean;const u={modifiers:{type:[String,Array],default:void 0}};t.before,o.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,r.button,n.button;const l={...u,value:{type:[Number,String],default:void 0},max:{type:[Number,String]},label:{type:String,required:!0}};return e.defineComponent({name:"VvProgress",props:l,setup(o){const t=o,{value:r,max:n,label:u}=e.toRefs(t),l=e.computed((()=>void 0===t.value)),{modifiers:a}=e.toRefs(t),i=function(o,t,r){return e.computed((()=>{const n={[o]:!0},u="string"==typeof(null==t?void 0:t.value)?t.value.split(" "):null==t?void 0:t.value;return u&&Array.isArray(u)&&u.forEach((e=>{e&&(n[`${o}--${e}`]=!0)})),r&&Object.keys(r.value).forEach((t=>{n[`${o}--${t}`]=e.unref(r.value[t])})),n}))}("vv-progress",a,e.computed((()=>({indeterminate:l.value}))));return(o,t)=>(e.openBlock(),e.createElementBlock("progress",e.mergeProps({role:"progressbar"},{class:e.unref(i),ariaLabel:e.unref(u),max:e.unref(n),value:e.unref(r)}),null,16))}})}));
1
+ !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o(require("vue")):"function"==typeof define&&define.amd?define(["vue"],o):(e="undefined"!=typeof globalThis?globalThis:e||self).VvProgress=o(e.vue)}(this,(function(e){"use strict";var o=(e=>(e.local="local",e.session="session",e))(o||{}),t=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(t||{}),n=(e=>(e.before="before",e.after="after",e))(n||{}),r=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(r||{}),l=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(l||{});Boolean,Boolean,Boolean,Boolean;const u={modifiers:{type:[String,Array],default:void 0}};n.before,t.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,r.button,l.button,o.local;const a={...u,value:{type:[Number,String],default:void 0},max:{type:[Number,String]},label:{type:String,required:!0}};return e.defineComponent({name:"VvProgress",props:a,setup(o){const t=o,{value:n,max:r,label:l}=e.toRefs(t),u=e.computed((()=>void 0===t.value)),{modifiers:a}=e.toRefs(t),i=function(o,t,n){return e.computed((()=>{const r={[o]:!0},l="string"==typeof(null==t?void 0:t.value)?t.value.split(" "):null==t?void 0:t.value;return l&&Array.isArray(l)&&l.forEach((e=>{e&&(r[`${o}--${e}`]=!0)})),n&&Object.keys(n.value).forEach((t=>{r[`${o}--${t}`]=e.unref(n.value[t])})),r}))}("vv-progress",a,e.computed((()=>({indeterminate:u.value}))));return(o,t)=>(e.openBlock(),e.createElementBlock("progress",e.mergeProps({role:"progressbar"},{class:e.unref(i),ariaLabel:e.unref(l),max:e.unref(r),value:e.unref(n)}),null,16))}})}));
@@ -1,5 +1,10 @@
1
1
  import { inject, computed, toRef, toRefs, isRef, defineComponent, h, unref, useSlots, ref, openBlock, createElementBlock, normalizeClass, withDirectives, createElementVNode, vModelRadio, renderSlot, createTextVNode, toDisplayString, createVNode, createSlots, withCtx, normalizeProps, guardReactiveProps } from "vue";
2
2
  import { uid } from "uid";
3
+ var StorageType = /* @__PURE__ */ ((StorageType2) => {
4
+ StorageType2["local"] = "local";
5
+ StorageType2["session"] = "session";
6
+ return StorageType2;
7
+ })(StorageType || {});
3
8
  var Strategy = /* @__PURE__ */ ((Strategy2) => {
4
9
  Strategy2["absolute"] = "absolute";
5
10
  Strategy2["fixed"] = "fixed";
@@ -41,13 +46,6 @@ var ActionTag = /* @__PURE__ */ ((ActionTag2) => {
41
46
  ActionTag2["button"] = "button";
42
47
  return ActionTag2;
43
48
  })(ActionTag || {});
44
- var AnchorTarget = /* @__PURE__ */ ((AnchorTarget2) => {
45
- AnchorTarget2["_blank"] = "_blank";
46
- AnchorTarget2["_self"] = "_self";
47
- AnchorTarget2["_parent"] = "_parent";
48
- AnchorTarget2["_top"] = "_top";
49
- return AnchorTarget2;
50
- })(AnchorTarget || {});
51
49
  const INJECTION_KEY_VOLVER = Symbol.for("volver");
52
50
  const INJECTION_KEY_RADIO_GROUP = Symbol.for(
53
51
  "radioGroup"
@@ -67,11 +65,7 @@ const LinkProps = {
67
65
  /**
68
66
  * Anchor target
69
67
  */
70
- target: {
71
- type: String,
72
- default: void 0,
73
- validator: (value) => Object.values(AnchorTarget).includes(value)
74
- },
68
+ target: String,
75
69
  /**
76
70
  * Anchor rel
77
71
  */
@@ -377,6 +371,14 @@ const CheckboxRadioProps = {
377
371
  default: ActionTag.button
378
372
  }
379
373
  });
374
+ ({
375
+ storageType: {
376
+ type: String,
377
+ default: StorageType.local,
378
+ validator: (value) => Object.values(StorageType).includes(value)
379
+ },
380
+ storageKey: String
381
+ });
380
382
  function useInjectedGroupState(groupKey) {
381
383
  const group = inject(groupKey, void 0);
382
384
  const isInGroup = computed(() => group !== void 0);