@volverjs/ui-vue 0.0.10 → 0.0.11

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 (58) hide show
  1. package/dist/components/VvAccordion/VvAccordion.vue.d.ts +2 -1
  2. package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +3 -2
  3. package/dist/components/VvAction/VvAction.vue.d.ts +2 -1
  4. package/dist/components/VvAlert/VvAlert.es.js +8 -8
  5. package/dist/components/VvAlert/VvAlert.umd.js +1 -1
  6. package/dist/components/VvAlert/VvAlert.vue.d.ts +2 -1
  7. package/dist/components/VvAlertGroup/VvAlertGroup.es.js +8 -8
  8. package/dist/components/VvAlertGroup/VvAlertGroup.umd.js +1 -1
  9. package/dist/components/VvAlertGroup/VvAlertGroup.vue.d.ts +2 -1
  10. package/dist/components/VvAvatar/VvAvatar.vue.d.ts +2 -1
  11. package/dist/components/VvAvatarGroup/VvAvatarGroup.vue.d.ts +2 -1
  12. package/dist/components/VvBadge/VvBadge.vue.d.ts +2 -1
  13. package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +2 -1
  14. package/dist/components/VvButton/VvButton.es.js +8 -8
  15. package/dist/components/VvButton/VvButton.umd.js +1 -1
  16. package/dist/components/VvButton/VvButton.vue.d.ts +2 -1
  17. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +2 -1
  18. package/dist/components/VvCard/VvCard.vue.d.ts +2 -1
  19. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +3 -2
  20. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +2 -1
  21. package/dist/components/VvCombobox/VvCombobox.es.js +8 -8
  22. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  23. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +256 -317
  24. package/dist/components/VvDialog/VvDialog.vue.d.ts +2 -1
  25. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +2 -1
  26. package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +3 -2
  27. package/dist/components/VvDropdown/VvDropdownItem.vue.d.ts +2 -1
  28. package/dist/components/VvDropdown/VvDropdownOptgroup.vue.d.ts +2 -1
  29. package/dist/components/VvDropdown/VvDropdownOption.vue.d.ts +2 -1
  30. package/dist/components/VvIcon/VvIcon.es.js +8 -8
  31. package/dist/components/VvIcon/VvIcon.umd.js +1 -1
  32. package/dist/components/VvIcon/VvIcon.vue.d.ts +2 -1
  33. package/dist/components/VvInputFile/VvInputFile.es.js +8 -8
  34. package/dist/components/VvInputFile/VvInputFile.umd.js +1 -1
  35. package/dist/components/VvInputFile/VvInputFile.vue.d.ts +2 -1
  36. package/dist/components/VvInputText/VvInputText.es.js +8 -8
  37. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  38. package/dist/components/VvInputText/VvInputText.vue.d.ts +2 -1
  39. package/dist/components/VvNav/VvNav.vue.d.ts +2 -1
  40. package/dist/components/VvNav/VvNavItem.vue.d.ts +2 -1
  41. package/dist/components/VvNav/VvNavSeparator.vue.d.ts +2 -1
  42. package/dist/components/VvProgress/VvProgress.vue.d.ts +2 -1
  43. package/dist/components/VvRadio/VvRadio.vue.d.ts +3 -2
  44. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +2 -1
  45. package/dist/components/VvSelect/VvSelect.es.js +8 -8
  46. package/dist/components/VvSelect/VvSelect.umd.js +1 -1
  47. package/dist/components/VvSelect/VvSelect.vue.d.ts +128 -71
  48. package/dist/components/VvTab/VvTab.vue.d.ts +2 -1
  49. package/dist/components/VvTextarea/VvTextarea.es.js +8 -8
  50. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
  51. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +2 -1
  52. package/dist/components/VvTooltip/VvTooltip.vue.d.ts +2 -1
  53. package/dist/components/index.es.js +8 -8
  54. package/dist/components/index.umd.js +1 -1
  55. package/dist/icons.es.js +3 -3
  56. package/dist/icons.umd.js +1 -1
  57. package/dist/stories/AccordionGroup/AccordionGroupSlots.stories.d.ts +14 -14
  58. package/package.json +18 -18
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("@iconify/vue"),require("@vueuse/core"),require("dot-prop")):"function"==typeof define&&define.amd?define(["vue","@iconify/vue","@vueuse/core","dot-prop"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvSelect=t(e.vue,e.vue$1,e.core,e.dotProp)}(this,function(e,t,o,l){"use strict";const a={prefix:"normal"};var n=(e=>(e.local="local",e.session="session",e))(n||{}),i=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(i||{}),r=(e=>(e.before="before",e.after="after",e))(r||{}),u=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(u||{}),d=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(d||{});const s=Symbol.for("volver"),c={valid:{type:Boolean,default:!1},validLabel:{type:[String,Array],default:void 0}},v={invalid:{type:Boolean,default:!1},invalidLabel:{type:[String,Array],default:void 0}},p={loading:{type:Boolean,default:!1},loadingLabel:{type:String,default:"Loading..."}},f={disabled:{type:Boolean,default:!1}},m={showClearAction:{type:Boolean,default:!1},iconClear:{type:[String,Object],default:"close"},labelClear:{type:String,default:"Clear"}},b={label:{type:[String,Number],default:void 0}},h={readonly:{type:Boolean,default:!1}},y={modifiers:{type:[String,Array],default:void 0}},g={hintLabel:{type:String,default:""}},S={options:{type:Array,default:()=>[]},labelKey:{type:[String,Function],default:"label"},valueKey:{type:[String,Function],default:"value"},disabledKey:{type:[String,Function],default:"disabled"}},B={icon:{type:[String,Object],default:void 0},iconPosition:{type:String,default:r.before,validation:e=>Object.values(r).includes(e)}},k={tabindex:{type:[String,Number],default:0}},L={floating:{type:Boolean,default:!1}},$={unselectable:{type:Boolean,default:!0}},V={id:[String,Number]};i.bottom;const O={...V,name:{type:String,required:!0}},C={autofocus:{type:Boolean,default:!1}},w={autocomplete:{type:String,default:"off"}};u.button,d.button,n.local;const P={...O,...C,...w,...k,...c,...v,...g,...p,...f,...h,...y,...S,...B,...L,...$,...b,...m,multiple:Boolean,required:Boolean,size:[String,Number],modelValue:{type:[String,Number,Boolean,Object,Array],default:void 0},autoselectFirst:{type:Boolean,default:!1},placeholder:String};function I(){return{...P,options:{...P.options,type:Array,default:()=>[]}}}function x(e){return Array.isArray(e)?e.filter(e=>"string"==typeof e).join(" "):e}function A(){return e.inject(s,void 0)}function _(t,o,l){return e.computed(()=>{const a={[t]:!0},n="string"==typeof o?.value?o.value.split(" "):o?.value;return n&&Array.isArray(n)&&n.forEach(e=>{e&&(a[`${t}--${e}`]=!0)}),l&&Object.keys(l.value).forEach(o=>{a[`${t}--${o}`]=e.unref(l.value[o])}),a})}const E=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:{}},a),setup(o){const l=o,a=e.computed(()=>"string"==typeof l.rotate?Number.parseFloat(l.rotate):l.rotate),n=e.ref(!0),i=A(),{modifiers:r}=e.toRefs(l),u=_("vv-icon",r),d=e.computed(()=>l.provider||i?.iconsProvider),s=e.computed(()=>{const e=l.name??"",o=`@${d.value}:${l.prefix}:${e}`;if(t.iconLoaded(o))return o;const a=i?.iconsCollections.find(o=>{const l=`@${d.value}:${o.prefix}:${e}`;return t.iconLoaded(l)});return a?`@${d.value}:${a.prefix}:${e}`:e});function c(e){const o=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=o?.innerHTML.trim()||"";o&&a&&t.addIcon(`@${d.value}:${l.prefix}:${l.name}`,{body:a,height:o.viewBox.baseVal.height,width:o.viewBox.baseVal.width})}return i&&l.src&&!t.iconLoaded(`@${d.value}:${l.prefix}:${l.name}`)&&(n.value=!1,i.fetchIcon(l.src).then(e=>{e&&(c(e),n.value=!0)}).catch(e=>{throw new Error(`Error during fetch icon: ${e?.message}`)})),l.svg&&c(l.svg),(o,l)=>e.unref(n)?(e.openBlock(),e.createBlock(e.unref(t.Icon),e.mergeProps({key:0,class:e.unref(u)},{inline:o.inline,width:o.width,height:o.height,horizontalFlip:o.horizontalFlip,verticalFlip:o.verticalFlip,flip:o.flip,rotate:e.unref(a),color:o.color,icon:e.unref(s)},{onLoad:o.onLoad}),null,16,["class","onLoad"])):e.createCommentVNode("v-if",!0)}});function N(t,o){const l=e.computed(()=>"string"==typeof t?.value?{name:t?.value}:t?.value),a=e.computed(()=>o?.value===r.before?l.value:void 0),n=e.computed(()=>o?.value===r.after?l.value:void 0),u=e.computed(()=>o?.value===i.left?l.value:void 0),d=e.computed(()=>o?.value===i.right?l.value:void 0),s=e.computed(()=>o?.value===i.top?l.value:void 0),c=e.computed(()=>o?.value===i.bottom?l.value:void 0);return{hasIcon:l,hasIconLeft:u,hasIconRight:d,hasIconTop:s,hasIconBottom:c,hasIconBefore:a,hasIconAfter:n}}const F=e.defineComponent({components:{VvIcon:E},props:{inputType:{type:String,default:"input-text"},disabled:{type:Boolean,default:!1},label:{type:String,default:"Clear"},icon:{type:[String,Object],default:"close"}},emits:["clear"],setup(t,{emit:o}){const{hasIcon:l}=N(e.computed(()=>t.icon));return{hasIcon:l,onClick:function(e){e?.stopPropagation(),t.disabled||o("clear")}}},render(){const t=this.hasIcon?e.h(E,{...this.hasIcon,class:`vv-${this.inputType}__icon`}):void 0;return e.h("button",{disabled:this.disabled,class:`vv-${this.inputType}__action`,ariaLabel:this.label,type:"button",onClick:this.onClick},t)}});const j=["for"],z={class:"vv-select__wrapper"},R={key:0,class:"vv-select__input-before"},D={class:"vv-select__inner"},q=["id"],H=["disabled","hidden"],T=["disabled","value"],K=["disabled","label"],M=["disabled","value"],J={key:2,class:"vv-select__input-after"};return e.defineComponent({name:"VvSelect",props:I(),emits:["update:modelValue","focus","blur","clear"],setup(t,{emit:a}){const n=t,i=a,r=e.useSlots(),u=function(t,o,l){const a=A(),n=e.computed(()=>{if(a&&a.defaults.value?.[t])return a.defaults.value[t]});return e.computed(()=>{if(void 0===n.value)return l;const e=n.value,t=o,a=l;return Object.keys(t).reduce((o,l)=>{const n=a[l];if(o[l]=n,l in e){if(Array.isArray(t[l])){const a=t[l];a.length&&a[0]===n&&(o[l]=e[l])}if("function"==typeof t[l]&&(0,t[l])()===n&&(o[l]=e[l]),"object"==typeof t[l]){let a=t[l].default;"function"==typeof a&&(a=a()),"object"==typeof a?JSON.stringify(a)===JSON.stringify(n)&&(o[l]=e[l]):a===n&&(o[l]=e[l])}}return o},{})})}("VvSelect",I(),n),d=e.ref(),{HintSlot:s,hasHintLabelOrSlot:c,hasInvalidLabelOrSlot:v,hintSlotScope:p}=function(t,o){const l=e.computed(()=>e.isRef(t)?t.value:t),a=e.computed(()=>x(l.value.invalidLabel)),n=e.computed(()=>x(l.value.validLabel)),i=e.computed(()=>l.value.loadingLabel),r=e.computed(()=>l.value.hintLabel),u=e.computed(()=>Boolean(l.value.loading&&(o.loading||i.value))),d=e.computed(()=>!u.value&&Boolean(l.value.invalid&&(o.invalid||a.value))),s=e.computed(()=>!u.value&&!d.value&&Boolean(l.value.valid&&(o.valid||n.value))),c=e.computed(()=>!u.value&&!d.value&&!s.value&&Boolean(o.hint||r.value)),v=e.computed(()=>d.value||s.value||u.value||c.value),p=e.computed(()=>({modelValue:l.value.modelValue,valid:l.value.valid,invalid:l.value.invalid,loading:l.value.loading})),f=e.defineComponent({name:"HintSlot",props:{tag:{type:String,default:"small"}},setup:()=>({isVisible:v,invalidLabel:a,validLabel:n,loadingLabel:i,hintLabel:r,hasInvalidLabelOrSlot:d,hasValidLabelOrSlot:s,hasLoadingLabelOrSlot:u,hasHintLabelOrSlot:c}),render(){if(this.isVisible){let t;return this.hasInvalidLabelOrSlot&&(t="alert"),this.hasValidLabelOrSlot&&(t="status"),this.hasLoadingLabelOrSlot?e.h(this.tag,{role:t},this.$slots.loading?.()??this.loadingLabel):this.hasInvalidLabelOrSlot?e.h(this.tag,{role:t},this.$slots.invalid?.()??this.$slots.invalid??this.invalidLabel):this.hasValidLabelOrSlot?e.h(this.tag,{role:t},this.$slots.valid?.()??this.validLabel):e.h(this.tag,{role:t},this.$slots.hint?.()??this.$slots.hint??this.hintLabel)}return null}});return{hasInvalidLabelOrSlot:d,hasHintLabelOrSlot:c,hasValidLabelOrSlot:s,hasLoadingLabelOrSlot:u,hintSlotScope:p,HintSlot:f}}(u,r),{focused:f}=function(t,l){const{focused:a}=o.useFocus(t);return e.watch(a,o=>{l(o?"focus":"blur",e.unref(t))}),{focused:a}}(d,i);function m(e){return"string"!=typeof e&&e.options?.length}const{id:b,modifiers:h,disabled:y,readonly:g,loading:S,icon:B,iconPosition:k,invalid:L,valid:$,floating:V,multiple:O}=e.toRefs(n),C=function(t){return e.computed(()=>String(t?.value||e.useId()))}(b),w=e.computed(()=>`${C.value}-hint`),P=e.computed(()=>n.disabled||n.readonly),G=e.computed(()=>P.value?-1:n.tabindex),U=e.computed({get:()=>n.modelValue,set:e=>{Array.isArray(e)&&0===(e=e.filter(e=>void 0!==e)).length&&!n.unselectable&&d.value?d.value.value=String(n.modelValue):i("update:modelValue",e)}}),Q=e.computed(()=>Array.isArray(U.value)?U.value.length>0:void 0!==U.value&&null!==U.value),W=e.computed(()=>!P.value&&n.unselectable),X=o.useElementVisibility(d);e.watch(X,e=>{e&&n.autofocus&&(f.value=!0)});const{hasIconBefore:Y,hasIconAfter:Z}=N(B,k),ee=e.computed(()=>!0===n.invalid||!0!==n.valid&&void 0),te=_("vv-select",h,e.computed(()=>({valid:$.value,invalid:L.value,loading:S.value,disabled:y.value,readonly:g.value,"icon-before":void 0!==Y.value,"icon-after":void 0!==Z.value,dirty:Q.value,focus:f.value&&!P.value,floating:V.value,multiple:O.value}))),{getOptionLabel:oe,getOptionValue:le,isOptionDisabled:ae,getOptionGrouped:ne}=function(t){const{options:o,labelKey:a,valueKey:n,disabledKey:i}=e.toRefs(t);return{options:o,getOptionLabel:e=>"string"==typeof e?e:"function"==typeof a.value?a.value(e):String(a.value?l.getProperty(e,a.value):e),getOptionValue:e=>"string"==typeof e?e:"function"==typeof n.value?n.value(e):n.value?l.getProperty(e,n.value):e,isOptionDisabled:e=>"string"!=typeof e&&("function"==typeof i.value?i.value(e):!!i.value&&Boolean(l.getProperty(e,i.value))),getOptionGrouped:e=>"string"==typeof e?[]:"object"==typeof e&&e&&"options"in e?e.options:[]}}(n);function ie(){Array.isArray(U.value)?U.value=[]:U.value=void 0,i("clear")}e.watch(()=>n.options,e=>{if(e?.length&&n.autoselectFirst&&!Q.value){const t=le(e[0]);U.value=n.multiple?[t]:t}},{immediate:!0});const re=e.computed(()=>({name:n.name,tabindex:G.value,disabled:P.value,required:n.required,size:n.size,autocomplete:n.autocomplete,multiple:n.multiple,"aria-invalid":ee.value,"aria-describedby":c.value?w.value:void 0,"aria-errormessage":v.value?w.value:void 0})),ue=e.computed(()=>({valid:n.valid,invalid:n.invalid,modelValue:n.modelValue}));return(t,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(te))},[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(C)},e.toDisplayString(t.label),9,j)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",z,[t.$slots.before?(e.openBlock(),e.createElementBlock("div",R,[e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(ue))))])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",D,[e.unref(Y)?(e.openBlock(),e.createBlock(E,e.mergeProps({key:0},e.unref(Y),{class:"vv-select__icon"}),null,16)):e.createCommentVNode("v-if",!0),e.withDirectives(e.createElementVNode("select",e.mergeProps({id:e.unref(C),ref_key:"selectEl",ref:d},e.unref(re),{"onUpdate:modelValue":o[0]||(o[0]=t=>e.isRef(U)?U.value=t:null)}),[t.placeholder?(e.openBlock(),e.createElementBlock("option",{key:0,value:void 0,disabled:!e.unref(W),hidden:!e.unref(W)},e.toDisplayString(t.placeholder),9,H)):e.createCommentVNode("v-if",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,(t,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[m(t)?(e.openBlock(),e.createElementBlock("optgroup",{key:`group-${o}`,disabled:e.unref(ae)(t),label:e.unref(oe)(t)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(ne)(t),(t,l)=>(e.openBlock(),e.createElementBlock("option",{key:`group-${o}-item-${l}`,disabled:e.unref(ae)(t),value:e.unref(le)(t)},e.toDisplayString(e.unref(oe)(t)),9,M))),128))],8,K)):(e.openBlock(),e.createElementBlock("option",{key:o,disabled:e.unref(ae)(t),value:e.unref(le)(t)},e.toDisplayString(e.unref(oe)(t)),9,T))],64))),256))],16,q),[[e.vModelSelect,e.unref(U)]]),e.unref(Z)?(e.openBlock(),e.createBlock(E,e.mergeProps({key:1},e.unref(Z),{class:"vv-select__icon vv-select__icon-after"}),null,16)):e.createCommentVNode("v-if",!0)]),e.unref(W)&&e.unref(u).showClearAction?(e.openBlock(),e.createBlock(e.unref(F),{key:1,"input-type":"select",label:t.labelClear,icon:t.iconClear,disabled:!e.unref(Q),onClear:ie},null,8,["label","icon","disabled"])):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(ue))))])):e.createCommentVNode("v-if",!0)]),e.createVNode(e.unref(s),{id:e.unref(w),class:"vv-select__hint"},e.createSlots({_:2},[t.$slots.hint?{name:"hint",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps(e.unref(p))))]),key:"0"}:void 0,t.$slots.loading?{name:"loading",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"loading",e.normalizeProps(e.guardReactiveProps(e.unref(p))))]),key:"1"}:void 0,t.$slots.valid?{name:"valid",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"valid",e.normalizeProps(e.guardReactiveProps(e.unref(p))))]),key:"2"}:void 0,t.$slots.invalid?{name:"invalid",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"invalid",e.normalizeProps(e.guardReactiveProps(e.unref(p))))]),key:"3"}:void 0]),1032,["id"])],2))}})});
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("@iconify/vue"),require("@vueuse/core"),require("dot-prop")):"function"==typeof define&&define.amd?define(["vue","@iconify/vue","@vueuse/core","dot-prop"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvSelect=t(e.vue,e.vue$1,e.core,e.dotProp)}(this,function(e,t,o,l){"use strict";const a={prefix:"normal"};var n=(e=>(e.local="local",e.session="session",e))(n||{}),i=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(i||{}),r=(e=>(e.before="before",e.after="after",e))(r||{}),u=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(u||{}),d=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(d||{});const s=Symbol.for("volver"),c={valid:{type:Boolean,default:!1},validLabel:{type:[String,Array],default:void 0}},v={invalid:{type:Boolean,default:!1},invalidLabel:{type:[String,Array],default:void 0}},p={loading:{type:Boolean,default:!1},loadingLabel:{type:String,default:"Loading..."}},f={disabled:{type:Boolean,default:!1}},m={showClearAction:{type:Boolean,default:!1},iconClear:{type:[String,Object],default:"close"},labelClear:{type:String,default:"Clear"}},b={label:{type:[String,Number],default:void 0}},h={readonly:{type:Boolean,default:!1}},y={modifiers:{type:[String,Array],default:void 0}},g={hintLabel:{type:String,default:""}},S={options:{type:Array,default:()=>[]},labelKey:{type:[String,Function],default:"label"},valueKey:{type:[String,Function],default:"value"},disabledKey:{type:[String,Function],default:"disabled"}},B={icon:{type:[String,Object],default:void 0},iconPosition:{type:String,default:r.before,validation:e=>Object.values(r).includes(e)}},k={tabindex:{type:[String,Number],default:0}},L={floating:{type:Boolean,default:!1}},$={unselectable:{type:Boolean,default:!0}},V={id:[String,Number]};i.bottom;const O={...V,name:{type:String,required:!0}},C={autofocus:{type:Boolean,default:!1}},w={autocomplete:{type:String,default:"off"}};u.button,d.button,n.local;const P={...O,...C,...w,...k,...c,...v,...g,...p,...f,...h,...y,...S,...B,...L,...$,...b,...m,multiple:Boolean,required:Boolean,size:[String,Number],modelValue:{type:[String,Number,Boolean,Object,Array],default:void 0},autoselectFirst:{type:Boolean,default:!1},placeholder:String};function I(){return{...P,options:{...P.options,type:Array,default:()=>[]}}}function x(e){return Array.isArray(e)?e.filter(e=>"string"==typeof e).join(" "):e}function A(){return e.inject(s,void 0)}function _(t,o,l){return e.computed(()=>{const a={[t]:!0},n="string"==typeof o?.value?o.value.split(" "):o?.value;return n&&Array.isArray(n)&&n.forEach(e=>{e&&(a[`${t}--${e}`]=!0)}),l&&Object.keys(l.value).forEach(o=>{a[`${t}--${o}`]=e.unref(l.value[o])}),a})}const E=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:{}},a),setup(o){const l=o,a=e.computed(()=>"string"==typeof l.rotate?Number.parseFloat(l.rotate):l.rotate),n=e.ref(!0),i=A(),{modifiers:r}=e.toRefs(l),u=_("vv-icon",r),d=e.computed(()=>l.provider||i?.iconsProvider),s=e.computed(()=>{const e=l.name??"",o=`@${d.value}:${l.prefix}:${e}`;if(t.iconLoaded(o))return o;const a=i?.iconsCollections.find(o=>{const l=`@${d.value}:${o.prefix}:${e}`;return t.iconLoaded(l)});return a?`@${d.value}:${a.prefix}:${e}`:e});function c(e){const o=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=o?.innerHTML.trim()||"";o&&a&&t.addIcon(`@${d.value}:${l.prefix}:${l.name}`,{body:a,height:o.viewBox.baseVal.height,width:o.viewBox.baseVal.width})}return i&&l.src&&!t.iconLoaded(`@${d.value}:${l.prefix}:${l.name}`)&&(n.value=!1,i.fetchIcon(l.src).then(e=>{e&&(c(e),n.value=!0)}).catch(e=>{throw new Error(`Error during fetch icon: ${e?.message}`)})),l.svg&&c(l.svg),(l,i)=>e.unref(n)?(e.openBlock(),e.createBlock(e.unref(t.Icon),e.mergeProps({key:0,class:e.unref(u)},{inline:o.inline,width:o.width,height:o.height,horizontalFlip:o.horizontalFlip,verticalFlip:o.verticalFlip,flip:o.flip,rotate:e.unref(a),color:o.color,icon:e.unref(s)},{onLoad:o.onLoad}),null,16,["class","onLoad"])):e.createCommentVNode("v-if",!0)}});function N(t,o){const l=e.computed(()=>"string"==typeof t?.value?{name:t?.value}:t?.value),a=e.computed(()=>o?.value===r.before?l.value:void 0),n=e.computed(()=>o?.value===r.after?l.value:void 0),u=e.computed(()=>o?.value===i.left?l.value:void 0),d=e.computed(()=>o?.value===i.right?l.value:void 0),s=e.computed(()=>o?.value===i.top?l.value:void 0),c=e.computed(()=>o?.value===i.bottom?l.value:void 0);return{hasIcon:l,hasIconLeft:u,hasIconRight:d,hasIconTop:s,hasIconBottom:c,hasIconBefore:a,hasIconAfter:n}}const F=e.defineComponent({components:{VvIcon:E},props:{inputType:{type:String,default:"input-text"},disabled:{type:Boolean,default:!1},label:{type:String,default:"Clear"},icon:{type:[String,Object],default:"close"}},emits:["clear"],setup(t,{emit:o}){const{hasIcon:l}=N(e.computed(()=>t.icon));return{hasIcon:l,onClick:function(e){e?.stopPropagation(),t.disabled||o("clear")}}},render(){const t=this.hasIcon?e.h(E,{...this.hasIcon,class:`vv-${this.inputType}__icon`}):void 0;return e.h("button",{disabled:this.disabled,class:`vv-${this.inputType}__action`,ariaLabel:this.label,type:"button",onClick:this.onClick},t)}});const j=["for"],z={class:"vv-select__wrapper"},R={key:0,class:"vv-select__input-before"},D={class:"vv-select__inner"},q=["id"],H=["disabled","hidden"],T=["disabled","value"],K=["disabled","label"],M=["disabled","value"],J={key:2,class:"vv-select__input-after"};return e.defineComponent({name:"VvSelect",props:I(),emits:["update:modelValue","focus","blur","clear"],setup(t,{emit:a}){const n=t,i=a,r=e.useSlots(),u=function(t,o,l){const a=A(),n=e.computed(()=>{if(a&&a.defaults.value?.[t])return a.defaults.value[t]});return e.computed(()=>{if(void 0===n.value)return l;const e=n.value,t=o,a=l;return Object.keys(t).reduce((o,l)=>{const n=a[l];if(o[l]=n,l in e){if(Array.isArray(t[l])){const a=t[l];a.length&&a[0]===n&&(o[l]=e[l])}if("function"==typeof t[l]&&(0,t[l])()===n&&(o[l]=e[l]),"object"==typeof t[l]){let a=t[l].default;"function"==typeof a&&(a=a()),"object"==typeof a?JSON.stringify(a)===JSON.stringify(n)&&(o[l]=e[l]):a===n&&(o[l]=e[l])}}return o},{})})}("VvSelect",I(),n),d=e.ref(),{HintSlot:s,hasHintLabelOrSlot:c,hasInvalidLabelOrSlot:v,hintSlotScope:p}=function(t,o){const l=e.computed(()=>e.isRef(t)?t.value:t),a=e.computed(()=>x(l.value.invalidLabel)),n=e.computed(()=>x(l.value.validLabel)),i=e.computed(()=>l.value.loadingLabel),r=e.computed(()=>l.value.hintLabel),u=e.computed(()=>Boolean(l.value.loading&&(o.loading||i.value))),d=e.computed(()=>!u.value&&Boolean(l.value.invalid&&(o.invalid||a.value))),s=e.computed(()=>!u.value&&!d.value&&Boolean(l.value.valid&&(o.valid||n.value))),c=e.computed(()=>!u.value&&!d.value&&!s.value&&Boolean(o.hint||r.value)),v=e.computed(()=>d.value||s.value||u.value||c.value),p=e.computed(()=>({modelValue:l.value.modelValue,valid:l.value.valid,invalid:l.value.invalid,loading:l.value.loading})),f=e.defineComponent({name:"HintSlot",props:{tag:{type:String,default:"small"}},setup:()=>({isVisible:v,invalidLabel:a,validLabel:n,loadingLabel:i,hintLabel:r,hasInvalidLabelOrSlot:d,hasValidLabelOrSlot:s,hasLoadingLabelOrSlot:u,hasHintLabelOrSlot:c}),render(){if(this.isVisible){let t;return this.hasInvalidLabelOrSlot&&(t="alert"),this.hasValidLabelOrSlot&&(t="status"),this.hasLoadingLabelOrSlot?e.h(this.tag,{role:t},this.$slots.loading?.()??this.loadingLabel):this.hasInvalidLabelOrSlot?e.h(this.tag,{role:t},this.$slots.invalid?.()??this.$slots.invalid??this.invalidLabel):this.hasValidLabelOrSlot?e.h(this.tag,{role:t},this.$slots.valid?.()??this.validLabel):e.h(this.tag,{role:t},this.$slots.hint?.()??this.$slots.hint??this.hintLabel)}return null}});return{hasInvalidLabelOrSlot:d,hasHintLabelOrSlot:c,hasValidLabelOrSlot:s,hasLoadingLabelOrSlot:u,hintSlotScope:p,HintSlot:f}}(u,r),{focused:f}=function(t,l){const{focused:a}=o.useFocus(t);return e.watch(a,o=>{l(o?"focus":"blur",e.unref(t))}),{focused:a}}(d,i);function m(e){return"string"!=typeof e&&e.options?.length}const{id:b,modifiers:h,disabled:y,readonly:g,loading:S,icon:B,iconPosition:k,invalid:L,valid:$,floating:V,multiple:O}=e.toRefs(n),C=function(t){return e.computed(()=>String(t?.value||e.useId()))}(b),w=e.computed(()=>`${C.value}-hint`),P=e.computed(()=>n.disabled||n.readonly),G=e.computed(()=>P.value?-1:n.tabindex),U=e.computed({get:()=>n.modelValue,set:e=>{Array.isArray(e)&&0===(e=e.filter(e=>void 0!==e)).length&&!n.unselectable&&d.value?d.value.value=String(n.modelValue):i("update:modelValue",e)}}),Q=e.computed(()=>Array.isArray(U.value)?U.value.length>0:void 0!==U.value&&null!==U.value),W=e.computed(()=>!P.value&&n.unselectable),X=o.useElementVisibility(d);e.watch(X,e=>{e&&n.autofocus&&(f.value=!0)});const{hasIconBefore:Y,hasIconAfter:Z}=N(B,k),ee=e.computed(()=>!0===n.invalid||!0!==n.valid&&void 0),te=_("vv-select",h,e.computed(()=>({valid:$.value,invalid:L.value,loading:S.value,disabled:y.value,readonly:g.value,"icon-before":void 0!==Y.value,"icon-after":void 0!==Z.value,dirty:Q.value,focus:f.value&&!P.value,floating:V.value,multiple:O.value}))),{getOptionLabel:oe,getOptionValue:le,isOptionDisabled:ae,getOptionGrouped:ne}=function(t){const{options:o,labelKey:a,valueKey:n,disabledKey:i}=e.toRefs(t);return{options:o,getOptionLabel:e=>"string"==typeof e?e:"function"==typeof a.value?a.value(e):String(a.value?l.getProperty(e,a.value):e),getOptionValue:e=>"string"==typeof e?e:"function"==typeof n.value?n.value(e):n.value?l.getProperty(e,n.value):e,isOptionDisabled:e=>"string"!=typeof e&&("function"==typeof i.value?i.value(e):!!i.value&&Boolean(l.getProperty(e,i.value))),getOptionGrouped:e=>"string"==typeof e?[]:"object"==typeof e&&e&&"options"in e?e.options:[]}}(n);function ie(){Array.isArray(U.value)?U.value=[]:U.value=void 0,i("clear")}e.watch(()=>n.options,e=>{if(e?.length&&n.autoselectFirst&&!Q.value){const t=le(e[0]);U.value=n.multiple?[t]:t}},{immediate:!0});const re=e.computed(()=>({name:n.name,tabindex:G.value,disabled:P.value,required:n.required,size:n.size,autocomplete:n.autocomplete,multiple:n.multiple,"aria-invalid":ee.value,"aria-describedby":c.value?w.value:void 0,"aria-errormessage":v.value?w.value:void 0})),ue=e.computed(()=>({valid:n.valid,invalid:n.invalid,modelValue:n.modelValue}));return(t,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(te))},[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(C)},e.toDisplayString(t.label),9,j)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",z,[t.$slots.before?(e.openBlock(),e.createElementBlock("div",R,[e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(ue))))])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",D,[e.unref(Y)?(e.openBlock(),e.createBlock(E,e.mergeProps({key:0},e.unref(Y),{class:"vv-select__icon"}),null,16)):e.createCommentVNode("v-if",!0),e.withDirectives(e.createElementVNode("select",e.mergeProps({id:e.unref(C),ref_key:"selectEl",ref:d},e.unref(re),{"onUpdate:modelValue":o[0]||(o[0]=t=>e.isRef(U)?U.value=t:null)}),[t.placeholder?(e.openBlock(),e.createElementBlock("option",{key:0,value:void 0,disabled:!e.unref(W),hidden:!e.unref(W)},e.toDisplayString(t.placeholder),9,H)):e.createCommentVNode("v-if",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,(t,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[m(t)?(e.openBlock(),e.createElementBlock("optgroup",{key:`group-${o}`,disabled:e.unref(ae)(t),label:e.unref(oe)(t)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(ne)(t),(t,l)=>(e.openBlock(),e.createElementBlock("option",{key:`group-${o}-item-${l}`,disabled:e.unref(ae)(t),value:e.unref(le)(t)},e.toDisplayString(e.unref(oe)(t)),9,M))),128))],8,K)):(e.openBlock(),e.createElementBlock("option",{key:o,disabled:e.unref(ae)(t),value:e.unref(le)(t)},e.toDisplayString(e.unref(oe)(t)),9,T))],64))),256))],16,q),[[e.vModelSelect,e.unref(U)]]),e.unref(Z)?(e.openBlock(),e.createBlock(E,e.mergeProps({key:1},e.unref(Z),{class:"vv-select__icon vv-select__icon-after"}),null,16)):e.createCommentVNode("v-if",!0)]),e.unref(W)&&e.unref(u).showClearAction?(e.openBlock(),e.createBlock(e.unref(F),{key:1,"input-type":"select",label:t.labelClear,icon:t.iconClear,disabled:!e.unref(Q),onClear:ie},null,8,["label","icon","disabled"])):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(ue))))])):e.createCommentVNode("v-if",!0)]),e.createVNode(e.unref(s),{id:e.unref(w),class:"vv-select__hint"},e.createSlots({_:2},[t.$slots.hint?{name:"hint",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps(e.unref(p))))]),key:"0"}:void 0,t.$slots.loading?{name:"loading",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"loading",e.normalizeProps(e.guardReactiveProps(e.unref(p))))]),key:"1"}:void 0,t.$slots.valid?{name:"valid",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"valid",e.normalizeProps(e.guardReactiveProps(e.unref(p))))]),key:"2"}:void 0,t.$slots.invalid?{name:"invalid",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"invalid",e.normalizeProps(e.guardReactiveProps(e.unref(p))))]),key:"3"}:void 0]),1032,["id"])],2))}})});
@@ -1,75 +1,131 @@
1
1
  import type { Option } from '../../types/generic';
