@volverjs/ui-vue 0.0.14 → 0.0.15
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/dist/Volver.d.ts +5 -5
- package/dist/components/VvAction/VvAction.es.js +26 -26
- package/dist/components/VvAction/VvAction.umd.js +1 -1
- package/dist/components/VvAction/index.d.ts +1 -44
- package/dist/components/VvAlert/VvAlert.es.js +43 -44
- package/dist/components/VvAlert/VvAlert.umd.js +1 -1
- package/dist/components/VvAlert/VvAlert.vue.d.ts +1 -1
- package/dist/components/VvAlertGroup/VvAlertGroup.es.js +54 -55
- package/dist/components/VvAlertGroup/VvAlertGroup.umd.js +1 -1
- package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +34 -34
- package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
- package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +1 -1
- package/dist/components/VvButton/VvButton.es.js +186 -187
- package/dist/components/VvButton/VvButton.umd.js +1 -1
- package/dist/components/VvCheckbox/VvCheckbox.es.js +215 -217
- package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
- package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +235 -237
- 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 -78
- package/dist/components/VvCombobox/VvCombobox.es.js +810 -813
- package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
- package/dist/components/VvCombobox/VvCombobox.vue.d.ts +1 -1
- package/dist/components/VvCombobox/index.d.ts +2 -2
- package/dist/components/VvDropdown/VvDropdown.es.js +4 -4
- package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
- package/dist/components/VvDropdownAction/VvDropdownAction.es.js +50 -50
- package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -1
- package/dist/components/VvIcon/VvIcon.es.js +30 -31
- package/dist/components/VvIcon/VvIcon.umd.js +1 -1
- package/dist/components/VvInputFile/VvInputFile.es.js +415 -418
- package/dist/components/VvInputFile/VvInputFile.umd.js +1 -1
- package/dist/components/VvInputText/VvInputText.es.js +595 -588
- package/dist/components/VvInputText/VvInputText.umd.js +1 -1
- package/dist/components/VvInputText/VvInputText.vue.d.ts +6 -6
- package/dist/components/VvInputText/index.d.ts +3 -3
- package/dist/components/VvNav/VvNav.es.js +63 -63
- package/dist/components/VvNav/VvNav.umd.js +1 -1
- package/dist/components/VvNavItem/VvNavItem.es.js +41 -41
- package/dist/components/VvNavItem/VvNavItem.umd.js +1 -1
- package/dist/components/VvRadio/VvRadio.es.js +222 -224
- package/dist/components/VvRadio/VvRadio.umd.js +1 -1
- package/dist/components/VvRadioGroup/VvRadioGroup.es.js +234 -236
- 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 -78
- package/dist/components/VvSelect/VvSelect.es.js +200 -203
- package/dist/components/VvSelect/VvSelect.umd.js +1 -1
- package/dist/components/VvSelect/VvSelect.vue.d.ts +1 -1
- package/dist/components/VvSelect/index.d.ts +2 -2
- package/dist/components/VvTab/VvTab.es.js +35 -35
- package/dist/components/VvTab/VvTab.umd.js +1 -1
- package/dist/components/VvTextarea/VvTextarea.es.js +341 -344
- package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
- package/dist/components/index.es.js +1965 -1958
- package/dist/components/index.umd.js +1 -1
- package/dist/composables/index.es.js +34 -34
- package/dist/composables/index.umd.js +2 -2
- package/dist/composables/useModifiers.d.ts +1 -1
- package/dist/constants.d.ts +2 -2
- package/dist/directives/index.es.js +22 -22
- package/dist/directives/index.umd.js +1 -1
- package/dist/directives/v-contextmenu.es.js +13 -13
- package/dist/directives/v-contextmenu.umd.js +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.es.js +19 -19
- package/dist/index.umd.js +1 -1
- package/dist/json-render/index.es.js +1877 -1870
- package/dist/json-render/index.umd.js +1 -1
- package/dist/props/index.d.ts +1 -1
- package/dist/resolvers/unplugin.es.js +28 -28
- package/dist/resolvers/unplugin.umd.js +1 -1
- package/dist/types/alert.d.ts +1 -1
- package/dist/types/nav.d.ts +1 -1
- package/dist/utils/ObjectUtilities.d.ts +0 -6
- package/package.json +1 -1
- package/src/Volver.ts +8 -6
- package/src/components/VvAction/index.ts +1 -3
- package/src/components/VvButton/VvButton.vue +1 -1
- package/src/components/VvCheckboxGroup/index.ts +1 -3
- package/src/components/VvCombobox/VvCombobox.vue +3 -3
- package/src/components/VvDropdown/VvDropdown.vue +8 -8
- package/src/components/VvIcon/VvIcon.vue +3 -6
- package/src/components/VvInputFile/VvInputFile.vue +6 -6
- package/src/components/VvInputText/VvInputText.vue +95 -78
- package/src/components/VvRadioGroup/index.ts +1 -3
- package/src/composables/useBlurhash.ts +1 -1
- package/src/composables/useDebouncedInput.ts +1 -1
- package/src/composables/useDefaults.ts +55 -44
- package/src/composables/useModifiers.ts +1 -1
- package/src/index.ts +2 -2
- package/src/resolvers/unplugin.ts +6 -6
- package/src/types/alert.ts +1 -1
- package/src/types/nav.ts +1 -1
- package/src/utils/DateUtilities.ts +3 -3
- package/src/utils/DomUtilities.ts +7 -1
- package/src/utils/ObjectUtilities.ts +60 -59
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(e,W){typeof exports=="object"&&typeof module<"u"?module.exports=W(require("vue"),require("@iconify/vue"),require("@floating-ui/vue"),require("@vueuse/core"),require("mitt"),require("dot-prop")):typeof define=="function"&&define.amd?define(["vue","@iconify/vue","@floating-ui/vue","@vueuse/core","mitt","dot-prop"],W):(e=typeof globalThis<"u"?globalThis:e||self,e.VvCombobox=W(e.Vue,e.IconifyVue,e.FloatingUiVue,e.VueuseCore,e.mitt,e.dotProp))})(this,function(e,W,F,L,Fe,je){var Lt=Object.create,Qe=Object.defineProperty,Et=Object.getOwnPropertyDescriptor,$t=Object.getOwnPropertyNames,_t=Object.getPrototypeOf,Nt=Object.prototype.hasOwnProperty,Dt=(t,o,r,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(var i=$t(o),l=0,f=i.length,u;l<f;l++)u=i[l],!Nt.call(t,u)&&u!==r&&Qe(t,u,{get:(g=>o[g]).bind(null,u),enumerable:!(n=Et(o,u))||n.enumerable});return t},It=(t,o,r)=>(r=t!=null?Lt(_t(t)):{},Dt(o||!t||!t.__esModule?Qe(r,"default",{value:t,enumerable:!0}):r,t));Fe=It(Fe,1);var At={showPassword:"eye-on",hidePassword:"eye-off",showDatePicker:"calendar",showTimePicker:"time",showColorPicker:"color",clear:"close",add:"add",remove:"trash",edit:"edit",download:"download"},xt={prefix:"normal"},Xe=(function(t){return t.local="local",t.session="session",t})({}),Ze=(function(t){return t.absolute="absolute",t.fixed="fixed",t})({}),O=(function(t){return t.left="left",t.right="right",t.top="top",t.bottom="bottom",t})({}),Ft=(function(t){return 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})({}),Le=(function(t){return t.before="before",t.after="after",t})({}),et=(function(t){return t.button="button",t.submit="submit",t.reset="reset",t})({}),U=(function(t){return t.nuxtLink="nuxt-link",t.routerLink="router-link",t.a="a",t.button="button",t})({}),jt=(function(t){return t.button="button",t.link="link",t.menuitem="menuitem",t})({}),Ee=(function(t){return t.listbox="listbox",t.menu="menu",t})({}),tt=(function(t){return t.option="option",t.presentation="presentation",t})({}),Rt=Symbol.for("volver"),Tt=Symbol.for("buttonGroup"),rt=Symbol.for("dropdownTrigger"),ot=Symbol.for("dropdownItem"),lt=Symbol.for("dropdownAction"),Ht={to:{type:[String,Object]},href:String,target:String,rel:{type:String,default:"noopener noreferrer"}},ke={valid:{type:Boolean,default:!1},validLabel:{type:[String,Array],default:void 0}},Be={invalid:{type:Boolean,default:!1},invalidLabel:{type:[String,Array],default:void 0}},pe={loading:{type:Boolean,default:!1},loadingLabel:{type:String,default:"Loading..."}},ie={disabled:{type:Boolean,default:!1}},Re={required:{type:Boolean,default:!1}},zt={selected:{type:Boolean,default:!1}},Mt={active:{type:Boolean,default:!1}},Kt={current:{type:Boolean,default:!1}},nt={showClearAction:{type:Boolean,default:!1},iconClear:{type:[String,Object],default:At.clear},labelClear:{type:String,default:"Clear"}},qt={pressed:{type:Boolean,default:!1}},se={label:{type:[String,Number],default:void 0}},Ve={readonly:{type:Boolean,default:!1}},J={modifiers:{type:[String,Array],default:void 0}},Pe={hintLabel:{type:String,default:""}},Te={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:t=>[!0,!1,"limit","countdown"].includes(t)}},Wt={debounce:{type:[Number,String],default:void 0}},$e={icon:{type:[String,Object],default:void 0},iconPosition:{type:String,default:Le.before,validation:t=>Object.values(Le).includes(t)}},_e={tabindex:{type:[String,Number],default:0}},He={floating:{type:Boolean,default:!1}},ze={unselectable:{type:Boolean,default:!0}},Me={id:[String,Number]},Ke={placement:{type:String,default:O.bottom,validator:t=>Object.values(O).includes(t)||Object.values(Ft).includes(t)},strategy:{type:String,default:void 0,validator:t=>Object.values(Ze).includes(t)},transitionName:{type:String,default:void 0},offset:{type:[Number,String,Object],default:0},shift:{type:[Boolean,Object],default:!1},flip:{type:[Boolean,Object],default:!0},size:{type:[Boolean,Object],default:()=>({padding:10})},autoPlacement:{type:[Boolean,Object],default:!1},arrow:{type:Boolean,default:!1},keepOpen:{type:Boolean,default:!1},autofocusFirst:{type:Boolean,default:!0},triggerWidth:{type:Boolean,default:!1}},Ne={...Me,name:{type:String,required:!0}},at={autofocus:{type:Boolean,default:!1}},it={autocomplete:{type:String,default:"off"}},mo={...Ne,...at,...it,..._e,...ie,...Ve,...ke,...Be,...Pe,...pe,...J,...Gt,...Wt,...$e,...He,...se,minlength:{type:[String,Number],default:void 0},maxlength:{type:[String,Number],default:void 0},placeholder:{type:String,default:void 0},...Re},bo={...Ne,..._e,...ke,...Be,...Pe,...ie,...Ve,...J,...se,...pe,value:{type:[String,Number,Boolean],default:void 0},modelValue:{type:[Object,Number,Boolean,String],default:void 0}},go={...ke,...Be,...Te,...Pe,...ie,...Ve,...J,...se,...pe,...Re,modelValue:{type:[String,Array,Boolean,Number,Symbol],default:void 0},name:{type:String,required:!0},vertical:{type:Boolean,default:!1}},st={...ie,...se,...qt,...Mt,...Kt,...Ht,type:{type:String,default:et.button,validator:t=>Object.values(et).includes(t)},ariaLabel:{type:String,default:void 0},defaultTag:{type:String,default:U.button}},ho={storageType:{type:String,default:Xe.local,validator:t=>Object.values(Xe).includes(t)},storageKey:String},qe={...Ne,..._e,...ke,...Be,...Pe,...pe,...ie,...Ve,...J,...Te,...$e,...He,...Ke,...se,...Re,...nt,transitionName:{type:String,default:"vv-dropdown--mobile-fade-block"},modelValue:{type:[String,Number,Boolean,Object,Array],default:void 0},noResultsLabel:{type:String,default:"No results"},noOptionsLabel:{type:String,default:"No options available"},selectedOptionNotFoundLabel:{type:String,default:"Selected option not found"},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"},addOptionHintLabel:{type:String,default:"Press enter to add"},closeLabel:{type:String,default:"Close"},placeholder:String,addable:Boolean,searchable:Boolean,keepSearch:Boolean,searchFunction:{type:Function,default:void 0},searchPlaceholder:{type:String,default:"Search..."},debounceSearch:{type:[Number,String],default:0},multiple:Boolean,minValues:{type:[Number,String],default:0},maxValues:[Number,String],unselectable:{type:Boolean,default:!0},separator:{type:String,default:", "},native:Boolean,badges:Boolean,badgeModifiers:{type:[String,Array],default:"action sm"},triggerWidth:{...Ke.triggerWidth,default:!0},dropdownModifiers:{type:[String,Array],default:"mobile"},autoOpen:{type:Boolean,default:!1},autoselectFirst:{type:Boolean,default:!1},keepOpen:{type:Boolean,default:!1},focusOnHover:{type:Boolean,default:!0}};function dt(){return{...qe,options:{...qe.options,type:Array},searchFunction:{...qe.searchFunction,type:Function}}}function ct(t,o,r){return r?ut(t,r)===ut(o,r):Ge(t,o)}function Ge(t,o){if(t===o)return!0;if(t&&o&&typeof t=="object"&&typeof o=="object"){const r=Array.isArray(t),n=Array.isArray(o);let i,l,f;if(r&&n){if(l=t.length,l!==o.length)return!1;for(i=l;i--!==0;)if(!Ge(t[i],o[i]))return!1;return!0}if(r!==n)return!1;const u=t instanceof Date,g=o instanceof Date;if(u!==g)return!1;if(u&&g)return t.getTime()===o.getTime();const s=t instanceof RegExp,y=o instanceof RegExp;if(s!==y)return!1;if(s&&y)return t.toString()===o.toString();const c=Object.keys(t);if(l=c.length,l!==Object.keys(o).length)return!1;for(i=l;i--!==0;)if(!Object.hasOwn(o,c[i]))return!1;for(i=l;i--!==0;)if(f=c[i],!Ge(t[f],o[f]))return!1;return!0}return Number.isNaN(t)&&Number.isNaN(o)}function ut(t,o){if(t&&Object.keys(t).length&&o)if(o.includes(".")){const r=o.split(".");let n=t;for(let i=0,l=r.length;i<l;++i){if(t==null)return null;n=n[r[i]]}return n}else return t[o];else return null}function ft(t,o){if(t!=null&&o&&o.length){for(const r of o)if(ct(t,r))return!0}return!1}function Ut(t){return typeof t=="string"}function pt(t){return Array.isArray(t)?t.filter(o=>Ut(o)).join(" "):t}function mt(t,o){const r=(0,e.computed)(()=>(0,e.isRef)(t)?t.value:t),n=(0,e.computed)(()=>pt(r.value.invalidLabel)),i=(0,e.computed)(()=>pt(r.value.validLabel)),l=(0,e.computed)(()=>r.value.loadingLabel),f=(0,e.computed)(()=>r.value.hintLabel),u=(0,e.computed)(()=>!!(r.value.loading&&(o.loading||l.value))),g=(0,e.computed)(()=>!u.value&&!!(r.value.invalid&&(o.invalid||n.value))),s=(0,e.computed)(()=>!u.value&&!g.value&&!!(r.value.valid&&(o.valid||i.value))),y=(0,e.computed)(()=>!u.value&&!g.value&&!s.value&&!!(o.hint||f.value)),c=(0,e.computed)(()=>g.value||s.value||u.value||y.value);return{hasInvalidLabelOrSlot:g,hasHintLabelOrSlot:y,hasValidLabelOrSlot:s,hasLoadingLabelOrSlot:u,hintSlotScope:(0,e.computed)(()=>({modelValue:r.value.modelValue,valid:r.value.valid,invalid:r.value.invalid,loading:r.value.loading})),HintSlot:(0,e.defineComponent)({name:"HintSlot",props:{tag:{type:String,default:"small"}},setup(){return{isVisible:c,invalidLabel:n,validLabel:i,loadingLabel:l,hintLabel:f,hasInvalidLabelOrSlot:g,hasValidLabelOrSlot:s,hasLoadingLabelOrSlot:u,hasHintLabelOrSlot:y}},render(){if(this.isVisible){let p;return this.hasInvalidLabelOrSlot&&(p="alert"),this.hasValidLabelOrSlot&&(p="status"),this.hasLoadingLabelOrSlot?(0,e.h)(this.tag,{role:p},this.$slots.loading?.()??this.loadingLabel):this.hasInvalidLabelOrSlot?(0,e.h)(this.tag,{role:p},this.$slots.invalid?.()??this.$slots.invalid??this.invalidLabel):this.hasValidLabelOrSlot?(0,e.h)(this.tag,{role:p},this.$slots.valid?.()??this.validLabel):(0,e.h)(this.tag,{role:p},this.$slots.hint?.()??this.$slots.hint??this.hintLabel)}return null}})}}function We(){return(0,e.inject)(Rt,void 0)}function de(t,o,r){return(0,e.computed)(()=>{const n={[t]:!0},i=typeof o?.value=="string"?o.value.split(" "):o?.value;return i&&Array.isArray(i)&&i.forEach(l=>{l&&(n[`${t}--${l}`]=!0)}),r&&Object.keys(r.value).forEach(l=>{n[`${t}--${l}`]=(0,e.unref)(r.value[l])}),n})}var Jt={name:"VvIcon"},Yt=(0,e.defineComponent)({...Jt,props:(0,e.mergeDefaults)({name:{},color:{},width:{},height:{},provider:{},prefix:{},src:{},horizontalFlip:{type:Boolean},verticalFlip:{type:Boolean},flip:{},mode:{},inline:{type:Boolean},rotate:{},onLoad:{type:Function},svg:{},modifiers:{}},xt),setup(t){const o=t,r=(0,e.computed)(()=>typeof o.rotate=="string"?Number.parseFloat(o.rotate):o.rotate),n=(0,e.ref)(!0),i=We(),{modifiers:l}=(0,e.toRefs)(o),f=de("vv-icon",l),u=(0,e.computed)(()=>o.provider||i?.iconsProvider),g=(0,e.computed)(()=>{const c=o.name??"",p=`@${u.value}:${o.prefix}:${c}`;if((0,W.iconLoaded)(p))return p;const w=i?.iconsCollections.find(P=>(0,W.iconLoaded)(`@${u.value}:${P.prefix}:${c}`));return w?`@${u.value}:${w.prefix}:${c}`:c});function s(c){const p=typeof window<"u"?new window.DOMParser:null;return p?p.parseFromString(c,"text/html").querySelector("svg"):null}function y(c){const p=s(c),w=p?.innerHTML.trim()||"";p&&w&&(0,W.addIcon)(`@${u.value}:${o.prefix}:${o.name}`,{body:w,height:p.viewBox.baseVal.height,width:p.viewBox.baseVal.width})}return i&&o.src&&!(0,W.iconLoaded)(`@${u.value}:${o.prefix}:${o.name}`)&&(n.value=!1,i.fetchIcon(o.src).then(c=>{c&&y(c),n.value=!0}).catch(c=>{throw n.value=!0,new Error(`Error during fetch icon: ${c?.message}`)})),o.svg&&y(o.svg),(c,p)=>(0,e.unref)(n)?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(W.Icon),(0,e.mergeProps)({key:0,class:(0,e.unref)(f)},{inline:t.inline,width:t.width,height:t.height,horizontalFlip:t.horizontalFlip,verticalFlip:t.verticalFlip,flip:t.flip,rotate:(0,e.unref)(r),color:t.color,icon:(0,e.unref)(g)},{onLoad:t.onLoad}),null,16,["class","onLoad"])):(0,e.createCommentVNode)("v-if",!0)}}),Y=Yt;function De(t,o){const r=(0,e.computed)(()=>typeof t?.value=="string"?{name:t?.value}:t?.value),n=(0,e.computed)(()=>o?.value===Le.before?r.value:void 0),i=(0,e.computed)(()=>o?.value===Le.after?r.value:void 0);return{hasIcon:r,hasIconLeft:(0,e.computed)(()=>o?.value===O.left?r.value:void 0),hasIconRight:(0,e.computed)(()=>o?.value===O.right?r.value:void 0),hasIconTop:(0,e.computed)(()=>o?.value===O.top?r.value:void 0),hasIconBottom:(0,e.computed)(()=>o?.value===O.bottom?r.value:void 0),hasIconBefore:n,hasIconAfter:i}}var bt=(0,e.defineComponent)({components:{VvIcon:Y},props:{inputType:{type:String,default:"input-text"},disabled:{type:Boolean,default:!1},label:{type:String,default:"Clear"},icon:{type:[String,Object],default:"close"}},emits:["clear"],setup(t,{emit:o}){const{hasIcon:r}=De((0,e.computed)(()=>t.icon));function n(i){i?.stopPropagation(),t.disabled||o("clear")}return{hasIcon:r,onClick:n}},render(){const t=this.hasIcon?(0,e.h)(Y,{...this.hasIcon,class:`vv-${this.inputType}__icon`}):void 0;return(0,e.h)("button",{disabled:this.disabled,class:`vv-${this.inputType}__action`,ariaLabel:this.label,type:"button",onClick:this.onClick},t)}}),Qt={...J,value:[String,Number]},Xt={name:"VvBadge"},Zt=(0,e.defineComponent)({...Xt,props:Qt,setup(t){const{modifiers:o}=(0,e.toRefs)(t),r=de("vv-badge",o);return(n,i)=>((0,e.openBlock)(),(0,e.createElementBlock)("span",{class:(0,e.normalizeClass)((0,e.unref)(r))},[(0,e.renderSlot)(n.$slots,"default",{},()=>[(0,e.createTextVNode)((0,e.toDisplayString)(n.value),1)])],2))}}),er=Zt;function tr(t){const o=(0,e.inject)(t,void 0),r=(0,e.computed)(()=>o!==void 0);function n(i,l,f){const u=o?.[i];if(u)return(0,e.computed)({get(){return u.value},set(s){u.value=s}});const g=(0,e.toRef)(l,i);return(0,e.computed)({get(){return g.value},set(s){f&&f(`update:${i}`,s)}})}return{group:o,isInGroup:r,getGroupOrLocalRef:n}}var rr=["update:modelValue"],or={...st,...Me,...J,...ze,...pe,...$e,iconPosition:{type:String,default:O.left,validator:t=>Object.values(O).includes(t)},loadingIcon:{type:String,default:"eos-icons:bubble-loading"},toggle:{type:Boolean,default:!1},value:{type:[String,Number,Boolean],default:void 0},uncheckedValue:{type:[String,Number,Boolean],default:void 0},modelValue:{type:[String,Number,Boolean],default:void 0}};function lr(t,o){const{group:r,isInGroup:n,getGroupOrLocalRef:i}=tr(Tt),{id:l,iconPosition:f,icon:u,label:g,pressed:s}=(0,e.toRefs)(t);return{group:r,isInGroup:n,modelValue:i("modelValue",t,o),toggle:i("toggle",t),unselectable:i("unselectable",t),multiple:(0,e.computed)(()=>r?.multiple.value??!1),modifiers:(0,e.computed)(()=>{let y=t.modifiers,c=r?.modifiers.value;const p=new Set;return y&&(Array.isArray(y)||(y=y.split(" ")),y.forEach(w=>p.add(w))),c&&(Array.isArray(c)||(c=c.split(" ")),c.forEach(w=>p.add(w))),[...p]}),disabled:(0,e.computed)(()=>!!(t.disabled||r?.disabled.value)),id:l,pressed:s,iconPosition:f,icon:u,label:g}}var nr=["click","mouseover","mouseleave"],ar=st;function ir(){return(0,e.inject)(rt,{})}function sr(){return(0,e.inject)(ot,{})}function dr(){return(0,e.inject)(lt,{})}var cr={name:"VvAction"},ur=(0,e.defineComponent)({...cr,props:ar,emits:nr,setup(t,{expose:o,emit:r}){const n=t,i=r,l=(0,e.getCurrentInstance)(),f=We(),u=(0,e.ref)(null);o({$el:u});const{reference:g,bus:s,aria:y,expanded:c}=ir();(0,e.watch)(()=>u.value,S=>{g&&(g.value=S)});const p=(0,e.computed)(()=>n.pressed||c?.value),{role:w}=dr(),P=(0,e.computed)(()=>{switch(!0){case n.disabled:return U.button;case n.to!==void 0:return f?.nuxt?(0,e.resolveComponent)(U.nuxtLink):U.routerLink;case n.href!==void 0:return U.a;default:return n.defaultTag}}),D=(0,e.computed)(()=>{const S={...y?.value,ariaPressed:p.value?!0:void 0,ariaLabel:n.ariaLabel,role:w?.value};switch(P.value){case U.a:return{...S,href:n.href,target:n.target,rel:n.rel};case U.routerLink:case U.nuxtLink:return{...S,to:n.to,target:n.target};case U.button:return{...S,type:n.type,disabled:n.disabled};default:return S}});function E(S){if(n.disabled){S.preventDefault();return}if(l?.vnode.props?.onClick){i("click",S);return}s?.emit("click",S)}function R(S){if(l?.vnode.props?.onMouseover){i("mouseover",S);return}s?.emit("mouseover",S)}function I(S){if(l?.vnode.props?.onMouseleave){i("mouseleave",S);return}s?.emit("mouseleave",S)}return(S,V)=>((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)((0,e.unref)(P)),(0,e.mergeProps)((0,e.unref)(D),{ref_key:"rootEl",ref:u,class:{active:S.active,pressed:(0,e.unref)(p),disabled:S.disabled,current:S.current},onClickPassive:E,onMouseoverPassive:R,onMouseleavePassive:I}),{default:(0,e.withCtx)(()=>[(0,e.renderSlot)(S.$slots,"default",{},()=>[(0,e.createTextVNode)((0,e.toDisplayString)(S.label),1)])]),_:3},16,["class"]))}}),fr=ur;function Ie(t){return(0,e.computed)(()=>String(t?.value||(0,e.useId)()))}var pr={key:1,class:"vv-button__label"},mr={key:1,class:"vv-button__label"},br={name:"VvButton",inheritAttrs:!1},gr=(0,e.defineComponent)({...br,props:or,emits:rr,setup(t,{expose:o,emit:r}){const n=t,i=r,l=(0,e.useAttrs)(),f=(0,e.useSlots)(),{id:u,modifiers:g,iconPosition:s,icon:y,label:c,modelValue:p,disabled:w,toggle:P,unselectable:D}=lr(n,i),E=Ie(u),R=(0,e.computed)(()=>l?.name||E.value),I=(0,e.ref)(null);o({$el:(0,e.computed)(()=>I.value?.$el)});const S=(0,e.computed)(()=>P.value?Array.isArray(p.value)?ft(R.value,p.value):ct(R.value,p.value):n.pressed),V=de("vv-button",g,(0,e.computed)(()=>({reverse:[O.right,O.bottom].includes(s.value),column:[O.top,O.bottom].includes(s.value),"icon-only":!!(y?.value&&!c?.value&&!f.default)}))),{hasIcon:Q}=De(y),T=(0,e.computed)(()=>n.value!==void 0?n.value:R.value),te=(0,e.computed)(()=>{if(P.value)return{onClick:X}});function X(){if(P.value){if(Array.isArray(p.value)){if(ft(T.value,p.value)){D.value&&(p.value=p.value.filter(B=>B!==T.value));return}p.value.push(T.value);return}if(T.value===p.value&&D.value){p.value=n.uncheckedValue;return}p.value=T.value}}return(B,$)=>((0,e.openBlock)(),(0,e.createBlock)(fr,(0,e.mergeProps)({...(0,e.unref)(l),...(0,e.unref)(te),disabled:(0,e.unref)(w),pressed:(0,e.unref)(S),active:B.active,type:B.type,to:B.to,href:B.href,target:B.target,rel:B.rel,ariaLabel:B.ariaLabel},{id:(0,e.unref)(E),ref_key:"rootEl",ref:I,class:(0,e.unref)(V)}),{default:(0,e.withCtx)(()=>[(0,e.renderSlot)(B.$slots,"default",{},()=>[B.loading?(0,e.renderSlot)(B.$slots,"loading",{key:0},()=>[B.loadingIcon?((0,e.openBlock)(),(0,e.createBlock)(Y,{key:0,class:"vv-button__loading-icon",name:B.loadingIcon},null,8,["name"])):(0,e.createCommentVNode)("v-if",!0),B.loadingLabel?((0,e.openBlock)(),(0,e.createElementBlock)("span",pr,(0,e.toDisplayString)(B.loadingLabel),1)):(0,e.createCommentVNode)("v-if",!0)]):((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:1},[(0,e.renderSlot)(B.$slots,"before"),(0,e.unref)(Q)?((0,e.openBlock)(),(0,e.createBlock)(Y,(0,e.mergeProps)({key:0},(0,e.unref)(Q),{class:"vv-button__icon"}),null,16)):(0,e.createCommentVNode)("v-if",!0),(0,e.unref)(c)?((0,e.openBlock)(),(0,e.createElementBlock)("span",mr,[(0,e.renderSlot)(B.$slots,"label",{},()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(c)),1)])])):(0,e.createCommentVNode)("v-if",!0),(0,e.renderSlot)(B.$slots,"after")],64))])]),_:3},16,["id","class"]))}}),gt=gr,hr={...Me,...Ke,...J,modelValue:{type:Boolean,default:void 0},reference:{type:Object,default:null},role:{type:String,default:Ee.menu,validator:t=>Object.values(Ee).includes(t)}},yr={focusOnHover:{type:Boolean,default:!1}},vr={...ie,...zt,...ze,...J,deselectHintLabel:{type:String},selectHintLabel:{type:String},selectedHintLabel:{type:String},focusOnHover:{type:Boolean,default:!1}};function Sr({reference:t,id:o,expanded:r,aria:n}){const i=(0,Fe.default)();return{bus:i,component:(0,e.defineComponent)({name:"VvDropdownTriggerProvider",setup(){(0,e.provide)(rt,{reference:t,id:o,expanded:r,aria:n,bus:i})},render(){return(0,e.h)(e.Fragment,{},this.$slots.default?.())}})}}function kr({role:t,...o}){const r=(0,e.computed)(()=>t.value===Ee.listbox?tt.option:tt.presentation);return(0,e.provide)(ot,{role:r,...o}),{itemRole:r}}function Br({expanded:t}){(0,e.provide)(lt,{role:(0,e.ref)(jt.menuitem),expanded:t})}var Vr=["id","tabindex","role","aria-labelledby"],Pr={name:"VvDropdown",inheritAttrs:!1},wr=(0,e.defineComponent)({...Pr,props:hr,emits:["update:modelValue","beforeEnter","afterLeave","beforeExpand","beforeCollapse","afterExpand","afterCollapse","before-enter","after-leave","enter","afterEnter","enterCancelled","beforeLeave","leave","leaveCancelled"],setup(t,{expose:o,emit:r}){const n=t,i=r,{id:l}=(0,e.toRefs)(n),f=Ie(l),u=(0,e.useAttrs)(),g=(0,e.ref)("auto"),s=(0,e.ref)("auto"),y=(0,e.ref)(),c=(0,e.ref)(),p=(0,e.ref)(),w=(0,e.ref)(),P=(0,e.computed)({get:()=>n.reference??y.value,set:d=>{y.value=d}}),D=(0,e.ref)(!1);(0,e.onMounted)(()=>{(0,L.useMutationObserver)(c.value,()=>{D.value=window.getComputedStyle(c.value).getPropertyValue("--dropdown-custom-position")?.trim()==="true"},{attributeFilter:["style"],window})});function E(d,k,ae){return typeof d=="boolean"?k():ae(d)}const R=(0,e.computed)(()=>{const d=[];if(n.autoPlacement?d.push(E(n.autoPlacement,()=>(0,F.autoPlacement)(),k=>(0,F.autoPlacement)(k))):n.flip&&d.push(E(n.flip,()=>(0,F.flip)({fallbackStrategy:"initialPlacement"}),k=>(0,F.flip)(k))),n.shift&&d.push(E(n.shift,()=>(0,F.shift)(),k=>(0,F.shift)(k))),n.size){const k=({availableWidth:ae,availableHeight:Ce})=>{g.value=`${ae}px`,s.value=`${Ce}px`};d.push(E(n.size,()=>(0,F.size)({apply:k}),ae=>(0,F.size)({...ae,apply:k})))}return n.offset&&d.push(["string","number"].includes(typeof n.offset)?(0,F.offset)(Number(n.offset)):(0,F.offset)(n.offset)),n.arrow&&d.push((0,F.arrow)({element:p})),d}),{x:I,y:S,middlewareData:V,placement:Q,strategy:T}=(0,F.useFloating)(P,c,{whileElementsMounted:(...d)=>(0,F.autoUpdate)(...d,{animationFrame:n.strategy===Ze.fixed}),placement:(0,e.computed)(()=>n.placement),strategy:(0,e.computed)(()=>n.strategy),middleware:R}),te=(0,e.computed)(()=>{if(D.value)return;const d=n.triggerWidth&&P.value?`${P.value?.offsetWidth}px`:void 0;return{position:T.value,top:`${S.value??0}px`,left:`${I.value??0}px`,maxWidth:d?void 0:g.value,maxHeight:s.value,width:d}}),X=(0,e.computed)(()=>Q.value.split("-")[0]),B=(0,e.computed)(()=>{if(D.value)return;const d={[O.top]:O.bottom,[O.right]:O.left,[O.bottom]:O.top,[O.left]:O.right}[X.value];return{left:V.value.arrow?.x!==void 0?`${V.value.arrow?.x}px`:void 0,top:V.value.arrow?.y!==void 0?`${V.value.arrow?.y}px`:void 0,[d]:`${-(p.value?.offsetWidth??0)/2}px`}}),$=(0,L.useVModel)(n,"modelValue",i),me=(0,e.ref)(!1),v=(0,e.computed)({get:()=>$.value??me.value,set:d=>{if($.value===void 0){me.value=d;return}$.value=d}});function M(){v.value=!0}function H(){v.value=!1}function A(){v.value=!v.value}function re(d){P.value=d}(0,L.onClickOutside)(c,()=>{!n.keepOpen&&v.value&&(v.value=!1)},{ignore:[P]});const be=(0,e.computed)(()=>P.value?.getAttribute?.("id")??void 0),ge=(0,e.computed)(()=>({"aria-controls":f.value,"aria-haspopup":!0,"aria-expanded":v.value})),{component:oe,bus:le}=Sr({reference:P,id:f,expanded:v,aria:ge});le.on("click",A);const{role:ne,modifiers:K}=(0,e.toRefs)(n),ce=de("vv-dropdown",K,(0,e.computed)(()=>({arrow:n.arrow}))),{focused:z}=(0,L.useFocusWithin)(c);function q(d){return d?[...d.querySelectorAll('a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])')].filter(k=>!k.hasAttribute("disabled")&&!k.getAttribute("aria-hidden")):[]}function h(){(0,e.nextTick)(()=>{const d=q(c.value);d.length>0&&d[0].focus({preventScroll:!0})})}function _(){(0,e.nextTick)(()=>{const d=q(w.value);d.length>0&&d[0].focus({preventScroll:!0})})}function x(){(0,e.nextTick)(()=>{if(z.value){const d=q(c.value);if(d.length===0||!document.activeElement)return;const k=d.indexOf(document.activeElement);k<d.length-1?d[k+1].focus({preventScroll:!0}):d[0].focus({preventScroll:!0})}})}function N(){(0,e.nextTick)(()=>{if(z.value){const d=q(c.value);if(d.length===0||!document.activeElement)return;const k=d.indexOf(document.activeElement);if(k>0){d[k-1].focus({preventScroll:!0});return}d.at(-1)?.focus({preventScroll:!0})}})}(0,e.watch)(v,d=>{d&&n.autofocusFirst&&h()}),o({toggle:A,show:M,hide:H,init:re,focusFirst:h,focusFirstListElement:_,focusNext:x,focusPrev:N,customPosition:D});const{itemRole:Z}=kr({role:ne,expanded:v,focused:z,hovered:(0,L.useElementHover)(c)});(0,L.onKeyStroke)("Escape",d=>{v.value&&(d.preventDefault(),H())}),(0,L.onKeyStroke)("ArrowDown",d=>{v.value&&z.value&&(d.preventDefault(),x())}),(0,L.onKeyStroke)("ArrowUp",d=>{v.value&&z.value&&(d.preventDefault(),N())}),(0,L.onKeyStroke)([" ","Enter"],d=>{const k=d.target;v.value&&z.value&&k&&k?.click()});const ue={"before-enter":()=>{i(v.value?"beforeExpand":"beforeCollapse"),i("beforeEnter")},"after-leave":()=>{i(v.value?"afterExpand":"afterCollapse"),i("afterLeave")},enter:()=>{i("enter")},"after-enter":()=>{i("afterEnter")},"enter-cancelled":()=>{i("enterCancelled")},"before-leave":()=>{i("beforeLeave")},leave:()=>{i("leave")},"leave-cancelled":()=>{i("leaveCancelled")}};return(d,k)=>((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,null,[(0,e.createVNode)((0,e.unref)(oe),null,{default:(0,e.withCtx)(()=>[(0,e.renderSlot)(d.$slots,"default",(0,e.normalizeProps)((0,e.guardReactiveProps)({init:re,show:M,hide:H,toggle:A,expanded:(0,e.unref)(v),aria:(0,e.unref)(ge)})))]),_:3}),(0,e.createVNode)(e.Transition,(0,e.mergeProps)({name:d.transitionName},(0,e.toHandlers)(ue),{persisted:""}),{default:(0,e.withCtx)(()=>[(0,e.withDirectives)((0,e.createElementVNode)("div",{ref_key:"floatingEl",ref:c,style:(0,e.normalizeStyle)((0,e.unref)(te)),class:(0,e.normalizeClass)((0,e.unref)(ce))},[n.arrow?((0,e.openBlock)(),(0,e.createElementBlock)("div",{key:0,ref_key:"arrowEl",ref:p,style:(0,e.normalizeStyle)((0,e.unref)(B)),class:"vv-dropdown__arrow"},null,4)):(0,e.createCommentVNode)("v-if",!0),(0,e.renderSlot)(d.$slots,"before",(0,e.normalizeProps)((0,e.guardReactiveProps)({show:M,hide:H,toggle:A,expanded:(0,e.unref)(v)}))),(0,e.createElementVNode)("div",(0,e.mergeProps)((0,e.unref)(u),{id:(0,e.unref)(f),ref_key:"listEl",ref:w,tabindex:(0,e.unref)(v)?void 0:-1,role:(0,e.unref)(ne),"aria-labelledby":(0,e.unref)(be),class:"vv-dropdown__list"}),[(0,e.renderSlot)(d.$slots,"items",(0,e.normalizeProps)((0,e.guardReactiveProps)({show:M,hide:H,toggle:A,expanded:(0,e.unref)(v),role:(0,e.unref)(Z)})))],16,Vr),(0,e.renderSlot)(d.$slots,"after",(0,e.normalizeProps)((0,e.guardReactiveProps)({show:M,hide:H,toggle:A,expanded:(0,e.unref)(v)})))],6),[[e.vShow,(0,e.unref)(v)]])]),_:3},16,["name"])],64))}}),ht=wr,Cr={class:"vv-dropdown-optgroup",role:"presentation",tabindex:"-1"},Or={name:"VvDropdownOptgroup"},Lr=(0,e.defineComponent)({...Or,props:{...se},setup(t){const o=t;return(r,n)=>((0,e.openBlock)(),(0,e.createElementBlock)("li",Cr,[(0,e.renderSlot)(r.$slots,"default",{},()=>[(0,e.createTextVNode)((0,e.toDisplayString)(o.label),1)])]))}}),yt=Lr,Er={name:"VvDropdownItem"},$r=(0,e.defineComponent)({...Er,props:yr,setup(t){const o=t,{role:r,expanded:n}=sr(),i=(0,e.ref)(null);Br({expanded:n});const l=(0,L.useElementHover)(i),{focused:f}=(0,L.useFocus)(i),{focused:u}=(0,L.useFocusWithin)(i);return(0,e.watch)(l,g=>{g&&o.focusOnHover&&(f.value=!0)}),(g,s)=>((0,e.openBlock)(),(0,e.createElementBlock)("div",(0,e.mergeProps)({role:(0,e.unref)(r)},{ref_key:"element",ref:i,class:["vv-dropdown__item",{"focus-visible":(0,e.unref)(f)||(0,e.unref)(u)}]}),[(0,e.renderSlot)(g.$slots,"default")],16))}}),_r=$r,Nr=["title"],Dr={name:"VvDropdownOption"},Ir=(0,e.defineComponent)({...Dr,props:vr,setup(t){const o=t,{modifiers:r}=(0,e.toRefs)(o),n=de("vv-dropdown-option",r,(0,e.computed)(()=>({disabled:o.disabled,selected:o.selected,unselectable:o.unselectable&&o.selected}))),i=(0,e.computed)(()=>o.selected?o.unselectable?o.deselectHintLabel:o.selectedHintLabel:o.disabled?"":o.selectHintLabel);return(l,f)=>((0,e.openBlock)(),(0,e.createBlock)(_r,{class:(0,e.normalizeClass)((0,e.unref)(n)),tabindex:l.disabled?-1:0,"aria-selected":l.selected,"aria-disabled":l.disabled,"focus-on-hover":l.focusOnHover},{default:(0,e.withCtx)(()=>[(0,e.renderSlot)(l.$slots,"default"),(0,e.createElementVNode)("span",{class:"vv-dropdown-option__hint",title:(0,e.unref)(i)},[(0,e.renderSlot)(l.$slots,"hint",(0,e.normalizeProps)((0,e.guardReactiveProps)({disabled:l.disabled,selected:l.selected,unselectable:l.unselectable})),()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(i)),1)])],8,Nr)]),_:3},8,["class","tabindex","aria-selected","aria-disabled","focus-on-hover"]))}}),we=Ir,vt={...Ne,...at,...it,..._e,...ke,...Be,...Pe,...pe,...ie,...Ve,...J,...Te,...$e,...He,...ze,...se,...nt,multiple:Boolean,required:Boolean,size:[String,Number],modelValue:{type:[String,Number,Boolean,Object,Array],default:void 0},autoselectFirst:{type:Boolean,default:!1},placeholder:String};function St(){return{...vt,options:{...vt.options,type:Array,default:()=>[]}}}function kt(t,o,r){const n=We(),i=(0,e.computed)(()=>{if(!(!n||!n.defaults.value?.[t]))return n.defaults.value[t]});return(0,e.computed)(()=>{if(i.value===void 0)return r;const l=i.value,f=o,u=r;return Object.keys(f).reduce((g,s)=>{const y=u[s];if(g[s]=y,s in l){if(Array.isArray(f[s])){const c=f[s];c.length&&c[0]===y&&(g[s]=l[s])}if(typeof f[s]=="function"){const c=f[s];c()===y&&(g[s]=l[s])}if(typeof f[s]=="object"){let c=f[s].default;typeof c=="function"&&(c=c()),typeof c=="object"?JSON.stringify(c)===JSON.stringify(y)&&(g[s]=l[s]):c===y&&(g[s]=l[s])}}return g},{})})}function Bt(t,o){const{focused:r}=(0,L.useFocus)(t);return(0,e.watch)(r,n=>{o(n?"focus":"blur",(0,e.unref)(t))}),{focused:r}}function Vt(t){const{options:o,labelKey:r,valueKey:n,disabledKey:i}=(0,e.toRefs)(t);return{options:o,getOptionLabel:s=>typeof s=="string"?s:typeof r.value=="function"?r.value(s):String(r.value?(0,je.getProperty)(s,r.value):s),getOptionValue:s=>typeof s=="string"?s:typeof n.value=="function"?n.value(s):n.value?(0,je.getProperty)(s,n.value):s,isOptionDisabled:s=>typeof s=="string"?!1:typeof i.value=="function"?i.value(s):i.value?!!(0,je.getProperty)(s,i.value):!1,getOptionGrouped:s=>typeof s=="string"?[]:typeof s=="object"&&s&&"options"in s?s.options:[]}}var Ar=["for"],xr={class:"vv-select__wrapper"},Fr={key:0,class:"vv-select__input-before"},jr={class:"vv-select__inner"},Rr=["id"],Tr=["disabled","hidden"],Hr=["disabled","value"],zr=["disabled","label"],Mr=["disabled","value"],Kr={key:2,class:"vv-select__input-after"},qr={name:"VvSelect"},Gr=(0,e.defineComponent)({...qr,props:St(),emits:["update:modelValue","focus","blur","clear"],setup(t,{emit:o}){const r=t,n=o,i=(0,e.useSlots)(),l=kt("VvSelect",St(),r),f=(0,e.ref)(),{HintSlot:u,hasHintLabelOrSlot:g,hasInvalidLabelOrSlot:s,hintSlotScope:y}=mt(l,i),{focused:c}=Bt(f,n);function p(h){return typeof h=="string"?!1:h.options?.length}const{id:w,modifiers:P,disabled:D,readonly:E,loading:R,icon:I,iconPosition:S,invalid:V,valid:Q,floating:T,multiple:te}=(0,e.toRefs)(r),X=Ie(w),B=(0,e.computed)(()=>`${X.value}-hint`),$=(0,e.computed)(()=>r.disabled||r.readonly),me=(0,e.computed)(()=>$.value?-1:r.tabindex),v=(0,e.computed)({get:()=>r.modelValue,set:h=>{if(Array.isArray(h)&&(h=h.filter(_=>_!==void 0),h.length===0&&!r.unselectable&&f.value)){f.value.value=String(r.modelValue);return}n("update:modelValue",h)}}),M=(0,e.computed)(()=>Array.isArray(v.value)?v.value.length>0:v.value!==void 0&&v.value!==null),H=(0,e.computed)(()=>$.value?!1:r.unselectable);(0,e.watch)((0,L.useElementVisibility)(f),h=>{h&&r.autofocus&&(c.value=!0)});const{hasIconBefore:A,hasIconAfter:re}=De(I,S),be=(0,e.computed)(()=>{if(r.invalid===!0)return!0;if(r.valid===!0)return!1}),ge=de("vv-select",P,(0,e.computed)(()=>({valid:Q.value,invalid:V.value,loading:R.value,disabled:D.value,readonly:E.value,"icon-before":A.value!==void 0,"icon-after":re.value!==void 0,dirty:M.value,focus:c.value&&!$.value,floating:T.value,multiple:te.value}))),{getOptionLabel:oe,getOptionValue:le,isOptionDisabled:ne,getOptionGrouped:K}=Vt(r);(0,e.watch)(()=>r.options,h=>{if(h?.length&&r.autoselectFirst&&!M.value){const _=le(h[0]);v.value=r.multiple?[_]:_}},{immediate:!0});function ce(){Array.isArray(v.value)?v.value=[]:v.value=void 0,n("clear")}const z=(0,e.computed)(()=>({name:r.name,tabindex:me.value,disabled:$.value,required:r.required,size:r.size,autocomplete:r.autocomplete,multiple:r.multiple,"aria-invalid":be.value,"aria-describedby":g.value?B.value:void 0,"aria-errormessage":s.value?B.value:void 0})),q=(0,e.computed)(()=>({valid:r.valid,invalid:r.invalid,modelValue:r.modelValue}));return(h,_)=>((0,e.openBlock)(),(0,e.createElementBlock)("div",{class:(0,e.normalizeClass)((0,e.unref)(ge))},[h.label?((0,e.openBlock)(),(0,e.createElementBlock)("label",{key:0,for:(0,e.unref)(X)},(0,e.toDisplayString)(h.label),9,Ar)):(0,e.createCommentVNode)("v-if",!0),(0,e.createElementVNode)("div",xr,[h.$slots.before?((0,e.openBlock)(),(0,e.createElementBlock)("div",Fr,[(0,e.renderSlot)(h.$slots,"before",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(q))))])):(0,e.createCommentVNode)("v-if",!0),(0,e.createElementVNode)("div",jr,[(0,e.unref)(A)?((0,e.openBlock)(),(0,e.createBlock)(Y,(0,e.mergeProps)({key:0},(0,e.unref)(A),{class:"vv-select__icon"}),null,16)):(0,e.createCommentVNode)("v-if",!0),(0,e.withDirectives)((0,e.createElementVNode)("select",(0,e.mergeProps)({id:(0,e.unref)(X),ref_key:"selectEl",ref:f},(0,e.unref)(z),{"onUpdate:modelValue":_[0]||(_[0]=x=>(0,e.isRef)(v)?v.value=x:null)}),[h.placeholder?((0,e.openBlock)(),(0,e.createElementBlock)("option",{key:0,value:void 0,disabled:!(0,e.unref)(H),hidden:!(0,e.unref)(H)},(0,e.toDisplayString)(h.placeholder),9,Tr)):(0,e.createCommentVNode)("v-if",!0),((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(h.options,(x,N)=>((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,null,[p(x)?((0,e.openBlock)(),(0,e.createElementBlock)("optgroup",{key:`group-${N}`,disabled:(0,e.unref)(ne)(x),label:(0,e.unref)(oe)(x)},[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)((0,e.unref)(K)(x),(Z,ue)=>((0,e.openBlock)(),(0,e.createElementBlock)("option",{key:`group-${N}-item-${ue}`,disabled:(0,e.unref)(ne)(Z),value:(0,e.unref)(le)(Z)},(0,e.toDisplayString)((0,e.unref)(oe)(Z)),9,Mr))),128))],8,zr)):((0,e.openBlock)(),(0,e.createElementBlock)("option",{key:N,disabled:(0,e.unref)(ne)(x),value:(0,e.unref)(le)(x)},(0,e.toDisplayString)((0,e.unref)(oe)(x)),9,Hr))],64))),256))],16,Rr),[[e.vModelSelect,(0,e.unref)(v)]]),(0,e.unref)(re)?((0,e.openBlock)(),(0,e.createBlock)(Y,(0,e.mergeProps)({key:1},(0,e.unref)(re),{class:"vv-select__icon vv-select__icon-after"}),null,16)):(0,e.createCommentVNode)("v-if",!0)]),(0,e.unref)(H)&&(0,e.unref)(l).showClearAction?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(bt),{key:1,"input-type":"select",label:h.labelClear,icon:h.iconClear,disabled:!(0,e.unref)(M),onClear:ce},null,8,["label","icon","disabled"])):(0,e.createCommentVNode)("v-if",!0),h.$slots.after?((0,e.openBlock)(),(0,e.createElementBlock)("div",Kr,[(0,e.renderSlot)(h.$slots,"after",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(q))))])):(0,e.createCommentVNode)("v-if",!0)]),(0,e.createVNode)((0,e.unref)(u),{id:(0,e.unref)(B),class:"vv-select__hint"},(0,e.createSlots)({_:2},[h.$slots.hint?{name:"hint",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(h.$slots,"hint",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(y))))]),key:"0"}:void 0,h.$slots.loading?{name:"loading",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(h.$slots,"loading",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(y))))]),key:"1"}:void 0,h.$slots.valid?{name:"valid",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(h.$slots,"valid",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(y))))]),key:"2"}:void 0,h.$slots.invalid?{name:"invalid",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(h.$slots,"invalid",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(y))))]),key:"3"}:void 0]),1032,["id"])],2))}}),Wr=Gr,Ur=["id"],Jr=["id","for"],Yr=["id","aria-controls","placeholder"],Qr={key:0,class:"vv-select__input-before"},Xr={class:"vv-select__inner"},Zr=["aria-controls","aria-expanded","aria-labelledby","aria-describedby","aria-errormessage","tabindex"],eo={key:0,class:"vv-select__value"},to=["aria-label","onClick"],ro={key:2,class:"vv-select__input-after"},oo={name:"VvCombobox",components:{VvDropdown:ht,VvDropdownOption:we,VvDropdownOptgroup:yt,VvButton:gt}},lo=(0,e.defineComponent)({...oo,props:(0,e.mergeModels)(dt(),{search:{type:String,default:"",required:!1},searchModifiers:{}}),emits:(0,e.mergeModels)(["update:modelValue","update:search","update:options","focus","blur","clear","change:search"],["update:search"]),setup(t,{emit:o}){const r=t,n=o,i=(0,e.useSlots)(),l=kt("VvCombobox",dt(),r),f=(0,e.ref)(null),u=(0,e.ref)(null),g=(0,e.ref)(null),s=(0,e.ref)(),{HintSlot:y,hasHintLabelOrSlot:c,hasInvalidLabelOrSlot:p,hintSlotScope:w}=mt(l,i),{focused:P}=Bt(f,n),{focused:D}=(0,L.useFocusWithin)(g);let E;function R(){clearTimeout(E),E=setTimeout(()=>{!P.value&&!D.value&&V.value&&te()},50)}(0,e.onBeforeUnmount)(()=>clearTimeout(E)),(0,e.watch)(P,a=>{if(r.autoOpen){if(a&&!V.value){clearTimeout(E),T();return}!a&&V.value&&!D.value&&R()}}),(0,e.watch)(D,a=>{if(a){clearTimeout(E);return}!P.value&&V.value&&R()});const I=(0,e.useModel)(t,"search"),S=(0,L.refDebounced)(I,(0,e.computed)(()=>Number(r.debounceSearch)));(0,e.watch)(S,()=>{n("update:search",S.value),n("change:search",S.value)});const V=(0,e.ref)(!1);function Q(){_.value||(V.value=!V.value)}function T(){_.value||V.value||(V.value=!0)}function te(){_.value||!V.value||(V.value=!1)}function X(){l.value.searchable&&u.value&&u.value.focus({preventScroll:!0})}function B(){l.value.keepSearch||(I.value="")}function $(a){return typeof a=="string"?!1:a.options?.length}const{id:me,icon:v,iconPosition:M,modifiers:H,disabled:A,required:re,readonly:be,loading:ge,valid:oe,invalid:le,floating:ne}=(0,e.toRefs)(r),K=Ie(me),ce=(0,e.computed)(()=>`${K.value}-hint`),z=(0,e.computed)(()=>`${K.value}-dropdown`),q=(0,e.computed)(()=>`${K.value}-search`),h=(0,e.computed)(()=>`${K.value}-label`),_=(0,e.computed)(()=>r.disabled||r.readonly),x=(0,e.computed)(()=>_.value?-1:r.tabindex),N=(0,e.computed)({get:()=>Array.isArray(r.modelValue)?r.modelValue:r.modelValue!==void 0&&r.modelValue!==null?[r.modelValue]:[],set:a=>{n("update:modelValue",r.multiple||Array.isArray(r.modelValue)?a:a.pop())}}),Z=(0,e.computed)(()=>N.value.length),ue=(0,e.computed)(()=>Z.value>0),d=(0,e.computed)(()=>r.multiple?r.maxValues===void 0?1/0:Number(r.maxValues):1),k=(0,e.computed)(()=>_.value||!r.unselectable?!1:Number(r.minValues)===0||Z.value>Number(r.minValues)),ae=(0,e.computed)(()=>_.value?!1:r.multiple?Z.value<d.value:!0),Ce=(0,e.ref)(!1),Pt=(0,e.computed)(()=>Ce.value||ge.value),{hasIconBefore:Ue,hasIconAfter:Je}=De(v,M),ao=de("vv-select",H,(0,e.computed)(()=>({disabled:A.value,required:re.value,loading:Pt.value,readonly:be.value,"icon-before":Ue.value!==void 0,"icon-after":Je.value!==void 0,valid:oe.value,invalid:le.value,dirty:ue.value,focus:(P.value||D.value||V.value)&&!_.value,floating:ne.value,badges:r.badges}))),Ae=(0,e.ref)(new Set),{getOptionLabel:G,getOptionValue:Ye,getOptionGrouped:he,isOptionDisabled:io}=Vt(r),wt=(0,e.computed)(()=>{const a=[...Ae.value];for(const b of r.options)$(b)?a.push(...he(b)):a.push(b);return a}),ye=(0,e.computed)(()=>{const a=[...r.options,...Ae.value];for(const b of N.value)wt.value.some(m=>{const C=Ye(m);return typeof C=="object"&&typeof b=="object"?JSON.stringify(C)===JSON.stringify(b):C===b})||a.push(b);return a});(0,e.watch)(Ae,a=>{a.size>0&&n("update:options",ye.value)});function xe(a){return io(a)||!ae.value&&!fe(a)}const Oe=(0,L.computedAsync)(async()=>{if(l.value.searchFunction){Ce.value=!0;const b=await Promise.resolve(l.value.searchFunction(S.value,ye.value));return Ce.value=!1,b}const a=S.value.toLowerCase().trim();return a?ye.value?.reduce((b,m)=>{if($(m)){const C=G(m).toLowerCase(),j=he(m).filter(Se=>G(Se).toLowerCase().includes(a));if(C.includes(a))b.push(m);else if(j.length>0){const Se=typeof m=="object"?{...m,options:j}:m;b.push(Se)}return b}return G(m).toLowerCase().includes(a)&&b.push(m),b},[]):ye.value});function fe(a){const b=Ye(a);return typeof b=="object"?N.value.some(m=>typeof m=="object"?JSON.stringify(m)===JSON.stringify(b):!1):N.value.includes(b)}const ve=(0,e.computed)(()=>ye.value.reduce((a,b)=>$(b)?[...a,...he(b)]:[...a,b],[]).filter(a=>fe(a))),Ct=(0,e.computed)(()=>ve.value.map(a=>G(a)).join(r.separator));function so(){r.autoOpen?T():Q()}function ee(a){const b=fe(a),m=Ye(a);b&&k.value?N.value=N.value.filter(C=>typeof m=="object"&&typeof C=="object"?JSON.stringify(C)!==JSON.stringify(m):C!==m):!b&&ae.value&&(r.multiple?N.value=[...N.value,m]:N.value=[m]),!r.multiple&&!r.keepOpen&&te()}function co(){N.value=[],n("update:search",""),n("clear")}(0,e.watch)(ye,a=>{if(a?.length&&r.autoselectFirst&&!ue.value){const b=a.find(C=>!$(C));if(b){ee(b);return}const m=a.find(C=>$(C));if(m){const C=he(m);C.length&&ee(C[0])}}},{immediate:!0});const uo=(0,e.computed)(()=>({id:K.value,name:r.name,tabindex:x.value,valid:oe.value,validLabel:l.value.validLabel,invalid:le.value,invalidLabel:l.value.invalidLabel,hintLabel:l.value.hintLabel,loading:Pt.value,loadingLabel:l.value.loadingLabel,disabled:A.value,readonly:be.value,modifiers:l.value.modifiers,options:l.value.options,labelKey:l.value.labelKey,valueKey:l.value.valueKey,icon:l.value.icon,iconPosition:l.value.iconPosition,floating:l.value.floating,unselectable:k.value,autoselectFirst:l.value.autoselectFirst,multiple:l.value.multiple,label:l.value.label,placeholder:l.value.placeholder,modelValue:r.modelValue})),fo=(0,e.computed)(()=>({id:z.value,reference:g.value,placement:l.value.placement,strategy:l.value.strategy,transitionName:l.value.transitionName,offset:l.value.offset,shift:l.value.shift,flip:l.value.flip,autoPlacement:l.value.autoPlacement,arrow:l.value.arrow,autofocusFirst:l.value.searchable?!0:l.value.autofocusFirst,triggerWidth:l.value.triggerWidth,modifiers:l.value.dropdownModifiers})),Ot=(0,e.computed)(()=>({valid:r.valid,invalid:r.invalid,modelValue:r.modelValue}));(0,L.onKeyStroke)([" ","Enter"],a=>{r.autoOpen||!V.value&&P.value&&(a.preventDefault(),a.stopImmediatePropagation(),Q())},{target:f});function po(){if(Oe.value?.length){if(Oe.value.length===1){const a=Oe.value[0];if($(a)){const b=he(a);b.length&&ee(b[0]);return}ee(a);return}s.value?.focusFirstListElement();return}if(l.value.addable){const a=I.value.trim();if(!a||wt.value.some(b=>G(b).toLowerCase()===a.toLowerCase()))return;Ae.value.add(a),ee(a)}}return(a,b)=>a.native?((0,e.openBlock)(),(0,e.createBlock)(Wr,(0,e.mergeProps)({key:1},(0,e.unref)(uo),{"onUpdate:modelValue":b[3]||(b[3]=m=>n("update:modelValue",m))}),null,16)):((0,e.openBlock)(),(0,e.createElementBlock)("div",{key:0,id:(0,e.unref)(K),class:(0,e.normalizeClass)((0,e.unref)(ao))},[a.label?((0,e.openBlock)(),(0,e.createElementBlock)("label",{key:0,id:(0,e.unref)(h),for:(0,e.unref)(l).searchable?(0,e.unref)(q):void 0},(0,e.toDisplayString)(a.label),9,Jr)):(0,e.createCommentVNode)("v-if",!0),(0,e.createElementVNode)("div",{ref_key:"wrapperEl",ref:g,class:"vv-select__wrapper"},[(0,e.createVNode)(ht,(0,e.mergeProps)({ref_key:"dropdownEl",ref:s,modelValue:(0,e.unref)(V),"onUpdate:modelValue":b[2]||(b[2]=m=>(0,e.isRef)(V)?V.value=m:null)},(0,e.unref)(fo),{role:(0,e.unref)(Ee).listbox,onAfterExpand:X,onAfterCollapse:B}),(0,e.createSlots)({default:(0,e.withCtx)(({aria:m})=>[a.$slots.before?((0,e.openBlock)(),(0,e.createElementBlock)("div",Qr,[(0,e.renderSlot)(a.$slots,"before",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(Ot))))])):(0,e.createCommentVNode)("v-if",!0),(0,e.createElementVNode)("div",Xr,[(0,e.unref)(Ue)?((0,e.openBlock)(),(0,e.createBlock)(Y,(0,e.mergeProps)({key:0},(0,e.unref)(Ue),{class:"vv-select__icon"}),null,16)):(0,e.createCommentVNode)("v-if",!0),(0,e.createElementVNode)("div",(0,e.mergeProps)({ref_key:"inputEl",ref:f},m,{class:"vv-select__input",role:"combobox","aria-controls":(0,e.unref)(z),"aria-expanded":(0,e.unref)(V),"aria-labelledby":(0,e.unref)(h),"aria-describedby":(0,e.unref)(c)?(0,e.unref)(ce):void 0,"aria-errormessage":(0,e.unref)(p)?(0,e.unref)(ce):void 0,tabindex:(0,e.unref)(x),onClickPassive:so}),[(0,e.unref)(Ct)?(0,e.renderSlot)(a.$slots,"value",(0,e.normalizeProps)((0,e.mergeProps)({key:0},{selectedOptions:(0,e.unref)(ve),onInput:ee})),()=>[a.badges?((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,{key:1},(0,e.renderList)((0,e.unref)(ve),(C,j)=>((0,e.openBlock)(),(0,e.createBlock)(er,{key:j,modifiers:a.badgeModifiers,class:"vv-select__badge"},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(G)(C))+" ",1),(0,e.unref)(k)?((0,e.openBlock)(),(0,e.createElementBlock)("button",{key:0,"aria-label":(0,e.unref)(l).deselectActionLabel,type:"button",onClick:(0,e.withModifiers)(Se=>ee(C),["stop"])},[(0,e.createVNode)(Y,{name:"close"})],8,to)):(0,e.createCommentVNode)("v-if",!0)]),_:2},1032,["modifiers"]))),128)):((0,e.openBlock)(),(0,e.createElementBlock)("div",eo,(0,e.toDisplayString)((0,e.unref)(Ct)),1))]):(0,e.renderSlot)(a.$slots,"placeholder",{key:1},()=>[(0,e.createTextVNode)((0,e.toDisplayString)(a.placeholder),1)])],16,Zr),(0,e.unref)(Je)?((0,e.openBlock)(),(0,e.createBlock)(Y,(0,e.mergeProps)({key:1},(0,e.unref)(Je),{class:"vv-select__icon vv-select__icon-after"}),null,16)):(0,e.createCommentVNode)("v-if",!0)]),(0,e.unref)(k)&&(0,e.unref)(l).showClearAction?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(bt),{key:1,"input-type":"select",label:a.labelClear,icon:a.iconClear,disabled:!(0,e.unref)(ue),onClear:co},null,8,["label","icon","disabled"])):(0,e.createCommentVNode)("v-if",!0),a.$slots.after?((0,e.openBlock)(),(0,e.createElementBlock)("div",ro,[(0,e.renderSlot)(a.$slots,"after",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(Ot))))])):(0,e.createCommentVNode)("v-if",!0)]),items:(0,e.withCtx)(()=>[!(0,e.unref)(A)&&(0,e.unref)(Oe)?.length?((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,{key:0},(0,e.renderList)((0,e.unref)(Oe),(m,C)=>((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:C},[$(m)?((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:0},[(0,e.createVNode)(yt,{label:(0,e.unref)(G)(m)},{default:(0,e.withCtx)(()=>[(0,e.renderSlot)(a.$slots,"option-group",(0,e.mergeProps)({ref_for:!0},{option:m,selectedOptions:(0,e.unref)(ve)}),()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(G)(m)),1)])]),_:2},1032,["label"]),((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)((0,e.unref)(he)(m),(j,Se)=>((0,e.openBlock)(),(0,e.createBlock)(we,(0,e.mergeProps)({ref_for:!0},{selected:fe(j),disabled:xe(j),unselectable:(0,e.unref)(k),deselectHintLabel:(0,e.unref)(l).deselectHintLabel,selectHintLabel:(0,e.unref)(l).selectHintLabel,selectedHintLabel:(0,e.unref)(l).selectedHintLabel,focusOnHover:a.focusOnHover},{key:Se,class:"vv-dropdown-option",onClickPassive:yo=>ee(j)}),{default:(0,e.withCtx)(()=>[(0,e.renderSlot)(a.$slots,"option",(0,e.mergeProps)({ref_for:!0},{option:j,selectedOptions:(0,e.unref)(ve),selected:fe(j),disabled:xe(j)}),()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(G)(j)),1)])]),_:2},1040,["onClickPassive"]))),128))],64)):((0,e.openBlock)(),(0,e.createBlock)(we,(0,e.mergeProps)({key:1,ref_for:!0},{selected:fe(m),disabled:xe(m),unselectable:(0,e.unref)(k),deselectHintLabel:(0,e.unref)(l).deselectHintLabel,selectHintLabel:(0,e.unref)(l).selectHintLabel,selectedHintLabel:(0,e.unref)(l).selectedHintLabel,focusOnHover:a.focusOnHover},{class:"vv-dropdown-option",onClickPassive:j=>ee(m)}),{default:(0,e.withCtx)(()=>[(0,e.renderSlot)(a.$slots,"option",(0,e.mergeProps)({ref_for:!0},{option:m,selectedOptions:(0,e.unref)(ve),selected:fe(m),disabled:xe(m)}),()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(G)(m)),1)])]),_:2},1040,["onClickPassive"]))],64))),128)):a.options.length?((0,e.openBlock)(),(0,e.createBlock)(we,{key:2,modifiers:"inert"},{default:(0,e.withCtx)(()=>[(0,e.renderSlot)(a.$slots,"no-results",{},()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(l).addable?(0,e.unref)(l).addOptionHintLabel:(0,e.unref)(l).noResultsLabel),1)])]),_:3})):((0,e.openBlock)(),(0,e.createBlock)(we,{key:1,modifiers:"inert"},{default:(0,e.withCtx)(()=>[(0,e.renderSlot)(a.$slots,"no-options",{},()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(l).addable&&I.value.length?(0,e.unref)(l).addOptionHintLabel:(0,e.unref)(l).noOptionsLabel),1)])]),_:3}))]),after:(0,e.withCtx)(()=>[(0,e.renderSlot)(a.$slots,"dropdown::after",{},()=>[(0,e.unref)(s)?.customPosition?((0,e.openBlock)(),(0,e.createBlock)(gt,{key:0,label:(0,e.unref)(l).closeLabel,modifiers:"secondary",onClick:b[1]||(b[1]=m=>(0,e.unref)(s).hide())},null,8,["label"])):(0,e.createCommentVNode)("v-if",!0)])]),_:2},[(0,e.unref)(l).searchable||a.$slots["dropdown::before"]?{name:"before",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(a.$slots,"dropdown::before"),(0,e.unref)(l).searchable&&!(0,e.unref)(A)?(0,e.withDirectives)(((0,e.openBlock)(),(0,e.createElementBlock)("input",{key:0,id:(0,e.unref)(q),ref_key:"inputSearchEl",ref:u,"onUpdate:modelValue":b[0]||(b[0]=m=>I.value=m),"aria-autocomplete":"list","aria-controls":(0,e.unref)(z),autocomplete:"off",spellcheck:"false",type:"search",class:"vv-dropdown__search",placeholder:(0,e.unref)(l).searchPlaceholder,onKeyup:(0,e.withKeys)(po,["enter"])},null,40,Yr)),[[e.vModelText,I.value]]):(0,e.createCommentVNode)("v-if",!0)]),key:"0"}:void 0]),1040,["modelValue","role"])],512),(0,e.createVNode)((0,e.unref)(y),{id:(0,e.unref)(ce),class:"vv-select__hint"},(0,e.createSlots)({_:2},[a.$slots.hint?{name:"hint",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(a.$slots,"hint",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(w))))]),key:"0"}:void 0,a.$slots.loading?{name:"loading",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(a.$slots,"loading",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(w))))]),key:"1"}:void 0,a.$slots.valid?{name:"valid",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(a.$slots,"valid",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(w))))]),key:"2"}:void 0,a.$slots.invalid?{name:"invalid",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(a.$slots,"invalid",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(w))))]),key:"3"}:void 0]),1032,["id"])],10,Ur))}}),no=lo;return no});
|
|
1
|
+
(function(e,W){typeof exports=="object"&&typeof module<"u"?module.exports=W(require("vue"),require("@iconify/vue"),require("@floating-ui/vue"),require("@vueuse/core"),require("mitt"),require("dot-prop")):typeof define=="function"&&define.amd?define(["vue","@iconify/vue","@floating-ui/vue","@vueuse/core","mitt","dot-prop"],W):(e=typeof globalThis<"u"?globalThis:e||self,e.VvCombobox=W(e.Vue,e.IconifyVue,e.FloatingUiVue,e.VueuseCore,e.mitt,e.dotProp))})(this,function(e,W,F,L,Fe,Te){var Lt=Object.create,Qe=Object.defineProperty,Et=Object.getOwnPropertyDescriptor,$t=Object.getOwnPropertyNames,_t=Object.getPrototypeOf,Nt=Object.prototype.hasOwnProperty,Dt=(t,o,r,l)=>{if(o&&typeof o=="object"||typeof o=="function")for(var n=$t(o),a=0,b=n.length,c;a<b;a++)c=n[a],!Nt.call(t,c)&&c!==r&&Qe(t,c,{get:(y=>o[y]).bind(null,c),enumerable:!(l=Et(o,c))||l.enumerable});return t},It=(t,o,r)=>(r=t!=null?Lt(_t(t)):{},Dt(o||!t||!t.__esModule?Qe(r,"default",{value:t,enumerable:!0}):r,t));Fe=It(Fe,1);var At={showPassword:"eye-on",hidePassword:"eye-off",showDatePicker:"calendar",showTimePicker:"time",showColorPicker:"color",clear:"close",add:"add",remove:"trash",edit:"edit",download:"download"},xt={prefix:"normal"},Xe=(function(t){return t.local="local",t.session="session",t})({}),Ze=(function(t){return t.absolute="absolute",t.fixed="fixed",t})({}),O=(function(t){return t.left="left",t.right="right",t.top="top",t.bottom="bottom",t})({}),Ft=(function(t){return 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})({}),Le=(function(t){return t.before="before",t.after="after",t})({}),et=(function(t){return t.button="button",t.submit="submit",t.reset="reset",t})({}),U=(function(t){return t.nuxtLink="nuxt-link",t.routerLink="router-link",t.a="a",t.button="button",t})({}),Tt=(function(t){return t.button="button",t.link="link",t.menuitem="menuitem",t})({}),Ee=(function(t){return t.listbox="listbox",t.menu="menu",t})({}),tt=(function(t){return t.option="option",t.presentation="presentation",t})({}),jt=Symbol.for("volver"),Rt=Symbol.for("buttonGroup"),rt=Symbol.for("dropdownTrigger"),ot=Symbol.for("dropdownItem"),lt=Symbol.for("dropdownAction"),Ht={to:{type:[String,Object]},href:String,target:String,rel:{type:String,default:"noopener noreferrer"}},ke={valid:{type:Boolean,default:!1},validLabel:{type:[String,Array],default:void 0}},Be={invalid:{type:Boolean,default:!1},invalidLabel:{type:[String,Array],default:void 0}},pe={loading:{type:Boolean,default:!1},loadingLabel:{type:String,default:"Loading..."}},ie={disabled:{type:Boolean,default:!1}},je={required:{type:Boolean,default:!1}},zt={selected:{type:Boolean,default:!1}},Mt={active:{type:Boolean,default:!1}},Kt={current:{type:Boolean,default:!1}},at={showClearAction:{type:Boolean,default:!1},iconClear:{type:[String,Object],default:At.clear},labelClear:{type:String,default:"Clear"}},qt={pressed:{type:Boolean,default:!1}},se={label:{type:[String,Number],default:void 0}},Ve={readonly:{type:Boolean,default:!1}},J={modifiers:{type:[String,Array],default:void 0}},Pe={hintLabel:{type:String,default:""}},Re={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:t=>[!0,!1,"limit","countdown"].includes(t)}},Wt={debounce:{type:[Number,String],default:void 0}},$e={icon:{type:[String,Object],default:void 0},iconPosition:{type:String,default:Le.before,validation:t=>Object.values(Le).includes(t)}},_e={tabindex:{type:[String,Number],default:0}},He={floating:{type:Boolean,default:!1}},ze={unselectable:{type:Boolean,default:!0}},Me={id:[String,Number]},Ke={placement:{type:String,default:O.bottom,validator:t=>Object.values(O).includes(t)||Object.values(Ft).includes(t)},strategy:{type:String,default:void 0,validator:t=>Object.values(Ze).includes(t)},transitionName:{type:String,default:void 0},offset:{type:[Number,String,Object],default:0},shift:{type:[Boolean,Object],default:!1},flip:{type:[Boolean,Object],default:!0},size:{type:[Boolean,Object],default:()=>({padding:10})},autoPlacement:{type:[Boolean,Object],default:!1},arrow:{type:Boolean,default:!1},keepOpen:{type:Boolean,default:!1},autofocusFirst:{type:Boolean,default:!0},triggerWidth:{type:Boolean,default:!1}},Ne={...Me,name:{type:String,required:!0}},nt={autofocus:{type:Boolean,default:!1}},it={autocomplete:{type:String,default:"off"}},go={...Ne,...nt,...it,..._e,...ie,...Ve,...ke,...Be,...Pe,...pe,...J,...Gt,...Wt,...$e,...He,...se,minlength:{type:[String,Number],default:void 0},maxlength:{type:[String,Number],default:void 0},placeholder:{type:String,default:void 0},...je},ho={...Ne,..._e,...ke,...Be,...Pe,...ie,...Ve,...J,...se,...pe,value:{type:[String,Number,Boolean],default:void 0},modelValue:{type:[Object,Number,Boolean,String],default:void 0}},yo={...ke,...Be,...Re,...Pe,...ie,...Ve,...J,...se,...pe,...je,modelValue:{type:[String,Array,Boolean,Number,Symbol],default:void 0},name:{type:String,required:!0},vertical:{type:Boolean,default:!1}},st={...ie,...se,...qt,...Mt,...Kt,...Ht,type:{type:String,default:et.button,validator:t=>Object.values(et).includes(t)},ariaLabel:{type:String,default:void 0},defaultTag:{type:String,default:U.button}},vo={storageType:{type:String,default:Xe.local,validator:t=>Object.values(Xe).includes(t)},storageKey:String},qe={...Ne,..._e,...ke,...Be,...Pe,...pe,...ie,...Ve,...J,...Re,...$e,...He,...Ke,...se,...je,...at,transitionName:{type:String,default:"vv-dropdown--mobile-fade-block"},modelValue:{type:[String,Number,Boolean,Object,Array],default:void 0},noResultsLabel:{type:String,default:"No results"},noOptionsLabel:{type:String,default:"No options available"},selectedOptionNotFoundLabel:{type:String,default:"Selected option not found"},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"},addOptionHintLabel:{type:String,default:"Press enter to add"},closeLabel:{type:String,default:"Close"},placeholder:String,addable:Boolean,searchable:Boolean,keepSearch:Boolean,searchFunction:{type:Function,default:void 0},searchPlaceholder:{type:String,default:"Search..."},debounceSearch:{type:[Number,String],default:0},multiple:Boolean,minValues:{type:[Number,String],default:0},maxValues:[Number,String],unselectable:{type:Boolean,default:!0},separator:{type:String,default:", "},native:Boolean,badges:Boolean,badgeModifiers:{type:[String,Array],default:"action sm"},triggerWidth:{...Ke.triggerWidth,default:!0},dropdownModifiers:{type:[String,Array],default:"mobile"},autoOpen:{type:Boolean,default:!1},autoselectFirst:{type:Boolean,default:!1},keepOpen:{type:Boolean,default:!1},focusOnHover:{type:Boolean,default:!0}};function dt(){return{...qe,options:{...qe.options,type:Array},searchFunction:{...qe.searchFunction,type:Function}}}function ct(t,o,r){return r?ut(t,r)===ut(o,r):Ge(t,o)}function Ut(t,o){if(t.length!==o.length)return!1;for(let r=t.length;r--!==0;)if(!Ge(t[r],o[r]))return!1;return!0}function Jt(t,o){const r=Object.keys(t),{length:l}=r;if(l!==Object.keys(o).length)return!1;for(let n=l;n--!==0;)if(!Object.hasOwn(o,r[n]))return!1;for(let n=l;n--!==0;){const a=r[n];if(!Ge(t[a],o[a]))return!1}return!0}function Ge(t,o){if(t===o)return!0;if(!t||!o||typeof t!="object"||typeof o!="object")return Number.isNaN(t)&&Number.isNaN(o);const r=Array.isArray(t),l=Array.isArray(o);if(r!==l)return!1;if(r&&l)return Ut(t,o);const n=t instanceof Date,a=o instanceof Date;if(n!==a)return!1;if(n&&a)return t.getTime()===o.getTime();const b=t instanceof RegExp,c=o instanceof RegExp;return b!==c?!1:b&&c?t.toString()===o.toString():Jt(t,o)}function ut(t,o){if(t&&Object.keys(t).length&&o){if(!o.includes("."))return t[o];const r=o.split(".");let l=t;for(let n=0,a=r.length;n<a;++n){if(l==null)return null;l=l[r[n]]}return l}else return null}function ft(t,o){if(t!=null&&o?.length){for(const r of o)if(ct(t,r))return!0}return!1}function Yt(t){return typeof t=="string"}function pt(t){return Array.isArray(t)?t.filter(o=>Yt(o)).join(" "):t}function mt(t,o){const r=(0,e.computed)(()=>(0,e.isRef)(t)?t.value:t),l=(0,e.computed)(()=>pt(r.value.invalidLabel)),n=(0,e.computed)(()=>pt(r.value.validLabel)),a=(0,e.computed)(()=>r.value.loadingLabel),b=(0,e.computed)(()=>r.value.hintLabel),c=(0,e.computed)(()=>!!(r.value.loading&&(o.loading||a.value))),y=(0,e.computed)(()=>!c.value&&!!(r.value.invalid&&(o.invalid||l.value))),d=(0,e.computed)(()=>!c.value&&!y.value&&!!(r.value.valid&&(o.valid||n.value))),S=(0,e.computed)(()=>!c.value&&!y.value&&!d.value&&!!(o.hint||b.value)),f=(0,e.computed)(()=>y.value||d.value||c.value||S.value);return{hasInvalidLabelOrSlot:y,hasHintLabelOrSlot:S,hasValidLabelOrSlot:d,hasLoadingLabelOrSlot:c,hintSlotScope:(0,e.computed)(()=>({modelValue:r.value.modelValue,valid:r.value.valid,invalid:r.value.invalid,loading:r.value.loading})),HintSlot:(0,e.defineComponent)({name:"HintSlot",props:{tag:{type:String,default:"small"}},setup(){return{isVisible:f,invalidLabel:l,validLabel:n,loadingLabel:a,hintLabel:b,hasInvalidLabelOrSlot:y,hasValidLabelOrSlot:d,hasLoadingLabelOrSlot:c,hasHintLabelOrSlot:S}},render(){if(this.isVisible){let m;return this.hasInvalidLabelOrSlot&&(m="alert"),this.hasValidLabelOrSlot&&(m="status"),this.hasLoadingLabelOrSlot?(0,e.h)(this.tag,{role:m},this.$slots.loading?.()??this.loadingLabel):this.hasInvalidLabelOrSlot?(0,e.h)(this.tag,{role:m},this.$slots.invalid?.()??this.$slots.invalid??this.invalidLabel):this.hasValidLabelOrSlot?(0,e.h)(this.tag,{role:m},this.$slots.valid?.()??this.validLabel):(0,e.h)(this.tag,{role:m},this.$slots.hint?.()??this.$slots.hint??this.hintLabel)}return null}})}}function We(){return(0,e.inject)(jt,void 0)}function de(t,o,r){return(0,e.computed)(()=>{const l={[t]:!0},n=typeof o?.value=="string"?o.value.split(" "):o?.value;return n&&Array.isArray(n)&&n.forEach(a=>{a&&(l[`${t}--${a}`]=!0)}),r&&Object.keys(r.value).forEach(a=>{l[`${t}--${a}`]=(0,e.unref)(r.value[a])}),l})}var Qt={name:"VvIcon"},Xt=(0,e.defineComponent)({...Qt,props:(0,e.mergeDefaults)({name:{},color:{},width:{},height:{},provider:{},prefix:{},src:{},horizontalFlip:{type:Boolean},verticalFlip:{type:Boolean},flip:{},mode:{},inline:{type:Boolean},rotate:{},onLoad:{type:Function},svg:{},modifiers:{}},xt),setup(t){const o=t,r=(0,e.computed)(()=>typeof o.rotate=="string"?Number.parseFloat(o.rotate):o.rotate),l=(0,e.ref)(!0),n=We(),{modifiers:a}=(0,e.toRefs)(o),b=de("vv-icon",a),c=(0,e.computed)(()=>o.provider||n?.iconsProvider),y=(0,e.computed)(()=>{const f=o.name??"",m=`@${c.value}:${o.prefix}:${f}`;if((0,W.iconLoaded)(m))return m;const w=n?.iconsCollections.find(P=>(0,W.iconLoaded)(`@${c.value}:${P.prefix}:${f}`));return w?`@${c.value}:${w.prefix}:${f}`:f});function d(f){return globalThis.window===void 0?null:new globalThis.DOMParser().parseFromString(f,"text/html").querySelector("svg")}function S(f){const m=d(f),w=m?.innerHTML.trim()||"";m&&w&&(0,W.addIcon)(`@${c.value}:${o.prefix}:${o.name}`,{body:w,height:m.viewBox.baseVal.height,width:m.viewBox.baseVal.width})}return n&&o.src&&!(0,W.iconLoaded)(`@${c.value}:${o.prefix}:${o.name}`)&&(l.value=!1,n.fetchIcon(o.src).then(f=>{f&&S(f),l.value=!0}).catch(f=>{throw l.value=!0,new Error(`Error during fetch icon: ${f?.message}`)})),o.svg&&S(o.svg),(f,m)=>(0,e.unref)(l)?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(W.Icon),(0,e.mergeProps)({key:0,class:(0,e.unref)(b)},{inline:t.inline,width:t.width,height:t.height,horizontalFlip:t.horizontalFlip,verticalFlip:t.verticalFlip,flip:t.flip,rotate:(0,e.unref)(r),color:t.color,icon:(0,e.unref)(y)},{onLoad:t.onLoad}),null,16,["class","onLoad"])):(0,e.createCommentVNode)("v-if",!0)}}),Y=Xt;function De(t,o){const r=(0,e.computed)(()=>typeof t?.value=="string"?{name:t?.value}:t?.value),l=(0,e.computed)(()=>o?.value===Le.before?r.value:void 0),n=(0,e.computed)(()=>o?.value===Le.after?r.value:void 0);return{hasIcon:r,hasIconLeft:(0,e.computed)(()=>o?.value===O.left?r.value:void 0),hasIconRight:(0,e.computed)(()=>o?.value===O.right?r.value:void 0),hasIconTop:(0,e.computed)(()=>o?.value===O.top?r.value:void 0),hasIconBottom:(0,e.computed)(()=>o?.value===O.bottom?r.value:void 0),hasIconBefore:l,hasIconAfter:n}}var bt=(0,e.defineComponent)({components:{VvIcon:Y},props:{inputType:{type:String,default:"input-text"},disabled:{type:Boolean,default:!1},label:{type:String,default:"Clear"},icon:{type:[String,Object],default:"close"}},emits:["clear"],setup(t,{emit:o}){const{hasIcon:r}=De((0,e.computed)(()=>t.icon));function l(n){n?.stopPropagation(),t.disabled||o("clear")}return{hasIcon:r,onClick:l}},render(){const t=this.hasIcon?(0,e.h)(Y,{...this.hasIcon,class:`vv-${this.inputType}__icon`}):void 0;return(0,e.h)("button",{disabled:this.disabled,class:`vv-${this.inputType}__action`,ariaLabel:this.label,type:"button",onClick:this.onClick},t)}}),Zt={...J,value:[String,Number]},er={name:"VvBadge"},tr=(0,e.defineComponent)({...er,props:Zt,setup(t){const{modifiers:o}=(0,e.toRefs)(t),r=de("vv-badge",o);return(l,n)=>((0,e.openBlock)(),(0,e.createElementBlock)("span",{class:(0,e.normalizeClass)((0,e.unref)(r))},[(0,e.renderSlot)(l.$slots,"default",{},()=>[(0,e.createTextVNode)((0,e.toDisplayString)(l.value),1)])],2))}}),rr=tr;function or(t){const o=(0,e.inject)(t,void 0),r=(0,e.computed)(()=>o!==void 0);function l(n,a,b){const c=o?.[n];if(c)return(0,e.computed)({get(){return c.value},set(d){c.value=d}});const y=(0,e.toRef)(a,n);return(0,e.computed)({get(){return y.value},set(d){b&&b(`update:${n}`,d)}})}return{group:o,isInGroup:r,getGroupOrLocalRef:l}}var lr=["update:modelValue"],ar={...st,...Me,...J,...ze,...pe,...$e,iconPosition:{type:String,default:O.left,validator:t=>Object.values(O).includes(t)},loadingIcon:{type:String,default:"eos-icons:bubble-loading"},toggle:{type:Boolean,default:!1},value:{type:[String,Number,Boolean],default:void 0},uncheckedValue:{type:[String,Number,Boolean],default:void 0},modelValue:{type:[String,Number,Boolean],default:void 0}};function nr(t,o){const{group:r,isInGroup:l,getGroupOrLocalRef:n}=or(Rt),{id:a,iconPosition:b,icon:c,label:y,pressed:d}=(0,e.toRefs)(t);return{group:r,isInGroup:l,modelValue:n("modelValue",t,o),toggle:n("toggle",t),unselectable:n("unselectable",t),multiple:(0,e.computed)(()=>r?.multiple.value??!1),modifiers:(0,e.computed)(()=>{let S=t.modifiers,f=r?.modifiers.value;const m=new Set;return S&&(Array.isArray(S)||(S=S.split(" ")),S.forEach(w=>m.add(w))),f&&(Array.isArray(f)||(f=f.split(" ")),f.forEach(w=>m.add(w))),[...m]}),disabled:(0,e.computed)(()=>!!(t.disabled||r?.disabled.value)),id:a,pressed:d,iconPosition:b,icon:c,label:y}}var ir=["click","mouseover","mouseleave"];function sr(){return(0,e.inject)(rt,{})}function dr(){return(0,e.inject)(ot,{})}function cr(){return(0,e.inject)(lt,{})}var ur={name:"VvAction"},fr=(0,e.defineComponent)({...ur,props:st,emits:ir,setup(t,{expose:o,emit:r}){const l=t,n=r,a=(0,e.getCurrentInstance)(),b=We(),c=(0,e.ref)(null);o({$el:c});const{reference:y,bus:d,aria:S,expanded:f}=sr();(0,e.watch)(()=>c.value,v=>{y&&(y.value=v)});const m=(0,e.computed)(()=>l.pressed||f?.value),{role:w}=cr(),P=(0,e.computed)(()=>{switch(!0){case l.disabled:return U.button;case l.to!==void 0:return b?.nuxt?(0,e.resolveComponent)(U.nuxtLink):U.routerLink;case l.href!==void 0:return U.a;default:return l.defaultTag}}),D=(0,e.computed)(()=>{const v={...S?.value,ariaPressed:m.value?!0:void 0,ariaLabel:l.ariaLabel,role:w?.value};switch(P.value){case U.a:return{...v,href:l.href,target:l.target,rel:l.rel};case U.routerLink:case U.nuxtLink:return{...v,to:l.to,target:l.target};case U.button:return{...v,type:l.type,disabled:l.disabled};default:return v}});function E(v){if(l.disabled){v.preventDefault();return}if(a?.vnode.props?.onClick){n("click",v);return}d?.emit("click",v)}function j(v){if(a?.vnode.props?.onMouseover){n("mouseover",v);return}d?.emit("mouseover",v)}function I(v){if(a?.vnode.props?.onMouseleave){n("mouseleave",v);return}d?.emit("mouseleave",v)}return(v,V)=>((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)((0,e.unref)(P)),(0,e.mergeProps)((0,e.unref)(D),{ref_key:"rootEl",ref:c,class:{active:v.active,pressed:(0,e.unref)(m),disabled:v.disabled,current:v.current},onClickPassive:E,onMouseoverPassive:j,onMouseleavePassive:I}),{default:(0,e.withCtx)(()=>[(0,e.renderSlot)(v.$slots,"default",{},()=>[(0,e.createTextVNode)((0,e.toDisplayString)(v.label),1)])]),_:3},16,["class"]))}}),pr=fr;function Ie(t){return(0,e.computed)(()=>String(t?.value||(0,e.useId)()))}var mr={key:1,class:"vv-button__label"},br={key:1,class:"vv-button__label"},gr={name:"VvButton",inheritAttrs:!1},hr=(0,e.defineComponent)({...gr,props:ar,emits:lr,setup(t,{expose:o,emit:r}){const l=t,n=r,a=(0,e.useAttrs)(),b=(0,e.useSlots)(),{id:c,modifiers:y,iconPosition:d,icon:S,label:f,modelValue:m,disabled:w,toggle:P,unselectable:D}=nr(l,n),E=Ie(c),j=(0,e.computed)(()=>a?.name||E.value),I=(0,e.ref)(null);o({$el:(0,e.computed)(()=>I.value?.$el)});const v=(0,e.computed)(()=>P.value?Array.isArray(m.value)?ft(j.value,m.value):ct(j.value,m.value):l.pressed),V=de("vv-button",y,(0,e.computed)(()=>({reverse:[O.right,O.bottom].includes(d.value),column:[O.top,O.bottom].includes(d.value),"icon-only":!!(S?.value&&!f?.value&&!b.default)}))),{hasIcon:Q}=De(S),R=(0,e.computed)(()=>l.value===void 0?j.value:l.value),te=(0,e.computed)(()=>{if(P.value)return{onClick:X}});function X(){if(P.value){if(Array.isArray(m.value)){if(ft(R.value,m.value)){D.value&&(m.value=m.value.filter(B=>B!==R.value));return}m.value.push(R.value);return}if(R.value===m.value&&D.value){m.value=l.uncheckedValue;return}m.value=R.value}}return(B,$)=>((0,e.openBlock)(),(0,e.createBlock)(pr,(0,e.mergeProps)({...(0,e.unref)(a),...(0,e.unref)(te),disabled:(0,e.unref)(w),pressed:(0,e.unref)(v),active:B.active,type:B.type,to:B.to,href:B.href,target:B.target,rel:B.rel,ariaLabel:B.ariaLabel},{id:(0,e.unref)(E),ref_key:"rootEl",ref:I,class:(0,e.unref)(V)}),{default:(0,e.withCtx)(()=>[(0,e.renderSlot)(B.$slots,"default",{},()=>[B.loading?(0,e.renderSlot)(B.$slots,"loading",{key:0},()=>[B.loadingIcon?((0,e.openBlock)(),(0,e.createBlock)(Y,{key:0,class:"vv-button__loading-icon",name:B.loadingIcon},null,8,["name"])):(0,e.createCommentVNode)("v-if",!0),B.loadingLabel?((0,e.openBlock)(),(0,e.createElementBlock)("span",mr,(0,e.toDisplayString)(B.loadingLabel),1)):(0,e.createCommentVNode)("v-if",!0)]):((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:1},[(0,e.renderSlot)(B.$slots,"before"),(0,e.unref)(Q)?((0,e.openBlock)(),(0,e.createBlock)(Y,(0,e.mergeProps)({key:0},(0,e.unref)(Q),{class:"vv-button__icon"}),null,16)):(0,e.createCommentVNode)("v-if",!0),(0,e.unref)(f)?((0,e.openBlock)(),(0,e.createElementBlock)("span",br,[(0,e.renderSlot)(B.$slots,"label",{},()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(f)),1)])])):(0,e.createCommentVNode)("v-if",!0),(0,e.renderSlot)(B.$slots,"after")],64))])]),_:3},16,["id","class"]))}}),gt=hr,yr={...Me,...Ke,...J,modelValue:{type:Boolean,default:void 0},reference:{type:Object,default:null},role:{type:String,default:Ee.menu,validator:t=>Object.values(Ee).includes(t)}},vr={focusOnHover:{type:Boolean,default:!1}},Sr={...ie,...zt,...ze,...J,deselectHintLabel:{type:String},selectHintLabel:{type:String},selectedHintLabel:{type:String},focusOnHover:{type:Boolean,default:!1}};function kr({reference:t,id:o,expanded:r,aria:l}){const n=(0,Fe.default)();return{bus:n,component:(0,e.defineComponent)({name:"VvDropdownTriggerProvider",setup(){(0,e.provide)(rt,{reference:t,id:o,expanded:r,aria:l,bus:n})},render(){return(0,e.h)(e.Fragment,{},this.$slots.default?.())}})}}function Br({role:t,...o}){const r=(0,e.computed)(()=>t.value===Ee.listbox?tt.option:tt.presentation);return(0,e.provide)(ot,{role:r,...o}),{itemRole:r}}function Vr({expanded:t}){(0,e.provide)(lt,{role:(0,e.ref)(Tt.menuitem),expanded:t})}var Pr=["id","tabindex","role","aria-labelledby"],wr={name:"VvDropdown",inheritAttrs:!1},Cr=(0,e.defineComponent)({...wr,props:yr,emits:["update:modelValue","beforeEnter","afterLeave","beforeExpand","beforeCollapse","afterExpand","afterCollapse","before-enter","after-leave","enter","afterEnter","enterCancelled","beforeLeave","leave","leaveCancelled"],setup(t,{expose:o,emit:r}){const l=t,n=r,{id:a}=(0,e.toRefs)(l),b=Ie(a),c=(0,e.useAttrs)(),y=(0,e.ref)("auto"),d=(0,e.ref)("auto"),S=(0,e.ref)(),f=(0,e.ref)(),m=(0,e.ref)(),w=(0,e.ref)(),P=(0,e.computed)({get:()=>l.reference??S.value,set:s=>{S.value=s}}),D=(0,e.ref)(!1);(0,e.onMounted)(()=>{(0,L.useMutationObserver)(f.value,()=>{D.value=globalThis.getComputedStyle(f.value).getPropertyValue("--dropdown-custom-position")?.trim()==="true"},{attributeFilter:["style"],window:globalThis.window})});function E(s,k,ne){return typeof s=="boolean"?k():ne(s)}const j=(0,e.computed)(()=>{const s=[];if(l.autoPlacement?s.push(E(l.autoPlacement,()=>(0,F.autoPlacement)(),k=>(0,F.autoPlacement)(k))):l.flip&&s.push(E(l.flip,()=>(0,F.flip)({fallbackStrategy:"initialPlacement"}),k=>(0,F.flip)(k))),l.shift&&s.push(E(l.shift,()=>(0,F.shift)(),k=>(0,F.shift)(k))),l.size){const k=({availableWidth:ne,availableHeight:Ce})=>{y.value=`${ne}px`,d.value=`${Ce}px`};s.push(E(l.size,()=>(0,F.size)({apply:k}),ne=>(0,F.size)({...ne,apply:k})))}return l.offset&&s.push(["string","number"].includes(typeof l.offset)?(0,F.offset)(Number(l.offset)):(0,F.offset)(l.offset)),l.arrow&&s.push((0,F.arrow)({element:m})),s}),{x:I,y:v,middlewareData:V,placement:Q,strategy:R}=(0,F.useFloating)(P,f,{whileElementsMounted:(...s)=>(0,F.autoUpdate)(...s,{animationFrame:l.strategy===Ze.fixed}),placement:(0,e.computed)(()=>l.placement),strategy:(0,e.computed)(()=>l.strategy),middleware:j}),te=(0,e.computed)(()=>{if(D.value)return;const s=l.triggerWidth&&P.value?`${P.value?.offsetWidth}px`:void 0;return{position:R.value,top:`${v.value??0}px`,left:`${I.value??0}px`,maxWidth:s?void 0:y.value,maxHeight:d.value,width:s}}),X=(0,e.computed)(()=>Q.value.split("-")[0]),B=(0,e.computed)(()=>{if(D.value)return;const s={[O.top]:O.bottom,[O.right]:O.left,[O.bottom]:O.top,[O.left]:O.right}[X.value];return{left:V.value.arrow?.x===void 0?void 0:`${V.value.arrow?.x}px`,top:V.value.arrow?.y===void 0?void 0:`${V.value.arrow?.y}px`,[s]:`${-(m.value?.offsetWidth??0)/2}px`}}),$=(0,L.useVModel)(l,"modelValue",n),me=(0,e.ref)(!1),h=(0,e.computed)({get:()=>$.value??me.value,set:s=>{if($.value===void 0){me.value=s;return}$.value=s}});function M(){h.value=!0}function H(){h.value=!1}function A(){h.value=!h.value}function re(s){P.value=s}(0,L.onClickOutside)(f,()=>{!l.keepOpen&&h.value&&(h.value=!1)},{ignore:[P]});const be=(0,e.computed)(()=>P.value?.getAttribute?.("id")??void 0),ge=(0,e.computed)(()=>({"aria-controls":b.value,"aria-haspopup":!0,"aria-expanded":h.value})),{component:oe,bus:le}=kr({reference:P,id:b,expanded:h,aria:ge});le.on("click",A);const{role:ae,modifiers:K}=(0,e.toRefs)(l),ce=de("vv-dropdown",K,(0,e.computed)(()=>({arrow:l.arrow}))),{focused:z}=(0,L.useFocusWithin)(f);function q(s){return s?[...s.querySelectorAll('a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])')].filter(k=>!k.hasAttribute("disabled")&&!k.getAttribute("aria-hidden")):[]}function g(){(0,e.nextTick)(()=>{const s=q(f.value);s.length>0&&s[0].focus({preventScroll:!0})})}function _(){(0,e.nextTick)(()=>{const s=q(w.value);s.length>0&&s[0].focus({preventScroll:!0})})}function x(){(0,e.nextTick)(()=>{if(z.value){const s=q(f.value);if(s.length===0||!document.activeElement)return;const k=s.indexOf(document.activeElement);k<s.length-1?s[k+1].focus({preventScroll:!0}):s[0].focus({preventScroll:!0})}})}function N(){(0,e.nextTick)(()=>{if(z.value){const s=q(f.value);if(s.length===0||!document.activeElement)return;const k=s.indexOf(document.activeElement);if(k>0){s[k-1].focus({preventScroll:!0});return}s.at(-1)?.focus({preventScroll:!0})}})}(0,e.watch)(h,s=>{s&&l.autofocusFirst&&g()}),o({toggle:A,show:M,hide:H,init:re,focusFirst:g,focusFirstListElement:_,focusNext:x,focusPrev:N,customPosition:D});const{itemRole:Z}=Br({role:ae,expanded:h,focused:z,hovered:(0,L.useElementHover)(f)});(0,L.onKeyStroke)("Escape",s=>{h.value&&(s.preventDefault(),H())}),(0,L.onKeyStroke)("ArrowDown",s=>{h.value&&z.value&&(s.preventDefault(),x())}),(0,L.onKeyStroke)("ArrowUp",s=>{h.value&&z.value&&(s.preventDefault(),N())}),(0,L.onKeyStroke)([" ","Enter"],s=>{const k=s.target;h.value&&z.value&&k&&k?.click()});const ue={"before-enter":()=>{n(h.value?"beforeExpand":"beforeCollapse"),n("beforeEnter")},"after-leave":()=>{n(h.value?"afterExpand":"afterCollapse"),n("afterLeave")},enter:()=>{n("enter")},"after-enter":()=>{n("afterEnter")},"enter-cancelled":()=>{n("enterCancelled")},"before-leave":()=>{n("beforeLeave")},leave:()=>{n("leave")},"leave-cancelled":()=>{n("leaveCancelled")}};return(s,k)=>((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,null,[(0,e.createVNode)((0,e.unref)(oe),null,{default:(0,e.withCtx)(()=>[(0,e.renderSlot)(s.$slots,"default",(0,e.normalizeProps)((0,e.guardReactiveProps)({init:re,show:M,hide:H,toggle:A,expanded:(0,e.unref)(h),aria:(0,e.unref)(ge)})))]),_:3}),(0,e.createVNode)(e.Transition,(0,e.mergeProps)({name:s.transitionName},(0,e.toHandlers)(ue),{persisted:""}),{default:(0,e.withCtx)(()=>[(0,e.withDirectives)((0,e.createElementVNode)("div",{ref_key:"floatingEl",ref:f,style:(0,e.normalizeStyle)((0,e.unref)(te)),class:(0,e.normalizeClass)((0,e.unref)(ce))},[l.arrow?((0,e.openBlock)(),(0,e.createElementBlock)("div",{key:0,ref_key:"arrowEl",ref:m,style:(0,e.normalizeStyle)((0,e.unref)(B)),class:"vv-dropdown__arrow"},null,4)):(0,e.createCommentVNode)("v-if",!0),(0,e.renderSlot)(s.$slots,"before",(0,e.normalizeProps)((0,e.guardReactiveProps)({show:M,hide:H,toggle:A,expanded:(0,e.unref)(h)}))),(0,e.createElementVNode)("div",(0,e.mergeProps)((0,e.unref)(c),{id:(0,e.unref)(b),ref_key:"listEl",ref:w,tabindex:(0,e.unref)(h)?void 0:-1,role:(0,e.unref)(ae),"aria-labelledby":(0,e.unref)(be),class:"vv-dropdown__list"}),[(0,e.renderSlot)(s.$slots,"items",(0,e.normalizeProps)((0,e.guardReactiveProps)({show:M,hide:H,toggle:A,expanded:(0,e.unref)(h),role:(0,e.unref)(Z)})))],16,Pr),(0,e.renderSlot)(s.$slots,"after",(0,e.normalizeProps)((0,e.guardReactiveProps)({show:M,hide:H,toggle:A,expanded:(0,e.unref)(h)})))],6),[[e.vShow,(0,e.unref)(h)]])]),_:3},16,["name"])],64))}}),ht=Cr,Or={class:"vv-dropdown-optgroup",role:"presentation",tabindex:"-1"},Lr={name:"VvDropdownOptgroup"},Er=(0,e.defineComponent)({...Lr,props:{...se},setup(t){const o=t;return(r,l)=>((0,e.openBlock)(),(0,e.createElementBlock)("li",Or,[(0,e.renderSlot)(r.$slots,"default",{},()=>[(0,e.createTextVNode)((0,e.toDisplayString)(o.label),1)])]))}}),yt=Er,$r={name:"VvDropdownItem"},_r=(0,e.defineComponent)({...$r,props:vr,setup(t){const o=t,{role:r,expanded:l}=dr(),n=(0,e.ref)(null);Vr({expanded:l});const a=(0,L.useElementHover)(n),{focused:b}=(0,L.useFocus)(n),{focused:c}=(0,L.useFocusWithin)(n);return(0,e.watch)(a,y=>{y&&o.focusOnHover&&(b.value=!0)}),(y,d)=>((0,e.openBlock)(),(0,e.createElementBlock)("div",(0,e.mergeProps)({role:(0,e.unref)(r)},{ref_key:"element",ref:n,class:["vv-dropdown__item",{"focus-visible":(0,e.unref)(b)||(0,e.unref)(c)}]}),[(0,e.renderSlot)(y.$slots,"default")],16))}}),Nr=_r,Dr=["title"],Ir={name:"VvDropdownOption"},Ar=(0,e.defineComponent)({...Ir,props:Sr,setup(t){const o=t,{modifiers:r}=(0,e.toRefs)(o),l=de("vv-dropdown-option",r,(0,e.computed)(()=>({disabled:o.disabled,selected:o.selected,unselectable:o.unselectable&&o.selected}))),n=(0,e.computed)(()=>o.selected?o.unselectable?o.deselectHintLabel:o.selectedHintLabel:o.disabled?"":o.selectHintLabel);return(a,b)=>((0,e.openBlock)(),(0,e.createBlock)(Nr,{class:(0,e.normalizeClass)((0,e.unref)(l)),tabindex:a.disabled?-1:0,"aria-selected":a.selected,"aria-disabled":a.disabled,"focus-on-hover":a.focusOnHover},{default:(0,e.withCtx)(()=>[(0,e.renderSlot)(a.$slots,"default"),(0,e.createElementVNode)("span",{class:"vv-dropdown-option__hint",title:(0,e.unref)(n)},[(0,e.renderSlot)(a.$slots,"hint",(0,e.normalizeProps)((0,e.guardReactiveProps)({disabled:a.disabled,selected:a.selected,unselectable:a.unselectable})),()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(n)),1)])],8,Dr)]),_:3},8,["class","tabindex","aria-selected","aria-disabled","focus-on-hover"]))}}),we=Ar,vt={...Ne,...nt,...it,..._e,...ke,...Be,...Pe,...pe,...ie,...Ve,...J,...Re,...$e,...He,...ze,...se,...at,multiple:Boolean,required:Boolean,size:[String,Number],modelValue:{type:[String,Number,Boolean,Object,Array],default:void 0},autoselectFirst:{type:Boolean,default:!1},placeholder:String};function St(){return{...vt,options:{...vt.options,type:Array,default:()=>[]}}}function xr(t,o,r){let l=o;if(Array.isArray(t)&&t.length){const n=t[0];n()===o&&(l=r)}if(typeof t=="function"&&t()===o&&(l=r),typeof t=="object"){let n=t.default;typeof n=="function"&&(n=n()),(typeof n=="object"?JSON.stringify(n)===JSON.stringify(o):n===o)&&(l=r)}return l}function kt(t,o,r){const l=We(),n=(0,e.computed)(()=>{if(l?.defaults.value?.[t])return l.defaults.value[t]});return(0,e.computed)(()=>{if(n.value===void 0)return r;const a=n.value,b=o,c=r;return Object.keys(b).reduce((y,d)=>{const S=c[d];return y[d]=d in a?xr(b[d],S,a[d]):S,y},{})})}function Bt(t,o){const{focused:r}=(0,L.useFocus)(t);return(0,e.watch)(r,l=>{o(l?"focus":"blur",(0,e.unref)(t))}),{focused:r}}function Vt(t){const{options:o,labelKey:r,valueKey:l,disabledKey:n}=(0,e.toRefs)(t);return{options:o,getOptionLabel:d=>typeof d=="string"?d:typeof r.value=="function"?r.value(d):String(r.value?(0,Te.getProperty)(d,r.value):d),getOptionValue:d=>typeof d=="string"?d:typeof l.value=="function"?l.value(d):l.value?(0,Te.getProperty)(d,l.value):d,isOptionDisabled:d=>typeof d=="string"?!1:typeof n.value=="function"?n.value(d):n.value?!!(0,Te.getProperty)(d,n.value):!1,getOptionGrouped:d=>typeof d=="string"?[]:typeof d=="object"&&d&&"options"in d?d.options:[]}}var Fr=["for"],Tr={class:"vv-select__wrapper"},jr={key:0,class:"vv-select__input-before"},Rr={class:"vv-select__inner"},Hr=["id"],zr=["disabled","hidden"],Mr=["disabled","value"],Kr=["disabled","label"],qr=["disabled","value"],Gr={key:2,class:"vv-select__input-after"},Wr={name:"VvSelect"},Ur=(0,e.defineComponent)({...Wr,props:St(),emits:["update:modelValue","focus","blur","clear"],setup(t,{emit:o}){const r=t,l=o,n=(0,e.useSlots)(),a=kt("VvSelect",St(),r),b=(0,e.ref)(),{HintSlot:c,hasHintLabelOrSlot:y,hasInvalidLabelOrSlot:d,hintSlotScope:S}=mt(a,n),{focused:f}=Bt(b,l);function m(g){return typeof g=="string"?!1:g.options?.length}const{id:w,modifiers:P,disabled:D,readonly:E,loading:j,icon:I,iconPosition:v,invalid:V,valid:Q,floating:R,multiple:te}=(0,e.toRefs)(r),X=Ie(w),B=(0,e.computed)(()=>`${X.value}-hint`),$=(0,e.computed)(()=>r.disabled||r.readonly),me=(0,e.computed)(()=>$.value?-1:r.tabindex),h=(0,e.computed)({get:()=>r.modelValue,set:g=>{if(Array.isArray(g)&&(g=g.filter(_=>_!==void 0),g.length===0&&!r.unselectable&&b.value)){b.value.value=String(r.modelValue);return}l("update:modelValue",g)}}),M=(0,e.computed)(()=>Array.isArray(h.value)?h.value.length>0:h.value!==void 0&&h.value!==null),H=(0,e.computed)(()=>$.value?!1:r.unselectable);(0,e.watch)((0,L.useElementVisibility)(b),g=>{g&&r.autofocus&&(f.value=!0)});const{hasIconBefore:A,hasIconAfter:re}=De(I,v),be=(0,e.computed)(()=>{if(r.invalid===!0)return!0;if(r.valid===!0)return!1}),ge=de("vv-select",P,(0,e.computed)(()=>({valid:Q.value,invalid:V.value,loading:j.value,disabled:D.value,readonly:E.value,"icon-before":A.value!==void 0,"icon-after":re.value!==void 0,dirty:M.value,focus:f.value&&!$.value,floating:R.value,multiple:te.value}))),{getOptionLabel:oe,getOptionValue:le,isOptionDisabled:ae,getOptionGrouped:K}=Vt(r);(0,e.watch)(()=>r.options,g=>{if(g?.length&&r.autoselectFirst&&!M.value){const _=le(g[0]);h.value=r.multiple?[_]:_}},{immediate:!0});function ce(){Array.isArray(h.value)?h.value=[]:h.value=void 0,l("clear")}const z=(0,e.computed)(()=>({name:r.name,tabindex:me.value,disabled:$.value,required:r.required,size:r.size,autocomplete:r.autocomplete,multiple:r.multiple,"aria-invalid":be.value,"aria-describedby":y.value?B.value:void 0,"aria-errormessage":d.value?B.value:void 0})),q=(0,e.computed)(()=>({valid:r.valid,invalid:r.invalid,modelValue:r.modelValue}));return(g,_)=>((0,e.openBlock)(),(0,e.createElementBlock)("div",{class:(0,e.normalizeClass)((0,e.unref)(ge))},[g.label?((0,e.openBlock)(),(0,e.createElementBlock)("label",{key:0,for:(0,e.unref)(X)},(0,e.toDisplayString)(g.label),9,Fr)):(0,e.createCommentVNode)("v-if",!0),(0,e.createElementVNode)("div",Tr,[g.$slots.before?((0,e.openBlock)(),(0,e.createElementBlock)("div",jr,[(0,e.renderSlot)(g.$slots,"before",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(q))))])):(0,e.createCommentVNode)("v-if",!0),(0,e.createElementVNode)("div",Rr,[(0,e.unref)(A)?((0,e.openBlock)(),(0,e.createBlock)(Y,(0,e.mergeProps)({key:0},(0,e.unref)(A),{class:"vv-select__icon"}),null,16)):(0,e.createCommentVNode)("v-if",!0),(0,e.withDirectives)((0,e.createElementVNode)("select",(0,e.mergeProps)({id:(0,e.unref)(X),ref_key:"selectEl",ref:b},(0,e.unref)(z),{"onUpdate:modelValue":_[0]||(_[0]=x=>(0,e.isRef)(h)?h.value=x:null)}),[g.placeholder?((0,e.openBlock)(),(0,e.createElementBlock)("option",{key:0,value:void 0,disabled:!(0,e.unref)(H),hidden:!(0,e.unref)(H)},(0,e.toDisplayString)(g.placeholder),9,zr)):(0,e.createCommentVNode)("v-if",!0),((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(g.options,(x,N)=>((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,null,[m(x)?((0,e.openBlock)(),(0,e.createElementBlock)("optgroup",{key:`group-${N}`,disabled:(0,e.unref)(ae)(x),label:(0,e.unref)(oe)(x)},[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)((0,e.unref)(K)(x),(Z,ue)=>((0,e.openBlock)(),(0,e.createElementBlock)("option",{key:`group-${N}-item-${ue}`,disabled:(0,e.unref)(ae)(Z),value:(0,e.unref)(le)(Z)},(0,e.toDisplayString)((0,e.unref)(oe)(Z)),9,qr))),128))],8,Kr)):((0,e.openBlock)(),(0,e.createElementBlock)("option",{key:N,disabled:(0,e.unref)(ae)(x),value:(0,e.unref)(le)(x)},(0,e.toDisplayString)((0,e.unref)(oe)(x)),9,Mr))],64))),256))],16,Hr),[[e.vModelSelect,(0,e.unref)(h)]]),(0,e.unref)(re)?((0,e.openBlock)(),(0,e.createBlock)(Y,(0,e.mergeProps)({key:1},(0,e.unref)(re),{class:"vv-select__icon vv-select__icon-after"}),null,16)):(0,e.createCommentVNode)("v-if",!0)]),(0,e.unref)(H)&&(0,e.unref)(a).showClearAction?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(bt),{key:1,"input-type":"select",label:g.labelClear,icon:g.iconClear,disabled:!(0,e.unref)(M),onClear:ce},null,8,["label","icon","disabled"])):(0,e.createCommentVNode)("v-if",!0),g.$slots.after?((0,e.openBlock)(),(0,e.createElementBlock)("div",Gr,[(0,e.renderSlot)(g.$slots,"after",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(q))))])):(0,e.createCommentVNode)("v-if",!0)]),(0,e.createVNode)((0,e.unref)(c),{id:(0,e.unref)(B),class:"vv-select__hint"},(0,e.createSlots)({_:2},[g.$slots.hint?{name:"hint",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(g.$slots,"hint",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(S))))]),key:"0"}:void 0,g.$slots.loading?{name:"loading",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(g.$slots,"loading",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(S))))]),key:"1"}:void 0,g.$slots.valid?{name:"valid",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(g.$slots,"valid",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(S))))]),key:"2"}:void 0,g.$slots.invalid?{name:"invalid",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(g.$slots,"invalid",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(S))))]),key:"3"}:void 0]),1032,["id"])],2))}}),Jr=Ur,Yr=["id"],Qr=["id","for"],Xr=["id","aria-controls","placeholder"],Zr={key:0,class:"vv-select__input-before"},eo={class:"vv-select__inner"},to=["aria-controls","aria-expanded","aria-labelledby","aria-describedby","aria-errormessage","tabindex"],ro={key:0,class:"vv-select__value"},oo=["aria-label","onClick"],lo={key:2,class:"vv-select__input-after"},ao={name:"VvCombobox",components:{VvDropdown:ht,VvDropdownOption:we,VvDropdownOptgroup:yt,VvButton:gt}},no=(0,e.defineComponent)({...ao,props:(0,e.mergeModels)(dt(),{search:{type:String,default:"",required:!1},searchModifiers:{}}),emits:(0,e.mergeModels)(["update:modelValue","update:search","update:options","focus","blur","clear","change:search"],["update:search"]),setup(t,{emit:o}){const r=t,l=o,n=(0,e.useSlots)(),a=kt("VvCombobox",dt(),r),b=(0,e.ref)(null),c=(0,e.ref)(null),y=(0,e.ref)(null),d=(0,e.ref)(),{HintSlot:S,hasHintLabelOrSlot:f,hasInvalidLabelOrSlot:m,hintSlotScope:w}=mt(a,n),{focused:P}=Bt(b,l),{focused:D}=(0,L.useFocusWithin)(y);let E;function j(){clearTimeout(E),E=setTimeout(()=>{!P.value&&!D.value&&V.value&&te()},50)}(0,e.onBeforeUnmount)(()=>clearTimeout(E)),(0,e.watch)(P,i=>{if(r.autoOpen){if(i&&!V.value){clearTimeout(E),R();return}!i&&V.value&&!D.value&&j()}}),(0,e.watch)(D,i=>{if(i){clearTimeout(E);return}!P.value&&V.value&&j()});const I=(0,e.useModel)(t,"search"),v=(0,L.refDebounced)(I,(0,e.computed)(()=>Number(r.debounceSearch)));(0,e.watch)(v,()=>{l("update:search",v.value),l("change:search",v.value)});const V=(0,e.ref)(!1);function Q(){_.value||(V.value=!V.value)}function R(){_.value||V.value||(V.value=!0)}function te(){_.value||!V.value||(V.value=!1)}function X(){a.value.searchable&&c.value&&c.value.focus({preventScroll:!0})}function B(){a.value.keepSearch||(I.value="")}function $(i){return typeof i=="string"?!1:i.options?.length}const{id:me,icon:h,iconPosition:M,modifiers:H,disabled:A,required:re,readonly:be,loading:ge,valid:oe,invalid:le,floating:ae}=(0,e.toRefs)(r),K=Ie(me),ce=(0,e.computed)(()=>`${K.value}-hint`),z=(0,e.computed)(()=>`${K.value}-dropdown`),q=(0,e.computed)(()=>`${K.value}-search`),g=(0,e.computed)(()=>`${K.value}-label`),_=(0,e.computed)(()=>r.disabled||r.readonly),x=(0,e.computed)(()=>_.value?-1:r.tabindex),N=(0,e.computed)({get:()=>Array.isArray(r.modelValue)?r.modelValue:r.modelValue!==void 0&&r.modelValue!==null?[r.modelValue]:[],set:i=>{l("update:modelValue",r.multiple||Array.isArray(r.modelValue)?i:i.pop())}}),Z=(0,e.computed)(()=>N.value.length),ue=(0,e.computed)(()=>Z.value>0),s=(0,e.computed)(()=>r.multiple?r.maxValues===void 0?1/0:Number(r.maxValues):1),k=(0,e.computed)(()=>_.value||!r.unselectable?!1:Number(r.minValues)===0||Z.value>Number(r.minValues)),ne=(0,e.computed)(()=>_.value?!1:r.multiple?Z.value<s.value:!0),Ce=(0,e.ref)(!1),Pt=(0,e.computed)(()=>Ce.value||ge.value),{hasIconBefore:Ue,hasIconAfter:Je}=De(h,M),so=de("vv-select",H,(0,e.computed)(()=>({disabled:A.value,required:re.value,loading:Pt.value,readonly:be.value,"icon-before":Ue.value!==void 0,"icon-after":Je.value!==void 0,valid:oe.value,invalid:le.value,dirty:ue.value,focus:(P.value||D.value||V.value)&&!_.value,floating:ae.value,badges:r.badges}))),Ae=(0,e.ref)(new Set),{getOptionLabel:G,getOptionValue:Ye,getOptionGrouped:he,isOptionDisabled:co}=Vt(r),wt=(0,e.computed)(()=>{const i=[...Ae.value];for(const p of r.options)$(p)?i.push(...he(p)):i.push(p);return i}),ye=(0,e.computed)(()=>{const i=[...r.options,...Ae.value];for(const p of N.value)wt.value.some(u=>{const C=Ye(u);return typeof C=="object"&&typeof p=="object"?JSON.stringify(C)===JSON.stringify(p):C===p})||i.push(p);return i});(0,e.watch)(Ae,i=>{i.size>0&&l("update:options",ye.value)});function xe(i){return co(i)||!ne.value&&!fe(i)}const Oe=(0,L.computedAsync)(async()=>{if(a.value.searchFunction){Ce.value=!0;const p=await Promise.resolve(a.value.searchFunction(v.value,ye.value));return Ce.value=!1,p}const i=v.value.toLowerCase().trim();return i?ye.value?.reduce((p,u)=>{if($(u)){const C=G(u).toLowerCase(),T=he(u).filter(Se=>G(Se).toLowerCase().includes(i));if(C.includes(i))p.push(u);else if(T.length>0){const Se=typeof u=="object"?{...u,options:T}:u;p.push(Se)}return p}return G(u).toLowerCase().includes(i)&&p.push(u),p},[]):ye.value});function fe(i){const p=Ye(i);return typeof p=="object"?N.value.some(u=>typeof u=="object"?JSON.stringify(u)===JSON.stringify(p):!1):N.value.includes(p)}const ve=(0,e.computed)(()=>ye.value.reduce((i,p)=>$(p)?[...i,...he(p)]:[...i,p],[]).filter(i=>fe(i))),Ct=(0,e.computed)(()=>ve.value.map(i=>G(i)).join(r.separator));function uo(){r.autoOpen?R():Q()}function ee(i){const p=fe(i),u=Ye(i);p&&k.value?N.value=N.value.filter(C=>typeof u=="object"&&typeof C=="object"?JSON.stringify(C)!==JSON.stringify(u):C!==u):!p&&ne.value&&(r.multiple?N.value=[...N.value,u]:N.value=[u]),!r.multiple&&!r.keepOpen&&te()}function fo(){N.value=[],l("update:search",""),l("clear")}(0,e.watch)(ye,i=>{if(i?.length&&r.autoselectFirst&&!ue.value){const p=i.find(C=>!$(C));if(p){ee(p);return}const u=i.find(C=>$(C));if(u){const C=he(u);C.length&&ee(C[0])}}},{immediate:!0});const po=(0,e.computed)(()=>({id:K.value,name:r.name,tabindex:x.value,valid:oe.value,validLabel:a.value.validLabel,invalid:le.value,invalidLabel:a.value.invalidLabel,hintLabel:a.value.hintLabel,loading:Pt.value,loadingLabel:a.value.loadingLabel,disabled:A.value,readonly:be.value,modifiers:a.value.modifiers,options:a.value.options,labelKey:a.value.labelKey,valueKey:a.value.valueKey,icon:a.value.icon,iconPosition:a.value.iconPosition,floating:a.value.floating,unselectable:k.value,autoselectFirst:a.value.autoselectFirst,multiple:a.value.multiple,label:a.value.label,placeholder:a.value.placeholder,modelValue:r.modelValue})),mo=(0,e.computed)(()=>({id:z.value,reference:y.value,placement:a.value.placement,strategy:a.value.strategy,transitionName:a.value.transitionName,offset:a.value.offset,shift:a.value.shift,flip:a.value.flip,autoPlacement:a.value.autoPlacement,arrow:a.value.arrow,autofocusFirst:a.value.searchable?!0:a.value.autofocusFirst,triggerWidth:a.value.triggerWidth,modifiers:a.value.dropdownModifiers})),Ot=(0,e.computed)(()=>({valid:r.valid,invalid:r.invalid,modelValue:r.modelValue}));(0,L.onKeyStroke)([" ","Enter"],i=>{r.autoOpen||!V.value&&P.value&&(i.preventDefault(),i.stopImmediatePropagation(),Q())},{target:b});function bo(){if(Oe.value?.length){if(Oe.value.length===1){const i=Oe.value[0];if($(i)){const p=he(i);p.length&&ee(p[0]);return}ee(i);return}d.value?.focusFirstListElement();return}if(a.value.addable){const i=I.value.trim();if(!i||wt.value.some(p=>G(p).toLowerCase()===i.toLowerCase()))return;Ae.value.add(i),ee(i)}}return(i,p)=>i.native?((0,e.openBlock)(),(0,e.createBlock)(Jr,(0,e.mergeProps)({key:1},(0,e.unref)(po),{"onUpdate:modelValue":p[3]||(p[3]=u=>l("update:modelValue",u))}),null,16)):((0,e.openBlock)(),(0,e.createElementBlock)("div",{key:0,id:(0,e.unref)(K),class:(0,e.normalizeClass)((0,e.unref)(so))},[i.label?((0,e.openBlock)(),(0,e.createElementBlock)("label",{key:0,id:(0,e.unref)(g),for:(0,e.unref)(a).searchable?(0,e.unref)(q):void 0},(0,e.toDisplayString)(i.label),9,Qr)):(0,e.createCommentVNode)("v-if",!0),(0,e.createElementVNode)("div",{ref_key:"wrapperEl",ref:y,class:"vv-select__wrapper"},[(0,e.createVNode)(ht,(0,e.mergeProps)({ref_key:"dropdownEl",ref:d,modelValue:(0,e.unref)(V),"onUpdate:modelValue":p[2]||(p[2]=u=>(0,e.isRef)(V)?V.value=u:null)},(0,e.unref)(mo),{role:(0,e.unref)(Ee).listbox,onAfterExpand:X,onAfterCollapse:B}),(0,e.createSlots)({default:(0,e.withCtx)(({aria:u})=>[i.$slots.before?((0,e.openBlock)(),(0,e.createElementBlock)("div",Zr,[(0,e.renderSlot)(i.$slots,"before",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(Ot))))])):(0,e.createCommentVNode)("v-if",!0),(0,e.createElementVNode)("div",eo,[(0,e.unref)(Ue)?((0,e.openBlock)(),(0,e.createBlock)(Y,(0,e.mergeProps)({key:0},(0,e.unref)(Ue),{class:"vv-select__icon"}),null,16)):(0,e.createCommentVNode)("v-if",!0),(0,e.createElementVNode)("div",(0,e.mergeProps)({ref_key:"inputEl",ref:b},u,{class:"vv-select__input",role:"combobox","aria-controls":(0,e.unref)(z),"aria-expanded":(0,e.unref)(V),"aria-labelledby":(0,e.unref)(g),"aria-describedby":(0,e.unref)(f)?(0,e.unref)(ce):void 0,"aria-errormessage":(0,e.unref)(m)?(0,e.unref)(ce):void 0,tabindex:(0,e.unref)(x),onClickPassive:uo}),[(0,e.unref)(Ct)?(0,e.renderSlot)(i.$slots,"value",(0,e.normalizeProps)((0,e.mergeProps)({key:0},{selectedOptions:(0,e.unref)(ve),onInput:ee})),()=>[i.badges?((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,{key:1},(0,e.renderList)((0,e.unref)(ve),(C,T)=>((0,e.openBlock)(),(0,e.createBlock)(rr,{key:T,modifiers:i.badgeModifiers,class:"vv-select__badge"},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(G)(C))+" ",1),(0,e.unref)(k)?((0,e.openBlock)(),(0,e.createElementBlock)("button",{key:0,"aria-label":(0,e.unref)(a).deselectActionLabel,type:"button",onClick:(0,e.withModifiers)(Se=>ee(C),["stop"])},[(0,e.createVNode)(Y,{name:"close"})],8,oo)):(0,e.createCommentVNode)("v-if",!0)]),_:2},1032,["modifiers"]))),128)):((0,e.openBlock)(),(0,e.createElementBlock)("div",ro,(0,e.toDisplayString)((0,e.unref)(Ct)),1))]):(0,e.renderSlot)(i.$slots,"placeholder",{key:1},()=>[(0,e.createTextVNode)((0,e.toDisplayString)(i.placeholder),1)])],16,to),(0,e.unref)(Je)?((0,e.openBlock)(),(0,e.createBlock)(Y,(0,e.mergeProps)({key:1},(0,e.unref)(Je),{class:"vv-select__icon vv-select__icon-after"}),null,16)):(0,e.createCommentVNode)("v-if",!0)]),(0,e.unref)(k)&&(0,e.unref)(a).showClearAction?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(bt),{key:1,"input-type":"select",label:i.labelClear,icon:i.iconClear,disabled:!(0,e.unref)(ue),onClear:fo},null,8,["label","icon","disabled"])):(0,e.createCommentVNode)("v-if",!0),i.$slots.after?((0,e.openBlock)(),(0,e.createElementBlock)("div",lo,[(0,e.renderSlot)(i.$slots,"after",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(Ot))))])):(0,e.createCommentVNode)("v-if",!0)]),items:(0,e.withCtx)(()=>[!(0,e.unref)(A)&&(0,e.unref)(Oe)?.length?((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,{key:0},(0,e.renderList)((0,e.unref)(Oe),(u,C)=>((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:C},[$(u)?((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:0},[(0,e.createVNode)(yt,{label:(0,e.unref)(G)(u)},{default:(0,e.withCtx)(()=>[(0,e.renderSlot)(i.$slots,"option-group",(0,e.mergeProps)({ref_for:!0},{option:u,selectedOptions:(0,e.unref)(ve)}),()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(G)(u)),1)])]),_:2},1032,["label"]),((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)((0,e.unref)(he)(u),(T,Se)=>((0,e.openBlock)(),(0,e.createBlock)(we,(0,e.mergeProps)({ref_for:!0},{selected:fe(T),disabled:xe(T),unselectable:(0,e.unref)(k),deselectHintLabel:(0,e.unref)(a).deselectHintLabel,selectHintLabel:(0,e.unref)(a).selectHintLabel,selectedHintLabel:(0,e.unref)(a).selectedHintLabel,focusOnHover:i.focusOnHover},{key:Se,class:"vv-dropdown-option",onClickPassive:So=>ee(T)}),{default:(0,e.withCtx)(()=>[(0,e.renderSlot)(i.$slots,"option",(0,e.mergeProps)({ref_for:!0},{option:T,selectedOptions:(0,e.unref)(ve),selected:fe(T),disabled:xe(T)}),()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(G)(T)),1)])]),_:2},1040,["onClickPassive"]))),128))],64)):((0,e.openBlock)(),(0,e.createBlock)(we,(0,e.mergeProps)({key:1,ref_for:!0},{selected:fe(u),disabled:xe(u),unselectable:(0,e.unref)(k),deselectHintLabel:(0,e.unref)(a).deselectHintLabel,selectHintLabel:(0,e.unref)(a).selectHintLabel,selectedHintLabel:(0,e.unref)(a).selectedHintLabel,focusOnHover:i.focusOnHover},{class:"vv-dropdown-option",onClickPassive:T=>ee(u)}),{default:(0,e.withCtx)(()=>[(0,e.renderSlot)(i.$slots,"option",(0,e.mergeProps)({ref_for:!0},{option:u,selectedOptions:(0,e.unref)(ve),selected:fe(u),disabled:xe(u)}),()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(G)(u)),1)])]),_:2},1040,["onClickPassive"]))],64))),128)):i.options.length?((0,e.openBlock)(),(0,e.createBlock)(we,{key:2,modifiers:"inert"},{default:(0,e.withCtx)(()=>[(0,e.renderSlot)(i.$slots,"no-results",{},()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(a).addable?(0,e.unref)(a).addOptionHintLabel:(0,e.unref)(a).noResultsLabel),1)])]),_:3})):((0,e.openBlock)(),(0,e.createBlock)(we,{key:1,modifiers:"inert"},{default:(0,e.withCtx)(()=>[(0,e.renderSlot)(i.$slots,"no-options",{},()=>[(0,e.createTextVNode)((0,e.toDisplayString)((0,e.unref)(a).addable&&I.value.length?(0,e.unref)(a).addOptionHintLabel:(0,e.unref)(a).noOptionsLabel),1)])]),_:3}))]),after:(0,e.withCtx)(()=>[(0,e.renderSlot)(i.$slots,"dropdown::after",{},()=>[(0,e.unref)(d)?.customPosition?((0,e.openBlock)(),(0,e.createBlock)(gt,{key:0,label:(0,e.unref)(a).closeLabel,modifiers:"secondary",onClick:p[1]||(p[1]=u=>(0,e.unref)(d).hide())},null,8,["label"])):(0,e.createCommentVNode)("v-if",!0)])]),_:2},[(0,e.unref)(a).searchable||i.$slots["dropdown::before"]?{name:"before",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(i.$slots,"dropdown::before"),(0,e.unref)(a).searchable&&!(0,e.unref)(A)?(0,e.withDirectives)(((0,e.openBlock)(),(0,e.createElementBlock)("input",{key:0,id:(0,e.unref)(q),ref_key:"inputSearchEl",ref:c,"onUpdate:modelValue":p[0]||(p[0]=u=>I.value=u),"aria-autocomplete":"list","aria-controls":(0,e.unref)(z),autocomplete:"off",spellcheck:"false",type:"search",class:"vv-dropdown__search",placeholder:(0,e.unref)(a).searchPlaceholder,onKeyup:(0,e.withKeys)(bo,["enter"])},null,40,Xr)),[[e.vModelText,I.value]]):(0,e.createCommentVNode)("v-if",!0)]),key:"0"}:void 0]),1040,["modelValue","role"])],512),(0,e.createVNode)((0,e.unref)(S),{id:(0,e.unref)(ce),class:"vv-select__hint"},(0,e.createSlots)({_:2},[i.$slots.hint?{name:"hint",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(i.$slots,"hint",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(w))))]),key:"0"}:void 0,i.$slots.loading?{name:"loading",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(i.$slots,"loading",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(w))))]),key:"1"}:void 0,i.$slots.valid?{name:"valid",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(i.$slots,"valid",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(w))))]),key:"2"}:void 0,i.$slots.invalid?{name:"invalid",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(i.$slots,"invalid",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(w))))]),key:"3"}:void 0]),1032,["id"])],10,Yr))}}),io=no;return io});
|
|
@@ -18,7 +18,7 @@ declare const __VLS_export: <T extends string | Option>(__VLS_props: NonNullable
|
|
|
18
18
|
default: string;
|
|
19
19
|
};
|
|
20
20
|
modelValue: {
|
|
21
|
-
type: (
|
|
21
|
+
type: (NumberConstructor | ArrayConstructor | ObjectConstructor | BooleanConstructor | StringConstructor)[];
|
|
22
22
|
default: undefined;
|
|
23
23
|
};
|
|
24
24
|
noResultsLabel: {
|
|
@@ -25,7 +25,7 @@ export declare const VvComboboxProps: {
|
|
|
25
25
|
* modelValue can be a string, number, boolean, object or array of string, number, boolean, object
|
|
26
26
|
*/
|
|
27
27
|
modelValue: {
|
|
28
|
-
type: (
|
|
28
|
+
type: (NumberConstructor | ArrayConstructor | ObjectConstructor | BooleanConstructor | StringConstructor)[];
|
|
29
29
|
default: undefined;
|
|
30
30
|
};
|
|
31
31
|
/**
|
|
@@ -374,7 +374,7 @@ export declare function useVvComboboxProps<T extends Option | string>(): {
|
|
|
374
374
|
* modelValue can be a string, number, boolean, object or array of string, number, boolean, object
|
|
375
375
|
*/
|
|
376
376
|
modelValue: {
|
|
377
|
-
type: (
|
|
377
|
+
type: (NumberConstructor | ArrayConstructor | ObjectConstructor | BooleanConstructor | StringConstructor)[];
|
|
378
378
|
default: undefined;
|
|
379
379
|
};
|
|
380
380
|
/**
|
|
@@ -446,10 +446,10 @@ var At = [
|
|
|
446
446
|
}), P = p(!1);
|
|
447
447
|
ze(() => {
|
|
448
448
|
ot(s.value, () => {
|
|
449
|
-
P.value =
|
|
449
|
+
P.value = globalThis.getComputedStyle(s.value).getPropertyValue("--dropdown-custom-position")?.trim() === "true";
|
|
450
450
|
}, {
|
|
451
451
|
attributeFilter: ["style"],
|
|
452
|
-
window
|
|
452
|
+
window: globalThis.window
|
|
453
453
|
});
|
|
454
454
|
});
|
|
455
455
|
function x(t, a, h) {
|
|
@@ -492,8 +492,8 @@ var At = [
|
|
|
492
492
|
[d.left]: d.right
|
|
493
493
|
}[ke.value];
|
|
494
494
|
return {
|
|
495
|
-
left: E.value.arrow?.x
|
|
496
|
-
top: E.value.arrow?.y
|
|
495
|
+
left: E.value.arrow?.x === void 0 ? void 0 : `${E.value.arrow?.x}px`,
|
|
496
|
+
top: E.value.arrow?.y === void 0 ? void 0 : `${E.value.arrow?.y}px`,
|
|
497
497
|
[t]: `${-(L.value?.offsetWidth ?? 0) / 2}px`
|
|
498
498
|
};
|
|
499
499
|
}), I = lt(r, "modelValue", l), z = p(!1), o = i({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(e,s){typeof exports=="object"&&typeof module<"u"?module.exports=s(require("vue"),require("@floating-ui/vue"),require("@vueuse/core"),require("mitt")):typeof define=="function"&&define.amd?define(["vue","@floating-ui/vue","@vueuse/core","mitt"],s):(e=typeof globalThis<"u"?globalThis:e||self,e.VvDropdown=s(e.Vue,e.FloatingUiVue,e.VueuseCore,e.mitt))})(this,function(e,s,c,k){var ne=Object.create,T=Object.defineProperty,le=Object.getOwnPropertyDescriptor,ie=Object.getOwnPropertyNames,se=Object.getPrototypeOf,de=Object.prototype.hasOwnProperty,fe=(t,i,d,o)=>{if(i&&typeof i=="object"||typeof i=="function")for(var l=ie(i),f=0,S=l.length,v;f<S;f++)v=l[f],!de.call(t,v)&&v!==d&&T(t,v,{get:(O=>i[O]).bind(null,v),enumerable:!(o=le(i,v))||o.enumerable});return t},ue=(t,i,d)=>(d=t!=null?ne(se(t)):{},fe(i||!t||!t.__esModule?T(d,"default",{value:t,enumerable:!0}):d,t));k=ue(k,1);var z=(function(t){return t.local="local",t.session="session",t})({}),K=(function(t){return t.absolute="absolute",t.fixed="fixed",t})({}),u=(function(t){return t.left="left",t.right="right",t.top="top",t.bottom="bottom",t})({}),pe=(function(t){return 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})({}),M=(function(t){return t.before="before",t.after="after",t})({}),q=(function(t){return t.button="button",t.submit="submit",t.reset="reset",t})({}),ce=(function(t){return t.nuxtLink="nuxt-link",t.routerLink="router-link",t.a="a",t.button="button",t})({}),V=(function(t){return t.listbox="listbox",t.menu="menu",t})({}),H=(function(t){return t.option="option",t.presentation="presentation",t})({}),ve=Symbol.for("dropdownTrigger"),be=Symbol.for("dropdownItem"),me={showPassword:"eye-on",hidePassword:"eye-off",showDatePicker:"calendar",showTimePicker:"time",showColorPicker:"color",clear:"close",add:"add",remove:"trash",edit:"edit",download:"download"},ye={to:{type:[String,Object]},href:String,target:String,rel:{type:String,default:"noopener noreferrer"}},D={valid:{type:Boolean,default:!1},validLabel:{type:[String,Array],default:void 0}},A={invalid:{type:Boolean,default:!1},invalidLabel:{type:[String,Array],default:void 0}},L={loading:{type:Boolean,default:!1},loadingLabel:{type:String,default:"Loading..."}},h={disabled:{type:Boolean,default:!1}},W={required:{type:Boolean,default:!1}},ge={selected:{type:Boolean,default:!1}},he={active:{type:Boolean,default:!1}},Pe={current:{type:Boolean,default:!1}},ot={showClearAction:{type:Boolean,default:!1},iconClear:{type:[String,Object],default:me.clear},labelClear:{type:String,default:"Clear"}},Se={pressed:{type:Boolean,default:!1}},E={label:{type:[String,Number],default:void 0}},I={readonly:{type:Boolean,default:!1}},P={modifiers:{type:[String,Array],default:void 0}},R={hintLabel:{type:String,default:""}},we={options:{type:Array,default:()=>[]},labelKey:{type:[String,Function],default:"label"},valueKey:{type:[String,Function],default:"value"},disabledKey:{type:[String,Function],default:"disabled"}},xe={count:{type:[Boolean,String],default:!1,validator:t=>[!0,!1,"limit","countdown"].includes(t)}},Ee={debounce:{type:[Number,String],default:void 0}},Oe={icon:{type:[String,Object],default:void 0},iconPosition:{type:String,default:M.before,validation:t=>Object.values(M).includes(t)}},U={tabindex:{type:[String,Number],default:0}},Ce={floating:{type:Boolean,default:!1}},Be={unselectable:{type:Boolean,default:!0}},G={id:[String,Number]},Ne={placement:{type:String,default:u.bottom,validator:t=>Object.values(u).includes(t)||Object.values(pe).includes(t)},strategy:{type:String,default:void 0,validator:t=>Object.values(K).includes(t)},transitionName:{type:String,default:void 0},offset:{type:[Number,String,Object],default:0},shift:{type:[Boolean,Object],default:!1},flip:{type:[Boolean,Object],default:!0},size:{type:[Boolean,Object],default:()=>({padding:10})},autoPlacement:{type:[Boolean,Object],default:!1},arrow:{type:Boolean,default:!1},keepOpen:{type:Boolean,default:!1},autofocusFirst:{type:Boolean,default:!0},triggerWidth:{type:Boolean,default:!1}},J={...G,name:{type:String,required:!0}},je={autofocus:{type:Boolean,default:!1}},ke={autocomplete:{type:String,default:"off"}},at={...J,...je,...ke,...U,...h,...I,...D,...A,...R,...L,...P,...xe,...Ee,...Oe,...Ce,...E,minlength:{type:[String,Number],default:void 0},maxlength:{type:[String,Number],default:void 0},placeholder:{type:String,default:void 0},...W},nt={...J,...U,...D,...A,...R,...h,...I,...P,...E,...L,value:{type:[String,Number,Boolean],default:void 0},modelValue:{type:[Object,Number,Boolean,String],default:void 0}},lt={...D,...A,...we,...R,...h,...I,...P,...E,...L,...W,modelValue:{type:[String,Array,Boolean,Number,Symbol],default:void 0},name:{type:String,required:!0},vertical:{type:Boolean,default:!1}},it={...h,...E,...Se,...he,...Pe,...ye,type:{type:String,default:q.button,validator:t=>Object.values(q).includes(t)},ariaLabel:{type:String,default:void 0},defaultTag:{type:String,default:ce.button}},st={storageType:{type:String,default:z.local,validator:t=>Object.values(z).includes(t)},storageKey:String},Ve={...G,...Ne,...P,modelValue:{type:Boolean,default:void 0},reference:{type:Object,default:null},role:{type:String,default:V.menu,validator:t=>Object.values(V).includes(t)}},dt={...h,...ge,...Be,...P,deselectHintLabel:{type:String},selectHintLabel:{type:String},selectedHintLabel:{type:String},focusOnHover:{type:Boolean,default:!1}};function De(t){return(0,e.computed)(()=>String(t?.value||(0,e.useId)()))}function Ae({reference:t,id:i,expanded:d,aria:o}){const l=(0,k.default)();return{bus:l,component:(0,e.defineComponent)({name:"VvDropdownTriggerProvider",setup(){(0,e.provide)(ve,{reference:t,id:i,expanded:d,aria:o,bus:l})},render(){return(0,e.h)(e.Fragment,{},this.$slots.default?.())}})}}function Le({role:t,...i}){const d=(0,e.computed)(()=>t.value===V.listbox?H.option:H.presentation);return(0,e.provide)(be,{role:d,...i}),{itemRole:d}}function Ie(t,i,d){return(0,e.computed)(()=>{const o={[t]:!0},l=typeof i?.value=="string"?i.value.split(" "):i?.value;return l&&Array.isArray(l)&&l.forEach(f=>{f&&(o[`${t}--${f}`]=!0)}),d&&Object.keys(d.value).forEach(f=>{o[`${t}--${f}`]=(0,e.unref)(d.value[f])}),o})}var Re=["id","tabindex","role","aria-labelledby"],$e={name:"VvDropdown",inheritAttrs:!1},Fe=(0,e.defineComponent)({...$e,props:Ve,emits:["update:modelValue","beforeEnter","afterLeave","beforeExpand","beforeCollapse","afterExpand","afterCollapse","before-enter","after-leave","enter","afterEnter","enterCancelled","beforeLeave","leave","leaveCancelled"],setup(t,{expose:i,emit:d}){const o=t,l=d,{id:f}=(0,e.toRefs)(o),S=De(f),v=(0,e.useAttrs)(),O=(0,e.ref)("auto"),Y=(0,e.ref)("auto"),Q=(0,e.ref)(),p=(0,e.ref)(),$=(0,e.ref)(),X=(0,e.ref)(),b=(0,e.computed)({get:()=>o.reference??Q.value,set:r=>{Q.value=r}}),C=(0,e.ref)(!1);(0,e.onMounted)(()=>{(0,c.useMutationObserver)(p.value,()=>{C.value=window.getComputedStyle(p.value).getPropertyValue("--dropdown-custom-position")?.trim()==="true"},{attributeFilter:["style"],window})});function B(r,a,x){return typeof r=="boolean"?a():x(r)}const ze=(0,e.computed)(()=>{const r=[];if(o.autoPlacement?r.push(B(o.autoPlacement,()=>(0,s.autoPlacement)(),a=>(0,s.autoPlacement)(a))):o.flip&&r.push(B(o.flip,()=>(0,s.flip)({fallbackStrategy:"initialPlacement"}),a=>(0,s.flip)(a))),o.shift&&r.push(B(o.shift,()=>(0,s.shift)(),a=>(0,s.shift)(a))),o.size){const a=({availableWidth:x,availableHeight:rt})=>{O.value=`${x}px`,Y.value=`${rt}px`};r.push(B(o.size,()=>(0,s.size)({apply:a}),x=>(0,s.size)({...x,apply:a})))}return o.offset&&r.push(["string","number"].includes(typeof o.offset)?(0,s.offset)(Number(o.offset)):(0,s.offset)(o.offset)),o.arrow&&r.push((0,s.arrow)({element:$})),r}),{x:Ke,y:Me,middlewareData:N,placement:qe,strategy:He}=(0,s.useFloating)(b,p,{whileElementsMounted:(...r)=>(0,s.autoUpdate)(...r,{animationFrame:o.strategy===K.fixed}),placement:(0,e.computed)(()=>o.placement),strategy:(0,e.computed)(()=>o.strategy),middleware:ze}),We=(0,e.computed)(()=>{if(C.value)return;const r=o.triggerWidth&&b.value?`${b.value?.offsetWidth}px`:void 0;return{position:He.value,top:`${Me.value??0}px`,left:`${Ke.value??0}px`,maxWidth:r?void 0:O.value,maxHeight:Y.value,width:r}}),Ue=(0,e.computed)(()=>qe.value.split("-")[0]),Ge=(0,e.computed)(()=>{if(C.value)return;const r={[u.top]:u.bottom,[u.right]:u.left,[u.bottom]:u.top,[u.left]:u.right}[Ue.value];return{left:N.value.arrow?.x!==void 0?`${N.value.arrow?.x}px`:void 0,top:N.value.arrow?.y!==void 0?`${N.value.arrow?.y}px`:void 0,[r]:`${-($.value?.offsetWidth??0)/2}px`}}),F=(0,c.useVModel)(o,"modelValue",l),Z=(0,e.ref)(!1),n=(0,e.computed)({get:()=>F.value??Z.value,set:r=>{if(F.value===void 0){Z.value=r;return}F.value=r}});function w(){n.value=!0}function m(){n.value=!1}function y(){n.value=!n.value}function _(r){b.value=r}(0,c.onClickOutside)(p,()=>{!o.keepOpen&&n.value&&(n.value=!1)},{ignore:[b]});const Je=(0,e.computed)(()=>b.value?.getAttribute?.("id")??void 0),ee=(0,e.computed)(()=>({"aria-controls":S.value,"aria-haspopup":!0,"aria-expanded":n.value})),{component:Ye,bus:Qe}=Ae({reference:b,id:S,expanded:n,aria:ee});Qe.on("click",y);const{role:te,modifiers:Xe}=(0,e.toRefs)(o),Ze=Ie("vv-dropdown",Xe,(0,e.computed)(()=>({arrow:o.arrow}))),{focused:g}=(0,c.useFocusWithin)(p);function j(r){return r?[...r.querySelectorAll('a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])')].filter(a=>!a.hasAttribute("disabled")&&!a.getAttribute("aria-hidden")):[]}function re(){(0,e.nextTick)(()=>{const r=j(p.value);r.length>0&&r[0].focus({preventScroll:!0})})}function _e(){(0,e.nextTick)(()=>{const r=j(X.value);r.length>0&&r[0].focus({preventScroll:!0})})}function oe(){(0,e.nextTick)(()=>{if(g.value){const r=j(p.value);if(r.length===0||!document.activeElement)return;const a=r.indexOf(document.activeElement);a<r.length-1?r[a+1].focus({preventScroll:!0}):r[0].focus({preventScroll:!0})}})}function ae(){(0,e.nextTick)(()=>{if(g.value){const r=j(p.value);if(r.length===0||!document.activeElement)return;const a=r.indexOf(document.activeElement);if(a>0){r[a-1].focus({preventScroll:!0});return}r.at(-1)?.focus({preventScroll:!0})}})}(0,e.watch)(n,r=>{r&&o.autofocusFirst&&re()}),i({toggle:y,show:w,hide:m,init:_,focusFirst:re,focusFirstListElement:_e,focusNext:oe,focusPrev:ae,customPosition:C});const{itemRole:et}=Le({role:te,expanded:n,focused:g,hovered:(0,c.useElementHover)(p)});(0,c.onKeyStroke)("Escape",r=>{n.value&&(r.preventDefault(),m())}),(0,c.onKeyStroke)("ArrowDown",r=>{n.value&&g.value&&(r.preventDefault(),oe())}),(0,c.onKeyStroke)("ArrowUp",r=>{n.value&&g.value&&(r.preventDefault(),ae())}),(0,c.onKeyStroke)([" ","Enter"],r=>{const a=r.target;n.value&&g.value&&a&&a?.click()});const tt={"before-enter":()=>{l(n.value?"beforeExpand":"beforeCollapse"),l("beforeEnter")},"after-leave":()=>{l(n.value?"afterExpand":"afterCollapse"),l("afterLeave")},enter:()=>{l("enter")},"after-enter":()=>{l("afterEnter")},"enter-cancelled":()=>{l("enterCancelled")},"before-leave":()=>{l("beforeLeave")},leave:()=>{l("leave")},"leave-cancelled":()=>{l("leaveCancelled")}};return(r,a)=>((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,null,[(0,e.createVNode)((0,e.unref)(Ye),null,{default:(0,e.withCtx)(()=>[(0,e.renderSlot)(r.$slots,"default",(0,e.normalizeProps)((0,e.guardReactiveProps)({init:_,show:w,hide:m,toggle:y,expanded:(0,e.unref)(n),aria:(0,e.unref)(ee)})))]),_:3}),(0,e.createVNode)(e.Transition,(0,e.mergeProps)({name:r.transitionName},(0,e.toHandlers)(tt),{persisted:""}),{default:(0,e.withCtx)(()=>[(0,e.withDirectives)((0,e.createElementVNode)("div",{ref_key:"floatingEl",ref:p,style:(0,e.normalizeStyle)((0,e.unref)(We)),class:(0,e.normalizeClass)((0,e.unref)(Ze))},[o.arrow?((0,e.openBlock)(),(0,e.createElementBlock)("div",{key:0,ref_key:"arrowEl",ref:$,style:(0,e.normalizeStyle)((0,e.unref)(Ge)),class:"vv-dropdown__arrow"},null,4)):(0,e.createCommentVNode)("v-if",!0),(0,e.renderSlot)(r.$slots,"before",(0,e.normalizeProps)((0,e.guardReactiveProps)({show:w,hide:m,toggle:y,expanded:(0,e.unref)(n)}))),(0,e.createElementVNode)("div",(0,e.mergeProps)((0,e.unref)(v),{id:(0,e.unref)(S),ref_key:"listEl",ref:X,tabindex:(0,e.unref)(n)?void 0:-1,role:(0,e.unref)(te),"aria-labelledby":(0,e.unref)(Je),class:"vv-dropdown__list"}),[(0,e.renderSlot)(r.$slots,"items",(0,e.normalizeProps)((0,e.guardReactiveProps)({show:w,hide:m,toggle:y,expanded:(0,e.unref)(n),role:(0,e.unref)(et)})))],16,Re),(0,e.renderSlot)(r.$slots,"after",(0,e.normalizeProps)((0,e.guardReactiveProps)({show:w,hide:m,toggle:y,expanded:(0,e.unref)(n)})))],6),[[e.vShow,(0,e.unref)(n)]])]),_:3},16,["name"])],64))}}),Te=Fe;return Te});
|
|
1
|
+
(function(e,s){typeof exports=="object"&&typeof module<"u"?module.exports=s(require("vue"),require("@floating-ui/vue"),require("@vueuse/core"),require("mitt")):typeof define=="function"&&define.amd?define(["vue","@floating-ui/vue","@vueuse/core","mitt"],s):(e=typeof globalThis<"u"?globalThis:e||self,e.VvDropdown=s(e.Vue,e.FloatingUiVue,e.VueuseCore,e.mitt))})(this,function(e,s,c,k){var ne=Object.create,F=Object.defineProperty,le=Object.getOwnPropertyDescriptor,ie=Object.getOwnPropertyNames,se=Object.getPrototypeOf,de=Object.prototype.hasOwnProperty,fe=(t,i,d,o)=>{if(i&&typeof i=="object"||typeof i=="function")for(var l=ie(i),f=0,S=l.length,b;f<S;f++)b=l[f],!de.call(t,b)&&b!==d&&F(t,b,{get:(O=>i[O]).bind(null,b),enumerable:!(o=le(i,b))||o.enumerable});return t},ue=(t,i,d)=>(d=t!=null?ne(se(t)):{},fe(i||!t||!t.__esModule?F(d,"default",{value:t,enumerable:!0}):d,t));k=ue(k,1);var z=(function(t){return t.local="local",t.session="session",t})({}),K=(function(t){return t.absolute="absolute",t.fixed="fixed",t})({}),u=(function(t){return t.left="left",t.right="right",t.top="top",t.bottom="bottom",t})({}),pe=(function(t){return 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})({}),M=(function(t){return t.before="before",t.after="after",t})({}),q=(function(t){return t.button="button",t.submit="submit",t.reset="reset",t})({}),ce=(function(t){return t.nuxtLink="nuxt-link",t.routerLink="router-link",t.a="a",t.button="button",t})({}),V=(function(t){return t.listbox="listbox",t.menu="menu",t})({}),H=(function(t){return t.option="option",t.presentation="presentation",t})({}),be=Symbol.for("dropdownTrigger"),ve=Symbol.for("dropdownItem"),me={showPassword:"eye-on",hidePassword:"eye-off",showDatePicker:"calendar",showTimePicker:"time",showColorPicker:"color",clear:"close",add:"add",remove:"trash",edit:"edit",download:"download"},ye={to:{type:[String,Object]},href:String,target:String,rel:{type:String,default:"noopener noreferrer"}},D={valid:{type:Boolean,default:!1},validLabel:{type:[String,Array],default:void 0}},A={invalid:{type:Boolean,default:!1},invalidLabel:{type:[String,Array],default:void 0}},L={loading:{type:Boolean,default:!1},loadingLabel:{type:String,default:"Loading..."}},h={disabled:{type:Boolean,default:!1}},W={required:{type:Boolean,default:!1}},ge={selected:{type:Boolean,default:!1}},he={active:{type:Boolean,default:!1}},Pe={current:{type:Boolean,default:!1}},ot={showClearAction:{type:Boolean,default:!1},iconClear:{type:[String,Object],default:me.clear},labelClear:{type:String,default:"Clear"}},Se={pressed:{type:Boolean,default:!1}},E={label:{type:[String,Number],default:void 0}},I={readonly:{type:Boolean,default:!1}},P={modifiers:{type:[String,Array],default:void 0}},T={hintLabel:{type:String,default:""}},we={options:{type:Array,default:()=>[]},labelKey:{type:[String,Function],default:"label"},valueKey:{type:[String,Function],default:"value"},disabledKey:{type:[String,Function],default:"disabled"}},xe={count:{type:[Boolean,String],default:!1,validator:t=>[!0,!1,"limit","countdown"].includes(t)}},Ee={debounce:{type:[Number,String],default:void 0}},Oe={icon:{type:[String,Object],default:void 0},iconPosition:{type:String,default:M.before,validation:t=>Object.values(M).includes(t)}},U={tabindex:{type:[String,Number],default:0}},Ce={floating:{type:Boolean,default:!1}},Be={unselectable:{type:Boolean,default:!0}},G={id:[String,Number]},Ne={placement:{type:String,default:u.bottom,validator:t=>Object.values(u).includes(t)||Object.values(pe).includes(t)},strategy:{type:String,default:void 0,validator:t=>Object.values(K).includes(t)},transitionName:{type:String,default:void 0},offset:{type:[Number,String,Object],default:0},shift:{type:[Boolean,Object],default:!1},flip:{type:[Boolean,Object],default:!0},size:{type:[Boolean,Object],default:()=>({padding:10})},autoPlacement:{type:[Boolean,Object],default:!1},arrow:{type:Boolean,default:!1},keepOpen:{type:Boolean,default:!1},autofocusFirst:{type:Boolean,default:!0},triggerWidth:{type:Boolean,default:!1}},J={...G,name:{type:String,required:!0}},je={autofocus:{type:Boolean,default:!1}},ke={autocomplete:{type:String,default:"off"}},at={...J,...je,...ke,...U,...h,...I,...D,...A,...T,...L,...P,...xe,...Ee,...Oe,...Ce,...E,minlength:{type:[String,Number],default:void 0},maxlength:{type:[String,Number],default:void 0},placeholder:{type:String,default:void 0},...W},nt={...J,...U,...D,...A,...T,...h,...I,...P,...E,...L,value:{type:[String,Number,Boolean],default:void 0},modelValue:{type:[Object,Number,Boolean,String],default:void 0}},lt={...D,...A,...we,...T,...h,...I,...P,...E,...L,...W,modelValue:{type:[String,Array,Boolean,Number,Symbol],default:void 0},name:{type:String,required:!0},vertical:{type:Boolean,default:!1}},it={...h,...E,...Se,...he,...Pe,...ye,type:{type:String,default:q.button,validator:t=>Object.values(q).includes(t)},ariaLabel:{type:String,default:void 0},defaultTag:{type:String,default:ce.button}},st={storageType:{type:String,default:z.local,validator:t=>Object.values(z).includes(t)},storageKey:String},Ve={...G,...Ne,...P,modelValue:{type:Boolean,default:void 0},reference:{type:Object,default:null},role:{type:String,default:V.menu,validator:t=>Object.values(V).includes(t)}},dt={...h,...ge,...Be,...P,deselectHintLabel:{type:String},selectHintLabel:{type:String},selectedHintLabel:{type:String},focusOnHover:{type:Boolean,default:!1}};function De(t){return(0,e.computed)(()=>String(t?.value||(0,e.useId)()))}function Ae({reference:t,id:i,expanded:d,aria:o}){const l=(0,k.default)();return{bus:l,component:(0,e.defineComponent)({name:"VvDropdownTriggerProvider",setup(){(0,e.provide)(be,{reference:t,id:i,expanded:d,aria:o,bus:l})},render(){return(0,e.h)(e.Fragment,{},this.$slots.default?.())}})}}function Le({role:t,...i}){const d=(0,e.computed)(()=>t.value===V.listbox?H.option:H.presentation);return(0,e.provide)(ve,{role:d,...i}),{itemRole:d}}function Ie(t,i,d){return(0,e.computed)(()=>{const o={[t]:!0},l=typeof i?.value=="string"?i.value.split(" "):i?.value;return l&&Array.isArray(l)&&l.forEach(f=>{f&&(o[`${t}--${f}`]=!0)}),d&&Object.keys(d.value).forEach(f=>{o[`${t}--${f}`]=(0,e.unref)(d.value[f])}),o})}var Te=["id","tabindex","role","aria-labelledby"],Re={name:"VvDropdown",inheritAttrs:!1},$e=(0,e.defineComponent)({...Re,props:Ve,emits:["update:modelValue","beforeEnter","afterLeave","beforeExpand","beforeCollapse","afterExpand","afterCollapse","before-enter","after-leave","enter","afterEnter","enterCancelled","beforeLeave","leave","leaveCancelled"],setup(t,{expose:i,emit:d}){const o=t,l=d,{id:f}=(0,e.toRefs)(o),S=De(f),b=(0,e.useAttrs)(),O=(0,e.ref)("auto"),Y=(0,e.ref)("auto"),Q=(0,e.ref)(),p=(0,e.ref)(),R=(0,e.ref)(),X=(0,e.ref)(),v=(0,e.computed)({get:()=>o.reference??Q.value,set:r=>{Q.value=r}}),C=(0,e.ref)(!1);(0,e.onMounted)(()=>{(0,c.useMutationObserver)(p.value,()=>{C.value=globalThis.getComputedStyle(p.value).getPropertyValue("--dropdown-custom-position")?.trim()==="true"},{attributeFilter:["style"],window:globalThis.window})});function B(r,a,x){return typeof r=="boolean"?a():x(r)}const ze=(0,e.computed)(()=>{const r=[];if(o.autoPlacement?r.push(B(o.autoPlacement,()=>(0,s.autoPlacement)(),a=>(0,s.autoPlacement)(a))):o.flip&&r.push(B(o.flip,()=>(0,s.flip)({fallbackStrategy:"initialPlacement"}),a=>(0,s.flip)(a))),o.shift&&r.push(B(o.shift,()=>(0,s.shift)(),a=>(0,s.shift)(a))),o.size){const a=({availableWidth:x,availableHeight:rt})=>{O.value=`${x}px`,Y.value=`${rt}px`};r.push(B(o.size,()=>(0,s.size)({apply:a}),x=>(0,s.size)({...x,apply:a})))}return o.offset&&r.push(["string","number"].includes(typeof o.offset)?(0,s.offset)(Number(o.offset)):(0,s.offset)(o.offset)),o.arrow&&r.push((0,s.arrow)({element:R})),r}),{x:Ke,y:Me,middlewareData:N,placement:qe,strategy:He}=(0,s.useFloating)(v,p,{whileElementsMounted:(...r)=>(0,s.autoUpdate)(...r,{animationFrame:o.strategy===K.fixed}),placement:(0,e.computed)(()=>o.placement),strategy:(0,e.computed)(()=>o.strategy),middleware:ze}),We=(0,e.computed)(()=>{if(C.value)return;const r=o.triggerWidth&&v.value?`${v.value?.offsetWidth}px`:void 0;return{position:He.value,top:`${Me.value??0}px`,left:`${Ke.value??0}px`,maxWidth:r?void 0:O.value,maxHeight:Y.value,width:r}}),Ue=(0,e.computed)(()=>qe.value.split("-")[0]),Ge=(0,e.computed)(()=>{if(C.value)return;const r={[u.top]:u.bottom,[u.right]:u.left,[u.bottom]:u.top,[u.left]:u.right}[Ue.value];return{left:N.value.arrow?.x===void 0?void 0:`${N.value.arrow?.x}px`,top:N.value.arrow?.y===void 0?void 0:`${N.value.arrow?.y}px`,[r]:`${-(R.value?.offsetWidth??0)/2}px`}}),$=(0,c.useVModel)(o,"modelValue",l),Z=(0,e.ref)(!1),n=(0,e.computed)({get:()=>$.value??Z.value,set:r=>{if($.value===void 0){Z.value=r;return}$.value=r}});function w(){n.value=!0}function m(){n.value=!1}function y(){n.value=!n.value}function _(r){v.value=r}(0,c.onClickOutside)(p,()=>{!o.keepOpen&&n.value&&(n.value=!1)},{ignore:[v]});const Je=(0,e.computed)(()=>v.value?.getAttribute?.("id")??void 0),ee=(0,e.computed)(()=>({"aria-controls":S.value,"aria-haspopup":!0,"aria-expanded":n.value})),{component:Ye,bus:Qe}=Ae({reference:v,id:S,expanded:n,aria:ee});Qe.on("click",y);const{role:te,modifiers:Xe}=(0,e.toRefs)(o),Ze=Ie("vv-dropdown",Xe,(0,e.computed)(()=>({arrow:o.arrow}))),{focused:g}=(0,c.useFocusWithin)(p);function j(r){return r?[...r.querySelectorAll('a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])')].filter(a=>!a.hasAttribute("disabled")&&!a.getAttribute("aria-hidden")):[]}function re(){(0,e.nextTick)(()=>{const r=j(p.value);r.length>0&&r[0].focus({preventScroll:!0})})}function _e(){(0,e.nextTick)(()=>{const r=j(X.value);r.length>0&&r[0].focus({preventScroll:!0})})}function oe(){(0,e.nextTick)(()=>{if(g.value){const r=j(p.value);if(r.length===0||!document.activeElement)return;const a=r.indexOf(document.activeElement);a<r.length-1?r[a+1].focus({preventScroll:!0}):r[0].focus({preventScroll:!0})}})}function ae(){(0,e.nextTick)(()=>{if(g.value){const r=j(p.value);if(r.length===0||!document.activeElement)return;const a=r.indexOf(document.activeElement);if(a>0){r[a-1].focus({preventScroll:!0});return}r.at(-1)?.focus({preventScroll:!0})}})}(0,e.watch)(n,r=>{r&&o.autofocusFirst&&re()}),i({toggle:y,show:w,hide:m,init:_,focusFirst:re,focusFirstListElement:_e,focusNext:oe,focusPrev:ae,customPosition:C});const{itemRole:et}=Le({role:te,expanded:n,focused:g,hovered:(0,c.useElementHover)(p)});(0,c.onKeyStroke)("Escape",r=>{n.value&&(r.preventDefault(),m())}),(0,c.onKeyStroke)("ArrowDown",r=>{n.value&&g.value&&(r.preventDefault(),oe())}),(0,c.onKeyStroke)("ArrowUp",r=>{n.value&&g.value&&(r.preventDefault(),ae())}),(0,c.onKeyStroke)([" ","Enter"],r=>{const a=r.target;n.value&&g.value&&a&&a?.click()});const tt={"before-enter":()=>{l(n.value?"beforeExpand":"beforeCollapse"),l("beforeEnter")},"after-leave":()=>{l(n.value?"afterExpand":"afterCollapse"),l("afterLeave")},enter:()=>{l("enter")},"after-enter":()=>{l("afterEnter")},"enter-cancelled":()=>{l("enterCancelled")},"before-leave":()=>{l("beforeLeave")},leave:()=>{l("leave")},"leave-cancelled":()=>{l("leaveCancelled")}};return(r,a)=>((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,null,[(0,e.createVNode)((0,e.unref)(Ye),null,{default:(0,e.withCtx)(()=>[(0,e.renderSlot)(r.$slots,"default",(0,e.normalizeProps)((0,e.guardReactiveProps)({init:_,show:w,hide:m,toggle:y,expanded:(0,e.unref)(n),aria:(0,e.unref)(ee)})))]),_:3}),(0,e.createVNode)(e.Transition,(0,e.mergeProps)({name:r.transitionName},(0,e.toHandlers)(tt),{persisted:""}),{default:(0,e.withCtx)(()=>[(0,e.withDirectives)((0,e.createElementVNode)("div",{ref_key:"floatingEl",ref:p,style:(0,e.normalizeStyle)((0,e.unref)(We)),class:(0,e.normalizeClass)((0,e.unref)(Ze))},[o.arrow?((0,e.openBlock)(),(0,e.createElementBlock)("div",{key:0,ref_key:"arrowEl",ref:R,style:(0,e.normalizeStyle)((0,e.unref)(Ge)),class:"vv-dropdown__arrow"},null,4)):(0,e.createCommentVNode)("v-if",!0),(0,e.renderSlot)(r.$slots,"before",(0,e.normalizeProps)((0,e.guardReactiveProps)({show:w,hide:m,toggle:y,expanded:(0,e.unref)(n)}))),(0,e.createElementVNode)("div",(0,e.mergeProps)((0,e.unref)(b),{id:(0,e.unref)(S),ref_key:"listEl",ref:X,tabindex:(0,e.unref)(n)?void 0:-1,role:(0,e.unref)(te),"aria-labelledby":(0,e.unref)(Je),class:"vv-dropdown__list"}),[(0,e.renderSlot)(r.$slots,"items",(0,e.normalizeProps)((0,e.guardReactiveProps)({show:w,hide:m,toggle:y,expanded:(0,e.unref)(n),role:(0,e.unref)(et)})))],16,Te),(0,e.renderSlot)(r.$slots,"after",(0,e.normalizeProps)((0,e.guardReactiveProps)({show:w,hide:m,toggle:y,expanded:(0,e.unref)(n)})))],6),[[e.vShow,(0,e.unref)(n)]])]),_:3},16,["name"])],64))}}),Fe=$e;return Fe});
|