@volverjs/ui-vue 0.0.3 → 0.0.4
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.
- package/LICENSE +1 -1
- package/README.md +52 -13
- package/dist/Volver.d.ts +5 -1
- package/dist/components/VvAccordion/VvAccordion.es.js +113 -66
- package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
- package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +159 -101
- package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
- package/dist/components/VvAction/VvAction.es.js +170 -0
- package/dist/components/VvAction/VvAction.umd.js +1 -0
- package/dist/components/VvAction/VvAction.vue.d.ts +63 -0
- package/dist/components/VvAction/index.d.ts +24 -0
- package/dist/components/VvBadge/VvBadge.es.js +86 -16
- package/dist/components/VvBadge/VvBadge.umd.js +1 -1
- package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +97 -41
- package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
- package/dist/components/VvButton/VvButton.es.js +434 -251
- package/dist/components/VvButton/VvButton.umd.js +1 -1
- package/dist/components/VvButton/VvButton.vue.d.ts +50 -50
- package/dist/components/VvButton/index.d.ts +22 -67
- package/dist/components/VvButtonGroup/VvButtonGroup.es.js +118 -43
- package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
- package/dist/components/VvCard/VvCard.es.js +38 -25
- package/dist/components/VvCard/VvCard.umd.js +1 -1
- package/dist/components/VvCheckbox/VvCheckbox.es.js +334 -154
- package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
- package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +2 -2
- package/dist/components/VvCheckbox/index.d.ts +1 -1
- package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +401 -204
- package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
- package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +2 -2
- package/dist/components/VvCheckboxGroup/index.d.ts +1 -1
- package/dist/components/VvCombobox/VvCombobox.es.js +950 -594
- package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
- package/dist/components/VvCombobox/VvCombobox.vue.d.ts +54 -30
- package/dist/components/VvCombobox/index.d.ts +18 -13
- package/dist/components/VvDialog/VvDialog.es.js +139 -64
- package/dist/components/VvDialog/VvDialog.umd.js +1 -1
- package/dist/components/VvDropdown/VvDropdown.es.js +276 -158
- package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
- package/dist/components/VvDropdown/VvDropdown.vue.d.ts +9 -9
- package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +61 -0
- package/dist/components/VvDropdown/VvDropdownOption.vue.d.ts +52 -0
- package/dist/components/VvDropdown/index.d.ts +6 -9
- package/dist/components/VvDropdownAction/VvDropdownAction.es.js +251 -0
- package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -0
- package/dist/components/VvDropdownItem/VvDropdownItem.es.js +30 -15
- package/dist/components/VvDropdownItem/VvDropdownItem.umd.js +1 -1
- package/dist/components/VvDropdownOption/VvDropdownOption.es.js +176 -0
- package/dist/components/VvDropdownOption/VvDropdownOption.umd.js +1 -0
- package/dist/components/VvIcon/VvIcon.es.js +48 -32
- package/dist/components/VvIcon/VvIcon.umd.js +1 -1
- package/dist/components/VvInputText/VvInputText.es.js +508 -344
- package/dist/components/VvInputText/VvInputText.umd.js +1 -1
- package/dist/components/VvInputText/VvInputText.vue.d.ts +11 -4
- package/dist/components/VvInputText/index.d.ts +13 -2
- package/dist/components/VvProgress/VvProgress.es.js +90 -20
- package/dist/components/VvProgress/VvProgress.umd.js +1 -1
- package/dist/components/VvRadio/VvRadio.es.js +305 -125
- package/dist/components/VvRadio/VvRadio.umd.js +1 -1
- package/dist/components/VvRadio/VvRadio.vue.d.ts +2 -2
- package/dist/components/VvRadio/index.d.ts +1 -1
- package/dist/components/VvRadioGroup/VvRadioGroup.es.js +372 -175
- package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
- package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +2 -2
- package/dist/components/VvRadioGroup/index.d.ts +1 -1
- package/dist/components/VvSelect/VvSelect.es.js +371 -216
- package/dist/components/VvSelect/VvSelect.umd.js +1 -1
- package/dist/components/VvSelect/VvSelect.vue.d.ts +11 -4
- package/dist/components/VvSelect/index.d.ts +5 -5
- package/dist/components/VvTextarea/VvTextarea.es.js +408 -244
- package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
- package/dist/components/VvTextarea/VvTextarea.vue.d.ts +11 -4
- package/dist/components/VvTextarea/index.d.ts +5 -5
- package/dist/components/VvTooltip/VvTooltip.es.js +88 -18
- package/dist/components/VvTooltip/VvTooltip.umd.js +1 -1
- package/dist/components/index.es.js +1913 -1521
- package/dist/components/index.umd.js +1 -1
- package/dist/composables/dropdown/useInjectDropdown.d.ts +1 -1
- package/dist/composables/dropdown/useProvideDropdown.d.ts +2 -2
- package/dist/constants.d.ts +30 -0
- package/dist/directives/index.es.js +128 -0
- package/dist/directives/index.umd.js +1 -0
- package/dist/directives/v-tooltip.es.js +126 -0
- package/dist/directives/v-tooltip.umd.js +1 -0
- package/dist/icons.es.js +3 -3
- package/dist/icons.umd.js +1 -1
- package/dist/index.es.js +2102 -1761
- package/dist/index.umd.js +1 -1
- package/dist/props/index.d.ts +179 -11
- package/dist/resolvers/unplugin.d.ts +8 -8
- package/dist/resolvers/unplugin.es.js +51 -30
- package/dist/resolvers/unplugin.umd.js +1 -1
- package/dist/stories/Combobox/Combobox.settings.d.ts +44 -0
- package/dist/stories/Dropdown/Dropdown.settings.d.ts +3 -2
- package/package.json +60 -34
- package/src/Volver.ts +12 -5
- package/src/assets/icons/detailed.json +1 -1
- package/src/assets/icons/normal.json +1 -1
- package/src/assets/icons/simple.json +1 -1
- package/src/components/VvAction/VvAction.vue +144 -0
- package/src/components/VvAction/index.ts +5 -0
- package/src/components/VvButton/VvButton.vue +31 -114
- package/src/components/VvButton/index.ts +6 -79
- package/src/components/VvCombobox/VvCombobox.vue +54 -42
- package/src/components/VvCombobox/index.ts +11 -9
- package/src/components/VvDropdown/VvDropdownAction.vue +44 -0
- package/src/components/VvDropdown/VvDropdownOption.vue +65 -0
- package/src/components/VvDropdown/index.ts +4 -9
- package/src/components/VvSelect/index.ts +2 -4
- package/src/composables/dropdown/useInjectDropdown.ts +1 -1
- package/src/composables/dropdown/useProvideDropdown.ts +7 -9
- package/src/composables/useModifiers.ts +4 -7
- package/src/constants.ts +36 -0
- package/src/props/index.ts +106 -14
- package/src/resolvers/unplugin.ts +81 -48
- package/src/stories/Accordion/AccordionSlots.stories.mdx +2 -2
- package/src/stories/AccordionGroup/AccordionGroupSlots.stories.mdx +2 -1
- package/src/stories/Breadcrumb/Breadcrumb.stories.mdx +2 -1
- package/src/stories/Button/Button.stories.mdx +4 -2
- package/src/stories/Button/Button.test.ts +3 -1
- package/src/stories/Button/ButtonModifiers.stories.mdx +2 -2
- package/src/stories/Button/ButtonSlots.stories.mdx +8 -7
- package/src/stories/Button/ButtonState.stories.mdx +2 -11
- package/src/stories/Card/Card.stories.mdx +2 -1
- package/src/stories/Checkbox/Checkbox.stories.mdx +2 -1
- package/src/stories/CheckboxGroup/CheckboxGroup.stories.mdx +2 -1
- package/src/stories/CheckboxGroup/CheckboxGroupSlots.stories.mdx +2 -1
- package/src/stories/Combobox/Combobox.settings.ts +44 -0
- package/src/stories/Combobox/Combobox.stories.mdx +40 -1
- package/src/stories/Dialog/Dialog.stories.mdx +2 -1
- package/src/stories/Dropdown/Dropdown.settings.ts +3 -2
- package/src/stories/Dropdown/Dropdown.stories.mdx +14 -12
- package/src/stories/Dropdown/DropdownMultilevel.stories.mdx +56 -0
- package/src/stories/Dropdown/DropdownSlots.stories.mdx +14 -13
- package/src/stories/Icon/Icon.stories.mdx +2 -1
- package/src/stories/Icon/IconsCollection.stories.mdx +2 -1
- package/src/stories/InputText/InputText.stories.mdx +2 -1
- package/src/stories/Progress/Progress.stories.mdx +2 -1
- package/src/stories/Radio/Radio.stories.mdx +2 -1
- package/src/stories/RadioGroup/RadioGroup.stories.mdx +2 -1
- package/src/stories/RadioGroup/RadioGroupSlots.stories.mdx +2 -1
- package/src/stories/Select/Select.stories.mdx +2 -1
- package/src/stories/Textarea/Textarea.stories.mdx +2 -1
- package/src/stories/Tooltip/Tooltip.stories.mdx +2 -1
- package/src/stories/Tooltip/TooltipDirective.stories.mdx +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(A,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("nanoid"),require("@iconify/vue"),require("@floating-ui/vue")):typeof define=="function"&&define.amd?define(["exports","vue","nanoid","@iconify/vue","@floating-ui/vue"],e):(A=typeof globalThis<"u"?globalThis:A||self,e(A.components={},A.vue,A.nanoid,A.vue$1,A.vue$2))})(this,function(A,e,et,de,K){"use strict";var oe=(o=>(o.left="left",o.right="right",o.top="top",o.bottom="bottom",o))(oe||{}),De=(o=>(o.topStart="top-start",o.topEnd="top-end",o.bottomStart="bottom-start",o.bottomEnd="bottom-end",o.leftStart="left-start",o.leftEnd="left-end",o.rightStart="right-start",o.rightEnd="right-end",o))(De||{}),Se=(o=>(o.before="before",o.after="after",o))(Se||{});const Ie=Symbol.for("buttonGroup"),Re=Symbol.for("radioGroup"),Oe=Symbol.for("checkGroup"),Te=Symbol.for("accordionGroup"),tt={name:String,title:String,content:String,modelValue:{type:Boolean,default:void 0},modifiers:[String,Array],disabled:Boolean},ot=["update:modelValue"];function lt(o,r){const{group:t,isInGroup:s,getGroupOrLocalRef:l}=useInjectedGroupState(Te),{title:d,content:i}=toRefs(o),u=l("modelValue",o,r),m=l("disabled",o),c=l("collapse",o),n=l("modifiers",o);return{modelValue:u,disabled:m,isInGroup:s,group:t,collapse:c,modifiers:n,title:d,content:i}}const nt=["id","open"],at=["aria-controls","aria-expanded"],rt=["aria-hidden"],st={name:"VvAccordion"},xe=e.defineComponent({...st,props:tt,emits:ot,setup(o,{emit:r}){const t=o,s=useAttrs(),l=computed(()=>t.name||(s==null?void 0:s.id)||et.nanoid()),{modifiers:d,title:i,content:u,disabled:m,collapse:c,modelValue:n,isInGroup:a}=lt(t,r),p=ref(!1),g=computed({get:()=>a.value?c.value&&Array.isArray(n.value)?n.value.includes(l.value):n.value===l.value:n.value===void 0?p.value:n.value,set:b=>{if(a.value){if(c.value&&Array.isArray(n.value)){if(b){n.value.push(l.value);return}n.value=n.value.filter(_=>_!==l.value);return}n.value=b?l.value:null;return}if(n.value===void 0&&typeof b=="boolean"){p.value=b;return}n.value=b}}),v=useBemModifiers("vv-accordion",d,computed(()=>({disabled:m.value}))),V=useToggle(g);return(b,_)=>(e.openBlock(),e.createElementBlock("details",{id:e.unref(l),class:e.normalizeClass(e.unref(v)),open:e.unref(g),onClick:_[0]||(_[0]=e.withModifiers(C=>e.unref(V)(),["prevent"]))},[e.createElementVNode("summary",{"aria-controls":e.unref(l),"aria-expanded":e.unref(g),class:"vv-collapse__summary"},[e.renderSlot(b.$slots,"summary",e.normalizeProps(e.guardReactiveProps({open:e.unref(g)})),()=>[e.createTextVNode(e.toDisplayString(e.unref(i)),1)])],8,at),e.createElementVNode("div",{"aria-hidden":!e.unref(g),class:"vv-collapse__content"},[e.renderSlot(b.$slots,"details",e.normalizeProps(e.guardReactiveProps({open:e.unref(g)})),()=>[e.createTextVNode(e.toDisplayString(e.unref(u)),1)])],8,rt)],10,nt))}}),it={modelValue:[String,Array],items:{type:Array,default:()=>[]},collapse:Boolean,modifiers:[String,Array],itemModifiers:{type:[String,Array],default:""},disabled:Boolean},ct=["update:modelValue"],dt={name:"VvAccordionGroup"},ut=e.defineComponent({...dt,props:it,emits:ct,setup(o,{emit:r}){const t=o,{disabled:s,collapse:l,modifiers:d,itemModifiers:i,items:u}=toRefs(t);watchEffect(()=>{typeof t.modelValue=="string"&&l.value&&console.warn("[VvAccordionGroup]: modelValue is a string but collapse is true.")});const m=ref([]),c=computed({get:()=>{var a;return t.modelValue!==void 0?l.value?t.modelValue:Array.isArray(t.modelValue)?t.modelValue[0]:t.modelValue:l.value?m.value:(a=m.value)==null?void 0:a[0]},set:a=>{if(t.modelValue!==void 0)return(Array.isArray(t.modelValue)||l.value)&&!Array.isArray(a)&&(a=[a]),r("update:modelValue",a);m.value=Array.isArray(a)?a:[a]}});useProvideGroupState({key:Te,modelValue:c,disabled:s,collapse:l,modifiers:i});const n=useBemModifiers("vv-accordion-group",d,computed(()=>({disabled:s.value})));return(a,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(n))},[e.renderSlot(a.$slots,"default",{},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(u),g=>(e.openBlock(),e.createBlock(xe,e.mergeProps({key:g.title},{name:g.name,title:g.title,content:g.content}),{header:e.withCtx(v=>[e.renderSlot(a.$slots,`header::${g.name}`,e.normalizeProps(e.guardReactiveProps(v)))]),details:e.withCtx(v=>[e.renderSlot(a.$slots,`details::${g.name}`,e.normalizeProps(e.guardReactiveProps(v)))]),_:2},1040))),128))])],2))}}),pe={valid:Boolean,validLabel:[String,Array]},fe={invalid:Boolean,invalidLabel:[String,Array]},Ve={loading:Boolean,loadingLabel:String},ie={disabled:Boolean},me={readonly:Boolean},Q={modifiers:[String,Array]},be={hintLabel:{type:String,default:""}},Be={options:{type:Array,default:()=>[]},labelKey:{type:[String,Function],default:"label"},valueKey:{type:[String,Function],default:"value"},disabledKey:{type:[String,Function],default:"disabled"}},pt={count:{type:[Boolean,String],default:!1,validator:o=>[!0,!1,"limit","countdown"].includes(o)}},ft={debounce:[Number,String]},Ce={icon:{type:[String,Object]},iconPosition:{type:String,default:Se.before,validation:o=>Object.values(Se).includes(o)}},he={tabindex:{type:[String,Number],default:0}},Ee={floating:Boolean},ye={unselectable:{type:Boolean,default:!0}},_e={id:[String,Number]},Pe={placement:{type:String,default:oe.bottom,validator:o=>Object.values(oe).includes(o)||Object.values(De).includes(o)},transitionName:{type:String},offset:{type:[Number,String,Object],default:0},shift:{type:[Boolean,Object],default:!1},flip:{type:[Boolean,Object],default:!0},size:{type:[Boolean,Object],default:()=>({padding:10})},autoPlacement:{type:[Boolean,Object],default:!1},arrow:{type:Boolean,default:!1},autoClose:{type:Boolean,default:!0},autofocusFirst:{type:Boolean,default:!0},triggerWidth:{type:Boolean}},ke={..._e,name:{type:String,required:!0}},Me={autofocus:Boolean},Le={autocomplete:{type:String,default:"off"}},ze={...ke,...Me,...Le,...he,...ie,...me,...pe,...fe,...be,...Ve,...Q,...pt,...ft,...Ce,...Ee,minlength:Number,maxlength:Number,placeholder:String,required:Boolean,label:String},He={...ke,...he,...pe,...fe,...be,...ie,...me,...Q,value:[String,Number,Boolean],modelValue:[Object,Number,Boolean,String],label:String},Ge={...pe,...fe,...Be,...be,...ie,...me,...Q,modelValue:[String,Array],label:String,name:{type:String,required:!0},vertical:Boolean},mt={...Q,value:[String,Number]},bt={name:"VvBadge"},Fe=e.defineComponent({...bt,props:mt,setup(o){const r=o,{modifiers:t}=toRefs(r),s=useBemModifiers("vv-badge",t);return(l,d)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(e.unref(s)),role:"status"},[e.renderSlot(l.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(l.value),1)])],2))}});function gt(o,r,t){return computed(()=>{const s={[o]:!0};let l=unref(r);return l&&(!Array.isArray(l)&&typeof l=="string"&&(l=l.split(" ")),Array.isArray(l)&&l.forEach(d=>{s[`${o}--${d}`]=!0})),t&&Object.keys(t.value).forEach(d=>{s[`${o}--${d}`]=unref(t.value[d])}),s})}const ht={...Q,routes:Array},yt={class:"vv-breadcrumb__list"},_t=["content"],kt={name:"VvBreadcrumb"},vt=e.defineComponent({...kt,props:ht,setup(o){const r=o,{modifiers:t}=toRefs(r),s=gt("vv-breadcrumb",t);return(l,d)=>(e.openBlock(),e.createElementBlock("nav",{class:e.normalizeClass(e.unref(s)),"aria-label":"breadcrumbs"},[e.createElementVNode("ol",yt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.routes,(i,u)=>{var m,c,n,a;return e.openBlock(),e.createElementBlock("li",{key:`${i.label}-${u}`,class:e.normalizeClass({"vv-breadcrumb__item":u<Number((m=l.routes)==null?void 0:m.length)-1,"vv-breadcrumb__item-active":u===Number((c=l.routes)==null?void 0:c.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":u<Number((n=l.routes)==null?void 0:n.length)-1},"aria-current":u===Number((a=l.routes)==null?void 0:a.length)-1?"page":void 0,itemprop:"item"}),{default:e.withCtx(()=>[e.renderSlot(l.$slots,"label",e.normalizeProps(e.guardReactiveProps({route:i,index:u})),()=>[e.createTextVNode(e.toDisplayString(i.label),1)])]),_:2},1040,["class","aria-current"])),e.createElementVNode("meta",{itemprop:"position",content:`${u+1}`},null,8,_t)],2)}),128))])],2))}}),St={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]}},Vt={name:"VvIcon"},M=e.defineComponent({...Vt,props:St,setup(o){const r=o,t=ref(!0),s=useVolver(),{modifiers:l}=toRefs(r),d=useBemModifiers("vv-icon",l),i=computed(()=>r.provider||(s==null?void 0:s.provider)),u=computed(()=>{const n=r.name??"",a=`@${i.value}:${r.prefix}:${r.name}`;return de.iconExists(n)?n:de.iconExists(a)?a:(s==null?void 0:s.iconsCollections.find(p=>{const g=`@${i.value}:${p.prefix}:${n}`;if(de.iconExists(g))return g}))||n});function m(n){let a=null;if(typeof window>"u"){const{JSDOM:V}=require("jsdom");a=new V().window}return(a?new a.DOMParser:new window.DOMParser).parseFromString(n,"text/html").querySelector("svg")}function c(n){const a=m(n),p=(a==null?void 0:a.innerHTML.trim())||"";a&&p&&de.addIcon(`@${i.value}:${r.prefix}:${r.name}`,{body:p,height:a.viewBox.baseVal.height,width:a.viewBox.baseVal.width})}return s&&(r.src&&!de.iconExists(`@${i.value}:${r.prefix}:${r.name}`)?(t.value=!1,s.fetchIcon(r.src).then(n=>{n&&(c(n),t.value=!0)}).catch(n=>{throw new Error(`During fetch icon: ${n==null?void 0:n.message}`)})):r.svg&&c(r.svg)),(n,a)=>e.unref(t)?(e.openBlock(),e.createBlock(e.unref(de.Icon),e.mergeProps({key:0,class:e.unref(d)},{inline:n.inline,width:n.width,height:n.height,horizontalFlip:n.horizontalFlip,verticalFlip:n.verticalFlip,flip:n.flip,rotate:n.rotate,color:n.color,onLoad:n.onLoad,icon:e.unref(u)}),null,16,["class"])):e.createCommentVNode("",!0)}});var Ue=(o=>(o.button="button",o.submit="submit",o.reset="reset",o))(Ue||{}),le=(o=>(o.nuxtLink="nuxt-link",o.routerLink="router-link",o.a="a",o.button="button",o))(le||{}),We=(o=>(o._blank="_blank",o._self="_self",o._parent="_parent",o._top="_top",o))(We||{});const Bt=["update:modelValue"],Ct={..._e,...Q,...ie,...ye,icon:[String,Object],iconPosition:{type:String,default:oe.left,validator:o=>Object.values(oe).includes(o)},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=>Object.values(We).includes(o)},active:Boolean,pressed:Boolean,rel:{type:String,default:"noopener noreferrer"},type:{type:String,default:"button",validator:o=>Object.values(Ue).includes(o)},toggle:{type:Boolean,default:!1},modelValue:String};function Et(o,r){var _;const{group:t,isInGroup:s,getGroupOrLocalRef:l}=useInjectedGroupState(Ie),{id:d,iconPosition:i,icon:u,label:m,pressed:c,modifiers:n}=toRefs(o),a=l("modelValue",o,r),p=l("disabled",o),g=l("toggle",o),v=l("unselectable",o),V=((_=t==null?void 0:t.value)==null?void 0:_.multiple)??ref(!1),b=computed(()=>{var B;const C=n!=null&&n.value?Array.isArray(n.value)?n.value:[n.value]:[],$=(B=t==null?void 0:t.value.itemModifiers)!=null&&B.value?Array.isArray(t.value.itemModifiers.value)?t.value.itemModifiers.value:[t.value.itemModifiers.value]:[];return[...C,...$]});return{group:t,isInGroup:s,modelValue:a,disabled:p,toggle:g,unselectable:v,multiple:V,id:d,modifiers:b,pressed:c,iconPosition:i,icon:u,label:m}}const Pt={key:1,class:"vv-button__label"},wt={key:1,class:"vv-button__label"},$t={name:"VvButton"},Nt=e.defineComponent({...$t,props:Ct,emits:Bt,setup(o,{expose:r,emit:t}){const s=o,l=useAttrs(),d=useSlots(),{id:i,modifiers:u,iconPosition:m,icon:c,label:n,modelValue:a,disabled:p,toggle:g,unselectable:v}=Et(s,t),V=useUniqueId(i),b=computed(()=>(l==null?void 0:l.name)||V.value),_=useVolver(),C=ref(null);r({$el:C});const{reference:$,bus:B,aria:P}=useInjectedDropdownTrigger();watch(()=>C.value,S=>{$&&($.value=S)});const{role:R}=useInjectedDropdownAction(),x=computed(()=>{switch(!0){case p.value:return le.button;case s.to!==void 0:return _!=null&&_.nuxt?le.nuxtLink:le.routerLink;case s.href!==void 0:return le.a;default:return le.button}}),G=computed(()=>g.value?Array.isArray(a.value)?contains(b.value,a.value):equals(b.value,a.value):s.pressed),E=useBemModifiers("vv-button",u,computed(()=>({active:s.active,pressed:G.value,disabled:p.value,reverse:[oe.right,oe.bottom].includes(m.value),column:[oe.top,oe.bottom].includes(m.value),iconOnly:Boolean((c==null?void 0:c.value)&&!(n!=null&&n.value)&&!d.default)}))),D=computed(()=>typeof(c==null?void 0:c.value)=="string"?{name:c==null?void 0:c.value}:c==null?void 0:c.value),T=computed(()=>{const S={...P==null?void 0:P.value,"aria-pressed":G.value?!0:void 0,class:E.value,role:R};switch(x.value){case le.a:return{...S,role:S.role??"button",href:s.href,target:s.target,rel:s.rel};case le.routerLink:case le.nuxtLink:return{...S,role:S.role??"button",to:s.to,target:s.target};default:return{...S,type:s.type,disabled:p.value}}}),F=S=>{if(B==null||B.emit("click",S),g.value){if(Array.isArray(a.value)){if(contains(b.value,a.value)){v.value&&(a.value=a.value.filter(U=>U!==b.value));return}a.value.push(b.value);return}if(equals(b,a.value)&&v.value){a.value=void 0;return}a.value=b.value}},X=S=>{B==null||B.emit("mouseover",S)},Y=S=>{B==null||B.emit("mouseleave",S)};return(S,U)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(x)),e.mergeProps(e.unref(T),{id:e.unref(V),ref_key:"$el",ref:C,onClickPassive:F,onMouseoverPassive:X,onMouseleavePassive:Y}),{default:e.withCtx(()=>[e.renderSlot(S.$slots,"default",{},()=>[S.loading?e.renderSlot(S.$slots,"loading",{key:0},()=>[S.loadingIcon?(e.openBlock(),e.createBlock(M,{key:0,class:"vv-button__loading-icon",name:S.loadingIcon},null,8,["name"])):e.createCommentVNode("",!0),S.loadingLabel?(e.openBlock(),e.createElementBlock("span",Pt,e.toDisplayString(S.loadingLabel),1)):e.createCommentVNode("",!0)]):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.renderSlot(S.$slots,"before"),e.unref(c)?(e.openBlock(),e.createBlock(M,e.mergeProps({key:0,class:"vv-button__icon"},e.unref(D)),null,16)):e.createCommentVNode("",!0),e.unref(n)?(e.openBlock(),e.createElementBlock("span",wt,[e.renderSlot(S.$slots,"label",{},()=>[e.createTextVNode(e.toDisplayString(e.unref(n)),1)])])):e.createCommentVNode("",!0),e.renderSlot(S.$slots,"after")],64))])]),_:3},16,["id"]))}}),At={...Q,...ie,...ye,itemModifiers:{type:[String,Array],default:void 0},toggle:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},modelValue:{type:[String,Array],default:void 0}},Dt=["update:modelValue"],It={name:"VvButtonGroup"},Rt=e.defineComponent({...It,props:At,emits:Dt,setup(o,{emit:r}){const t=o,{disabled:s,toggle:l,modifiers:d,multiple:i,unselectable:u,itemModifiers:m}=toRefs(t);watchEffect(()=>{typeof t.modelValue=="string"&&i.value&&console.warn("[VvButtonGroup]: modelValue is a string but multiple is true.")});const c=computed({get:()=>i.value?t.modelValue:Array.isArray(t.modelValue)?t.modelValue[0]:t.modelValue,set:a=>(a!==void 0&&(Array.isArray(t.modelValue)||i.value)&&!Array.isArray(a)&&(a=[a]),r("update:modelValue",a))});useProvideGroupState({key:Ie,modelValue:c,disabled:s,toggle:l,multiple:i,unselectable:u,itemModifiers:m});const n=useBemModifiers("vv-button-group",d);return(a,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(n)),role:"group"},[e.renderSlot(a.$slots,"default")],2))}}),Ot={title:String,modifiers:[String,Array]},Tt={key:0,class:"vv-card__header"},xt={key:1,class:"vv-card__content"},Mt={key:2,class:"vv-card__footer"},Lt={name:"VvCard"},zt=e.defineComponent({...Lt,props:Ot,setup(o){const r=o,{modifiers:t}=toRefs(r),s=useBemModifiers("vv-card",t);return(l,d)=>(e.openBlock(),e.createElementBlock("article",{class:e.normalizeClass(e.unref(s))},[l.$slots.header||l.title?(e.openBlock(),e.createElementBlock("header",Tt,[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",xt,[e.renderSlot(l.$slots,"content")])):e.createCommentVNode("",!0),l.$slots.footer?(e.openBlock(),e.createElementBlock("footer",Mt,[e.renderSlot(l.$slots,"footer")])):e.createCommentVNode("",!0)],2))}}),Ht={...He,...Q,indeterminate:Boolean,uncheckedValue:[String,Number,Boolean],switch:Boolean},Gt=["click","update:modelValue","change","blur"];function Ft(o,r){const{group:t,isInGroup:s,getGroupOrLocalRef:l}=useInjectedGroupState(Oe),{id:d,switch:i,indeterminate:u}=toRefs(o),m=l("modelValue",o,r),c=l("readonly",o),n=l("disabled",o),a=l("valid",o),p=l("invalid",o);return{id:d,propsSwitch:i,indeterminate:u,group:t,isInGroup:s,modelValue:m,readonly:c,disabled:n,valid:a,invalid:p}}function ve(o){return Array.isArray(o)?o.filter(r=>isString(r)).join(" "):o}function re(o,r){const{invalid:t,valid:s,hint:l,loading:d}=r,{hintLabel:i,modelValue:u,valid:m,validLabel:c,invalid:n,invalidLabel:a,...p}=toRefs(o),g=resolveFieldData(p,"loading"),v=resolveFieldData(p,"loadingLabel"),V=computed(()=>n.value?!!(n.value&&t||a!=null&&a.value&&Array.isArray(a.value)&&a.value.length>0||a!=null&&a.value&&!isEmpty(a)):!1),b=computed(()=>!!(i&&i.value||l)),_=computed(()=>!!(c&&c.value||s)),C=computed(()=>!!(g!=null&&g.value&&d||g!=null&&g.value&&(v!=null&&v.value))),$=computed(()=>b.value||_.value||V.value||C.value);return{hasInvalid:V,hasHint:b,hasValid:_,hasLoading:C,HintSlot:{name:"HintSlot",props:{params:{type:Object,default:()=>({})}},setup(B){const P=computed(()=>{const R=toReactive({hintLabel:i,modelValue:u,valid:m,validLabel:c,invalid:n,invalidLabel:a,loading:g,loadingLabel:v,...B.params});return n!=null&&n.value?(t==null?void 0:t(R))||ve(a==null?void 0:a.value)||(i==null?void 0:i.value):m!=null&&m.value?(s==null?void 0:s(R))||ve(c==null?void 0:c.value)||(i==null?void 0:i.value):g!=null&&g.value?(d==null?void 0:d(R))||ve(v==null?void 0:v.value)||(i==null?void 0:i.value):(l==null?void 0:l(R))||ve(i==null?void 0:i.value)||(i==null?void 0:i.value)});return{isVisible:$,hasInvalid:V,hasValid:_,hintContent:P}},render(){if(this.isVisible)return h("small",{role:this.hasInvalid?"alert":this.hasValid?"status":void 0},this.hintContent)}}}}const Ut=["for"],Wt=["id","name","disabled","value","tabindex","aria-invalid"],jt={name:"VvCheckbox"},je=e.defineComponent({...jt,props:Ht,emits:Gt,setup(o,{emit:r}){const t=o,s=useSlots(),{id:l,disabled:d,readonly:i,valid:u,invalid:m,propsSwitch:c,modelValue:n,indeterminate:a,isInGroup:p}=Ft(t,r),g=useUniqueId(l),v=computed(()=>_.value?-1:t.tabindex),V=ref(),b=computed(()=>t.uncheckedValue!==void 0&&!p.value),_=computed(()=>d.value||i.value),C=computed(()=>{if(m.value===!0)return!0;if(u.value===!0)return!1}),$=computed(()=>b.value?n.value===t.value:Array.isArray(n.value)?contains(t.value,n.value):equals(t.value,n.value)),B=computed(()=>!!(a.value||!$.value&&b.value&&t.uncheckedValue!==n.value)),P=computed(()=>{if(!b.value)return["string","number","boolean"].includes(typeof t.value)?t.value:!0}),R=computed({get(){return $.value},set(D){if(b.value)n.value=D?t.value:t.uncheckedValue;else if(Array.isArray(n.value)||p.value){const T=new Set(Array.isArray(n.value)?n.value:n.value!==void 0?[n.value]:[]);D?T.add(t.value):T.delete(t.value),n.value=[...T]}else n.value=D?t.value:void 0;r("change",D)}}),{modifiers:x}=toRefs(t),G=useBemModifiers("vv-checkbox",x,computed(()=>({switch:c.value,valid:u.value,invalid:m.value,disabled:d.value,readonly:i.value,indeterminate:a.value})));watchEffect(()=>{b.value&&Array.isArray(n.value)&&console.warn("[VvCheckbox] The model value is an array but the component is in binary mode.")}),watch(()=>B.value,D=>{D?V.value.indeterminate=!0:V.value.indeterminate=!1}),onMounted(()=>{B.value&&(V.value.indeterminate=!0)});const{HintSlot:E}=re(t,s);return(D,T)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(e.unref(G)),for:e.unref(g)},[e.withDirectives(e.createElementVNode("input",{id:e.unref(g),ref_key:"input",ref:V,"onUpdate:modelValue":T[0]||(T[0]=F=>e.isRef(R)?R.value=F:null),type:"checkbox",class:"vv-checkbox__input",name:D.name,disabled:e.unref(_),value:e.unref(P),tabindex:e.unref(v),"aria-invalid":e.unref(C)},null,8,Wt),[[e.vModelCheckbox,e.unref(R)]]),e.renderSlot(D.$slots,"default",{value:e.unref(n)},()=>[e.createTextVNode(e.toDisplayString(D.label),1)]),e.createVNode(e.unref(E),{class:"vv-checkbox__hint",params:{value:e.unref(n)}},null,8,["params"])],10,Ut))}}),qt=Ge,Kt=["update:modelValue","change"],Xt=["textContent"],Yt={class:"vv-checkbox-group__wrapper"},Jt={name:"VvCheckboxGroup"},Qt=e.defineComponent({...Jt,props:qt,emits:Kt,setup(o,{emit:r}){const t=o,s=useSlots(),l=useVModel(t,"modelValue",r),{disabled:d,readonly:i,vertical:u,valid:m,invalid:c,modifiers:n}=toRefs(t);useProvideGroupState({key:Oe,modelValue:l,disabled:d,readonly:i,valid:m,invalid:c});const{getOptionLabel:a,getOptionValue:p}=useOptions(t),g=useBemModifiers("vv-checkbox-group",n,computed(()=>({disabled:d.value,readonly:i.value,horizontal:!u.value,valid:m.value,invalid:c.value}))),v=(b,_)=>({id:`${t.name}_opt${_}`,name:t.name,label:a(b),value:p(b)}),{HintSlot:V}=re(t,s);return(b,_)=>(e.openBlock(),e.createElementBlock("fieldset",{class:e.normalizeClass(e.unref(g))},[b.label?(e.openBlock(),e.createElementBlock("legend",{key:0,textContent:e.toDisplayString(b.label)},null,8,Xt)):e.createCommentVNode("",!0),e.createElementVNode("div",Yt,[b.options.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(b.options,(C,$)=>(e.openBlock(),e.createBlock(je,e.mergeProps({key:$},v(C,$)),null,16))),128)):e.renderSlot(b.$slots,"default",{key:1})]),e.createVNode(e.unref(V),{class:"vv-checkbox-group__hint"})],2))}}),Zt=["update:modelValue","change:search","focus","blur"],eo={...ke,...he,...pe,...fe,...be,...Ve,...ie,...me,...Q,...Be,...Ce,...Ee,...ye,...Pe,modelValue:{type:[String,Number,Boolean,Object,Array],default:void 0},label:String,noResultsLabel:{type:String,default:"No results"},selectedLabel:{type:String,default:"Selected"},deselectLabel:{type:String,default:"Deselect"},pressToSelectLabel:{type:String,default:"Press enter to select"},pressToDeselectLabel:{type:String,default:"Press enter to remove"},placeholder:String,searchable:Boolean,searchPlaceholder:{type:String,default:"Search..."},debounceSearch:{type:[Number,String],default:0},multiple:Boolean,maxValues:[Number,String],separator:{type:String,default:", "},native:Boolean,badges:Boolean,badgeModifiers:{type:[String,Array],default:"action sm"},triggerWidth:{...Pe.triggerWidth,default:!0},dropdownModifiers:{type:[String,Array]},autoOpen:Boolean,autoClose:Boolean},qe=["listbox","menu"],to={..._e,...Q,...Pe,modelValue:{type:Boolean,default:void 0},reference:{type:Object,default:null},role:{type:String,default:qe[1],validator:o=>qe.includes(o)}},oo=["id","tabindex","role","aria-labelledby"],lo={name:"VvDropdown",inheritAttrs:!1},we=e.defineComponent({...lo,props:to,emits:["update:modelValue"],setup(o,{emit:r}){const t=o,{id:s}=toRefs(t),l=useUniqueId(s),d=useAttrs(),i=ref("auto"),u=ref("auto"),m=ref(null),c=ref(null),n=ref(null),a=ref(null),p=computed({get:()=>t.reference??m.value,set:f=>{m.value=f}}),g=computed(()=>{const f=[];if(t.autoPlacement?typeof t.autoPlacement=="boolean"?f.push(K.autoPlacement()):f.push(K.autoPlacement(t.autoPlacement)):t.flip&&(typeof t.flip=="boolean"?f.push(K.flip()):f.push(K.flip(t.flip))),t.shift&&(typeof t.shift=="boolean"?f.push(K.shift()):f.push(K.shift(t.shift))),t.size){const I=({availableWidth:J,availableHeight:ae})=>{i.value=`${J}px`,u.value=`${ae}px`};typeof t.size=="boolean"?f.push(K.size({apply:I})):f.push(K.size({...t.size,apply:I}))}return t.offset&&(f.push(K.offset(Number(t.offset))),["string","number"].includes(typeof t.offset)?f.push(K.offset(Number(t.offset))):f.push(K.offset(t.offset))),t.arrow&&f.push(K.arrow({element:n})),f}),{x:v,y:V,strategy:b,middlewareData:_,placement:C}=K.useFloating(p,c,{whileElementsMounted:K.autoUpdate,placement:t.placement,middleware:g}),$=computed(()=>({position:b.value,top:`${V.value??0}px`,left:`${v.value??0}px`,maxWidth:i.value,maxHeight:u.value,width:t.triggerWidth&&p.value?`${p.value.offsetWidth}px`:void 0})),B=computed(()=>C.value.split("-")[0]),P=computed(()=>({top:"bottom",right:"left",bottom:"top",left:"right"})[B.value]??"bottom"),R=computed(()=>{var f,I,J,ae;return["bottom","top"].includes(P.value)?{right:`${((f=_.value.arrow)==null?void 0:f.x)??0}px`,[P.value]:`${-(((I=n.value)==null?void 0:I.offsetWidth)??0)/2}px`}:{top:`${((J=_.value.arrow)==null?void 0:J.y)??0}px`,[P.value]:`${-(((ae=n.value)==null?void 0:ae.offsetWidth)??0)/2}px`}}),x=useVModel(t,"modelValue",r),G=ref(!1),E=computed({get:()=>x.value??G.value,set:f=>{if(x.value===void 0){G.value=f;return}x.value=f}}),D=()=>{E.value=!0},T=()=>{E.value=!1},F=()=>{E.value=!E.value},X=f=>{p.value=f};watch(E,f=>{f&&t.autofocusFirst&&nextTick(()=>{const I=W(c.value);I.length>0&&I[0].focus()})}),onClickOutside(c,()=>{t.autoClose&&(E.value=!1)},{ignore:[p]});const Y=computed(()=>{var f;return((f=p.value)==null?void 0:f.getAttribute("id"))??void 0}),S=computed(()=>({"aria-controls":l.value,"aria-haspopup":!0,"aria-expanded":E.value})),{component:U,bus:ee}=useProvideDropdownTrigger({reference:p,id:l,expanded:E,aria:S});ee.on("click",F);const{role:q,modifiers:ne}=toRefs(t),{itemRole:L}=useProvideDropdownItem({role:q,expanded:E}),N=useBemModifiers("vv-dropdown",ne,computed(()=>({arrow:t.arrow}))),{focused:z}=useFocusWithin(c);function W(f){return f?[...f.querySelectorAll('a[href], button, input, textarea, select, details,[tabindex]:not([tabindex="-1"])')].filter(I=>!I.hasAttribute("disabled")&&!I.getAttribute("aria-hidden")):[]}const te=()=>{nextTick(()=>{if(z.value){const f=W(c.value);if(f.length===0||!document.activeElement)return;const I=f.indexOf(document.activeElement);I<f.length-1?f[I+1].focus():f[0].focus()}})},Z=()=>{nextTick(()=>{if(z.value){const f=W(c.value);if(f.length===0||!document.activeElement)return;const I=f.indexOf(document.activeElement);I>0?f[I-1].focus():f[f.length-1].focus()}})};return onKeyStroke("Escape",f=>{E.value&&(f.preventDefault(),T())}),onKeyStroke("ArrowDown",f=>{E.value&&z.value&&(f.preventDefault(),te())}),onKeyStroke("ArrowUp",f=>{E.value&&z.value&&(f.preventDefault(),Z())}),onKeyStroke([" ","Enter"],f=>{E.value&&z.value&&(f.preventDefault(),document.activeElement.click())}),(f,I)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(U),null,{default:e.withCtx(()=>[e.renderSlot(f.$slots,"default",e.normalizeProps(e.guardReactiveProps({init:X,show:D,hide:T,toggle:F,expanded:e.unref(E),aria:e.unref(S)})))]),_:3}),e.createVNode(e.Transition,{name:f.transitionName},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"floatingEl",ref:c,style:e.normalizeStyle(e.unref($)),class:e.normalizeClass(e.unref(N))},[t.arrow?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"arrowEl",ref:n,style:e.normalizeStyle(e.unref(R)),class:"vv-dropdown__arrow"},null,4)):e.createCommentVNode("",!0),e.renderSlot(f.$slots,"before",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(E)}))),e.createElementVNode("ul",e.mergeProps(e.unref(d),{id:e.unref(l),ref_key:"listEl",ref:a,tabindex:e.unref(E)?void 0:-1,role:e.unref(q),"aria-labelledby":e.unref(Y),class:"vv-dropdown__list"}),[e.renderSlot(f.$slots,"items",e.normalizeProps(e.guardReactiveProps({role:e.unref(L)})))],16,oo),e.renderSlot(f.$slots,"after",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(E)})))],6),[[e.vShow,e.unref(E)]])]),_:3},8,["name"])],64))}}),no={name:"VvDropdownItem"},Ke=e.defineComponent({...no,setup(o){const{role:r,expanded:t}=useInjectedDropdownItem(),s=ref(null);useProvideDropdownAction({expanded:t});const l=useElementHover(s),{focused:d}=useFocus(s),{focused:i}=useFocusWithin(s);return watch(l,u=>{u&&(d.value=!0)}),(u,m)=>(e.openBlock(),e.createElementBlock("li",e.mergeProps({role:e.unref(r)},{ref_key:"element",ref:s,class:["vv-dropdown__item",{"focus-visible":e.unref(d)||e.unref(i)}]}),[e.renderSlot(u.$slots,"default")],16))}}),ao={...ke,...Me,...Le,...he,...pe,...fe,...be,...Ve,...ie,...me,...Q,...Be,...Ce,...Ee,...ye,multiple:Boolean,required:Boolean,size:[String,Number],modelValue:{type:[String,Number,Boolean,Object,Array],default:void 0},label:String,placeholder:String},ro=["update:modelValue","focus","blur"],so=["for"],io={class:"vv-select__wrapper"},co={key:0,class:"vv-select__input-before"},uo={class:"vv-select__inner"},po=["id"],fo=["disabled","hidden"],mo=["disabled","value"],bo={key:1,class:"vv-select__input-after"},go={name:"VvSelect"},Xe=e.defineComponent({...go,props:ao,emits:ro,setup(o,{emit:r}){const t=o,s=useSlots(),l=ref(),{HintSlot:d,hasHint:i,hasInvalid:u}=re(t,s),{id:m,modifiers:c,disabled:n,readonly:a,loading:p,icon:g,iconPosition:v,invalid:V,valid:b,floating:_,multiple:C}=toRefs(t),$=useUniqueId(m),B=computed(()=>`${$.value}-hint`),{focused:P}=useComponentFocus(l,r),R=useElementVisibility(l);watch(R,N=>{N&&t.autofocus&&(P.value=!0)});const{hasIcon:x,hasIconBefore:G,hasIconAfter:E}=useComponentIcon(g,v),D=computed(()=>!isEmpty(t.modelValue)),T=computed(()=>t.disabled||t.readonly),F=computed(()=>T.value?-1:t.tabindex),X=computed(()=>{if(t.invalid===!0)return!0;if(t.valid===!0)return!1}),Y=useBemModifiers("vv-select",c,computed(()=>({valid:b.value,invalid:V.value,loading:p.value,disabled:n.value,readonly:a.value,"icon-before":G.value,"icon-after":E.value,dirty:D.value,focus:P.value,floating:_.value,multiple:C.value}))),S=computed(()=>({name:t.name,tabindex:F.value,disabled:T.value,required:t.required,size:t.size,autocomplete:t.autocomplete,multiple:t.multiple,"aria-invalid":X.value,"aria-describedby":!u.value&&i.value?B.value:void 0,"aria-errormessage":u.value?B.value:void 0})),U=computed(()=>({valid:t.valid,invalid:t.invalid,modelValue:t.modelValue})),{getOptionLabel:ee,getOptionValue:q,getOptionDisabled:ne}=useOptions(t),L=computed({get:()=>t.modelValue,set:N=>{Array.isArray(N)&&(N=N.filter(z=>z!==void 0)),r("update:modelValue",N)}});return(N,z)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(Y))},[N.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref($)},e.toDisplayString(N.label),9,so)):e.createCommentVNode("",!0),e.createElementVNode("div",io,[N.$slots.before?(e.openBlock(),e.createElementBlock("div",co,[e.renderSlot(N.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(U))))])):e.createCommentVNode("",!0),e.createElementVNode("div",uo,[e.unref(G)?(e.openBlock(),e.createBlock(M,e.mergeProps({key:0,class:"vv-select__icon"},e.unref(x)),null,16)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("select",e.mergeProps({id:e.unref($),ref_key:"select",ref:l,"onUpdate:modelValue":z[0]||(z[0]=W=>e.isRef(L)?L.value=W:null)},e.unref(S)),[N.placeholder?(e.openBlock(),e.createElementBlock("option",{key:0,value:void 0,disabled:!N.unselectable,hidden:!N.unselectable},e.toDisplayString(N.placeholder),9,fo)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(N.options,(W,te)=>(e.openBlock(),e.createElementBlock("option",{key:te,disabled:e.unref(ne)(W),value:e.unref(q)(W)},e.toDisplayString(e.unref(ee)(W)),9,mo))),128))],16,po),[[e.vModelSelect,e.unref(L)]]),e.unref(E)?(e.openBlock(),e.createBlock(M,e.mergeProps({key:1,class:"vv-select__icon vv-select__icon-after"},e.unref(x)),null,16)):e.createCommentVNode("",!0)]),N.$slots.after?(e.openBlock(),e.createElementBlock("div",bo,[e.renderSlot(N.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(U))))])):e.createCommentVNode("",!0)]),e.createVNode(e.unref(d),{id:e.unref(B),class:"vv-select__hint"},null,8,["id"])],2))}}),ho=["id"],yo=["id","for"],_o=["id","aria-controls","aria-labelledby","aria-describedby","placeholder"],ko={key:0,class:"vv-select__input-before"},vo={class:"vv-select__inner"},So=["aria-labelledby","tabindex"],Vo=["aria-label","onClick"],Bo={key:1,class:"vv-select__input-after"},Co={class:"vv-dropdown-action__hint"},Eo={name:"VvCombobox",components:{VvDropdown:we,VvDropdownItem:Ke}},Po=e.defineComponent({...Eo,props:eo,emits:Zt,setup(o,{emit:r}){const t=o,s=useSlots(),{HintSlot:l}=re(t,s),d=ref(null),i=ref(null),u=ref(null),{focused:m}=useComponentFocus(d,r),{focused:c}=useFocusWithin(u);watch(m,y=>{if(t.autoOpen){if(y&&!p.value){v();return}!y&&p.value&&!c.value&&V()}}),watch(c,y=>{!m.value&&!y&&p.value&&V()});const n=ref(""),a=refDebounced(n,Number(t.debounceSearch));watch(a,()=>r("change:search",a.value));const p=ref(!1),g=()=>{t.disabled||t.readonly||(p.value=!p.value)},v=()=>{t.disabled||t.readonly||p.value||(p.value=!0)},V=()=>{t.disabled||t.readonly||!p.value||(p.value=!1)};watch(p,y=>{D.value&&nextTick(()=>{if(y){i.value&&i.value.focus();return}n.value=""})});const{id:b,icon:_,iconPosition:C,modifiers:$,disabled:B,readonly:P,loading:R,valid:x,invalid:G,floating:E,searchable:D}=toRefs(t),T=useUniqueId(b),F=computed(()=>`${T.value}-hint`),X=computed(()=>`${T.value}-dropdown`),Y=computed(()=>`${T.value}-search`),S=computed(()=>`${T.value}-label`),{hasIcon:U,hasIconBefore:ee,hasIconAfter:q}=useComponentIcon(_,C),ne=computed(()=>!isEmpty(t.modelValue)),L=computed(()=>B.value||P.value?-1:t.tabindex),N=useBemModifiers("vv-select",$,computed(()=>({disabled:B.value,loading:R.value,readonly:P.value,"icon-before":Boolean(ee.value),"icon-after":Boolean(q.value),valid:x.value,invalid:G.value,dirty:ne.value,focus:m.value,floating:E.value}))),z=computed(()=>t.searchable?f.value:t.options),{getOptionLabel:W,getOptionValue:te,getOptionDisabled:Z}=useOptions(t),f=computed(()=>{var y;return(y=t.options)==null?void 0:y.filter(H=>W(H).toLowerCase().includes(a.value.toLowerCase().trim()))});function I(y){return Array.isArray(t.modelValue)?contains(y,t.modelValue)||contains(te(y),t.modelValue):equals(y,t.modelValue)||equals(te(y),t.modelValue)}const J=computed(()=>{let y=[];return Array.isArray(t.modelValue)?y=t.modelValue:t.modelValue&&(y=[t.modelValue]),t.options.filter(H=>y.includes(te(H)))}),ae=computed(()=>J.value.map(y=>W(y)).join(t.separator));watch(J,()=>{!t.multiple&&t.autoClose&&V()});const Ae=()=>{t.autoOpen?v():g()},ge=y=>{var ce;if(t.disabled||t.readonly)return;const H=te(y);let O=H;if(t.multiple)if(Array.isArray(t.modelValue)){if(t.maxValues!==void 0&&t.maxValues>=0&&((ce=t.modelValue)==null?void 0:ce.length)>=t.maxValues&&!contains(H,t.modelValue))return;O=contains(H,t.modelValue)?removeFromList(H,t.modelValue):[...t.modelValue,H]}else O=[H];else t.unselectable&&H===t.modelValue&&(O=void 0);r("update:modelValue",O)},w=computed(()=>({id:T.value,name:t.name,tabindex:L.value,valid:x.value,validLabel:t.validLabel,invalid:G.value,invalidLabel:t.invalidLabel,hintLabel:t.hintLabel,loading:R.value,loadingLabel:t.loadingLabel,disabled:B.value,readonly:P.value,modifiers:t.modifiers,options:z.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})),j=computed(()=>({id:X.value,reference:u.value,placement:t.placement,transitionName:t.transitionName,offset:t.offset,shift:t.shift,flip:t.flip,autoPlacement:t.autoPlacement,arrow:t.arrow,autoClose:t.autoClose,autofocusFirst:D.value?!1:t.autofocusFirst,triggerWidth:t.triggerWidth,modifiers:t.dropdownModifiers})),ue=computed(()=>({valid:t.valid,invalid:t.invalid,modelValue:t.modelValue}));return onKeyStroke([" ","Enter"],y=>{t.autoOpen||!p.value&&m.value&&(y.preventDefault(),y.stopImmediatePropagation(),g())}),(y,H)=>y.native?(e.openBlock(),e.createBlock(Xe,e.mergeProps({key:1},e.unref(w),{"onUpdate:modelValue":H[2]||(H[2]=O=>r("update:modelValue",O))}),null,16)):(e.openBlock(),e.createElementBlock("div",{key:0,id:e.unref(T),class:e.normalizeClass(e.unref(N))},[y.label?(e.openBlock(),e.createElementBlock("label",{key:0,id:e.unref(S),for:e.unref(D)?e.unref(Y):void 0},e.toDisplayString(y.label),9,yo)):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"wrapperEl",ref:u,class:"vv-select__wrapper"},[e.createVNode(we,e.mergeProps({modelValue:e.unref(p),"onUpdate:modelValue":H[1]||(H[1]=O=>e.isRef(p)?p.value=O:null)},e.unref(j),{role:"listbox"}),e.createSlots({default:e.withCtx(({aria:O})=>[y.$slots.before?(e.openBlock(),e.createElementBlock("div",ko,[e.renderSlot(y.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(ue))))])):e.createCommentVNode("",!0),e.createElementVNode("div",vo,[e.unref(ee)?(e.openBlock(),e.createBlock(M,e.mergeProps({key:0,class:"vv-select__icon"},e.unref(U)),null,16)):e.createCommentVNode("",!0),e.createElementVNode("div",e.mergeProps({ref_key:"inputEl",ref:d},O,{"aria-labelledby":e.unref(S),class:"vv-select__input",role:"combobox",tabindex:e.unref(L),onClickPassive:Ae}),[e.renderSlot(y.$slots,"value",e.normalizeProps(e.guardReactiveProps({selectedOptions:e.unref(J),onInput:ge})),()=>[e.unref(ae)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[y.badges?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(e.unref(J),(ce,Ze)=>(e.openBlock(),e.createBlock(Fe,{key:Ze,modifiers:y.badgeModifiers,class:"vv-select__badge"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(W)(ce))+" ",1),y.unselectable&&!e.unref(P)&&!e.unref(B)?(e.openBlock(),e.createElementBlock("button",{key:0,"aria-label":y.deselectLabel,onClick:e.withModifiers(kl=>ge(ce),["stop"])},[e.createVNode(M,{name:"close"})],8,Vo)):e.createCommentVNode("",!0)]),_:2},1032,["modifiers"]))),128)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(e.unref(ae)),1)],64))],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(y.placeholder),1)],64))])],16,So),e.unref(q)?(e.openBlock(),e.createBlock(M,e.mergeProps({key:1,class:"vv-select__icon vv-select__icon-after"},e.unref(U)),null,16)):e.createCommentVNode("",!0)]),y.$slots.after?(e.openBlock(),e.createElementBlock("div",Bo,[e.renderSlot(y.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(ue))))])):e.createCommentVNode("",!0)]),items:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f),(O,ce)=>(e.openBlock(),e.createBlock(Ke,{key:ce,class:e.normalizeClass(["vv-dropdown-action",{disabled:e.unref(Z)(O),selected:I(O),"vv-dropdown-action--unselectable":y.unselectable&&I(O)}]),tabindex:e.unref(Z)(O)?-1:0,"aria-selected":I(O),"aria-disabled":e.unref(Z)(O),onClickPassive:Ze=>ge(O)},{default:e.withCtx(()=>[e.renderSlot(y.$slots,"option",e.normalizeProps(e.guardReactiveProps({option:O,selectedOptions:e.unref(J),selected:I(O),disabled:e.unref(Z)(O)})),()=>[e.createTextVNode(e.toDisplayString(e.unref(W)(O))+" ",1),e.createElementVNode("span",Co,[I(O)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(y.unselectable?y.pressToDeselectLabel:y.selectedLabel),1)],64)):e.unref(Z)(O)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(y.pressToSelectLabel),1)],64))])])]),_:2},1032,["tabindex","class","aria-selected","aria-disabled","onClickPassive"]))),128))]),_:2},[e.unref(D)?{name:"before",fn:e.withCtx(()=>[e.unref(D)?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,id:e.unref(Y),ref_key:"inputSearchEl",ref:i,"onUpdate:modelValue":H[0]||(H[0]=O=>e.isRef(n)?n.value=O:null),"aria-autocomplete":"list","aria-controls":e.unref(X),"aria-labelledby":e.unref(S),"aria-describedby":e.unref(F),autocomplete:"off",spellcheck:"false",type:"search",class:"vv-dropdown__search",placeholder:y.searchPlaceholder},null,8,_o)),[[e.vShow,e.unref(p)],[e.vModelText,e.unref(n)]]):e.createCommentVNode("",!0)]),key:"0"}:void 0]),1040,["modelValue"])],512),e.createVNode(e.unref(l),{id:e.unref(F),class:"vv-select__hint"},null,8,["id"])],10,ho))}}),wo=["open","close","update:modelValue"],$o={..._e,title:String,modelValue:Boolean,transition:{type:String,default:"fade-block"},size:String,autoClose:{type:Boolean,default:!0}},No={key:0,class:"vv-dialog__header"},Ao={class:"vv-dialog__content"},Do={key:1,class:"vv-dialog__footer"},Io={name:"VvDialog"},Ro=e.defineComponent({...Io,props:$o,emits:wo,setup(o,{emit:r}){const t=o,s=useVModel(t,"modelValue",r),l=ref(!0),d=ref(null),i=computed(()=>{const{id:a}=t;return{id:a,open:l.value}}),u=computed(()=>t.size?["vv-dialog",`vv-dialog--${t.size}`]:"vv-dialog"),m=computed(()=>`vv-dialog--${t.transition}`),c={"before-enter":()=>{l.value=!0,r("open")},"after-leave":()=>{l.value=!1,r("close")}};onClickOutside(d,()=>{t.autoClose&&(s.value=!1)});function n(){s.value=!1}return onKeyStroke("Escape",a=>{s.value&&(a.preventDefault(),n())}),(a,p)=>(e.openBlock(),e.createBlock(e.Transition,e.mergeProps({name:e.unref(m)},e.toHandlers(c)),{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("dialog",e.mergeProps(e.unref(i),{class:e.unref(u)}),[e.createElementVNode("article",{ref_key:"modalWrapper",ref:d,class:"vv-dialog__wrapper"},[a.$slots.header||a.title?(e.openBlock(),e.createElementBlock("header",No,[e.renderSlot(a.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(a.title)+" ",1),e.createElementVNode("button",{type:"button","aria-label":"Close",class:"vv-dialog__close",onClickPassive:n},[e.createVNode(M,{name:"close"})],32)])])):e.createCommentVNode("",!0),e.createElementVNode("div",Ao,[e.renderSlot(a.$slots,"default")]),a.$slots.footer?(e.openBlock(),e.createElementBlock("footer",Do,[e.renderSlot(a.$slots,"footer")])):e.createCommentVNode("",!0)],512)],16),[[e.vShow,e.unref(s)]])]),_:3},16,["name"]))}}),k={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"},se={PASSWORD_SHOW:"eye-on",PASSWORD_HIDE:"eye-off",DATE:"calendar",TIME:"time",COLOR:"color",SEARCH:"close"},Oo=["update:modelValue","focus","blur","keyup"],To={...ze,modelValue:[String,Number],type:{type:String,default:k.TEXT,validator:o=>Object.values(k).includes(o)},min:[Number,Date,String],max:[Number,Date,String],step:{type:[String,Number],default:1},pattern:String,multiple:Boolean,iconShowPassword:{type:String,default:se.PASSWORD_SHOW},iconHidePassword:{type:String,default:se.PASSWORD_HIDE},iconClear:{type:String,default:se.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"}},Ye=defineComponent({components:{VvIcon:M},props:{disabled:{type:Boolean,default:!1},labelShow:{type:String,default:"Show password"},labelHide:{type:String,default:"Hide password"},iconShow:{type:String,default:se.PASSWORD_SHOW},iconHide:{type:String,default:se.PASSWORD_HIDE}},emits:["toggle-password"],setup(o,{emit:r}){const t=ref(!1),s=computed(()=>t.value?o.iconHide:o.iconShow);function l(d){d==null||d.stopPropagation(),o.disabled||(t.value=!t.value,r("toggle-password",t.value))}return{active:t,activeIcon:s,onClick:l}},render(){const o=h(M,{name:this.activeIcon,class:"vv-input-text__action-icon"});return h("button",{disabled:this.disabled,class:"vv-input-text__action",ariaLabel:this.active?this.labelHide:this.labelShow,type:"button",onClick:this.onClick},o)}}),$e=defineComponent({components:{VvIcon:M},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:r}){const t=computed(()=>o.mode==="up");return{isUp:t,onClick:l=>{l==null||l.stopPropagation(),o.disabled||r(t.value?"step-up":"step-down")}}},render(){return 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})}}),Je=defineComponent({components:{VvIcon:M},props:{disabled:{type:Boolean,default:!1},label:{type:String,default:"Clear"},icon:{type:String,default:"close"}},emits:["clear"],setup(o,{emit:r}){function t(s){s==null||s.stopPropagation(),o.disabled||r("clear")}return{onClick:t}},render(){const o=h(M,{name:this.icon,class:"vv-input-text__action-icon"});return h("button",{disabled:this.disabled,class:"vv-input-text__action",ariaLabel:this.label,type:"button",onClick:this.onClick},o)}});function Ne(o,r){return{name:"VvInputTextActions",components:{VvIcon:M,VvInputPasswordAction:Ye,VvInputStepAction:$e,VvInputClearAction:Je},setup(){return{isDisabled:computed(()=>r.disabled||r.readonly),labelStepUp:r.labelStepUp,labelStepDown:r.labelStepDown,labelShowPassword:r.labelShowPassword,labelHidePassword:r.labelHidePassword,labelClear:r.labelClear,iconShowPassword:r.iconShowPassword,iconHidePassword:r.iconHidePassword}},render(){let t=null;switch(o){case k.SEARCH:{const{onClear:s}=this.$attrs;t=[h(Je,{disabled:this.isDisabled,label:this.labelShowPassword,onClear:s})];break}case k.PASSWORD:{const{onTogglePassword:s}=this.$attrs;t=[h(Ye,{disabled:this.isDisabled,onTogglePassword:s,labelShow:this.labelShowPassword,labelHide:this.labelHidePassword,iconShow:this.iconShowPassword,iconHide:this.iconHidePassword})];break}case k.NUMBER:{const{onStepUp:s,onStepDown:l}=this.$attrs;t=[h($e,{mode:"up",disabled:this.isDisabled||r.max!==void 0&&r.modelValue===r.max,label:this.labelStepUp,onStepUp:s,onStepDown:l}),h($e,{mode:"down",disabled:this.isDisabled||r.min!==void 0&&r.modelValue===r.min,label:this.labelStepDown,onStepUp:s,onStepDown:l})];break}}return Array.isArray(t)?h("div",{class:"vv-input-text__actions-group"},t):t}}}const xo=["for"],Mo={class:"vv-input-text__wrapper"},Lo={key:0,class:"vv-input-text__input-before"},zo={class:"vv-input-text__inner"},Ho=["id"],Go={key:1,class:"vv-input-text__input-after"},Fo={key:2,class:"vv-input-text__limit"},Uo={name:"VvInputText"},Wo=e.defineComponent({...Uo,props:To,emits:Oo,setup(o,{emit:r}){const t=o,s=useSlots(),l=ref(),{id:d,icon:i,iconPosition:u,label:m,modelValue:c,count:n,valid:a,invalid:p,loading:g}=toRefs(t),v=useUniqueId(d),V=computed(()=>`${v.value}-hint`),b=computed(()=>t.floating&&isEmpty(t.placeholder)?" ":t.placeholder),_=useDebouncedInput(c,r,t.debounce),{focused:C}=useComponentFocus(l,r),$=useElementVisibility(l);watch($,w=>{w&&t.autofocus&&(C.value=!0)});const B=ref(!1),P=computed(()=>t.type===k.PASSWORD),R=()=>{B.value=!B.value},x=computed(()=>t.type===k.TIME||t.type===k.DATETIME_LOCAL||t.type===k.DATE||t.type===k.WEEK||t.type===k.MONTH),G=computed(()=>t.type===k.NUMBER),E=()=>{q.value&&(l.value.stepUp(),_.value=unref(l).value)},D=()=>{q.value&&(l.value.stepDown(),_.value=unref(l).value)},T=computed(()=>t.type===k.SEARCH),F=()=>{_.value=void 0},{hasIcon:X,hasIconBefore:Y,hasIconAfter:S}=useComponentIcon(i,u),U=computed(()=>{switch(t.type){case k.COLOR:return{name:se.COLOR};case k.DATE:case k.DATETIME_LOCAL:case k.WEEK:case k.MONTH:return{name:se.DATE};case k.TIME:return{name:se.TIME};default:return""}}),{formatted:ee}=useTextCount(_,{mode:t.count,upperLimit:t.maxlength,lowerLimit:t.minlength}),q=computed(()=>!t.disabled&&!t.readonly),ne=computed(()=>q.value?t.tabindex:-1),L=computed(()=>!isEmpty(c)),N=computed(()=>{if(p.value===!0)return!0;if(a.value===!0)return!1}),{modifiers:z}=toRefs(t),W=useBemModifiers("vv-input-text",z,computed(()=>({valid:a.value,invalid:p.value,loading:g.value,disabled:t.disabled,readonly:t.readonly,"icon-before":Y.value,"icon-after":S.value||!isEmpty(U),floating:t.floating&&!isEmpty(t.label),dirty:L.value,focus:C.value}))),te=computed(()=>{const w=(()=>P.value&&B.value||x.value&&!L.value&&!C.value?k.TEXT:t.type)(),j={type:w,name:t.name,tabindex:ne.value,disabled:t.disabled,readonly:t.readonly,required:t.required,autocomplete:t.autocomplete,"aria-invalid":N.value,"aria-describedby":!J.value&&I.value?V.value:void 0,"aria-errormessage":J.value?V.value:void 0};return(w===k.DATE||w===k.MONTH||w===k.WEEK||w===k.TIME||w===k.DATETIME_LOCAL||w===k.NUMBER)&&(j.step=t.step,j.max=String(t.max),j.min=String(t.min)),(w===k.TEXT||w===k.SEARCH||w===k.URL||w===k.TEL||w===k.EMAIL||w===k.PASSWORD||w===k.NUMBER)&&(j.placeholder=b.value),(w===k.TEXT||w===k.SEARCH||w===k.URL||w===k.TEL||w===k.EMAIL||w===k.PASSWORD)&&(j.minlength=t.minlength,j.maxlength=t.maxlength,j.pattern=t.pattern),w===k.EMAIL&&(j.multiple=t.multiple),j}),Z=computed(()=>({valid:t.valid,invalid:t.invalid,modelValue:t.modelValue,togglePassword:R,stepUp:E,stepDown:D,clear:F})),{HintSlot:f,hasHint:I,hasInvalid:J}=re(t,s),ae=Ne(k.PASSWORD,t),Ae=Ne(k.NUMBER,t),ge=Ne(k.SEARCH,t);return(w,j)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(W))},[e.unref(m)?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(v),class:"vv-input-text__label"},e.toDisplayString(e.unref(m)),9,xo)):e.createCommentVNode("",!0),e.createElementVNode("div",Mo,[w.$slots.before?(e.openBlock(),e.createElementBlock("div",Lo,[e.renderSlot(w.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(Z))))])):e.createCommentVNode("",!0),e.createElementVNode("div",zo,[e.unref(Y)?(e.openBlock(),e.createBlock(M,e.mergeProps({key:0,class:"vv-input-text__icon"},e.unref(X)),null,16)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",e.mergeProps({id:e.unref(v),ref_key:"input",ref:l,"onUpdate:modelValue":j[0]||(j[0]=ue=>e.isRef(_)?_.value=ue:null)},e.unref(te),{onKeyup:j[1]||(j[1]=ue=>r("keyup",ue))}),null,16,Ho),[[e.vModelDynamic,e.unref(_)]]),e.unref(S)||e.unref(U)?(e.openBlock(),e.createBlock(M,e.mergeProps({key:1,class:"vv-input-text__icon vv-input-text__icon-after"},e.unref(S)?e.unref(X):e.unref(U)),null,16)):e.unref(P)?(e.openBlock(),e.createBlock(e.unref(ae),{key:2,onTogglePassword:R})):e.unref(G)?(e.openBlock(),e.createBlock(e.unref(Ae),{key:3,onStepUp:E,onStepDown:D})):e.unref(T)?(e.openBlock(),e.createBlock(e.unref(ge),{key:4,onClear:F})):e.createCommentVNode("",!0)]),w.$slots.after?(e.openBlock(),e.createElementBlock("div",Go,[e.renderSlot(w.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(Z))))])):e.createCommentVNode("",!0),e.unref(n)?(e.openBlock(),e.createElementBlock("span",Fo,[e.renderSlot(w.$slots,"count",e.normalizeProps(e.guardReactiveProps(e.unref(Z))),()=>[e.createTextVNode(e.toDisplayString(e.unref(ee)),1)])])):e.createCommentVNode("",!0)]),e.createVNode(e.unref(f),{id:e.unref(V),class:"vv-input-text__hint"},null,8,["id"])],2))}}),jo={...Q,value:{type:[Number,String],default:void 0},max:{type:[Number,String]},label:{type:String,required:!0}},qo={name:"VvProgress"},Ko=e.defineComponent({...qo,props:jo,setup(o){const r=o,{value:t,max:s,label:l}=toRefs(r),d=computed(()=>r.value===void 0),{modifiers:i}=toRefs(r),u=useBemModifiers("vv-progress",i,computed(()=>({indeterminate:d.value})));return(m,c)=>(e.openBlock(),e.createElementBlock("progress",e.mergeProps({role:"progressbar"},{class:e.unref(u),ariaLabel:e.unref(l),max:e.unref(s),value:e.unref(t)}),null,16))}}),Xo=He,Yo=["click","update:modelValue","change","blur"];function Jo(o,r){const{id:t}=toRefs(o),{group:s,isInGroup:l,getGroupOrLocalRef:d}=useInjectedGroupState(Re),i=d("modelValue",o,r),u=d("readonly",o),m=d("disabled",o),c=d("valid",o),n=d("invalid",o);return{id:t,group:s,isInGroup:l,modelValue:i,readonly:u,disabled:m,valid:c,invalid:n}}const Qo=["for"],Zo=["id","name","disabled","value","tabindex","aria-invalid"],el={name:"VvRadio"},Qe=e.defineComponent({...el,props:Xo,emits:Yo,setup(o,{emit:r}){const t=o,s=useSlots(),{id:l,disabled:d,readonly:i,modelValue:u,valid:m,invalid:c}=Jo(t,r),n=useUniqueId(l),a=computed(()=>g.value?-1:t.tabindex),p=ref(),g=computed(()=>d.value||i.value),v=computed(()=>{if(c.value===!0)return!0;if(m.value===!0)return!1}),V=computed(()=>Array.isArray(u.value)?contains(t.value,u.value):equals(t.value,u.value)),b=computed(()=>["string","number","boolean"].includes(typeof t.value)?t.value:!0),_=computed({get(){return V.value?b.value:null},set(P){Array.isArray(u.value)?u.value=[t.value]:u.value=t.value,r("change",P)}}),{modifiers:C}=toRefs(t),$=useBemModifiers("vv-radio",C,computed(()=>({valid:m.value,invalid:c.value,disabled:d.value,readonly:i.value}))),{HintSlot:B}=re(t,s);return(P,R)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(e.unref($)),for:e.unref(n)},[e.withDirectives(e.createElementVNode("input",{id:e.unref(n),ref_key:"input",ref:p,"onUpdate:modelValue":R[0]||(R[0]=x=>e.isRef(_)?_.value=x:null),type:"radio",class:"vv-radio__input",name:P.name,disabled:e.unref(g),value:e.unref(b),tabindex:e.unref(a),"aria-invalid":e.unref(v)},null,8,Zo),[[e.vModelRadio,e.unref(_)]]),e.renderSlot(P.$slots,"default",{value:e.unref(u)},()=>[e.createTextVNode(e.toDisplayString(P.label),1)]),e.createVNode(e.unref(B),{class:"vv-radio__hint",params:{value:e.unref(u)}},null,8,["params"])],10,Qo))}}),tl=Ge,ol=["update:modelValue","change"],ll=["textContent"],nl={class:"vv-radio-group__wrapper"},al={name:"VvRadioGroup"},rl=e.defineComponent({...al,props:tl,emits:ol,setup(o,{emit:r}){const t=o,s=useSlots(),l=useVModel(t,"modelValue",r),{disabled:d,readonly:i,vertical:u,valid:m,invalid:c,modifiers:n}=toRefs(t);useProvideGroupState({key:Re,modelValue:l,disabled:d,readonly:i,valid:m,invalid:c});const{getOptionLabel:a,getOptionValue:p}=useOptions(t),g=useBemModifiers("vv-radio-group",n,computed(()=>({disabled:d.value,readonly:i.value,horizontal:!u.value,valid:m.value,invalid:c.value}))),v=(b,_)=>({id:`${t.name}_opt${_}`,name:t.name,label:a(b),value:p(b)}),{HintSlot:V}=re(t,s);return(b,_)=>(e.openBlock(),e.createElementBlock("fieldset",{class:e.normalizeClass(e.unref(g))},[b.label?(e.openBlock(),e.createElementBlock("legend",{key:0,textContent:e.toDisplayString(b.label)},null,8,ll)):e.createCommentVNode("",!0),e.createElementVNode("div",nl,[b.options.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(b.options,(C,$)=>(e.openBlock(),e.createBlock(Qe,e.mergeProps({key:$},v(C,$)),null,16))),128)):e.renderSlot(b.$slots,"default",{key:1})]),e.createVNode(e.unref(V),{class:"vv-radio-group__hint"})],2))}}),sl={hard:"hard",soft:"soft"},il={true:!0,false:!1,default:"default"},cl=["update:modelValue","focus","blur","keyup"],dl={...ze,modelValue:String,cols:{type:[String,Number],default:20},rows:{type:[String,Number],default:2},wrap:{type:String,default:sl.soft},spellcheck:{type:[Boolean,String],default:il.default},resizable:Boolean},ul=["for"],pl={class:"vv-textarea__wrapper"},fl={key:0,class:"vv-textarea__input-before"},ml={class:"vv-textarea__inner"},bl=["id"],gl={key:1,class:"vv-textarea__input-after"},hl={key:2,class:"vv-textarea__limit"},yl={name:"VvTextarea"},_l=e.defineComponent({...yl,props:dl,emits:cl,setup(o,{emit:r}){const t=o,s=useSlots(),l=ref(),{id:d,icon:i,iconPosition:u,label:m,modelValue:c,count:n,valid:a,invalid:p,loading:g,modifiers:v}=toRefs(t),V=useUniqueId(d),b=computed(()=>`${V.value}-hint`),_=computed(()=>t.floating&&isEmpty(t.placeholder)?" ":t.placeholder),C=useDebouncedInput(c,r,t.debounce),{hasIcon:$,hasIconBefore:B,hasIconAfter:P}=useComponentIcon(i,u),{focused:R}=useComponentFocus(l,r),x=useElementVisibility(l);watch(x,L=>{L&&t.autofocus&&(R.value=!0)});const{formatted:G}=useTextCount(C,{mode:t.count,upperLimit:t.maxlength,lowerLimit:t.minlength}),E=computed(()=>!t.disabled&&!t.readonly),D=computed(()=>E.value?t.tabindex:-1),T=computed(()=>!isEmpty(c)),F=computed(()=>{if(t.invalid===!0)return!0;if(t.valid===!0)return!1}),{HintSlot:X,hasHint:Y,hasInvalid:S}=re(t,s),U=useBemModifiers("vv-textarea",v,computed(()=>({valid:a.value,invalid:p.value,loading:g.value,disabled:t.disabled,readonly:t.readonly,"icon-before":B.value,"icon-after":P.value,floating:t.floating&&!isEmpty(t.label),dirty:T.value,focused:R.value,resizable:t.resizable}))),ee=computed(()=>({name:t.name,placeholder:_.value,tabindex:D.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":F.value,"aria-describedby":!S.value&&Y.value?b.value:void 0,"aria-errormessage":S.value?b.value:void 0})),q=computed(()=>({valid:t.valid,invalid:t.invalid,modelValue:t.modelValue,hintLabel:t.hintLabel,maxlength:t.maxlength,minlength:t.minlength,clear:ne})),ne=()=>{C.value=void 0};return(L,N)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(U))},[e.unref(m)?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(V),class:"vv-textarea__label"},e.toDisplayString(e.unref(m)),9,ul)):e.createCommentVNode("",!0),e.createElementVNode("div",pl,[L.$slots.before?(e.openBlock(),e.createElementBlock("div",fl,[e.renderSlot(L.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(q))))])):e.createCommentVNode("",!0),e.createElementVNode("div",ml,[e.unref(B)?(e.openBlock(),e.createBlock(M,e.mergeProps({key:0,class:"vv-textarea__icon"},e.unref($)),null,16)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("textarea",e.mergeProps({id:e.unref(V),ref_key:"textarea",ref:l,"onUpdate:modelValue":N[0]||(N[0]=z=>e.isRef(C)?C.value=z:null)},e.unref(ee),{onKeyup:N[1]||(N[1]=z=>r("keyup",z))}),null,16,bl),[[e.vModelText,e.unref(C)]]),e.unref(P)?(e.openBlock(),e.createBlock(M,e.mergeProps({key:1,class:"vv-textarea__icon vv-textarea__icon-after"},e.unref($)),null,16)):e.createCommentVNode("",!0)]),L.$slots.after?(e.openBlock(),e.createElementBlock("div",gl,[e.renderSlot(L.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(q))))])):e.createCommentVNode("",!0),e.unref(n)?(e.openBlock(),e.createElementBlock("span",hl,[e.renderSlot(L.$slots,"count",e.normalizeProps(e.guardReactiveProps(e.unref(q))),()=>[e.createTextVNode(e.toDisplayString(e.unref(G)),1)])])):e.createCommentVNode("",!0)]),e.createVNode(e.unref(X),{id:e.unref(b),class:"vv-textarea__hint"},null,8,["id"])],2))}});A.VvAccordion=xe,A.VvAccordionGroup=ut,A.VvBadge=Fe,A.VvBreadcrumb=vt,A.VvButton=Nt,A.VvButtonGroup=Rt,A.VvCard=zt,A.VvCheckbox=je,A.VvCheckboxGroup=Qt,A.VvCombobox=Po,A.VvDialog=Ro,A.VvDropdown=we,A.VvIcon=M,A.VvInputText=Wo,A.VvProgress=Ko,A.VvRadio=Qe,A.VvRadioGroup=rl,A.VvSelect=Xe,A.VvTextarea=_l,Object.defineProperty(A,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(E,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("nanoid"),require("@vueuse/core"),require("@iconify/vue"),require("@floating-ui/vue"),require("mitt")):typeof define=="function"&&define.amd?define(["exports","vue","nanoid","@vueuse/core","@iconify/vue","@floating-ui/vue","mitt"],e):(E=typeof globalThis<"u"?globalThis:E||self,e(E.components={},E.vue,E.nanoid,E.core,E.vue$1,E.vue$2,E.mitt))})(this,function(E,e,Ye,O,be,K,Bt){"use strict";var Y=(o=>(o.left="left",o.right="right",o.top="top",o.bottom="bottom",o))(Y||{}),Je=(o=>(o.topStart="top-start",o.topEnd="top-end",o.bottomStart="bottom-start",o.bottomEnd="bottom-end",o.leftStart="left-start",o.leftEnd="left-end",o.rightStart="right-start",o.rightEnd="right-end",o))(Je||{}),ye=(o=>(o.before="before",o.after="after",o))(ye||{}),xe=(o=>(o.button="button",o.submit="submit",o.reset="reset",o))(xe||{}),ne=(o=>(o.nuxtLink="nuxt-link",o.routerLink="router-link",o.a="a",o.button="button",o))(ne||{}),Xe=(o=>(o.button="button",o.link="link",o.menuitem="menuitem",o))(Xe||{}),ke=(o=>(o.listbox="listbox",o.menu="menu",o))(ke||{}),He=(o=>(o.option="option",o.presentation="presentation",o))(He||{}),Qe=(o=>(o._blank="_blank",o._self="_self",o._parent="_parent",o._top="_top",o))(Qe||{});const Ct=Symbol.for("volver"),Ze=Symbol.for("buttonGroup"),et=Symbol.for("radioGroup"),tt=Symbol.for("checkGroup"),ot=Symbol.for("accordionGroup"),lt=Symbol.for("dropdownTrigger"),nt=Symbol.for("dropdownItem"),at=Symbol.for("dropdownAction");function se(o,l,t){return t?Pe(o,t)===Pe(l,t):Me(o,l)}function Me(o,l){if(o===l)return!0;if(o&&l&&typeof o=="object"&&typeof l=="object"){const t=Array.isArray(o),a=Array.isArray(l);let n,d,i;if(t&&a){if(d=o.length,d!=l.length)return!1;for(n=d;n--!==0;)if(!Me(o[n],l[n]))return!1;return!0}if(t!=a)return!1;const u=o instanceof Date,c=l instanceof Date;if(u!=c)return!1;if(u&&c)return o.getTime()==l.getTime();const f=o instanceof RegExp,r=l instanceof RegExp;if(f!=r)return!1;if(f&&r)return o.toString()==l.toString();const s=Object.keys(o);if(d=s.length,d!==Object.keys(l).length)return!1;for(n=d;n--!==0;)if(!Object.prototype.hasOwnProperty.call(l,s[n]))return!1;for(n=d;n--!==0;)if(i=s[n],!Me(o[i],l[i]))return!1;return!0}return o!==o&&l!==l}function Pe(o,l){if(o&&Object.keys(o).length&&l){if(l.indexOf(".")===-1)return o[l];{const t=l.split(".");let a=o;for(let n=0,d=t.length;n<d;++n){if(o==null)return null;a=a[t[n]]}return a}}else return null}function Et(o,l){let t=-1;if(l){for(let a=0;a<l.length;a++)if(se(l[a],o)){t=a;break}}return t}function ie(o,l){if(o!=null&&l&&l.length){for(const t of l)if(se(o,t))return!0}return!1}function Z(o){return(l=>l==null||l===""||Array.isArray(l)&&l.length===0||!(l instanceof Date)&&typeof l=="object"&&Object.keys(l).length===0)(e.unref(o))}function Pt(o,l){const t=Et(o,l);return t>-1?l.filter((a,n)=>n!==t):l}function wt(o){return typeof o=="string"||o instanceof String}function we(o){const l=e.inject(o,void 0),t=e.computed(()=>!Z(l));function a(n,d,i){if(l!=null&&l.value){const c=e.unref(l.value)[n];return e.computed({get(){return c==null?void 0:c.value},set(f){c.value=f}})}const u=e.toRef(d,n);return e.computed({get(){return u.value},set(c){i&&i(`update:${n}`,c)}})}return{group:l,isInGroup:t,getGroupOrLocalRef:a}}const $t={name:String,title:String,content:String,modelValue:{type:Boolean,default:void 0},modifiers:[String,Array],disabled:Boolean},Nt=["update:modelValue"];function At(o,l){const{group:t,isInGroup:a,getGroupOrLocalRef:n}=we(ot),{title:d,content:i}=e.toRefs(o),u=n("modelValue",o,l),c=n("disabled",o),f=n("collapse",o),r=n("modifiers",o);return{modelValue:u,disabled:c,isInGroup:a,group:t,collapse:f,modifiers:r,title:d,content:i}}function L(o,l,t){return e.computed(()=>{const a={[o]:!0},n=typeof(l==null?void 0:l.value)=="string"?l.value.split(" "):l==null?void 0:l.value;return n&&Array.isArray(n)&&n.forEach(d=>{a[`${o}--${d}`]=!0}),t&&Object.keys(t.value).forEach(d=>{a[`${o}--${d}`]=e.unref(t.value[d])}),a})}const Dt=["id","open"],It=["aria-controls","aria-expanded"],Ot=["aria-hidden"],Rt={name:"VvAccordion"},rt=e.defineComponent({...Rt,props:$t,emits:Nt,setup(o,{emit:l}){const t=o,a=e.useAttrs(),n=e.computed(()=>t.name||(a==null?void 0:a.id)||Ye.nanoid()),{modifiers:d,title:i,content:u,disabled:c,collapse:f,modelValue:r,isInGroup:s}=At(t,l),m=e.ref(!1),h=e.computed({get:()=>s.value?f.value&&Array.isArray(r.value)?r.value.includes(n.value):r.value===n.value:r.value===void 0?m.value:r.value,set:g=>{if(s.value){if(f.value&&Array.isArray(r.value)){if(g){r.value.push(n.value);return}r.value=r.value.filter(p=>p!==n.value);return}r.value=g?n.value:null;return}if(r.value===void 0&&typeof g=="boolean"){m.value=g;return}r.value=g}}),_=L("vv-accordion",d,e.computed(()=>({disabled:c.value}))),S=O.useToggle(h);return(g,p)=>(e.openBlock(),e.createElementBlock("details",{id:e.unref(n),class:e.normalizeClass(e.unref(_)),open:e.unref(h),onClick:p[0]||(p[0]=e.withModifiers(B=>e.unref(S)(),["prevent"]))},[e.createElementVNode("summary",{"aria-controls":e.unref(n),"aria-expanded":e.unref(h),class:"vv-collapse__summary"},[e.renderSlot(g.$slots,"summary",e.normalizeProps(e.guardReactiveProps({open:e.unref(h)})),()=>[e.createTextVNode(e.toDisplayString(e.unref(i)),1)])],8,It),e.createElementVNode("div",{"aria-hidden":!e.unref(h),class:"vv-collapse__content"},[e.renderSlot(g.$slots,"details",e.normalizeProps(e.guardReactiveProps({open:e.unref(h)})),()=>[e.createTextVNode(e.toDisplayString(e.unref(u)),1)])],8,Ot)],10,Dt))}}),Tt={modelValue:[String,Array],items:{type:Array,default:()=>[]},collapse:Boolean,modifiers:[String,Array],itemModifiers:{type:[String,Array],default:""},disabled:Boolean},vt=["update:modelValue"];function $e(o){if(Object.keys(o).some(l=>l!=="key"&&!e.isRef(o[l])))throw Error("One or more groupState props aren't ref.");e.provide(o.key,e.computed(()=>o))}const Lt={name:"VvAccordionGroup"},xt=e.defineComponent({...Lt,props:Tt,emits:vt,setup(o,{emit:l}){const t=o,{disabled:a,collapse:n,modifiers:d,itemModifiers:i,items:u}=e.toRefs(t);e.watchEffect(()=>{typeof t.modelValue=="string"&&n.value&&console.warn("[VvAccordionGroup]: modelValue is a string but collapse is true.")});const c=e.ref([]),f=e.computed({get:()=>{var s;return t.modelValue!==void 0?n.value?t.modelValue:Array.isArray(t.modelValue)?t.modelValue[0]:t.modelValue:n.value?c.value:(s=c.value)==null?void 0:s[0]},set:s=>{if(t.modelValue!==void 0)return(Array.isArray(t.modelValue)||n.value)&&!Array.isArray(s)&&(s=[s]),l("update:modelValue",s);c.value=Array.isArray(s)?s:[s]}});$e({key:ot,modelValue:f,disabled:a,collapse:n,modifiers:i});const r=L("vv-accordion-group",d,e.computed(()=>({disabled:a.value})));return(s,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(r))},[e.renderSlot(s.$slots,"default",{},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(u),h=>(e.openBlock(),e.createBlock(rt,e.mergeProps({key:h.title},{name:h.name,title:h.title,content:h.content}),{header:e.withCtx(_=>[e.renderSlot(s.$slots,`header::${h.name}`,e.normalizeProps(e.guardReactiveProps(_)))]),details:e.withCtx(_=>[e.renderSlot(s.$slots,`details::${h.name}`,e.normalizeProps(e.guardReactiveProps(_)))]),_:2},1040))),128))])],2))}}),Ht={to:{type:[String,Object]},href:String,target:{type:String,validator:o=>Object.values(Qe).includes(o)},rel:{type:String,default:"noopener noreferrer"}},_e={valid:Boolean,validLabel:[String,Array]},Se={invalid:Boolean,invalidLabel:[String,Array]},Ne={loading:Boolean,loadingLabel:{type:String,default:"Loading..."}},ce={disabled:Boolean},Mt={selected:Boolean},zt={active:Boolean},jt={pressed:Boolean},ge={label:[String,Number]},Ve={readonly:Boolean},J={modifiers:[String,Array]},Be={hintLabel:{type:String,default:""}},ze={options:{type:Array,default:()=>[]},labelKey:{type:[String,Function],default:"label"},valueKey:{type:[String,Function],default:"value"},disabledKey:{type:[String,Function],default:"disabled"}},Gt={count:{type:[Boolean,String],default:!1,validator:o=>[!0,!1,"limit","countdown"].includes(o)}},Ft={debounce:[Number,String]},je={icon:{type:[String,Object]},iconPosition:{type:String,default:ye.before,validation:o=>Object.values(ye).includes(o)}},Ae={tabindex:{type:[String,Number],default:0}},Ge={floating:Boolean},Ce={unselectable:{type:Boolean,default:!0}},De={id:[String,Number]},Fe={placement:{type:String,default:Y.bottom,validator:o=>Object.values(Y).includes(o)||Object.values(Je).includes(o)},transitionName:{type:String},offset:{type:[Number,String,Object],default:0},shift:{type:[Boolean,Object],default:!1},flip:{type:[Boolean,Object],default:!0},size:{type:[Boolean,Object],default:()=>({padding:10})},autoPlacement:{type:[Boolean,Object],default:!1},arrow:{type:Boolean,default:!1},autoClose:{type:Boolean,default:!0},autofocusFirst:{type:Boolean,default:!0},triggerWidth:{type:Boolean}},Ie={...De,name:{type:String,required:!0}},st={autofocus:Boolean},it={autocomplete:{type:String,default:"off"}},ct={...Ie,...st,...it,...Ae,...ce,...Ve,..._e,...Se,...Be,...Ne,...J,...Gt,...Ft,...je,...Ge,...ge,minlength:Number,maxlength:Number,placeholder:String,required:Boolean},dt={...Ie,...Ae,..._e,...Se,...Be,...ce,...Ve,...J,...ge,value:[String,Number,Boolean],modelValue:[Object,Number,Boolean,String]},ut={..._e,...Se,...ze,...Be,...ce,...Ve,...J,...ge,modelValue:[String,Array],name:{type:String,required:!0},vertical:Boolean},ft={...ce,...ge,...jt,...zt,...Ht,type:{type:String,default:xe.button,validator:o=>Object.values(xe).includes(o)}},Wt={...J,value:[String,Number]},Ut={name:"VvBadge"},pt=e.defineComponent({...Ut,props:Wt,setup(o){const l=o,{modifiers:t}=e.toRefs(l),a=L("vv-badge",t);return(n,d)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(e.unref(a)),role:"status"},[e.renderSlot(n.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(n.value),1)])],2))}}),Kt={...J,routes:Array},qt={class:"vv-breadcrumb__list"},Yt=["content"],Jt={name:"VvBreadcrumb"},Xt=e.defineComponent({...Jt,props:Kt,setup(o){const l=o,{modifiers:t}=e.toRefs(l),a=L("vv-breadcrumb",t);return(n,d)=>(e.openBlock(),e.createElementBlock("nav",{class:e.normalizeClass(e.unref(a)),"aria-label":"breadcrumbs"},[e.createElementVNode("ol",qt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.routes,(i,u)=>{var c,f,r,s;return e.openBlock(),e.createElementBlock("li",{key:`${i.label}-${u}`,class:e.normalizeClass({"vv-breadcrumb__item":u<Number((c=n.routes)==null?void 0:c.length)-1,"vv-breadcrumb__item-active":u===Number((f=n.routes)==null?void 0:f.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":u<Number((r=n.routes)==null?void 0:r.length)-1},"aria-current":u===Number((s=n.routes)==null?void 0:s.length)-1?"page":void 0,itemprop:"item"}),{default:e.withCtx(()=>[e.renderSlot(n.$slots,"label",e.normalizeProps(e.guardReactiveProps({route:i,index:u})),()=>[e.createTextVNode(e.toDisplayString(i.label),1)])]),_:2},1040,["class","aria-current"])),e.createElementVNode("meta",{itemprop:"position",content:`${u+1}`},null,8,Yt)],2)}),128))])],2))}}),Qt={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]}};function mt(){return e.inject(Ct)}const Zt={name:"VvIcon"},x=e.defineComponent({...Zt,props:Qt,setup(o){const l=o,t=e.ref(!0),a=mt(),{modifiers:n}=e.toRefs(l),d=L("vv-icon",n),i=e.computed(()=>l.provider||(a==null?void 0:a.provider)),u=e.computed(()=>{const r=l.name??"",s=`@${i.value}:${l.prefix}:${l.name}`;return be.iconExists(r)?r:be.iconExists(s)?s:(a==null?void 0:a.iconsCollections.find(m=>{const h=`@${i.value}:${m.prefix}:${r}`;if(be.iconExists(h))return h}))||r});function c(r){let s=null;if(typeof window>"u"){const{JSDOM:S}=require("jsdom");s=new S().window}return(s?new s.DOMParser:new window.DOMParser).parseFromString(r,"text/html").querySelector("svg")}function f(r){const s=c(r),m=(s==null?void 0:s.innerHTML.trim())||"";s&&m&&be.addIcon(`@${i.value}:${l.prefix}:${l.name}`,{body:m,height:s.viewBox.baseVal.height,width:s.viewBox.baseVal.width})}return a&&(l.src&&!be.iconExists(`@${i.value}:${l.prefix}:${l.name}`)?(t.value=!1,a.fetchIcon(l.src).then(r=>{r&&(f(r),t.value=!0)}).catch(r=>{throw new Error(`During fetch icon: ${r==null?void 0:r.message}`)})):l.svg&&f(l.svg)),(r,s)=>e.unref(t)?(e.openBlock(),e.createBlock(e.unref(be.Icon),e.mergeProps({key:0,class:e.unref(d)},{inline:r.inline,width:r.width,height:r.height,horizontalFlip:r.horizontalFlip,verticalFlip:r.verticalFlip,flip:r.flip,rotate:r.rotate,color:r.color,onLoad:r.onLoad,icon:e.unref(u)}),null,16,["class"])):e.createCommentVNode("",!0)}}),eo=["click","mouseover","mouseleave"],to=ft;function oo(){return e.inject(lt,{})}function lo(){return e.inject(nt,{})}function no(){return e.inject(at,{})}const ao={name:"VvAction"},ro=e.defineComponent({...ao,props:to,emits:eo,setup(o,{expose:l,emit:t}){const a=o,n=mt(),d=e.ref(null);l({$el:d});const{reference:i,bus:u,aria:c,expanded:f}=oo();e.watch(()=>d.value,p=>{i&&(i.value=p)});const r=e.computed(()=>a.pressed||(f==null?void 0:f.value)),{role:s}=no(),m=e.computed(()=>{switch(!0){case a.disabled:return ne.button;case a.to!==void 0:return n!=null&&n.nuxt?ne.nuxtLink:ne.routerLink;case a.href!==void 0:return ne.a;default:return ne.button}}),h=e.computed(()=>{const p={...c==null?void 0:c.value,"aria-pressed":r.value?!0:void 0,role:s};switch(m.value){case ne.a:return{...p,href:a.href,target:a.target,rel:a.rel};case ne.routerLink:case ne.nuxtLink:return{...p,to:a.to,target:a.target};default:return{...p,type:a.type,disabled:a.disabled}}}),_=p=>{if(a.disabled){p.preventDefault();return}u==null||u.emit("click",p),t("click",p)},S=p=>{u==null||u.emit("mouseover",p),t("mouseover",p)},g=p=>{u==null||u.emit("mouseleave",p),t("mouseleave",p)};return(p,B)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(m)),e.mergeProps(e.unref(h),{ref_key:"element",ref:d,class:{active:p.active,pressed:e.unref(r),disabled:p.disabled},onClickPassive:_,onMouseoverPassive:S,onMouseleavePassive:g}),{default:e.withCtx(()=>[e.renderSlot(p.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(p.label),1)])]),_:3},16,["class"]))}}),so=["update:modelValue"],io={...ft,...De,...J,...Ce,...Ne,icon:[String,Object],iconPosition:{type:String,default:Y.left,validator:o=>Object.values(Y).includes(o)},loadingIcon:{type:String,default:"eos-icons:bubble-loading"},toggle:{type:Boolean,default:!1},modelValue:String};function co(o,l){var p;const{group:t,isInGroup:a,getGroupOrLocalRef:n}=we(Ze),{id:d,iconPosition:i,icon:u,label:c,pressed:f,modifiers:r}=e.toRefs(o),s=n("modelValue",o,l),m=n("disabled",o),h=n("toggle",o),_=n("unselectable",o),S=((p=t==null?void 0:t.value)==null?void 0:p.multiple)??e.ref(!1),g=e.computed(()=>{var $;const B=r!=null&&r.value?Array.isArray(r.value)?r.value:r.value.split(" "):[],w=($=t==null?void 0:t.value.itemModifiers)!=null&&$.value?Array.isArray(t.value.itemModifiers.value)?t.value.itemModifiers.value:t.value.itemModifiers.value.split(" "):[];return[...B,...w]});return{group:t,isInGroup:a,modelValue:s,disabled:m,toggle:h,unselectable:_,multiple:S,id:d,modifiers:g,pressed:f,iconPosition:i,icon:u,label:c}}const de=o=>e.computed(()=>String((o==null?void 0:o.value)||Ye.nanoid())),uo={key:1,class:"vv-button__label"},fo={key:1,class:"vv-button__label"},po={name:"VvButton"},mo=e.defineComponent({...po,props:io,emits:so,setup(o,{expose:l,emit:t}){const a=o,n=e.useAttrs(),d=e.useSlots(),{id:i,modifiers:u,iconPosition:c,icon:f,label:r,modelValue:s,disabled:m,toggle:h,unselectable:_}=co(a,t),S=de(i),g=e.computed(()=>(n==null?void 0:n.name)||S.value),p=e.ref(null),B=e.computed(()=>{var V;return(V=p.value)==null?void 0:V.$el});l({$el:B});const w=e.computed(()=>h.value?Array.isArray(s.value)?ie(g.value,s.value):se(g.value,s.value):a.pressed),$=L("vv-button",u,e.computed(()=>({reverse:[Y.right,Y.bottom].includes(c.value),column:[Y.top,Y.bottom].includes(c.value),"icon-only":Boolean((f==null?void 0:f.value)&&!(r!=null&&r.value)&&!d.default)}))),N=e.computed(()=>typeof(f==null?void 0:f.value)=="string"?{name:f==null?void 0:f.value}:f==null?void 0:f.value),D=()=>{if(h.value){if(Array.isArray(s.value)){if(ie(g.value,s.value)){_.value&&(s.value=s.value.filter(V=>V!==g.value));return}s.value.push(g.value);return}if(se(g.value,s.value)&&_.value){s.value=void 0;return}s.value=g.value}};return(V,F)=>(e.openBlock(),e.createBlock(ro,e.mergeProps({disabled:e.unref(m),pressed:e.unref(w),active:V.active,type:V.type,to:V.to,href:V.href,target:V.target,rel:V.rel},{id:e.unref(S),ref_key:"element",ref:p,class:e.unref($),onClick:D}),{default:e.withCtx(()=>[e.renderSlot(V.$slots,"default",{},()=>[V.loading?e.renderSlot(V.$slots,"loading",{key:0},()=>[V.loadingIcon?(e.openBlock(),e.createBlock(x,{key:0,class:"vv-button__loading-icon",name:V.loadingIcon},null,8,["name"])):e.createCommentVNode("",!0),V.loadingLabel?(e.openBlock(),e.createElementBlock("span",uo,e.toDisplayString(V.loadingLabel),1)):e.createCommentVNode("",!0)]):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.renderSlot(V.$slots,"before"),e.unref(f)?(e.openBlock(),e.createBlock(x,e.mergeProps({key:0,class:"vv-button__icon"},e.unref(N)),null,16)):e.createCommentVNode("",!0),e.unref(r)?(e.openBlock(),e.createElementBlock("span",fo,[e.renderSlot(V.$slots,"label",{},()=>[e.createTextVNode(e.toDisplayString(e.unref(r)),1)])])):e.createCommentVNode("",!0),e.renderSlot(V.$slots,"after")],64))])]),_:3},16,["id","class"]))}}),bo={...J,...ce,...Ce,itemModifiers:{type:[String,Array],default:void 0},toggle:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},modelValue:{type:[String,Array],default:void 0}},go=["update:modelValue"],ho={name:"VvButtonGroup"},yo=e.defineComponent({...ho,props:bo,emits:go,setup(o,{emit:l}){const t=o,{disabled:a,toggle:n,modifiers:d,multiple:i,unselectable:u,itemModifiers:c}=e.toRefs(t);e.watchEffect(()=>{typeof t.modelValue=="string"&&i.value&&console.warn("[VvButtonGroup]: modelValue is a string but multiple is true.")});const f=e.computed({get:()=>i.value?t.modelValue:Array.isArray(t.modelValue)?t.modelValue[0]:t.modelValue,set:s=>(s!==void 0&&(Array.isArray(t.modelValue)||i.value)&&!Array.isArray(s)&&(s=[s]),l("update:modelValue",s))});$e({key:Ze,modelValue:f,disabled:a,toggle:n,multiple:i,unselectable:u,itemModifiers:c});const r=L("vv-button-group",d);return(s,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(r)),role:"group"},[e.renderSlot(s.$slots,"default")],2))}}),ko={title:String,modifiers:[String,Array]},_o={key:0,class:"vv-card__header"},So={key:1,class:"vv-card__content"},Vo={key:2,class:"vv-card__footer"},Bo={name:"VvCard"},Co=e.defineComponent({...Bo,props:ko,setup(o){const l=o,{modifiers:t}=e.toRefs(l),a=L("vv-card",t);return(n,d)=>(e.openBlock(),e.createElementBlock("article",{class:e.normalizeClass(e.unref(a))},[n.$slots.header||n.title?(e.openBlock(),e.createElementBlock("header",_o,[e.renderSlot(n.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(n.title),1)])])):e.createCommentVNode("",!0),e.renderSlot(n.$slots,"default"),n.$slots.content?(e.openBlock(),e.createElementBlock("div",So,[e.renderSlot(n.$slots,"content")])):e.createCommentVNode("",!0),n.$slots.footer?(e.openBlock(),e.createElementBlock("footer",Vo,[e.renderSlot(n.$slots,"footer")])):e.createCommentVNode("",!0)],2))}}),Eo={...dt,...J,indeterminate:Boolean,uncheckedValue:[String,Number,Boolean],switch:Boolean},Po=["click","update:modelValue","change","blur"];function wo(o,l){const{group:t,isInGroup:a,getGroupOrLocalRef:n}=we(tt),{id:d,switch:i,indeterminate:u}=e.toRefs(o),c=n("modelValue",o,l),f=n("readonly",o),r=n("disabled",o),s=n("valid",o),m=n("invalid",o);return{id:d,propsSwitch:i,indeterminate:u,group:t,isInGroup:a,modelValue:c,readonly:f,disabled:r,valid:s,invalid:m}}function Oe(o){return Array.isArray(o)?o.filter(l=>wt(l)).join(" "):o}function ue(o,l){const{invalid:t,valid:a,hint:n,loading:d}=l,{hintLabel:i,modelValue:u,valid:c,validLabel:f,invalid:r,invalidLabel:s,...m}=e.toRefs(o),h=Pe(m,"loading"),_=Pe(m,"loadingLabel"),S=e.computed(()=>r.value?!!(r.value&&t||s!=null&&s.value&&Array.isArray(s.value)&&s.value.length>0||s!=null&&s.value&&!Z(s)):!1),g=e.computed(()=>!!(i&&i.value||n)),p=e.computed(()=>!!(f&&f.value||a)),B=e.computed(()=>!!(h!=null&&h.value&&d||h!=null&&h.value&&(_!=null&&_.value))),w=e.computed(()=>g.value||p.value||S.value||B.value);return{hasInvalid:S,hasHint:g,hasValid:p,hasLoading:B,HintSlot:{name:"HintSlot",props:{params:{type:Object,default:()=>({})}},setup($){const N=e.computed(()=>{const D=O.toReactive({hintLabel:i,modelValue:u,valid:c,validLabel:f,invalid:r,invalidLabel:s,loading:h,loadingLabel:_,...$.params});return r!=null&&r.value?(t==null?void 0:t(D))||Oe(s==null?void 0:s.value)||(i==null?void 0:i.value):c!=null&&c.value?(a==null?void 0:a(D))||Oe(f==null?void 0:f.value)||(i==null?void 0:i.value):h!=null&&h.value?(d==null?void 0:d(D))||Oe(_==null?void 0:_.value)||(i==null?void 0:i.value):(n==null?void 0:n(D))||Oe(i==null?void 0:i.value)||(i==null?void 0:i.value)});return{isVisible:w,hasInvalid:S,hasValid:p,hintContent:N}},render(){if(this.isVisible)return e.h("small",{role:this.hasInvalid?"alert":this.hasValid?"status":void 0},this.hintContent)}}}}const $o=["for"],No=["id","name","disabled","value","tabindex","aria-invalid"],Ao={name:"VvCheckbox"},bt=e.defineComponent({...Ao,props:Eo,emits:Po,setup(o,{emit:l}){const t=o,a=e.useSlots(),{id:n,disabled:d,readonly:i,valid:u,invalid:c,propsSwitch:f,modelValue:r,indeterminate:s,isInGroup:m}=wo(t,l),h=de(n),_=e.computed(()=>p.value?-1:t.tabindex),S=e.ref(),g=e.computed(()=>t.uncheckedValue!==void 0&&!m.value),p=e.computed(()=>d.value||i.value),B=e.computed(()=>{if(c.value===!0)return!0;if(u.value===!0)return!1}),w=e.computed(()=>g.value?r.value===t.value:Array.isArray(r.value)?ie(t.value,r.value):se(t.value,r.value)),$=e.computed(()=>!!(s.value||!w.value&&g.value&&t.uncheckedValue!==r.value)),N=e.computed(()=>{if(!g.value)return["string","number","boolean"].includes(typeof t.value)?t.value:!0}),D=e.computed({get(){return w.value},set(I){if(g.value)r.value=I?t.value:t.uncheckedValue;else if(Array.isArray(r.value)||m.value){const T=new Set(Array.isArray(r.value)?r.value:r.value!==void 0?[r.value]:[]);I?T.add(t.value):T.delete(t.value),r.value=[...T]}else r.value=I?t.value:void 0;l("change",I)}}),{modifiers:V}=e.toRefs(t),F=L("vv-checkbox",V,e.computed(()=>({switch:f.value,valid:u.value,invalid:c.value,disabled:d.value,readonly:i.value,indeterminate:s.value})));e.watchEffect(()=>{g.value&&Array.isArray(r.value)&&console.warn("[VvCheckbox] The model value is an array but the component is in binary mode.")}),e.watch(()=>$.value,I=>{I?S.value.indeterminate=!0:S.value.indeterminate=!1}),e.onMounted(()=>{$.value&&(S.value.indeterminate=!0)});const{HintSlot:P}=ue(t,a);return(I,T)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(e.unref(F)),for:e.unref(h)},[e.withDirectives(e.createElementVNode("input",{id:e.unref(h),ref_key:"input",ref:S,"onUpdate:modelValue":T[0]||(T[0]=q=>e.isRef(D)?D.value=q:null),type:"checkbox",class:"vv-checkbox__input",name:I.name,disabled:e.unref(p),value:e.unref(N),tabindex:e.unref(_),"aria-invalid":e.unref(B)},null,8,No),[[e.vModelCheckbox,e.unref(D)]]),e.renderSlot(I.$slots,"default",{value:e.unref(r)},()=>[e.createTextVNode(e.toDisplayString(I.label),1)]),e.createVNode(e.unref(P),{class:"vv-checkbox__hint",params:{value:e.unref(r)}},null,8,["params"])],10,$o))}}),Do=ut,Io=["update:modelValue","change"];function Re(o){const{options:l,labelKey:t,valueKey:a,disabledKey:n}=e.toRefs(o);return{options:l,getOptionLabel:c=>typeof c!="object"&&c!==null?c:typeof t.value=="function"?t.value(c):c[t.value],getOptionValue:c=>typeof c!="object"&&c!==null?c:typeof a.value=="function"?a.value(c):c[a.value],getOptionDisabled:c=>typeof c!="object"&&c!==null?!1:typeof n.value=="function"?n.value(c):c[n.value]}}const Oo=["textContent"],Ro={class:"vv-checkbox-group__wrapper"},To={name:"VvCheckboxGroup"},vo=e.defineComponent({...To,props:Do,emits:Io,setup(o,{emit:l}){const t=o,a=e.useSlots(),n=O.useVModel(t,"modelValue",l),{disabled:d,readonly:i,vertical:u,valid:c,invalid:f,modifiers:r}=e.toRefs(t);$e({key:tt,modelValue:n,disabled:d,readonly:i,valid:c,invalid:f});const{getOptionLabel:s,getOptionValue:m}=Re(t),h=L("vv-checkbox-group",r,e.computed(()=>({disabled:d.value,readonly:i.value,horizontal:!u.value,valid:c.value,invalid:f.value}))),_=(g,p)=>({id:`${t.name}_opt${p}`,name:t.name,label:s(g),value:m(g)}),{HintSlot:S}=ue(t,a);return(g,p)=>(e.openBlock(),e.createElementBlock("fieldset",{class:e.normalizeClass(e.unref(h))},[g.label?(e.openBlock(),e.createElementBlock("legend",{key:0,textContent:e.toDisplayString(g.label)},null,8,Oo)):e.createCommentVNode("",!0),e.createElementVNode("div",Ro,[g.options.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(g.options,(B,w)=>(e.openBlock(),e.createBlock(bt,e.mergeProps({key:w},_(B,w)),null,16))),128)):e.renderSlot(g.$slots,"default",{key:1})]),e.createVNode(e.unref(S),{class:"vv-checkbox-group__hint"})],2))}}),Lo=["update:modelValue","change:search","focus","blur"],xo={...Ie,...Ae,..._e,...Se,...Be,...Ne,...ce,...Ve,...J,...ze,...je,...Ge,...Ce,...Fe,...ge,modelValue:{type:[String,Number,Boolean,Object,Array],default:void 0},noResultsLabel:{type:String,default:"No results"},noOptionsLabel:{type:String,default:"No options available"},selectedHintLabel:{type:String,default:"Selected"},deselectActionLabel:{type:String,default:"Deselect"},selectHintLabel:{type:String,default:"Press enter to select"},deselectHintLabel:{type:String,default:"Press enter to remove"},placeholder:String,searchable:Boolean,searchPlaceholder:{type:String,default:"Search..."},debounceSearch:{type:[Number,String],default:0},multiple:Boolean,maxValues:[Number,String],separator:{type:String,default:", "},native:Boolean,badges:Boolean,badgeModifiers:{type:[String,Array],default:"action sm"},triggerWidth:{...Fe.triggerWidth,default:!0},dropdownModifiers:{type:[String,Array]},autoOpen:Boolean,autoClose:Boolean},Ho={...De,...J,...Fe,modelValue:{type:Boolean,default:void 0},reference:{type:Object,default:null},role:{type:String,default:ke.menu,validator:o=>Object.values(ke).includes(o)}};function Mo({reference:o,id:l,expanded:t,aria:a}){const n=Bt(),d=e.defineComponent({name:"VvDropdownTriggerProvider",provide(){return{[lt]:{reference:o,id:l,expanded:t,aria:a,bus:n}}},setup(){return{}},render(){var i,u;return e.h(e.Fragment,{},(u=(i=this.$slots).default)==null?void 0:u.call(i))}});return{bus:n,component:d}}function zo({role:o,expanded:l}){const t=e.computed(()=>o.value===ke.listbox?He.option:He.presentation);return e.provide(nt,{role:t,expanded:l}),{itemRole:t}}function jo({expanded:o}){e.provide(at,{role:Xe.menuitem,expanded:o})}const Go=["id","tabindex","role","aria-labelledby"],Fo={name:"VvDropdown",inheritAttrs:!1},We=e.defineComponent({...Fo,props:Ho,emits:["update:modelValue"],setup(o,{emit:l}){const t=o,{id:a}=e.toRefs(t),n=de(a),d=e.useAttrs(),i=e.ref("auto"),u=e.ref("auto"),c=e.ref(null),f=e.ref(null),r=e.ref(null),s=e.ref(null),m=e.computed({get:()=>t.reference??c.value,set:b=>{c.value=b}}),h=e.computed(()=>{const b=[];if(t.autoPlacement?typeof t.autoPlacement=="boolean"?b.push(K.autoPlacement()):b.push(K.autoPlacement(t.autoPlacement)):t.flip&&(typeof t.flip=="boolean"?b.push(K.flip()):b.push(K.flip(t.flip))),t.shift&&(typeof t.shift=="boolean"?b.push(K.shift()):b.push(K.shift(t.shift))),t.size){const R=({availableWidth:Q,availableHeight:re})=>{i.value=`${Q}px`,u.value=`${re}px`};typeof t.size=="boolean"?b.push(K.size({apply:R})):b.push(K.size({...t.size,apply:R}))}return t.offset&&(b.push(K.offset(Number(t.offset))),["string","number"].includes(typeof t.offset)?b.push(K.offset(Number(t.offset))):b.push(K.offset(t.offset))),t.arrow&&b.push(K.arrow({element:r})),b}),{x:_,y:S,strategy:g,middlewareData:p,placement:B}=K.useFloating(m,f,{whileElementsMounted:K.autoUpdate,placement:t.placement,middleware:h}),w=e.computed(()=>({position:g.value,top:`${S.value??0}px`,left:`${_.value??0}px`,maxWidth:i.value,maxHeight:u.value,width:t.triggerWidth&&m.value?`${m.value.offsetWidth}px`:void 0})),$=e.computed(()=>B.value.split("-")[0]),N=e.computed(()=>({top:"bottom",right:"left",bottom:"top",left:"right"})[$.value]??"bottom"),D=e.computed(()=>{var b,R,Q,re;return["bottom","top"].includes(N.value)?{right:`${((b=p.value.arrow)==null?void 0:b.x)??0}px`,[N.value]:`${-(((R=r.value)==null?void 0:R.offsetWidth)??0)/2}px`}:{top:`${((Q=p.value.arrow)==null?void 0:Q.y)??0}px`,[N.value]:`${-(((re=r.value)==null?void 0:re.offsetWidth)??0)/2}px`}}),V=O.useVModel(t,"modelValue",l),F=e.ref(!1),P=e.computed({get:()=>V.value??F.value,set:b=>{if(V.value===void 0){F.value=b;return}V.value=b}}),I=()=>{P.value=!0},T=()=>{P.value=!1},q=()=>{P.value=!P.value},ee=b=>{m.value=b};e.watch(P,b=>{b&&t.autofocusFirst&&e.nextTick(()=>{const R=j(f.value);R.length>0&&R[0].focus()})}),O.onClickOutside(f,()=>{t.autoClose&&(P.value=!1)},{ignore:[m]});const te=e.computed(()=>{var b;return((b=m.value)==null?void 0:b.getAttribute("id"))??void 0}),W=e.computed(()=>({"aria-controls":n.value,"aria-haspopup":!0,"aria-expanded":P.value})),{component:X,bus:oe}=Mo({reference:m,id:n,expanded:P,aria:W});oe.on("click",q);const{role:U,modifiers:ae}=e.toRefs(t),{itemRole:H}=zo({role:U,expanded:P}),A=L("vv-dropdown",ae,e.computed(()=>({arrow:t.arrow}))),{focused:M}=O.useFocusWithin(f);function j(b){return b?[...b.querySelectorAll('a[href], button, input, textarea, select, details,[tabindex]:not([tabindex="-1"])')].filter(R=>!R.hasAttribute("disabled")&&!R.getAttribute("aria-hidden")):[]}const le=()=>{e.nextTick(()=>{if(M.value){const b=j(f.value);if(b.length===0||!document.activeElement)return;const R=b.indexOf(document.activeElement);R<b.length-1?b[R+1].focus():b[0].focus()}})},pe=()=>{e.nextTick(()=>{if(M.value){const b=j(f.value);if(b.length===0||!document.activeElement)return;const R=b.indexOf(document.activeElement);R>0?b[R-1].focus():b[b.length-1].focus()}})};return O.onKeyStroke("Escape",b=>{P.value&&(b.preventDefault(),T())}),O.onKeyStroke("ArrowDown",b=>{P.value&&M.value&&(b.preventDefault(),le())}),O.onKeyStroke("ArrowUp",b=>{P.value&&M.value&&(b.preventDefault(),pe())}),O.onKeyStroke([" ","Enter"],b=>{P.value&&M.value&&(b.preventDefault(),document.activeElement.click())}),(b,R)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(X),null,{default:e.withCtx(()=>[e.renderSlot(b.$slots,"default",e.normalizeProps(e.guardReactiveProps({init:ee,show:I,hide:T,toggle:q,expanded:e.unref(P),aria:e.unref(W)})))]),_:3}),e.createVNode(e.Transition,{name:b.transitionName},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"floatingEl",ref:f,style:e.normalizeStyle(e.unref(w)),class:e.normalizeClass(e.unref(A))},[t.arrow?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"arrowEl",ref:r,style:e.normalizeStyle(e.unref(D)),class:"vv-dropdown__arrow"},null,4)):e.createCommentVNode("",!0),e.renderSlot(b.$slots,"before",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(P)}))),e.createElementVNode("ul",e.mergeProps(e.unref(d),{id:e.unref(n),ref_key:"listEl",ref:s,tabindex:e.unref(P)?void 0:-1,role:e.unref(U),"aria-labelledby":e.unref(te),class:"vv-dropdown__list"}),[e.renderSlot(b.$slots,"items",e.normalizeProps(e.guardReactiveProps({role:e.unref(H)})))],16,Go),e.renderSlot(b.$slots,"after",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(P)})))],6),[[e.vShow,e.unref(P)]])]),_:3},8,["name"])],64))}}),Wo={name:"VvDropdownItem"},Uo=e.defineComponent({...Wo,setup(o){const{role:l,expanded:t}=lo(),a=e.ref(null);jo({expanded:t});const n=O.useElementHover(a),{focused:d}=O.useFocus(a),{focused:i}=O.useFocusWithin(a);return e.watch(n,u=>{u&&(d.value=!0)}),(u,c)=>(e.openBlock(),e.createElementBlock("li",e.mergeProps({role:e.unref(l)},{ref_key:"element",ref:a,class:["vv-dropdown__item",{"focus-visible":e.unref(d)||e.unref(i)}]}),[e.renderSlot(u.$slots,"default")],16))}}),Ko={class:"vv-dropdown-option__hint"},qo={name:"VvDropdownOption"},Te=e.defineComponent({...qo,props:{...ce,...Mt,...Ce,...J,deselectHintLabel:{type:String},selectHintLabel:{type:String},selectedHintLabel:{type:String}},setup(o){const l=o,{modifiers:t}=e.toRefs(l),a=L("vv-dropdown-option",t,e.computed(()=>({disabled:l.disabled,selected:l.selected,unselectable:l.unselectable&&l.selected})));return(n,d)=>(e.openBlock(),e.createBlock(Uo,{class:e.normalizeClass(e.unref(a)),tabindex:n.disabled?-1:0,"aria-selected":n.selected,"aria-disabled":n.disabled},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default"),e.createElementVNode("span",Ko,[e.renderSlot(n.$slots,"hint",e.normalizeProps(e.guardReactiveProps({disabled:n.disabled,selected:n.selected,unselectable:n.unselectable})),()=>[n.selected?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(n.unselectable?o.deselectHintLabel:o.selectedHintLabel),1)],64)):n.disabled?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(o.selectHintLabel),1)],64))])])]),_:3},8,["class","tabindex","aria-selected","aria-disabled"]))}}),Yo={...Ie,...st,...it,...Ae,..._e,...Se,...Be,...Ne,...ce,...Ve,...J,...ze,...je,...Ge,...Ce,...ge,multiple:Boolean,required:Boolean,size:[String,Number],modelValue:{type:[String,Number,Boolean,Object,Array],default:void 0},placeholder:String},Jo=["update:modelValue","focus","blur"];function ve(o,l){const{focused:t}=O.useFocus(o);return e.watch(t,a=>{l(a?"focus":"blur",e.unref(o))}),{focused:t}}function Le(o,l){const t=e.computed(()=>Boolean((o==null?void 0:o.value)&&l.value===ye.before)),a=e.computed(()=>Boolean((o==null?void 0:o.value)&&l.value===ye.after)),n=e.computed(()=>Boolean((o==null?void 0:o.value)&&l.value===Y.left)),d=e.computed(()=>Boolean((o==null?void 0:o.value)&&l.value===Y.right)),i=e.computed(()=>Boolean((o==null?void 0:o.value)&&l.value===Y.top)),u=e.computed(()=>Boolean((o==null?void 0:o.value)&&l.value===Y.bottom));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:n,hasIconRight:d,hasIconTop:i,hasIconBottom:u,hasIconBefore:t,hasIconAfter:a}}const Xo=["for"],Qo={class:"vv-select__wrapper"},Zo={key:0,class:"vv-select__input-before"},el={class:"vv-select__inner"},tl=["id"],ol=["disabled","hidden"],ll=["disabled","value"],nl={key:1,class:"vv-select__input-after"},al={name:"VvSelect"},gt=e.defineComponent({...al,props:Yo,emits:Jo,setup(o,{emit:l}){const t=o,a=e.useSlots(),n=e.ref(),{HintSlot:d,hasHint:i,hasInvalid:u}=ue(t,a),{id:c,modifiers:f,disabled:r,readonly:s,loading:m,icon:h,iconPosition:_,invalid:S,valid:g,floating:p,multiple:B}=e.toRefs(t),w=de(c),$=e.computed(()=>`${w.value}-hint`),{focused:N}=ve(n,l),D=O.useElementVisibility(n);e.watch(D,A=>{A&&t.autofocus&&(N.value=!0)});const{hasIcon:V,hasIconBefore:F,hasIconAfter:P}=Le(h,_),I=e.computed(()=>!Z(t.modelValue)),T=e.computed(()=>t.disabled||t.readonly),q=e.computed(()=>T.value?-1:t.tabindex),ee=e.computed(()=>{if(t.invalid===!0)return!0;if(t.valid===!0)return!1}),te=L("vv-select",f,e.computed(()=>({valid:g.value,invalid:S.value,loading:m.value,disabled:r.value,readonly:s.value,"icon-before":F.value,"icon-after":P.value,dirty:I.value,focus:N.value,floating:p.value,multiple:B.value}))),W=e.computed(()=>({name:t.name,tabindex:q.value,disabled:T.value,required:t.required,size:t.size,autocomplete:t.autocomplete,multiple:t.multiple,"aria-invalid":ee.value,"aria-describedby":!u.value&&i.value?$.value:void 0,"aria-errormessage":u.value?$.value:void 0})),X=e.computed(()=>({valid:t.valid,invalid:t.invalid,modelValue:t.modelValue})),{getOptionLabel:oe,getOptionValue:U,getOptionDisabled:ae}=Re(t),H=e.computed({get:()=>t.modelValue,set:A=>{Array.isArray(A)&&(A=A.filter(M=>M!==void 0)),l("update:modelValue",A)}});return(A,M)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(te))},[A.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(w)},e.toDisplayString(A.label),9,Xo)):e.createCommentVNode("",!0),e.createElementVNode("div",Qo,[A.$slots.before?(e.openBlock(),e.createElementBlock("div",Zo,[e.renderSlot(A.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(X))))])):e.createCommentVNode("",!0),e.createElementVNode("div",el,[e.unref(F)?(e.openBlock(),e.createBlock(x,e.mergeProps({key:0,class:"vv-select__icon"},e.unref(V)),null,16)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("select",e.mergeProps({id:e.unref(w),ref_key:"select",ref:n,"onUpdate:modelValue":M[0]||(M[0]=j=>e.isRef(H)?H.value=j:null)},e.unref(W)),[A.placeholder?(e.openBlock(),e.createElementBlock("option",{key:0,value:void 0,disabled:!A.unselectable,hidden:!A.unselectable},e.toDisplayString(A.placeholder),9,ol)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(A.options,(j,le)=>(e.openBlock(),e.createElementBlock("option",{key:le,disabled:e.unref(ae)(j),value:e.unref(U)(j)},e.toDisplayString(e.unref(oe)(j)),9,ll))),128))],16,tl),[[e.vModelSelect,e.unref(H)]]),e.unref(P)?(e.openBlock(),e.createBlock(x,e.mergeProps({key:1,class:"vv-select__icon vv-select__icon-after"},e.unref(V)),null,16)):e.createCommentVNode("",!0)]),A.$slots.after?(e.openBlock(),e.createElementBlock("div",nl,[e.renderSlot(A.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(X))))])):e.createCommentVNode("",!0)]),e.createVNode(e.unref(d),{id:e.unref($),class:"vv-select__hint"},null,8,["id"])],2))}}),rl=["id"],sl=["id","for"],il=["id","aria-controls","aria-labelledby","aria-describedby","placeholder"],cl={key:0,class:"vv-select__input-before"},dl={class:"vv-select__inner"},ul=["aria-labelledby","tabindex"],fl=["aria-label","onClick"],pl={key:1,class:"vv-select__input-after"},ml={name:"VvCombobox",components:{VvDropdown:We,VvDropdownOption:Te}},bl=e.defineComponent({...ml,props:xo,emits:Lo,setup(o,{emit:l}){const t=o,a=e.useSlots(),{HintSlot:n}=ue(t,a),d=e.ref(null),i=e.ref(null),u=e.ref(null),{focused:c}=ve(d,l),{focused:f}=O.useFocusWithin(u);e.watch(c,y=>{if(t.autoOpen){if(y&&!m.value){_();return}!y&&m.value&&!f.value&&S()}}),e.watch(f,y=>{!c.value&&!y&&m.value&&S()});const r=e.ref(""),s=O.refDebounced(r,Number(t.debounceSearch));e.watch(s,()=>l("change:search",s.value));const m=e.ref(!1),h=()=>{t.disabled||t.readonly||(m.value=!m.value)},_=()=>{t.disabled||t.readonly||m.value||(m.value=!0)},S=()=>{t.disabled||t.readonly||!m.value||(m.value=!1)};e.watch(m,y=>{I.value&&e.nextTick(()=>{if(y){i.value&&i.value.focus();return}r.value=""})});const{id:g,icon:p,iconPosition:B,modifiers:w,disabled:$,readonly:N,loading:D,valid:V,invalid:F,floating:P,searchable:I}=e.toRefs(t),T=de(g),q=e.computed(()=>`${T.value}-hint`),ee=e.computed(()=>`${T.value}-dropdown`),te=e.computed(()=>`${T.value}-search`),W=e.computed(()=>`${T.value}-label`),{hasIcon:X,hasIconBefore:oe,hasIconAfter:U}=Le(p,B),ae=e.computed(()=>!Z(t.modelValue)),H=e.computed(()=>$.value||N.value?-1:t.tabindex),A=L("vv-select",w,e.computed(()=>({disabled:$.value,loading:D.value,readonly:N.value,"icon-before":Boolean(oe.value),"icon-after":Boolean(U.value),valid:V.value,invalid:F.value,dirty:ae.value,focus:c.value,floating:P.value}))),M=e.computed(()=>t.searchable?b.value:t.options),{getOptionLabel:j,getOptionValue:le,getOptionDisabled:pe}=Re(t),b=e.computed(()=>{var y;return(y=t.options)==null?void 0:y.filter(z=>j(z).toLowerCase().includes(s.value.toLowerCase().trim()))});function R(y){return Array.isArray(t.modelValue)?ie(y,t.modelValue)||ie(le(y),t.modelValue):se(y,t.modelValue)||se(le(y),t.modelValue)}const Q=e.computed(()=>{let y=[];return Array.isArray(t.modelValue)?y=t.modelValue:t.modelValue&&(y=[t.modelValue]),t.options.filter(z=>y.includes(le(z)))}),re=e.computed(()=>Q.value.map(y=>j(y)).join(t.separator));e.watch(Q,()=>{!t.multiple&&t.autoClose&&S()});const qe=()=>{t.autoOpen?_():h()},Ee=y=>{var me;if(t.disabled||t.readonly)return;const z=le(y);let v=z;if(t.multiple)if(Array.isArray(t.modelValue)){if(t.maxValues!==void 0&&t.maxValues>=0&&((me=t.modelValue)==null?void 0:me.length)>=t.maxValues&&!ie(z,t.modelValue))return;v=ie(z,t.modelValue)?Pt(z,t.modelValue):[...t.modelValue,z]}else v=[z];else t.unselectable&&z===t.modelValue&&(v=void 0);l("update:modelValue",v)},C=e.computed(()=>({id:T.value,name:t.name,tabindex:H.value,valid:V.value,validLabel:t.validLabel,invalid:F.value,invalidLabel:t.invalidLabel,hintLabel:t.hintLabel,loading:D.value,loadingLabel:t.loadingLabel,disabled:$.value,readonly:N.value,modifiers:t.modifiers,options:M.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})),G=e.computed(()=>({id:ee.value,reference:u.value,placement:t.placement,transitionName:t.transitionName,offset:t.offset,shift:t.shift,flip:t.flip,autoPlacement:t.autoPlacement,arrow:t.arrow,autoClose:t.autoClose,autofocusFirst:I.value?!1:t.autofocusFirst,triggerWidth:t.triggerWidth,modifiers:t.dropdownModifiers})),he=e.computed(()=>({valid:t.valid,invalid:t.invalid,modelValue:t.modelValue}));return O.onKeyStroke([" ","Enter"],y=>{t.autoOpen||!m.value&&c.value&&(y.preventDefault(),y.stopImmediatePropagation(),h())}),(y,z)=>y.native?(e.openBlock(),e.createBlock(gt,e.mergeProps({key:1},e.unref(C),{"onUpdate:modelValue":z[2]||(z[2]=v=>l("update:modelValue",v))}),null,16)):(e.openBlock(),e.createElementBlock("div",{key:0,id:e.unref(T),class:e.normalizeClass(e.unref(A))},[y.label?(e.openBlock(),e.createElementBlock("label",{key:0,id:e.unref(W),for:e.unref(I)?e.unref(te):void 0},e.toDisplayString(y.label),9,sl)):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"wrapperEl",ref:u,class:"vv-select__wrapper"},[e.createVNode(We,e.mergeProps({modelValue:e.unref(m),"onUpdate:modelValue":z[1]||(z[1]=v=>e.isRef(m)?m.value=v:null)},e.unref(G),{role:e.unref(ke).listbox}),e.createSlots({default:e.withCtx(({aria:v})=>[y.$slots.before?(e.openBlock(),e.createElementBlock("div",cl,[e.renderSlot(y.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(he))))])):e.createCommentVNode("",!0),e.createElementVNode("div",dl,[e.unref(oe)?(e.openBlock(),e.createBlock(x,e.mergeProps({key:0,class:"vv-select__icon"},e.unref(X)),null,16)):e.createCommentVNode("",!0),e.createElementVNode("div",e.mergeProps({ref_key:"inputEl",ref:d},v,{"aria-labelledby":e.unref(W),class:"vv-select__input",role:"combobox",tabindex:e.unref(H),onClickPassive:qe}),[e.renderSlot(y.$slots,"value",e.normalizeProps(e.guardReactiveProps({selectedOptions:e.unref(Q),onInput:Ee})),()=>[e.unref(re)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[y.badges?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(e.unref(Q),(me,Vt)=>(e.openBlock(),e.createBlock(pt,{key:Vt,modifiers:y.badgeModifiers,class:"vv-select__badge"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(j)(me))+" ",1),y.unselectable&&!e.unref(N)&&!e.unref($)?(e.openBlock(),e.createElementBlock("button",{key:0,"aria-label":y.deselectActionLabel,onClick:e.withModifiers(cn=>Ee(me),["stop"])},[e.createVNode(x,{name:"close"})],8,fl)):e.createCommentVNode("",!0)]),_:2},1032,["modifiers"]))),128)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(e.unref(re)),1)],64))],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(y.placeholder),1)],64))])],16,ul),e.unref(U)?(e.openBlock(),e.createBlock(x,e.mergeProps({key:1,class:"vv-select__icon vv-select__icon-after"},e.unref(X)),null,16)):e.createCommentVNode("",!0)]),y.$slots.after?(e.openBlock(),e.createElementBlock("div",pl,[e.renderSlot(y.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(he))))])):e.createCommentVNode("",!0)]),items:e.withCtx(()=>[e.unref(b).length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(e.unref(b),(v,me)=>(e.openBlock(),e.createBlock(Te,e.mergeProps({disabled:e.unref(pe)(v),selected:R(v),unselectable:y.unselectable,deselectHintLabel:y.deselectHintLabel,selectHintLabel:y.selectHintLabel,selectedHintLabel:y.selectedHintLabel},{key:me,class:"vv-dropdown-option",onClickPassive:Vt=>Ee(v)}),{default:e.withCtx(()=>[e.renderSlot(y.$slots,"option",e.normalizeProps(e.guardReactiveProps({option:v,selectedOptions:e.unref(Q),selected:R(v),disabled:e.unref(pe)(v)})),()=>[e.createTextVNode(e.toDisplayString(e.unref(j)(v)),1)])]),_:2},1040,["onClickPassive"]))),128)):y.options.length?(e.openBlock(),e.createBlock(Te,{key:2,modifiers:"inert"},{default:e.withCtx(()=>[e.renderSlot(y.$slots,"no-results",{},()=>[e.createTextVNode(e.toDisplayString(y.noResultsLabel),1)])]),_:3})):(e.openBlock(),e.createBlock(Te,{key:1,modifiers:"inert"},{default:e.withCtx(()=>[e.renderSlot(y.$slots,"no-options",{},()=>[e.createTextVNode(e.toDisplayString(y.noOptionsLabel),1)])]),_:3}))]),_:2},[e.unref(I)||y.$slots["dropdown::before"]?{name:"before",fn:e.withCtx(()=>[e.renderSlot(y.$slots,"dropdown::before"),e.unref(I)?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,id:e.unref(te),ref_key:"inputSearchEl",ref:i,"onUpdate:modelValue":z[0]||(z[0]=v=>e.isRef(r)?r.value=v:null),"aria-autocomplete":"list","aria-controls":e.unref(ee),"aria-labelledby":e.unref(W),"aria-describedby":e.unref(q),autocomplete:"off",spellcheck:"false",type:"search",class:"vv-dropdown__search",placeholder:y.searchPlaceholder},null,8,il)),[[e.vShow,e.unref(m)],[e.vModelText,e.unref(r)]]):e.createCommentVNode("",!0)]),key:"0"}:void 0,y.$slots["dropdown::after"]?{name:"after",fn:e.withCtx(()=>[e.renderSlot(y.$slots,"dropdown::after")]),key:"1"}:void 0]),1040,["modelValue","role"])],512),e.createVNode(e.unref(n),{id:e.unref(q),class:"vv-select__hint"},null,8,["id"])],10,rl))}}),gl=["open","close","update:modelValue"],hl={...De,title:String,modelValue:Boolean,transition:{type:String,default:"fade-block"},size:String,autoClose:{type:Boolean,default:!0}},yl={key:0,class:"vv-dialog__header"},kl={class:"vv-dialog__content"},_l={key:1,class:"vv-dialog__footer"},Sl={name:"VvDialog"},Vl=e.defineComponent({...Sl,props:hl,emits:gl,setup(o,{emit:l}){const t=o,a=O.useVModel(t,"modelValue",l),n=e.ref(!0),d=e.ref(null),i=e.computed(()=>{const{id:s}=t;return{id:s,open:n.value}}),u=e.computed(()=>t.size?["vv-dialog",`vv-dialog--${t.size}`]:"vv-dialog"),c=e.computed(()=>`vv-dialog--${t.transition}`),f={"before-enter":()=>{n.value=!0,l("open")},"after-leave":()=>{n.value=!1,l("close")}};O.onClickOutside(d,()=>{t.autoClose&&(a.value=!1)});function r(){a.value=!1}return O.onKeyStroke("Escape",s=>{a.value&&(s.preventDefault(),r())}),(s,m)=>(e.openBlock(),e.createBlock(e.Transition,e.mergeProps({name:e.unref(c)},e.toHandlers(f)),{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("dialog",e.mergeProps(e.unref(i),{class:e.unref(u)}),[e.createElementVNode("article",{ref_key:"modalWrapper",ref:d,class:"vv-dialog__wrapper"},[s.$slots.header||s.title?(e.openBlock(),e.createElementBlock("header",yl,[e.renderSlot(s.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(s.title)+" ",1),e.createElementVNode("button",{type:"button","aria-label":"Close",class:"vv-dialog__close",onClickPassive:r},[e.createVNode(x,{name:"close"})],32)])])):e.createCommentVNode("",!0),e.createElementVNode("div",kl,[e.renderSlot(s.$slots,"default")]),s.$slots.footer?(e.openBlock(),e.createElementBlock("footer",_l,[e.renderSlot(s.$slots,"footer")])):e.createCommentVNode("",!0)],512)],16),[[e.vShow,e.unref(a)]])]),_:3},16,["name"]))}}),k={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"},fe={PASSWORD_SHOW:"eye-on",PASSWORD_HIDE:"eye-off",DATE:"calendar",TIME:"time",COLOR:"color",SEARCH:"close"},Bl=["update:modelValue","focus","blur","keyup"],Cl={...ct,modelValue:[String,Number],type:{type:String,default:k.TEXT,validator:o=>Object.values(k).includes(o)},min:[Number,Date,String],max:[Number,Date,String],step:{type:[String,Number],default:1},pattern:String,multiple:Boolean,iconShowPassword:{type:String,default:fe.PASSWORD_SHOW},iconHidePassword:{type:String,default:fe.PASSWORD_HIDE},iconClear:{type:String,default:fe.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"}},ht=e.defineComponent({components:{VvIcon:x},props:{disabled:{type:Boolean,default:!1},labelShow:{type:String,default:"Show password"},labelHide:{type:String,default:"Hide password"},iconShow:{type:String,default:fe.PASSWORD_SHOW},iconHide:{type:String,default:fe.PASSWORD_HIDE}},emits:["toggle-password"],setup(o,{emit:l}){const t=e.ref(!1),a=e.computed(()=>t.value?o.iconHide:o.iconShow);function n(d){d==null||d.stopPropagation(),o.disabled||(t.value=!t.value,l("toggle-password",t.value))}return{active:t,activeIcon:a,onClick:n}},render(){const o=e.h(x,{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)}}),Ue=e.defineComponent({components:{VvIcon:x},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:l}){const t=e.computed(()=>o.mode==="up");return{isUp:t,onClick:n=>{n==null||n.stopPropagation(),o.disabled||l(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})}}),yt=e.defineComponent({components:{VvIcon:x},props:{disabled:{type:Boolean,default:!1},label:{type:String,default:"Clear"},icon:{type:String,default:"close"}},emits:["clear"],setup(o,{emit:l}){function t(a){a==null||a.stopPropagation(),o.disabled||l("clear")}return{onClick:t}},render(){const o=e.h(x,{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,l){return{name:"VvInputTextActions",components:{VvIcon:x,VvInputPasswordAction:ht,VvInputStepAction:Ue,VvInputClearAction:yt},setup(){return{isDisabled:e.computed(()=>l.disabled||l.readonly),labelStepUp:l.labelStepUp,labelStepDown:l.labelStepDown,labelShowPassword:l.labelShowPassword,labelHidePassword:l.labelHidePassword,labelClear:l.labelClear,iconShowPassword:l.iconShowPassword,iconHidePassword:l.iconHidePassword}},render(){let t=null;switch(o){case k.SEARCH:{const{onClear:a}=this.$attrs;t=[e.h(yt,{disabled:this.isDisabled,label:this.labelShowPassword,onClear:a})];break}case k.PASSWORD:{const{onTogglePassword:a}=this.$attrs;t=[e.h(ht,{disabled:this.isDisabled,onTogglePassword:a,labelShow:this.labelShowPassword,labelHide:this.labelHidePassword,iconShow:this.iconShowPassword,iconHide:this.iconHidePassword})];break}case k.NUMBER:{const{onStepUp:a,onStepDown:n}=this.$attrs;t=[e.h(Ue,{mode:"up",disabled:this.isDisabled||l.max!==void 0&&l.modelValue===l.max,label:this.labelStepUp,onStepUp:a,onStepDown:n}),e.h(Ue,{mode:"down",disabled:this.isDisabled||l.min!==void 0&&l.modelValue===l.min,label:this.labelStepDown,onStepUp:a,onStepDown:n})];break}}return Array.isArray(t)?e.h("div",{class:"vv-input-text__actions-group"},t):t}}}function kt(o,l,t=0){let a;return typeof t=="string"&&(t=parseInt(t)),e.computed({get:()=>o==null?void 0:o.value,set:n=>{a&&clearTimeout(a),a=setTimeout(()=>{l("update:modelValue",n)},t)}})}function _t(o,l){const t=e.computed(()=>(e.unref(o)??"").length),a=e.computed(()=>(l==null?void 0:l.lowerLimit)!==void 0&&t.value<(l==null?void 0:l.lowerLimit)?t.value-l.lowerLimit:(l==null?void 0:l.upperLimit)!==void 0&&t.value<(l==null?void 0:l.upperLimit)?l.upperLimit-t.value:0),n=e.computed(()=>(l==null?void 0:l.mode)===!1?"":(l==null?void 0:l.mode)==="limit"&&(l!=null&&l.upperLimit)?`${t.value} / ${l.lowerLimit?`${l.lowerLimit}-`:""}${l.upperLimit}`:(l==null?void 0:l.mode)==="countdown"?a.value===0?void 0:a:t.value);return{length:t,gap:a,formatted:n}}const El=["for"],Pl={class:"vv-input-text__wrapper"},wl={key:0,class:"vv-input-text__input-before"},$l={class:"vv-input-text__inner"},Nl=["id"],Al={key:1,class:"vv-input-text__input-after"},Dl={key:2,class:"vv-input-text__limit"},Il={name:"VvInputText"},Ol=e.defineComponent({...Il,props:Cl,emits:Bl,setup(o,{emit:l}){const t=o,a=e.useSlots(),n=e.ref(),{id:d,icon:i,iconPosition:u,label:c,modelValue:f,count:r,valid:s,invalid:m,loading:h}=e.toRefs(t),_=de(d),S=e.computed(()=>`${_.value}-hint`),g=e.computed(()=>t.floating&&Z(t.placeholder)?" ":t.placeholder),p=kt(f,l,t.debounce),{focused:B}=ve(n,l),w=O.useElementVisibility(n);e.watch(w,C=>{C&&t.autofocus&&(B.value=!0)});const $=e.ref(!1),N=e.computed(()=>t.type===k.PASSWORD),D=()=>{$.value=!$.value},V=e.computed(()=>t.type===k.TIME||t.type===k.DATETIME_LOCAL||t.type===k.DATE||t.type===k.WEEK||t.type===k.MONTH),F=e.computed(()=>t.type===k.NUMBER),P=()=>{U.value&&(n.value.stepUp(),p.value=e.unref(n).value)},I=()=>{U.value&&(n.value.stepDown(),p.value=e.unref(n).value)},T=e.computed(()=>t.type===k.SEARCH),q=()=>{p.value=void 0},{hasIcon:ee,hasIconBefore:te,hasIconAfter:W}=Le(i,u),X=e.computed(()=>{switch(t.type){case k.COLOR:return{name:fe.COLOR};case k.DATE:case k.DATETIME_LOCAL:case k.WEEK:case k.MONTH:return{name:fe.DATE};case k.TIME:return{name:fe.TIME};default:return""}}),{formatted:oe}=_t(p,{mode:t.count,upperLimit:t.maxlength,lowerLimit:t.minlength}),U=e.computed(()=>!t.disabled&&!t.readonly),ae=e.computed(()=>U.value?t.tabindex:-1),H=e.computed(()=>!Z(f)),A=e.computed(()=>{if(m.value===!0)return!0;if(s.value===!0)return!1}),{modifiers:M}=e.toRefs(t),j=L("vv-input-text",M,e.computed(()=>({valid:s.value,invalid:m.value,loading:h.value,disabled:t.disabled,readonly:t.readonly,"icon-before":te.value,"icon-after":W.value||!Z(X),floating:t.floating&&!Z(t.label),dirty:H.value,focus:B.value}))),le=e.computed(()=>{const C=(()=>N.value&&$.value||V.value&&!H.value&&!B.value?k.TEXT:t.type)(),G={type:C,name:t.name,tabindex:ae.value,disabled:t.disabled,readonly:t.readonly,required:t.required,autocomplete:t.autocomplete,"aria-invalid":A.value,"aria-describedby":!Q.value&&R.value?S.value:void 0,"aria-errormessage":Q.value?S.value:void 0};return(C===k.DATE||C===k.MONTH||C===k.WEEK||C===k.TIME||C===k.DATETIME_LOCAL||C===k.NUMBER)&&(G.step=t.step,G.max=String(t.max),G.min=String(t.min)),(C===k.TEXT||C===k.SEARCH||C===k.URL||C===k.TEL||C===k.EMAIL||C===k.PASSWORD||C===k.NUMBER)&&(G.placeholder=g.value),(C===k.TEXT||C===k.SEARCH||C===k.URL||C===k.TEL||C===k.EMAIL||C===k.PASSWORD)&&(G.minlength=t.minlength,G.maxlength=t.maxlength,G.pattern=t.pattern),C===k.EMAIL&&(G.multiple=t.multiple),G}),pe=e.computed(()=>({valid:t.valid,invalid:t.invalid,modelValue:t.modelValue,togglePassword:D,stepUp:P,stepDown:I,clear:q})),{HintSlot:b,hasHint:R,hasInvalid:Q}=ue(t,a),re=Ke(k.PASSWORD,t),qe=Ke(k.NUMBER,t),Ee=Ke(k.SEARCH,t);return(C,G)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(j))},[e.unref(c)?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(_),class:"vv-input-text__label"},e.toDisplayString(e.unref(c)),9,El)):e.createCommentVNode("",!0),e.createElementVNode("div",Pl,[C.$slots.before?(e.openBlock(),e.createElementBlock("div",wl,[e.renderSlot(C.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(pe))))])):e.createCommentVNode("",!0),e.createElementVNode("div",$l,[e.unref(te)?(e.openBlock(),e.createBlock(x,e.mergeProps({key:0,class:"vv-input-text__icon"},e.unref(ee)),null,16)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",e.mergeProps({id:e.unref(_),ref_key:"input",ref:n,"onUpdate:modelValue":G[0]||(G[0]=he=>e.isRef(p)?p.value=he:null)},e.unref(le),{onKeyup:G[1]||(G[1]=he=>l("keyup",he))}),null,16,Nl),[[e.vModelDynamic,e.unref(p)]]),e.unref(W)||e.unref(X)?(e.openBlock(),e.createBlock(x,e.mergeProps({key:1,class:"vv-input-text__icon vv-input-text__icon-after"},e.unref(W)?e.unref(ee):e.unref(X)),null,16)):e.unref(N)?(e.openBlock(),e.createBlock(e.unref(re),{key:2,onTogglePassword:D})):e.unref(F)?(e.openBlock(),e.createBlock(e.unref(qe),{key:3,onStepUp:P,onStepDown:I})):e.unref(T)?(e.openBlock(),e.createBlock(e.unref(Ee),{key:4,onClear:q})):e.createCommentVNode("",!0)]),C.$slots.after?(e.openBlock(),e.createElementBlock("div",Al,[e.renderSlot(C.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(pe))))])):e.createCommentVNode("",!0),e.unref(r)?(e.openBlock(),e.createElementBlock("span",Dl,[e.renderSlot(C.$slots,"count",e.normalizeProps(e.guardReactiveProps(e.unref(pe))),()=>[e.createTextVNode(e.toDisplayString(e.unref(oe)),1)])])):e.createCommentVNode("",!0)]),e.createVNode(e.unref(b),{id:e.unref(S),class:"vv-input-text__hint"},null,8,["id"])],2))}}),Rl={...J,value:{type:[Number,String],default:void 0},max:{type:[Number,String]},label:{type:String,required:!0}},Tl={name:"VvProgress"},vl=e.defineComponent({...Tl,props:Rl,setup(o){const l=o,{value:t,max:a,label:n}=e.toRefs(l),d=e.computed(()=>l.value===void 0),{modifiers:i}=e.toRefs(l),u=L("vv-progress",i,e.computed(()=>({indeterminate:d.value})));return(c,f)=>(e.openBlock(),e.createElementBlock("progress",e.mergeProps({role:"progressbar"},{class:e.unref(u),ariaLabel:e.unref(n),max:e.unref(a),value:e.unref(t)}),null,16))}}),Ll=dt,xl=["click","update:modelValue","change","blur"];function Hl(o,l){const{id:t}=e.toRefs(o),{group:a,isInGroup:n,getGroupOrLocalRef:d}=we(et),i=d("modelValue",o,l),u=d("readonly",o),c=d("disabled",o),f=d("valid",o),r=d("invalid",o);return{id:t,group:a,isInGroup:n,modelValue:i,readonly:u,disabled:c,valid:f,invalid:r}}const Ml=["for"],zl=["id","name","disabled","value","tabindex","aria-invalid"],jl={name:"VvRadio"},St=e.defineComponent({...jl,props:Ll,emits:xl,setup(o,{emit:l}){const t=o,a=e.useSlots(),{id:n,disabled:d,readonly:i,modelValue:u,valid:c,invalid:f}=Hl(t,l),r=de(n),s=e.computed(()=>h.value?-1:t.tabindex),m=e.ref(),h=e.computed(()=>d.value||i.value),_=e.computed(()=>{if(f.value===!0)return!0;if(c.value===!0)return!1}),S=e.computed(()=>Array.isArray(u.value)?ie(t.value,u.value):se(t.value,u.value)),g=e.computed(()=>["string","number","boolean"].includes(typeof t.value)?t.value:!0),p=e.computed({get(){return S.value?g.value:null},set(N){Array.isArray(u.value)?u.value=[t.value]:u.value=t.value,l("change",N)}}),{modifiers:B}=e.toRefs(t),w=L("vv-radio",B,e.computed(()=>({valid:c.value,invalid:f.value,disabled:d.value,readonly:i.value}))),{HintSlot:$}=ue(t,a);return(N,D)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(e.unref(w)),for:e.unref(r)},[e.withDirectives(e.createElementVNode("input",{id:e.unref(r),ref_key:"input",ref:m,"onUpdate:modelValue":D[0]||(D[0]=V=>e.isRef(p)?p.value=V:null),type:"radio",class:"vv-radio__input",name:N.name,disabled:e.unref(h),value:e.unref(g),tabindex:e.unref(s),"aria-invalid":e.unref(_)},null,8,zl),[[e.vModelRadio,e.unref(p)]]),e.renderSlot(N.$slots,"default",{value:e.unref(u)},()=>[e.createTextVNode(e.toDisplayString(N.label),1)]),e.createVNode(e.unref($),{class:"vv-radio__hint",params:{value:e.unref(u)}},null,8,["params"])],10,Ml))}}),Gl=ut,Fl=["update:modelValue","change"],Wl=["textContent"],Ul={class:"vv-radio-group__wrapper"},Kl={name:"VvRadioGroup"},ql=e.defineComponent({...Kl,props:Gl,emits:Fl,setup(o,{emit:l}){const t=o,a=e.useSlots(),n=O.useVModel(t,"modelValue",l),{disabled:d,readonly:i,vertical:u,valid:c,invalid:f,modifiers:r}=e.toRefs(t);$e({key:et,modelValue:n,disabled:d,readonly:i,valid:c,invalid:f});const{getOptionLabel:s,getOptionValue:m}=Re(t),h=L("vv-radio-group",r,e.computed(()=>({disabled:d.value,readonly:i.value,horizontal:!u.value,valid:c.value,invalid:f.value}))),_=(g,p)=>({id:`${t.name}_opt${p}`,name:t.name,label:s(g),value:m(g)}),{HintSlot:S}=ue(t,a);return(g,p)=>(e.openBlock(),e.createElementBlock("fieldset",{class:e.normalizeClass(e.unref(h))},[g.label?(e.openBlock(),e.createElementBlock("legend",{key:0,textContent:e.toDisplayString(g.label)},null,8,Wl)):e.createCommentVNode("",!0),e.createElementVNode("div",Ul,[g.options.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(g.options,(B,w)=>(e.openBlock(),e.createBlock(St,e.mergeProps({key:w},_(B,w)),null,16))),128)):e.renderSlot(g.$slots,"default",{key:1})]),e.createVNode(e.unref(S),{class:"vv-radio-group__hint"})],2))}}),Yl={hard:"hard",soft:"soft"},Jl={true:!0,false:!1,default:"default"},Xl=["update:modelValue","focus","blur","keyup"],Ql={...ct,modelValue:String,cols:{type:[String,Number],default:20},rows:{type:[String,Number],default:2},wrap:{type:String,default:Yl.soft},spellcheck:{type:[Boolean,String],default:Jl.default},resizable:Boolean},Zl=["for"],en={class:"vv-textarea__wrapper"},tn={key:0,class:"vv-textarea__input-before"},on={class:"vv-textarea__inner"},ln=["id"],nn={key:1,class:"vv-textarea__input-after"},an={key:2,class:"vv-textarea__limit"},rn={name:"VvTextarea"},sn=e.defineComponent({...rn,props:Ql,emits:Xl,setup(o,{emit:l}){const t=o,a=e.useSlots(),n=e.ref(),{id:d,icon:i,iconPosition:u,label:c,modelValue:f,count:r,valid:s,invalid:m,loading:h,modifiers:_}=e.toRefs(t),S=de(d),g=e.computed(()=>`${S.value}-hint`),p=e.computed(()=>t.floating&&Z(t.placeholder)?" ":t.placeholder),B=kt(f,l,t.debounce),{hasIcon:w,hasIconBefore:$,hasIconAfter:N}=Le(i,u),{focused:D}=ve(n,l),V=O.useElementVisibility(n);e.watch(V,H=>{H&&t.autofocus&&(D.value=!0)});const{formatted:F}=_t(B,{mode:t.count,upperLimit:t.maxlength,lowerLimit:t.minlength}),P=e.computed(()=>!t.disabled&&!t.readonly),I=e.computed(()=>P.value?t.tabindex:-1),T=e.computed(()=>!Z(f)),q=e.computed(()=>{if(t.invalid===!0)return!0;if(t.valid===!0)return!1}),{HintSlot:ee,hasHint:te,hasInvalid:W}=ue(t,a),X=L("vv-textarea",_,e.computed(()=>({valid:s.value,invalid:m.value,loading:h.value,disabled:t.disabled,readonly:t.readonly,"icon-before":$.value,"icon-after":N.value,floating:t.floating&&!Z(t.label),dirty:T.value,focused:D.value,resizable:t.resizable}))),oe=e.computed(()=>({name:t.name,placeholder:p.value,tabindex:I.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":q.value,"aria-describedby":!W.value&&te.value?g.value:void 0,"aria-errormessage":W.value?g.value:void 0})),U=e.computed(()=>({valid:t.valid,invalid:t.invalid,modelValue:t.modelValue,hintLabel:t.hintLabel,maxlength:t.maxlength,minlength:t.minlength,clear:ae})),ae=()=>{B.value=void 0};return(H,A)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(X))},[e.unref(c)?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(S),class:"vv-textarea__label"},e.toDisplayString(e.unref(c)),9,Zl)):e.createCommentVNode("",!0),e.createElementVNode("div",en,[H.$slots.before?(e.openBlock(),e.createElementBlock("div",tn,[e.renderSlot(H.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(U))))])):e.createCommentVNode("",!0),e.createElementVNode("div",on,[e.unref($)?(e.openBlock(),e.createBlock(x,e.mergeProps({key:0,class:"vv-textarea__icon"},e.unref(w)),null,16)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("textarea",e.mergeProps({id:e.unref(S),ref_key:"textarea",ref:n,"onUpdate:modelValue":A[0]||(A[0]=M=>e.isRef(B)?B.value=M:null)},e.unref(oe),{onKeyup:A[1]||(A[1]=M=>l("keyup",M))}),null,16,ln),[[e.vModelText,e.unref(B)]]),e.unref(N)?(e.openBlock(),e.createBlock(x,e.mergeProps({key:1,class:"vv-textarea__icon vv-textarea__icon-after"},e.unref(w)),null,16)):e.createCommentVNode("",!0)]),H.$slots.after?(e.openBlock(),e.createElementBlock("div",nn,[e.renderSlot(H.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(U))))])):e.createCommentVNode("",!0),e.unref(r)?(e.openBlock(),e.createElementBlock("span",an,[e.renderSlot(H.$slots,"count",e.normalizeProps(e.guardReactiveProps(e.unref(U))),()=>[e.createTextVNode(e.toDisplayString(e.unref(F)),1)])])):e.createCommentVNode("",!0)]),e.createVNode(e.unref(ee),{id:e.unref(g),class:"vv-textarea__hint"},null,8,["id"])],2))}});E.VvAccordion=rt,E.VvAccordionGroup=xt,E.VvBadge=pt,E.VvBreadcrumb=Xt,E.VvButton=mo,E.VvButtonGroup=yo,E.VvCard=Co,E.VvCheckbox=bt,E.VvCheckboxGroup=vo,E.VvCombobox=bl,E.VvDialog=Vl,E.VvDropdown=We,E.VvIcon=x,E.VvInputText=Ol,E.VvProgress=vl,E.VvRadio=St,E.VvRadioGroup=ql,E.VvSelect=gt,E.VvTextarea=sn,Object.defineProperty(E,Symbol.toStringTag,{value:"Module"})});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Ref } from 'vue';
|
|
2
|
-
import {
|
|
2
|
+
import { DropdownRole, DropdownItemRole } from '@/constants';
|
|
3
3
|
/**
|
|
4
4
|
* Share the dropdown reference and the event bus with all its children.
|
|
5
5
|
* @param {Ref<HTMLElement | null>} reference the dropdown reference
|
|
@@ -25,7 +25,7 @@ export declare function useProvideDropdownItem({ role, expanded, }: {
|
|
|
25
25
|
role: Ref<DropdownRole>;
|
|
26
26
|
expanded: Ref<boolean>;
|
|
27
27
|
}): {
|
|
28
|
-
itemRole: import("vue").ComputedRef<
|
|
28
|
+
itemRole: import("vue").ComputedRef<DropdownItemRole>;
|
|
29
29
|
};
|
|
30
30
|
/**
|
|
31
31
|
* Share the dropdown item role with all its children.
|
package/dist/constants.d.ts
CHANGED
|
@@ -19,6 +19,36 @@ export declare enum Position {
|
|
|
19
19
|
before = "before",
|
|
20
20
|
after = "after"
|
|
21
21
|
}
|
|
22
|
+
export declare enum ButtonType {
|
|
23
|
+
button = "button",
|
|
24
|
+
submit = "submit",
|
|
25
|
+
reset = "reset"
|
|
26
|
+
}
|
|
27
|
+
export declare enum ActionTag {
|
|
28
|
+
nuxtLink = "nuxt-link",
|
|
29
|
+
routerLink = "router-link",
|
|
30
|
+
a = "a",
|
|
31
|
+
button = "button"
|
|
32
|
+
}
|
|
33
|
+
export declare enum ActionRoles {
|
|
34
|
+
button = "button",
|
|
35
|
+
link = "link",
|
|
36
|
+
menuitem = "menuitem"
|
|
37
|
+
}
|
|
38
|
+
export declare enum DropdownRole {
|
|
39
|
+
listbox = "listbox",
|
|
40
|
+
menu = "menu"
|
|
41
|
+
}
|
|
42
|
+
export declare enum DropdownItemRole {
|
|
43
|
+
option = "option",
|
|
44
|
+
presentation = "presentation"
|
|
45
|
+
}
|
|
46
|
+
export declare enum AnchorTarget {
|
|
47
|
+
_blank = "_blank",
|
|
48
|
+
_self = "_self",
|
|
49
|
+
_parent = "_parent",
|
|
50
|
+
_top = "_top"
|
|
51
|
+
}
|
|
22
52
|
export declare const INJECTION_KEY_VOLVER: unique symbol;
|
|
23
53
|
export declare const INJECTION_KEY_BUTTON_GROUP: unique symbol;
|
|
24
54
|
export declare const INJECTION_KEY_RADIO_GROUP: unique symbol;
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { computed as p, unref as i, defineComponent as b, toRefs as d, openBlock as v, createElementBlock as y, normalizeClass as g, renderSlot as S, createTextVNode as j, toDisplayString as O, h as B, render as _ } from "vue";
|
|
2
|
+
var l = /* @__PURE__ */ ((t) => (t.left = "left", t.right = "right", t.top = "top", t.bottom = "bottom", t))(l || {}), f = /* @__PURE__ */ ((t) => (t.topStart = "top-start", t.topEnd = "top-end", t.bottomStart = "bottom-start", t.bottomEnd = "bottom-end", t.leftStart = "left-start", t.leftEnd = "left-end", t.rightStart = "right-start", t.rightEnd = "right-end", t))(f || {}), s = /* @__PURE__ */ ((t) => (t.before = "before", t.after = "after", t))(s || {}), u = /* @__PURE__ */ ((t) => (t.button = "button", t.submit = "submit", t.reset = "reset", t))(u || {}), c = /* @__PURE__ */ ((t) => (t._blank = "_blank", t._self = "_self", t._parent = "_parent", t._top = "_top", t))(c || {});
|
|
3
|
+
const m = {
|
|
4
|
+
/**
|
|
5
|
+
* The router-link/nuxt-link property, if it is defined the button is rendered as a ruouter-link or nuxt-link.
|
|
6
|
+
* @see Documentation of [router-link](https://router.vuejs.org/api/#router-link) and [nuxt-link](https://nuxtjs.org/api/components-nuxt-link/)
|
|
7
|
+
*/
|
|
8
|
+
to: {
|
|
9
|
+
type: [String, Object]
|
|
10
|
+
},
|
|
11
|
+
/**
|
|
12
|
+
* Anchor href
|
|
13
|
+
*/
|
|
14
|
+
href: String,
|
|
15
|
+
/**
|
|
16
|
+
* Anchor target
|
|
17
|
+
*/
|
|
18
|
+
target: {
|
|
19
|
+
type: String,
|
|
20
|
+
validator: (t) => Object.values(c).includes(t)
|
|
21
|
+
},
|
|
22
|
+
/**
|
|
23
|
+
* Anchor rel
|
|
24
|
+
*/
|
|
25
|
+
rel: {
|
|
26
|
+
type: String,
|
|
27
|
+
default: "noopener noreferrer"
|
|
28
|
+
}
|
|
29
|
+
}, h = {
|
|
30
|
+
/**
|
|
31
|
+
* Whether the form control is disabled
|
|
32
|
+
*/
|
|
33
|
+
disabled: Boolean
|
|
34
|
+
}, E = {
|
|
35
|
+
/**
|
|
36
|
+
* Whether the item is active
|
|
37
|
+
*/
|
|
38
|
+
active: Boolean
|
|
39
|
+
}, k = {
|
|
40
|
+
/**
|
|
41
|
+
* Whether the item is pressed
|
|
42
|
+
*/
|
|
43
|
+
pressed: Boolean
|
|
44
|
+
}, C = {
|
|
45
|
+
/**
|
|
46
|
+
* The item label
|
|
47
|
+
*/
|
|
48
|
+
label: [String, Number]
|
|
49
|
+
}, $ = {
|
|
50
|
+
/**
|
|
51
|
+
* Component BEM modifiers
|
|
52
|
+
*/
|
|
53
|
+
modifiers: [String, Array]
|
|
54
|
+
};
|
|
55
|
+
s.before;
|
|
56
|
+
l.bottom;
|
|
57
|
+
({
|
|
58
|
+
...h,
|
|
59
|
+
...C,
|
|
60
|
+
...k,
|
|
61
|
+
...E,
|
|
62
|
+
...m,
|
|
63
|
+
/**
|
|
64
|
+
* Button type
|
|
65
|
+
*/
|
|
66
|
+
type: u.button
|
|
67
|
+
});
|
|
68
|
+
const N = {
|
|
69
|
+
...$,
|
|
70
|
+
/**
|
|
71
|
+
* Define the tooltip position
|
|
72
|
+
* @default Side.bottom
|
|
73
|
+
*/
|
|
74
|
+
position: {
|
|
75
|
+
type: String,
|
|
76
|
+
default: l.bottom
|
|
77
|
+
},
|
|
78
|
+
value: {
|
|
79
|
+
type: String
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
function M(t, e, o) {
|
|
83
|
+
return p(() => {
|
|
84
|
+
const a = {
|
|
85
|
+
[t]: !0
|
|
86
|
+
}, r = typeof (e == null ? void 0 : e.value) == "string" ? e.value.split(" ") : e == null ? void 0 : e.value;
|
|
87
|
+
return r && Array.isArray(r) && r.forEach((n) => {
|
|
88
|
+
a[`${t}--${n}`] = !0;
|
|
89
|
+
}), o && Object.keys(o.value).forEach((n) => {
|
|
90
|
+
a[`${t}--${n}`] = i(o.value[n]);
|
|
91
|
+
}), a;
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
const V = /* @__PURE__ */ b({
|
|
95
|
+
__name: "VvTooltip",
|
|
96
|
+
props: N,
|
|
97
|
+
setup(t) {
|
|
98
|
+
const e = t, { modifiers: o } = d(e), a = M(
|
|
99
|
+
"vv-tooltip",
|
|
100
|
+
o,
|
|
101
|
+
p(() => ({
|
|
102
|
+
[e.position]: !0
|
|
103
|
+
}))
|
|
104
|
+
);
|
|
105
|
+
return (r, n) => (v(), y("span", {
|
|
106
|
+
class: g(i(a)),
|
|
107
|
+
role: "tooltip",
|
|
108
|
+
inert: ""
|
|
109
|
+
}, [
|
|
110
|
+
S(r.$slots, "default", {}, () => [
|
|
111
|
+
j(O(r.value), 1)
|
|
112
|
+
])
|
|
113
|
+
], 2));
|
|
114
|
+
}
|
|
115
|
+
}), z = {
|
|
116
|
+
beforeMount(t, e) {
|
|
117
|
+
const o = B(V, {
|
|
118
|
+
value: e.value,
|
|
119
|
+
position: e.arg
|
|
120
|
+
});
|
|
121
|
+
_(o, t);
|
|
122
|
+
}
|
|
123
|
+
}, D = {
|
|
124
|
+
tooltip: z
|
|
125
|
+
};
|
|
126
|
+
export {
|
|
127
|
+
D as default
|
|
128
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(e,r){typeof exports=="object"&&typeof module<"u"?module.exports=r(require("vue")):typeof define=="function"&&define.amd?define(["vue"],r):(e=typeof globalThis<"u"?globalThis:e||self,e.directives=r(e.vue))})(this,function(e){"use strict";var r=(t=>(t.left="left",t.right="right",t.top="top",t.bottom="bottom",t))(r||{}),u=(t=>(t.topStart="top-start",t.topEnd="top-end",t.bottomStart="bottom-start",t.bottomEnd="bottom-end",t.leftStart="left-start",t.leftEnd="left-end",t.rightStart="right-start",t.rightEnd="right-end",t))(u||{}),i=(t=>(t.before="before",t.after="after",t))(i||{}),p=(t=>(t.button="button",t.submit="submit",t.reset="reset",t))(p||{}),f=(t=>(t._blank="_blank",t._self="_self",t._parent="_parent",t._top="_top",t))(f||{});const d={to:{type:[String,Object]},href:String,target:{type:String,validator:t=>Object.values(f).includes(t)},rel:{type:String,default:"noopener noreferrer"}},c={disabled:Boolean},b={active:Boolean},y={pressed:Boolean},g={label:[String,Number]},v={modifiers:[String,Array]};i.before,r.bottom,{...c,...g,...y,...b,...d,type:p.button};const S={...v,position:{type:String,default:r.bottom},value:{type:String}};function j(t,o,n){return e.computed(()=>{const s={[t]:!0},a=typeof(o==null?void 0:o.value)=="string"?o.value.split(" "):o==null?void 0:o.value;return a&&Array.isArray(a)&&a.forEach(l=>{s[`${t}--${l}`]=!0}),n&&Object.keys(n.value).forEach(l=>{s[`${t}--${l}`]=e.unref(n.value[l])}),s})}const m=e.defineComponent({__name:"VvTooltip",props:S,setup(t){const o=t,{modifiers:n}=e.toRefs(o),s=j("vv-tooltip",n,e.computed(()=>({[o.position]:!0})));return(a,l)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(e.unref(s)),role:"tooltip",inert:""},[e.renderSlot(a.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(a.value),1)])],2))}});return{tooltip:{beforeMount(t,o){const n=e.h(m,{value:o.value,position:o.arg});e.render(n,t)}}}});
|