2
- declare const _default: <T extends string | Option>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
3
- props: __VLS_PrettifyLocal<Pick<Partial<{
4
- floating: boolean;
5
- label: string | number;
6
- disabled: boolean;
7
- modelValue: string | number | boolean | unknown[] | Record<string, any>;
8
- modifiers: string | string[];
9
- icon: string | import("../VvIcon").VvIconProps;
10
- iconPosition: "before" | "after";
11
- required: boolean;
12
- loading: boolean;
13
- loadingLabel: string;
14
- unselectable: boolean;
15
- multiple: boolean;
16
- readonly: boolean;
17
- hintLabel: string;
18
- invalid: boolean;
19
- invalidLabel: string | unknown[];
20
- valid: boolean;
21
- validLabel: string | unknown[];
22
- tabindex: string | number;
23
- options: T[];
24
- labelKey: string | Function;
25
- valueKey: string | Function;
26
- disabledKey: string | Function;
27
- autoselectFirst: boolean;
28
- showClearAction: boolean;
29
- iconClear: string | import("../VvIcon").VvIconProps;
30
- labelClear: string;
31
- autocomplete: string;
32
- autofocus: boolean;
33
- }> & Omit<{
34
- readonly floating: boolean;
35
- readonly disabled: boolean;
36
- readonly iconPosition: "before" | "after";
37
- readonly required: boolean;
38
- readonly loading: boolean;
39
- readonly loadingLabel: string;
40
- readonly unselectable: boolean;
41
- readonly multiple: boolean;
42
- readonly readonly: boolean;
43
- readonly hintLabel: string;
44
- readonly invalid: boolean;
45
- readonly valid: boolean;
46
- readonly tabindex: string | number;
47
- readonly options: T[];
48
- readonly labelKey: string | Function;
49
- readonly valueKey: string | Function;
50
- readonly disabledKey: string | Function;
51
- readonly autoselectFirst: boolean;
52
- readonly showClearAction: boolean;
53
- readonly iconClear: string | import("../VvIcon").VvIconProps;
54
- readonly labelClear: string;
55
- readonly autocomplete: string;
56
- readonly autofocus: boolean;
57
- readonly size?: string | number | undefined;
58
- readonly name?: string | undefined;
59
- readonly label?: string | number | undefined;
60
- readonly modelValue?: string | number | boolean | unknown[] | Record<string, any> | undefined;
61
- readonly modifiers?: string | string[] | undefined;
62
- readonly id?: string | number | undefined;
63
- readonly placeholder?: string | undefined;
64
- readonly icon?: string | import("../VvIcon").VvIconProps | undefined;
65
- readonly invalidLabel?: string | unknown[] | undefined;
66
- readonly validLabel?: string | unknown[] | undefined;
67
- readonly onClear?: (() => any) | undefined;
68
- readonly "onUpdate:modelValue"?: ((args_0: any) => any) | undefined;
69
- readonly onBlur?: ((args_0: import("@vueuse/core").MaybeElement) => any) | undefined;
70
- readonly onFocus?: ((args_0: import("@vueuse/core").MaybeElement) => any) | undefined;
71
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "floating" | "label" | "disabled" | "modelValue" | "modifiers" | "icon" | "iconPosition" | "required" | "loading" | "loadingLabel" | "unselectable" | "multiple" | "readonly" | "hintLabel" | "invalid" | "invalidLabel" | "valid" | "validLabel" | "tabindex" | "options" | "labelKey" | "valueKey" | "disabledKey" | "autoselectFirst" | "showClearAction" | "iconClear" | "labelClear" | "autocomplete" | "autofocus">, "size" | "name" | "id" | "onFocus" | "onBlur" | "placeholder" | "onClear" | "onUpdate:modelValue" | ("floating" | "label" | "disabled" | "modelValue" | "modifiers" | "icon" | "iconPosition" | "required" | "loading" | "loadingLabel" | "unselectable" | "multiple" | "readonly" | "hintLabel" | "invalid" | "invalidLabel" | "valid" | "validLabel" | "tabindex" | "options" | "labelKey" | "valueKey" | "disabledKey" | "autoselectFirst" | "showClearAction" | "iconClear" | "labelClear" | "autocomplete" | "autofocus")> & {} & {}> & import("vue").PublicProps;
72
- expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
2
+ declare const __VLS_export: <T extends string | Option>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
3
+ props: __VLS_PrettifyLocal<import("vue").ExtractPublicPropTypes<{
4
+ options: {
5
+ type: globalThis.PropType<T[]>;
6
+ default: () => never[];
7
+ };
8
+ multiple: BooleanConstructor;
9
+ required: BooleanConstructor;
10
+ size: (StringConstructor | NumberConstructor)[];
11
+ modelValue: {
12
+ type: (ObjectConstructor | ArrayConstructor | BooleanConstructor | StringConstructor | NumberConstructor)[];
13
+ default: undefined;
14
+ };
15
+ autoselectFirst: {
16
+ type: BooleanConstructor;
17
+ default: boolean;
18
+ };
19
+ placeholder: StringConstructor;
20
+ showClearAction: {
21
+ type: BooleanConstructor;
22
+ default: boolean;
23
+ };
24
+ iconClear: {
25
+ type: PropType<string | import("../VvIcon").VvIconProps>;
26
+ default: "close";
27
+ };
28
+ labelClear: {
29
+ type: StringConstructor;
30
+ default: string;
31
+ };
32
+ label: {
33
+ type: (StringConstructor | NumberConstructor)[];
34
+ default: undefined;
35
+ };
36
+ unselectable: {
37
+ type: BooleanConstructor;
38
+ default: boolean;
39
+ };
40
+ floating: {
41
+ type: BooleanConstructor;
42
+ default: boolean;
43
+ };
44
+ icon: {
45
+ type: PropType<string | import("../VvIcon").VvIconProps>;
46
+ default: undefined;
47
+ };
48
+ iconPosition: {
49
+ type: PropType<`${import("../../constants").Position}`>;
50
+ default: import("../../constants").Position;
51
+ validation: (value: import("../../constants").Position) => boolean;
52
+ };
53
+ labelKey: {
54
+ type: (StringConstructor | FunctionConstructor)[];
55
+ default: string;
56
+ };
57
+ valueKey: {
58
+ type: (StringConstructor | FunctionConstructor)[];
59
+ default: string;
60
+ };
61
+ disabledKey: {
62
+ type: (StringConstructor | FunctionConstructor)[];
63
+ default: string;
64
+ };
65
+ modifiers: {
66
+ type: PropType<string | string[]>;
67
+ default: undefined;
68
+ };
69
+ readonly: {
70
+ type: BooleanConstructor;
71
+ default: boolean;
72
+ };
73
+ disabled: {
74
+ type: BooleanConstructor;
75
+ default: boolean;
76
+ };
77
+ loading: {
78
+ type: BooleanConstructor;
79
+ default: boolean;
80
+ };
81
+ loadingLabel: {
82
+ type: StringConstructor;
83
+ default: string;
84
+ };
85
+ hintLabel: {
86
+ type: StringConstructor;
87
+ default: string;
88
+ };
89
+ invalid: {
90
+ type: BooleanConstructor;
91
+ default: boolean;
92
+ };
93
+ invalidLabel: {
94
+ type: (ArrayConstructor | StringConstructor)[];
95
+ default: undefined;
96
+ };
97
+ valid: {
98
+ type: BooleanConstructor;
99
+ default: boolean;
100
+ };
101
+ validLabel: {
102
+ type: (ArrayConstructor | StringConstructor)[];
103
+ default: undefined;
104
+ };
105
+ tabindex: {
106
+ type: (StringConstructor | NumberConstructor)[];
107
+ default: number;
108
+ };
109
+ autocomplete: {
110
+ type: StringConstructor;
111
+ default: string;
112
+ };
113
+ autofocus: {
114
+ type: BooleanConstructor;
115
+ default: boolean;
116
+ };
117
+ name: {
118
+ type: StringConstructor;
119
+ required: boolean;
120
+ };
121
+ id: (StringConstructor | NumberConstructor)[];
122
+ }> & {
123
+ onClear?: (() => any) | undefined;
124
+ "onUpdate:modelValue"?: ((args_0: any) => any) | undefined;
125
+ onBlur?: ((args_0: import("@vueuse/core").MaybeElement) => any) | undefined;
126
+ onFocus?: ((args_0: import("@vueuse/core").MaybeElement) => any) | undefined;
127
+ }> & import("vue").PublicProps;
128
+ expose: (exposed: {}) => void;
73
129
  attrs: any;
74
130
  slots: {
75
131
  before?: (props: {
@@ -116,6 +172,7 @@ declare const _default: <T extends string | Option>(__VLS_props: NonNullable<Awa
116
172
  }>) => import("vue").VNode & {
117
173
  __ctx?: Awaited<typeof __VLS_setup>;
118
174
  };
175
+ declare const _default: typeof __VLS_export;
119
176
  export default _default;
120
177
  type __VLS_PrettifyLocal<T> = {
121
178
  [K in keyof T as K]: T[K];
@@ -1,5 +1,5 @@
1
1
  import type { NavItemTab } from '@/types/nav';
2
- declare const _default: __VLS_WithSlots<import("vue").DefineComponent<globalThis.ExtractPropTypes<{
2
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<globalThis.ExtractPropTypes<{
3
3
  navModifiers: {
4
4
  type: PropType<string | string[]>;
5
5
  };
@@ -55,6 +55,7 @@ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<globalThis
55
55
  index: number;
56
56
  }) => any;
57
57
  }>;
58
+ declare const _default: typeof __VLS_export;
58
59
  export default _default;
59
60
  type __VLS_WithSlots<T, S> = T & {
60
61
  new (): {
@@ -1402,16 +1402,16 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
1402
1402
  key: 0,
1403
1403
  class: unref(bemCssClasses)
1404
1404
  }, {
1405
- inline: _ctx.inline,
1406
- width: _ctx.width,
1407
- height: _ctx.height,
1408
- horizontalFlip: _ctx.horizontalFlip,
1409
- verticalFlip: _ctx.verticalFlip,
1410
- flip: _ctx.flip,
1405
+ inline: __props.inline,
1406
+ width: __props.width,
1407
+ height: __props.height,
1408
+ horizontalFlip: __props.horizontalFlip,
1409
+ verticalFlip: __props.verticalFlip,
1410
+ flip: __props.flip,
1411
1411
  rotate: unref(hasRotate),
1412
- color: _ctx.color,
1412
+ color: __props.color,
1413
1413
  icon: unref(icon)
1414
- }, { onLoad: _ctx.onLoad }), null, 16, ["class", "onLoad"])) : createCommentVNode("v-if", true);
1414
+ }, { onLoad: __props.onLoad }), null, 16, ["class", "onLoad"])) : createCommentVNode("v-if", true);
1415
1415
  };
