@volverjs/ui-vue 0.0.1 → 0.0.2

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 (82) hide show
  1. package/README.md +17 -0
  2. package/dist/components/VvButton/VvButton.es.js +159 -147
  3. package/dist/components/VvButton/VvButton.umd.js +1 -1
  4. package/dist/components/VvButton/VvButton.vue.d.ts +0 -8
  5. package/dist/components/VvButton/index.d.ts +4 -4
  6. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +36 -37
  7. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
  8. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +10 -10
  9. package/dist/components/VvButtonGroup/index.d.ts +5 -5
  10. package/dist/components/VvCombobox/VvCombobox.es.js +526 -345
  11. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  12. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +22 -0
  13. package/dist/components/VvCombobox/index.d.ts +13 -1
  14. package/dist/components/VvDropdown/VvDropdown.es.js +118 -109
  15. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  16. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +19 -0
  17. package/dist/components/VvDropdown/index.d.ts +12 -0
  18. package/dist/components/VvInputText/VvInputText.es.js +221 -213
  19. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  20. package/dist/components/VvInputText/VvInputText.vue.d.ts +13 -13
  21. package/dist/components/VvInputText/index.d.ts +5 -5
  22. package/dist/components/VvSelect/VvSelect.es.js +186 -167
  23. package/dist/components/VvSelect/VvSelect.umd.js +1 -1
  24. package/dist/components/VvSelect/VvSelect.vue.d.ts +23 -11
  25. package/dist/components/VvSelect/index.d.ts +10 -17
  26. package/dist/components/VvTextarea/VvTextarea.es.js +112 -104
  27. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
  28. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +12 -12
  29. package/dist/components/VvTextarea/index.d.ts +5 -5
  30. package/dist/components/index.es.js +1045 -975
  31. package/dist/components/index.umd.js +1 -1
  32. package/dist/composables/group/types/IButtonGroupState.d.ts +1 -1
  33. package/dist/composables/group/types/IGroupState.d.ts +1 -1
  34. package/dist/composables/group/useInjectedGroupState.d.ts +1 -1
  35. package/dist/icons.es.js +3 -3
  36. package/dist/icons.umd.js +1 -1
  37. package/dist/index.es.js +1065 -995
  38. package/dist/index.umd.js +1 -1
  39. package/dist/props/index.d.ts +35 -4
  40. package/dist/resolvers/unplugin.es.js +26 -24
  41. package/dist/resolvers/unplugin.umd.js +1 -1
  42. package/dist/stories/Button/Button.settings.d.ts +9 -11
  43. package/dist/stories/ButtonGroup/ButtonGroup.settings.d.ts +9 -0
  44. package/dist/stories/Combobox/Combobox.settings.d.ts +19 -0
  45. package/dist/stories/Dropdown/Dropdown.settings.d.ts +10 -0
  46. package/dist/stories/InputText/InputText.settings.d.ts +23 -23
  47. package/dist/stories/Select/Select.settings.d.ts +42 -23
  48. package/dist/stories/Textarea/Textarea.settings.d.ts +23 -23
  49. package/dist/stories/argTypes.d.ts +50 -1
  50. package/package.json +5 -4
  51. package/src/assets/icons/detailed.json +1 -1
  52. package/src/assets/icons/normal.json +1 -1
  53. package/src/assets/icons/simple.json +1 -1
  54. package/src/components/VvButton/index.ts +28 -10
  55. package/src/components/VvButtonGroup/VvButtonGroup.vue +1 -1
  56. package/src/components/VvButtonGroup/index.ts +3 -6
  57. package/src/components/VvCombobox/VvCombobox.vue +45 -11
  58. package/src/components/VvCombobox/index.ts +6 -0
  59. package/src/components/VvDropdown/VvDropdown.vue +9 -6
  60. package/src/components/VvDropdown/index.ts +11 -1
  61. package/src/components/VvInputText/VvInputText.vue +10 -8
  62. package/src/components/VvSelect/VvSelect.vue +23 -1
  63. package/src/components/VvSelect/index.ts +8 -11
  64. package/src/components/VvTextarea/VvTextarea.vue +10 -8
  65. package/src/composables/group/types/IButtonGroupState.ts +1 -1
  66. package/src/composables/group/types/IGroupState.ts +1 -1
  67. package/src/composables/group/useInjectedGroupState.ts +3 -3
  68. package/src/composables/useTextCount.ts +1 -1
  69. package/src/props/index.ts +33 -15
  70. package/src/resolvers/unplugin.ts +22 -13
  71. package/src/stories/Button/Button.settings.ts +2 -7
  72. package/src/stories/ButtonGroup/ButtonGroup.settings.ts +6 -1
  73. package/src/stories/ButtonGroup/ButtonGroupSlots.stories.mdx +37 -0
  74. package/src/stories/ButtonGroup/ButtonGroupToggle.stories.mdx +12 -1
  75. package/src/stories/Combobox/Combobox.settings.ts +5 -0
  76. package/src/stories/Combobox/Combobox.stories.mdx +51 -0
  77. package/src/stories/Combobox/Combobox.test.ts +7 -0
  78. package/src/stories/Dropdown/Dropdown.settings.ts +10 -1
  79. package/src/stories/Dropdown/Dropdown.stories.mdx +17 -0
  80. package/src/stories/Select/Select.settings.ts +9 -23
  81. package/src/stories/Select/Select.stories.mdx +60 -0
  82. package/src/stories/argTypes.ts +46 -22
@@ -1 +1 @@
1
- (function(C,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@vueuse/core"),require("nanoid"),require("@iconify/vue")):typeof define=="function"&&define.amd?define(["exports","vue","@vueuse/core","nanoid","@iconify/vue"],e):(C=typeof globalThis<"u"?globalThis:C||self,e(C.components={},C.vue,C.core,C.nanoid,C.vue$1))})(this,function(C,e,U,j,te){"use strict";function q(o,n,t){return t?ie(o,t)===ie(n,t):be(o,n)}function be(o,n){if(o===n)return!0;if(o&&n&&typeof o=="object"&&typeof n=="object"){const t=Array.isArray(o),l=Array.isArray(n);let r,i,a;if(t&&l){if(i=o.length,i!=n.length)return!1;for(r=i;r--!==0;)if(!be(o[r],n[r]))return!1;return!0}if(t!=l)return!1;const f=o instanceof Date,d=n instanceof Date;if(f!=d)return!1;if(f&&d)return o.getTime()==n.getTime();const c=o instanceof RegExp,s=n instanceof RegExp;if(c!=s)return!1;if(c&&s)return o.toString()==n.toString();const u=Object.keys(o);if(i=u.length,i!==Object.keys(n).length)return!1;for(r=i;r--!==0;)if(!Object.prototype.hasOwnProperty.call(n,u[r]))return!1;for(r=i;r--!==0;)if(a=u[r],!be(o[a],n[a]))return!1;return!0}return o!==o&&n!==n}function ie(o,n){if(o&&Object.keys(o).length&&n){if(n.indexOf(".")===-1)return o[n];{const t=n.split(".");let l=o;for(let r=0,i=t.length;r<i;++r){if(o==null)return null;l=l[t[r]]}return l}}else return null}function ve(o,n){let t=-1;if(n){for(let l=0;l<n.length;l++)if(q(n[l],o)){t=l;break}}return t}function K(o,n){if(o!=null&&n&&n.length){for(const t of n)if(q(o,t))return!0}return!1}function L(o){return(n=>n==null||n===""||Array.isArray(n)&&n.length===0||!(n instanceof Date)&&typeof n=="object"&&Object.keys(n).length===0)(e.unref(o))}function We(o,n){const t=ve(o,n);return t>-1?n.filter((l,r)=>r!==t):n}function qe(o){return typeof o=="string"||o instanceof String}function Be(o){var n,t;if(o)return(t=(n=o.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g))==null?void 0:n.join("-"))==null?void 0:t.toLowerCase()}function w(o,n){const t={[`${o}`]:!0};return{bemCssClasses:e.computed(()=>Object.keys(n).reduce((r,i)=>{const a=e.unref(n[i])||!1;if(!a)return r;if(i==="modifiers"){const f=Array.isArray(a)?a:a.split(" ");return{...r,...f.reduce((d,c)=>({...d,[`${o}--${Be(c)}`]:!0}),{})}}else return{...r,[`${o}--${Be(i)}`]:a}},t)||{})}}function ce(o){const n=e.inject(o,void 0),t=e.computed(()=>!L(n));function l(r,i,a){if(n!=null&&n.value){const d=e.unref(n.value)[r];return e.computed({get(){return d==null?void 0:d.value},set(c){d.value=c}})}const f=e.toRef(i,r);return e.computed({get(){return f.value},set(d){a&&a(`update:${r}`,d)}})}return{group:n,isInGroup:t,getGroupOrLocalRef:l}}const Ee="VV_BUTTON_GROUP",$e="VV_RADIO_GROUP",Pe="VV_CHECK_GROUP",Ae="VV_ACCORDION_GROUP",Ke={name:String,title:String,content:String,modelValue:{type:Boolean,default:void 0},modifiers:[String,Array],disabled:Boolean},Xe=["update:modelValue"];function Ze(o,n){const{group:t,isInGroup:l,getGroupOrLocalRef:r}=ce(Ae),{title:i,content:a}=e.toRefs(o),f=r("modelValue",o,n),d=r("disabled",o),c=r("collapse",o),s=r("modifiers",o);return{modelValue:f,disabled:d,isInGroup:l,group:t,collapse:c,modifiers:s,title:i,content:a}}const Ye=["id","open"],Je=["aria-controls","aria-expanded"],Qe=["aria-hidden"],et={name:"VvAccordion"},we=e.defineComponent({...et,props:Ke,emits:Xe,setup(o,{emit:n}){const t=o,l=e.useAttrs(),r=t.name||(l==null?void 0:l.id)||j.nanoid(),{modifiers:i,title:a,content:f,disabled:d,collapse:c,modelValue:s,isInGroup:u}=Ze(t,n),p=e.ref(!1),g=e.computed({get:()=>u.value?c.value&&Array.isArray(s.value)?s.value.includes(r):s.value===r:s.value===void 0?p.value:s.value,set:m=>{if(u.value){if(c.value&&Array.isArray(s.value)){if(m){s.value.push(r);return}s.value=s.value.filter(S=>S!==r);return}s.value=m?r:null;return}if(s.value===void 0&&typeof m=="boolean"){p.value=m;return}s.value=m}}),{bemCssClasses:b}=w("vv-accordion",{modifiers:i,disabled:d}),h=U.useToggle(g);return(m,S)=>(e.openBlock(),e.createElementBlock("details",{id:e.unref(r),class:e.normalizeClass(e.unref(b)),open:e.unref(g),onClick:S[0]||(S[0]=e.withModifiers(B=>e.unref(h)(),["prevent"]))},[e.createElementVNode("summary",{"aria-controls":e.unref(r),"aria-expanded":e.unref(g),class:"vv-collapse__summary"},[e.renderSlot(m.$slots,"summary",e.normalizeProps(e.guardReactiveProps({open:e.unref(g)})),()=>[e.createTextVNode(e.toDisplayString(e.unref(a)),1)])],8,Je),e.createElementVNode("div",{"aria-hidden":!e.unref(g),class:"vv-collapse__content"},[e.renderSlot(m.$slots,"details",e.normalizeProps(e.guardReactiveProps({open:e.unref(g)})),()=>[e.createTextVNode(e.toDisplayString(e.unref(f)),1)])],8,Qe)],10,Ye))}});function de(o){if(Object.keys(o).some(n=>n!=="key"&&!e.isRef(o[n])))throw Error("One or more groupState props aren't ref.");e.provide(o.key,e.computed(()=>o))}const tt={modelValue:[String,Array],items:{type:Array,default:()=>[]},collapse:Boolean,modifiers:[String,Array],itemModifiers:{type:[String,Array],default:""},disabled:Boolean},ot=["update:modelValue"],nt={name:"VvAccordionGroup"},rt=e.defineComponent({...nt,props:tt,emits:ot,setup(o,{emit:n}){const t=o,{disabled:l,collapse:r,modifiers:i,itemModifiers:a,items:f}=e.toRefs(t);e.watchEffect(()=>{typeof t.modelValue=="string"&&r.value&&console.warn("[VvAccordionGroup]: modelValue is a string but collapse is true.")});const d=e.ref([]),c=e.computed({get:()=>{var p;return t.modelValue!==void 0?r.value?t.modelValue:Array.isArray(t.modelValue)?t.modelValue[0]:t.modelValue:r.value?d.value:(p=d.value)==null?void 0:p[0]},set:p=>{if(t.modelValue!==void 0)return(Array.isArray(t.modelValue)||r.value)&&!Array.isArray(p)&&(p=[p]),n("update:modelValue",p);d.value=Array.isArray(p)?p:[p]}});de({key:Ae,modelValue:c,disabled:l,collapse:r,modifiers:a});const{bemCssClasses:u}=w("vv-accordion-group",{modifiers:i,disabled:l});return(p,g)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(u))},[e.renderSlot(p.$slots,"default",{},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f),b=>(e.openBlock(),e.createBlock(we,e.mergeProps({key:b.title},{name:b.name,title:b.title,content:b.content}),{header:e.withCtx(h=>[e.renderSlot(p.$slots,`header::${b.name}`,e.normalizeProps(e.guardReactiveProps(h)))]),details:e.withCtx(h=>[e.renderSlot(p.$slots,`details::${b.name}`,e.normalizeProps(e.guardReactiveProps(h)))]),_:2},1040))),128))])],2))}}),ne={valid:Boolean,validLabel:[String,Array]},re={invalid:Boolean,invalidLabel:[String,Array]},he={loading:Boolean,loadingLabel:String},X={disabled:Boolean},le={readonly:Boolean},F={modifiers:[String,Array]},ae={hintLabel:{type:String,default:""}},ue={options:{type:Array,default:()=>[]},labelKey:{type:[String,Function],default:"label"},valueKey:{type:[String,Function],default:"value"}},lt={count:{type:[Boolean,String],default:!1,validator:o=>[!0,!1,"limit","countdown"].includes(o)}},at={debounce:[Number,String]},Ne={LEFT:"left",RIGHT:"right"},ye={icon:{type:[String,Object]},iconPosition:{type:String,validation:o=>Object.values(Ne).includes(o),default:Ne.RIGHT}},pe={tabindex:{type:[String,Number],default:0}},Se={id:[String,Number],name:{type:String,required:!0}},Re={...Se,...pe,...X,...le,...ne,...re,...ae,...he,...F,...lt,...at,...ye,autofocus:Boolean,autocomplete:{type:String,default:"off"},minlength:Number,maxlength:Number,placeholder:String,required:Boolean,label:String,floating:Boolean},De={...Se,...pe,...ne,...re,...ae,...X,...le,value:[String,Number,Boolean],modelValue:[Object,Number,Boolean,String],label:String},Ie={...ne,...re,...ue,...ae,...X,...le,modelValue:[String,Array],label:String,name:{type:String,required:!0},vertical:Boolean},st={...F,value:[String,Number]},it={name:"VvBadge"},ct=e.defineComponent({...it,props:st,setup(o){const n=o,{bemCssClasses:t}=w("vv-badge",{modifiers:n.modifiers});return(l,r)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(e.unref(t)),role:"status"},[e.renderSlot(l.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(l.value),1)])],2))}}),dt={...F,routes:Array},ut={class:"vv-breadcrumb__list"},pt=["content"],mt={name:"VvBreadcrumb"},ft=e.defineComponent({...mt,props:dt,setup(o){const n=o,{bemCssClasses:t}=w("vv-breadcrumb",{modifiers:n.modifiers});return(l,r)=>(e.openBlock(),e.createElementBlock("nav",{class:e.normalizeClass(e.unref(t)),"aria-label":"breadcrumbs"},[e.createElementVNode("ol",ut,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.routes,(i,a)=>{var f,d,c,s;return e.openBlock(),e.createElementBlock("li",{key:`${i.label}-${a}`,class:e.normalizeClass({"vv-breadcrumb__item":a<Number((f=l.routes)==null?void 0:f.length)-1,"vv-breadcrumb__item-active":a===Number((d=l.routes)==null?void 0:d.length)-1}),itemprop:"itemListElement",itemtype:"https://schema.org/ListItem",itemscope:""},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i.to?"router-link":i.href?"a":"span"),e.mergeProps(i,{class:{"vv-breadcrumb__link":a<Number((c=l.routes)==null?void 0:c.length)-1},"aria-current":a===Number((s=l.routes)==null?void 0:s.length)-1?"page":void 0,itemprop:"item"}),{default:e.withCtx(()=>[e.renderSlot(l.$slots,"label",e.normalizeProps(e.guardReactiveProps({route:i,index:a})),()=>[e.createTextVNode(e.toDisplayString(i.label),1)])]),_:2},1040,["class","aria-current"])),e.createElementVNode("meta",{itemprop:"position",content:`${a+1}`},null,8,pt)],2)}),128))])],2))}}),Oe="ds",gt={color:String,width:{type:[String,Number]},height:{type:[String,Number]},name:{type:String,required:!0},provider:{type:String},prefix:{type:String,default:"normal"},src:String,horizontalFlip:Boolean,verticalFlip:Boolean,flip:String,mode:String,inline:Boolean,rotate:[Number,String],onLoad:Function,svg:String,modifiers:{type:[String,Array]}},bt={name:"VvIcon"},N=e.defineComponent({...bt,props:gt,setup(o){const n=o,t=e.ref(!0),{modifiers:l}=e.toRefs(n),r=e.inject(Oe),{bemCssClasses:i}=w("vv-icon",{modifiers:l}),a=e.computed(()=>n.provider||(r==null?void 0:r.provider)),f=e.computed(()=>{const s=n.name??"",u=`@${a.value}:${n.prefix}:${n.name}`;return te.iconExists(s)?s:te.iconExists(u)?u:(r==null?void 0:r.iconsCollections.find(p=>{const g=`@${a.value}:${p.prefix}:${s}`;if(te.iconExists(g))return g}))||s});function d(s){let u=null;if(typeof window>"u"){const{JSDOM:h}=require("jsdom");u=new h().window}return(u?new u.DOMParser:new window.DOMParser).parseFromString(s,"text/html").querySelector("svg")}function c(s){const u=d(s),p=(u==null?void 0:u.innerHTML.trim())||"";u&&p&&te.addIcon(`@${a.value}:${n.prefix}:${n.name}`,{body:p,height:u.viewBox.baseVal.height,width:u.viewBox.baseVal.width})}return r&&(n.src&&!te.iconExists(`@${a.value}:${n.prefix}:${n.name}`)?(t.value=!1,r.fetchIcon(n.src).then(s=>{s&&(c(s),t.value=!0)}).catch(s=>{throw new Error(`During fetch icon: ${s==null?void 0:s.message}`)})):n.svg&&c(n.svg)),(s,u)=>t.value?(e.openBlock(),e.createBlock(e.unref(te.Icon),e.mergeProps({key:0,class:e.unref(i)},{inline:s.inline,width:s.width,height:s.height,horizontalFlip:s.horizontalFlip,verticalFlip:s.verticalFlip,flip:s.flip,rotate:s.rotate,color:s.color,onLoad:s.onLoad,icon:e.unref(f)}),null,16,["class"])):e.createCommentVNode("",!0)}});var oe=(o=>(o.left="left",o.right="right",o.top="top",o.bottom="bottom",o))(oe||{}),Te=(o=>(o.button="button",o.submit="submit",o.reset="reset",o))(Te||{}),v=(o=>(o.nuxtLink="nuxt-link",o.routerLink="router-link",o.a="a",o.button="button",o))(v||{}),Le=(o=>(o._blank="_blank",o._self="_self",o._parent="_parent",o._top="_top",o))(Le||{});const ht=["update:modelValue"],yt={...F,...X,icon:{type:[String,Object],default:""},iconPosition:{type:String,default:"left",validator:o=>o in oe},label:[String,Number],loading:Boolean,loadingIcon:{type:String,default:"eos-icons:bubble-loading"},loadingLabel:{type:String,default:"Loading..."},to:{type:[String,Object]},href:String,target:{type:String,validator:o=>o in Le},active:Boolean,pressed:Boolean,rel:{type:String,default:"noopener noreferrer"},type:{type:String,default:"button",validator:o=>o in Te},toggle:{type:Boolean,default:!1},modelValue:String,unselectable:{type:Boolean,default:!0}};function St(o,n){var h;const{group:t,isInGroup:l,getGroupOrLocalRef:r}=ce(Ee),{iconPosition:i,icon:a,label:f,pressed:d}=e.toRefs(o),c=r("modelValue",o,n),s=r("disabled",o),u=r("toggle",o),p=r("unselectable",o),g=r("modifiers",o),b=((h=t==null?void 0:t.value)==null?void 0:h.multiple)??e.ref(!1);return{modelValue:c,disabled:s,toggle:u,isInGroup:l,group:t,modifiers:g,multiple:b,unselectable:p,pressed:d,iconPosition:i,icon:a,label:f}}const Vt={key:1,class:"vv-button__label"},kt={key:1,class:"vv-button__label"},_t={name:"VvButton"},Ct=e.defineComponent({..._t,props:yt,emits:ht,setup(o,{emit:n}){const t=o,l=e.useAttrs(),r=e.useSlots(),i=(l==null?void 0:l.name)||j.nanoid(),{modifiers:a,iconPosition:f,icon:d,label:c,modelValue:s,disabled:u,toggle:p,unselectable:g}=St(t,n),b=e.inject(Oe),h=e.computed(()=>{switch(!0){case u.value:return v.button;case t.to!==void 0:return b!=null&&b.nuxt?v.nuxtLink:v.routerLink;case t.href!==void 0:return v.a;default:return v.button}}),m=e.computed(()=>p.value?Array.isArray(s.value)?K(i,s.value):q(i,s.value):t.pressed),{bemCssClasses:S}=w("vv-button",{modifiers:a,active:t.active,pressed:m,disabled:u,reverse:e.computed(()=>[oe.right,oe.bottom].includes(f.value)),column:e.computed(()=>[oe.top,oe.bottom].includes(f.value)),iconOnly:e.computed(()=>(d==null?void 0:d.value)&&!(c!=null&&c.value)&&!r.default)}),B=e.computed(()=>typeof(d==null?void 0:d.value)=="string"?{name:d==null?void 0:d.value}:d==null?void 0:d.value),_=e.computed(()=>{const V={class:S.value,"aria-pressed":m.value?!0:void 0};switch(h.value){case v.a:return{...V,role:"button",href:t.href,target:t.target,rel:t.rel};case v.routerLink:case v.nuxtLink:return{...V,role:"button",to:t.to,target:t.target};default:return{...V,type:t.type,disabled:u.value}}}),P=()=>{if(p.value){if(Array.isArray(s.value)){if(K(i,s.value)){g.value&&(s.value=s.value.filter(V=>V!==i));return}s.value.push(i);return}if(q(i,s.value)&&g.value){s.value=void 0;return}s.value=i}};return(V,R)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(h)),e.mergeProps(e.unref(_),{onClickPassive:P}),{default:e.withCtx(()=>[e.renderSlot(V.$slots,"default",{},()=>[V.loading?e.renderSlot(V.$slots,"loading",{key:0},()=>[V.loadingIcon?(e.openBlock(),e.createBlock(N,{key:0,class:"vv-button__loading-icon",name:V.loadingIcon},null,8,["name"])):e.createCommentVNode("",!0),V.loadingLabel?(e.openBlock(),e.createElementBlock("span",Vt,e.toDisplayString(V.loadingLabel),1)):e.createCommentVNode("",!0)]):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.renderSlot(V.$slots,"before"),e.unref(d)?(e.openBlock(),e.createBlock(N,e.mergeProps({key:0,class:"vv-button__icon"},e.unref(B)),null,16)):e.createCommentVNode("",!0),e.unref(c)?(e.openBlock(),e.createElementBlock("span",kt,[e.renderSlot(V.$slots,"label",{},()=>[e.createTextVNode(e.toDisplayString(e.unref(c)),1)])])):e.createCommentVNode("",!0),e.renderSlot(V.$slots,"after")],64))])]),_:3},16))}}),Bt={...F,...X,itemModifiers:{type:[String,Array],default:""},toggle:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},unselectable:{type:Boolean,default:!0},modelValue:{type:[String,Array],default:void 0}},Et=["update:modelValue"],$t={name:"VvButtonGroup"},Pt=e.defineComponent({...$t,props:Bt,emits:Et,setup(o,{emit:n}){const t=o,{disabled:l,toggle:r,modifiers:i,multiple:a,unselectable:f,itemModifiers:d}=e.toRefs(t);e.watchEffect(()=>{typeof t.modelValue=="string"&&a.value&&console.warn("[VvButtonGroup]: modelValue is a string but multiple is true.")});const c=e.computed({get:()=>a.value?t.modelValue:Array.isArray(t.modelValue)?t.modelValue[0]:t.modelValue,set:p=>(p!==void 0&&(Array.isArray(t.modelValue)||a.value)&&!Array.isArray(p)&&(p=[p]),n("update:modelValue",p))});de({key:Ee,modelValue:c,disabled:l,toggle:r,multiple:a,unselectable:f,modifiers:d});const{bemCssClasses:u}=w("vv-button-group",{modifiers:i});return(p,g)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(u)),role:"group"},[e.renderSlot(p.$slots,"default")],2))}}),At={title:String,modifiers:[String,Array]},wt={key:0,class:"vv-card__header"},Nt={key:1,class:"vv-card__content"},Rt={key:2,class:"vv-card__footer"},Dt={name:"VvCard"},It=e.defineComponent({...Dt,props:At,setup(o){const n=o,{bemCssClasses:t}=w("vv-card",{modifiers:n.modifiers});return(l,r)=>(e.openBlock(),e.createElementBlock("article",{class:e.normalizeClass(e.unref(t))},[l.$slots.header||l.title?(e.openBlock(),e.createElementBlock("header",wt,[e.renderSlot(l.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(l.title),1)])])):e.createCommentVNode("",!0),e.renderSlot(l.$slots,"default"),l.$slots.content?(e.openBlock(),e.createElementBlock("div",Nt,[e.renderSlot(l.$slots,"content")])):e.createCommentVNode("",!0),l.$slots.footer?(e.openBlock(),e.createElementBlock("footer",Rt,[e.renderSlot(l.$slots,"footer")])):e.createCommentVNode("",!0)],2))}}),Ot={...De,indeterminate:Boolean,uncheckedValue:[String,Number,Boolean],switch:Boolean},Tt=["click","update:modelValue","change","blur"];function Lt(o,n){const{group:t,isInGroup:l,getGroupOrLocalRef:r}=ce(Pe),{switch:i,indeterminate:a}=e.toRefs(o),f=r("modelValue",o,n),d=r("readonly",o),c=r("disabled",o),s=r("valid",o),u=r("invalid",o);return{propsSwitch:i,indeterminate:a,group:t,isInGroup:l,modelValue:f,readonly:d,disabled:c,valid:s,invalid:u}}function me(o){return Array.isArray(o)?o.filter(n=>qe(n)).join(" "):o}function Z(o,n){const{invalid:t,valid:l,hint:r,loading:i}=n,{hintLabel:a,modelValue:f,valid:d,validLabel:c,invalid:s,invalidLabel:u,...p}=e.toRefs(o),g=ie(p,"loading"),b=ie(p,"loadingLabel"),h=e.computed(()=>s.value?!!(s.value&&t||u!=null&&u.value&&Array.isArray(u.value)&&u.value.length>0||u!=null&&u.value&&!L(u)):!1),m=e.computed(()=>!!(a&&a.value||r)),S=e.computed(()=>!!(c&&c.value||l)),B=e.computed(()=>!!(g!=null&&g.value&&i||g!=null&&g.value&&(b!=null&&b.value))),_=e.computed(()=>m.value||S.value||h.value||B.value);return{hasInvalid:h,hasHint:m,hasValid:S,hasLoading:B,HintSlot:{name:"HintSlot",props:{params:{type:Object,default:()=>({})}},setup(P){const V=e.computed(()=>{const R=U.toReactive({hintLabel:a,modelValue:f,valid:d,validLabel:c,invalid:s,invalidLabel:u,loading:g,loadingLabel:b,...P.params});return s!=null&&s.value?(t==null?void 0:t(R))||me(u==null?void 0:u.value)||(a==null?void 0:a.value):d!=null&&d.value?(l==null?void 0:l(R))||me(c==null?void 0:c.value)||(a==null?void 0:a.value):g!=null&&g.value?(i==null?void 0:i(R))||me(b==null?void 0:b.value)||(a==null?void 0:a.value):(r==null?void 0:r(R))||me(a==null?void 0:a.value)||(a==null?void 0:a.value)});return{isVisible:_,hasInvalid:h,hasValid:S,hintContent:V}},render(){if(this.isVisible)return e.h("small",{role:this.hasInvalid||this.hasValid?"alert":void 0},this.hintContent)}}}}const xt=["for"],Ht=["id","name","disabled","value","tabindex","aria-invalid"],Mt={name:"VvCheckbox"},xe=e.defineComponent({...Mt,props:Ot,emits:Tt,setup(o,{emit:n}){const t=o,l=e.useSlots(),{disabled:r,readonly:i,valid:a,invalid:f,propsSwitch:d,modelValue:c,indeterminate:s,isInGroup:u}=Lt(t,n),p=e.computed(()=>String(t.id||j.nanoid())),g=e.computed(()=>m.value?-1:t.tabindex),b=e.ref(),h=e.computed(()=>t.uncheckedValue!==void 0&&!u.value),m=e.computed(()=>r.value||i.value),S=e.computed(()=>{if(f.value===!0)return!0;if(a.value===!0)return!1}),B=e.computed(()=>h.value?c.value===t.value:Array.isArray(c.value)?K(t.value,c.value):q(t.value,c.value)),_=e.computed(()=>!!(s.value||!B.value&&h.value&&t.uncheckedValue!==c.value)),P=e.computed(()=>{if(!h.value)return["string","number","boolean"].includes(typeof t.value)?t.value:!0}),V=e.computed({get(){return B.value},set(A){if(h.value)c.value=A?t.value:t.uncheckedValue;else if(Array.isArray(c.value)||u.value){const O=new Set(Array.isArray(c.value)?c.value:c.value!==void 0?[c.value]:[]);A?O.add(t.value):O.delete(t.value),c.value=[...O]}else c.value=A?t.value:void 0;n("change",A)}}),{bemCssClasses:R}=w("vv-checkbox",{switch:d,valid:a,invalid:f,disabled:r,readonly:i,indeterminate:s});e.watchEffect(()=>{h.value&&Array.isArray(c.value)&&console.warn("[VvCheckbox] The model value is an array but the component is in binary mode.")}),e.watch(()=>_.value,A=>{A?b.value.indeterminate=!0:b.value.indeterminate=!1}),e.onMounted(()=>{_.value&&(b.value.indeterminate=!0)});const{HintSlot:x}=Z(t,l);return(A,O)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(e.unref(R)),for:e.unref(p)},[e.withDirectives(e.createElementVNode("input",{id:e.unref(p),ref_key:"input",ref:b,"onUpdate:modelValue":O[0]||(O[0]=G=>e.isRef(V)?V.value=G:null),type:"checkbox",class:"vv-checkbox__input",name:A.name,disabled:e.unref(m),value:e.unref(P),tabindex:e.unref(g),"aria-invalid":e.unref(S)},null,8,Ht),[[e.vModelCheckbox,e.unref(V)]]),e.renderSlot(A.$slots,"default",{value:e.unref(c)},()=>[e.createTextVNode(e.toDisplayString(A.label),1)]),e.createVNode(e.unref(x),{class:"vv-checkbox__hint",params:{value:e.unref(c)}},null,8,["params"])],10,xt))}});function se(o){const{options:n,labelKey:t,valueKey:l}=e.toRefs(o);return{options:n,getOptionLabel:a=>typeof a!="object"&&a!==null?a:typeof t.value=="function"?t.value(a):a[t.value],getOptionValue:a=>typeof a!="object"&&a!==null?a:typeof l.value=="function"?l.value(a):a[l.value]}}const Gt=Ie,zt=["update:modelValue","change"],Ut=["textContent"],jt={class:"vv-checkbox-group__wrapper"},Ft={name:"VvCheckboxGroup"},vt=e.defineComponent({...Ft,props:Gt,emits:zt,setup(o,{emit:n}){const t=o,l=e.useSlots(),r=U.useVModel(t,"modelValue",n),{disabled:i,readonly:a,vertical:f,valid:d,invalid:c}=e.toRefs(t);de({key:Pe,modelValue:r,disabled:i,readonly:a,valid:d,invalid:c});const{getOptionLabel:u,getOptionValue:p}=se(t),{bemCssClasses:g}=w("vv-checkbox-group",{disabled:i,readonly:a,horizontal:e.computed(()=>!f.value),valid:d,invalid:c}),b=(m,S)=>({id:`${t.name}_opt${S}`,name:t.name,label:u(m),value:p(m)}),{HintSlot:h}=Z(t,l);return(m,S)=>(e.openBlock(),e.createElementBlock("fieldset",{class:e.normalizeClass(e.unref(g))},[m.label?(e.openBlock(),e.createElementBlock("legend",{key:0,textContent:e.toDisplayString(m.label)},null,8,Ut)):e.createCommentVNode("",!0),e.createElementVNode("div",jt,[m.options.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(m.options,(B,_)=>(e.openBlock(),e.createBlock(xe,e.mergeProps({key:_},b(B,_)),null,16))),128)):e.renderSlot(m.$slots,"default",{key:1})]),e.createVNode(e.unref(h),{class:"vv-checkbox-group__hint"})],2))}});function fe(o,n,t){const l=e.computed(()=>!!(o!=null&&o.value&&n.value==="left"||t!=null&&t.iconLeft)),r=e.computed(()=>!!(o!=null&&o.value&&n.value==="right"||t!=null&&t.iconRight)),i=e.computed(()=>!!(o!=null&&o.value&&n.value==="top"||t!=null&&t.iconTop)),a=e.computed(()=>!!(o!=null&&o.value&&n.value==="bottom"||t!=null&&t.iconBottom));return{hasIcon:e.computed(()=>typeof(o==null?void 0:o.value)=="string"?{name:o==null?void 0:o.value}:o==null?void 0:o.value),hasIconLeft:l,hasIconRight:r,hasIconTop:i,hasIconBottom:a}}function ge(o,n){const{focused:t}=U.useFocus(o);return e.watch(t,l=>{n(l?"focus":"blur",e.unref(o))}),{focused:t}}const Wt={...ue,...X,...F,modelValue:{type:[String,Number,Boolean,Object,Array]},labelNoResults:{type:String,default:"No results"},multiple:Boolean,maxValues:[Number,String]},qt={key:0,role:"option"},Kt=["aria-selected"],Xt=["for","onClick"],Zt=["id","type","value","checked","disabled"],Yt={name:"VvDropdown"},He=e.defineComponent({...Yt,props:Wt,emits:["update:modelValue"],setup(o,{emit:n}){const t=o,l=j.nanoid(),{modifiers:r,disabled:i}=e.toRefs(t),{getOptionLabel:a,getOptionValue:f}=se(t),{bemCssClasses:d}=w("vv-dropdown",{modifiers:r,disabled:i});function c(p){return Array.isArray(t.modelValue)?K(p,t.modelValue)||K(f(p),t.modelValue):q(p,t.modelValue)||q(f(p),t.modelValue)}function s(p){return typeof p=="string"||p.disabled===void 0?i.value:p.disabled}function u(p){var b;if(t.disabled)return;let g=p;if(t.multiple)if(Array.isArray(t.modelValue)){if(t.maxValues!==void 0&&t.maxValues>=0&&((b=t.modelValue)==null?void 0:b.length)>=t.maxValues&&!K(p,t.modelValue))return;g=K(p,t.modelValue)?We(p,t.modelValue):[...t.modelValue,p]}else g=[p];n("update:modelValue",g)}return(p,g)=>{var b;return e.openBlock(),e.createElementBlock("ul",{class:e.normalizeClass(e.unref(d)),role:"listbox"},[(b=p.options)!=null&&b.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("li",qt,[e.createElementVNode("label",null,e.toDisplayString(p.labelNoResults),1)])),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.options,(h,m)=>(e.openBlock(),e.createElementBlock("li",{key:m,role:"option","aria-selected":c(h)},[e.createElementVNode("label",{for:`dropdown-${m}-${e.unref(l)}`,onClick:e.withModifiers(S=>u(e.unref(f)(h)),["prevent"])},[e.createElementVNode("input",{id:`dropdown-${m}-${e.unref(l)}`,type:p.multiple?"checkbox":"radio",value:e.unref(f)(h),checked:c(h),disabled:s(h),tabindex:"-1","aria-hidden":"true"},null,8,Zt),e.createTextVNode(" "+e.toDisplayString(e.unref(a)(h)),1)],8,Xt)],8,Kt))),128))],2)}}}),Jt=["update:modelValue","change:search","focus","blur"],Qt={...pe,...ne,...re,...ae,...he,...X,...le,...F,...ue,...ye,modelValue:{type:[String,Number,Boolean,Object,Array],default:void 0},label:String,labelNoResults:{type:String,default:"No results"},placeholder:String,searchable:Boolean,searchPlaceholder:String,debounceSearch:{type:[Number,String],default:0},multiple:Boolean,maxValues:[Number,String],separator:{type:String,default:", "},native:Boolean},eo=["id"],to=["id","for"],oo=["tabindex"],no=["id","placeholder"],ro={name:"VvCombobox"},lo=e.defineComponent({...ro,props:Qt,emits:Jt,setup(o,{emit:n}){const t=o,l=e.useSlots(),{HintSlot:r}=Z(t,l),i=e.ref(),a=e.ref(),{focused:f}=ge(i,n),d=j.nanoid(),c=e.ref(""),s=U.refDebounced(c,Number(t.debounceSearch)),u=e.ref(!1),{icon:p,iconPosition:g,modifiers:b,disabled:h,readonly:m,loading:S,valid:B,invalid:_}=e.toRefs(t);e.watch(s,()=>n("change:search",s.value));const{hasIcon:P,hasIconLeft:V,hasIconRight:R}=fe(p,g),x=e.computed(()=>!L(t.modelValue)),A=e.computed(()=>h.value||m.value?-1:t.tabindex),{bemCssClasses:O}=w("vv-select",{modifiers:b,disabled:h,loading:S,readonly:m,iconLeft:V,iconRight:R,valid:B,invalid:_,dirty:x,focus:f}),G=e.computed(()=>t.searchable?Q.value:t.options),{getOptionLabel:J,getOptionValue:H}=se(t),Q=e.computed(()=>{var k;return(k=t.options)==null?void 0:k.filter(D=>J(D).toLowerCase().includes(s.value.toLowerCase().trim()))}),W=e.computed(()=>{let k=[];return Array.isArray(t.modelValue)?k=t.modelValue:t.modelValue&&(k=[t.modelValue]),t.options.filter(D=>k.includes(H(D)))}),M=e.computed(()=>W.value.map(k=>H(k)).join(t.separator));U.onClickOutside(i,()=>{i.value.open=!1});function $(k){const D=k.target;u.value=D.open}function z(k){i.value&&!t.multiple&&(i.value.open=!1),n("update:modelValue",k)}const I=e.computed(()=>({options:G.value,labelKey:t.labelKey,valueKey:t.valueKey,disabled:t.disabled,labelNoResults:t.labelNoResults,multiple:t.multiple,maxValues:t.maxValues,modelValue:t.modelValue}));return(k,D)=>k.native?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",{key:0,id:e.unref(d),class:e.normalizeClass(e.unref(O))},[k.label?(e.openBlock(),e.createElementBlock("label",{key:0,id:`${e.unref(d)}-label`,for:k.searchable&&u.value?`${e.unref(d)}-input`:void 0},e.toDisplayString(k.label),9,to)):e.createCommentVNode("",!0),e.createElementVNode("details",{ref_key:"dropdown",ref:i,class:"vv-select__wrapper",onClick:D[2]||(D[2]=ee=>e.unref(h)||e.unref(m)?ee.preventDefault():null),onKeyup:D[3]||(D[3]=e.withKeys(ee=>i.value.open=!1,["esc"])),onToggle:$},[e.createElementVNode("summary",{class:"vv-select__input",tabindex:e.unref(A),onKeyup:D[1]||(D[1]=e.withKeys(ee=>k.searchable?ee.preventDefault():null,["space"]))},[e.renderSlot(k.$slots,"before",{},()=>[e.unref(V)?(e.openBlock(),e.createBlock(N,e.mergeProps({key:0,class:"vv-select__icon-left"},e.unref(P)),null,16)):e.createCommentVNode("",!0)]),k.searchable&&u.value?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,id:`${e.unref(d)}-input`,ref_key:"inputSearch",ref:a,"onUpdate:modelValue":D[0]||(D[0]=ee=>c.value=ee),role:"combobox",type:"search",placeholder:k.searchPlaceholder},null,8,no)),[[e.vModelText,c.value]]):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(e.unref(M)||k.placeholder),1)],64)),e.renderSlot(k.$slots,"after",{},()=>[e.unref(R)?(e.openBlock(),e.createBlock(N,e.mergeProps({key:0,class:"vv-select__icon-right"},e.unref(P)),null,16)):e.createCommentVNode("",!0)])],40,oo),e.createVNode(He,e.mergeProps({id:`${e.unref(d)}-dropdown`},e.unref(I),{"onUpdate:modelValue":z}),null,16,["id"])],544),e.createVNode(e.unref(r),{class:"vv-select__hint"})],10,eo))}}),ao=["open","close","update:modelValue"],so={id:{type:String,required:!0},title:String,modelValue:Boolean,transition:{type:String,default:"fade-block"},size:String,autoClose:{type:Boolean,default:!0}},io={key:0,class:"vv-dialog__header"},co=["onClick"],uo={class:"vv-dialog__content"},po={key:1,class:"vv-dialog__footer"},mo={name:"VvDialog"},fo=e.defineComponent({...mo,props:so,emits:ao,setup(o,{emit:n}){const t=o,l=U.useVModel(t,"modelValue",n),r=e.ref(!0),i=e.ref(null),a=e.computed(()=>{const{id:u}=t;return{id:u,open:r.value}}),f=e.computed(()=>t.size?["vv-dialog",`vv-dialog--${t.size}`]:"vv-dialog"),d=e.computed(()=>`vv-dialog--${t.transition}`),c={"before-enter":()=>{r.value=!0,n("open")},"after-leave":()=>{r.value=!1,n("close")}};U.onClickOutside(i,()=>{t.autoClose&&(l.value=!1)});function s(){l.value=!1}return(u,p)=>(e.openBlock(),e.createBlock(e.Transition,e.mergeProps({name:e.unref(d)},e.toHandlers(c)),{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("dialog",e.mergeProps(e.unref(a),{class:e.unref(f)}),[e.createElementVNode("article",{ref_key:"modalWrapper",ref:i,class:"vv-dialog__wrapper"},[u.$slots.header||u.title?(e.openBlock(),e.createElementBlock("header",io,[e.renderSlot(u.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(u.title)+" ",1),e.createElementVNode("button",{type:"button","aria-label":"Close",class:"vv-dialog__close",onClick:e.withModifiers(s,["prevent"])},[e.createVNode(N,{name:"close"})],8,co)])])):e.createCommentVNode("",!0),e.createElementVNode("div",uo,[e.renderSlot(u.$slots,"default")]),u.$slots.footer?(e.openBlock(),e.createElementBlock("footer",po,[e.renderSlot(u.$slots,"footer")])):e.createCommentVNode("",!0)],512)],16),[[e.vShow,e.unref(l)]])]),_:3},16,["name"]))}});function Me(o,n,t=0){let l;return typeof t=="string"&&(t=parseInt(t)),e.computed({get:()=>o==null?void 0:o.value,set:r=>{l&&clearTimeout(l),l=setTimeout(()=>{n("update:modelValue",r)},t)}})}function Ge(o,n){const t=e.computed(()=>(e.unref(o)??"").length),l=e.computed(()=>(n==null?void 0:n.lowerLimit)!==void 0&&t.value<(n==null?void 0:n.lowerLimit)?t.value-n.lowerLimit:(n==null?void 0:n.upperLimit)!==void 0&&t.value<(n==null?void 0:n.upperLimit)?n.upperLimit-t.value:0),r=e.computed(()=>(n==null?void 0:n.mode)===!1?"":(n==null?void 0:n.mode)==="limit"?`${t.value} / ${n.lowerLimit?`${n.lowerLimit}-`:""}${n.upperLimit}`:(n==null?void 0:n.mode)==="countdown"?l.value===0?void 0:l:t.value);return{length:t,gap:l,formatted:r}}const y={TEXT:"text",PASSWORD:"password",NUMBER:"number",EMAIL:"email",TEL:"tel",URL:"url",COLOR:"color",SEARCH:"search",DATE:"date",TIME:"time",DATETIME_LOCAL:"datetime-local",MONTH:"month",WEEK:"week"},Y={PASSWORD_SHOW:"eye-on",PASSWORD_HIDE:"eye-off",DATE:"calendar",TIME:"time",COLOR:"color",SEARCH:"close"},go=["update:modelValue","focus","blur","keyup"],bo={...Re,modelValue:[String,Number],type:{type:String,default:y.TEXT,validator:o=>Object.values(y).includes(o)},min:[Number,Date,String],max:[Number,Date,String],step:{type:[String,Number],default:1},pattern:String,multiple:Boolean,iconShowPassword:{type:String,default:Y.PASSWORD_SHOW},iconHidePassword:{type:String,default:Y.PASSWORD_HIDE},iconClear:{type:String,default:Y.SEARCH},labelStepUp:{type:String,default:"Increase value"},labelStepDown:{type:String,default:"Decrease value"},labelShowPassword:{type:String,default:"Show password"},labelHidePassword:{type:String,default:"Hide password"},labelClear:{type:String,default:"Clear"}},ze=e.defineComponent({components:{VvIcon:N},props:{disabled:{type:Boolean,default:!1},labelShow:{type:String,default:"Show password"},labelHide:{type:String,default:"Hide password"},iconShow:{type:String,default:Y.PASSWORD_SHOW},iconHide:{type:String,default:Y.PASSWORD_HIDE}},emits:["toggle-password"],setup(o,{emit:n}){const t=e.ref(!1),l=e.computed(()=>t.value?o.iconHide:o.iconShow);function r(i){i==null||i.stopPropagation(),o.disabled||(t.value=!t.value,n("toggle-password",t.value))}return{active:t,activeIcon:l,onClick:r}},render(){const o=e.h(N,{name:this.activeIcon,class:"vv-input-text__action-icon"});return e.h("button",{disabled:this.disabled,class:"vv-input-text__action",ariaLabel:this.active?this.labelHide:this.labelShow,type:"button",onClick:this.onClick},o)}}),Ve=e.defineComponent({components:{VvIcon:N},props:{disabled:{type:Boolean,default:!1},label:{type:String},mode:{type:String,validator:o=>["up","down"].includes(o),default:"up"}},emits:["step-up","step-down"],setup(o,{emit:n}){const t=e.computed(()=>o.mode==="up");return{isUp:t,onClick:r=>{r==null||r.stopPropagation(),o.disabled||n(t.value?"step-up":"step-down")}}},render(){return e.h("button",{class:["vv-input-text__action-chevron",this.isUp&&"vv-input-text__action-chevron-up"],disabled:this.disabled,ariaLabel:this.label,onClick:this.onClick})}}),Ue=e.defineComponent({components:{VvIcon:N},props:{disabled:{type:Boolean,default:!1},label:{type:String,default:"Clear"},icon:{type:String,default:"close"}},emits:["clear"],setup(o,{emit:n}){function t(l){l==null||l.stopPropagation(),o.disabled||n("clear")}return{onClick:t}},render(){const o=e.h(N,{name:this.icon,class:"vv-input-text__action-icon"});return e.h("button",{disabled:this.disabled,class:"vv-input-text__action",ariaLabel:this.label,type:"button",onClick:this.onClick},o)}});function ke(o,n){return{name:"VvInputTextActions",components:{VvIcon:N,VvInputPasswordAction:ze,VvInputStepAction:Ve,VvInputClearAction:Ue},setup(){return{isDisabled:e.computed(()=>n.disabled||n.readonly),labelStepUp:n.labelStepUp,labelStepDown:n.labelStepDown,labelShowPassword:n.labelShowPassword,labelHidePassword:n.labelHidePassword,labelClear:n.labelClear,iconShowPassword:n.iconShowPassword,iconHidePassword:n.iconHidePassword}},render(){let t=null;switch(o){case y.SEARCH:{const{onClear:l}=this.$attrs;t=[e.h(Ue,{disabled:this.isDisabled,label:this.labelShowPassword,onClear:l})];break}case y.PASSWORD:{const{onTogglePassword:l}=this.$attrs;t=[e.h(ze,{disabled:this.isDisabled,onTogglePassword:l,labelShow:this.labelShowPassword,labelHide:this.labelHidePassword,iconShow:this.iconShowPassword,iconHide:this.iconHidePassword})];break}case y.NUMBER:{const{onStepUp:l,onStepDown:r}=this.$attrs;t=[e.h(Ve,{mode:"up",disabled:this.isDisabled||n.max!==void 0&&n.modelValue===n.max,label:this.labelStepUp,onStepUp:l,onStepDown:r}),e.h(Ve,{mode:"down",disabled:this.isDisabled||n.min!==void 0&&n.modelValue===n.min,label:this.labelStepDown,onStepUp:l,onStepDown:r})];break}}return Array.isArray(t)?e.h("div",{class:"vv-input-text__actions-group"},t):t}}}const ho=["for"],yo={class:"vv-input-text__wrapper"},So=["id"],Vo={key:0,class:"vv-input-text__limit"},ko={name:"VvInputText"},_o=e.defineComponent({...ko,props:bo,emits:go,setup(o,{emit:n}){const t=o,l=e.useSlots(),r=e.ref(),{icon:i,iconPosition:a,label:f,modelValue:d,count:c,valid:s,invalid:u,loading:p}=e.toRefs(t),g=e.computed(()=>String(t.id||j.nanoid())),b=e.computed(()=>`${g.value}-hint`),h=e.computed(()=>t.floating&&L(t.placeholder)?" ":t.placeholder),m=Me(d,n,t.debounce),{focused:S}=ge(r,n),B=e.ref(!1),_=e.computed(()=>t.type===y.PASSWORD),P=()=>{B.value=!B.value},V=e.computed(()=>t.type===y.TIME||t.type===y.DATETIME_LOCAL||t.type===y.DATE||t.type===y.WEEK||t.type===y.MONTH),R=e.computed(()=>t.type===y.NUMBER),x=()=>{$.value&&(r.value.stepUp(),m.value=e.unref(r).value)},A=()=>{$.value&&(r.value.stepDown(),m.value=e.unref(r).value)},O=e.computed(()=>t.type===y.SEARCH),G=()=>{m.value=void 0},{hasIconLeft:J,hasIconRight:H,hasIcon:Q}=fe(i,a),W=e.computed(()=>{switch(t.type){case y.COLOR:return{name:Y.COLOR};case y.DATE:case y.DATETIME_LOCAL:case y.WEEK:case y.MONTH:return{name:Y.DATE};case y.TIME:return{name:Y.TIME};default:return""}}),{formatted:M}=Ge(m,{mode:t.count,upperLimit:t.maxlength,lowerLimit:t.minlength}),$=e.computed(()=>!t.disabled&&!t.readonly),z=e.computed(()=>$.value?t.tabindex:-1),I=e.computed(()=>!L(d)),k=e.computed(()=>{if(u.value===!0)return!0;if(s.value===!0)return!1}),{bemCssClasses:D}=w("vv-input-text",{modifiers:t.modifiers,valid:s,invalid:u,loading:p,disabled:t.disabled,readonly:t.readonly,iconLeft:J,iconRight:H.value||!L(W),floating:t.floating&&!L(t.label),dirty:I,focus:S}),ee=e.computed(()=>{const E=(()=>_.value&&B.value||V.value&&!I.value&&!S.value?y.TEXT:t.type)(),T={type:E,name:t.name,tabindex:z.value,disabled:t.disabled,readonly:t.readonly,required:t.required,autocomplete:t.autocomplete,"aria-invalid":k.value,"aria-describedby":!Fe.value&&rn.value?b.value:void 0,"aria-errormessage":Fe.value?b.value:void 0};return(E===y.DATE||E===y.MONTH||E===y.WEEK||E===y.TIME||E===y.DATETIME_LOCAL||E===y.NUMBER)&&(T.step=t.step,T.max=String(t.max),T.min=String(t.min)),(E===y.TEXT||E===y.SEARCH||E===y.URL||E===y.TEL||E===y.EMAIL||E===y.PASSWORD||E===y.NUMBER)&&(T.placeholder=h.value),(E===y.TEXT||E===y.SEARCH||E===y.URL||E===y.TEL||E===y.EMAIL||E===y.PASSWORD)&&(T.minlength=t.minlength,T.maxlength=t.maxlength,T.pattern=t.pattern),E===y.EMAIL&&(T.multiple=t.multiple),T}),_e=e.computed(()=>({valid:t.valid,invalid:t.invalid,modelValue:t.modelValue,togglePassword:P,stepUp:x,stepDown:A,clear:G})),{HintSlot:nn,hasHint:rn,hasInvalid:Fe}=Z(t,l),ln=ke(y.PASSWORD,t),an=ke(y.NUMBER,t),sn=ke(y.SEARCH,t);return e.onMounted(()=>{t.autofocus&&(S.value=!0)}),(E,T)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(D))},[e.unref(f)?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(g),class:"vv-input-text__label"},e.toDisplayString(e.unref(f)),9,ho)):e.createCommentVNode("",!0),e.createElementVNode("div",yo,[e.renderSlot(E.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(_e))),()=>[e.unref(J)?(e.openBlock(),e.createBlock(N,e.mergeProps({key:0,class:"vv-input-text__icon-left"},e.unref(Q)),null,16)):e.createCommentVNode("",!0)]),e.withDirectives(e.createElementVNode("input",e.mergeProps({id:e.unref(g),ref_key:"input",ref:r,"onUpdate:modelValue":T[0]||(T[0]=Ce=>e.isRef(m)?m.value=Ce:null)},e.unref(ee),{onKeyup:T[1]||(T[1]=Ce=>n("keyup",Ce))}),null,16,So),[[e.vModelDynamic,e.unref(m)]]),e.renderSlot(E.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(_e))),()=>[e.unref(H)||e.unref(W)?(e.openBlock(),e.createBlock(N,e.normalizeProps(e.mergeProps({key:0},e.unref(H)?e.unref(Q):e.unref(W))),null,16)):e.unref(_)?(e.openBlock(),e.createBlock(e.unref(ln),{key:1,onTogglePassword:P})):e.unref(R)?(e.openBlock(),e.createBlock(e.unref(an),{key:2,onStepUp:x,onStepDown:A})):e.unref(O)?(e.openBlock(),e.createBlock(e.unref(sn),{key:3,onClear:G})):e.createCommentVNode("",!0)]),e.unref(c)?(e.openBlock(),e.createElementBlock("span",Vo,[e.renderSlot(E.$slots,"count",e.normalizeProps(e.guardReactiveProps(e.unref(_e))),()=>[e.createTextVNode(e.toDisplayString(e.unref(M)),1)])])):e.createCommentVNode("",!0)]),e.createVNode(e.unref(nn),{id:e.unref(b),class:"vv-input-text__hint"},null,8,["id"])],2))}}),Co={...F,value:{type:[Number,String],default:void 0},max:{type:[Number,String]},label:{type:String,required:!0}},Bo={name:"VvProgress"},Eo=e.defineComponent({...Bo,props:Co,setup(o){const n=o,{value:t,max:l,label:r}=e.toRefs(n),i=e.computed(()=>n.value===void 0),{bemCssClasses:a}=w("vv-progress",{modifiers:n.modifiers,indeterminate:i});return(f,d)=>(e.openBlock(),e.createElementBlock("progress",e.mergeProps({role:"progressbar"},{class:e.unref(a),ariaLabel:e.unref(r),max:e.unref(l),value:e.unref(t)}),null,16))}}),$o=De,Po=["click","update:modelValue","change","blur"];function Ao(o,n){const{group:t,isInGroup:l,getGroupOrLocalRef:r}=ce($e),i=r("modelValue",o,n),a=r("readonly",o),f=r("disabled",o),d=r("valid",o),c=r("invalid",o);return{group:t,isInGroup:l,modelValue:i,readonly:a,disabled:f,valid:d,invalid:c}}const wo=["for"],No=["id","name","disabled","value","tabindex","aria-invalid"],Ro={name:"VvRadio"},je=e.defineComponent({...Ro,props:$o,emits:Po,setup(o,{emit:n}){const t=o,l=e.useSlots(),{disabled:r,readonly:i,modelValue:a,valid:f,invalid:d}=Ao(t,n),c=e.computed(()=>String(t.id||j.nanoid())),s=e.computed(()=>p.value?-1:t.tabindex),u=e.ref(),p=e.computed(()=>r.value||i.value),g=e.computed(()=>{if(d.value===!0)return!0;if(f.value===!0)return!1}),b=e.computed(()=>Array.isArray(a.value)?K(t.value,a.value):q(t.value,a.value)),h=e.computed(()=>["string","number","boolean"].includes(typeof t.value)?t.value:!0),m=e.computed({get(){return b.value?h.value:null},set(_){Array.isArray(a.value)?a.value=[t.value]:a.value=t.value,n("change",_)}}),{bemCssClasses:S}=w("vv-radio",{valid:f,invalid:d,disabled:r,readonly:i}),{HintSlot:B}=Z(t,l);return(_,P)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(e.unref(S)),for:e.unref(c)},[e.withDirectives(e.createElementVNode("input",{id:e.unref(c),ref_key:"input",ref:u,"onUpdate:modelValue":P[0]||(P[0]=V=>e.isRef(m)?m.value=V:null),type:"radio",class:"vv-radio__input",name:_.name,disabled:e.unref(p),value:e.unref(h),tabindex:e.unref(s),"aria-invalid":e.unref(g)},null,8,No),[[e.vModelRadio,e.unref(m)]]),e.renderSlot(_.$slots,"default",{value:e.unref(a)},()=>[e.createTextVNode(e.toDisplayString(_.label),1)]),e.createVNode(e.unref(B),{class:"vv-radio__hint",params:{value:e.unref(a)}},null,8,["params"])],10,wo))}}),Do=Ie,Io=["update:modelValue","change"],Oo=["textContent"],To={class:"vv-radio-group__wrapper"},Lo={name:"VvRadioGroup"},xo=e.defineComponent({...Lo,props:Do,emits:Io,setup(o,{emit:n}){const t=o,l=e.useSlots(),r=U.useVModel(t,"modelValue",n),{disabled:i,readonly:a,vertical:f,valid:d,invalid:c}=e.toRefs(t);de({key:$e,modelValue:r,disabled:i,readonly:a,valid:d,invalid:c});const{getOptionLabel:u,getOptionValue:p}=se(t),{bemCssClasses:g}=w("vv-radio-group",{disabled:i,readonly:a,horizontal:e.computed(()=>!f.value),valid:d,invalid:c}),b=(m,S)=>({id:`${t.name}_opt${S}`,name:t.name,label:u(m),value:p(m)}),{HintSlot:h}=Z(t,l);return(m,S)=>(e.openBlock(),e.createElementBlock("fieldset",{class:e.normalizeClass(e.unref(g))},[m.label?(e.openBlock(),e.createElementBlock("legend",{key:0,textContent:e.toDisplayString(m.label)},null,8,Oo)):e.createCommentVNode("",!0),e.createElementVNode("div",To,[m.options.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(m.options,(B,_)=>(e.openBlock(),e.createBlock(je,e.mergeProps({key:_},b(B,_)),null,16))),128)):e.renderSlot(m.$slots,"default",{key:1})]),e.createVNode(e.unref(h),{class:"vv-radio-group__hint"})],2))}}),Ho={...Se,...pe,...ne,...re,...ae,...he,...X,...le,...F,...ue,...ye,autocomplete:{type:String,default:"off"},autofocus:Boolean,multiple:Boolean,required:Boolean,size:[String,Number],modelValue:{type:[String,Number,Boolean,Object,Array],default:void 0},label:String,placeholder:String},Mo=["update:modelValue","focus","blur"],Go=["for"],zo={class:"vv-select__wrapper"},Uo=["id"],jo={key:0,value:void 0,disabled:""},Fo=["disabled","value"],vo={name:"VvSelect"},Wo=e.defineComponent({...vo,props:Ho,emits:Mo,setup(o,{emit:n}){const t=o,l=e.useSlots(),r=e.ref(),{HintSlot:i,hasHint:a,hasInvalid:f}=Z(t,l),{modifiers:d,disabled:c,readonly:s,loading:u,icon:p,iconPosition:g,invalid:b,valid:h}=e.toRefs(t),m=e.computed(()=>String(t.id||j.nanoid())),S=e.computed(()=>`${m.value}-hint`),{focused:B}=ge(r,n),{hasIcon:_,hasIconLeft:P,hasIconRight:V}=fe(p,g),R=e.computed(()=>!L(t.modelValue)),x=e.computed(()=>t.disabled||t.readonly),A=e.computed(()=>x.value?-1:t.tabindex),O=e.computed(()=>{if(t.invalid===!0)return!0;if(t.valid===!0)return!1}),{bemCssClasses:G}=w("vv-select",{modifiers:d,valid:h,invalid:b,loading:u,disabled:c,readonly:s,iconLeft:P,iconRight:V,dirty:R,focus:B}),J=e.computed(()=>({name:t.name,tabindex:A.value,disabled:x.value,required:t.required,size:t.size,autocomplete:t.autocomplete,multiple:t.multiple,"aria-invalid":O.value,"aria-describedby":!f.value&&a.value?S.value:void 0,"aria-errormessage":f.value?S.value:void 0})),{getOptionLabel:H,getOptionValue:Q}=se(t);function W($){return typeof $=="string"||$.disabled===void 0?c.value:$.disabled}const M=e.computed({get:()=>t.modelValue,set:$=>{n("update:modelValue",$)}});return($,z)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(G))},[$.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(m)},e.toDisplayString($.label),9,Go)):e.createCommentVNode("",!0),e.createElementVNode("div",zo,[e.renderSlot($.$slots,"before",{},()=>[e.unref(P)?(e.openBlock(),e.createBlock(N,e.normalizeProps(e.mergeProps({key:0},e.unref(_))),null,16)):e.createCommentVNode("",!0)]),e.withDirectives(e.createElementVNode("select",e.mergeProps({id:e.unref(m),ref_key:"select",ref:r,"onUpdate:modelValue":z[0]||(z[0]=I=>e.isRef(M)?M.value=I:null)},e.unref(J)),[$.placeholder?(e.openBlock(),e.createElementBlock("option",jo,e.toDisplayString($.placeholder),1)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList($.options,(I,k)=>(e.openBlock(),e.createElementBlock("option",{key:k,disabled:W(I),value:e.unref(Q)(I)},e.toDisplayString(e.unref(H)(I)),9,Fo))),128))],16,Uo),[[e.vModelSelect,e.unref(M)]]),e.renderSlot($.$slots,"after",{},()=>[e.unref(V)?(e.openBlock(),e.createBlock(N,e.normalizeProps(e.mergeProps({key:0},e.unref(_))),null,16)):e.createCommentVNode("",!0)])]),e.createVNode(e.unref(i),{id:e.unref(S),class:"vv-select__hint"},null,8,["id"])],2))}}),qo={hard:"hard",soft:"soft"},Ko={true:!0,false:!1,default:"default"},Xo=["update:modelValue","focus","blur","keyup"],Zo={...Re,modelValue:String,cols:{type:[String,Number],default:20},rows:{type:[String,Number],default:2},wrap:{type:String,default:qo.soft},spellcheck:{type:[Boolean,String],default:Ko.default},resizable:Boolean},Yo=["for"],Jo={class:"vv-textarea__wrapper"},Qo=["id"],en={key:0,class:"vv-textarea__limit"},tn={name:"VvTextarea"},on=e.defineComponent({...tn,props:Zo,emits:Xo,setup(o,{emit:n}){const t=o,l=e.useSlots(),r=e.ref(),{icon:i,iconPosition:a,label:f,modelValue:d,count:c,valid:s,invalid:u,loading:p}=e.toRefs(t),g=e.computed(()=>String(t.id||j.nanoid())),b=e.computed(()=>`${g.value}-hint`),h=e.computed(()=>t.floating&&L(t.placeholder)?" ":t.placeholder),m=Me(d,n,t.debounce),{hasIcon:S,hasIconLeft:B,hasIconRight:_}=fe(i,a),{focused:P}=ge(r,n),{formatted:V}=Ge(m,{mode:t.count,upperLimit:t.maxlength,lowerLimit:t.minlength}),R=e.computed(()=>!t.disabled&&!t.readonly),x=e.computed(()=>R.value?t.tabindex:-1),A=e.computed(()=>!L(d)),O=e.computed(()=>{if(t.invalid===!0)return!0;if(t.valid===!0)return!1}),{HintSlot:G,hasHint:J,hasInvalid:H}=Z(t,l),{bemCssClasses:Q}=w("vv-textarea",{modifiers:t.modifiers,valid:s,invalid:u,loading:p,disabled:t.disabled,readonly:t.readonly,iconLeft:B,iconRight:_,floating:t.floating&&!L(t.label),dirty:A,focused:P,resizable:t.resizable}),W=e.computed(()=>({name:t.name,placeholder:h.value,tabindex:x.value,disabled:t.disabled,readonly:t.readonly,required:t.required,autocomplete:t.autocomplete,minlength:t.minlength,maxlength:t.maxlength,cols:t.cols,rows:t.rows,wrap:t.wrap,spellcheck:t.spellcheck,"aria-invalid":O.value,"aria-describedby":!H.value&&J.value?b.value:void 0,"aria-errormessage":H.value?b.value:void 0})),M=e.computed(()=>({valid:t.valid,invalid:t.invalid,modelValue:t.modelValue,hintLabel:t.hintLabel,maxlength:t.maxlength,minlength:t.minlength,clear:$})),$=()=>{m.value=void 0};return e.onMounted(()=>{t.autofocus&&(P.value=!0)}),(z,I)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(Q))},[e.unref(f)?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(g),class:"vv-textarea__label"},e.toDisplayString(e.unref(f)),9,Yo)):e.createCommentVNode("",!0),e.createElementVNode("div",Jo,[e.renderSlot(z.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(M))),()=>[e.unref(B)?(e.openBlock(),e.createBlock(N,e.mergeProps({key:0,class:"vv-textarea__icon-left"},e.unref(S)),null,16)):e.createCommentVNode("",!0)]),e.withDirectives(e.createElementVNode("textarea",e.mergeProps({id:e.unref(g),ref_key:"textarea",ref:r,"onUpdate:modelValue":I[0]||(I[0]=k=>e.isRef(m)?m.value=k:null)},e.unref(W),{onKeyup:I[1]||(I[1]=k=>n("keyup",k))}),null,16,Qo),[[e.vModelText,e.unref(m)]]),e.renderSlot(z.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(M))),()=>[e.unref(_)?(e.openBlock(),e.createBlock(N,e.normalizeProps(e.mergeProps({key:0},e.unref(S))),null,16)):e.createCommentVNode("",!0)]),e.unref(c)?(e.openBlock(),e.createElementBlock("span",en,[e.renderSlot(z.$slots,"count",e.normalizeProps(e.guardReactiveProps(e.unref(M))),()=>[e.createTextVNode(e.toDisplayString(e.unref(V)),1)])])):e.createCommentVNode("",!0)]),e.createVNode(e.unref(G),{id:e.unref(b),class:"vv-textarea__hint"},null,8,["id"])],2))}});C.VvAccordion=we,C.VvAccordionGroup=rt,C.VvBadge=ct,C.VvBreadcrumb=ft,C.VvButton=Ct,C.VvButtonGroup=Pt,C.VvCard=It,C.VvCheckbox=xe,C.VvCheckboxGroup=vt,C.VvCombobox=lo,C.VvDialog=fo,C.VvDropdown=He,C.VvIcon=N,C.VvInputText=_o,C.VvProgress=Eo,C.VvRadio=je,C.VvRadioGroup=xo,C.VvSelect=Wo,C.VvTextarea=on,Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})});
1
+ (function(B,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@vueuse/core"),require("nanoid"),require("@iconify/vue")):typeof define=="function"&&define.amd?define(["exports","vue","@vueuse/core","nanoid","@iconify/vue"],e):(B=typeof globalThis<"u"?globalThis:B||self,e(B.components={},B.vue,B.core,B.nanoid,B.vue$1))})(this,function(B,e,L,U,ne){"use strict";function Y(o,n,t){return t?ue(o,t)===ue(n,t):Se(o,n)}function Se(o,n){if(o===n)return!0;if(o&&n&&typeof o=="object"&&typeof n=="object"){const t=Array.isArray(o),r=Array.isArray(n);let l,i,a;if(t&&r){if(i=o.length,i!=n.length)return!1;for(l=i;l--!==0;)if(!Se(o[l],n[l]))return!1;return!0}if(t!=r)return!1;const f=o instanceof Date,d=n instanceof Date;if(f!=d)return!1;if(f&&d)return o.getTime()==n.getTime();const c=o instanceof RegExp,s=n instanceof RegExp;if(c!=s)return!1;if(c&&s)return o.toString()==n.toString();const p=Object.keys(o);if(i=p.length,i!==Object.keys(n).length)return!1;for(l=i;l--!==0;)if(!Object.prototype.hasOwnProperty.call(n,p[l]))return!1;for(l=i;l--!==0;)if(a=p[l],!Se(o[a],n[a]))return!1;return!0}return o!==o&&n!==n}function ue(o,n){if(o&&Object.keys(o).length&&n){if(n.indexOf(".")===-1)return o[n];{const t=n.split(".");let r=o;for(let l=0,i=t.length;l<i;++l){if(o==null)return null;r=r[t[l]]}return r}}else return null}function Ye(o,n){let t=-1;if(n){for(let r=0;r<n.length;r++)if(Y(n[r],o)){t=r;break}}return t}function J(o,n){if(o!=null&&n&&n.length){for(const t of n)if(Y(o,t))return!0}return!1}function H(o){return(n=>n==null||n===""||Array.isArray(n)&&n.length===0||!(n instanceof Date)&&typeof n=="object"&&Object.keys(n).length===0)(e.unref(o))}function Je(o,n){const t=Ye(o,n);return t>-1?n.filter((r,l)=>l!==t):n}function Qe(o){return typeof o=="string"||o instanceof String}function Pe(o){var n,t;if(o)return(t=(n=o.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g))==null?void 0:n.join("-"))==null?void 0:t.toLowerCase()}function N(o,n){const t={[`${o}`]:!0};return{bemCssClasses:e.computed(()=>Object.keys(n).reduce((l,i)=>{const a=e.unref(n[i])||!1;if(!a)return l;if(i==="modifiers"){const f=Array.isArray(a)?a:a.split(" ");return{...l,...f.reduce((d,c)=>({...d,[`${o}--${Pe(c)}`]:!0}),{})}}else return{...l,[`${o}--${Pe(i)}`]:a}},t)||{})}}function pe(o){const n=e.inject(o,void 0),t=e.computed(()=>!H(n));function r(l,i,a){if(n!=null&&n.value){const d=e.unref(n.value)[l];return e.computed({get(){return d==null?void 0:d.value},set(c){d.value=c}})}const f=e.toRef(i,l);return e.computed({get(){return f.value},set(d){a&&a(`update:${l}`,d)}})}return{group:n,isInGroup:t,getGroupOrLocalRef:r}}const Ae="VV_BUTTON_GROUP",we="VV_RADIO_GROUP",Ne="VV_CHECK_GROUP",Re="VV_ACCORDION_GROUP",et={name:String,title:String,content:String,modelValue:{type:Boolean,default:void 0},modifiers:[String,Array],disabled:Boolean},tt=["update:modelValue"];function ot(o,n){const{group:t,isInGroup:r,getGroupOrLocalRef:l}=pe(Re),{title:i,content:a}=e.toRefs(o),f=l("modelValue",o,n),d=l("disabled",o),c=l("collapse",o),s=l("modifiers",o);return{modelValue:f,disabled:d,isInGroup:r,group:t,collapse:c,modifiers:s,title:i,content:a}}const nt=["id","open"],lt=["aria-controls","aria-expanded"],rt=["aria-hidden"],at={name:"VvAccordion"},De=e.defineComponent({...at,props:et,emits:tt,setup(o,{emit:n}){const t=o,r=e.useAttrs(),l=t.name||(r==null?void 0:r.id)||U.nanoid(),{modifiers:i,title:a,content:f,disabled:d,collapse:c,modelValue:s,isInGroup:p}=ot(t,n),u=e.ref(!1),b=e.computed({get:()=>p.value?c.value&&Array.isArray(s.value)?s.value.includes(l):s.value===l:s.value===void 0?u.value:s.value,set:m=>{if(p.value){if(c.value&&Array.isArray(s.value)){if(m){s.value.push(l);return}s.value=s.value.filter(V=>V!==l);return}s.value=m?l:null;return}if(s.value===void 0&&typeof m=="boolean"){u.value=m;return}s.value=m}}),{bemCssClasses:g}=N("vv-accordion",{modifiers:i,disabled:d}),h=L.useToggle(b);return(m,V)=>(e.openBlock(),e.createElementBlock("details",{id:e.unref(l),class:e.normalizeClass(e.unref(g)),open:e.unref(b),onClick:V[0]||(V[0]=e.withModifiers(E=>e.unref(h)(),["prevent"]))},[e.createElementVNode("summary",{"aria-controls":e.unref(l),"aria-expanded":e.unref(b),class:"vv-collapse__summary"},[e.renderSlot(m.$slots,"summary",e.normalizeProps(e.guardReactiveProps({open:e.unref(b)})),()=>[e.createTextVNode(e.toDisplayString(e.unref(a)),1)])],8,lt),e.createElementVNode("div",{"aria-hidden":!e.unref(b),class:"vv-collapse__content"},[e.renderSlot(m.$slots,"details",e.normalizeProps(e.guardReactiveProps({open:e.unref(b)})),()=>[e.createTextVNode(e.toDisplayString(e.unref(f)),1)])],8,rt)],10,nt))}});function me(o){if(Object.keys(o).some(n=>n!=="key"&&!e.isRef(o[n])))throw Error("One or more groupState props aren't ref.");e.provide(o.key,e.computed(()=>o))}const st={modelValue:[String,Array],items:{type:Array,default:()=>[]},collapse:Boolean,modifiers:[String,Array],itemModifiers:{type:[String,Array],default:""},disabled:Boolean},it=["update:modelValue"],ct={name:"VvAccordionGroup"},dt=e.defineComponent({...ct,props:st,emits:it,setup(o,{emit:n}){const t=o,{disabled:r,collapse:l,modifiers:i,itemModifiers:a,items:f}=e.toRefs(t);e.watchEffect(()=>{typeof t.modelValue=="string"&&l.value&&console.warn("[VvAccordionGroup]: modelValue is a string but collapse is true.")});const d=e.ref([]),c=e.computed({get:()=>{var u;return t.modelValue!==void 0?l.value?t.modelValue:Array.isArray(t.modelValue)?t.modelValue[0]:t.modelValue:l.value?d.value:(u=d.value)==null?void 0:u[0]},set:u=>{if(t.modelValue!==void 0)return(Array.isArray(t.modelValue)||l.value)&&!Array.isArray(u)&&(u=[u]),n("update:modelValue",u);d.value=Array.isArray(u)?u:[u]}});me({key:Re,modelValue:c,disabled:r,collapse:l,modifiers:a});const{bemCssClasses:p}=N("vv-accordion-group",{modifiers:i,disabled:r});return(u,b)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(p))},[e.renderSlot(u.$slots,"default",{},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f),g=>(e.openBlock(),e.createBlock(De,e.mergeProps({key:g.title},{name:g.name,title:g.title,content:g.content}),{header:e.withCtx(h=>[e.renderSlot(u.$slots,`header::${g.name}`,e.normalizeProps(e.guardReactiveProps(h)))]),details:e.withCtx(h=>[e.renderSlot(u.$slots,`details::${g.name}`,e.normalizeProps(e.guardReactiveProps(h)))]),_:2},1040))),128))])],2))}}),re={valid:Boolean,validLabel:[String,Array]},ae={invalid:Boolean,invalidLabel:[String,Array]},ke={loading:Boolean,loadingLabel:String},Q={disabled:Boolean},se={readonly:Boolean},j={modifiers:[String,Array]},ie={hintLabel:{type:String,default:""}},fe={options:{type:Array,default:()=>[]},labelKey:{type:[String,Function],default:"label"},valueKey:{type:[String,Function],default:"value"}},ut={count:{type:[Boolean,String],default:!1,validator:o=>[!0,!1,"limit","countdown"].includes(o)}},pt={debounce:[Number,String]},Ie={LEFT:"left",RIGHT:"right"},_e={icon:{type:[String,Object]},iconPosition:{type:String,validation:o=>Object.values(Ie).includes(o),default:Ie.RIGHT}},be={tabindex:{type:[String,Number],default:0}},Ce={floating:Boolean},ge={unselectable:{type:Boolean,default:!0}},ce={id:[String,Number],name:{type:String,required:!0}},Oe={autofocus:Boolean},Te={autocomplete:{type:String,default:"off"}},Le={...ce,...Oe,...Te,...be,...Q,...se,...re,...ae,...ie,...ke,...j,...ut,...pt,..._e,...Ce,minlength:Number,maxlength:Number,placeholder:String,required:Boolean,label:String},xe={...ce,...be,...re,...ae,...ie,...Q,...se,value:[String,Number,Boolean],modelValue:[Object,Number,Boolean,String],label:String},Me={...re,...ae,...fe,...ie,...Q,...se,modelValue:[String,Array],label:String,name:{type:String,required:!0},vertical:Boolean},mt={...j,value:[String,Number]},ft={name:"VvBadge"},bt=e.defineComponent({...ft,props:mt,setup(o){const n=o,{bemCssClasses:t}=N("vv-badge",{modifiers:n.modifiers});return(r,l)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(e.unref(t)),role:"status"},[e.renderSlot(r.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(r.value),1)])],2))}}),gt={...j,routes:Array},ht={class:"vv-breadcrumb__list"},yt=["content"],Vt={name:"VvBreadcrumb"},St=e.defineComponent({...Vt,props:gt,setup(o){const n=o,{bemCssClasses:t}=N("vv-breadcrumb",{modifiers:n.modifiers});return(r,l)=>(e.openBlock(),e.createElementBlock("nav",{class:e.normalizeClass(e.unref(t)),"aria-label":"breadcrumbs"},[e.createElementVNode("ol",ht,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.routes,(i,a)=>{var f,d,c,s;return e.openBlock(),e.createElementBlock("li",{key:`${i.label}-${a}`,class:e.normalizeClass({"vv-breadcrumb__item":a<Number((f=r.routes)==null?void 0:f.length)-1,"vv-breadcrumb__item-active":a===Number((d=r.routes)==null?void 0:d.length)-1}),itemprop:"itemListElement",itemtype:"https://schema.org/ListItem",itemscope:""},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i.to?"router-link":i.href?"a":"span"),e.mergeProps(i,{class:{"vv-breadcrumb__link":a<Number((c=r.routes)==null?void 0:c.length)-1},"aria-current":a===Number((s=r.routes)==null?void 0:s.length)-1?"page":void 0,itemprop:"item"}),{default:e.withCtx(()=>[e.renderSlot(r.$slots,"label",e.normalizeProps(e.guardReactiveProps({route:i,index:a})),()=>[e.createTextVNode(e.toDisplayString(i.label),1)])]),_:2},1040,["class","aria-current"])),e.createElementVNode("meta",{itemprop:"position",content:`${a+1}`},null,8,yt)],2)}),128))])],2))}}),He="ds",kt={color:String,width:{type:[String,Number]},height:{type:[String,Number]},name:{type:String,required:!0},provider:{type:String},prefix:{type:String,default:"normal"},src:String,horizontalFlip:Boolean,verticalFlip:Boolean,flip:String,mode:String,inline:Boolean,rotate:[Number,String],onLoad:Function,svg:String,modifiers:{type:[String,Array]}},_t={name:"VvIcon"},R=e.defineComponent({..._t,props:kt,setup(o){const n=o,t=e.ref(!0),{modifiers:r}=e.toRefs(n),l=e.inject(He),{bemCssClasses:i}=N("vv-icon",{modifiers:r}),a=e.computed(()=>n.provider||(l==null?void 0:l.provider)),f=e.computed(()=>{const s=n.name??"",p=`@${a.value}:${n.prefix}:${n.name}`;return ne.iconExists(s)?s:ne.iconExists(p)?p:(l==null?void 0:l.iconsCollections.find(u=>{const b=`@${a.value}:${u.prefix}:${s}`;if(ne.iconExists(b))return b}))||s});function d(s){let p=null;if(typeof window>"u"){const{JSDOM:h}=require("jsdom");p=new h().window}return(p?new p.DOMParser:new window.DOMParser).parseFromString(s,"text/html").querySelector("svg")}function c(s){const p=d(s),u=(p==null?void 0:p.innerHTML.trim())||"";p&&u&&ne.addIcon(`@${a.value}:${n.prefix}:${n.name}`,{body:u,height:p.viewBox.baseVal.height,width:p.viewBox.baseVal.width})}return l&&(n.src&&!ne.iconExists(`@${a.value}:${n.prefix}:${n.name}`)?(t.value=!1,l.fetchIcon(n.src).then(s=>{s&&(c(s),t.value=!0)}).catch(s=>{throw new Error(`During fetch icon: ${s==null?void 0:s.message}`)})):n.svg&&c(n.svg)),(s,p)=>t.value?(e.openBlock(),e.createBlock(e.unref(ne.Icon),e.mergeProps({key:0,class:e.unref(i)},{inline:s.inline,width:s.width,height:s.height,horizontalFlip:s.horizontalFlip,verticalFlip:s.verticalFlip,flip:s.flip,rotate:s.rotate,color:s.color,onLoad:s.onLoad,icon:e.unref(f)}),null,16,["class"])):e.createCommentVNode("",!0)}});var le=(o=>(o.left="left",o.right="right",o.top="top",o.bottom="bottom",o))(le||{}),Ge=(o=>(o.button="button",o.submit="submit",o.reset="reset",o))(Ge||{}),F=(o=>(o.nuxtLink="nuxt-link",o.routerLink="router-link",o.a="a",o.button="button",o))(F||{}),ze=(o=>(o._blank="_blank",o._self="_self",o._parent="_parent",o._top="_top",o))(ze||{});const Ct=["update:modelValue"],Bt={...j,...Q,...ge,icon:{type:[String,Object],default:""},iconPosition:{type:String,default:"left",validator:o=>o in le},label:[String,Number],loading:Boolean,loadingIcon:{type:String,default:"eos-icons:bubble-loading"},loadingLabel:{type:String,default:"Loading..."},to:{type:[String,Object]},href:String,target:{type:String,validator:o=>o in ze},active:Boolean,pressed:Boolean,rel:{type:String,default:"noopener noreferrer"},type:{type:String,default:"button",validator:o=>o in Ge},toggle:{type:Boolean,default:!1},modelValue:String};function Et(o,n){var m;const{group:t,isInGroup:r,getGroupOrLocalRef:l}=pe(Ae),{iconPosition:i,icon:a,label:f,pressed:d,modifiers:c}=e.toRefs(o),s=l("modelValue",o,n),p=l("disabled",o),u=l("toggle",o),b=l("unselectable",o),g=((m=t==null?void 0:t.value)==null?void 0:m.multiple)??e.ref(!1),h=e.computed(()=>{var S;const V=c!=null&&c.value?Array.isArray(c.value)?c.value:[c.value]:[],E=(S=t==null?void 0:t.value.itemModifiers)!=null&&S.value?Array.isArray(t.value.itemModifiers.value)?t.value.itemModifiers.value:[t.value.itemModifiers.value]:[];return[...V,...E]});return{group:t,isInGroup:r,modelValue:s,disabled:p,toggle:u,unselectable:b,multiple:g,modifiers:h,pressed:d,iconPosition:i,icon:a,label:f}}const $t={key:1,class:"vv-button__label"},Pt={key:1,class:"vv-button__label"},At={name:"VvButton"},wt=e.defineComponent({...At,props:Bt,emits:Ct,setup(o,{emit:n}){const t=o,r=e.useAttrs(),l=e.useSlots(),i=(r==null?void 0:r.name)||U.nanoid(),{modifiers:a,iconPosition:f,icon:d,label:c,modelValue:s,disabled:p,toggle:u,unselectable:b}=Et(t,n),g=e.inject(He),h=e.computed(()=>{switch(!0){case p.value:return F.button;case t.to!==void 0:return g!=null&&g.nuxt?F.nuxtLink:F.routerLink;case t.href!==void 0:return F.a;default:return F.button}}),m=e.computed(()=>u.value?Array.isArray(s.value)?J(i,s.value):Y(i,s.value):t.pressed),{bemCssClasses:V}=N("vv-button",{modifiers:a,active:t.active,pressed:m,disabled:p,reverse:e.computed(()=>[le.right,le.bottom].includes(f.value)),column:e.computed(()=>[le.top,le.bottom].includes(f.value)),iconOnly:e.computed(()=>(d==null?void 0:d.value)&&!(c!=null&&c.value)&&!l.default)}),E=e.computed(()=>typeof(d==null?void 0:d.value)=="string"?{name:d==null?void 0:d.value}:d==null?void 0:d.value),S=e.computed(()=>{const k={class:V.value,"aria-pressed":m.value?!0:void 0};switch(h.value){case F.a:return{...k,role:"button",href:t.href,target:t.target,rel:t.rel};case F.routerLink:case F.nuxtLink:return{...k,role:"button",to:t.to,target:t.target};default:return{...k,type:t.type,disabled:p.value}}}),w=()=>{if(u.value){if(Array.isArray(s.value)){if(J(i,s.value)){b.value&&(s.value=s.value.filter(k=>k!==i));return}s.value.push(i);return}if(Y(i,s.value)&&b.value){s.value=void 0;return}s.value=i}};return(k,D)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(h)),e.mergeProps(e.unref(S),{onClickPassive:w}),{default:e.withCtx(()=>[e.renderSlot(k.$slots,"default",{},()=>[k.loading?e.renderSlot(k.$slots,"loading",{key:0},()=>[k.loadingIcon?(e.openBlock(),e.createBlock(R,{key:0,class:"vv-button__loading-icon",name:k.loadingIcon},null,8,["name"])):e.createCommentVNode("",!0),k.loadingLabel?(e.openBlock(),e.createElementBlock("span",$t,e.toDisplayString(k.loadingLabel),1)):e.createCommentVNode("",!0)]):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.renderSlot(k.$slots,"before"),e.unref(d)?(e.openBlock(),e.createBlock(R,e.mergeProps({key:0,class:"vv-button__icon"},e.unref(E)),null,16)):e.createCommentVNode("",!0),e.unref(c)?(e.openBlock(),e.createElementBlock("span",Pt,[e.renderSlot(k.$slots,"label",{},()=>[e.createTextVNode(e.toDisplayString(e.unref(c)),1)])])):e.createCommentVNode("",!0),e.renderSlot(k.$slots,"after")],64))])]),_:3},16))}}),Nt={...j,...Q,...ge,itemModifiers:{type:[String,Array],default:void 0},toggle:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},modelValue:{type:[String,Array],default:void 0}},Rt=["update:modelValue"],Dt={name:"VvButtonGroup"},It=e.defineComponent({...Dt,props:Nt,emits:Rt,setup(o,{emit:n}){const t=o,{disabled:r,toggle:l,modifiers:i,multiple:a,unselectable:f,itemModifiers:d}=e.toRefs(t);e.watchEffect(()=>{typeof t.modelValue=="string"&&a.value&&console.warn("[VvButtonGroup]: modelValue is a string but multiple is true.")});const c=e.computed({get:()=>a.value?t.modelValue:Array.isArray(t.modelValue)?t.modelValue[0]:t.modelValue,set:u=>(u!==void 0&&(Array.isArray(t.modelValue)||a.value)&&!Array.isArray(u)&&(u=[u]),n("update:modelValue",u))});me({key:Ae,modelValue:c,disabled:r,toggle:l,multiple:a,unselectable:f,itemModifiers:d});const{bemCssClasses:p}=N("vv-button-group",{modifiers:i});return(u,b)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(p)),role:"group"},[e.renderSlot(u.$slots,"default")],2))}}),Ot={title:String,modifiers:[String,Array]},Tt={key:0,class:"vv-card__header"},Lt={key:1,class:"vv-card__content"},xt={key:2,class:"vv-card__footer"},Mt={name:"VvCard"},Ht=e.defineComponent({...Mt,props:Ot,setup(o){const n=o,{bemCssClasses:t}=N("vv-card",{modifiers:n.modifiers});return(r,l)=>(e.openBlock(),e.createElementBlock("article",{class:e.normalizeClass(e.unref(t))},[r.$slots.header||r.title?(e.openBlock(),e.createElementBlock("header",Tt,[e.renderSlot(r.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(r.title),1)])])):e.createCommentVNode("",!0),e.renderSlot(r.$slots,"default"),r.$slots.content?(e.openBlock(),e.createElementBlock("div",Lt,[e.renderSlot(r.$slots,"content")])):e.createCommentVNode("",!0),r.$slots.footer?(e.openBlock(),e.createElementBlock("footer",xt,[e.renderSlot(r.$slots,"footer")])):e.createCommentVNode("",!0)],2))}}),Gt={...xe,indeterminate:Boolean,uncheckedValue:[String,Number,Boolean],switch:Boolean},zt=["click","update:modelValue","change","blur"];function vt(o,n){const{group:t,isInGroup:r,getGroupOrLocalRef:l}=pe(Ne),{switch:i,indeterminate:a}=e.toRefs(o),f=l("modelValue",o,n),d=l("readonly",o),c=l("disabled",o),s=l("valid",o),p=l("invalid",o);return{propsSwitch:i,indeterminate:a,group:t,isInGroup:r,modelValue:f,readonly:d,disabled:c,valid:s,invalid:p}}function he(o){return Array.isArray(o)?o.filter(n=>Qe(n)).join(" "):o}function ee(o,n){const{invalid:t,valid:r,hint:l,loading:i}=n,{hintLabel:a,modelValue:f,valid:d,validLabel:c,invalid:s,invalidLabel:p,...u}=e.toRefs(o),b=ue(u,"loading"),g=ue(u,"loadingLabel"),h=e.computed(()=>s.value?!!(s.value&&t||p!=null&&p.value&&Array.isArray(p.value)&&p.value.length>0||p!=null&&p.value&&!H(p)):!1),m=e.computed(()=>!!(a&&a.value||l)),V=e.computed(()=>!!(c&&c.value||r)),E=e.computed(()=>!!(b!=null&&b.value&&i||b!=null&&b.value&&(g!=null&&g.value))),S=e.computed(()=>m.value||V.value||h.value||E.value);return{hasInvalid:h,hasHint:m,hasValid:V,hasLoading:E,HintSlot:{name:"HintSlot",props:{params:{type:Object,default:()=>({})}},setup(w){const k=e.computed(()=>{const D=L.toReactive({hintLabel:a,modelValue:f,valid:d,validLabel:c,invalid:s,invalidLabel:p,loading:b,loadingLabel:g,...w.params});return s!=null&&s.value?(t==null?void 0:t(D))||he(p==null?void 0:p.value)||(a==null?void 0:a.value):d!=null&&d.value?(r==null?void 0:r(D))||he(c==null?void 0:c.value)||(a==null?void 0:a.value):b!=null&&b.value?(i==null?void 0:i(D))||he(g==null?void 0:g.value)||(a==null?void 0:a.value):(l==null?void 0:l(D))||he(a==null?void 0:a.value)||(a==null?void 0:a.value)});return{isVisible:S,hasInvalid:h,hasValid:V,hintContent:k}},render(){if(this.isVisible)return e.h("small",{role:this.hasInvalid||this.hasValid?"alert":void 0},this.hintContent)}}}}const Ut=["for"],jt=["id","name","disabled","value","tabindex","aria-invalid"],Ft={name:"VvCheckbox"},ve=e.defineComponent({...Ft,props:Gt,emits:zt,setup(o,{emit:n}){const t=o,r=e.useSlots(),{disabled:l,readonly:i,valid:a,invalid:f,propsSwitch:d,modelValue:c,indeterminate:s,isInGroup:p}=vt(t,n),u=e.computed(()=>String(t.id||U.nanoid())),b=e.computed(()=>m.value?-1:t.tabindex),g=e.ref(),h=e.computed(()=>t.uncheckedValue!==void 0&&!p.value),m=e.computed(()=>l.value||i.value),V=e.computed(()=>{if(f.value===!0)return!0;if(a.value===!0)return!1}),E=e.computed(()=>h.value?c.value===t.value:Array.isArray(c.value)?J(t.value,c.value):Y(t.value,c.value)),S=e.computed(()=>!!(s.value||!E.value&&h.value&&t.uncheckedValue!==c.value)),w=e.computed(()=>{if(!h.value)return["string","number","boolean"].includes(typeof t.value)?t.value:!0}),k=e.computed({get(){return E.value},set(P){if(h.value)c.value=P?t.value:t.uncheckedValue;else if(Array.isArray(c.value)||p.value){const I=new Set(Array.isArray(c.value)?c.value:c.value!==void 0?[c.value]:[]);P?I.add(t.value):I.delete(t.value),c.value=[...I]}else c.value=P?t.value:void 0;n("change",P)}}),{bemCssClasses:D}=N("vv-checkbox",{switch:d,valid:a,invalid:f,disabled:l,readonly:i,indeterminate:s});e.watchEffect(()=>{h.value&&Array.isArray(c.value)&&console.warn("[VvCheckbox] The model value is an array but the component is in binary mode.")}),e.watch(()=>S.value,P=>{P?g.value.indeterminate=!0:g.value.indeterminate=!1}),e.onMounted(()=>{S.value&&(g.value.indeterminate=!0)});const{HintSlot:G}=ee(t,r);return(P,I)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(e.unref(D)),for:e.unref(u)},[e.withDirectives(e.createElementVNode("input",{id:e.unref(u),ref_key:"input",ref:g,"onUpdate:modelValue":I[0]||(I[0]=z=>e.isRef(k)?k.value=z:null),type:"checkbox",class:"vv-checkbox__input",name:P.name,disabled:e.unref(m),value:e.unref(w),tabindex:e.unref(b),"aria-invalid":e.unref(V)},null,8,jt),[[e.vModelCheckbox,e.unref(k)]]),e.renderSlot(P.$slots,"default",{value:e.unref(c)},()=>[e.createTextVNode(e.toDisplayString(P.label),1)]),e.createVNode(e.unref(G),{class:"vv-checkbox__hint",params:{value:e.unref(c)}},null,8,["params"])],10,Ut))}});function de(o){const{options:n,labelKey:t,valueKey:r}=e.toRefs(o);return{options:n,getOptionLabel:a=>typeof a!="object"&&a!==null?a:typeof t.value=="function"?t.value(a):a[t.value],getOptionValue:a=>typeof a!="object"&&a!==null?a:typeof r.value=="function"?r.value(a):a[r.value]}}const Kt=Me,Wt=["update:modelValue","change"],qt=["textContent"],Xt={class:"vv-checkbox-group__wrapper"},Zt={name:"VvCheckboxGroup"},Yt=e.defineComponent({...Zt,props:Kt,emits:Wt,setup(o,{emit:n}){const t=o,r=e.useSlots(),l=L.useVModel(t,"modelValue",n),{disabled:i,readonly:a,vertical:f,valid:d,invalid:c}=e.toRefs(t);me({key:Ne,modelValue:l,disabled:i,readonly:a,valid:d,invalid:c});const{getOptionLabel:p,getOptionValue:u}=de(t),{bemCssClasses:b}=N("vv-checkbox-group",{disabled:i,readonly:a,horizontal:e.computed(()=>!f.value),valid:d,invalid:c}),g=(m,V)=>({id:`${t.name}_opt${V}`,name:t.name,label:p(m),value:u(m)}),{HintSlot:h}=ee(t,r);return(m,V)=>(e.openBlock(),e.createElementBlock("fieldset",{class:e.normalizeClass(e.unref(b))},[m.label?(e.openBlock(),e.createElementBlock("legend",{key:0,textContent:e.toDisplayString(m.label)},null,8,qt)):e.createCommentVNode("",!0),e.createElementVNode("div",Xt,[m.options.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(m.options,(E,S)=>(e.openBlock(),e.createBlock(ve,e.mergeProps({key:S},g(E,S)),null,16))),128)):e.renderSlot(m.$slots,"default",{key:1})]),e.createVNode(e.unref(h),{class:"vv-checkbox-group__hint"})],2))}});function ye(o,n,t){const r=e.computed(()=>!!(o!=null&&o.value&&n.value==="left"||t!=null&&t.iconLeft)),l=e.computed(()=>!!(o!=null&&o.value&&n.value==="right"||t!=null&&t.iconRight)),i=e.computed(()=>!!(o!=null&&o.value&&n.value==="top"||t!=null&&t.iconTop)),a=e.computed(()=>!!(o!=null&&o.value&&n.value==="bottom"||t!=null&&t.iconBottom));return{hasIcon:e.computed(()=>typeof(o==null?void 0:o.value)=="string"?{name:o==null?void 0:o.value}:o==null?void 0:o.value),hasIconLeft:r,hasIconRight:l,hasIconTop:i,hasIconBottom:a}}function Ve(o,n){const{focused:t}=L.useFocus(o);return e.watch(t,r=>{n(r?"focus":"blur",e.unref(o))}),{focused:t}}const Jt={...ce,...fe,...Q,...j,modelValue:{type:[String,Number,Boolean,Object,Array]},labelNoResults:{type:String,default:"No results"},multiple:Boolean,maxValues:[Number,String],unselectable:{type:Boolean,default:!0}},Qt=["id"],eo={key:0,role:"option"},to=["aria-selected"],oo=["for","onClick"],no=["id","type","value","checked","disabled","name"],lo={name:"VvDropdown"},Ue=e.defineComponent({...lo,props:Jt,emits:["update:modelValue"],setup(o,{emit:n}){const t=o,r=e.computed(()=>String(t.id||U.nanoid())),{modifiers:l,disabled:i}=e.toRefs(t),{getOptionLabel:a,getOptionValue:f}=de(t),{bemCssClasses:d}=N("vv-dropdown",{modifiers:l,disabled:i});function c(u){return Array.isArray(t.modelValue)?J(u,t.modelValue)||J(f(u),t.modelValue):Y(u,t.modelValue)||Y(f(u),t.modelValue)}function s(u){return typeof u=="string"||u.disabled===void 0?i.value:u.disabled}function p(u){var g;if(t.disabled)return;let b=u;if(t.multiple)if(Array.isArray(t.modelValue)){if(t.maxValues!==void 0&&t.maxValues>=0&&((g=t.modelValue)==null?void 0:g.length)>=t.maxValues&&!J(u,t.modelValue))return;b=J(u,t.modelValue)?Je(u,t.modelValue):[...t.modelValue,u]}else b=[u];else t.unselectable&&u===t.modelValue&&(b=void 0);n("update:modelValue",b)}return(u,b)=>{var g;return e.openBlock(),e.createElementBlock("ul",{id:e.unref(r),class:e.normalizeClass(e.unref(d)),role:"listbox"},[(g=u.options)!=null&&g.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("li",eo,[e.createElementVNode("label",null,e.toDisplayString(u.labelNoResults),1)])),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.options,(h,m)=>(e.openBlock(),e.createElementBlock("li",{key:m,role:"option","aria-selected":c(h)},[e.createElementVNode("label",{for:`dropdown-${m}-${e.unref(r)}`,onClick:e.withModifiers(V=>p(e.unref(f)(h)),["prevent"])},[e.createElementVNode("input",{id:`dropdown-${m}-${e.unref(r)}`,type:u.multiple?"checkbox":"radio",value:e.unref(f)(h),checked:c(h),disabled:s(h),name:u.name,tabindex:"-1","aria-hidden":"true"},null,8,no),e.createTextVNode(" "+e.toDisplayString(e.unref(a)(h)),1)],8,oo)],8,to))),128))],10,Qt)}}}),ro={...ce,...Oe,...Te,...be,...re,...ae,...ie,...ke,...Q,...se,...j,...fe,..._e,...Ce,...ge,multiple:Boolean,required:Boolean,size:[String,Number],modelValue:{type:[String,Number,Boolean,Object,Array],default:void 0},label:String,placeholder:String},ao=["update:modelValue","focus","blur"],so=["for"],io={class:"vv-select__wrapper"},co=["id"],uo=["disabled","hidden"],po=["disabled","value"],mo={name:"VvSelect"},je=e.defineComponent({...mo,props:ro,emits:ao,setup(o,{emit:n}){const t=o,r=e.useSlots(),l=e.ref(),{HintSlot:i,hasHint:a,hasInvalid:f}=ee(t,r),{modifiers:d,disabled:c,readonly:s,loading:p,icon:u,iconPosition:b,invalid:g,valid:h,floating:m,multiple:V}=e.toRefs(t),E=e.computed(()=>String(t.id||U.nanoid())),S=e.computed(()=>`${E.value}-hint`),{focused:w}=Ve(l,n),k=L.useElementVisibility(l);e.watch(k,C=>{C&&t.autofocus&&(w.value=!0)});const{hasIcon:D,hasIconLeft:G,hasIconRight:P}=ye(u,b),I=e.computed(()=>!H(t.modelValue)),z=e.computed(()=>t.disabled||t.readonly),K=e.computed(()=>z.value?-1:t.tabindex),W=e.computed(()=>{if(t.invalid===!0)return!0;if(t.valid===!0)return!1}),{bemCssClasses:v}=N("vv-select",{modifiers:d,valid:h,invalid:g,loading:p,disabled:c,readonly:s,iconLeft:G,iconRight:P,dirty:I,focus:w,floating:m,multiple:V}),oe=e.computed(()=>({name:t.name,tabindex:K.value,disabled:z.value,required:t.required,size:t.size,autocomplete:t.autocomplete,multiple:t.multiple,"aria-invalid":W.value,"aria-describedby":!f.value&&a.value?S.value:void 0,"aria-errormessage":f.value?S.value:void 0})),{getOptionLabel:q,getOptionValue:X}=de(t);function Z(C){return typeof C=="string"||C.disabled===void 0?c.value:C.disabled}const T=e.computed({get:()=>t.modelValue,set:C=>{Array.isArray(C)&&(C=C.filter(x=>x!==void 0)),n("update:modelValue",C)}});return(C,x)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(v))},[C.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(E)},e.toDisplayString(C.label),9,so)):e.createCommentVNode("",!0),e.createElementVNode("div",io,[e.renderSlot(C.$slots,"before",{},()=>[e.unref(G)?(e.openBlock(),e.createBlock(R,e.normalizeProps(e.mergeProps({key:0},e.unref(D))),null,16)):e.createCommentVNode("",!0)]),e.withDirectives(e.createElementVNode("select",e.mergeProps({id:e.unref(E),ref_key:"select",ref:l,"onUpdate:modelValue":x[0]||(x[0]=_=>e.isRef(T)?T.value=_:null)},e.unref(oe)),[C.placeholder?(e.openBlock(),e.createElementBlock("option",{key:0,value:void 0,disabled:!C.unselectable,hidden:!C.unselectable},e.toDisplayString(C.placeholder),9,uo)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.options,(_,A)=>(e.openBlock(),e.createElementBlock("option",{key:A,disabled:Z(_),value:e.unref(X)(_)},e.toDisplayString(e.unref(q)(_)),9,po))),128))],16,co),[[e.vModelSelect,e.unref(T)]]),e.renderSlot(C.$slots,"after",{},()=>[e.unref(P)?(e.openBlock(),e.createBlock(R,e.normalizeProps(e.mergeProps({key:0},e.unref(D))),null,16)):e.createCommentVNode("",!0)])]),e.createVNode(e.unref(i),{id:e.unref(S),class:"vv-select__hint"},null,8,["id"])],2))}}),fo=["update:modelValue","change:search","focus","blur"],bo={...ce,...be,...re,...ae,...ie,...ke,...Q,...se,...j,...fe,..._e,...Ce,...ge,modelValue:{type:[String,Number,Boolean,Object,Array],default:void 0},label:String,labelNoResults:{type:String,default:"No results"},placeholder:String,searchable:Boolean,searchPlaceholder:String,debounceSearch:{type:[Number,String],default:0},multiple:Boolean,maxValues:[Number,String],separator:{type:String,default:", "},native:Boolean},go=["id"],ho=["id","for"],yo=["tabindex"],Vo=["id","placeholder"],So={name:"VvCombobox"},ko=e.defineComponent({...So,props:bo,emits:fo,setup(o,{emit:n}){const t=o,r=e.useSlots(),{HintSlot:l}=ee(t,r),i=e.ref(),a=e.ref(),{focused:f}=Ve(i,n),d=e.computed(()=>String(t.id||U.nanoid())),c=e.ref(""),s=L.refDebounced(c,Number(t.debounceSearch)),p=e.ref(!1),{icon:u,iconPosition:b,modifiers:g,disabled:h,readonly:m,loading:V,valid:E,invalid:S,floating:w}=e.toRefs(t);e.watch(s,()=>n("change:search",s.value));const{hasIcon:k,hasIconLeft:D,hasIconRight:G}=ye(u,b),P=e.computed(()=>!H(t.modelValue)),I=e.computed(()=>h.value||m.value?-1:t.tabindex),{bemCssClasses:z}=N("vv-select",{modifiers:g,disabled:h,loading:V,readonly:m,iconLeft:D,iconRight:G,valid:E,invalid:S,dirty:P,focus:f,floating:w}),K=e.computed(()=>t.searchable?oe.value:t.options),{getOptionLabel:W,getOptionValue:v}=de(t),oe=e.computed(()=>{var _;return(_=t.options)==null?void 0:_.filter(A=>W(A).toLowerCase().includes(s.value.toLowerCase().trim()))}),q=e.computed(()=>{let _=[];return Array.isArray(t.modelValue)?_=t.modelValue:t.modelValue&&(_=[t.modelValue]),t.options.filter(A=>_.includes(v(A)))}),X=e.computed(()=>q.value.map(_=>W(_)).join(t.separator));L.onClickOutside(i,()=>{i.value.open=!1});function Z(_){const A=_.target;p.value=A.open}function T(_){i.value&&!t.multiple&&(i.value.open=!1),n("update:modelValue",_)}const C=e.computed(()=>({name:t.name,options:K.value,labelKey:t.labelKey,valueKey:t.valueKey,disabled:t.disabled,labelNoResults:t.labelNoResults,multiple:t.multiple,maxValues:t.maxValues,modelValue:t.modelValue,unselectable:t.unselectable})),x=e.computed(()=>({id:d.value,name:t.name,tabindex:I.value,valid:E.value,validLabel:t.validLabel,invalid:S.value,invalidLabel:t.invalidLabel,hintLabel:t.hintLabel,loading:V.value,loadingLabel:t.loadingLabel,disabled:h.value,readonly:m.value,modifiers:t.modifiers,options:K.value,labelKey:t.labelKey,valueKey:t.valueKey,icon:t.icon,iconPosition:t.iconPosition,floating:t.floating,unselectable:t.unselectable,multiple:t.multiple,label:t.label,placeholder:t.placeholder,modelValue:t.modelValue}));return(_,A)=>_.native?(e.openBlock(),e.createBlock(je,e.mergeProps({key:1},e.unref(x),{"onUpdate:modelValue":A[4]||(A[4]=M=>n("update:modelValue",M))}),null,16)):(e.openBlock(),e.createElementBlock("div",{key:0,id:e.unref(d),class:e.normalizeClass(e.unref(z))},[_.label?(e.openBlock(),e.createElementBlock("label",{key:0,id:`${e.unref(d)}-label`,for:_.searchable&&p.value?`${e.unref(d)}-input`:void 0},e.toDisplayString(_.label),9,ho)):e.createCommentVNode("",!0),e.createElementVNode("details",{ref_key:"dropdown",ref:i,class:"vv-select__wrapper",onClick:A[2]||(A[2]=M=>e.unref(h)||e.unref(m)?M.preventDefault():null),onKeyup:A[3]||(A[3]=e.withKeys(M=>i.value.open=!1,["esc"])),onToggle:Z},[e.createElementVNode("summary",{class:"vv-select__input",tabindex:e.unref(I),onKeyup:A[1]||(A[1]=e.withKeys(M=>_.searchable?M.preventDefault():null,["space"]))},[e.renderSlot(_.$slots,"before",{},()=>[e.unref(D)?(e.openBlock(),e.createBlock(R,e.mergeProps({key:0,class:"vv-select__icon-left"},e.unref(k)),null,16)):e.createCommentVNode("",!0)]),_.searchable&&p.value?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,id:`${e.unref(d)}-input`,ref_key:"inputSearch",ref:a,"onUpdate:modelValue":A[0]||(A[0]=M=>c.value=M),role:"combobox",type:"search",placeholder:_.searchPlaceholder},null,8,Vo)),[[e.vModelText,c.value]]):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(e.unref(X)||_.placeholder),1)],64)),e.renderSlot(_.$slots,"after",{},()=>[e.unref(G)?(e.openBlock(),e.createBlock(R,e.mergeProps({key:0,class:"vv-select__icon-right"},e.unref(k)),null,16)):e.createCommentVNode("",!0)])],40,yo),e.createVNode(Ue,e.mergeProps({id:`${e.unref(d)}-dropdown`},e.unref(C),{"onUpdate:modelValue":T}),null,16,["id"])],544),e.createVNode(e.unref(l),{class:"vv-select__hint"})],10,go))}}),_o=["open","close","update:modelValue"],Co={id:{type:String,required:!0},title:String,modelValue:Boolean,transition:{type:String,default:"fade-block"},size:String,autoClose:{type:Boolean,default:!0}},Bo={key:0,class:"vv-dialog__header"},Eo=["onClick"],$o={class:"vv-dialog__content"},Po={key:1,class:"vv-dialog__footer"},Ao={name:"VvDialog"},wo=e.defineComponent({...Ao,props:Co,emits:_o,setup(o,{emit:n}){const t=o,r=L.useVModel(t,"modelValue",n),l=e.ref(!0),i=e.ref(null),a=e.computed(()=>{const{id:p}=t;return{id:p,open:l.value}}),f=e.computed(()=>t.size?["vv-dialog",`vv-dialog--${t.size}`]:"vv-dialog"),d=e.computed(()=>`vv-dialog--${t.transition}`),c={"before-enter":()=>{l.value=!0,n("open")},"after-leave":()=>{l.value=!1,n("close")}};L.onClickOutside(i,()=>{t.autoClose&&(r.value=!1)});function s(){r.value=!1}return(p,u)=>(e.openBlock(),e.createBlock(e.Transition,e.mergeProps({name:e.unref(d)},e.toHandlers(c)),{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("dialog",e.mergeProps(e.unref(a),{class:e.unref(f)}),[e.createElementVNode("article",{ref_key:"modalWrapper",ref:i,class:"vv-dialog__wrapper"},[p.$slots.header||p.title?(e.openBlock(),e.createElementBlock("header",Bo,[e.renderSlot(p.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(p.title)+" ",1),e.createElementVNode("button",{type:"button","aria-label":"Close",class:"vv-dialog__close",onClick:e.withModifiers(s,["prevent"])},[e.createVNode(R,{name:"close"})],8,Eo)])])):e.createCommentVNode("",!0),e.createElementVNode("div",$o,[e.renderSlot(p.$slots,"default")]),p.$slots.footer?(e.openBlock(),e.createElementBlock("footer",Po,[e.renderSlot(p.$slots,"footer")])):e.createCommentVNode("",!0)],512)],16),[[e.vShow,e.unref(r)]])]),_:3},16,["name"]))}});function Fe(o,n,t=0){let r;return typeof t=="string"&&(t=parseInt(t)),e.computed({get:()=>o==null?void 0:o.value,set:l=>{r&&clearTimeout(r),r=setTimeout(()=>{n("update:modelValue",l)},t)}})}function Ke(o,n){const t=e.computed(()=>(e.unref(o)??"").length),r=e.computed(()=>(n==null?void 0:n.lowerLimit)!==void 0&&t.value<(n==null?void 0:n.lowerLimit)?t.value-n.lowerLimit:(n==null?void 0:n.upperLimit)!==void 0&&t.value<(n==null?void 0:n.upperLimit)?n.upperLimit-t.value:0),l=e.computed(()=>(n==null?void 0:n.mode)===!1?"":(n==null?void 0:n.mode)==="limit"&&(n!=null&&n.upperLimit)?`${t.value} / ${n.lowerLimit?`${n.lowerLimit}-`:""}${n.upperLimit}`:(n==null?void 0:n.mode)==="countdown"?r.value===0?void 0:r:t.value);return{length:t,gap:r,formatted:l}}const y={TEXT:"text",PASSWORD:"password",NUMBER:"number",EMAIL:"email",TEL:"tel",URL:"url",COLOR:"color",SEARCH:"search",DATE:"date",TIME:"time",DATETIME_LOCAL:"datetime-local",MONTH:"month",WEEK:"week"},te={PASSWORD_SHOW:"eye-on",PASSWORD_HIDE:"eye-off",DATE:"calendar",TIME:"time",COLOR:"color",SEARCH:"close"},No=["update:modelValue","focus","blur","keyup"],Ro={...Le,modelValue:[String,Number],type:{type:String,default:y.TEXT,validator:o=>Object.values(y).includes(o)},min:[Number,Date,String],max:[Number,Date,String],step:{type:[String,Number],default:1},pattern:String,multiple:Boolean,iconShowPassword:{type:String,default:te.PASSWORD_SHOW},iconHidePassword:{type:String,default:te.PASSWORD_HIDE},iconClear:{type:String,default:te.SEARCH},labelStepUp:{type:String,default:"Increase value"},labelStepDown:{type:String,default:"Decrease value"},labelShowPassword:{type:String,default:"Show password"},labelHidePassword:{type:String,default:"Hide password"},labelClear:{type:String,default:"Clear"}},We=e.defineComponent({components:{VvIcon:R},props:{disabled:{type:Boolean,default:!1},labelShow:{type:String,default:"Show password"},labelHide:{type:String,default:"Hide password"},iconShow:{type:String,default:te.PASSWORD_SHOW},iconHide:{type:String,default:te.PASSWORD_HIDE}},emits:["toggle-password"],setup(o,{emit:n}){const t=e.ref(!1),r=e.computed(()=>t.value?o.iconHide:o.iconShow);function l(i){i==null||i.stopPropagation(),o.disabled||(t.value=!t.value,n("toggle-password",t.value))}return{active:t,activeIcon:r,onClick:l}},render(){const o=e.h(R,{name:this.activeIcon,class:"vv-input-text__action-icon"});return e.h("button",{disabled:this.disabled,class:"vv-input-text__action",ariaLabel:this.active?this.labelHide:this.labelShow,type:"button",onClick:this.onClick},o)}}),Be=e.defineComponent({components:{VvIcon:R},props:{disabled:{type:Boolean,default:!1},label:{type:String},mode:{type:String,validator:o=>["up","down"].includes(o),default:"up"}},emits:["step-up","step-down"],setup(o,{emit:n}){const t=e.computed(()=>o.mode==="up");return{isUp:t,onClick:l=>{l==null||l.stopPropagation(),o.disabled||n(t.value?"step-up":"step-down")}}},render(){return e.h("button",{class:["vv-input-text__action-chevron",this.isUp&&"vv-input-text__action-chevron-up"],disabled:this.disabled,ariaLabel:this.label,onClick:this.onClick})}}),qe=e.defineComponent({components:{VvIcon:R},props:{disabled:{type:Boolean,default:!1},label:{type:String,default:"Clear"},icon:{type:String,default:"close"}},emits:["clear"],setup(o,{emit:n}){function t(r){r==null||r.stopPropagation(),o.disabled||n("clear")}return{onClick:t}},render(){const o=e.h(R,{name:this.icon,class:"vv-input-text__action-icon"});return e.h("button",{disabled:this.disabled,class:"vv-input-text__action",ariaLabel:this.label,type:"button",onClick:this.onClick},o)}});function Ee(o,n){return{name:"VvInputTextActions",components:{VvIcon:R,VvInputPasswordAction:We,VvInputStepAction:Be,VvInputClearAction:qe},setup(){return{isDisabled:e.computed(()=>n.disabled||n.readonly),labelStepUp:n.labelStepUp,labelStepDown:n.labelStepDown,labelShowPassword:n.labelShowPassword,labelHidePassword:n.labelHidePassword,labelClear:n.labelClear,iconShowPassword:n.iconShowPassword,iconHidePassword:n.iconHidePassword}},render(){let t=null;switch(o){case y.SEARCH:{const{onClear:r}=this.$attrs;t=[e.h(qe,{disabled:this.isDisabled,label:this.labelShowPassword,onClear:r})];break}case y.PASSWORD:{const{onTogglePassword:r}=this.$attrs;t=[e.h(We,{disabled:this.isDisabled,onTogglePassword:r,labelShow:this.labelShowPassword,labelHide:this.labelHidePassword,iconShow:this.iconShowPassword,iconHide:this.iconHidePassword})];break}case y.NUMBER:{const{onStepUp:r,onStepDown:l}=this.$attrs;t=[e.h(Be,{mode:"up",disabled:this.isDisabled||n.max!==void 0&&n.modelValue===n.max,label:this.labelStepUp,onStepUp:r,onStepDown:l}),e.h(Be,{mode:"down",disabled:this.isDisabled||n.min!==void 0&&n.modelValue===n.min,label:this.labelStepDown,onStepUp:r,onStepDown:l})];break}}return Array.isArray(t)?e.h("div",{class:"vv-input-text__actions-group"},t):t}}}const Do=["for"],Io={class:"vv-input-text__wrapper"},Oo=["id"],To={key:0,class:"vv-input-text__limit"},Lo={name:"VvInputText"},xo=e.defineComponent({...Lo,props:Ro,emits:No,setup(o,{emit:n}){const t=o,r=e.useSlots(),l=e.ref(),{icon:i,iconPosition:a,label:f,modelValue:d,count:c,valid:s,invalid:p,loading:u}=e.toRefs(t),b=e.computed(()=>String(t.id||U.nanoid())),g=e.computed(()=>`${b.value}-hint`),h=e.computed(()=>t.floating&&H(t.placeholder)?" ":t.placeholder),m=Fe(d,n,t.debounce),{focused:V}=Ve(l,n),E=L.useElementVisibility(l);e.watch(E,$=>{$&&t.autofocus&&(V.value=!0)});const S=e.ref(!1),w=e.computed(()=>t.type===y.PASSWORD),k=()=>{S.value=!S.value},D=e.computed(()=>t.type===y.TIME||t.type===y.DATETIME_LOCAL||t.type===y.DATE||t.type===y.WEEK||t.type===y.MONTH),G=e.computed(()=>t.type===y.NUMBER),P=()=>{Z.value&&(l.value.stepUp(),m.value=e.unref(l).value)},I=()=>{Z.value&&(l.value.stepDown(),m.value=e.unref(l).value)},z=e.computed(()=>t.type===y.SEARCH),K=()=>{m.value=void 0},{hasIconLeft:W,hasIconRight:v,hasIcon:oe}=ye(i,a),q=e.computed(()=>{switch(t.type){case y.COLOR:return{name:te.COLOR};case y.DATE:case y.DATETIME_LOCAL:case y.WEEK:case y.MONTH:return{name:te.DATE};case y.TIME:return{name:te.TIME};default:return""}}),{formatted:X}=Ke(m,{mode:t.count,upperLimit:t.maxlength,lowerLimit:t.minlength}),Z=e.computed(()=>!t.disabled&&!t.readonly),T=e.computed(()=>Z.value?t.tabindex:-1),C=e.computed(()=>!H(d)),x=e.computed(()=>{if(p.value===!0)return!0;if(s.value===!0)return!1}),{bemCssClasses:_}=N("vv-input-text",{modifiers:t.modifiers,valid:s,invalid:p,loading:u,disabled:t.disabled,readonly:t.readonly,iconLeft:W,iconRight:v.value||!H(q),floating:t.floating&&!H(t.label),dirty:C,focus:V}),A=e.computed(()=>{const $=(()=>w.value&&S.value||D.value&&!C.value&&!V.value?y.TEXT:t.type)(),O={type:$,name:t.name,tabindex:T.value,disabled:t.disabled,readonly:t.readonly,required:t.required,autocomplete:t.autocomplete,"aria-invalid":x.value,"aria-describedby":!Ze.value&&un.value?g.value:void 0,"aria-errormessage":Ze.value?g.value:void 0};return($===y.DATE||$===y.MONTH||$===y.WEEK||$===y.TIME||$===y.DATETIME_LOCAL||$===y.NUMBER)&&(O.step=t.step,O.max=String(t.max),O.min=String(t.min)),($===y.TEXT||$===y.SEARCH||$===y.URL||$===y.TEL||$===y.EMAIL||$===y.PASSWORD||$===y.NUMBER)&&(O.placeholder=h.value),($===y.TEXT||$===y.SEARCH||$===y.URL||$===y.TEL||$===y.EMAIL||$===y.PASSWORD)&&(O.minlength=t.minlength,O.maxlength=t.maxlength,O.pattern=t.pattern),$===y.EMAIL&&(O.multiple=t.multiple),O}),M=e.computed(()=>({valid:t.valid,invalid:t.invalid,modelValue:t.modelValue,togglePassword:k,stepUp:P,stepDown:I,clear:K})),{HintSlot:dn,hasHint:un,hasInvalid:Ze}=ee(t,r),pn=Ee(y.PASSWORD,t),mn=Ee(y.NUMBER,t),fn=Ee(y.SEARCH,t);return($,O)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(_))},[e.unref(f)?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(b),class:"vv-input-text__label"},e.toDisplayString(e.unref(f)),9,Do)):e.createCommentVNode("",!0),e.createElementVNode("div",Io,[e.renderSlot($.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(M))),()=>[e.unref(W)?(e.openBlock(),e.createBlock(R,e.mergeProps({key:0,class:"vv-input-text__icon-left"},e.unref(oe)),null,16)):e.createCommentVNode("",!0)]),e.withDirectives(e.createElementVNode("input",e.mergeProps({id:e.unref(b),ref_key:"input",ref:l,"onUpdate:modelValue":O[0]||(O[0]=$e=>e.isRef(m)?m.value=$e:null)},e.unref(A),{onKeyup:O[1]||(O[1]=$e=>n("keyup",$e))}),null,16,Oo),[[e.vModelDynamic,e.unref(m)]]),e.renderSlot($.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(M))),()=>[e.unref(v)||e.unref(q)?(e.openBlock(),e.createBlock(R,e.normalizeProps(e.mergeProps({key:0},e.unref(v)?e.unref(oe):e.unref(q))),null,16)):e.unref(w)?(e.openBlock(),e.createBlock(e.unref(pn),{key:1,onTogglePassword:k})):e.unref(G)?(e.openBlock(),e.createBlock(e.unref(mn),{key:2,onStepUp:P,onStepDown:I})):e.unref(z)?(e.openBlock(),e.createBlock(e.unref(fn),{key:3,onClear:K})):e.createCommentVNode("",!0)]),e.unref(c)?(e.openBlock(),e.createElementBlock("span",To,[e.renderSlot($.$slots,"count",e.normalizeProps(e.guardReactiveProps(e.unref(M))),()=>[e.createTextVNode(e.toDisplayString(e.unref(X)),1)])])):e.createCommentVNode("",!0)]),e.createVNode(e.unref(dn),{id:e.unref(g),class:"vv-input-text__hint"},null,8,["id"])],2))}}),Mo={...j,value:{type:[Number,String],default:void 0},max:{type:[Number,String]},label:{type:String,required:!0}},Ho={name:"VvProgress"},Go=e.defineComponent({...Ho,props:Mo,setup(o){const n=o,{value:t,max:r,label:l}=e.toRefs(n),i=e.computed(()=>n.value===void 0),{bemCssClasses:a}=N("vv-progress",{modifiers:n.modifiers,indeterminate:i});return(f,d)=>(e.openBlock(),e.createElementBlock("progress",e.mergeProps({role:"progressbar"},{class:e.unref(a),ariaLabel:e.unref(l),max:e.unref(r),value:e.unref(t)}),null,16))}}),zo=xe,vo=["click","update:modelValue","change","blur"];function Uo(o,n){const{group:t,isInGroup:r,getGroupOrLocalRef:l}=pe(we),i=l("modelValue",o,n),a=l("readonly",o),f=l("disabled",o),d=l("valid",o),c=l("invalid",o);return{group:t,isInGroup:r,modelValue:i,readonly:a,disabled:f,valid:d,invalid:c}}const jo=["for"],Fo=["id","name","disabled","value","tabindex","aria-invalid"],Ko={name:"VvRadio"},Xe=e.defineComponent({...Ko,props:zo,emits:vo,setup(o,{emit:n}){const t=o,r=e.useSlots(),{disabled:l,readonly:i,modelValue:a,valid:f,invalid:d}=Uo(t,n),c=e.computed(()=>String(t.id||U.nanoid())),s=e.computed(()=>u.value?-1:t.tabindex),p=e.ref(),u=e.computed(()=>l.value||i.value),b=e.computed(()=>{if(d.value===!0)return!0;if(f.value===!0)return!1}),g=e.computed(()=>Array.isArray(a.value)?J(t.value,a.value):Y(t.value,a.value)),h=e.computed(()=>["string","number","boolean"].includes(typeof t.value)?t.value:!0),m=e.computed({get(){return g.value?h.value:null},set(S){Array.isArray(a.value)?a.value=[t.value]:a.value=t.value,n("change",S)}}),{bemCssClasses:V}=N("vv-radio",{valid:f,invalid:d,disabled:l,readonly:i}),{HintSlot:E}=ee(t,r);return(S,w)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(e.unref(V)),for:e.unref(c)},[e.withDirectives(e.createElementVNode("input",{id:e.unref(c),ref_key:"input",ref:p,"onUpdate:modelValue":w[0]||(w[0]=k=>e.isRef(m)?m.value=k:null),type:"radio",class:"vv-radio__input",name:S.name,disabled:e.unref(u),value:e.unref(h),tabindex:e.unref(s),"aria-invalid":e.unref(b)},null,8,Fo),[[e.vModelRadio,e.unref(m)]]),e.renderSlot(S.$slots,"default",{value:e.unref(a)},()=>[e.createTextVNode(e.toDisplayString(S.label),1)]),e.createVNode(e.unref(E),{class:"vv-radio__hint",params:{value:e.unref(a)}},null,8,["params"])],10,jo))}}),Wo=Me,qo=["update:modelValue","change"],Xo=["textContent"],Zo={class:"vv-radio-group__wrapper"},Yo={name:"VvRadioGroup"},Jo=e.defineComponent({...Yo,props:Wo,emits:qo,setup(o,{emit:n}){const t=o,r=e.useSlots(),l=L.useVModel(t,"modelValue",n),{disabled:i,readonly:a,vertical:f,valid:d,invalid:c}=e.toRefs(t);me({key:we,modelValue:l,disabled:i,readonly:a,valid:d,invalid:c});const{getOptionLabel:p,getOptionValue:u}=de(t),{bemCssClasses:b}=N("vv-radio-group",{disabled:i,readonly:a,horizontal:e.computed(()=>!f.value),valid:d,invalid:c}),g=(m,V)=>({id:`${t.name}_opt${V}`,name:t.name,label:p(m),value:u(m)}),{HintSlot:h}=ee(t,r);return(m,V)=>(e.openBlock(),e.createElementBlock("fieldset",{class:e.normalizeClass(e.unref(b))},[m.label?(e.openBlock(),e.createElementBlock("legend",{key:0,textContent:e.toDisplayString(m.label)},null,8,Xo)):e.createCommentVNode("",!0),e.createElementVNode("div",Zo,[m.options.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(m.options,(E,S)=>(e.openBlock(),e.createBlock(Xe,e.mergeProps({key:S},g(E,S)),null,16))),128)):e.renderSlot(m.$slots,"default",{key:1})]),e.createVNode(e.unref(h),{class:"vv-radio-group__hint"})],2))}}),Qo={hard:"hard",soft:"soft"},en={true:!0,false:!1,default:"default"},tn=["update:modelValue","focus","blur","keyup"],on={...Le,modelValue:String,cols:{type:[String,Number],default:20},rows:{type:[String,Number],default:2},wrap:{type:String,default:Qo.soft},spellcheck:{type:[Boolean,String],default:en.default},resizable:Boolean},nn=["for"],ln={class:"vv-textarea__wrapper"},rn=["id"],an={key:0,class:"vv-textarea__limit"},sn={name:"VvTextarea"},cn=e.defineComponent({...sn,props:on,emits:tn,setup(o,{emit:n}){const t=o,r=e.useSlots(),l=e.ref(),{icon:i,iconPosition:a,label:f,modelValue:d,count:c,valid:s,invalid:p,loading:u}=e.toRefs(t),b=e.computed(()=>String(t.id||U.nanoid())),g=e.computed(()=>`${b.value}-hint`),h=e.computed(()=>t.floating&&H(t.placeholder)?" ":t.placeholder),m=Fe(d,n,t.debounce),{hasIcon:V,hasIconLeft:E,hasIconRight:S}=ye(i,a),{focused:w}=Ve(l,n),k=L.useElementVisibility(l);e.watch(k,T=>{T&&t.autofocus&&(w.value=!0)});const{formatted:D}=Ke(m,{mode:t.count,upperLimit:t.maxlength,lowerLimit:t.minlength}),G=e.computed(()=>!t.disabled&&!t.readonly),P=e.computed(()=>G.value?t.tabindex:-1),I=e.computed(()=>!H(d)),z=e.computed(()=>{if(t.invalid===!0)return!0;if(t.valid===!0)return!1}),{HintSlot:K,hasHint:W,hasInvalid:v}=ee(t,r),{bemCssClasses:oe}=N("vv-textarea",{modifiers:t.modifiers,valid:s,invalid:p,loading:u,disabled:t.disabled,readonly:t.readonly,iconLeft:E,iconRight:S,floating:t.floating&&!H(t.label),dirty:I,focused:w,resizable:t.resizable}),q=e.computed(()=>({name:t.name,placeholder:h.value,tabindex:P.value,disabled:t.disabled,readonly:t.readonly,required:t.required,autocomplete:t.autocomplete,minlength:t.minlength,maxlength:t.maxlength,cols:t.cols,rows:t.rows,wrap:t.wrap,spellcheck:t.spellcheck,"aria-invalid":z.value,"aria-describedby":!v.value&&W.value?g.value:void 0,"aria-errormessage":v.value?g.value:void 0})),X=e.computed(()=>({valid:t.valid,invalid:t.invalid,modelValue:t.modelValue,hintLabel:t.hintLabel,maxlength:t.maxlength,minlength:t.minlength,clear:Z})),Z=()=>{m.value=void 0};return(T,C)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(oe))},[e.unref(f)?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(b),class:"vv-textarea__label"},e.toDisplayString(e.unref(f)),9,nn)):e.createCommentVNode("",!0),e.createElementVNode("div",ln,[e.renderSlot(T.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(X))),()=>[e.unref(E)?(e.openBlock(),e.createBlock(R,e.mergeProps({key:0,class:"vv-textarea__icon-left"},e.unref(V)),null,16)):e.createCommentVNode("",!0)]),e.withDirectives(e.createElementVNode("textarea",e.mergeProps({id:e.unref(b),ref_key:"textarea",ref:l,"onUpdate:modelValue":C[0]||(C[0]=x=>e.isRef(m)?m.value=x:null)},e.unref(q),{onKeyup:C[1]||(C[1]=x=>n("keyup",x))}),null,16,rn),[[e.vModelText,e.unref(m)]]),e.renderSlot(T.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(X))),()=>[e.unref(S)?(e.openBlock(),e.createBlock(R,e.normalizeProps(e.mergeProps({key:0},e.unref(V))),null,16)):e.createCommentVNode("",!0)]),e.unref(c)?(e.openBlock(),e.createElementBlock("span",an,[e.renderSlot(T.$slots,"count",e.normalizeProps(e.guardReactiveProps(e.unref(X))),()=>[e.createTextVNode(e.toDisplayString(e.unref(D)),1)])])):e.createCommentVNode("",!0)]),e.createVNode(e.unref(K),{id:e.unref(g),class:"vv-textarea__hint"},null,8,["id"])],2))}});B.VvAccordion=De,B.VvAccordionGroup=dt,B.VvBadge=bt,B.VvBreadcrumb=St,B.VvButton=wt,B.VvButtonGroup=It,B.VvCard=Ht,B.VvCheckbox=ve,B.VvCheckboxGroup=Yt,B.VvCombobox=ko,B.VvDialog=wo,B.VvDropdown=Ue,B.VvIcon=R,B.VvInputText=xo,B.VvProgress=Go,B.VvRadio=Xe,B.VvRadioGroup=Jo,B.VvSelect=je,B.VvTextarea=cn,Object.defineProperty(B,Symbol.toStringTag,{value:"Module"})});
@@ -9,5 +9,5 @@ export default interface IButtonGroupState extends IGroupState {
9
9
  toggle: Ref<boolean>;
10
10
  multiple: Ref<boolean>;
11
11
  unselectable: Ref<boolean>;
12
- modifiers: Ref<string | Array<string> | undefined>;
12
+ itemModifiers?: Ref<string | Array<string> | undefined>;
13
13
  }
@@ -3,6 +3,6 @@ import type { Ref } from 'vue';
3
3
  * State shared for a group of elements
4
4
  */
5
5
  export default interface IGroupState {
6
- [itemKey: string]: Ref<unknown> | string;
6
+ [itemKey: string]: Ref<unknown> | string | undefined;
7
7
  key: string;
8
8
  }
@@ -6,5 +6,5 @@ import type IGroupState from '@/composables/group/types/IGroupState';
6
6
  export declare function useInjectedGroupState<TGroup extends IGroupState>(groupKey: string): {
7
7
  group: Ref<TGroup> | undefined;
8
8
  isInGroup: import("vue").ComputedRef<boolean>;
9
- getGroupOrLocalRef: <T extends object>(propName: keyof TGroup, props: T, emit?: ((event: string, ...args: unknown[]) => void) | undefined) => import("vue").WritableComputedRef<unknown>;
9
+ getGroupOrLocalRef: <PropsType extends object>(propName: keyof TGroup, props: PropsType, emit?: ((event: string, ...args: unknown[]) => void) | undefined) => import("vue").WritableComputedRef<unknown>;
10
10
  };
package/dist/icons.es.js CHANGED
@@ -601,11 +601,11 @@ const t = {
601
601
  }
602
602
  }, o = 24, e = 24, l = {
603
603
  prefix: r,
604
- lastModified: 1673966556,
604
+ lastModified: 1674122148,
605
605
  icons: t,
606
606
  width: o,
607
607
  height: e
608
- }, n = "detailed", i = 1673966556, a = {
608
+ }, n = "detailed", i = 1674122148, a = {
609
609
  add: {
610
610
  body: '<path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M4 15.999h24m-12-12v24"/>'
611
611
  },
@@ -1209,7 +1209,7 @@ const t = {
1209
1209
  icons: a,
1210
1210
  width: c,
1211
1211
  height: h
1212
- }, d = "simple", k = 1673966556, m = {
1212
+ }, d = "simple", k = 1674122148, m = {
1213
1213
  add: {
1214
1214
  body: '<path fill="none" stroke="currentColor" stroke-linecap="round" d="M.5 8h15M8 .5v15"/>'
1215
1215
  },