1416
1416
  }
1417
1417
  });
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("@floating-ui/vue"),require("@vueuse/core"),require("mitt"),require("@iconify/vue")):"function"==typeof define&&define.amd?define(["vue","@floating-ui/vue","@vueuse/core","mitt","@iconify/vue"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvTextarea=t(e.vue,e.vue$1,e.core,e.mitt,e.vue$2)}(this,function(e,t,o,a,l){"use strict";const n={prefix:"normal"};var r=(e=>(e.local="local",e.session="session",e))(r||{}),i=(e=>(e.absolute="absolute",e.fixed="fixed",e))(i||{}),u=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(u||{}),s=(e=>(e.topStart="top-start",e.topEnd="top-end",e.bottomStart="bottom-start",e.bottomEnd="bottom-end",e.leftStart="left-start",e.leftEnd="left-end",e.rightStart="right-start",e.rightEnd="right-end",e))(s||{}),d=(e=>(e.before="before",e.after="after",e))(d||{}),c=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(c||{}),f=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(f||{}),v=(e=>(e.button="button",e.link="link",e.menuitem="menuitem",e))(v||{}),p=(e=>(e.listbox="listbox",e.menu="menu",e))(p||{}),m=(e=>(e.option="option",e.presentation="presentation",e))(m||{});const g=Symbol.for("volver"),h=Symbol.for("dropdownTrigger"),b=Symbol.for("dropdownItem"),y=Symbol.for("dropdownAction"),S={valid:{type:Boolean,default:!1},validLabel:{type:[String,Array],default:void 0}},x={invalid:{type:Boolean,default:!1},invalidLabel:{type:[String,Array],default:void 0}},w={loading:{type:Boolean,default:!1},loadingLabel:{type:String,default:"Loading..."}},k={disabled:{type:Boolean,default:!1}},L={required:{type:Boolean,default:!1}},B={selected:{type:Boolean,default:!1}},$={label:{type:[String,Number],default:void 0}},V={readonly:{type:Boolean,default:!1}},E={modifiers:{type:[String,Array],default:void 0}},O={hintLabel:{type:String,default:""}},P={count:{type:[Boolean,String],default:!1,validator:e=>[!0,!1,"limit","countdown"].includes(e)}},C={debounce:{type:[Number,String],default:void 0}},N={icon:{type:[String,Object],default:void 0},iconPosition:{type:String,default:d.before,validation:e=>Object.values(d).includes(e)}},_={tabindex:{type:[String,Number],default:0}},z={floating:{type:Boolean,default:!1}},R={unselectable:{type:Boolean,default:!0}},F={id:[String,Number]},I={placement:{type:String,default:u.bottom,validator:e=>Object.values(u).includes(e)||Object.values(s).includes(e)},strategy:{type:String,default:void 0,validator:e=>Object.values(i).includes(e)},transitionName:{type:String,default:void 0},offset:{type:[Number,String,Object],default:0},shift:{type:[Boolean,Object],default:!1},flip:{type:[Boolean,Object],default:!0},size:{type:[Boolean,Object],default:()=>({padding:10})},autoPlacement:{type:[Boolean,Object],default:!1},arrow:{type:Boolean,default:!1},keepOpen:{type:Boolean,default:!1},autofocusFirst:{type:Boolean,default:!0},triggerWidth:{type:Boolean,default:!1}},j={...{...F,name:{type:String,required:!0}},...{autofocus:{type:Boolean,default:!1}},...{autocomplete:{type:String,default:"off"}},..._,...k,...V,...S,...x,...O,...w,...E,...P,...C,...N,...z,...$,minlength:{type:[String,Number],default:void 0},maxlength:{type:[String,Number],default:void 0},placeholder:{type:String,default:void 0},...L};c.button,f.button;const A={...j,...{storageType:{type:String,default:r.local,validator:e=>Object.values(r).includes(e)},storageKey:String},modelValue:String,cols:{type:[String,Number],default:20},rows:{type:[String,Number],default:2},wrap:{type:String,default:"soft"},spellcheck:{type:[Boolean,String],default:"default"},iconRemoveSuggestion:{type:[String,Object],default:"trash"},labelRemoveSuggestion:{type:String,default:"Remove suggestion"},maxSuggestions:{type:Number,default:5},selectOnFocus:{type:Boolean,default:!1},resizable:Boolean};function H(t){return null==(o=e.unref(t))||""===o||Array.isArray(o)&&0===o.length||!(o instanceof Date)&&"object"==typeof o&&0===Object.keys(o).length;var o}function T(e){return Array.isArray(e)?e.filter(e=>"string"==typeof e).join(" "):e}const D={...F,...I,...E,modelValue:{type:Boolean,default:void 0},reference:{type:Object,default:null},role:{type:String,default:p.menu,validator:e=>Object.values(p).includes(e)}},q={focusOnHover:{type:Boolean,default:!1}},M={...k,...B,...R,...E,deselectHintLabel:{type:String},selectHintLabel:{type:String},selectedHintLabel:{type:String},focusOnHover:{type:Boolean,default:!1}};function W(t){return e.computed(()=>String(t?.value||e.useId()))}function K(t,o,a){return e.computed(()=>{const l={[t]:!0},n="string"==typeof o?.value?o.value.split(" "):o?.value;return n&&Array.isArray(n)&&n.forEach(e=>{e&&(l[`${t}--${e}`]=!0)}),a&&Object.keys(a.value).forEach(o=>{l[`${t}--${o}`]=e.unref(a.value[o])}),l})}const J=["id","tabindex","role","aria-labelledby"],U=e.defineComponent({name:"VvDropdown",inheritAttrs:!1,props:D,emits:["update:modelValue","beforeEnter","afterLeave","beforeExpand","beforeCollapse","afterExpand","afterCollapse","before-enter","after-leave","enter","afterEnter","enterCancelled","beforeLeave","leave","leaveCancelled"],setup(l,{expose:n,emit:r}){const s=l,d=r,{id:c}=e.toRefs(s),f=W(c),v=e.useAttrs(),g=e.ref("auto"),y=e.ref("auto"),S=e.ref(),x=e.ref(),w=e.ref(),k=e.ref(),L=e.computed({get:()=>s.reference??S.value,set:e=>{S.value=e}}),B=e.ref(!1);e.onMounted(()=>{o.useMutationObserver(x.value,()=>{B.value="true"===window.getComputedStyle(x.value).getPropertyValue("--dropdown-custom-position")?.trim()},{attributeFilter:["style"],window:window})});const $=e.computed(()=>{const e=[];if(s.autoPlacement?"boolean"==typeof s.autoPlacement?e.push(t.autoPlacement()):e.push(t.autoPlacement(s.autoPlacement)):s.flip&&("boolean"==typeof s.flip?e.push(t.flip({fallbackStrategy:"initialPlacement"})):e.push(t.flip(s.flip))),s.shift&&("boolean"==typeof s.shift?e.push(t.shift()):e.push(t.shift(s.shift))),s.size){const o=({availableWidth:e,availableHeight:t})=>{g.value=`${e}px`,y.value=`${t}px`};"boolean"==typeof s.size?e.push(t.size({apply:o})):e.push(t.size({...s.size,apply:o}))}return s.offset&&(e.push(t.offset(Number(s.offset))),["string","number"].includes(typeof s.offset)?e.push(t.offset(Number(s.offset))):e.push(t.offset(s.offset))),s.arrow&&e.push(t.arrow({element:w})),e}),{x:V,y:E,middlewareData:O,placement:P,strategy:C}=t.useFloating(L,x,{whileElementsMounted:(...e)=>t.autoUpdate(...e,{animationFrame:s.strategy===i.fixed}),placement:e.computed(()=>s.placement),strategy:e.computed(()=>s.strategy),middleware:$}),N=e.computed(()=>{if(B.value)return;const e=s.triggerWidth&&L.value?`${L.value?.offsetWidth}px`:void 0;return{position:C.value,top:`${E.value??0}px`,left:`${V.value??0}px`,maxWidth:e?void 0:g.value,maxHeight:y.value,width:e}}),_=e.computed(()=>P.value.split("-")[0]),z=e.computed(()=>{if(B.value)return;const e={[u.top]:u.bottom,[u.right]:u.left,[u.bottom]:u.top,[u.left]:u.right}[_.value];return{left:void 0!==O.value.arrow?.x?`${O.value.arrow?.x}px`:void 0,top:void 0!==O.value.arrow?.y?`${O.value.arrow?.y}px`:void 0,[e]:-(w.value?.offsetWidth??0)/2+"px"}}),R=o.useVModel(s,"modelValue",d),F=e.ref(!1),I=e.computed({get:()=>R.value??F.value,set:e=>{void 0!==R.value?R.value=e:F.value=e}});function j(){I.value=!0}function A(){I.value=!1}function H(){I.value=!I.value}function T(e){L.value=e}o.onClickOutside(x,()=>{!s.keepOpen&&I.value&&(I.value=!1)},{ignore:[L]});const D=e.computed(()=>L.value?.getAttribute?.("id")??void 0),q=e.computed(()=>({"aria-controls":f.value,"aria-haspopup":!0,"aria-expanded":I.value})),{component:M,bus:U}=function({reference:t,id:o,expanded:l,aria:n}){const r=a(),i=e.defineComponent({name:"VvDropdownTriggerProvider",setup(){e.provide(h,{reference:t,id:o,expanded:l,aria:n,bus:r})},render(){return e.h(e.Fragment,{},this.$slots.default?.())}});return{bus:r,component:i}}({reference:L,id:f,expanded:I,aria:q});U.on("click",H);const{role:G,modifiers:Q}=e.toRefs(s),X=K("vv-dropdown",Q,e.computed(()=>({arrow:s.arrow}))),{focused:Y}=o.useFocusWithin(x);function Z(e){return e?[...e.querySelectorAll('a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])')].filter(e=>!e.hasAttribute("disabled")&&!e.getAttribute("aria-hidden")):[]}function ee(){e.nextTick(()=>{const e=Z(x.value);e.length>0&&e[0].focus({preventScroll:!0})})}function te(){e.nextTick(()=>{if(Y.value){const e=Z(x.value);if(0===e.length||!document.activeElement)return;const t=e.indexOf(document.activeElement);t<e.length-1?e[t+1].focus({preventScroll:!0}):e[0].focus({preventScroll:!0})}})}function oe(){e.nextTick(()=>{if(Y.value){const e=Z(x.value);if(0===e.length||!document.activeElement)return;const t=e.indexOf(document.activeElement);t>0?e[t-1].focus({preventScroll:!0}):e[e.length-1].focus({preventScroll:!0})}})}e.watch(I,e=>{e&&s.autofocusFirst&&ee()}),n({toggle:H,show:j,hide:A,init:T,focusFirst:ee,focusFirstListElement:function(){e.nextTick(()=>{const e=Z(k.value);e.length>0&&e[0].focus({preventScroll:!0})})},focusNext:te,focusPrev:oe,customPosition:B});const ae=o.useElementHover(x),{itemRole:le}=function({role:t,...o}){const a=e.computed(()=>t.value===p.listbox?m.option:m.presentation);return e.provide(b,{role:a,...o}),{itemRole:a}}({role:G,expanded:I,focused:Y,hovered:ae});o.onKeyStroke("Escape",e=>{I.value&&(e.preventDefault(),A())}),o.onKeyStroke("ArrowDown",e=>{I.value&&Y.value&&(e.preventDefault(),te())}),o.onKeyStroke("ArrowUp",e=>{I.value&&Y.value&&(e.preventDefault(),oe())}),o.onKeyStroke([" ","Enter"],e=>{const t=e.target;I.value&&Y.value&&t&&t?.click()});const ne={"before-enter":()=>{d(I.value?"beforeExpand":"beforeCollapse"),d("beforeEnter")},"after-leave":()=>{d(I.value?"afterExpand":"afterCollapse"),d("afterLeave")},enter:()=>{d("enter")},"after-enter":()=>{d("afterEnter")},"enter-cancelled":()=>{d("enterCancelled")},"before-leave":()=>{d("beforeLeave")},leave:()=>{d("leave")},"leave-cancelled":()=>{d("leaveCancelled")}};return(t,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(M),null,{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps({init:T,show:j,hide:A,toggle:H,expanded:e.unref(I),aria:e.unref(q)})))]),_:3}),e.createVNode(e.Transition,e.mergeProps({name:t.transitionName},e.toHandlers(ne),{persisted:""}),{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"floatingEl",ref:x,style:e.normalizeStyle(e.unref(N)),class:e.normalizeClass(e.unref(X))},[s.arrow?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"arrowEl",ref:w,style:e.normalizeStyle(e.unref(z)),class:"vv-dropdown__arrow"},null,4)):e.createCommentVNode("v-if",!0),e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(I)}))),e.createElementVNode("div",e.mergeProps(e.unref(v),{id:e.unref(f),ref_key:"listEl",ref:k,tabindex:e.unref(I)?void 0:-1,role:e.unref(G),"aria-labelledby":e.unref(D),class:"vv-dropdown__list"}),[e.renderSlot(t.$slots,"items",e.normalizeProps(e.guardReactiveProps({role:e.unref(le)})))],16,J),e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(I)})))],6),[[e.vShow,e.unref(I)]])]),_:3},16,["name"])],64))}});const G=e.defineComponent({name:"VvDropdownItem",props:q,setup(t){const a=t,{role:l,expanded:n}=e.inject(b,{}),r=e.ref(null);!function({expanded:t}){e.provide(y,{role:e.ref(v.menuitem),expanded:t})}({expanded:n});const i=o.useElementHover(r),{focused:u}=o.useFocus(r),{focused:s}=o.useFocusWithin(r);return e.watch(i,e=>{e&&a.focusOnHover&&(u.value=!0)}),(t,o)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({role:e.unref(l)},{ref_key:"element",ref:r,class:["vv-dropdown__item",{"focus-visible":e.unref(u)||e.unref(s)}]}),[e.renderSlot(t.$slots,"default")],16))}}),Q=["title"],X=e.defineComponent({name:"VvDropdownOption",props:M,setup(t){const o=t,{modifiers:a}=e.toRefs(o),l=K("vv-dropdown-option",a,e.computed(()=>({disabled:o.disabled,selected:o.selected,unselectable:o.unselectable&&o.selected}))),n=e.computed(()=>o.selected?o.unselectable?o.deselectHintLabel:o.selectedHintLabel:o.disabled?"":o.selectHintLabel);return(t,o)=>(e.openBlock(),e.createBlock(G,{class:e.normalizeClass(e.unref(l)),tabindex:t.disabled?-1:0,"aria-selected":t.selected,"aria-disabled":t.disabled,"focus-on-hover":t.focusOnHover},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default"),e.createElementVNode("span",{class:"vv-dropdown-option__hint",title:e.unref(n)},[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps({disabled:t.disabled,selected:t.selected,unselectable:t.unselectable})),()=>[e.createTextVNode(e.toDisplayString(e.unref(n)),1)])],8,Q)]),_:3},8,["class","tabindex","aria-selected","aria-disabled","focus-on-hover"]))}});function Y(){return e.inject(g,void 0)}const Z=e.defineComponent({name:"VvIcon",props:e.mergeDefaults({name:{},color:{},width:{},height:{},provider:{},prefix:{},src:{},horizontalFlip:{type:Boolean},verticalFlip:{type:Boolean},flip:{},mode:{},inline:{type:Boolean},rotate:{},onLoad:{type:Function},svg:{},modifiers:{}},n),setup(t){const o=t,a=e.computed(()=>"string"==typeof o.rotate?Number.parseFloat(o.rotate):o.rotate),n=e.ref(!0),r=Y(),{modifiers:i}=e.toRefs(o),u=K("vv-icon",i),s=e.computed(()=>o.provider||r?.iconsProvider),d=e.computed(()=>{const e=o.name??"",t=`@${s.value}:${o.prefix}:${e}`;if(l.iconLoaded(t))return t;const a=r?.iconsCollections.find(t=>{const o=`@${s.value}:${t.prefix}:${e}`;return l.iconLoaded(o)});return a?`@${s.value}:${a.prefix}:${e}`:e});function c(e){const t=function(e){let t;if("undefined"==typeof window){const{JSDOM:e}=require("jsdom");t=(new e).window}return(t?new t.DOMParser:new window.DOMParser).parseFromString(e,"text/html").querySelector("svg")}(e),a=t?.innerHTML.trim()||"";t&&a&&l.addIcon(`@${s.value}:${o.prefix}:${o.name}`,{body:a,height:t.viewBox.baseVal.height,width:t.viewBox.baseVal.width})}return r&&o.src&&!l.iconLoaded(`@${s.value}:${o.prefix}:${o.name}`)&&(n.value=!1,r.fetchIcon(o.src).then(e=>{e&&(c(e),n.value=!0)}).catch(e=>{throw new Error(`Error during fetch icon: ${e?.message}`)})),o.svg&&c(o.svg),(t,o)=>e.unref(n)?(e.openBlock(),e.createBlock(e.unref(l.Icon),e.mergeProps({key:0,class:e.unref(u)},{inline:t.inline,width:t.width,height:t.height,horizontalFlip:t.horizontalFlip,verticalFlip:t.verticalFlip,flip:t.flip,rotate:e.unref(a),color:t.color,icon:e.unref(d)},{onLoad:t.onLoad}),null,16,["class","onLoad"])):e.createCommentVNode("v-if",!0)}});function ee(t,o){const a=e.computed(()=>"string"==typeof t?.value?{name:t?.value}:t?.value),l=e.computed(()=>o?.value===d.before?a.value:void 0),n=e.computed(()=>o?.value===d.after?a.value:void 0),r=e.computed(()=>o?.value===u.left?a.value:void 0),i=e.computed(()=>o?.value===u.right?a.value:void 0),s=e.computed(()=>o?.value===u.top?a.value:void 0),c=e.computed(()=>o?.value===u.bottom?a.value:void 0);return{hasIcon:a,hasIconLeft:r,hasIconRight:i,hasIconTop:s,hasIconBottom:c,hasIconBefore:l,hasIconAfter:n}}const te=["for"],oe={key:0,class:"vv-textarea__input-before"},ae={class:"vv-textarea__inner"},le=["id"],ne={key:1,class:"vv-textarea__input-after"},re={key:2,class:"vv-textarea__limit"},ie={class:"flex-1"},ue=["title","onClick"];return e.defineComponent({name:"VvTextarea",props:A,emits:["update:modelValue","focus","blur","keyup","suggestion:selected","suggestion:removed"],setup(t,{emit:a}){const l=t,n=a,i=e.useSlots(),u=Y(),s=function(t,o,a){const l=Y(),n=e.computed(()=>{if(l&&l.defaults.value?.[t])return l.defaults.value[t]});return e.computed(()=>{if(void 0===n.value)return a;const e=n.value,t=o,l=a;return Object.keys(t).reduce((o,a)=>{const n=l[a];if(o[a]=n,a in e){if(Array.isArray(t[a])){const l=t[a];l.length&&l[0]===n&&(o[a]=e[a])}if("function"==typeof t[a]&&(0,t[a])()===n&&(o[a]=e[a]),"object"==typeof t[a]){let l=t[a].default;"function"==typeof l&&(l=l()),"object"==typeof l?JSON.stringify(l)===JSON.stringify(n)&&(o[a]=e[a]):l===n&&(o[a]=e[a])}}return o},{})})}("VvTextarea",A,l),d=e.ref(),c=e.ref(),f=e.ref(),{id:v,icon:p,iconPosition:m,iconRemoveSuggestion:g,labelRemoveSuggestion:h,label:b,modelValue:y,count:S,valid:x,invalid:w,loading:k,modifiers:L,debounce:B,minlength:$,maxlength:V,storageType:E}=e.toRefs(l),O=W(v),P=e.computed(()=>`${O.value}-hint`),C=e.computed(()=>l.floating&&H(l.placeholder)?" ":l.placeholder),N=function(t,o,a=0,{getter:l=e=>e,setter:n=e=>e}={}){let r;return"string"==typeof a&&(a=Number.parseInt(a)),e.computed({get:()=>l(t?.value),set:e=>{r&&clearTimeout(r),r=setTimeout(()=>{o("update:modelValue",n(e))},a)}})}(y,n,B?.value),{hasIconBefore:_,hasIconAfter:z}=ee(p,m),{hasIcon:R}=ee(g),{focused:F}=function(t,a){const{focused:l}=o.useFocus(t);return e.watch(l,o=>{a(o?"focus":"blur",e.unref(t))}),{focused:l}}(d,n),I=e.computed(()=>F.value&&!l.disabled&&!l.readonly);e.watch(I,e=>{if(e&&s.value.selectOnFocus&&d.value&&d.value.select(),e&&se.value?.size)f.value?.show();else if(J.value&&se.value){const e=l.maxSuggestions;se.value.size>=e&&!se.value.has(N.value)&&(se.value=new Set([...se.value].slice(se.value.size-e+1))),se.value.add(N.value)}});const j=o.useElementVisibility(d);e.watch(j,e=>{e&&l.autofocus&&(F.value=!0)});const{formatted:D}=function(t,o){const a=e.computed(()=>(e.unref(t)??"").length),l=e.computed(()=>void 0!==o?.lowerLimit&&a.value<o?.lowerLimit?a.value-o.lowerLimit:void 0!==o?.upperLimit&&a.value<o?.upperLimit?o.upperLimit-a.value:0),n=e.computed(()=>{if(!1===o?.mode)return"";if("limit"===o?.mode&&o?.upperLimit)return`${a.value} / ${o.lowerLimit?`${o.lowerLimit}-`:""}${o.upperLimit}`;if("countdown"===o?.mode){if(0===l.value)return;return l}return a.value});return{length:a,gap:l,formatted:n}}(N,{mode:S?.value,upperLimit:Number(V?.value),lowerLimit:Number($?.value)}),q=e.computed(()=>!l.disabled&&!l.readonly),M=e.computed(()=>q.value?l.tabindex:-1),J=e.computed(()=>!H(y)),G=e.computed(()=>!0===l.invalid||!0!==l.valid&&void 0),Q=e.computed(()=>l.storageKey??(u?.experimentalFeatures.forceInputSuggestions?l.name:void 0)),se=function(t,a=r.local,l){const n=e.ref();let i;return l&&(n.value=l),e.onMounted(()=>{t&&e.watch(t,(t,l)=>{const u=e.unref(a)===r.session?sessionStorage:localStorage;if(l&&l!==t&&u.removeItem(l),t)return i=o.useStorage(t,i?.value??n.value,u),void(i.value&&(n.value=i.value));i=void 0},{immediate:!0}),e.isRef(a)&&e.watch(a,(e,a)=>{if(t?.value){if(e){const a=e===r.session?sessionStorage:localStorage;i=o.useStorage(t.value,i?.value??n.value,a)}a&&a!==e&&(a===r.session?sessionStorage:localStorage).removeItem(t.value)}})}),e.watch(n,e=>{i&&(i.value=e)},{deep:!0,immediate:!0}),n}(Q,E,new Set),de=e.computed(()=>se.value?[...se.value].filter(e=>H(N.value)||`${e}`.toLowerCase().includes(`${N.value}`.toLowerCase())&&e!==N.value).reverse():[]),ce=e.computed(()=>Q?.value&&se.value&&se.value.size>0);const{HintSlot:fe,hasHintLabelOrSlot:ve,hasInvalidLabelOrSlot:pe,hintSlotScope:me}=function(t,o){const a=e.computed(()=>e.isRef(t)?t.value:t),l=e.computed(()=>T(a.value.invalidLabel)),n=e.computed(()=>T(a.value.validLabel)),r=e.computed(()=>a.value.loadingLabel),i=e.computed(()=>a.value.hintLabel),u=e.computed(()=>Boolean(a.value.loading&&(o.loading||r.value))),s=e.computed(()=>!u.value&&Boolean(a.value.invalid&&(o.invalid||l.value))),d=e.computed(()=>!u.value&&!s.value&&Boolean(a.value.valid&&(o.valid||n.value))),c=e.computed(()=>!u.value&&!s.value&&!d.value&&Boolean(o.hint||i.value)),f=e.computed(()=>s.value||d.value||u.value||c.value),v=e.computed(()=>({modelValue:a.value.modelValue,valid:a.value.valid,invalid:a.value.invalid,loading:a.value.loading})),p=e.defineComponent({name:"HintSlot",props:{tag:{type:String,default:"small"}},setup:()=>({isVisible:f,invalidLabel:l,validLabel:n,loadingLabel:r,hintLabel:i,hasInvalidLabelOrSlot:s,hasValidLabelOrSlot:d,hasLoadingLabelOrSlot:u,hasHintLabelOrSlot:c}),render(){if(this.isVisible){let t;return this.hasInvalidLabelOrSlot&&(t="alert"),this.hasValidLabelOrSlot&&(t="status"),this.hasLoadingLabelOrSlot?e.h(this.tag,{role:t},this.$slots.loading?.()??this.loadingLabel):this.hasInvalidLabelOrSlot?e.h(this.tag,{role:t},this.$slots.invalid?.()??this.$slots.invalid??this.invalidLabel):this.hasValidLabelOrSlot?e.h(this.tag,{role:t},this.$slots.valid?.()??this.validLabel):e.h(this.tag,{role:t},this.$slots.hint?.()??this.$slots.hint??this.hintLabel)}return null}});return{hasInvalidLabelOrSlot:s,hasHintLabelOrSlot:c,hasValidLabelOrSlot:d,hasLoadingLabelOrSlot:u,hintSlotScope:v,HintSlot:p}}(s,i),ge=K("vv-textarea",L,e.computed(()=>({valid:x.value,invalid:w.value,loading:k.value,disabled:l.disabled,readonly:l.readonly,required:l.required,"icon-before":void 0!==_.value,"icon-after":void 0!==z.value,floating:l.floating&&!H(l.label),dirty:J.value,focus:F.value,resizable:l.resizable}))),he=e.computed(()=>({name:l.name,placeholder:C.value,tabindex:M.value,disabled:l.disabled,readonly:l.readonly,required:l.required,autocomplete:l.autocomplete,minlength:l.minlength,maxlength:l.maxlength,cols:l.cols,rows:l.rows,wrap:l.wrap,spellcheck:l.spellcheck,"aria-invalid":G.value,"aria-describedby":ve.value?P.value:void 0,"aria-errormessage":pe.value?P.value:void 0})),be=e.computed(()=>({valid:l.valid,invalid:l.invalid,modelValue:l.modelValue,hintLabel:l.hintLabel,maxlength:l.maxlength,minlength:l.minlength,clear:ye}));function ye(){N.value=void 0}return(t,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(ge))},[e.unref(b)?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(O),class:"vv-textarea__label"},e.toDisplayString(e.unref(b)),9,te)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",{ref_key:"wrapperEl",ref:c,class:"vv-textarea__wrapper"},[t.$slots.before?(e.openBlock(),e.createElementBlock("div",oe,[e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(be))))])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",ae,[e.unref(_)?(e.openBlock(),e.createBlock(Z,e.mergeProps({key:0},e.unref(_),{class:"vv-textarea__icon"}),null,16)):e.createCommentVNode("v-if",!0),e.withDirectives(e.createElementVNode("textarea",e.mergeProps({id:e.unref(O),ref_key:"textareaEl",ref:d,"onUpdate:modelValue":o[0]||(o[0]=t=>e.isRef(N)?N.value=t:null)},e.unref(he),{onKeyup:o[1]||(o[1]=e=>n("keyup",e))}),null,16,le),[[e.vModelText,e.unref(N)]]),e.unref(z)?(e.openBlock(),e.createBlock(Z,e.mergeProps({key:1},e.unref(z),{class:"vv-textarea__icon vv-textarea__icon-after"}),null,16)):e.createCommentVNode("v-if",!0)]),t.$slots.after?(e.openBlock(),e.createElementBlock("div",ne,[e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(be))))])):e.createCommentVNode("v-if",!0),e.unref(S)?(e.openBlock(),e.createElementBlock("span",re,[e.renderSlot(t.$slots,"count",e.normalizeProps(e.guardReactiveProps(e.unref(be))),()=>[e.createTextVNode(e.toDisplayString(e.unref(D)),1)])])):e.createCommentVNode("v-if",!0)],512),e.createVNode(e.unref(fe),{id:e.unref(P),class:"vv-textarea__hint"},e.createSlots({_:2},[t.$slots.hint?{name:"hint",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps(e.unref(me))))]),key:"0"}:void 0,t.$slots.loading?{name:"loading",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"loading",e.normalizeProps(e.guardReactiveProps(e.unref(me))))]),key:"1"}:void 0,t.$slots.valid?{name:"valid",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"valid",e.normalizeProps(e.guardReactiveProps(e.unref(me))))]),key:"2"}:void 0,t.$slots.invalid?{name:"invalid",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"invalid",e.normalizeProps(e.guardReactiveProps(e.unref(me))))]),key:"3"}:void 0]),1032,["id"]),e.unref(ce)?(e.openBlock(),e.createBlock(U,{key:1,ref_key:"suggestionsDropdownEl",ref:f,reference:e.unref(c),"autofocus-first":!1,"trigger-width":!0},{items:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(de),o=>(e.openBlock(),e.createBlock(X,{key:o,onClick:e.withModifiers(e=>{return t=o,N.value=t,f.value?.hide(),void n("suggestion:selected",t);var t},["stop"])},{default:e.withCtx(()=>[e.createElementVNode("div",ie,[e.renderSlot(t.$slots,"suggestion",e.mergeProps({ref_for:!0},{value:o}),()=>[e.createTextVNode(e.toDisplayString(o),1)])]),e.unref(se)&&e.unref(R)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",tabindex:"-1",class:"cursor-pointer",title:e.unref(h),onClick:e.withModifiers(e=>{return t=o,se.value?.delete(t),void n("suggestion:removed",t);var t},["stop"])},[e.createVNode(Z,e.mergeProps({ref_for:!0},e.unref(R)),null,16)],8,ue)):e.createCommentVNode("v-if",!0)]),_:2},1032,["onClick"]))),128))]),_:3},8,["reference"])):e.createCommentVNode("v-if",!0)],2))}})});
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("@floating-ui/vue"),require("@vueuse/core"),require("mitt"),require("@iconify/vue")):"function"==typeof define&&define.amd?define(["vue","@floating-ui/vue","@vueuse/core","mitt","@iconify/vue"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvTextarea=t(e.vue,e.vue$1,e.core,e.mitt,e.vue$2)}(this,function(e,t,o,a,l){"use strict";const n={prefix:"normal"};var r=(e=>(e.local="local",e.session="session",e))(r||{}),i=(e=>(e.absolute="absolute",e.fixed="fixed",e))(i||{}),u=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(u||{}),s=(e=>(e.topStart="top-start",e.topEnd="top-end",e.bottomStart="bottom-start",e.bottomEnd="bottom-end",e.leftStart="left-start",e.leftEnd="left-end",e.rightStart="right-start",e.rightEnd="right-end",e))(s||{}),d=(e=>(e.before="before",e.after="after",e))(d||{}),c=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(c||{}),f=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(f||{}),v=(e=>(e.button="button",e.link="link",e.menuitem="menuitem",e))(v||{}),p=(e=>(e.listbox="listbox",e.menu="menu",e))(p||{}),m=(e=>(e.option="option",e.presentation="presentation",e))(m||{});const g=Symbol.for("volver"),h=Symbol.for("dropdownTrigger"),b=Symbol.for("dropdownItem"),y=Symbol.for("dropdownAction"),S={valid:{type:Boolean,default:!1},validLabel:{type:[String,Array],default:void 0}},x={invalid:{type:Boolean,default:!1},invalidLabel:{type:[String,Array],default:void 0}},w={loading:{type:Boolean,default:!1},loadingLabel:{type:String,default:"Loading..."}},k={disabled:{type:Boolean,default:!1}},L={required:{type:Boolean,default:!1}},B={selected:{type:Boolean,default:!1}},$={label:{type:[String,Number],default:void 0}},V={readonly:{type:Boolean,default:!1}},E={modifiers:{type:[String,Array],default:void 0}},O={hintLabel:{type:String,default:""}},P={count:{type:[Boolean,String],default:!1,validator:e=>[!0,!1,"limit","countdown"].includes(e)}},C={debounce:{type:[Number,String],default:void 0}},N={icon:{type:[String,Object],default:void 0},iconPosition:{type:String,default:d.before,validation:e=>Object.values(d).includes(e)}},_={tabindex:{type:[String,Number],default:0}},z={floating:{type:Boolean,default:!1}},R={unselectable:{type:Boolean,default:!0}},F={id:[String,Number]},I={placement:{type:String,default:u.bottom,validator:e=>Object.values(u).includes(e)||Object.values(s).includes(e)},strategy:{type:String,default:void 0,validator:e=>Object.values(i).includes(e)},transitionName:{type:String,default:void 0},offset:{type:[Number,String,Object],default:0},shift:{type:[Boolean,Object],default:!1},flip:{type:[Boolean,Object],default:!0},size:{type:[Boolean,Object],default:()=>({padding:10})},autoPlacement:{type:[Boolean,Object],default:!1},arrow:{type:Boolean,default:!1},keepOpen:{type:Boolean,default:!1},autofocusFirst:{type:Boolean,default:!0},triggerWidth:{type:Boolean,default:!1}},j={...{...F,name:{type:String,required:!0}},...{autofocus:{type:Boolean,default:!1}},...{autocomplete:{type:String,default:"off"}},..._,...k,...V,...S,...x,...O,...w,...E,...P,...C,...N,...z,...$,minlength:{type:[String,Number],default:void 0},maxlength:{type:[String,Number],default:void 0},placeholder:{type:String,default:void 0},...L};c.button,f.button;const A={...j,...{storageType:{type:String,default:r.local,validator:e=>Object.values(r).includes(e)},storageKey:String},modelValue:String,cols:{type:[String,Number],default:20},rows:{type:[String,Number],default:2},wrap:{type:String,default:"soft"},spellcheck:{type:[Boolean,String],default:"default"},iconRemoveSuggestion:{type:[String,Object],default:"trash"},labelRemoveSuggestion:{type:String,default:"Remove suggestion"},maxSuggestions:{type:Number,default:5},selectOnFocus:{type:Boolean,default:!1},resizable:Boolean};function H(t){return null==(o=e.unref(t))||""===o||Array.isArray(o)&&0===o.length||!(o instanceof Date)&&"object"==typeof o&&0===Object.keys(o).length;var o}function T(e){return Array.isArray(e)?e.filter(e=>"string"==typeof e).join(" "):e}const D={...F,...I,...E,modelValue:{type:Boolean,default:void 0},reference:{type:Object,default:null},role:{type:String,default:p.menu,validator:e=>Object.values(p).includes(e)}},q={focusOnHover:{type:Boolean,default:!1}},M={...k,...B,...R,...E,deselectHintLabel:{type:String},selectHintLabel:{type:String},selectedHintLabel:{type:String},focusOnHover:{type:Boolean,default:!1}};function W(t){return e.computed(()=>String(t?.value||e.useId()))}function K(t,o,a){return e.computed(()=>{const l={[t]:!0},n="string"==typeof o?.value?o.value.split(" "):o?.value;return n&&Array.isArray(n)&&n.forEach(e=>{e&&(l[`${t}--${e}`]=!0)}),a&&Object.keys(a.value).forEach(o=>{l[`${t}--${o}`]=e.unref(a.value[o])}),l})}const J=["id","tabindex","role","aria-labelledby"],U=e.defineComponent({name:"VvDropdown",inheritAttrs:!1,props:D,emits:["update:modelValue","beforeEnter","afterLeave","beforeExpand","beforeCollapse","afterExpand","afterCollapse","before-enter","after-leave","enter","afterEnter","enterCancelled","beforeLeave","leave","leaveCancelled"],setup(l,{expose:n,emit:r}){const s=l,d=r,{id:c}=e.toRefs(s),f=W(c),v=e.useAttrs(),g=e.ref("auto"),y=e.ref("auto"),S=e.ref(),x=e.ref(),w=e.ref(),k=e.ref(),L=e.computed({get:()=>s.reference??S.value,set:e=>{S.value=e}}),B=e.ref(!1);e.onMounted(()=>{o.useMutationObserver(x.value,()=>{B.value="true"===window.getComputedStyle(x.value).getPropertyValue("--dropdown-custom-position")?.trim()},{attributeFilter:["style"],window:window})});const $=e.computed(()=>{const e=[];if(s.autoPlacement?"boolean"==typeof s.autoPlacement?e.push(t.autoPlacement()):e.push(t.autoPlacement(s.autoPlacement)):s.flip&&("boolean"==typeof s.flip?e.push(t.flip({fallbackStrategy:"initialPlacement"})):e.push(t.flip(s.flip))),s.shift&&("boolean"==typeof s.shift?e.push(t.shift()):e.push(t.shift(s.shift))),s.size){const o=({availableWidth:e,availableHeight:t})=>{g.value=`${e}px`,y.value=`${t}px`};"boolean"==typeof s.size?e.push(t.size({apply:o})):e.push(t.size({...s.size,apply:o}))}return s.offset&&(e.push(t.offset(Number(s.offset))),["string","number"].includes(typeof s.offset)?e.push(t.offset(Number(s.offset))):e.push(t.offset(s.offset))),s.arrow&&e.push(t.arrow({element:w})),e}),{x:V,y:E,middlewareData:O,placement:P,strategy:C}=t.useFloating(L,x,{whileElementsMounted:(...e)=>t.autoUpdate(...e,{animationFrame:s.strategy===i.fixed}),placement:e.computed(()=>s.placement),strategy:e.computed(()=>s.strategy),middleware:$}),N=e.computed(()=>{if(B.value)return;const e=s.triggerWidth&&L.value?`${L.value?.offsetWidth}px`:void 0;return{position:C.value,top:`${E.value??0}px`,left:`${V.value??0}px`,maxWidth:e?void 0:g.value,maxHeight:y.value,width:e}}),_=e.computed(()=>P.value.split("-")[0]),z=e.computed(()=>{if(B.value)return;const e={[u.top]:u.bottom,[u.right]:u.left,[u.bottom]:u.top,[u.left]:u.right}[_.value];return{left:void 0!==O.value.arrow?.x?`${O.value.arrow?.x}px`:void 0,top:void 0!==O.value.arrow?.y?`${O.value.arrow?.y}px`:void 0,[e]:-(w.value?.offsetWidth??0)/2+"px"}}),R=o.useVModel(s,"modelValue",d),F=e.ref(!1),I=e.computed({get:()=>R.value??F.value,set:e=>{void 0!==R.value?R.value=e:F.value=e}});function j(){I.value=!0}function A(){I.value=!1}function H(){I.value=!I.value}function T(e){L.value=e}o.onClickOutside(x,()=>{!s.keepOpen&&I.value&&(I.value=!1)},{ignore:[L]});const D=e.computed(()=>L.value?.getAttribute?.("id")??void 0),q=e.computed(()=>({"aria-controls":f.value,"aria-haspopup":!0,"aria-expanded":I.value})),{component:M,bus:U}=function({reference:t,id:o,expanded:l,aria:n}){const r=a(),i=e.defineComponent({name:"VvDropdownTriggerProvider",setup(){e.provide(h,{reference:t,id:o,expanded:l,aria:n,bus:r})},render(){return e.h(e.Fragment,{},this.$slots.default?.())}});return{bus:r,component:i}}({reference:L,id:f,expanded:I,aria:q});U.on("click",H);const{role:G,modifiers:Q}=e.toRefs(s),X=K("vv-dropdown",Q,e.computed(()=>({arrow:s.arrow}))),{focused:Y}=o.useFocusWithin(x);function Z(e){return e?[...e.querySelectorAll('a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])')].filter(e=>!e.hasAttribute("disabled")&&!e.getAttribute("aria-hidden")):[]}function ee(){e.nextTick(()=>{const e=Z(x.value);e.length>0&&e[0].focus({preventScroll:!0})})}function te(){e.nextTick(()=>{if(Y.value){const e=Z(x.value);if(0===e.length||!document.activeElement)return;const t=e.indexOf(document.activeElement);t<e.length-1?e[t+1].focus({preventScroll:!0}):e[0].focus({preventScroll:!0})}})}function oe(){e.nextTick(()=>{if(Y.value){const e=Z(x.value);if(0===e.length||!document.activeElement)return;const t=e.indexOf(document.activeElement);t>0?e[t-1].focus({preventScroll:!0}):e[e.length-1].focus({preventScroll:!0})}})}e.watch(I,e=>{e&&s.autofocusFirst&&ee()}),n({toggle:H,show:j,hide:A,init:T,focusFirst:ee,focusFirstListElement:function(){e.nextTick(()=>{const e=Z(k.value);e.length>0&&e[0].focus({preventScroll:!0})})},focusNext:te,focusPrev:oe,customPosition:B});const ae=o.useElementHover(x),{itemRole:le}=function({role:t,...o}){const a=e.computed(()=>t.value===p.listbox?m.option:m.presentation);return e.provide(b,{role:a,...o}),{itemRole:a}}({role:G,expanded:I,focused:Y,hovered:ae});o.onKeyStroke("Escape",e=>{I.value&&(e.preventDefault(),A())}),o.onKeyStroke("ArrowDown",e=>{I.value&&Y.value&&(e.preventDefault(),te())}),o.onKeyStroke("ArrowUp",e=>{I.value&&Y.value&&(e.preventDefault(),oe())}),o.onKeyStroke([" ","Enter"],e=>{const t=e.target;I.value&&Y.value&&t&&t?.click()});const ne={"before-enter":()=>{d(I.value?"beforeExpand":"beforeCollapse"),d("beforeEnter")},"after-leave":()=>{d(I.value?"afterExpand":"afterCollapse"),d("afterLeave")},enter:()=>{d("enter")},"after-enter":()=>{d("afterEnter")},"enter-cancelled":()=>{d("enterCancelled")},"before-leave":()=>{d("beforeLeave")},leave:()=>{d("leave")},"leave-cancelled":()=>{d("leaveCancelled")}};return(t,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(M),null,{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps({init:T,show:j,hide:A,toggle:H,expanded:e.unref(I),aria:e.unref(q)})))]),_:3}),e.createVNode(e.Transition,e.mergeProps({name:t.transitionName},e.toHandlers(ne),{persisted:""}),{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"floatingEl",ref:x,style:e.normalizeStyle(e.unref(N)),class:e.normalizeClass(e.unref(X))},[s.arrow?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"arrowEl",ref:w,style:e.normalizeStyle(e.unref(z)),class:"vv-dropdown__arrow"},null,4)):e.createCommentVNode("v-if",!0),e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(I)}))),e.createElementVNode("div",e.mergeProps(e.unref(v),{id:e.unref(f),ref_key:"listEl",ref:k,tabindex:e.unref(I)?void 0:-1,role:e.unref(G),"aria-labelledby":e.unref(D),class:"vv-dropdown__list"}),[e.renderSlot(t.$slots,"items",e.normalizeProps(e.guardReactiveProps({role:e.unref(le)})))],16,J),e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(I)})))],6),[[e.vShow,e.unref(I)]])]),_:3},16,["name"])],64))}});const G=e.defineComponent({name:"VvDropdownItem",props:q,setup(t){const a=t,{role:l,expanded:n}=e.inject(b,{}),r=e.ref(null);!function({expanded:t}){e.provide(y,{role:e.ref(v.menuitem),expanded:t})}({expanded:n});const i=o.useElementHover(r),{focused:u}=o.useFocus(r),{focused:s}=o.useFocusWithin(r);return e.watch(i,e=>{e&&a.focusOnHover&&(u.value=!0)}),(t,o)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({role:e.unref(l)},{ref_key:"element",ref:r,class:["vv-dropdown__item",{"focus-visible":e.unref(u)||e.unref(s)}]}),[e.renderSlot(t.$slots,"default")],16))}}),Q=["title"],X=e.defineComponent({name:"VvDropdownOption",props:M,setup(t){const o=t,{modifiers:a}=e.toRefs(o),l=K("vv-dropdown-option",a,e.computed(()=>({disabled:o.disabled,selected:o.selected,unselectable:o.unselectable&&o.selected}))),n=e.computed(()=>o.selected?o.unselectable?o.deselectHintLabel:o.selectedHintLabel:o.disabled?"":o.selectHintLabel);return(t,o)=>(e.openBlock(),e.createBlock(G,{class:e.normalizeClass(e.unref(l)),tabindex:t.disabled?-1:0,"aria-selected":t.selected,"aria-disabled":t.disabled,"focus-on-hover":t.focusOnHover},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default"),e.createElementVNode("span",{class:"vv-dropdown-option__hint",title:e.unref(n)},[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps({disabled:t.disabled,selected:t.selected,unselectable:t.unselectable})),()=>[e.createTextVNode(e.toDisplayString(e.unref(n)),1)])],8,Q)]),_:3},8,["class","tabindex","aria-selected","aria-disabled","focus-on-hover"]))}});function Y(){return e.inject(g,void 0)}const Z=e.defineComponent({name:"VvIcon",props:e.mergeDefaults({name:{},color:{},width:{},height:{},provider:{},prefix:{},src:{},horizontalFlip:{type:Boolean},verticalFlip:{type:Boolean},flip:{},mode:{},inline:{type:Boolean},rotate:{},onLoad:{type:Function},svg:{},modifiers:{}},n),setup(t){const o=t,a=e.computed(()=>"string"==typeof o.rotate?Number.parseFloat(o.rotate):o.rotate),n=e.ref(!0),r=Y(),{modifiers:i}=e.toRefs(o),u=K("vv-icon",i),s=e.computed(()=>o.provider||r?.iconsProvider),d=e.computed(()=>{const e=o.name??"",t=`@${s.value}:${o.prefix}:${e}`;if(l.iconLoaded(t))return t;const a=r?.iconsCollections.find(t=>{const o=`@${s.value}:${t.prefix}:${e}`;return l.iconLoaded(o)});return a?`@${s.value}:${a.prefix}:${e}`:e});function c(e){const t=function(e){let t;if("undefined"==typeof window){const{JSDOM:e}=require("jsdom");t=(new e).window}return(t?new t.DOMParser:new window.DOMParser).parseFromString(e,"text/html").querySelector("svg")}(e),a=t?.innerHTML.trim()||"";t&&a&&l.addIcon(`@${s.value}:${o.prefix}:${o.name}`,{body:a,height:t.viewBox.baseVal.height,width:t.viewBox.baseVal.width})}return r&&o.src&&!l.iconLoaded(`@${s.value}:${o.prefix}:${o.name}`)&&(n.value=!1,r.fetchIcon(o.src).then(e=>{e&&(c(e),n.value=!0)}).catch(e=>{throw new Error(`Error during fetch icon: ${e?.message}`)})),o.svg&&c(o.svg),(o,r)=>e.unref(n)?(e.openBlock(),e.createBlock(e.unref(l.Icon),e.mergeProps({key:0,class:e.unref(u)},{inline:t.inline,width:t.width,height:t.height,horizontalFlip:t.horizontalFlip,verticalFlip:t.verticalFlip,flip:t.flip,rotate:e.unref(a),color:t.color,icon:e.unref(d)},{onLoad:t.onLoad}),null,16,["class","onLoad"])):e.createCommentVNode("v-if",!0)}});function ee(t,o){const a=e.computed(()=>"string"==typeof t?.value?{name:t?.value}:t?.value),l=e.computed(()=>o?.value===d.before?a.value:void 0),n=e.computed(()=>o?.value===d.after?a.value:void 0),r=e.computed(()=>o?.value===u.left?a.value:void 0),i=e.computed(()=>o?.value===u.right?a.value:void 0),s=e.computed(()=>o?.value===u.top?a.value:void 0),c=e.computed(()=>o?.value===u.bottom?a.value:void 0);return{hasIcon:a,hasIconLeft:r,hasIconRight:i,hasIconTop:s,hasIconBottom:c,hasIconBefore:l,hasIconAfter:n}}const te=["for"],oe={key:0,class:"vv-textarea__input-before"},ae={class:"vv-textarea__inner"},le=["id"],ne={key:1,class:"vv-textarea__input-after"},re={key:2,class:"vv-textarea__limit"},ie={class:"flex-1"},ue=["title","onClick"];return e.defineComponent({name:"VvTextarea",props:A,emits:["update:modelValue","focus","blur","keyup","suggestion:selected","suggestion:removed"],setup(t,{emit:a}){const l=t,n=a,i=e.useSlots(),u=Y(),s=function(t,o,a){const l=Y(),n=e.computed(()=>{if(l&&l.defaults.value?.[t])return l.defaults.value[t]});return e.computed(()=>{if(void 0===n.value)return a;const e=n.value,t=o,l=a;return Object.keys(t).reduce((o,a)=>{const n=l[a];if(o[a]=n,a in e){if(Array.isArray(t[a])){const l=t[a];l.length&&l[0]===n&&(o[a]=e[a])}if("function"==typeof t[a]&&(0,t[a])()===n&&(o[a]=e[a]),"object"==typeof t[a]){let l=t[a].default;"function"==typeof l&&(l=l()),"object"==typeof l?JSON.stringify(l)===JSON.stringify(n)&&(o[a]=e[a]):l===n&&(o[a]=e[a])}}return o},{})})}("VvTextarea",A,l),d=e.ref(),c=e.ref(),f=e.ref(),{id:v,icon:p,iconPosition:m,iconRemoveSuggestion:g,labelRemoveSuggestion:h,label:b,modelValue:y,count:S,valid:x,invalid:w,loading:k,modifiers:L,debounce:B,minlength:$,maxlength:V,storageType:E}=e.toRefs(l),O=W(v),P=e.computed(()=>`${O.value}-hint`),C=e.computed(()=>l.floating&&H(l.placeholder)?" ":l.placeholder),N=function(t,o,a=0,{getter:l=e=>e,setter:n=e=>e}={}){let r;return"string"==typeof a&&(a=Number.parseInt(a)),e.computed({get:()=>l(t?.value),set:e=>{r&&clearTimeout(r),r=setTimeout(()=>{o("update:modelValue",n(e))},a)}})}(y,n,B?.value),{hasIconBefore:_,hasIconAfter:z}=ee(p,m),{hasIcon:R}=ee(g),{focused:F}=function(t,a){const{focused:l}=o.useFocus(t);return e.watch(l,o=>{a(o?"focus":"blur",e.unref(t))}),{focused:l}}(d,n),I=e.computed(()=>F.value&&!l.disabled&&!l.readonly);e.watch(I,e=>{if(e&&s.value.selectOnFocus&&d.value&&d.value.select(),e&&se.value?.size)f.value?.show();else if(J.value&&se.value){const e=l.maxSuggestions;se.value.size>=e&&!se.value.has(N.value)&&(se.value=new Set([...se.value].slice(se.value.size-e+1))),se.value.add(N.value)}});const j=o.useElementVisibility(d);e.watch(j,e=>{e&&l.autofocus&&(F.value=!0)});const{formatted:D}=function(t,o){const a=e.computed(()=>(e.unref(t)??"").length),l=e.computed(()=>void 0!==o?.lowerLimit&&a.value<o?.lowerLimit?a.value-o.lowerLimit:void 0!==o?.upperLimit&&a.value<o?.upperLimit?o.upperLimit-a.value:0),n=e.computed(()=>{if(!1===o?.mode)return"";if("limit"===o?.mode&&o?.upperLimit)return`${a.value} / ${o.lowerLimit?`${o.lowerLimit}-`:""}${o.upperLimit}`;if("countdown"===o?.mode){if(0===l.value)return;return l}return a.value});return{length:a,gap:l,formatted:n}}(N,{mode:S?.value,upperLimit:Number(V?.value),lowerLimit:Number($?.value)}),q=e.computed(()=>!l.disabled&&!l.readonly),M=e.computed(()=>q.value?l.tabindex:-1),J=e.computed(()=>!H(y)),G=e.computed(()=>!0===l.invalid||!0!==l.valid&&void 0),Q=e.computed(()=>l.storageKey??(u?.experimentalFeatures.forceInputSuggestions?l.name:void 0)),se=function(t,a=r.local,l){const n=e.ref();let i;return l&&(n.value=l),e.onMounted(()=>{t&&e.watch(t,(t,l)=>{const u=e.unref(a)===r.session?sessionStorage:localStorage;if(l&&l!==t&&u.removeItem(l),t)return i=o.useStorage(t,i?.value??n.value,u),void(i.value&&(n.value=i.value));i=void 0},{immediate:!0}),e.isRef(a)&&e.watch(a,(e,a)=>{if(t?.value){if(e){const a=e===r.session?sessionStorage:localStorage;i=o.useStorage(t.value,i?.value??n.value,a)}a&&a!==e&&(a===r.session?sessionStorage:localStorage).removeItem(t.value)}})}),e.watch(n,e=>{i&&(i.value=e)},{deep:!0,immediate:!0}),n}(Q,E,new Set),de=e.computed(()=>se.value?[...se.value].filter(e=>H(N.value)||`${e}`.toLowerCase().includes(`${N.value}`.toLowerCase())&&e!==N.value).reverse():[]),ce=e.computed(()=>Q?.value&&se.value&&se.value.size>0);const{HintSlot:fe,hasHintLabelOrSlot:ve,hasInvalidLabelOrSlot:pe,hintSlotScope:me}=function(t,o){const a=e.computed(()=>e.isRef(t)?t.value:t),l=e.computed(()=>T(a.value.invalidLabel)),n=e.computed(()=>T(a.value.validLabel)),r=e.computed(()=>a.value.loadingLabel),i=e.computed(()=>a.value.hintLabel),u=e.computed(()=>Boolean(a.value.loading&&(o.loading||r.value))),s=e.computed(()=>!u.value&&Boolean(a.value.invalid&&(o.invalid||l.value))),d=e.computed(()=>!u.value&&!s.value&&Boolean(a.value.valid&&(o.valid||n.value))),c=e.computed(()=>!u.value&&!s.value&&!d.value&&Boolean(o.hint||i.value)),f=e.computed(()=>s.value||d.value||u.value||c.value),v=e.computed(()=>({modelValue:a.value.modelValue,valid:a.value.valid,invalid:a.value.invalid,loading:a.value.loading})),p=e.defineComponent({name:"HintSlot",props:{tag:{type:String,default:"small"}},setup:()=>({isVisible:f,invalidLabel:l,validLabel:n,loadingLabel:r,hintLabel:i,hasInvalidLabelOrSlot:s,hasValidLabelOrSlot:d,hasLoadingLabelOrSlot:u,hasHintLabelOrSlot:c}),render(){if(this.isVisible){let t;return this.hasInvalidLabelOrSlot&&(t="alert"),this.hasValidLabelOrSlot&&(t="status"),this.hasLoadingLabelOrSlot?e.h(this.tag,{role:t},this.$slots.loading?.()??this.loadingLabel):this.hasInvalidLabelOrSlot?e.h(this.tag,{role:t},this.$slots.invalid?.()??this.$slots.invalid??this.invalidLabel):this.hasValidLabelOrSlot?e.h(this.tag,{role:t},this.$slots.valid?.()??this.validLabel):e.h(this.tag,{role:t},this.$slots.hint?.()??this.$slots.hint??this.hintLabel)}return null}});return{hasInvalidLabelOrSlot:s,hasHintLabelOrSlot:c,hasValidLabelOrSlot:d,hasLoadingLabelOrSlot:u,hintSlotScope:v,HintSlot:p}}(s,i),ge=K("vv-textarea",L,e.computed(()=>({valid:x.value,invalid:w.value,loading:k.value,disabled:l.disabled,readonly:l.readonly,required:l.required,"icon-before":void 0!==_.value,"icon-after":void 0!==z.value,floating:l.floating&&!H(l.label),dirty:J.value,focus:F.value,resizable:l.resizable}))),he=e.computed(()=>({name:l.name,placeholder:C.value,tabindex:M.value,disabled:l.disabled,readonly:l.readonly,required:l.required,autocomplete:l.autocomplete,minlength:l.minlength,maxlength:l.maxlength,cols:l.cols,rows:l.rows,wrap:l.wrap,spellcheck:l.spellcheck,"aria-invalid":G.value,"aria-describedby":ve.value?P.value:void 0,"aria-errormessage":pe.value?P.value:void 0})),be=e.computed(()=>({valid:l.valid,invalid:l.invalid,modelValue:l.modelValue,hintLabel:l.hintLabel,maxlength:l.maxlength,minlength:l.minlength,clear:ye}));function ye(){N.value=void 0}return(t,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(ge))},[e.unref(b)?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(O),class:"vv-textarea__label"},e.toDisplayString(e.unref(b)),9,te)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",{ref_key:"wrapperEl",ref:c,class:"vv-textarea__wrapper"},[t.$slots.before?(e.openBlock(),e.createElementBlock("div",oe,[e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(be))))])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",ae,[e.unref(_)?(e.openBlock(),e.createBlock(Z,e.mergeProps({key:0},e.unref(_),{class:"vv-textarea__icon"}),null,16)):e.createCommentVNode("v-if",!0),e.withDirectives(e.createElementVNode("textarea",e.mergeProps({id:e.unref(O),ref_key:"textareaEl",ref:d,"onUpdate:modelValue":o[0]||(o[0]=t=>e.isRef(N)?N.value=t:null)},e.unref(he),{onKeyup:o[1]||(o[1]=e=>n("keyup",e))}),null,16,le),[[e.vModelText,e.unref(N)]]),e.unref(z)?(e.openBlock(),e.createBlock(Z,e.mergeProps({key:1},e.unref(z),{class:"vv-textarea__icon vv-textarea__icon-after"}),null,16)):e.createCommentVNode("v-if",!0)]),t.$slots.after?(e.openBlock(),e.createElementBlock("div",ne,[e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(be))))])):e.createCommentVNode("v-if",!0),e.unref(S)?(e.openBlock(),e.createElementBlock("span",re,[e.renderSlot(t.$slots,"count",e.normalizeProps(e.guardReactiveProps(e.unref(be))),()=>[e.createTextVNode(e.toDisplayString(e.unref(D)),1)])])):e.createCommentVNode("v-if",!0)],512),e.createVNode(e.unref(fe),{id:e.unref(P),class:"vv-textarea__hint"},e.createSlots({_:2},[t.$slots.hint?{name:"hint",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps(e.unref(me))))]),key:"0"}:void 0,t.$slots.loading?{name:"loading",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"loading",e.normalizeProps(e.guardReactiveProps(e.unref(me))))]),key:"1"}:void 0,t.$slots.valid?{name:"valid",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"valid",e.normalizeProps(e.guardReactiveProps(e.unref(me))))]),key:"2"}:void 0,t.$slots.invalid?{name:"invalid",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"invalid",e.normalizeProps(e.guardReactiveProps(e.unref(me))))]),key:"3"}:void 0]),1032,["id"]),e.unref(ce)?(e.openBlock(),e.createBlock(U,{key:1,ref_key:"suggestionsDropdownEl",ref:f,reference:e.unref(c),"autofocus-first":!1,"trigger-width":!0},{items:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(de),o=>(e.openBlock(),e.createBlock(X,{key:o,onClick:e.withModifiers(e=>{return t=o,N.value=t,f.value?.hide(),void n("suggestion:selected",t);var t},["stop"])},{default:e.withCtx(()=>[e.createElementVNode("div",ie,[e.renderSlot(t.$slots,"suggestion",e.mergeProps({ref_for:!0},{value:o}),()=>[e.createTextVNode(e.toDisplayString(o),1)])]),e.unref(se)&&e.unref(R)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",tabindex:"-1",class:"cursor-pointer",title:e.unref(h),onClick:e.withModifiers(e=>{return t=o,se.value?.delete(t),void n("suggestion:removed",t);var t},["stop"])},[e.createVNode(Z,e.mergeProps({ref_for:!0},e.unref(R)),null,16)],8,ue)):e.createCommentVNode("v-if",!0)]),_:2},1032,["onClick"]))),128))]),_:3},8,["reference"])):e.createCommentVNode("v-if",!0)],2))}})});
@@ -1,4 +1,4 @@
1
- declare const _default: __VLS_WithSlots<import("vue").DefineComponent<globalThis.ExtractPropTypes<{
1
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<globalThis.ExtractPropTypes<{
2
2
  modelValue: StringConstructor;
3
3
  cols: {
4
4
  type: (StringConstructor | NumberConstructor)[];
@@ -375,6 +375,7 @@ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<globalThis
375
375
  value: string;
376
376
  }) => any;
377
377
  }>;
378
+ declare const _default: typeof __VLS_export;
378
379
  export default _default;
379
380
  type __VLS_WithSlots<T, S> = T & {
380
381
  new (): {
@@ -1,4 +1,4 @@
1
- declare const _default: __VLS_WithSlots<import("vue").DefineComponent<globalThis.ExtractPropTypes<{
1
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<globalThis.ExtractPropTypes<{
2
2
  position: {
3
3
  type: PropType<`${import("../../constants").Side}`>;
4
4
  default: import("../../constants").Side;
@@ -28,6 +28,7 @@ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<globalThis
28
28
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
29
29
  default?: (props: {}) => any;
30
30
  }>;
31
+ declare const _default: typeof __VLS_export;
31
32
  export default _default;
32
33
  type __VLS_WithSlots<T, S> = T & {
33
34
  new (): {
@@ -1687,16 +1687,16 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
1687
1687
  key: 0,
1688
1688
  class: unref(bemCssClasses)
1689
1689
  }, {
1690
- inline: _ctx.inline,
1691
- width: _ctx.width,
1692
- height: _ctx.height,
1693
- horizontalFlip: _ctx.horizontalFlip,
1694
- verticalFlip: _ctx.verticalFlip,
1695
- flip: _ctx.flip,
1690
+ inline: __props.inline,
1691
+ width: __props.width,
1692
+ height: __props.height,
1693
+ horizontalFlip: __props.horizontalFlip,
1694
+ verticalFlip: __props.verticalFlip,
1695
+ flip: __props.flip,
1696
1696
  rotate: unref(hasRotate),
1697
- color: _ctx.color,
1697
+ color: __props.color,
1698
1698
  icon: unref(icon)
1699
- }, { onLoad: _ctx.onLoad }), null, 16, ["class", "onLoad"])) : createCommentVNode("v-if", true);
1699
+ }, { onLoad: __props.onLoad }), null, 16, ["class", "onLoad"])) : createCommentVNode("v-if", true);
1700
1700
  };
1701
1701
  }
1702
1702
  });